/*! Copyright (c) 2026 InfoBeans | infobeans.ai | @InfoBeans */
@charset "UTF-8";
/**
 * Components
 */
body :where(body.blog-detail-page .bd-article-section__content) {
  font-family: "Lexend", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-style: normal;
  box-sizing: border-box;
  color: #373742;
  /* Responsive */
}
body :where(body.blog-detail-page .bd-article-section__content)::after {
  box-sizing: border-box;
}
body :where(body.blog-detail-page .bd-article-section__content)::before {
  box-sizing: border-box;
}
body :where(body.blog-detail-page .bd-article-section__content) article,
body :where(body.blog-detail-page .bd-article-section__content) aside,
body :where(body.blog-detail-page .bd-article-section__content) details,
body :where(body.blog-detail-page .bd-article-section__content) figcaption,
body :where(body.blog-detail-page .bd-article-section__content) figure,
body :where(body.blog-detail-page .bd-article-section__content) footer,
body :where(body.blog-detail-page .bd-article-section__content) header,
body :where(body.blog-detail-page .bd-article-section__content) hgroup,
body :where(body.blog-detail-page .bd-article-section__content) main,
body :where(body.blog-detail-page .bd-article-section__content) menu,
body :where(body.blog-detail-page .bd-article-section__content) nav,
body :where(body.blog-detail-page .bd-article-section__content) section,
body :where(body.blog-detail-page .bd-article-section__content) summary {
  display: block;
}
body :where(body.blog-detail-page .bd-article-section__content) audio,
body :where(body.blog-detail-page .bd-article-section__content) canvas,
body :where(body.blog-detail-page .bd-article-section__content) progress,
body :where(body.blog-detail-page .bd-article-section__content) video {
  display: inline-block;
  vertical-align: baseline;
}
body :where(body.blog-detail-page .bd-article-section__content) audio:not([controls]) {
  display: none;
  height: 0;
}
body :where(body.blog-detail-page .bd-article-section__content) [hidden],
body :where(body.blog-detail-page .bd-article-section__content) template {
  display: none;
}
body :where(body.blog-detail-page .bd-article-section__content) a {
  background-color: transparent;
  text-decoration: none;
  cursor: pointer;
}
body :where(body.blog-detail-page .bd-article-section__content) a:active,
body :where(body.blog-detail-page .bd-article-section__content) a:hover {
  outline: 0;
}
body :where(body.blog-detail-page .bd-article-section__content) abbr[title] {
  border-bottom: 1px dotted;
}
body :where(body.blog-detail-page .bd-article-section__content) b,
body :where(body.blog-detail-page .bd-article-section__content) strong {
  font-weight: bold;
}
body :where(body.blog-detail-page .bd-article-section__content) dfn {
  font-style: italic;
}
body :where(body.blog-detail-page .bd-article-section__content) small {
  font-size: 80%;
}
body :where(body.blog-detail-page .bd-article-section__content) sub,
body :where(body.blog-detail-page .bd-article-section__content) sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
body :where(body.blog-detail-page .bd-article-section__content) sup {
  top: -0.5em;
}
body :where(body.blog-detail-page .bd-article-section__content) sub {
  bottom: -0.25em;
}
body :where(body.blog-detail-page .bd-article-section__content) img {
  border: 0;
}
body :where(body.blog-detail-page .bd-article-section__content) svg:not(:root) {
  overflow: hidden;
}
body :where(body.blog-detail-page .bd-article-section__content) figure {
  margin: 1em 40px;
}
body :where(body.blog-detail-page .bd-article-section__content) hr {
  box-sizing: content-box;
  height: 0;
}
body :where(body.blog-detail-page .bd-article-section__content) pre {
  overflow: auto;
}
body :where(body.blog-detail-page .bd-article-section__content) code,
body :where(body.blog-detail-page .bd-article-section__content) kbd,
body :where(body.blog-detail-page .bd-article-section__content) pre,
body :where(body.blog-detail-page .bd-article-section__content) samp {
  font-size: 1em;
}
body :where(body.blog-detail-page .bd-article-section__content) button,
body :where(body.blog-detail-page .bd-article-section__content) input,
body :where(body.blog-detail-page .bd-article-section__content) optgroup,
body :where(body.blog-detail-page .bd-article-section__content) select,
body :where(body.blog-detail-page .bd-article-section__content) textarea {
  color: inherit;
  margin: 0;
}
body :where(body.blog-detail-page .bd-article-section__content) button {
  overflow: visible;
}
body :where(body.blog-detail-page .bd-article-section__content) button,
body :where(body.blog-detail-page .bd-article-section__content) select {
  text-transform: none;
}
body :where(body.blog-detail-page .bd-article-section__content) button,
body :where(body.blog-detail-page .bd-article-section__content) html input[type=button],
body :where(body.blog-detail-page .bd-article-section__content) input[type=reset],
body :where(body.blog-detail-page .bd-article-section__content) input[type=submit] {
  -webkit-appearance: button;
  cursor: pointer;
}
body :where(body.blog-detail-page .bd-article-section__content) button[disabled],
body :where(body.blog-detail-page .bd-article-section__content) html input[disabled] {
  cursor: default;
}
body :where(body.blog-detail-page .bd-article-section__content) button::-moz-focus-inner,
body :where(body.blog-detail-page .bd-article-section__content) input::-moz-focus-inner {
  border: 0;
  padding: 0;
}
body :where(body.blog-detail-page .bd-article-section__content) input {
  line-height: normal;
}
body :where(body.blog-detail-page .bd-article-section__content) input[type=checkbox],
body :where(body.blog-detail-page .bd-article-section__content) input[type=radio] {
  box-sizing: border-box;
  padding: 0;
}
body :where(body.blog-detail-page .bd-article-section__content) input[type=number]::-webkit-inner-spin-button,
body :where(body.blog-detail-page .bd-article-section__content) input[type=number]::-webkit-outer-spin-button {
  height: auto;
}
body :where(body.blog-detail-page .bd-article-section__content) input[type=search] {
  -webkit-appearance: textfield;
  box-sizing: content-box;
}
body :where(body.blog-detail-page .bd-article-section__content) input[type=search]::-webkit-search-cancel-button,
body :where(body.blog-detail-page .bd-article-section__content) input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}
body :where(body.blog-detail-page .bd-article-section__content) fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}
body :where(body.blog-detail-page .bd-article-section__content) legend {
  border: 0;
  padding: 0;
}
body :where(body.blog-detail-page .bd-article-section__content) textarea {
  overflow: auto;
}
body :where(body.blog-detail-page .bd-article-section__content) optgroup {
  font-weight: bold;
}
body :where(body.blog-detail-page .bd-article-section__content) table {
  border-collapse: collapse;
  border-spacing: 0;
}
body :where(body.blog-detail-page .bd-article-section__content) td,
body :where(body.blog-detail-page .bd-article-section__content) th {
  padding: 0;
}
body :where(body.blog-detail-page .bd-article-section__content) .display-large {
  font-size: 72px;
  line-height: 80px;
}
body :where(body.blog-detail-page .bd-article-section__content) h1,
body :where(body.blog-detail-page .bd-article-section__content) h2,
body :where(body.blog-detail-page .bd-article-section__content) h3,
body :where(body.blog-detail-page .bd-article-section__content) h4,
body :where(body.blog-detail-page .bd-article-section__content) h5,
body :where(body.blog-detail-page .bd-article-section__content) h6,
body :where(body.blog-detail-page .bd-article-section__content) p {
  margin-top: 0;
  margin-bottom: 0;
}
body :where(body.blog-detail-page .bd-article-section__content) h1 {
  font-size: 64px;
  line-height: 80px;
}
body :where(body.blog-detail-page .bd-article-section__content) h2 {
  font-size: 48px;
  line-height: 56px;
}
body :where(body.blog-detail-page .bd-article-section__content) h3 {
  font-size: 32px;
  line-height: 35px;
}
body :where(body.blog-detail-page .bd-article-section__content) h4 {
  font-size: 32px;
  line-height: 40px;
}
body :where(body.blog-detail-page .bd-article-section__content) h5 {
  font-size: 24px;
  line-height: 32px;
}
body :where(body.blog-detail-page .bd-article-section__content) h6 {
  font-size: 16px;
  line-height: 24px;
}
body :where(body.blog-detail-page .bd-article-section__content) h6.h6-uppercase-light {
  font-weight: 300;
  text-transform: uppercase;
}
body :where(body.blog-detail-page .bd-article-section__content) p.p1 {
  font-size: 24px;
  line-height: 40px;
}
body :where(body.blog-detail-page .bd-article-section__content) p.p1.large-regular {
  font-weight: 300;
}
body :where(body.blog-detail-page .bd-article-section__content) p.p1.large-medium {
  font-weight: 500;
}
body :where(body.blog-detail-page .bd-article-section__content) p.p2 {
  font-size: 18px;
  line-height: 28px;
}
body :where(body.blog-detail-page .bd-article-section__content) p.p2.base-light {
  font-weight: 300;
}
body :where(body.blog-detail-page .bd-article-section__content) p.p2.base-medium {
  font-weight: 500;
}
body :where(body.blog-detail-page .bd-article-section__content) p.p3 {
  font-size: 14px;
  line-height: 24px;
}
body :where(body.blog-detail-page .bd-article-section__content) p.p3.small-light {
  font-weight: 300;
}
body :where(body.blog-detail-page .bd-article-section__content) .large-uppercase {
  font-weight: 500;
  font-size: 24px;
  line-height: 24px;
  text-transform: uppercase;
}
body :where(body.blog-detail-page .bd-article-section__content) .medium-uppercase {
  font-size: 16px;
  line-height: 16px;
  text-transform: uppercase;
}
@media (max-width: 767px) {
  body :where(body.blog-detail-page .bd-article-section__content) .medium-uppercase {
    line-height: 22px;
  }
}
body :where(body.blog-detail-page .bd-article-section__content) .tag-name {
  font-size: 12px;
  line-height: 12px;
  text-transform: uppercase;
}
body :where(body.blog-detail-page .bd-article-section__content) button.button-large {
  font-weight: 500;
  font-size: 18px;
  line-height: 18px;
  text-transform: uppercase;
}
body :where(body.blog-detail-page .bd-article-section__content) a.button-large {
  font-weight: 500;
  font-size: 18px;
  line-height: 18px;
  text-transform: uppercase;
}
body :where(body.blog-detail-page .bd-article-section__content) button.button-small {
  font-size: 16px;
  line-height: 18px;
  text-transform: uppercase;
}
body :where(body.blog-detail-page .bd-article-section__content) a.button-small {
  font-size: 16px;
  line-height: 18px;
  text-transform: uppercase;
}
body :where(body.blog-detail-page .bd-article-section__content) .medium {
  font-weight: 300;
  font-size: 16px;
  line-height: 16px;
}
body :where(body.blog-detail-page .bd-article-section__content) .small-uppercase {
  font-size: 12px;
  line-height: 13px;
  text-transform: uppercase;
}
body :where(body.blog-detail-page .bd-article-section__content) .caption {
  font-size: 14px;
  line-height: 24px;
}
body :where(body.blog-detail-page .bd-article-section__content) .quote-large {
  font-weight: 300;
  font-size: 64px;
  line-height: 88px;
}
body :where(body.blog-detail-page .bd-article-section__content) .quote-medium {
  font-weight: 300;
  font-size: 48px;
  line-height: 64px;
}
body :where(body.blog-detail-page .bd-article-section__content) .quote-small {
  font-size: 32px;
  line-height: 40px;
}
body :where(body.blog-detail-page .bd-article-section__content) .quote-extra-small {
  font-weight: 300;
  font-size: 24px;
  line-height: 32px;
}
@media (max-width: 767px) {
  body :where(body.blog-detail-page .bd-article-section__content) .quote-extra-small {
    font-family: Lexend;
    font-weight: 400;
    line-height: 28px;
  }
}
body :where(body.blog-detail-page .bd-article-section__content) .client-name-large {
  font-weight: 500;
  font-size: 32px;
  line-height: 48px;
}
body :where(body.blog-detail-page .bd-article-section__content) .client-name-small {
  font-weight: 500;
  font-size: 16px;
  line-height: 16px;
  text-transform: uppercase;
}
body :where(body.blog-detail-page .bd-article-section__content) .client-title-large {
  font-weight: 300;
  font-size: 24px;
  line-height: 36px;
}
body :where(body.blog-detail-page .bd-article-section__content) .client-title-small {
  font-weight: 300;
  font-size: 12px;
  line-height: 16px;
}
@media (max-width: 767px) {
  body :where(body.blog-detail-page .bd-article-section__content) .client-title-small {
    text-transform: uppercase;
    line-height: 22px;
    font-weight: 300;
    font-family: Lexend;
  }
}
body :where(body.blog-detail-page .bd-article-section__content) .stat-heading {
  font-size: 56px;
  line-height: 64px;
}
body :where(body.blog-detail-page .bd-article-section__content) .stat-heading-accents {
  font-size: 40px;
  line-height: 64px;
}
body :where(body.blog-detail-page .bd-article-section__content) .stat-text {
  font-weight: 300;
  font-size: 20px;
  line-height: 24px;
}
body :where(body.blog-detail-page .bd-article-section__content) .section-heading h2 {
  color: #373742;
  font-weight: 400;
}
body :where(body.blog-detail-page .bd-article-section__content) .section-heading h2 span {
  color: #ea1b3d;
  display: block;
}
@media (max-width: 767px) {
  body :where(body.blog-detail-page .bd-article-section__content) .display-large {
    font-size: 64px;
    line-height: 72px;
  }
  body :where(body.blog-detail-page .bd-article-section__content) h1 {
    font-size: 40px;
    line-height: 44px;
  }
  body :where(body.blog-detail-page .bd-article-section__content) h2 {
    font-size: 32px;
    line-height: 40px;
  }
  body :where(body.blog-detail-page .bd-article-section__content) h3 {
    font-size: 28px;
    line-height: 32px;
  }
  body :where(body.blog-detail-page .bd-article-section__content) h4 {
    font-size: 24px;
    line-height: 28px;
  }
  body :where(body.blog-detail-page .bd-article-section__content) h5 {
    font-size: 20px;
    line-height: 24px;
  }
  body :where(body.blog-detail-page .bd-article-section__content) p.p1 {
    font-size: 18px;
    line-height: 34px;
  }
  body :where(body.blog-detail-page .bd-article-section__content) p.p2 {
    font-size: 16px;
    line-height: 24px;
  }
  body :where(body.blog-detail-page .bd-article-section__content) .quote-large {
    font-size: 32px;
    line-height: 40px;
  }
  body :where(body.blog-detail-page .bd-article-section__content) .quote-medium {
    font-size: 24px;
    line-height: 32px;
  }
  body :where(body.blog-detail-page .bd-article-section__content) .quote-small {
    font-size: 24px;
    line-height: 32px;
  }
  body :where(body.blog-detail-page .bd-article-section__content) .quote-extra-small {
    font-size: 20px;
    line-height: 32px;
  }
  body :where(body.blog-detail-page .bd-article-section__content) .client-name-large {
    font-size: 18px;
    line-height: 40px;
  }
  body :where(body.blog-detail-page .bd-article-section__content) .client-name-small {
    font-weight: 500;
    font-size: 14px;
    line-height: 16px;
    text-transform: uppercase;
  }
  body :where(body.blog-detail-page .bd-article-section__content) .client-title-large {
    font-size: 14px;
    line-height: 28px;
  }
  body :where(body.blog-detail-page .bd-article-section__content) .client-title-small {
    font-size: 14px;
  }
  body :where(body.blog-detail-page .bd-article-section__content) .stat-heading {
    font-weight: 500;
    font-size: 40px;
    line-height: 60px;
  }
  body :where(body.blog-detail-page .bd-article-section__content) .stat-text {
    font-size: 24px;
    line-height: 32px;
  }
  body :where(body.blog-detail-page .bd-article-section__content) button.button-small {
    font-size: 14px;
    line-height: 14px;
  }
  body :where(body.blog-detail-page .bd-article-section__content) a.button-small {
    font-size: 14px;
    line-height: 14px;
  }
}
body :where(body.blog-detail-page .bd-article-section__content) {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
body :where(body.blog-detail-page .bd-article-section__content) .arrow-heading .link-with-arrow {
  display: flex;
  text-decoration: none;
  color: #ea1b3d;
  text-transform: uppercase;
  font-size: 16px;
}
body :where(body.blog-detail-page .bd-article-section__content) .arrow-heading .link-with-arrow p {
  margin: 0;
  display: flex;
}
@media (min-width: 768px) {
  body :where(body.blog-detail-page .bd-article-section__content) .arrow-heading .link-with-arrow:hover img, body :where(body.blog-detail-page .bd-article-section__content) .arrow-heading .link-with-arrow:hover svg {
    margin-left: 15px;
  }
}
body :where(body.blog-detail-page .bd-article-section__content) .arrow-heading .link-with-arrow:hover {
  color: #ea1b3d;
}
body :where(body.blog-detail-page .bd-article-section__content) .arrow-heading .link-with-arrow img, body :where(body.blog-detail-page .bd-article-section__content) .arrow-heading .link-with-arrow svg {
  margin: 0 0 0px 5px;
  transition: 0.3s;
}
body :where(body.blog-detail-page .bd-article-section__content) .quote-blog {
  margin: 56px 0;
  padding: 0 56px;
}
body :where(body.blog-detail-page .bd-article-section__content) .quote-blog .quote-container .quotes-content {
  margin-top: 32px;
}
body :where(body.blog-detail-page .bd-article-section__content) .quote-blog .quote-container .quotes-content h4 {
  font-weight: 400;
}
body :where(body.blog-detail-page .bd-article-section__content) .quote-blog .quote-container hr {
  width: 96px;
  height: 8px;
  border-top-color: #ea1b3d;
  background: #ea1b3d;
  margin-top: 32px;
  margin-bottom: 32px;
  margin-left: 0;
}
body :where(body.blog-detail-page .bd-article-section__content) .quote-blog .quote-container .author-detail h6:first-child {
  text-transform: capitalize;
  font-weight: 500;
}
body :where(body.blog-detail-page .bd-article-section__content) .quote-blog .quote-container .author-detail h6:last-child {
  font-weight: 300;
  font-size: 12px;
  line-height: 16px;
}
@media (max-width: 767px) {
  body :where(body.blog-detail-page .bd-article-section__content) h1.display-large {
    font-size: 46px !important;
  }
}
body :where(body.blog-detail-page .bd-article-section__content) .mb-0 {
  margin-bottom: 0 !important;
}
body :where(body.blog-detail-page .bd-article-section__content) mark.red-font-color-text {
  color: #ea1b3d;
  background: inherit;
}

body :where(body.blog-detail-page .bd-article-section__content) {
  font-family: "Lexend", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: max(1.25rem, 12px);
  line-height: 1.7;
  font-weight: 300;
  color: #373742;
}
body :where(body.blog-detail-page .bd-article-section__content) > * + * {
  margin-top: 2rem;
}
body :where(body.blog-detail-page .bd-article-section__content) > :is(h1, h2, h3, h4, h5, h6) {
  margin-top: 5rem;
}
body :where(body.blog-detail-page .bd-article-section__content) > :is(h1, h2, h3, h4, h5, h6):first-child {
  margin-top: 0;
}
body :where(body.blog-detail-page .bd-article-section__content) > :is(h1, h2, h3, h4, h5, h6) + * {
  margin-top: 2.5rem;
}
body :where(body.blog-detail-page .bd-article-section__content) h1, body :where(body.blog-detail-page .bd-article-section__content) h2, body :where(body.blog-detail-page .bd-article-section__content) h3, body :where(body.blog-detail-page .bd-article-section__content) h4, body :where(body.blog-detail-page .bd-article-section__content) h5, body :where(body.blog-detail-page .bd-article-section__content) h6 {
  font-family: "Lexend", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-weight: 400;
  color: #373742;
  letter-spacing: -0.05rem;
  margin-bottom: 0;
}
body :where(body.blog-detail-page .bd-article-section__content) h1 {
  font-size: max(3rem, 12px);
  line-height: 1.3333;
}
body :where(body.blog-detail-page .bd-article-section__content) h2 {
  font-size: max(2.5rem, 12px);
  line-height: 1.2;
}
body :where(body.blog-detail-page .bd-article-section__content) h3 {
  font-size: max(2rem, 12px);
  line-height: 1.5;
}
body :where(body.blog-detail-page .bd-article-section__content) h4 {
  font-size: max(1.75rem, 12px);
  line-height: 1.3571;
}
body :where(body.blog-detail-page .bd-article-section__content) h5 {
  font-size: max(1.5rem, 12px);
  line-height: 1.4167;
}
body :where(body.blog-detail-page .bd-article-section__content) h6 {
  font-size: max(1.25rem, 12px);
  line-height: 1.4;
}
body :where(body.blog-detail-page .bd-article-section__content) p:where(:not(.has-small-font-size, .has-custom-font-size, .bd-article-section__text)),
body :where(body.blog-detail-page .bd-article-section__content) p.p1:where(:not(.has-custom-font-size)),
body :where(body.blog-detail-page .bd-article-section__content) p.p2:where(:not(.has-custom-font-size)) {
  font-family: "Lexend", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: max(1.25rem, 12px);
  line-height: 1.7;
  font-weight: 300;
  color: #373742;
  margin-bottom: 0.75rem;
}
body :where(body.blog-detail-page .bd-article-section__content) strong, body :where(body.blog-detail-page .bd-article-section__content) b {
  font-weight: 400;
}
body :where(body.blog-detail-page .bd-article-section__content) em, body :where(body.blog-detail-page .bd-article-section__content) i {
  font-style: italic;
}
body :where(body.blog-detail-page .bd-article-section__content) a:where(:not(.wp-element-button, .wp-block-button__link)) {
  color: #373742;
  font-size: inherit;
  line-height: inherit;
  text-decoration: underline;
  transition: color 0.25s ease;
}
body :where(body.blog-detail-page .bd-article-section__content) a:where(:not(.wp-element-button, .wp-block-button__link)):hover {
  color: #ea1b3d;
}
body :where(body.blog-detail-page .bd-article-section__content) a:where(:not(.wp-element-button, .wp-block-button__link)):focus-visible {
  outline: 2px solid #ea1b3d;
  outline-offset: 2px;
}
body :where(body.blog-detail-page .bd-article-section__content) ul:where(:not(.bd-article-section__list)),
body :where(body.blog-detail-page .bd-article-section__content) ol:where(:not(.bd-article-section__list)) {
  font-family: "Lexend", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: max(1.25rem, 12px);
  line-height: 1.7;
  font-weight: 300;
  color: #373742;
  margin: 1.5rem 0;
  padding-left: 1.75rem;
}
body :where(body.blog-detail-page .bd-article-section__content) ul {
  list-style: disc;
}
body :where(body.blog-detail-page .bd-article-section__content) ol {
  list-style: decimal;
}
body :where(body.blog-detail-page .bd-article-section__content) li {
  margin-bottom: 0;
}
body :where(body.blog-detail-page .bd-article-section__content) li::marker {
  color: #373742;
}
body :where(body.blog-detail-page .bd-article-section__content) li + li {
  margin-top: 1rem;
}
body :where(body.blog-detail-page .bd-article-section__content) li > ul,
body :where(body.blog-detail-page .bd-article-section__content) li > ol {
  margin: 1rem 0 0;
  font-size: inherit;
}
body :where(body.blog-detail-page .bd-article-section__content) blockquote,
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-quote {
  margin: 5rem 0;
  padding: 0;
  border: 0;
}
body :where(body.blog-detail-page .bd-article-section__content) blockquote::after,
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-quote::after {
  content: "";
  display: block;
  width: 6rem;
  height: 0.5rem;
  margin-top: 2rem;
  background: #ea1b3d;
}
body :where(body.blog-detail-page .bd-article-section__content) blockquote cite,
body :where(body.blog-detail-page .bd-article-section__content) blockquote .wp-block-quote__citation,
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-quote cite,
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-quote .wp-block-quote__citation {
  display: block;
  margin-top: 1.5rem;
  font-size: max(0.875rem, 12px);
  line-height: 1.5714;
  font-weight: 400;
  font-style: normal;
  color: #676775;
}
body :where(body.blog-detail-page .bd-article-section__content) blockquote p:where(:not(.has-small-font-size, .has-custom-font-size)),
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-quote p:where(:not(.has-small-font-size, .has-custom-font-size)) {
  font-size: max(1.5rem, 12px);
  line-height: 1.6667;
  font-weight: 250;
  color: #373742;
}
body :where(body.blog-detail-page .bd-article-section__content) figure,
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-image,
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-embed,
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-audio {
  margin: 2rem 0;
}
body :where(body.blog-detail-page .bd-article-section__content) img {
  max-width: 100%;
  height: auto;
}
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-image:not(.is-resized) img {
  width: 100%;
}
body :where(body.blog-detail-page .bd-article-section__content) figcaption,
body :where(body.blog-detail-page .bd-article-section__content) .wp-element-caption {
  font-family: "Lexend", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: max(0.875rem, 12px);
  line-height: 1.5714;
  font-weight: 300;
  color: #676775;
  text-align: center;
  margin-top: 1.5rem;
  padding: 0;
}
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-embed__wrapper {
  position: relative;
}
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-embed__wrapper iframe {
  display: block;
  width: 100%;
  aspect-ratio: 16/9;
  height: auto;
  border: 0;
}
body :where(body.blog-detail-page .bd-article-section__content) figure iframe {
  display: block;
  width: 100%;
  border: 0;
}
body :where(body.blog-detail-page .bd-article-section__content) figure iframe[src*=youtube],
body :where(body.blog-detail-page .bd-article-section__content) figure iframe[src*="youtu.be"],
body :where(body.blog-detail-page .bd-article-section__content) figure iframe[src*=vimeo],
body :where(body.blog-detail-page .bd-article-section__content) figure iframe[src*=wistia],
body :where(body.blog-detail-page .bd-article-section__content) figure iframe[src*=dailymotion] {
  aspect-ratio: 16/9;
  height: auto;
}
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-audio audio,
body :where(body.blog-detail-page .bd-article-section__content) video {
  width: 100%;
  max-width: 100%;
}
body :where(body.blog-detail-page .bd-article-section__content) pre,
body :where(body.blog-detail-page .bd-article-section__content) code,
body :where(body.blog-detail-page .bd-article-section__content) samp,
body :where(body.blog-detail-page .bd-article-section__content) kbd {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: max(0.875rem, 12px);
  line-height: 1.5714;
}
body :where(body.blog-detail-page .bd-article-section__content) pre {
  margin: 5rem 0;
  padding: 1.5rem;
  overflow-x: auto;
  background: #ffefd1;
  border: 1px solid #e6e6ed;
}
body :where(body.blog-detail-page .bd-article-section__content) pre code {
  padding: 0;
  margin: 0;
  background: none;
  border: 0;
  white-space: pre;
}
body :where(body.blog-detail-page .bd-article-section__content) :not(pre) > code {
  padding: 0.125rem 0.375rem;
  background: #ffefd1;
  border: 1px solid #e6e6ed;
  overflow-wrap: break-word;
}
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-table {
  margin: 5rem 0;
  overflow-x: auto;
}
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-table table {
  width: 100%;
  margin-bottom: 0;
  border-collapse: collapse;
  font-family: "Lexend", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-table th, body :where(body.blog-detail-page .bd-article-section__content) .wp-block-table td {
  padding: 1rem 0.75rem;
  text-align: left;
  border: 0;
  border-bottom: 1px solid #e6e6ed;
}
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-table th {
  background: #ffefd1;
  font-size: max(1rem, 12px);
  line-height: 1.5;
  font-weight: 400;
  color: #373742;
  border-bottom: 0;
}
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-table td {
  font-size: max(0.875rem, 12px);
  line-height: 1.5714;
  font-weight: 300;
  color: #373742;
}
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-table thead {
  border-bottom: 0;
}
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-table tfoot td {
  font-weight: 400;
  border-bottom: 0;
}
body :where(body.blog-detail-page .bd-article-section__content) > table,
body :where(body.blog-detail-page .bd-article-section__content) figure:not(.wp-block-table) > table {
  width: 100%;
  margin: 5rem 0;
  border-collapse: collapse;
}
body :where(body.blog-detail-page .bd-article-section__content) > table th, body :where(body.blog-detail-page .bd-article-section__content) > table td,
body :where(body.blog-detail-page .bd-article-section__content) figure:not(.wp-block-table) > table th,
body :where(body.blog-detail-page .bd-article-section__content) figure:not(.wp-block-table) > table td {
  padding: 1rem 0.75rem;
  text-align: left;
  border: 0;
  border-bottom: 1px solid #e6e6ed;
}
body :where(body.blog-detail-page .bd-article-section__content) > table th,
body :where(body.blog-detail-page .bd-article-section__content) figure:not(.wp-block-table) > table th {
  background: #ffefd1;
  font-weight: 400;
  border-bottom: 0;
}
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-buttons {
  margin: 5rem 0;
  gap: 1rem;
}
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-button__link,
body :where(body.blog-detail-page .bd-article-section__content) .wp-element-button {
  display: inline-block;
  font-family: "Lexend", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: max(1rem, 12px);
  line-height: 1;
  font-weight: 500;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 0;
  padding: 1rem 2rem;
  margin: 0;
  transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-button:not(.is-style-outline) > .wp-block-button__link,
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-button:not(.is-style-outline) > .wp-element-button {
  color: #fff;
  background: #ea1b3d;
  border: 0;
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
}
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover,
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-button:not(.is-style-outline) > .wp-element-button:hover {
  color: #fff;
  background: #aa142d;
}
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-button:not(.is-style-outline) > .wp-block-button__link:focus-visible,
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-button:not(.is-style-outline) > .wp-element-button:focus-visible {
  outline: none;
  box-shadow: inset 0 0 0 2px #fff, inset 0 0 0 4px #373742;
}
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-button.is-style-outline > .wp-block-button__link,
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-button.is-style-outline > .wp-element-button {
  position: relative;
  color: #373742;
  background: transparent;
  border: 0;
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
}
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-button.is-style-outline > .wp-block-button__link::before,
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-button.is-style-outline > .wp-element-button::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #373742;
  pointer-events: none;
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px, 10px 0, 10px 1px, 1px 10px, 1px calc(100% - 1px), calc(100% - 10px) calc(100% - 1px), calc(100% - 1px) calc(100% - 10px), calc(100% - 1px) 1px, 10px 1px);
}
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-button.is-style-outline > .wp-block-button__link:hover,
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-button.is-style-outline > .wp-element-button:hover {
  background: #373742;
  color: #fff9ed;
}
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-button.is-style-outline > .wp-block-button__link:focus-visible,
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-button.is-style-outline > .wp-element-button:focus-visible {
  outline: none;
  box-shadow: inset 0 0 0 2px #ea1b3d;
}
body :where(body.blog-detail-page .bd-article-section__content) .wp-element-button:not(.wp-block-button > *) {
  color: #fff;
  background: #ea1b3d;
  border: 0;
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
}
body :where(body.blog-detail-page .bd-article-section__content) .wp-element-button:not(.wp-block-button > *):hover {
  color: #fff;
  background: #aa142d;
}
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-details {
  margin: 5rem 0;
  border-top: 1px solid #e6e6ed;
  border-bottom: 1px solid #e6e6ed;
  padding: 1.5rem 0;
}
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-details summary {
  font-family: "Lexend", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: max(1.125rem, 12px);
  line-height: 1.6667;
  font-weight: 400;
  color: #373742;
  cursor: pointer;
}
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-details summary:focus-visible {
  outline: 2px solid #ea1b3d;
  outline-offset: 2px;
}
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-details > :not(summary) {
  margin-top: 1rem;
}
body :where(body.blog-detail-page .bd-article-section__content) dl {
  margin: 1.5rem 0;
}
body :where(body.blog-detail-page .bd-article-section__content) dt {
  font-weight: 400;
  color: #373742;
}
body :where(body.blog-detail-page .bd-article-section__content) dd {
  margin: 0 0 0.75rem 0;
  padding-left: 1.75rem;
}
body :where(body.blog-detail-page .bd-article-section__content) table caption {
  font-size: max(0.875rem, 12px);
  line-height: 1.5714;
  color: #676775;
  text-align: left;
  padding-bottom: 0.75rem;
}
body :where(body.blog-detail-page .bd-article-section__content) cite,
body :where(body.blog-detail-page .bd-article-section__content) q {
  font-style: normal;
}
body :where(body.blog-detail-page .bd-article-section__content) abbr[title] {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  cursor: help;
}
body :where(body.blog-detail-page .bd-article-section__content) del,
body :where(body.blog-detail-page .bd-article-section__content) s {
  text-decoration: line-through;
  color: #676775;
}
body :where(body.blog-detail-page .bd-article-section__content) ins {
  text-decoration: underline;
}
body :where(body.blog-detail-page .bd-article-section__content) small {
  font-size: max(0.875rem, 12px);
  line-height: 1.5714;
}
body :where(body.blog-detail-page .bd-article-section__content) address {
  font-style: normal;
}
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-code,
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-preformatted,
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-verse {
  margin: 5rem 0;
}
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-pullquote {
  margin: 5rem 0;
  padding: 0;
  border: 0;
  text-align: left;
}
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-pullquote blockquote {
  margin: 0;
}
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-gallery,
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-group,
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-columns,
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-media-text,
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-video,
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-file {
  margin: 2rem 0;
}
body :where(body.blog-detail-page .bd-article-section__content) mark.red-font-color-text {
  color: #ea1b3d;
  background: transparent;
}
body :where(body.blog-detail-page .bd-article-section__content) hr,
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-separator {
  margin: 5rem 0;
  border: 0;
  border-top: 1px solid #e6e6ed;
}
@media (max-width: 1024px) {
  body :where(body.blog-detail-page .bd-article-section__content) {
    font-size: max(1.125rem, 12px);
    line-height: 1.6667;
    color: #676775;
  }
  body :where(body.blog-detail-page .bd-article-section__content) > * + * {
    margin-top: 1rem;
  }
  body :where(body.blog-detail-page .bd-article-section__content) > :is(h1, h2, h3, h4, h5, h6) {
    margin-top: 3rem;
  }
  body :where(body.blog-detail-page .bd-article-section__content) > :is(h1, h2, h3, h4, h5, h6) + * {
    margin-top: 1.5rem;
  }
  body :where(body.blog-detail-page .bd-article-section__content) p:where(:not(.has-small-font-size, .has-custom-font-size, .bd-article-section__text)),
body :where(body.blog-detail-page .bd-article-section__content) p.p1:where(:not(.has-custom-font-size)),
body :where(body.blog-detail-page .bd-article-section__content) p.p2:where(:not(.has-custom-font-size)) {
    font-size: max(1.125rem, 12px);
    line-height: 1.6667;
    color: #676775;
  }
  body :where(body.blog-detail-page .bd-article-section__content) ul, body :where(body.blog-detail-page .bd-article-section__content) ol {
    font-size: max(1.125rem, 12px);
    line-height: 1.6667;
    color: #676775;
  }
  body :where(body.blog-detail-page .bd-article-section__content) ul {
    list-style: none;
    padding-left: 0;
  }
  body :where(body.blog-detail-page .bd-article-section__content) ul > li {
    position: relative;
    padding-left: 1.125rem;
  }
  body :where(body.blog-detail-page .bd-article-section__content) ul > li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.5rem;
    width: 0.375rem;
    height: 0.375rem;
    border-radius: 0.125rem;
    background: #ea1b3d;
  }
  body :where(body.blog-detail-page .bd-article-section__content) ol {
    padding-left: 1.75rem;
  }
  body :where(body.blog-detail-page .bd-article-section__content) li + li {
    margin-top: 0.75rem;
  }
  body :where(body.blog-detail-page .bd-article-section__content) blockquote,
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-quote {
    margin: 3rem 0;
  }
  body :where(body.blog-detail-page .bd-article-section__content) blockquote::after,
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-quote::after {
    height: 0.25rem;
    margin-top: 1.5rem;
  }
  body :where(body.blog-detail-page .bd-article-section__content) blockquote p:where(:not(.has-small-font-size, .has-custom-font-size)),
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-quote p:where(:not(.has-small-font-size, .has-custom-font-size)) {
    font-size: max(1.5rem, 12px);
    line-height: 1.3333;
  }
  body :where(body.blog-detail-page .bd-article-section__content) > table,
body :where(body.blog-detail-page .bd-article-section__content) figure:not(.wp-block-table) > table {
    display: block;
    overflow-x: auto;
  }
  body :where(body.blog-detail-page .bd-article-section__content) figure,
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-image,
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-embed,
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-audio,
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-table,
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-buttons,
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-details,
body :where(body.blog-detail-page .bd-article-section__content) hr,
body :where(body.blog-detail-page .bd-article-section__content) .wp-block-separator {
    margin: 3rem 0;
  }
  body :where(body.blog-detail-page .bd-article-section__content) figcaption,
body :where(body.blog-detail-page .bd-article-section__content) .wp-element-caption {
    margin-top: 1rem;
  }
}

:root {
  --bg-primary: #fff9ed;
  --text-primary: #373742;
  --text-secondary: #676775;
  --text-disabled: #a7a7b0;
  --text-gray: #676775;
  --accent-red: #ea1b3d;
  --accent-peach: #ffd0d8;
  --border-color: rgba(103, 103, 117, 0.15);
  --font-primary: Lexend, -apple-system, blinkmacsystemfont, Segoe UI, roboto, sans-serif;
  --transition-smooth: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  --transition-slow: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  --container-width: 93.5rem;
  --container-width-padd: 101rem;
  --gutter: 60px;
}

*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

html {
  font-size: clamp(14px, 0.9259259259vw, 16px);
}

@media (max-width: 1024px) {
  html {
    font-size: 100%;
  }
}
html.scroll-locked,
html.scroll-locked .main-header {
  padding-right: var(--scrollbar-comp, 0);
}

html.scroll-locked .header-container .mega-menu {
  scrollbar-gutter: stable;
}

html,
body {
  width: 100%;
  height: 100%;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  background-color: #fff9ed;
  color: #373742;
  line-height: 1.6;
}

::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: #fff9ed;
}

::-webkit-scrollbar-thumb {
  background: #a7a7b0;
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: #676775;
}

a {
  color: inherit;
  text-decoration: none;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

button,
input,
textarea,
select {
  font-family: inherit;
}

@media (min-width: 769px) {
  .ib-mobile-only {
    display: none !important;
  }
}
@media (max-width: 768px), (min-width: 1025px) {
  .ib-tablet-only {
    display: none !important;
  }
}
@media (min-width: 1025px) {
  .ib-mobile-tablet-only {
    display: none !important;
  }
}
@media (max-width: 1024px) {
  .ib-desktop-only {
    display: none !important;
  }
}
@media (max-width: 1024px) and (prefers-reduced-motion: no-preference) {
  .ib-m-reveal {
    opacity: 0;
    transform: translate3d(0, 24px, 0);
    transition: opacity 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition-delay: var(--ib-m-reveal-delay, 0s);
    will-change: transform, opacity;
  }

  .ib-m-reveal.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
@keyframes ib-arrow-slide {
  0% {
    transform: translateX(0);
    opacity: 1;
  }
  45% {
    transform: translateX(7px);
    opacity: 0;
  }
  46% {
    transform: translateX(-5px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
.ib-btn {
  --_bg: #ea1b3d;
  --_bg-press: #aa142d;
  --_color: #fff;
  --_border: transparent;
  --_shadow: #ffd0d8;
  position: relative;
  isolation: isolate;
  display: inline-flex;
  align-items: stretch;
  height: 48px;
  padding: 0;
  font-family: var(--font-heading);
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  background: transparent;
  border: none;
  outline: none;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.ib-btn[hidden] {
  display: none;
}

.ib-btn::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--_shadow);
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
  opacity: 0;
  transform: translate(0, 0);
  transition: opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1), transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
}

.ib-btn__inner {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  padding: 0 22px;
  color: var(--_color);
  background: var(--_bg);
  line-height: 26px;
  letter-spacing: 0;
  text-align: center;
  text-transform: uppercase;
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
  transition: background 0.25s cubic-bezier(0.16, 1, 0.3, 1), color 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ib-btn__inner::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--_border);
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px, 10px 0, 10px 1.5px, 1.5px 10px, 1.5px calc(100% - 1.5px), calc(100% - 10px) calc(100% - 1.5px), calc(100% - 1.5px) calc(100% - 10px), calc(100% - 1.5px) 1.5px, 10px 1.5px);
  pointer-events: none;
  transition: background 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ib-btn__arrow {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ib-btn__arrow svg, .ib-btn__arrow.ib-icon {
  width: 14px;
  height: 14px;
}

.ib-btn:hover:not(:disabled, [aria-disabled=true])::after {
  opacity: 1;
  transform: translate(4px, 4px);
}

.ib-btn:focus-visible .ib-btn__inner {
  background: var(--_bg-press);
}

.ib-btn:active:not(:disabled) .ib-btn__inner {
  background: var(--_bg-press);
}

.ib-btn:disabled, .ib-btn[aria-disabled=true] {
  --_bg: #a7a7b0;
  --_border: #a7a7b0;
  --_color: #fff;
  cursor: not-allowed;
  pointer-events: none;
}

.ib-btn--primary {
  --_bg: #ea1b3d;
  --_bg-press: #aa142d;
  --_color: #fff;
  --_border: transparent;
  --_shadow: #ffd0d8;
}

.ib-btn--primary-light {
  --_bg: #fff9ed;
  --_bg-press: #ffefd1;
  --_color: #676775;
  --_border: transparent;
  --_shadow: #ffd0d8;
}

.ib-btn--primary-light:disabled, .ib-btn--primary-light[aria-disabled=true] {
  --_bg: #a7a7b0;
  --_color: #fff;
}

.ib-btn--secondary {
  --_bg: transparent;
  --_bg-press: transparent;
  --_color: #ea1b3d;
  --_border: #ea1b3d;
  --_shadow: #ffd0d8;
}

.ib-btn--secondary:focus-visible {
  --_border: #aa142d;
  --_color: #aa142d;
}

.ib-btn--secondary:active:not(:disabled) {
  --_border: #aa142d;
  --_color: #aa142d;
}

.ib-btn--secondary:disabled, .ib-btn--secondary[aria-disabled=true] {
  --_bg: transparent;
  --_color: #a7a7b0;
  --_border: #a7a7b0;
}

.ib-btn--secondary-light {
  --_bg: transparent;
  --_bg-press: transparent;
  --_color: #fff;
  --_border: #fff;
  --_shadow: #ffd0d8;
}

.ib-btn--secondary-light:hover:not(:disabled, [aria-disabled=true]) {
  --_bg: #ea1b3d;
  --_border: transparent;
}

.ib-btn--secondary-light:disabled, .ib-btn--secondary-light[aria-disabled=true] {
  --_bg: transparent;
  --_color: #a7a7b0;
  --_border: #a7a7b0;
}

.ib-btn--ghost {
  --_color: #ea1b3d;
  height: auto;
}

.ib-btn--ghost::after {
  display: none;
}

.ib-btn--ghost .ib-btn__inner {
  padding: 2px 0;
  height: auto;
  background: transparent;
  clip-path: none;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1.5px;
  -webkit-text-decoration-color: currentcolor;
          text-decoration-color: currentcolor;
  transition: color 0.25s cubic-bezier(0.16, 1, 0.3, 1), -webkit-text-decoration-color 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  transition: color 0.25s cubic-bezier(0.16, 1, 0.3, 1), text-decoration-color 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  transition: color 0.25s cubic-bezier(0.16, 1, 0.3, 1), text-decoration-color 0.25s cubic-bezier(0.16, 1, 0.3, 1), -webkit-text-decoration-color 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ib-btn--ghost .ib-btn__inner::before {
  display: none;
}

.ib-btn--ghost:focus-visible, .ib-btn--ghost:active:not(:disabled) {
  --_color: #aa142d;
}

.ib-btn--ghost:focus-visible .ib-btn__inner, .ib-btn--ghost:active:not(:disabled) .ib-btn__inner {
  background: transparent !important;
}

.ib-btn--ghost:disabled, .ib-btn--ghost[aria-disabled=true] {
  --_color: #a7a7b0;
  pointer-events: none;
}

.ib-btn--bare {
  --_bg: transparent;
  --_bg-press: transparent;
  --_color: #373742;
  --_border: transparent;
  --_shadow: transparent;
}

.ib-btn--bare::after {
  display: none;
}

.ib-btn--bare .ib-btn__inner {
  background: transparent;
  clip-path: none;
  transition: color 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ib-btn--bare .ib-btn__inner::before {
  display: none;
}

.ib-btn--bare .ib-icon,
.ib-btn--bare .ib-btn__arrow {
  color: var(--_color);
}

.ib-btn--bare:focus-visible .ib-btn__inner, .ib-btn--bare:active:not(:disabled) .ib-btn__inner {
  background: transparent;
}

.ib-btn--bare:disabled, .ib-btn--bare[aria-disabled=true] {
  --_bg: transparent;
  --_border: transparent;
  --_color: #a7a7b0;
}

.ib-btn--with-icon:hover:not(:disabled, [aria-disabled=true]) .ib-btn__arrow {
  animation: ib-arrow-slide 0.7s cubic-bezier(0.16, 1, 0.3, 1) infinite;
}

.ib-btn--icon-only {
  width: 48px;
}

.ib-btn--icon-only .ib-btn__inner {
  padding: 0;
}

.ib-btn--icon-only:hover:not(:disabled, [aria-disabled=true]) .ib-btn__arrow {
  animation: ib-arrow-slide 0.7s cubic-bezier(0.16, 1, 0.3, 1) infinite;
}

@media (max-width: 1024px) {
  .ib-btn {
    height: 44px;
    font-size: 15px;
  }

  .ib-btn__inner {
    padding: 0 18px;
  }

  .ib-btn__arrow svg, .ib-btn__arrow.ib-icon {
    width: 13px;
    height: 13px;
  }

  .ib-btn--icon-only {
    width: 44px;
  }

  .ib-btn--icon-only .ib-btn__inner {
    padding: 0;
  }
}
body.page-servicenow {
  overflow-x: clip;
}

html:has(body.page-servicenow) {
  overflow-x: clip;
  scroll-behavior: smooth;
}

html:has(body.page-servicenow .ask-expona-fullscreen-dropdown.open) {
  overflow-y: hidden;
}

body.page-servicenow:has(.ask-expona-fullscreen-dropdown.open) {
  overflow: clip visible;
}

.ts-testimonial-section + .sn-scroll-tabs-section {
  padding-top: clamp(100px, 6.94vw, 120px);
}

.sn-hero-section {
  background: #fff9ed;
  position: relative;
}
.sn-hero-section__pin {
  position: sticky;
  top: 0;
  height: 100vh;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4.6875rem;
  padding: 0 5rem;
  will-change: transform;
}
.sn-hero-section__badges {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(2.5rem, 6.08vw, 6.5625rem);
  flex-shrink: 0;
  will-change: transform;
  animation: sn-badges-in 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
  z-index: 3;
}
.sn-hero-section__badge {
  --sn-badge-box: 16rem;
  width: auto;
  height: auto;
  max-width: calc(var(--sn-badge-box) * 1.625);
  max-height: var(--sn-badge-box);
  -o-object-fit: contain;
     object-fit: contain;
  transition: filter 0.4s ease;
}
.sn-hero-section__heading {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-size: 4.5rem;
  font-weight: 250;
  line-height: 1.22;
  letter-spacing: -0.04em;
  color: #373742;
  text-align: center;
  will-change: transform, opacity;
  animation: sn-heading-in 0.9s 0.15s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
  position: relative;
  z-index: 2;
}
.sn-hero-section__highlight {
  background: linear-gradient(90deg, #284cba 0%, #ea1b3d 72.87%);
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
          background-clip: text;
  padding-right: 2px;
}
@media (min-width: 1025px) {
  .sn-hero-section {
    min-height: 250vh;
  }
  .sn-hero-section__heading {
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
  }
}
@media (min-width: 1025px) and (max-width: 1440px), (min-width: 1025px) and (max-height: 900px) {
  .sn-hero-section__pin {
    gap: clamp(1.5rem, 3vh, 3rem);
    padding-top: 7.5rem;
  }
  .sn-hero-section__badge {
    --sn-badge-box: 13rem;
  }
  .sn-hero-section__heading {
    font-size: 3.75rem;
  }
}
.sn-hero-section__line {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  white-space: nowrap;
}
@media (max-width: 1024px) {
  .sn-hero-section__line {
    white-space: normal;
    width: auto;
  }
}
@media (max-width: 1024px) {
  .sn-hero-section {
    min-height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 140px 48px 80px;
  }
  .sn-hero-section__pin {
    position: static;
    height: auto;
    padding: 0;
    overflow: visible;
    transform: none !important;
    gap: clamp(40px, 6.25vw, 64px);
  }
  .sn-hero-section__badges {
    gap: clamp(24px, 3.91vw, 40px);
    transform: none !important;
  }
  .sn-hero-section__badge {
    transform: none !important;
  }
  .sn-hero-section__heading {
    font-size: clamp(3.5rem, 3.8vw, 4.5rem);
    text-align: center !important;
    transform: none !important;
    opacity: 1 !important;
  }
}
@media (max-width: 1024px) {
  .sn-hero-section {
    padding: 140px 20px 48px;
    min-height: auto;
  }
  .sn-hero-section__pin {
    gap: 32px;
  }
  .sn-hero-section__badges {
    gap: 12px;
    width: 100%;
    flex-wrap: nowrap;
  }
  .sn-hero-section__badge {
    flex: 0 1 auto;
    min-width: 0;
    width: auto !important;
    height: auto !important;
    max-width: 100%;
    max-height: 10rem;
  }
  .sn-hero-section__heading {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(3rem, 12px);
    line-height: 1.3333333333;
    letter-spacing: 0;
    line-height: 52px;
    text-align: left !important;
  }
  .sn-hero-section__highlight {
    color: inherit;
  }
  .sn-hero-section__subtext {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(1.125rem, 12px);
    line-height: 1.6666666667;
    letter-spacing: 0;
    color: #373742;
    text-align: left;
  }
}

@keyframes sn-badges-in {
  from {
    opacity: 0;
    translate: 0 -32px;
  }
  to {
    opacity: 1;
    translate: 0 0;
  }
}
@keyframes sn-heading-in {
  from {
    opacity: 0;
    translate: 0 32px;
  }
  to {
    opacity: 1;
    translate: 0 0;
  }
}
.sn-parallax-cards-section {
  background: #fff9ed;
}
.sn-parallax-cards-section__pin {
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: clip;
}
.sn-parallax-cards-section__container {
  max-width: clamp(740px, 48.03vw, 830px);
  width: 100%;
  padding: clamp(72px, 5.32vw, 92px) clamp(20px, 2.31vw, 40px) 0;
}
.sn-parallax-cards-section__title {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.75rem, 12px);
  line-height: 1.3571428571;
  letter-spacing: 0;
  text-align: center;
  color: #373742;
  margin-bottom: clamp(28px, 2.78vw, 48px);
}
.sn-parallax-cards-section__deck {
  position: relative;
  width: 100%;
}
.sn-parallax-cards-section__item {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  display: flex;
  will-change: transform;
}
.sn-parallax-cards-section__item::before, .sn-parallax-cards-section__item::after {
  content: "";
  position: absolute;
  clip-path: polygon(20px 0, 100% 0, 100% calc(100% - 20px), calc(100% - 20px) 100%, 0 100%, 0 20px);
}
.sn-parallax-cards-section__item::before {
  inset: 4.14px -4.14px -4.14px 4.14px;
  z-index: -2;
  background: #ffd0d8;
}
.sn-parallax-cards-section__item::after {
  inset: 1.24px -1.24px -1.24px 1.24px;
  z-index: -1;
  background: #fff9ed;
}
.sn-parallax-cards-section__item-inner {
  position: relative;
  flex: 1;
  display: flex;
  gap: clamp(30px, 2.31vw, 40px);
  padding: 20px 24px;
  background: #fff9ed;
  clip-path: polygon(20px 0, 100% 0, 100% calc(100% - 20px), calc(100% - 20px) 100%, 0 100%, 0 20px);
}
.sn-parallax-cards-section__item-inner::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #a7a7b0;
  clip-path: polygon(20px 0, 100% 0, 100% calc(100% - 20px), calc(100% - 20px) 100%, 0 100%, 0 20px, 20px 0, calc(20px + 0.4142px) 1px, 1px calc(20px + 0.4142px), 1px calc(100% - 1px), calc(100% - 20px - 0.4142px) calc(100% - 1px), calc(100% - 1px) calc(100% - 20px - 0.4142px), calc(100% - 1px) 1px, calc(20px + 0.4142px) 1px);
}
.sn-parallax-cards-section__item-label {
  min-width: clamp(80px, 7.81vw, 135px);
  max-width: clamp(80px, 7.81vw, 135px);
  flex-shrink: 0;
  margin-top: 3px;
  color: #373742;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: 1rem;
  line-height: 1.5;
  opacity: 0.5;
}
.sn-parallax-cards-section__item-text {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.25rem, 12px);
  line-height: 1.7;
  letter-spacing: 0;
  color: #373742;
  margin: 0;
}
@media (max-width: 1024px) {
  .sn-parallax-cards-section {
    position: static;
    min-height: auto !important;
  }
  .sn-parallax-cards-section__pin {
    position: static;
    height: auto;
    padding: 64px 20px;
  }
  .sn-parallax-cards-section__deck {
    position: static;
    height: auto !important;
    display: flex;
    flex-direction: column;
    gap: 24px;
  }
  .sn-parallax-cards-section__item {
    position: relative;
    top: auto !important;
    transform: none !important;
    z-index: auto !important;
  }
}
@media (max-width: 1024px) {
  .sn-parallax-cards-section__container {
    padding: 0;
  }
  .sn-parallax-cards-section__title {
    margin-bottom: 32px;
  }
  .sn-parallax-cards-section__item-inner {
    gap: 16px;
    padding: 20px;
  }
  .sn-parallax-cards-section__item-label {
    min-width: 90px;
    max-width: 90px;
    font-size: 12px;
    line-height: 18px;
  }
  .sn-parallax-cards-section__item-text {
    font-size: 18px;
    line-height: 30px;
  }
}
@media (max-width: 1024px) {
  .sn-parallax-cards-section__badge-wrap {
    box-sizing: border-box;
    width: 100%;
    padding: 0 20px;
  }
  .sn-parallax-cards-section .sn-kw26-badge--inline {
    position: relative;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 100%;
    min-width: 214px;
    margin: 8px auto;
  }
  .sn-parallax-cards-section .sn-kw26-badge--inline .sn-kw26-badge__btn {
    font-size: 16px;
    padding: 16px 32px;
  }
  .sn-parallax-cards-section .sn-kw26-badge--inline .sn-kw26-badge__text {
    max-width: none;
  }
}

.sn-lets-talk-section {
  background: #fff9ed;
  position: relative;
  padding: 80px 0;
}
.sn-lets-talk-section .talk-container {
  max-width: 1250px;
  margin: 0 auto;
  padding: 0 24px;
}
.sn-lets-talk-section .talk-inner {
  position: relative;
  overflow: hidden;
}
.sn-lets-talk-section .talk-content {
  width: 840px;
  background: #ffefd1;
  padding: 72px 32px 48px 48px;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  z-index: 1;
  min-height: 680px;
  clip-path: polygon(24px 0, 100% 0, 100% calc(100% - 24px), calc(100% - 24px) 100%, 0 100%, 0 24px);
}
.sn-lets-talk-section .talk-content .talk-content-top {
  max-width: 580px;
}
.sn-lets-talk-section .talk-content .title {
  font-size: 3rem;
  font-weight: 300;
  color: #373742;
  margin-bottom: 32px;
}
.sn-lets-talk-section .talk-content .title-accent,
.sn-lets-talk-section .talk-content .red-font-color-text {
  color: #ea1b3d;
}
.sn-lets-talk-section .talk-content .text {
  font-weight: 300;
  font-size: 1.125rem;
  line-height: 2rem;
  color: #373742;
  max-width: 520px;
  margin-bottom: 40px;
}
.sn-lets-talk-section .talk-content .talk-meta {
  text-align: right;
  max-width: 520px;
}
.sn-lets-talk-section .talk-content .talk-meta .talk-name {
  font-weight: 400;
  font-size: 1.5rem;
  line-height: 2rem;
  text-align: right;
}
.sn-lets-talk-section .talk-content .talk-meta .talk-role {
  font-weight: 300;
  font-size: 1.125rem;
  line-height: 1.75rem;
  letter-spacing: 0;
  text-align: right;
}
.sn-lets-talk-section .talk-content .talk-meta .talk-social {
  display: inline-block;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 500;
  font-size: max(1rem, 12px);
  line-height: 1.625;
  letter-spacing: 0;
  text-transform: uppercase;
  font-size: 1rem;
  text-decoration: underline;
  color: #ea1b3d;
}
.sn-lets-talk-section .talk-img-wrapper {
  position: absolute;
  left: 580px;
  bottom: 0;
  height: 100%;
  display: flex;
  align-items: flex-end;
  max-height: 655px;
}
.sn-lets-talk-section .talk-img-wrapper .talk-shape {
  width: 350px;
  height: 483px;
  background: linear-gradient(104.81deg, #284cba 23.69%, #ea1b3d 87.86%);
  transform: skewX(-18deg);
  position: absolute;
  left: 175px;
}
.sn-lets-talk-section .talk-img-wrapper .talk-shape-1 {
  width: 350px;
  height: 483px;
  background: #fff9ed;
  transform: skewX(-18deg);
  position: absolute;
  left: 520px;
  z-index: 2;
}
.sn-lets-talk-section .talk-img-wrapper .talk-shape-1::after {
  position: absolute;
  content: "";
  bottom: -5px;
  left: -35px;
  width: 0;
  height: 0;
  border-left: 40px solid transparent;
  border-right: 30px solid transparent;
  border-top: 20px solid #fff9ed;
  transform: rotate(-52deg);
}
.sn-lets-talk-section .talk-img-wrapper .talk-image {
  position: absolute;
  z-index: 1;
  left: 0;
  bottom: -75px;
  width: auto;
  max-height: 100%;
  transform: scale(1);
}
@media (max-width: 1440px) {
  .sn-lets-talk-section {
    padding: 60px 0;
  }
  .sn-lets-talk-section .talk-container {
    max-width: 1110px;
  }
  .sn-lets-talk-section .talk-content {
    width: 750px;
    min-height: 540px;
    padding: 45px 32px 40px 48px;
  }
  .sn-lets-talk-section .talk-content .talk-title {
    font-size: 2.625rem;
    margin-bottom: 24px;
  }
  .sn-lets-talk-section .talk-content .text {
    margin-bottom: 28px;
  }
  .sn-lets-talk-section .talk-content .talk-meta {
    max-width: 480px;
  }
  .sn-lets-talk-section .talk-img-wrapper {
    left: 530px;
    max-height: 555px;
  }
  .sn-lets-talk-section .talk-img-wrapper .talk-shape,
.sn-lets-talk-section .talk-img-wrapper .talk-shape-1 {
    width: 330px;
    height: 383px;
  }
  .sn-lets-talk-section .talk-img-wrapper .talk-shape {
    left: 84px;
  }
  .sn-lets-talk-section .talk-img-wrapper .talk-shape-1 {
    left: 414px;
  }
}
@media (max-width: 1200px) {
  .sn-lets-talk-section {
    padding: 60px 0;
  }
  .sn-lets-talk-section .talk-container {
    max-width: 1024px;
  }
  .sn-lets-talk-section .talk-content {
    width: 735px;
    min-height: 480px;
    padding: 50px 40px 35px;
  }
  .sn-lets-talk-section .talk-content .title {
    font-size: 2.375rem;
  }
  .sn-lets-talk-section .talk-content .text {
    font-size: 1rem;
    line-height: 1.75rem;
    max-width: 100%;
  }
  .sn-lets-talk-section .talk-img-wrapper {
    width: 340px;
    left: 555px;
    max-height: 512px;
  }
  .sn-lets-talk-section .talk-img-wrapper .talk-shape,
.sn-lets-talk-section .talk-img-wrapper .talk-shape-1 {
    width: 258px;
    height: 340px;
  }
  .sn-lets-talk-section .talk-img-wrapper .talk-shape {
    left: 105px;
  }
  .sn-lets-talk-section .talk-img-wrapper .talk-shape-1 {
    left: 360px;
  }
}
@media (max-width: 1024px) {
  .sn-lets-talk-section {
    position: static;
    padding: 0;
    background: #ffefd1;
  }
  .sn-lets-talk-section .talk-container {
    padding: 48px 20px;
    max-width: 768px;
  }
  .sn-lets-talk-section .talk-inner {
    overflow: visible;
  }
  .sn-lets-talk-section .talk-content {
    width: 100%;
    min-height: auto;
    padding: 0;
    clip-path: none;
    background: none;
  }
  .sn-lets-talk-section .talk-content .talk-content-top {
    width: 100%;
    max-width: 100%;
  }
  .sn-lets-talk-section .talk-content .title {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 400;
    font-size: max(2rem, 12px);
    line-height: 1.5;
    letter-spacing: 0;
    margin-bottom: 32px;
  }
  .sn-lets-talk-section .talk-content .text {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(1.125rem, 12px);
    line-height: 1.6666666667;
    letter-spacing: 0;
    max-width: 100%;
    margin-bottom: 32px;
  }
  .sn-lets-talk-section .talk-img-wrapper {
    position: relative;
    height: 320px;
    width: 285px;
    left: 0;
    margin: 80px auto 10px;
  }
  .sn-lets-talk-section .talk-img-wrapper .talk-shape {
    width: 243px;
    height: 232px;
    /* right: -10px; */
    top: 75px;
    left: 38px;
  }
  .sn-lets-talk-section .talk-img-wrapper .talk-shape-1 {
    width: 243px;
    height: 234px;
    top: 75px;
    left: 226px;
    z-index: 1;
    background: #ffefd1;
  }
  .sn-lets-talk-section .talk-img-wrapper .talk-shape-1::after {
    display: none;
  }
  .sn-lets-talk-section .talk-img-wrapper .talk-shape-2 {
    width: 100px;
    height: 234px;
    top: 75px;
    left: 0;
    z-index: 1;
    background: #ffefd1;
    transform: skewX(-18deg);
    position: absolute;
  }
  .sn-lets-talk-section .talk-img-wrapper .talk-image {
    position: static;
    bottom: auto;
    right: auto;
    max-height: 320px;
    transform: scale(1);
    -o-object-fit: contain;
       object-fit: contain;
    align-self: flex-end;
  }
  .sn-lets-talk-section .talk-meta {
    text-align: center;
    max-width: 350px;
    margin: 0 auto;
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    margin-bottom: 32px;
  }
  .sn-lets-talk-section .talk-meta .talk-name {
    font-size: 1.25rem;
    line-height: 1.5rem;
    font-weight: 600;
    letter-spacing: 0;
    color: #373742;
    margin-bottom: 4px;
  }
  .sn-lets-talk-section .talk-meta .talk-role {
    font-weight: 300;
    font-size: 0.875rem;
    line-height: 1.375rem;
    letter-spacing: 0;
    color: #676775;
    margin-bottom: 4px;
  }
  .sn-lets-talk-section .talk-meta .talk-social {
    font-weight: 600;
    font-size: 0.875rem;
    line-height: 1.375rem;
    letter-spacing: 0;
    color: #ea1b3d;
    text-decoration: none;
  }
  .sn-lets-talk-section .talk-cta {
    display: block;
    width: 276px;
    margin: auto;
  }
}

.parallax-bridge {
  height: 200vh;
}
.parallax-bridge__sticky {
  position: sticky;
  top: 0;
  height: 100vh;
  overflow: hidden;
}
.parallax-bridge__layer {
  position: absolute;
  inset: 0;
  will-change: transform;
}
.parallax-bridge__layer--enter {
  transform: translateY(100%);
  z-index: 1;
}
.parallax-bridge__layer .sn-parallax-cards-section {
  position: absolute;
  inset: 0;
}
.parallax-bridge__layer .sn-parallax-cards-section__pin {
  position: relative;
  top: auto;
  overflow: visible;
}
.parallax-bridge__layer .sn-parallax-cards-section__deck {
  min-height: 80px;
}
.parallax-bridge__layer .sn-lets-talk-section {
  position: relative;
  min-height: 100%;
  overflow: visible;
  display: flex;
  align-items: center;
  padding: 2.5rem 0;
}
.parallax-bridge__layer .sn-lets-talk-section .talk-container {
  width: 100%;
}
@media (max-width: 1024px) {
  .parallax-bridge {
    height: auto;
  }
  .parallax-bridge__sticky {
    position: static;
    height: auto;
    overflow: visible;
  }
  .parallax-bridge__layer, .parallax-bridge__layer--enter {
    position: static;
    transform: none !important;
  }
  .parallax-bridge__layer .sn-parallax-cards-section {
    position: static;
    inset: auto;
  }
  .parallax-bridge__layer .sn-lets-talk-section {
    position: static;
    inset: auto;
    height: auto;
    overflow: visible;
    display: block;
    padding: 60px 0;
    min-height: 0;
  }
}
@media (max-width: 1024px) {
  .parallax-bridge__layer .sn-lets-talk-section {
    padding: 0;
    margin: 48px 0;
  }
}

.sn-scroll-tabs-section {
  --sn-hdr: clamp(72px, 5.32vw, 92px);
  background: #fff9ed;
  position: relative;
  display: flex;
  /* Drives the animation around the offset-path */
}
.sn-scroll-tabs-section__sidebar {
  width: clamp(230px, 21.41vw, 370px);
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  padding: clamp(20px, 2.31vw, 55px) 0 clamp(30px, 3.47vw, 60px) clamp(28px, 3.47vw, 60px);
  background: #fff9ed;
}
.sn-scroll-tabs-section__nav-bounds {
  flex: 1 1 auto;
  min-height: 0;
  padding-bottom: clamp(32px, 2.78vw, 48px);
}
.sn-scroll-tabs-section__sidebar-heading {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: rgba(55, 55, 66, 0.35);
  margin-bottom: clamp(16px, 1.39vw, 24px);
}
.sn-scroll-tabs-section__nav {
  position: sticky;
  top: var(--sn-hdr);
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.sn-scroll-tabs-section__tab {
  display: flex;
  align-items: flex-start;
  gap: clamp(14px, 1.39vw, 24px);
  padding: clamp(10px, 0.81vw, 14px) clamp(12px, 1.16vw, 20px) clamp(10px, 0.81vw, 14px) 0;
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  border-left: 2px solid transparent;
  padding-left: 0;
  transition: border-color 0.3s ease, padding-left 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.sn-scroll-tabs-section__tab:focus-visible {
  outline: 2px solid #ea1b3d;
  outline-offset: 3px;
  border-radius: 2px;
}
.sn-scroll-tabs-section__tab-num {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-size: clamp(12px, 0.93vw, 1rem);
  font-weight: 300;
  color: #a7a7b0;
  letter-spacing: 0.8px;
  flex-shrink: 0;
  padding-top: 2px;
  transition: color 0.3s ease;
}
.sn-scroll-tabs-section__tab:not(.sn-scroll-tabs-section__tab--active):hover .sn-scroll-tabs-section__tab-num {
  color: #ea1b3d;
}
.sn-scroll-tabs-section__tab--active .sn-scroll-tabs-section__tab-num {
  color: #ea1b3d;
}
.sn-scroll-tabs-section__tab-label {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-size: clamp(14px, 1.16vw, 1.25rem);
  font-weight: 300;
  color: #a7a7b0;
  line-height: 1.4;
  transition: font-weight 0.2s ease;
  opacity: 0;
}
.sn-scroll-tabs-section__tab:not(.sn-scroll-tabs-section__tab--active):hover .sn-scroll-tabs-section__tab-label {
  color: #000;
  opacity: 1;
}
.sn-scroll-tabs-section__tab--active .sn-scroll-tabs-section__tab-label {
  color: #000;
  opacity: 1;
}
.sn-scroll-tabs-section__panels {
  flex: 1;
  min-width: 0;
}
.sn-scroll-tabs-section__panel {
  padding: clamp(20px, 2.08vw, 36px) clamp(32px, 4.63vw, 80px) clamp(20px, 2.08vw, 36px) clamp(24px, 3.01vw, 52px);
  min-height: auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.sn-scroll-tabs-section__panel--deck {
  display: block;
  padding-top: 0;
  padding-bottom: 0;
  min-height: calc(var(--sn-deck-count, 2) * 100vh);
}
.sn-scroll-tabs-section__panel--deck-flat, .sn-scroll-tabs-section__panel--deck:has(.sn-content-slider__slides > .sn-content-slider__slide:only-child) {
  display: flex;
  min-height: auto;
  scroll-margin-top: calc(var(--sn-hdr) + 1rem);
  padding-top: clamp(20px, 2.08vw, 36px);
  padding-bottom: clamp(20px, 2.08vw, 36px);
}
@media (max-width: 1024px) {
  .sn-scroll-tabs-section__panel--deck-flat, .sn-scroll-tabs-section__panel--deck:has(.sn-content-slider__slides > .sn-content-slider__slide:only-child) {
    padding: 0;
  }
}
.sn-scroll-tabs-section__panel--accordion {
  justify-content: flex-start;
}
@media (max-width: 1400px) {
  .sn-scroll-tabs-section__sidebar {
    width: clamp(200px, 18.52vw, 320px);
    padding: clamp(20px, 2.31vw, 40px) clamp(6px, 0.58vw, 10px) clamp(30px, 3.47vw, 60px) clamp(20px, 2.31vw, 40px);
  }
  .sn-scroll-tabs-section__panel {
    padding: clamp(20px, 2.08vw, 36px) clamp(20px, 2.31vw, 40px) clamp(20px, 2.08vw, 36px) clamp(10px, 1.16vw, 20px);
  }
}
@media (max-width: 1024px) {
  .sn-scroll-tabs-section {
    display: block;
  }
  .sn-scroll-tabs-section__sidebar {
    display: none;
  }
  .sn-scroll-tabs-section__panels {
    width: 100%;
  }
  .sn-scroll-tabs-section__panel {
    padding: clamp(16px, 3.12vw, 32px) clamp(10px, 1.95vw, 20px);
    min-height: auto;
  }
  .sn-scroll-tabs-section__panel--deck {
    padding-top: 0;
    padding-bottom: 0;
    min-height: calc(var(--sn-deck-count, 2) * 100vh);
  }
}
@media (max-width: 1024px) {
  .sn-scroll-tabs-section__panel {
    padding: 0;
    min-height: auto;
  }
  .sn-scroll-tabs-section__panel--deck {
    min-height: calc(var(--sn-deck-count, 2) * 100vh);
  }
}
@keyframes sn-kw26-border-trace {
  0% {
    transform: translate(-92px, -21px);
  }
  40% {
    transform: translate(92px, -21px);
  }
  50% {
    transform: translate(92px, 21px);
  }
  90% {
    transform: translate(-92px, 21px);
  }
  100% {
    transform: translate(-92px, -21px);
  }
}
@keyframes trace-edges {
  0% {
    offset-distance: 0%;
  }
  100% {
    offset-distance: 100%;
  }
}
.sn-scroll-tabs-section__sidebar .sn-kw26-badge {
  flex: 0 0 auto;
  position: sticky;
  bottom: clamp(30px, 3.47vw, 60px);
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  width: clamp(170px, 12.15vw, 210px);
}
@media (max-height: 520px) {
  .sn-scroll-tabs-section__sidebar .sn-kw26-badge {
    position: relative;
  }
}

.sn-kw26-badge__ellipse {
  position: absolute;
  top: 0;
  left: 0;
  width: 55.4px;
  height: 30.9px;
  border-radius: 50%;
  background: conic-gradient(from 180deg at 50% 50%, #ff5b5b 0deg, #8cfc4f 103.85deg, #64a5ff 235.38deg, #ff43d9 349.62deg);
  filter: blur(10.9px);
  z-index: 0;
  offset-path: polygon(0.625rem 0, 100% 0, 100% calc(100% - 0.625rem), calc(100% - 0.625rem) 100%, 0 100%, 0 0.625rem);
  animation: trace-edges 8s linear infinite;
}
.sn-kw26-badge__btn {
  position: relative;
  z-index: 1;
  width: 100%;
  box-sizing: border-box;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #2f2f39;
  color: #fff;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 500;
  font-size: clamp(12px, 0.93vw, 1rem);
  line-height: 1;
  letter-spacing: 0;
  text-transform: uppercase;
  text-decoration: none;
  padding: clamp(10px, 0.75vw, 13px) clamp(12px, 1.04vw, 18px);
  white-space: nowrap;
  transition: background 0.3s ease;
  clip-path: polygon(0.625rem 0, 100% 0, 100% calc(100% - 0.625rem), calc(100% - 0.625rem) 100%, 0 100%, 0 0.625rem);
}
.sn-kw26-badge__btn::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 0.89px;
  background: linear-gradient(92.46deg, rgba(111, 47, 229, 0) 6.85%, #a52af7 99.04%);
}
.sn-kw26-badge__btn:hover {
  background: #2a2c44;
}
.sn-kw26-badge__text {
  display: block;
  max-width: 190px;
  overflow: hidden;
}

.sn-accordion {
  padding: clamp(16px, 1.74vw, 30px);
  transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(24px, 3.47vw, 60px);
  align-items: start;
}
.sn-accordion__lead {
  position: sticky;
  top: clamp(80px, 6.94vw, 120px);
}
.sn-accordion__label {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(0.875rem, 12px);
  line-height: 1.5714285714;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  font-size: max(0.875rem, 12px);
  color: #eb4c5e;
  margin-bottom: clamp(10px, 0.93vw, 16px);
}
.sn-accordion__heading {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(3rem, 12px);
  line-height: 1.3333333333;
  letter-spacing: 0;
  max-width: 18ch;
  color: #373742;
}
.sn-accordion__list {
  list-style: none;
  margin: 0;
  padding: clamp(4px, 0.46vw, 8px);
  display: flex;
  flex-direction: column;
  gap: 8px;
  overflow: hidden;
}
.sn-accordion__item {
  overflow: hidden;
  border-bottom: 1px solid #e6e6ed;
  position: relative;
}
.sn-accordion__trigger {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(10px, 0.93vw, 16px);
  padding: clamp(16px, 1.5vw, 26px) clamp(12px, 1.16vw, 20px);
  background: transparent;
  border: none;
  cursor: pointer;
  text-align: left;
}
.sn-accordion__trigger:focus-visible {
  outline: 2px solid #ea1b3d;
  outline-offset: 3px;
  border-radius: 2px;
}
.sn-accordion__trigger-title {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 500;
  font-size: max(1rem, 12px);
  line-height: 1.625;
  letter-spacing: 0;
  text-transform: uppercase;
  color: #1d1d1d;
  transition: color 0.3s ease;
  flex: 1;
  min-width: 0;
}
.sn-accordion__item--active .sn-accordion__trigger-title {
  color: #1d1d1d;
}
.sn-accordion__icon-wrap {
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.sn-accordion__icon-plus {
  position: absolute;
  top: 50%;
  left: 50%;
  opacity: 1;
  transform: translate(-50%, -50%) rotate(0deg) scale(1);
  transition: opacity 0.25s ease, transform 0.25s ease;
}
.sn-accordion__item--active .sn-accordion__icon-plus {
  opacity: 0;
  transform: translate(-50%, -50%) rotate(90deg) scale(0.5);
}
.sn-accordion__icon-minus {
  position: absolute;
  top: 50%;
  left: 50%;
  opacity: 0;
  transform: translate(-50%, -50%) rotate(-90deg) scale(0.5);
  transition: opacity 0.25s ease, transform 0.25s ease;
}
.sn-accordion__item--active .sn-accordion__icon-minus {
  opacity: 1;
  transform: translate(-50%, -50%) rotate(0deg) scale(1);
}
.sn-accordion__body {
  background: transparent;
  overflow: hidden;
  display: grid;
  grid-template-rows: 0fr;
  padding: 0 clamp(14px, 1.27vw, 22px);
  transition: grid-template-rows 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94), padding-top 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94), padding-bottom 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.sn-accordion__item--active .sn-accordion__body {
  grid-template-rows: 1fr;
  padding-top: clamp(10px, 0.93vw, 16px);
  padding-bottom: clamp(20px, 1.86vw, 32px);
}
.sn-accordion__body-text {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.7;
  color: rgba(28, 28, 28, 0.8);
  padding: 0;
  min-height: 0;
}
.sn-accordion__item--active .sn-accordion__body-text {
  min-height: 50px;
}
.sn-accordion__progress-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: #fff9ed;
  border-radius: 0;
  overflow: hidden;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.sn-accordion__item--active .sn-accordion__progress-bar {
  opacity: 1;
}
.sn-accordion__progress-fill {
  height: 100%;
  background: #ffd0d8;
  width: 100%;
  transform: scaleX(0);
  transform-origin: left center;
}
.sn-accordion__item--active .sn-accordion__progress-fill {
  will-change: transform;
}
@media (max-width: 1400px) {
  .sn-accordion {
    gap: clamp(16px, 1.74vw, 30px);
  }
}
@media (max-width: 1200px) {
  .sn-accordion {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .sn-accordion__lead {
    position: static;
  }
}
@media (max-width: 1024px) {
  .sn-accordion {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .sn-accordion__lead {
    position: static;
  }
}
@media (max-width: 1024px) {
  .sn-accordion {
    clip-path: none;
    padding: 48px 20px;
    gap: 40px;
  }
  .sn-accordion__label {
    margin-bottom: 12px;
  }
  .sn-accordion__heading {
    font-size: 2rem;
    line-height: 38px;
    letter-spacing: -0.04em;
    font-weight: 250;
  }
  .sn-accordion__list {
    padding: 8px;
    gap: 10px;
  }
  .sn-accordion__item {
    border-bottom: none;
  }
  .sn-accordion__progress-bar {
    display: none;
  }
  .sn-accordion__trigger {
    gap: 16px;
    padding: 26px 0 16px;
  }
  .sn-accordion__trigger-title {
    font-size: 1rem;
  }
  .sn-accordion__body {
    padding-right: 40px;
    padding-left: 0;
  }
  .sn-accordion__body-text {
    font-size: 0.875rem;
  }
  .sn-accordion__item--active .sn-accordion__body-text {
    min-height: 0;
  }
}

.sn-logo-marquee {
  margin-top: 48px;
  margin-bottom: 16px;
  position: relative;
  overflow: hidden;
}
.sn-logo-marquee::before, .sn-logo-marquee::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100px;
  z-index: 2;
  pointer-events: none;
}
.sn-logo-marquee::before {
  left: 0;
  background: linear-gradient(to right, #fff9ed 10%, transparent);
}
.sn-logo-marquee::after {
  right: 0;
  background: linear-gradient(to left, #fff9ed 10%, transparent);
}
.sn-logo-marquee__track {
  display: flex;
  gap: 0;
  align-items: center;
  width: -moz-max-content;
  width: max-content;
  animation: sn-marquee var(--sn-marquee-duration, 60s) linear infinite;
  will-change: transform;
}
.sn-logo-marquee__item {
  flex-shrink: 0;
  height: 40px;
  margin: 0 40px;
  display: flex;
  align-items: center;
}
.sn-logo-marquee__logo {
  height: 40px;
  width: auto;
  -o-object-fit: contain;
     object-fit: contain;
  opacity: 1;
  transition: opacity 0.35s ease;
}
.sn-logo-marquee__logo:hover {
  opacity: 0.8;
}
.sn-logo-marquee:hover .sn-logo-marquee__track {
  animation-play-state: paused;
}
.sn-logo-marquee--static::before, .sn-logo-marquee--static::after {
  display: none;
}
.sn-logo-marquee--static .sn-logo-marquee__track {
  animation: none;
  width: 100%;
  justify-content: center;
  will-change: auto;
}

.sn-content-slider--flat .sn-logo-marquee,
.sn-scroll-tabs-section__panel--deck:has(.sn-content-slider__slides > .sn-content-slider__slide:only-child) .sn-logo-marquee {
  margin-top: 32px;
}

@keyframes sn-marquee {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(calc(var(--sn-marquee-shift, 0px) * -1), 0, 0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .sn-logo-marquee__track {
    animation: none;
  }
}
.sn-content-slider {
  position: sticky;
  top: var(--sn-hdr);
  height: calc(100vh - var(--sn-hdr));
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media (max-width: 1024px) {
  .sn-content-slider {
    touch-action: pan-y;
  }
}
.sn-content-slider__section-eyebrow {
  display: block;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(0.875rem, 12px);
  line-height: 1.5714285714;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #eb4c5e;
  margin-bottom: 3.5rem;
}
@media (max-width: 1400px) {
  .sn-content-slider__section-eyebrow {
    margin-bottom: clamp(8px, 0.93vw, 16px);
  }
}
@media (max-width: 1024px) {
  .sn-content-slider__section-eyebrow {
    margin-bottom: 12px;
    padding: 0 20px;
  }
}
.sn-content-slider__deck {
  position: relative;
}
.sn-content-slider__slides {
  position: relative;
  height: clamp(26rem, 100vh - var(--sn-hdr) - 12rem, 39rem);
}
.sn-content-slider__slide {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 2.5rem;
  background: #2f2f39;
  overflow: hidden;
  opacity: 0;
  transform: scale(0.9) translate3d(0, 74px, 0);
  pointer-events: none;
  will-change: transform, opacity;
  transition: transform 1.3s cubic-bezier(0.33, 1, 0.68, 1), opacity 1.3s cubic-bezier(0.33, 1, 0.68, 1), box-shadow 1.3s cubic-bezier(0.33, 1, 0.68, 1), filter 300ms ease-out;
}
.sn-content-slider__slide::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url(../static/assets/images/latest/grain-tile.png);
  background-repeat: repeat;
  mix-blend-mode: normal;
  opacity: 1;
  pointer-events: none;
  z-index: 2;
}
.sn-content-slider__slide--current {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  pointer-events: auto;
  z-index: 4;
  transition: transform 1.3s cubic-bezier(0.33, 1, 0.68, 1), opacity 0.35s cubic-bezier(0.33, 1, 0.68, 1), box-shadow 1.3s cubic-bezier(0.33, 1, 0.68, 1), filter 300ms ease-out;
}
.sn-content-slider__slide--before-1, .sn-content-slider__slide--before-far {
  opacity: 1;
  transform: translate3d(0, -100vh, 0);
  box-shadow: none;
  z-index: 5;
}
.sn-content-slider__slide--after-1 {
  opacity: 0.5;
  transform: scale(0.967) translate3d(0, 26px, 0);
  pointer-events: none;
  z-index: 3;
}
.sn-content-slider__slide--after-2 {
  opacity: 0.5;
  transform: scale(0.935) translate3d(0, 50px, 0);
  pointer-events: none;
  z-index: 2;
}
.sn-content-slider__media {
  position: absolute;
  inset: 0;
  overflow: hidden;
}
.sn-content-slider__bg {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.sn-content-slider__scrim {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(27, 65, 161, 0.4) 0%, rgba(125, 54, 141, 0.4) 56.18%, rgba(217, 74, 131, 0.4) 100%);
  pointer-events: none;
  transition: opacity 0.3s ease;
}
.sn-content-slider__eyebrow {
  position: relative;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(0.875rem, 12px);
  line-height: 1.5714285714;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #fafafa;
  font-weight: 300;
}
.sn-content-slider__content {
  position: relative;
  width: calc(100% - clamp(280px, 26vw, 380px) - 40px);
}
.sn-content-slider__tags {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  margin-bottom: 1.625rem;
}
.sn-content-slider__tag {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  color: #fff;
  font-size: max(0.875rem, 12px);
  line-height: 1.3;
  background: rgba(255, 255, 255, 0.15);
  padding: 0.25rem 0.625rem;
  border-radius: 2px;
}
.sn-content-slider__heading {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-size: 2.5rem;
  font-weight: 500;
  line-height: 1.375;
  letter-spacing: -0.02em;
  color: #fff;
  margin-bottom: 2.5rem;
}
.sn-content-slider__story-link {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  width: -moz-fit-content;
  width: fit-content;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 500;
  font-size: max(1rem, 12px);
  line-height: 1.625;
  letter-spacing: 0;
  text-transform: uppercase;
  color: #fafafa;
  text-decoration: none;
}
.sn-content-slider__story-link:hover .sn-content-slider__story-link-arrow {
  transform: translate3d(4px, 0, 0);
}
.sn-content-slider__story-link:focus-visible {
  outline: 2px solid #fafafa;
  outline-offset: 4px;
}
.sn-content-slider__story-link-text {
  text-decoration: underline;
  text-underline-offset: 5px;
  text-decoration-thickness: 1px;
}
.sn-content-slider__story-link-arrow {
  flex: none;
  fill: currentcolor;
  transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.sn-content-slider__read-link.ib-btn::after {
  display: none;
}
.sn-content-slider__read-link .ib-btn__inner {
  background: transparent;
}
.sn-content-slider__read-link .ib-btn__inner::before {
  background: transparent;
}
.sn-content-slider__cta {
  position: absolute;
  right: 2.5rem;
  bottom: 2.5rem;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-size: max(0.8125rem, 12px);
  font-weight: 700;
  letter-spacing: 0;
  text-transform: uppercase;
  text-decoration: none;
  color: #fff;
  background: #f16f58;
  padding: 0.875rem 1.375rem;
  transition: background 0.3s ease;
  border: 0;
  cursor: pointer;
  min-height: 50px;
}
.sn-content-slider__cta:hover {
  background: #dd5b44;
}
.sn-content-slider__cta:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}
.sn-content-slider__impacts {
  position: absolute;
  inset: 0 0 0 auto;
  width: clamp(280px, 26vw, 380px);
  z-index: 3;
  transform-origin: top left;
  transform: translate(var(--impacts-x, 0), var(--impacts-y, 0)) scale(var(--impacts-scale-x, 0.15), var(--impacts-scale-y, 0.15));
  opacity: 0;
  visibility: hidden;
  transition: transform 0.55s cubic-bezier(0.6, 0, 0.4, 1), opacity 0.25s ease 0.3s, visibility 0s linear 0.55s;
}
.sn-content-slider__slide--impacts-open .sn-content-slider__impacts {
  transform: translate(0, 0) scale(1, 1);
  opacity: 1;
  visibility: visible;
  transition: transform 0.55s cubic-bezier(0.6, 0, 0.4, 1), opacity 0.15s ease-out, visibility 0s;
}
.sn-content-slider__slide--impacts-open .sn-content-slider__cta {
  opacity: 0;
  pointer-events: none;
}
.sn-content-slider__impacts-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(10, 33, 95, 0), rgba(10, 33, 95, 0)), linear-gradient(341.79deg, #462f82 -26.55%, #b5418b 20.34%, #f16f58 61.44%);
}
.sn-content-slider__impacts-close.ib-btn {
  position: absolute;
  top: 1.25rem;
  right: 1.25rem;
  z-index: 2;
  width: 2.5rem;
  height: 2.5rem;
}
.sn-content-slider__impacts-list {
  position: relative;
  z-index: 1;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1.75rem;
  padding: 2.5rem 4rem 2.5rem 2rem;
}
.sn-content-slider__impact {
  padding-bottom: 1.75rem;
  border-bottom: 1px solid #75368e;
}
.sn-content-slider__impact:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}
.sn-content-slider__impact-label {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
  color: #fff;
  margin-bottom: 0.375rem;
  text-transform: uppercase;
}
.sn-content-slider__impact-desc {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-size: 12px;
  font-weight: 300;
  line-height: 1.4;
  color: #fff;
  margin-bottom: 0.75rem;
}
.sn-content-slider__impact-value {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.1;
  color: #fff;
}
@media (prefers-reduced-motion: reduce) {
  .sn-content-slider__slide {
    transition: none;
  }
}
@media (max-width: 1024px) {
  .sn-content-slider {
    height: calc(100vh - var(--sn-hdr));
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
  .sn-content-slider__deck {
    height: 90%;
  }
  .sn-content-slider__slides {
    height: 100%;
    overflow: hidden;
  }
  .sn-content-slider__slide {
    left: 1.25rem;
    width: calc(100% - 2.5rem);
    padding: 1.5rem 1.5rem 4rem;
    box-shadow: none;
    transform: translateX(calc(100% + 2px)) scale(0.95);
  }
  .sn-content-slider__slide--current {
    opacity: 1;
    transform: translateX(0) scale(1);
    pointer-events: auto;
    z-index: 4;
  }
  .sn-content-slider__slide--before-far {
    opacity: 0;
    transform: translateX(calc(-100% - 12px)) scale(1);
  }
  .sn-content-slider__slide--before-1 {
    opacity: 0.5;
    transform: translateX(calc(-100% - 4px)) scale(0.95);
    pointer-events: none;
    z-index: 3;
  }
  .sn-content-slider__slide--after-1 {
    opacity: 0.5;
    transform: translateX(calc(100% + 4px)) scale(0.95);
    pointer-events: none;
    z-index: 3;
  }
  .sn-content-slider__bg {
    -o-object-position: center right;
       object-position: center right;
  }
  .sn-content-slider__scrim {
    background: linear-gradient(90deg, rgba(27, 65, 161, 0.6) 0%, rgba(125, 54, 141, 0.6) 69.72%, rgba(217, 74, 131, 0.6) 124.1%);
  }
  .sn-content-slider__eyebrow {
    font-weight: 400;
  }
  .sn-content-slider__content {
    width: auto;
  }
  .sn-content-slider__tags {
    gap: 0.375rem;
    margin-bottom: 1rem;
  }
  .sn-content-slider__tag {
    font-size: 0.75rem;
  }
  .sn-content-slider__heading {
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.4;
    margin-bottom: 1rem;
  }
  .sn-content-slider__cta {
    right: 1.25rem;
    bottom: 1rem;
    padding: 0.75rem 1.125rem;
    font-size: 0.75rem;
    min-height: 38px;
    font-weight: 400;
  }
  .sn-content-slider__impacts {
    inset: auto 0 0;
    width: auto;
    height: 100%;
    transform: translate3d(0, 100%, 0);
  }
  .sn-content-slider__slide--impacts-open .sn-content-slider__impacts {
    transform: translate3d(0, 0, 0);
    backdrop-filter: blur(12px);
  }
  .sn-content-slider__slide--impacts-open .sn-content-slider__scrim {
    opacity: 0;
  }
  .sn-content-slider__impacts-overlay {
    background: linear-gradient(137.11deg, rgba(241, 111, 88, 0.92) 12.42%, rgba(181, 65, 139, 0.92) 73.12%, rgba(70, 47, 130, 0.92) 168.22%);
  }
  .sn-content-slider__impacts-list {
    justify-content: flex-start;
    gap: 1.25rem;
    padding: 4.5rem 1.25rem 2rem;
  }
  .sn-content-slider__impact-value {
    font-size: 1.25rem;
  }
}

.sn-content-slider--flat,
.sn-scroll-tabs-section__panel--deck:has(.sn-content-slider__slides > .sn-content-slider__slide:only-child) .sn-content-slider {
  position: relative;
  top: auto;
  height: auto;
}
@media (max-width: 1024px) {
  .sn-content-slider--flat,
.sn-scroll-tabs-section__panel--deck:has(.sn-content-slider__slides > .sn-content-slider__slide:only-child) .sn-content-slider {
    height: auto;
    padding: 0;
  }
  .sn-content-slider--flat .sn-content-slider__deck,
.sn-scroll-tabs-section__panel--deck:has(.sn-content-slider__slides > .sn-content-slider__slide:only-child) .sn-content-slider .sn-content-slider__deck {
    height: auto;
  }
  .sn-content-slider--flat .sn-content-slider__slides,
.sn-scroll-tabs-section__panel--deck:has(.sn-content-slider__slides > .sn-content-slider__slide:only-child) .sn-content-slider .sn-content-slider__slides {
    height: clamp(20rem, 68vh, 30rem);
  }
}

.sn-testimonial-slider {
  display: flex;
  background: linear-gradient(135deg, #fff9ed calc(50% - 0.5px), rgba(0, 0, 0, 0) calc(50% + 0.5px)) top left/20px 20px no-repeat, linear-gradient(135deg, rgba(0, 0, 0, 0) calc(50% - 0.5px), #fff9ed calc(50% + 0.5px)) bottom right/20px 20px no-repeat, #ffefd1;
  padding: clamp(20px, 1.74vw, 30px);
  margin-block: calc(var(--sn-hdr, 92px) + 1.5rem) 3rem;
  transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.sn-testimonial-slider__eyebrow {
  display: block;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(0.875rem, 12px);
  line-height: 1.5714285714;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #eb4c5e;
  margin: 0 0 1.75rem;
}
.sn-testimonial-slider__slide {
  display: flex;
  min-height: max(23.75rem, 100vh - var(--sn-hdr, 92px) - 15rem);
}
.sn-testimonial-slider__text-col {
  flex: 1;
  max-width: clamp(640px, 60.75vw, 1050px);
  padding: clamp(40px, 4.63vw, 80px) clamp(24px, 2.78vw, 48px) clamp(40px, 4.63vw, 80px) clamp(32px, 8.1vw, 140px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.sn-testimonial-slider__heading {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(3rem, 12px);
  line-height: 1.3333333333;
  letter-spacing: 0;
  color: #373742;
  margin-bottom: 2.5rem;
  max-width: 26ch;
}
.sn-testimonial-slider__heading em {
  color: #eb4c5e;
  font-style: normal;
}
.sn-testimonial-slider__quote {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.25rem, 12px);
  line-height: 1.7;
  letter-spacing: 0;
  color: #373742;
  max-width: 65ch;
}
.sn-testimonial-slider__person-meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 2.5rem;
  padding-top: 2.5rem;
  border-top: 1px solid #ffd0d8;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
}
.sn-testimonial-slider__meta-name {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 500;
  font-size: max(1rem, 12px);
  line-height: 1.625;
  letter-spacing: 0;
  text-transform: uppercase;
  color: #373742;
}
.sn-testimonial-slider__meta-role {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(0.875rem, 12px);
  line-height: 1.5714285714;
  letter-spacing: 0;
  color: #373742;
}
@media (max-width: 1400px) {
  .sn-testimonial-slider__text-col {
    max-width: clamp(560px, 62vw, 900px);
    padding: clamp(28px, 3.5vw, 56px) clamp(18px, 2.09vw, 30px) clamp(28px, 3.5vw, 56px) clamp(24px, 5.5vw, 80px);
  }
}
@media (max-width: 1200px) {
  .sn-testimonial-slider {
    flex: none;
  }
  .sn-testimonial-slider__slide {
    min-height: auto;
  }
}
@media (max-width: 1024px) {
  .sn-testimonial-slider {
    background: #ffefd1;
    position: static;
    overflow: visible;
    padding: 24px 20px;
    margin: 48px 0;
  }
  .sn-testimonial-slider__eyebrow {
    margin: 0 0 24px;
  }
  .sn-testimonial-slider__text-col {
    max-width: none;
    padding: 0;
  }
  .sn-testimonial-slider__heading {
    font-size: 2rem;
    line-height: 38px;
    letter-spacing: -0.04em;
    font-weight: 250;
    margin-bottom: 24px;
  }
  .sn-testimonial-slider__quote {
    font-size: 1.125rem;
    line-height: 1.6;
  }
  .sn-testimonial-slider__person-meta {
    margin-top: 16px;
    padding-top: 0;
    border-top: 0;
  }
  .sn-testimonial-slider__meta-name {
    text-transform: none;
    letter-spacing: normal;
  }
}

.sn-enterprise-cards {
  padding: clamp(16px, 1.74vw, 30px);
  transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.sn-enterprise-cards__eyebrow {
  display: block;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(0.875rem, 12px);
  line-height: 1.5714285714;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #eb4c5e;
  margin-bottom: clamp(8px, 0.93vw, 16px);
}
.sn-enterprise-cards__heading {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-size: clamp(1.5rem, 2.31vw, 2.5rem);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.04em;
  color: #373742;
  max-width: clamp(360px, 33.56vw, 580px);
  margin-bottom: clamp(28px, 3.47vw, 60px);
}
.sn-enterprise-cards__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(10px, 1.04vw, 18px);
}
.sn-enterprise-cards__card {
  position: relative;
  min-height: clamp(180px, 22vh, 308px);
  will-change: opacity, transform;
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.65s ease, transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.sn-enterprise-cards__card:nth-child(1) {
  transition-delay: 0s;
}
.sn-enterprise-cards__card:nth-child(2) {
  transition-delay: 0.1s;
}
.sn-enterprise-cards__card:nth-child(3) {
  transition-delay: 0.2s;
}
.sn-enterprise-cards__card:nth-child(4) {
  transition-delay: 0.3s;
}
.sn-enterprise-cards__card.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.sn-enterprise-cards__card--notch-tl::before, .sn-enterprise-cards__card--notch-br::before {
  content: "";
  position: absolute;
  inset: 4px -4px -4px 4px;
  z-index: -1;
  background: #ffd0d8;
}
.sn-enterprise-cards__card--notch-tl::before {
  clip-path: polygon(24px 0, 100% 0, 100% 100%, 0 100%, 0 24px);
}
.sn-enterprise-cards__card--notch-br::before {
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 24px), calc(100% - 24px) 100%, 0 100%);
}
.sn-enterprise-cards__card-inner {
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: clamp(16px, 1.62vw, 28px) clamp(16px, 1.62vw, 28px) clamp(24px, 2.31vw, 40px);
  background: #fff9ed;
  border: 1.5px solid #a7a7b0;
  box-shadow: 4px 4px 0 #ffd0d8;
}
.sn-enterprise-cards__card--notch-tl .sn-enterprise-cards__card-inner, .sn-enterprise-cards__card--notch-br .sn-enterprise-cards__card-inner {
  border: 0;
  box-shadow: none;
}
.sn-enterprise-cards__card--notch-tl .sn-enterprise-cards__card-inner::before, .sn-enterprise-cards__card--notch-br .sn-enterprise-cards__card-inner::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #a7a7b0;
}
.sn-enterprise-cards__card--notch-tl .sn-enterprise-cards__card-inner {
  clip-path: polygon(24px 0, 100% 0, 100% 100%, 0 100%, 0 24px);
}
.sn-enterprise-cards__card--notch-tl .sn-enterprise-cards__card-inner::before {
  clip-path: polygon(24px 0, 100% 0, 100% 100%, 0 100%, 0 24px, 24px 0, calc(24px + 0.6213px) 1.5px, 1.5px calc(24px + 0.6213px), 1.5px calc(100% - 1.5px), calc(100% - 1.5px) calc(100% - 1.5px), calc(100% - 1.5px) 1.5px, calc(24px + 0.6213px) 1.5px);
}
.sn-enterprise-cards__card--notch-br .sn-enterprise-cards__card-inner {
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 24px), calc(100% - 24px) 100%, 0 100%);
}
.sn-enterprise-cards__card--notch-br .sn-enterprise-cards__card-inner::before {
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 24px), calc(100% - 24px) 100%, 0 100%, 0 0, 1.5px calc(100% - 1.5px), calc(100% - 24px - 0.6213px) calc(100% - 1.5px), calc(100% - 1.5px) calc(100% - 24px - 0.6213px), calc(100% - 1.5px) 1.5px, 1.5px 1.5px, 1.5px calc(100% - 1.5px));
}
.sn-enterprise-cards__card-num {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-size: clamp(12px, 0.93vw, 1rem);
  font-weight: 700;
  color: #a7a7b0;
  margin-bottom: 30px;
}
.sn-enterprise-cards__card-title {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 500;
  font-size: clamp(12px, 0.81vw, 0.875rem);
  line-height: 1.5;
  letter-spacing: 0;
  text-transform: uppercase;
  color: #1d1d1d;
  margin-bottom: clamp(8px, 0.7vw, 12px);
}
.sn-enterprise-cards__card-desc {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1rem, 12px);
  line-height: 1.625;
  letter-spacing: 0;
  color: rgba(28, 28, 28, 0.8);
  height: 74px;
  overflow: hidden;
}
@media (max-width: 1024px) {
  .sn-enterprise-cards {
    clip-path: none;
    padding: 48px 20px;
    background: transparent;
  }
  .sn-enterprise-cards__eyebrow {
    margin-bottom: 12px;
  }
  .sn-enterprise-cards__heading {
    font-size: 2rem;
    line-height: 38px;
    letter-spacing: -0.04em;
    font-weight: 250;
    margin-bottom: 32px;
  }
  .sn-enterprise-cards__grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .sn-enterprise-cards__card {
    transition-delay: 0s !important;
    min-height: auto;
  }
  .sn-enterprise-cards__card-inner {
    padding: 28px 28px 40px;
  }
  .sn-enterprise-cards__card-num {
    font-size: 0.875rem;
    font-weight: 600;
  }
  .sn-enterprise-cards__card-title {
    font-size: 1rem;
    margin-bottom: 12px;
  }
  .sn-enterprise-cards__card-desc {
    height: auto;
  }
}

.sn-showcase-section {
  position: relative;
  height: 100vh;
  overflow: hidden;
  background: #fff9ed;
}
.sn-showcase-section__container {
  position: absolute;
  inset: 0 0 clamp(300px, 44vh, 520px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 6rem 2rem 0;
}
.sn-showcase-section__heading {
  max-width: 24ch;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 250;
  font-size: max(4.5rem, 12px);
  line-height: 1.2222222222;
  letter-spacing: -0.04em;
  text-align: center;
  color: #373742;
}
.sn-showcase-section__highlight {
  background: linear-gradient(90deg, #284cba 0%, #ea1b3d 72.87%);
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
          background-clip: text;
  padding-right: 2px;
}
.sn-showcase-section__strip {
  position: absolute;
  left: 2rem;
  right: 2rem;
  bottom: 0;
  height: clamp(300px, 44vh, 520px);
  display: flex;
  align-items: flex-end;
  gap: 1rem;
}
.sn-showcase-section__item {
  flex: var(--sn-grow, 1) 1 0%;
  height: calc(var(--sn-h, 0.58) * 100%);
  min-width: 0;
  margin: 0;
}
.sn-showcase-section__item:first-child {
  --sn-grow: 1.724137931;
  --sn-h: 1;
}
.sn-showcase-section__media {
  height: 100%;
  border-radius: 0;
  overflow: hidden;
}
.sn-showcase-section__img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: bottom center;
     object-position: bottom center;
  display: block;
}

@media (max-width: 1024px) {
  .sn-showcase-section {
    height: auto;
    display: block;
    overflow: visible;
  }
  .sn-showcase-section__pin-range {
    height: calc(100vh - 2.5rem + (3 * min(50svh, 26.25rem)));
    margin-bottom: calc(-4 * min(50svh, 26.25rem));
  }
  @supports (height: 100svh) {
    .sn-showcase-section__pin-range {
      height: calc(100svh - 2.5rem + (3 * min(50svh, 26.25rem)));
    }
  }
  .sn-showcase-section__container {
    position: sticky;
    inset: auto;
    top: 0;
    z-index: 3;
    height: calc(100vh - min(50svh, 26.25rem) - 2.5rem);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6rem 1.5rem 1.5rem;
  }
  @supports (height: 100svh) {
    .sn-showcase-section__container {
      height: calc(100svh - min(50svh, 26.25rem) - 2.5rem);
    }
  }
  .sn-showcase-section__heading {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 400;
    font-size: max(3rem, 12px);
    line-height: 1.0833333333;
    letter-spacing: -0.04em;
    font-weight: 300;
    text-align: left;
    font-size: clamp(1.75rem, calc(calc(100vh - min(50svh, 26.25rem) - 2.5rem - 6rem - 1.5rem) / 5.4165), 3rem);
  }
  @supports (height: 100svh) {
    .sn-showcase-section__heading {
      font-size: clamp(1.75rem, calc(calc(100svh - min(50svh, 26.25rem) - 2.5rem - 6rem - 1.5rem) / 5.4165), 3rem);
    }
  }
  .sn-showcase-section__strip {
    position: static;
    display: block;
    height: auto;
    padding: 0 1.5rem;
  }
  .sn-showcase-section__strip::after {
    content: "";
    display: block;
    position: sticky;
    bottom: 0;
    height: 2.5rem;
    background: #fff9ed;
    z-index: 2;
  }
  .sn-showcase-section__item {
    position: sticky;
    top: calc(100vh - min(50svh, 26.25rem) - 2.5rem);
    height: min(50svh, 26.25rem);
  }
  @supports (top: 100svh) {
    .sn-showcase-section__item {
      top: calc(100svh - min(50svh, 26.25rem) - 2.5rem);
    }
  }
  .sn-showcase-section__item:last-child {
    position: relative;
    top: auto;
  }
}
.sn-talk-drawer {
  position: fixed;
  inset: 0;
  z-index: 1200;
  visibility: hidden;
  transition: visibility 0s linear 0.5s;
}
.sn-talk-drawer.is-open {
  visibility: visible;
  transition-delay: 0s;
}
.sn-talk-drawer__overlay {
  position: absolute;
  inset: 0;
  background: rgba(47, 47, 57, 0.75);
  opacity: 0;
  transition: opacity 0.5s cubic-bezier(0.16, 1, 0.3, 1);
  cursor: pointer;
}
.sn-talk-drawer.is-open .sn-talk-drawer__overlay {
  opacity: 1;
}
.sn-talk-drawer__panel {
  clip-path: polygon(24px 0, 100% 0, 100% calc(100% - 24px), calc(100% - 24px) 100%, 0 100%, 0 24px);
  position: absolute;
  top: 1.875rem;
  right: 1.875rem;
  bottom: 1.875rem;
  width: 100%;
  max-width: 56.25rem;
  display: flex;
  flex-direction: column;
  gap: 2rem;
  padding: 4rem 4rem 3rem;
  background: #fff9ed;
  overflow-y: auto;
  transform: translate3d(100%, 0, 0);
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: transform;
}
.sn-talk-drawer.is-open .sn-talk-drawer__panel {
  transform: translate3d(0, 0, 0);
}
.sn-talk-drawer__close.ib-btn {
  position: absolute;
  top: 1.5rem;
  right: 1.5rem;
  --_bg: transparent;
  --_bg-press: transparent;
  --_color: #373742;
  --_border: transparent;
  --_shadow: transparent;
  width: 48px;
  height: 48px;
}
.sn-talk-drawer__close.ib-btn::after {
  display: none;
}
.sn-talk-drawer__close.ib-btn .ib-btn__inner {
  padding: 0;
  background: transparent;
  clip-path: none;
}
.sn-talk-drawer__close.ib-btn .ib-btn__inner::before {
  display: none;
}
.sn-talk-drawer__close.ib-btn:focus-visible .ib-btn__inner, .sn-talk-drawer__close.ib-btn:active:not(:disabled) .ib-btn__inner {
  background: transparent;
}
.sn-talk-drawer__close.ib-btn .ib-icon {
  filter: brightness(0.24);
  opacity: 0.6;
  transition: opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}
.sn-talk-drawer__close.ib-btn:hover .ib-icon, .sn-talk-drawer__close.ib-btn:focus-visible .ib-icon {
  opacity: 1;
}
.sn-talk-drawer__title {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 500;
  font-size: max(1.5rem, 12px);
  line-height: 1.4166666667;
  letter-spacing: -0.04em;
  color: #373742;
  padding-right: 6rem;
}
.sn-talk-drawer__form {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.sn-talk-drawer__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem 2.75rem;
}
.sn-talk-drawer__field {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.sn-talk-drawer__field--full {
  grid-column: 1/-1;
}
.sn-talk-drawer__label {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1rem, 12px);
  line-height: 1.625;
  letter-spacing: 0;
  color: #373742;
}
.sn-talk-drawer__required {
  color: #373742;
}
.sn-talk-drawer__input {
  width: 100%;
  height: 3.5rem;
  padding: 1rem;
  background: #fff;
  border: 0.63px solid #e6e6ed;
  border-radius: 0;
  outline: none;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1rem, 12px);
  line-height: 1.625;
  letter-spacing: 0;
  color: #373742;
  transition: border-color 0.25s ease;
}
.sn-talk-drawer__input::-moz-placeholder {
  color: #676775;
}
.sn-talk-drawer__input::placeholder {
  color: #676775;
}
.sn-talk-drawer__input:focus {
  border-color: #373742;
}
.sn-talk-drawer__textarea {
  height: auto;
  min-height: 7.5rem;
  resize: vertical;
}
.sn-talk-drawer__hint {
  margin: 0;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(0.875rem, 12px);
  line-height: 1.5714285714;
  letter-spacing: 0;
  color: #676775;
}
.sn-talk-drawer__hint i {
  margin-right: 4px;
}
.sn-talk-drawer__consent {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  cursor: pointer;
}
.sn-talk-drawer__checkbox {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  position: relative;
  flex-shrink: 0;
  width: 1.125rem;
  height: 1.125rem;
  margin-top: 2px;
  border: 1px solid #e6e6ed;
  border-radius: 0;
  background: #fff;
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.sn-talk-drawer__checkbox:checked {
  background: #ea1b3d;
  border-color: #ea1b3d;
}
.sn-talk-drawer__checkbox:checked::after {
  content: "";
  position: absolute;
  top: 45%;
  left: 50%;
  width: 0.25rem;
  height: 0.5rem;
  border: solid #fff;
  border-width: 0 1.5px 1.5px 0;
  transform: translate(-50%, -50%) rotate(45deg);
}
.sn-talk-drawer__consent-text {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1rem, 12px);
  line-height: 1.625;
  letter-spacing: 0;
  color: #373742;
}
.sn-talk-drawer__submit {
  align-self: flex-start;
  min-width: 14.875rem;
}
@media (max-width: 1024px) {
  .sn-talk-drawer__panel {
    clip-path: polygon(20px 0, 100% 0, 100% calc(100% - 20px), calc(100% - 20px) 100%, 0 100%, 0 20px);
    inset: 0;
    gap: 1.5rem;
    padding: 5rem 1.5rem 2.5rem;
    max-width: 100%;
  }
  .sn-talk-drawer__close.ib-btn {
    width: 44px;
    height: 44px;
  }
  .sn-talk-drawer__title {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 400;
    font-size: max(1.25rem, 12px);
    line-height: 1.4;
    letter-spacing: 0;
    padding-right: 0;
  }
  .sn-talk-drawer__grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .sn-talk-drawer__submit {
    align-self: stretch;
  }
  .sn-talk-drawer__submit .ib-btn__inner {
    width: 100%;
  }
}

html.sn-talk-drawer-lock {
  overflow: hidden;
}

:root {
  --bg-primary: #fff9ed;
  --text-primary: #373742;
  --text-secondary: #676775;
  --text-disabled: #a7a7b0;
  --text-gray: #676775;
  --accent-red: #ea1b3d;
  --accent-peach: #ffd0d8;
  --border-color: rgba(103, 103, 117, 0.15);
  --font-primary: Lexend, -apple-system, blinkmacsystemfont, Segoe UI, roboto, sans-serif;
  --transition-smooth: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  --transition-slow: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  --container-width: 93.5rem;
  --container-width-padd: 101rem;
  --gutter: 60px;
}

*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

html {
  font-size: clamp(14px, 0.9259259259vw, 16px);
}

@media (max-width: 1024px) {
  html {
    font-size: 100%;
  }
}
html.scroll-locked,
html.scroll-locked .main-header {
  padding-right: var(--scrollbar-comp, 0);
}

html.scroll-locked .header-container .mega-menu {
  scrollbar-gutter: stable;
}

html,
body {
  width: 100%;
  height: 100%;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  background-color: #fff9ed;
  color: #373742;
  line-height: 1.6;
}

::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: #fff9ed;
}

::-webkit-scrollbar-thumb {
  background: #a7a7b0;
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: #676775;
}

a {
  color: inherit;
  text-decoration: none;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

button,
input,
textarea,
select {
  font-family: inherit;
}

@media (min-width: 769px) {
  .ib-mobile-only {
    display: none !important;
  }
}
@media (max-width: 768px), (min-width: 1025px) {
  .ib-tablet-only {
    display: none !important;
  }
}
@media (min-width: 1025px) {
  .ib-mobile-tablet-only {
    display: none !important;
  }
}
@media (max-width: 1024px) {
  .ib-desktop-only {
    display: none !important;
  }
}
@media (max-width: 1024px) and (prefers-reduced-motion: no-preference) {
  .ib-m-reveal {
    opacity: 0;
    transform: translate3d(0, 24px, 0);
    transition: opacity 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition-delay: var(--ib-m-reveal-delay, 0s);
    will-change: transform, opacity;
  }

  .ib-m-reveal.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
@keyframes ib-arrow-slide {
  0% {
    transform: translateX(0);
    opacity: 1;
  }
  45% {
    transform: translateX(7px);
    opacity: 0;
  }
  46% {
    transform: translateX(-5px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
.ib-btn {
  --_bg: #ea1b3d;
  --_bg-press: #aa142d;
  --_color: #fff;
  --_border: transparent;
  --_shadow: #ffd0d8;
  position: relative;
  isolation: isolate;
  display: inline-flex;
  align-items: stretch;
  height: 48px;
  padding: 0;
  font-family: var(--font-heading);
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  background: transparent;
  border: none;
  outline: none;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.ib-btn[hidden] {
  display: none;
}

.ib-btn::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--_shadow);
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
  opacity: 0;
  transform: translate(0, 0);
  transition: opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1), transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
}

.ib-btn__inner {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  padding: 0 22px;
  color: var(--_color);
  background: var(--_bg);
  line-height: 26px;
  letter-spacing: 0;
  text-align: center;
  text-transform: uppercase;
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
  transition: background 0.25s cubic-bezier(0.16, 1, 0.3, 1), color 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ib-btn__inner::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--_border);
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px, 10px 0, 10px 1.5px, 1.5px 10px, 1.5px calc(100% - 1.5px), calc(100% - 10px) calc(100% - 1.5px), calc(100% - 1.5px) calc(100% - 10px), calc(100% - 1.5px) 1.5px, 10px 1.5px);
  pointer-events: none;
  transition: background 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ib-btn__arrow {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ib-btn__arrow svg, .ib-btn__arrow.ib-icon {
  width: 14px;
  height: 14px;
}

.ib-btn:hover:not(:disabled, [aria-disabled=true])::after {
  opacity: 1;
  transform: translate(4px, 4px);
}

.ib-btn:focus-visible .ib-btn__inner {
  background: var(--_bg-press);
}

.ib-btn:active:not(:disabled) .ib-btn__inner {
  background: var(--_bg-press);
}

.ib-btn:disabled, .ib-btn[aria-disabled=true] {
  --_bg: #a7a7b0;
  --_border: #a7a7b0;
  --_color: #fff;
  cursor: not-allowed;
  pointer-events: none;
}

.ib-btn--primary {
  --_bg: #ea1b3d;
  --_bg-press: #aa142d;
  --_color: #fff;
  --_border: transparent;
  --_shadow: #ffd0d8;
}

.ib-btn--primary-light {
  --_bg: #fff9ed;
  --_bg-press: #ffefd1;
  --_color: #676775;
  --_border: transparent;
  --_shadow: #ffd0d8;
}

.ib-btn--primary-light:disabled, .ib-btn--primary-light[aria-disabled=true] {
  --_bg: #a7a7b0;
  --_color: #fff;
}

.ib-btn--secondary {
  --_bg: transparent;
  --_bg-press: transparent;
  --_color: #ea1b3d;
  --_border: #ea1b3d;
  --_shadow: #ffd0d8;
}

.ib-btn--secondary:focus-visible {
  --_border: #aa142d;
  --_color: #aa142d;
}

.ib-btn--secondary:active:not(:disabled) {
  --_border: #aa142d;
  --_color: #aa142d;
}

.ib-btn--secondary:disabled, .ib-btn--secondary[aria-disabled=true] {
  --_bg: transparent;
  --_color: #a7a7b0;
  --_border: #a7a7b0;
}

.ib-btn--secondary-light {
  --_bg: transparent;
  --_bg-press: transparent;
  --_color: #fff;
  --_border: #fff;
  --_shadow: #ffd0d8;
}

.ib-btn--secondary-light:hover:not(:disabled, [aria-disabled=true]) {
  --_bg: #ea1b3d;
  --_border: transparent;
}

.ib-btn--secondary-light:disabled, .ib-btn--secondary-light[aria-disabled=true] {
  --_bg: transparent;
  --_color: #a7a7b0;
  --_border: #a7a7b0;
}

.ib-btn--ghost {
  --_color: #ea1b3d;
  height: auto;
}

.ib-btn--ghost::after {
  display: none;
}

.ib-btn--ghost .ib-btn__inner {
  padding: 2px 0;
  height: auto;
  background: transparent;
  clip-path: none;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1.5px;
  -webkit-text-decoration-color: currentcolor;
          text-decoration-color: currentcolor;
  transition: color 0.25s cubic-bezier(0.16, 1, 0.3, 1), -webkit-text-decoration-color 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  transition: color 0.25s cubic-bezier(0.16, 1, 0.3, 1), text-decoration-color 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  transition: color 0.25s cubic-bezier(0.16, 1, 0.3, 1), text-decoration-color 0.25s cubic-bezier(0.16, 1, 0.3, 1), -webkit-text-decoration-color 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ib-btn--ghost .ib-btn__inner::before {
  display: none;
}

.ib-btn--ghost:focus-visible, .ib-btn--ghost:active:not(:disabled) {
  --_color: #aa142d;
}

.ib-btn--ghost:focus-visible .ib-btn__inner, .ib-btn--ghost:active:not(:disabled) .ib-btn__inner {
  background: transparent !important;
}

.ib-btn--ghost:disabled, .ib-btn--ghost[aria-disabled=true] {
  --_color: #a7a7b0;
  pointer-events: none;
}

.ib-btn--bare {
  --_bg: transparent;
  --_bg-press: transparent;
  --_color: #373742;
  --_border: transparent;
  --_shadow: transparent;
}

.ib-btn--bare::after {
  display: none;
}

.ib-btn--bare .ib-btn__inner {
  background: transparent;
  clip-path: none;
  transition: color 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ib-btn--bare .ib-btn__inner::before {
  display: none;
}

.ib-btn--bare .ib-icon,
.ib-btn--bare .ib-btn__arrow {
  color: var(--_color);
}

.ib-btn--bare:focus-visible .ib-btn__inner, .ib-btn--bare:active:not(:disabled) .ib-btn__inner {
  background: transparent;
}

.ib-btn--bare:disabled, .ib-btn--bare[aria-disabled=true] {
  --_bg: transparent;
  --_border: transparent;
  --_color: #a7a7b0;
}

.ib-btn--with-icon:hover:not(:disabled, [aria-disabled=true]) .ib-btn__arrow {
  animation: ib-arrow-slide 0.7s cubic-bezier(0.16, 1, 0.3, 1) infinite;
}

.ib-btn--icon-only {
  width: 48px;
}

.ib-btn--icon-only .ib-btn__inner {
  padding: 0;
}

.ib-btn--icon-only:hover:not(:disabled, [aria-disabled=true]) .ib-btn__arrow {
  animation: ib-arrow-slide 0.7s cubic-bezier(0.16, 1, 0.3, 1) infinite;
}

@media (max-width: 1024px) {
  .ib-btn {
    height: 44px;
    font-size: 15px;
  }

  .ib-btn__inner {
    padding: 0 18px;
  }

  .ib-btn__arrow svg, .ib-btn__arrow.ib-icon {
    width: 13px;
    height: 13px;
  }

  .ib-btn--icon-only {
    width: 44px;
  }

  .ib-btn--icon-only .ib-btn__inner {
    padding: 0;
  }
}
.sn-lets-talk-section {
  background: #fff9ed;
  position: relative;
  padding: 80px 0;
}

.sn-lets-talk-section .talk-container {
  max-width: 1250px;
  margin: 0 auto;
  padding: 0 24px;
}

.sn-lets-talk-section .talk-inner {
  position: relative;
  overflow: hidden;
}

.sn-lets-talk-section .talk-content {
  width: 840px;
  background: #ffefd1;
  padding: 72px 32px 48px 48px;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  z-index: 1;
  min-height: 680px;
  clip-path: polygon(24px 0, 100% 0, 100% calc(100% - 24px), calc(100% - 24px) 100%, 0 100%, 0 24px);
}

.sn-lets-talk-section .talk-content .talk-content-top {
  max-width: 580px;
}

.sn-lets-talk-section .talk-content .title {
  font-size: 3rem;
  font-weight: 300;
  color: #373742;
  margin-bottom: 32px;
}

.sn-lets-talk-section .talk-content .title-accent,
.sn-lets-talk-section .talk-content .red-font-color-text {
  color: #ea1b3d;
}

.sn-lets-talk-section .talk-content .text {
  font-weight: 300;
  font-size: 1.125rem;
  line-height: 2rem;
  color: #373742;
  max-width: 520px;
  margin-bottom: 40px;
}

.sn-lets-talk-section .talk-content .talk-meta {
  text-align: right;
  max-width: 520px;
}

.sn-lets-talk-section .talk-content .talk-meta .talk-name {
  font-weight: 400;
  font-size: 1.5rem;
  line-height: 2rem;
  text-align: right;
}

.sn-lets-talk-section .talk-content .talk-meta .talk-role {
  font-weight: 300;
  font-size: 1.125rem;
  line-height: 1.75rem;
  letter-spacing: 0;
  text-align: right;
}

.sn-lets-talk-section .talk-content .talk-meta .talk-social {
  display: inline-block;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 500;
  font-size: max(1rem, 12px);
  line-height: 1.625;
  letter-spacing: 0;
  text-transform: uppercase;
  font-size: 1rem;
  text-decoration: underline;
  color: #ea1b3d;
}

.sn-lets-talk-section .talk-img-wrapper {
  position: absolute;
  left: 580px;
  bottom: 0;
  height: 100%;
  display: flex;
  align-items: flex-end;
  max-height: 655px;
}

.sn-lets-talk-section .talk-img-wrapper .talk-shape {
  width: 350px;
  height: 483px;
  background: linear-gradient(104.81deg, #284cba 23.69%, #ea1b3d 87.86%);
  transform: skewX(-18deg);
  position: absolute;
  left: 175px;
}

.sn-lets-talk-section .talk-img-wrapper .talk-shape-1 {
  width: 350px;
  height: 483px;
  background: #fff9ed;
  transform: skewX(-18deg);
  position: absolute;
  left: 520px;
  z-index: 2;
}

.sn-lets-talk-section .talk-img-wrapper .talk-shape-1::after {
  position: absolute;
  content: "";
  bottom: -5px;
  left: -35px;
  width: 0;
  height: 0;
  border-left: 40px solid transparent;
  border-right: 30px solid transparent;
  border-top: 20px solid #fff9ed;
  transform: rotate(-52deg);
}

.sn-lets-talk-section .talk-img-wrapper .talk-image {
  position: absolute;
  z-index: 1;
  left: 0;
  bottom: -75px;
  width: auto;
  max-height: 100%;
  transform: scale(1);
}

@media (max-width: 1440px) {
  .sn-lets-talk-section {
    padding: 60px 0;
  }

  .sn-lets-talk-section .talk-container {
    max-width: 1110px;
  }

  .sn-lets-talk-section .talk-content {
    width: 750px;
    min-height: 540px;
    padding: 45px 32px 40px 48px;
  }

  .sn-lets-talk-section .talk-content .talk-title {
    font-size: 2.625rem;
    margin-bottom: 24px;
  }

  .sn-lets-talk-section .talk-content .text {
    margin-bottom: 28px;
  }

  .sn-lets-talk-section .talk-content .talk-meta {
    max-width: 480px;
  }

  .sn-lets-talk-section .talk-img-wrapper {
    left: 530px;
    max-height: 555px;
  }

  .sn-lets-talk-section .talk-img-wrapper .talk-shape,
.sn-lets-talk-section .talk-img-wrapper .talk-shape-1 {
    width: 330px;
    height: 383px;
  }

  .sn-lets-talk-section .talk-img-wrapper .talk-shape {
    left: 84px;
  }

  .sn-lets-talk-section .talk-img-wrapper .talk-shape-1 {
    left: 414px;
  }
}
@media (max-width: 1200px) {
  .sn-lets-talk-section {
    padding: 60px 0;
  }

  .sn-lets-talk-section .talk-container {
    max-width: 1024px;
  }

  .sn-lets-talk-section .talk-content {
    width: 735px;
    min-height: 480px;
    padding: 50px 40px 35px;
  }

  .sn-lets-talk-section .talk-content .title {
    font-size: 2.375rem;
  }

  .sn-lets-talk-section .talk-content .text {
    font-size: 1rem;
    line-height: 1.75rem;
    max-width: 100%;
  }

  .sn-lets-talk-section .talk-img-wrapper {
    width: 340px;
    left: 555px;
    max-height: 512px;
  }

  .sn-lets-talk-section .talk-img-wrapper .talk-shape,
.sn-lets-talk-section .talk-img-wrapper .talk-shape-1 {
    width: 258px;
    height: 340px;
  }

  .sn-lets-talk-section .talk-img-wrapper .talk-shape {
    left: 105px;
  }

  .sn-lets-talk-section .talk-img-wrapper .talk-shape-1 {
    left: 360px;
  }
}
@media (max-width: 1024px) {
  .sn-lets-talk-section {
    position: static;
    padding: 0;
    background: #ffefd1;
  }

  .sn-lets-talk-section .talk-container {
    padding: 48px 20px;
    max-width: 768px;
  }

  .sn-lets-talk-section .talk-inner {
    overflow: visible;
  }

  .sn-lets-talk-section .talk-content {
    width: 100%;
    min-height: auto;
    padding: 0;
    clip-path: none;
    background: none;
  }

  .sn-lets-talk-section .talk-content .talk-content-top {
    width: 100%;
    max-width: 100%;
  }

  .sn-lets-talk-section .talk-content .title {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 400;
    font-size: max(2rem, 12px);
    line-height: 1.5;
    letter-spacing: 0;
    margin-bottom: 32px;
  }

  .sn-lets-talk-section .talk-content .text {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(1.125rem, 12px);
    line-height: 1.6666666667;
    letter-spacing: 0;
    max-width: 100%;
    margin-bottom: 32px;
  }

  .sn-lets-talk-section .talk-img-wrapper {
    position: relative;
    height: 320px;
    width: 285px;
    left: 0;
    margin: 80px auto 10px;
  }

  .sn-lets-talk-section .talk-img-wrapper .talk-shape {
    width: 243px;
    height: 232px;
    /* right: -10px; */
    top: 75px;
    left: 38px;
  }

  .sn-lets-talk-section .talk-img-wrapper .talk-shape-1 {
    width: 243px;
    height: 234px;
    top: 75px;
    left: 226px;
    z-index: 1;
    background: #ffefd1;
  }

  .sn-lets-talk-section .talk-img-wrapper .talk-shape-1::after {
    display: none;
  }

  .sn-lets-talk-section .talk-img-wrapper .talk-shape-2 {
    width: 100px;
    height: 234px;
    top: 75px;
    left: 0;
    z-index: 1;
    background: #ffefd1;
    transform: skewX(-18deg);
    position: absolute;
  }

  .sn-lets-talk-section .talk-img-wrapper .talk-image {
    position: static;
    bottom: auto;
    right: auto;
    max-height: 320px;
    transform: scale(1);
    -o-object-fit: contain;
       object-fit: contain;
    align-self: flex-end;
  }

  .sn-lets-talk-section .talk-meta {
    text-align: center;
    max-width: 350px;
    margin: 0 auto;
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    margin-bottom: 32px;
  }

  .sn-lets-talk-section .talk-meta .talk-name {
    font-size: 1.25rem;
    line-height: 1.5rem;
    font-weight: 600;
    letter-spacing: 0;
    color: #373742;
    margin-bottom: 4px;
  }

  .sn-lets-talk-section .talk-meta .talk-role {
    font-weight: 300;
    font-size: 0.875rem;
    line-height: 1.375rem;
    letter-spacing: 0;
    color: #676775;
    margin-bottom: 4px;
  }

  .sn-lets-talk-section .talk-meta .talk-social {
    font-weight: 600;
    font-size: 0.875rem;
    line-height: 1.375rem;
    letter-spacing: 0;
    color: #ea1b3d;
    text-decoration: none;
  }

  .sn-lets-talk-section .talk-cta {
    display: block;
    width: 276px;
    margin: auto;
  }
}
.er-hero-section {
  background: #fff9ed;
}

.er-hero-section__pin {
  padding: 13.75rem 1.5rem 0;
  margin-bottom: 4rem;
}

@media (min-width: 1025px) {
  .er-hero-section__pin {
    position: sticky;
    top: 0;
    height: 100vh;
    overflow: clip;
  }
}
.er-hero-section__container {
  max-width: 80.4375rem;
  margin: 0 auto;
  text-align: center;
}

.er-hero-section__brand-row:has(.er-hero-section__brand) {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.75rem;
}

.er-hero-section__brand {
  display: block;
  width: 8.75rem;
  height: 8.75rem;
  -o-object-fit: contain;
     object-fit: contain;
  flex-shrink: 0;
}

.er-hero-section__brand-row:has(.er-hero-section__brand) .er-hero-section__heading {
  max-width: none;
  margin: 0;
  text-align: left;
}

.er-hero-section__heading-accent {
  color: #ea1b3d;
}

.er-hero-section__heading {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 250;
  font-size: max(4.5rem, 12px);
  line-height: 1.2222222222;
  letter-spacing: -0.04em;
  color: #373742;
  max-width: 66.4375rem;
  margin: 0 auto;
}

@media (min-width: 1025px) {
  .er-hero-section__heading {
    opacity: 0;
    transform: translateY(2.5rem);
    will-change: transform, opacity;
  }

  .er-hero-section__heading.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}
.er-hero-section__highlight {
  background: linear-gradient(90deg, #284cba 0%, #ea1b3d 72.87%);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
}

.er-hero-section__subtext {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 250;
  font-size: max(1.5rem, 12px);
  line-height: 1.6666666667;
  letter-spacing: 0;
  color: #676775;
  max-width: 64.875rem;
  margin: 3rem auto 0;
}

@media (min-width: 1025px) {
  .er-hero-section__subtext {
    opacity: 0;
    transform: translateY(2rem);
    will-change: transform, opacity;
  }

  .er-hero-section__subtext.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}
.er-hero-section__subtext.is-visible {
  transition-delay: 0.15s;
}

.er-hero-section__media {
  position: relative;
  z-index: 2;
  width: 100%;
  aspect-ratio: 1287/779;
  background: #aa142d;
  margin-top: 7.5rem;
  overflow: hidden;
  will-change: transform;
}

.er-hero-section__media-img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

@media (max-width: 1200px) {
  .er-hero-section__pin {
    padding-top: 11.25rem;
    margin-bottom: 3rem;
  }

  .er-hero-section__heading {
    font-size: 3.5rem;
    line-height: 4.25rem;
  }

  .er-hero-section__subtext {
    font-size: 1.25rem;
    line-height: 2.125rem;
    max-width: 53.75rem;
  }

  .er-hero-section__media {
    margin-top: 6rem;
  }
}
@media (max-width: 1024px) {
  .er-hero-section {
    min-height: auto !important;
  }

  .er-hero-section__pin {
    position: static;
    height: auto;
    overflow: visible;
    padding: 9.75rem 1.25rem 0;
  }

  .er-hero-section__brand-row:has(.er-hero-section__brand) {
    justify-content: flex-start;
    gap: 1rem;
  }

  .er-hero-section__brand {
    width: 5.5rem;
    height: 5.5rem;
  }

  .er-hero-section__heading {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 400;
    font-size: max(3rem, 12px);
    line-height: 1.0833333333;
    letter-spacing: -0.04em;
    font-weight: 300;
    text-align: left;
  }

  .er-hero-section__subtext {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(1rem, 12px);
    line-height: 1.625;
    letter-spacing: 0;
    margin-top: 2rem;
    text-align: left;
  }

  .er-hero-section__media {
    aspect-ratio: 354/219;
    margin-top: 4.5rem;
    margin-left: 0;
    width: 100%;
    transform: none !important;
  }
}
.er-metrics-section {
  background: #fff9ed;
  padding: 9.375rem 1.5rem;
}

.er-metrics-section__container {
  max-width: 81.3125rem;
  margin: 0 auto;
}

.er-metrics-section__heading {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(3rem, 12px);
  line-height: 1.0833333333;
  letter-spacing: -0.04em;
  color: #373742;
  margin: 0 0 2.5rem;
}

.er-metrics-section__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.er-metrics-section__row {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 43.75rem);
  align-items: start;
  padding: 1.75rem 1.25rem;
  min-height: 7.9375rem;
}

.er-metrics-section__row::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 33.0625rem;
  max-width: 42%;
  height: 0.125rem;
  background: #e6e6ed;
}

@media (min-width: 1025px) {
  .er-metrics-section__row::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 0.125rem;
    background: linear-gradient(90deg, rgba(234, 27, 61, 0.05) 0%, rgba(234, 27, 61, 0.55) 22%, #e6e6ed 30%, #e6e6ed 100%);
    transform: scaleX(0);
    transform-origin: left center;
  }
}
.er-metrics-section__title {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(2.5rem, 12px);
  line-height: 1.1;
  letter-spacing: -0.04em;
  color: #373742;
  margin: 0;
}

.er-metrics-section__desc {
  overflow: hidden;
  display: block;
  margin: 0.25rem 0 0;
}

.er-metrics-section__desc-inner {
  display: inline-block;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.25rem, 12px);
  line-height: 1.7;
  letter-spacing: 0;
  color: #373742;
}

@media (min-width: 1025px) {
  .er-metrics-section__desc-inner {
    transform: translateY(110%);
    opacity: 0;
    will-change: transform, opacity;
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }

  .er-metrics-section__row::after {
    transition: transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }

  .er-metrics-section__row.is-active::after {
    transform: scaleX(1);
  }

  .er-metrics-section__row.is-active .er-metrics-section__desc-inner {
    transform: translateY(0);
    opacity: 1;
  }
}
@media (min-width: 1025px) and (hover: hover) {
  .er-metrics-section__list:hover .er-metrics-section__row.is-active:not(:hover)::after {
    transform: scaleX(0);
  }

  .er-metrics-section__list:hover .er-metrics-section__row.is-active:not(:hover) .er-metrics-section__desc-inner {
    transform: translateY(110%);
    opacity: 0;
  }

  .er-metrics-section__row:hover::after {
    transform: scaleX(1);
  }

  .er-metrics-section__row:hover .er-metrics-section__desc-inner {
    transform: translateY(0);
    opacity: 1;
  }
}
@media (max-width: 1200px) {
  .er-metrics-section__row {
    grid-template-columns: minmax(0, 1fr) minmax(0, 31.25rem);
  }
}
@media (max-width: 1024px) {
  .er-metrics-section {
    padding: 3rem 1.25rem;
  }

  .er-metrics-section__row {
    grid-template-columns: 1fr;
    padding: 1.875rem 0;
  }

  .er-metrics-section__row::before {
    display: none;
  }

  .er-metrics-section__row::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0.125rem;
    background: linear-gradient(90deg, rgba(234, 27, 61, 0.05) 0%, rgba(234, 27, 61, 0.55) 22%, #e6e6ed 30%, #e6e6ed 100%);
  }

  .er-metrics-section__title {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 400;
    font-size: max(1.25rem, 12px);
    line-height: 1.4;
    letter-spacing: 0;
    align-self: center;
  }

  .er-metrics-section__heading {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 500;
    font-size: max(1.5rem, 12px);
    line-height: 1.4166666667;
    letter-spacing: -0.04em;
    margin-bottom: 1.5rem;
  }

  .er-metrics-section__desc {
    margin-top: 1rem;
  }

  .er-metrics-section__desc-inner {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(1rem, 12px);
    line-height: 1.625;
    letter-spacing: 0;
  }
}
.er-confidence-section {
  background: #fff9ed;
  padding: 6rem 0 8.75rem;
}

.er-confidence-section__head {
  max-width: 101rem;
  margin: 0 auto 6.875rem;
  padding: 0 2.5rem;
}

.er-confidence-section__heading {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(3rem, 12px);
  line-height: 1.0833333333;
  letter-spacing: -0.04em;
  font-weight: 300;
  color: #373742;
  max-width: 55.1875rem;
  margin: 0;
}

@media (min-width: 1025px) {
  .er-confidence-section__heading {
    opacity: 0;
    transform: translateY(2rem);
    will-change: transform, opacity;
  }

  .er-confidence-section__heading.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}
.er-confidence-section__accent {
  color: #ea1b3d;
}

.er-confidence-section__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.er-confidence-section__item {
  border-bottom: 0.0625rem solid #e6e6ed;
  overflow: hidden;
}

.er-confidence-section__trigger {
  display: grid;
  grid-template-columns: 11.25rem minmax(0, 43.6875rem);
  align-items: center;
  justify-content: center;
  -moz-column-gap: 4rem;
       column-gap: 4rem;
  width: 100%;
  padding: 0.875rem 2.5rem;
  background: none;
  border: 0;
  cursor: default;
  text-align: left;
  font: inherit;
}

.er-confidence-section__badge {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 6.25rem;
  transition: height 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.er-confidence-section__badge img {
  width: 100%;
  max-width: 11.25rem;
  height: auto;
  transform: translateY(52%) rotate(-14deg) scale(0.85);
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.er-confidence-section__content {
  display: block;
}

.er-confidence-section__title {
  display: block;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(1.25rem, 12px);
  line-height: 1.4;
  letter-spacing: 0;
  color: #676775;
  transition: color 0.3s ease;
}

.er-confidence-section__desc {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.er-confidence-section__desc-inner {
  display: block;
  overflow: hidden;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.125rem, 12px);
  line-height: 1.6666666667;
  letter-spacing: 0;
  color: #373742;
  opacity: 0;
  margin-top: 0;
  transition: opacity 0.4s ease, margin-top 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

@media (min-width: 1025px) {
  .er-confidence-section__content {
    align-self: start;
    padding-top: 2.25rem;
  }

  .er-confidence-section__item--active .er-confidence-section__badge {
    height: 11rem;
  }

  .er-confidence-section__item--active .er-confidence-section__badge img {
    transform: translateY(0) rotate(0) scale(1);
  }

  .er-confidence-section__item--active .er-confidence-section__title {
    color: #373742;
  }

  .er-confidence-section__item--active .er-confidence-section__desc {
    grid-template-rows: 1fr;
  }

  .er-confidence-section__item--active .er-confidence-section__desc-inner {
    opacity: 0.5;
    margin-top: 1rem;
    transition-delay: 0.15s;
  }
}
@media (min-width: 1025px) and (hover: hover) {
  .er-confidence-section__item:hover .er-confidence-section__badge {
    height: 11rem;
  }

  .er-confidence-section__item:hover .er-confidence-section__badge img {
    transform: translateY(0) rotate(0) scale(1);
  }

  .er-confidence-section__item:hover .er-confidence-section__title {
    color: #373742;
  }

  .er-confidence-section__item:hover .er-confidence-section__desc {
    grid-template-rows: 1fr;
  }

  .er-confidence-section__item:hover .er-confidence-section__desc-inner {
    opacity: 0.5;
    margin-top: 1rem;
    transition-delay: 0.15s;
  }

  .er-confidence-section__list:hover .er-confidence-section__item--active:not(:hover) .er-confidence-section__badge {
    height: 6.25rem;
  }

  .er-confidence-section__list:hover .er-confidence-section__item--active:not(:hover) .er-confidence-section__badge img {
    transform: translateY(52%) rotate(-14deg) scale(0.85);
  }

  .er-confidence-section__list:hover .er-confidence-section__item--active:not(:hover) .er-confidence-section__title {
    color: #676775;
  }

  .er-confidence-section__list:hover .er-confidence-section__item--active:not(:hover) .er-confidence-section__desc {
    grid-template-rows: 0fr;
  }

  .er-confidence-section__list:hover .er-confidence-section__item--active:not(:hover) .er-confidence-section__desc-inner {
    opacity: 0;
    margin-top: 0;
  }
}
@media (max-width: 1024px) {
  .er-confidence-section {
    padding: 3rem 1.25rem;
  }

  .er-confidence-section__head {
    margin-bottom: 0.625rem;
    padding: 0;
  }

  .er-confidence-section__heading {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(1.75rem, 12px);
    line-height: 1.3571428571;
    letter-spacing: 0;
  }

  .er-confidence-section__item {
    overflow: visible;
  }

  .er-confidence-section__trigger {
    display: block;
    padding: 1.25rem 0 2.5rem;
    cursor: default;
  }

  .er-confidence-section__badge {
    height: auto;
    justify-content: flex-start;
    margin-bottom: 1.5rem;
    padding: 0 0.625rem;
  }

  .er-confidence-section__badge img {
    max-width: 7.5rem;
    transform: none;
  }

  .er-confidence-section__title {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 500;
    font-size: max(1rem, 12px);
    line-height: 1.625;
    letter-spacing: 0;
    text-transform: uppercase;
    text-transform: uppercase;
    color: #373742;
  }

  .er-confidence-section__desc {
    grid-template-rows: 1fr;
  }

  .er-confidence-section__desc-inner {
    opacity: 0.5;
    margin-top: 0.75rem;
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(0.875rem, 12px);
    line-height: 1.5714285714;
    letter-spacing: 0;
  }
}
@media (max-width: 576px) {
  .er-confidence-section__badge img {
    max-width: 5rem;
  }
}
.er-disciplines-section {
  position: relative;
  background: #2f2f39;
  isolation: isolate;
}

.er-disciplines-section__pin {
  position: sticky;
  top: 0;
  height: calc(100vh + 5rem);
  display: flex;
  align-items: center;
  overflow: clip;
}

.er-disciplines-section__pin::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: url(../static/assets/images/latest/grain.png);
  background-repeat: repeat;
  background-size: cover;
  mix-blend-mode: normal;
  opacity: 1;
  pointer-events: none;
}

.er-disciplines-section__container {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 4rem;
  width: 100%;
  max-width: 101rem;
  margin: 0 auto;
  padding: 0 2.5rem;
}

.er-disciplines-section__title {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(3rem, 12px);
  line-height: 1.0833333333;
  letter-spacing: -0.04em;
  font-weight: 300;
  color: #fff;
  flex: 1;
  margin: 0;
}

@media (min-width: 1025px) {
  .er-disciplines-section__title {
    opacity: 0;
    transform: translateY(2rem);
    will-change: transform, opacity;
  }

  .er-disciplines-section__title.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}
.er-disciplines-section__title-accent {
  color: #ffd0d8;
}

.er-disciplines-section__intro {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
}

.er-disciplines-section__intro .er-disciplines-section__title {
  flex: none;
}

.er-disciplines-section__intro .er-disciplines-section__title:not(:last-child) {
  margin-bottom: 1.5rem;
}

.er-disciplines-section__intro-text {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1rem, 12px);
  line-height: 1.625;
  letter-spacing: 0;
  color: rgba(255, 255, 255, 0.8);
  max-width: 32.6875rem;
  margin: 0 0 2rem;
}

@media (min-width: 1025px) {
  .er-disciplines-section__intro-text {
    opacity: 0;
    transform: translateY(2rem);
    will-change: transform, opacity;
  }

  .er-disciplines-section__intro-text.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}
@media (min-width: 1025px) {
  .er-disciplines-section__intro-text.is-visible {
    transition-delay: 0.08s;
  }
}
@media (min-width: 1025px) {
  .er-disciplines-section__intro-cta {
    opacity: 0;
    transform: translateY(2rem);
    will-change: transform, opacity;
  }

  .er-disciplines-section__intro-cta.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}
@media (min-width: 1025px) {
  .er-disciplines-section__intro-cta.is-visible {
    transition-delay: 0.16s;
  }
}
.er-disciplines-section__deck {
  position: relative;
  width: min(50.8125rem, 52vw);
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.er-disciplines-section__card {
  width: 100%;
  min-height: 27.5rem;
  background: #feefd0;
  transition: background 0.4s ease;
  padding: clamp(1.5rem, 2.4vw, 1.75rem) clamp(2.5rem, 5vw, 4.375rem) clamp(2.25rem, 3.6vw, 3rem) clamp(2.25rem, 4vw, 3.375rem);
  clip-path: polygon(1.5rem 0, 100% 0, 100% calc(100% - 1.5rem), calc(100% - 1.5rem) 100%, 0 100%, 0 1.5rem);
}

.er-disciplines-section__card[data-cover-depth="1"] {
  background: #fff4e2;
}

.er-disciplines-section__card[data-cover-depth="2"] {
  background: #fff9ed;
}

.er-disciplines-section__card[data-cover-depth="3"] {
  background: #fffcf5;
}

@media (min-width: 1025px) {
  .er-disciplines-section__card {
    max-width: 40.6875rem;
  }

  .er-disciplines-section--stacked .er-disciplines-section__deck {
    display: block;
  }

  .er-disciplines-section--stacked .er-disciplines-section__card {
    position: absolute;
    top: 0;
    left: 0;
    width: calc(100% - var(--er-cascade-reserve, 0px));
    will-change: transform;
  }
}
.er-disciplines-section__card-title {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 250;
  font-size: max(1.5rem, 12px);
  line-height: 1.6666666667;
  letter-spacing: 0;
  color: #373742;
  margin: 0 0 clamp(2rem, 4vw, 3.125rem);
}

.er-disciplines-section__card-text {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1rem, 12px);
  line-height: 1.625;
  letter-spacing: 0;
  color: #373742;
  max-width: 32.6875rem;
  margin: 0;
}

.er-disciplines-section__card-text p + p {
  margin-top: 1.625rem;
}

@media (max-width: 1200px) {
  .er-disciplines-section__card {
    min-height: 25rem;
  }

  .er-disciplines-section__title {
    font-size: 2.5rem;
    line-height: 2.875rem;
  }
}
@media (max-width: 1024px) {
  .er-disciplines-section {
    min-height: auto !important;
    padding: 3rem 1.25rem;
  }

  .er-disciplines-section__pin {
    position: static;
    height: auto;
    overflow: visible;
  }

  .er-disciplines-section__container {
    flex-direction: column;
    align-items: stretch;
    gap: 1.5rem;
    padding: 0;
  }

  .er-disciplines-section__title {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(1.75rem, 12px);
    line-height: 1.3571428571;
    letter-spacing: 0;
  }

  .er-disciplines-section__intro .er-disciplines-section__title:not(:last-child) {
    margin-bottom: 1rem;
  }

  .er-disciplines-section__intro-text {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(0.875rem, 12px);
    line-height: 1.5714285714;
    letter-spacing: 0;
    max-width: 100%;
    margin-bottom: 1.5rem;
  }

  .er-disciplines-section__deck {
    position: static;
    width: 100%;
    height: auto !important;
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }

  .er-disciplines-section__card {
    position: static;
    width: 100%;
    min-height: 21.25rem;
    transform: none !important;
    z-index: auto !important;
    padding: 1.5rem;
  }

  .er-disciplines-section__card:nth-child(1) {
    background: #fffcf6;
  }

  .er-disciplines-section__card:nth-child(2) {
    background: #fff9ed;
  }

  .er-disciplines-section__card:nth-child(3) {
    background: #fff4e1;
  }

  .er-disciplines-section__card:nth-child(n+4) {
    background: #ffefd1;
  }

  .er-disciplines-section__card-title {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 500;
    font-size: max(1rem, 12px);
    line-height: 1.625;
    letter-spacing: 0;
    text-transform: uppercase;
    margin-bottom: 1.5rem;
  }

  .er-disciplines-section__card-text {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(0.875rem, 12px);
    line-height: 1.5714285714;
    letter-spacing: 0;
    max-width: 100%;
  }

  .er-disciplines-section__card-text p {
    margin: 0;
    display: inline;
  }
}
@media (min-width: 1025px) {
  .er-disciplines-section--media .er-disciplines-section__intro-text {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 250;
    font-size: max(1.5rem, 12px);
    line-height: 1.6666666667;
    letter-spacing: 0;
  }
}
.er-disciplines-section--media .er-disciplines-section__card {
  background: none;
  padding: 0;
  min-height: 0;
  overflow: hidden;
}

.er-disciplines-section--media .er-disciplines-section__card[data-cover-depth] {
  background: none;
}

.er-disciplines-section--media .er-disciplines-section__card-img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 651/531;
  -o-object-fit: cover;
     object-fit: cover;
}

@media (max-width: 1024px) {
  .er-disciplines-section--media .er-disciplines-section__card {
    min-height: 0;
    padding: 0;
  }

  .er-disciplines-section--media .er-disciplines-section__card:nth-child(n) {
    background: none;
  }
}
.er-delivery-section {
  background: #fff9ed;
  padding: 8rem 2.5rem;
}

.er-delivery-section__container {
  max-width: 101rem;
  margin: 0 auto;
}

.er-delivery-section__heading {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(3rem, 12px);
  line-height: 1.0833333333;
  letter-spacing: -0.04em;
  font-weight: 300;
  color: #373742;
  margin: 0 0 8.5rem;
}

@media (min-width: 1025px) {
  .er-delivery-section__heading {
    opacity: 0;
    transform: translateY(2rem);
    will-change: transform, opacity;
  }

  .er-delivery-section__heading.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}
.er-delivery-section__heading-accent {
  color: #ea1b3d;
}

.er-delivery-section__timeline {
  list-style: none;
  position: relative;
  max-width: 75rem;
  margin: 0 auto;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6rem;
}

@media (min-width: 1025px) {
  .er-delivery-section__timeline::before, .er-delivery-section__timeline::after {
    content: "";
    position: absolute;
    z-index: 0;
    left: 50%;
    top: 0;
    height: 100%;
    width: 0.125rem;
  }

  .er-delivery-section__timeline::before {
    background: #e6e6ed;
    transform: translateX(-50%);
  }

  .er-delivery-section__timeline::after {
    background: #ffd0d8;
    transform-origin: top center;
    transform: translateX(-50%) scaleY(var(--er-delivery-progress, 0));
    will-change: transform;
  }
}
.er-delivery-section__milestone {
  position: relative;
  z-index: 1;
  display: flex;
}

@media (min-width: 1025px) {
  .er-delivery-section__milestone {
    opacity: 0;
    transform: translateY(3rem);
    will-change: transform, opacity;
  }

  .er-delivery-section__milestone.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}
.er-delivery-section__milestone::before, .er-delivery-section__milestone::after {
  content: "";
  position: absolute;
  top: 0.5rem;
  left: 50%;
}

.er-delivery-section__milestone::before {
  width: 3rem;
  height: 3rem;
  transform: translateX(-50%);
  background: #fff9ed;
  border: 0.0625rem solid #e6e6ed;
}

.er-delivery-section__milestone::after {
  width: 0.5rem;
  height: 0.5rem;
  transform: translate(-50%, 1.25rem);
  background: #ea1b3d;
}

.er-delivery-section__content {
  width: 50%;
  padding-right: 4rem;
}

.er-delivery-section__milestone--right .er-delivery-section__content {
  margin-left: 50%;
  padding-right: 0;
  padding-left: 4rem;
}

.er-delivery-section__title {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.25rem, 12px);
  line-height: 1.7;
  letter-spacing: 0;
  color: #373742;
  margin: 0 0 1rem;
}

.er-delivery-section__text {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.125rem, 12px);
  line-height: 1.6666666667;
  letter-spacing: 0;
  color: #676775;
  max-width: 33.5rem;
  margin: 0 0 1rem;
}

.er-delivery-section__tags {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0;
  padding: 0.5rem 0 0;
}

.er-delivery-section__tag {
  display: inline-block;
  padding: 0.25rem 0.75rem;
  background: #ffefd1;
  border: 0.0625rem solid rgba(55, 55, 66, 0.18);
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 500;
  font-size: max(0.75rem, 12px);
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #676775;
  transition: transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}

@media (min-width: 1025px) {
  .er-delivery-section__tag:hover {
    transform: translateY(-0.1875rem);
  }
}
@media (max-width: 1024px) {
  .er-delivery-section {
    padding: 3rem 1.25rem;
  }

  .er-delivery-section__heading {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(1.75rem, 12px);
    line-height: 1.3571428571;
    letter-spacing: 0;
    margin-bottom: 2.375rem;
  }

  .er-delivery-section__timeline {
    gap: 5rem;
    padding-top: 4rem;
  }

  .er-delivery-section__milestone::before {
    display: none;
  }

  .er-delivery-section__milestone::after {
    top: 0.625rem;
    left: 0;
    transform: none;
  }

  .er-delivery-section__content, .er-delivery-section__milestone--right .er-delivery-section__content {
    width: 100%;
    margin-left: 0;
    padding: 0 0 0 1.125rem;
  }

  .er-delivery-section__title {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 500;
    font-size: max(1.125rem, 12px);
    line-height: 1.6666666667;
    letter-spacing: 0;
    text-transform: uppercase;
    margin: 0 0 0.75rem;
  }

  .er-delivery-section__text {
    padding-left: 0;
  }

  .er-delivery-section__tags {
    padding: 0;
  }
}
.er-team-section {
  background: #fff9ed;
  padding: 10rem 0 7.5rem;
  overflow: clip;
}

.er-team-section__container {
  max-width: 101rem;
  margin: 0 auto;
  padding: 0 2.5rem;
}

.er-team-section__heading {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(3rem, 12px);
  line-height: 1.0833333333;
  letter-spacing: -0.04em;
  font-weight: 300;
  color: #373742;
  margin: 0 0 6rem;
}

@media (min-width: 1025px) {
  .er-team-section__heading {
    opacity: 0;
    transform: translateY(2rem);
    will-change: transform, opacity;
  }

  .er-team-section__heading.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}
.er-team-section__accent {
  color: #ea1b3d;
}

.er-team-section__viewport {
  width: 100%;
}

.er-team-section__track {
  display: flex;
  gap: 2rem;
  transition: transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  will-change: transform;
}

.er-team-section__card {
  flex: 0 0 24.6875rem;
}

@media (min-width: 1025px) {
  .er-team-section__card {
    opacity: 0;
    transform: translateY(3rem);
    will-change: transform, opacity;
  }

  .er-team-section__card.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}
.er-team-section__card:nth-child(1).is-visible {
  transition-delay: 0s;
}

.er-team-section__card:nth-child(2).is-visible {
  transition-delay: 0.12s;
}

.er-team-section__card:nth-child(3).is-visible {
  transition-delay: 0.24s;
}

.er-team-section__card:nth-child(4).is-visible {
  transition-delay: 0.36s;
}

.er-team-section__card:nth-child(5).is-visible {
  transition-delay: 0.48s;
}

.er-team-section__card:nth-child(6).is-visible {
  transition-delay: 0.6s;
}

.er-team-section__photo {
  width: 100%;
  aspect-ratio: 393/491;
  background: #373742;
  clip-path: polygon(2.75rem 0, 100% 0, 100% calc(100% - 2.125rem), calc(100% - 2.75rem) 100%, 0 100%, 0 2.125rem);
  overflow: hidden;
}

.er-team-section__photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

@media (min-width: 1025px) {
  .er-team-section__card:hover .er-team-section__photo img {
    transform: scale(1.05);
  }
}
.er-team-section__name {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 500;
  font-size: max(1.5rem, 12px);
  line-height: 1.4166666667;
  letter-spacing: -0.04em;
  color: #373742;
  margin: 1.5rem 0 0.5rem;
}

.er-team-section__role {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 500;
  font-size: max(0.75rem, 12px);
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #676775;
  margin: 0;
}

.er-team-section__arrows {
  display: flex;
  justify-content: flex-end;
  gap: 0.375rem;
  margin-top: 3rem;
}

.er-team-section__btn {
  width: 3rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ffefd1;
  border: 0;
  cursor: pointer;
  color: #ea1b3d;
  clip-path: polygon(0.875rem 0, 100% 0, 100% calc(100% - 0.6875rem), calc(100% - 0.875rem) 100%, 0 100%, 0 0.6875rem);
  transition: opacity 0.3s ease, transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.er-team-section__btn:hover:not(:disabled) {
  transform: translateY(-0.1875rem);
}

.er-team-section__btn:disabled {
  color: #a7a7b0;
  cursor: default;
}

.er-team-section__btn svg {
  display: block;
}

@media (max-width: 1200px) {
  .er-team-section {
    padding: 7.5rem 0 6rem;
  }

  .er-team-section__card {
    flex-basis: 21.25rem;
  }
}
@media (max-width: 1024px) {
  .er-team-section {
    padding: 4rem 0;
    overflow: visible;
  }

  .er-team-section__container {
    padding: 0 1.25rem;
  }

  .er-team-section__heading {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(1.75rem, 12px);
    line-height: 1.3571428571;
    letter-spacing: 0;
    margin-bottom: 2.5rem;
  }

  .er-team-section__track {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem 2rem;
    transform: none !important;
  }

  .er-team-section__card {
    flex-basis: auto;
  }

  .er-team-section__card:nth-child(n+5) {
    display: none;
  }

  .er-team-section__photo {
    aspect-ratio: 164/161;
    clip-path: polygon(1.5625rem 0, 100% 0, 100% calc(100% - 1.1875rem), calc(100% - 1.5625rem) 100%, 0 100%, 0 1.1875rem);
  }

  .er-team-section__name {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 400;
    font-size: max(1.25rem, 12px);
    line-height: 1.4;
    letter-spacing: 0;
    margin-top: 1.5rem;
  }

  .er-team-section__role {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 500;
    font-size: max(0.75rem, 12px);
    line-height: 1.5;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-bottom: 2rem;
  }

  .er-team-section__arrows {
    display: none;
  }
}
body.page-enterprise-readiness {
  overflow-x: clip;
}

html:has(body.page-enterprise-readiness) {
  overflow-x: clip;
  scroll-snap-type: none;
}

.er-hero-section {
  background: #fff9ed;
}
.er-hero-section__pin {
  padding: 13.75rem 1.5rem 0;
  margin-bottom: 4rem;
}
@media (min-width: 1025px) {
  .er-hero-section__pin {
    position: sticky;
    top: 0;
    height: 100vh;
    overflow: clip;
  }
}
.er-hero-section__container {
  max-width: 80.4375rem;
  margin: 0 auto;
  text-align: center;
}
.er-hero-section__brand-row:has(.er-hero-section__brand) {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.75rem;
}
.er-hero-section__brand {
  display: block;
  width: 8.75rem;
  height: 8.75rem;
  -o-object-fit: contain;
     object-fit: contain;
  flex-shrink: 0;
}
.er-hero-section__brand-row:has(.er-hero-section__brand) .er-hero-section__heading {
  max-width: none;
  margin: 0;
  text-align: left;
}
.er-hero-section__heading-accent {
  color: #ea1b3d;
}
.er-hero-section__heading {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 250;
  font-size: max(4.5rem, 12px);
  line-height: 1.2222222222;
  letter-spacing: -0.04em;
  color: #373742;
  max-width: 66.4375rem;
  margin: 0 auto;
}
@media (min-width: 1025px) {
  .er-hero-section__heading {
    opacity: 0;
    transform: translateY(2.5rem);
    will-change: transform, opacity;
  }
  .er-hero-section__heading.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}
.er-hero-section__highlight {
  background: linear-gradient(90deg, #284cba 0%, #ea1b3d 72.87%);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
}
.er-hero-section__subtext {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 250;
  font-size: max(1.5rem, 12px);
  line-height: 1.6666666667;
  letter-spacing: 0;
  color: #676775;
  max-width: 64.875rem;
  margin: 3rem auto 0;
}
@media (min-width: 1025px) {
  .er-hero-section__subtext {
    opacity: 0;
    transform: translateY(2rem);
    will-change: transform, opacity;
  }
  .er-hero-section__subtext.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}
.er-hero-section__subtext.is-visible {
  transition-delay: 0.15s;
}
.er-hero-section__media {
  position: relative;
  z-index: 2;
  width: 100%;
  aspect-ratio: 1287/779;
  background: #aa142d;
  margin-top: 7.5rem;
  overflow: hidden;
  will-change: transform;
}
.er-hero-section__media-img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 1200px) {
  .er-hero-section__pin {
    padding-top: 11.25rem;
    margin-bottom: 3rem;
  }
  .er-hero-section__heading {
    font-size: 3.5rem;
    line-height: 4.25rem;
  }
  .er-hero-section__subtext {
    font-size: 1.25rem;
    line-height: 2.125rem;
    max-width: 53.75rem;
  }
  .er-hero-section__media {
    margin-top: 6rem;
  }
}
@media (max-width: 1024px) {
  .er-hero-section {
    min-height: auto !important;
  }
  .er-hero-section__pin {
    position: static;
    height: auto;
    overflow: visible;
    padding: 9.75rem 1.25rem 0;
  }
  .er-hero-section__brand-row:has(.er-hero-section__brand) {
    justify-content: flex-start;
    gap: 1rem;
  }
  .er-hero-section__brand {
    width: 5.5rem;
    height: 5.5rem;
  }
  .er-hero-section__heading {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 400;
    font-size: max(3rem, 12px);
    line-height: 1.0833333333;
    letter-spacing: -0.04em;
    font-weight: 300;
    text-align: left;
  }
  .er-hero-section__subtext {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(1rem, 12px);
    line-height: 1.625;
    letter-spacing: 0;
    margin-top: 2rem;
    text-align: left;
  }
  .er-hero-section__media {
    aspect-ratio: 354/219;
    margin-top: 4.5rem;
    margin-left: 0;
    width: 100%;
    transform: none !important;
  }
}

.er-confidence-section {
  background: #fff9ed;
  padding: 6rem 0 8.75rem;
}
.er-confidence-section__head {
  max-width: 101rem;
  margin: 0 auto 6.875rem;
  padding: 0 2.5rem;
}
.er-confidence-section__heading {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(3rem, 12px);
  line-height: 1.0833333333;
  letter-spacing: -0.04em;
  font-weight: 300;
  color: #373742;
  max-width: 55.1875rem;
  margin: 0;
}
@media (min-width: 1025px) {
  .er-confidence-section__heading {
    opacity: 0;
    transform: translateY(2rem);
    will-change: transform, opacity;
  }
  .er-confidence-section__heading.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}
.er-confidence-section__accent {
  color: #ea1b3d;
}
.er-confidence-section__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.er-confidence-section__item {
  border-bottom: 0.0625rem solid #e6e6ed;
  overflow: hidden;
}
.er-confidence-section__trigger {
  display: grid;
  grid-template-columns: 11.25rem minmax(0, 43.6875rem);
  align-items: center;
  justify-content: center;
  -moz-column-gap: 4rem;
       column-gap: 4rem;
  width: 100%;
  padding: 0.875rem 2.5rem;
  background: none;
  border: 0;
  cursor: default;
  text-align: left;
  font: inherit;
}
.er-confidence-section__badge {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 6.25rem;
  transition: height 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.er-confidence-section__badge img {
  width: 100%;
  max-width: 11.25rem;
  height: auto;
  transform: translateY(52%) rotate(-14deg) scale(0.85);
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.er-confidence-section__content {
  display: block;
}
.er-confidence-section__title {
  display: block;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(1.25rem, 12px);
  line-height: 1.4;
  letter-spacing: 0;
  color: #676775;
  transition: color 0.3s ease;
}
.er-confidence-section__desc {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.er-confidence-section__desc-inner {
  display: block;
  overflow: hidden;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.125rem, 12px);
  line-height: 1.6666666667;
  letter-spacing: 0;
  color: #373742;
  opacity: 0;
  margin-top: 0;
  transition: opacity 0.4s ease, margin-top 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
@media (min-width: 1025px) {
  .er-confidence-section__content {
    align-self: start;
    padding-top: 2.25rem;
  }
  .er-confidence-section__item--active .er-confidence-section__badge {
    height: 11rem;
  }
  .er-confidence-section__item--active .er-confidence-section__badge img {
    transform: translateY(0) rotate(0) scale(1);
  }
  .er-confidence-section__item--active .er-confidence-section__title {
    color: #373742;
  }
  .er-confidence-section__item--active .er-confidence-section__desc {
    grid-template-rows: 1fr;
  }
  .er-confidence-section__item--active .er-confidence-section__desc-inner {
    opacity: 0.5;
    margin-top: 1rem;
    transition-delay: 0.15s;
  }
}
@media (min-width: 1025px) and (hover: hover) {
  .er-confidence-section__item:hover .er-confidence-section__badge {
    height: 11rem;
  }
  .er-confidence-section__item:hover .er-confidence-section__badge img {
    transform: translateY(0) rotate(0) scale(1);
  }
  .er-confidence-section__item:hover .er-confidence-section__title {
    color: #373742;
  }
  .er-confidence-section__item:hover .er-confidence-section__desc {
    grid-template-rows: 1fr;
  }
  .er-confidence-section__item:hover .er-confidence-section__desc-inner {
    opacity: 0.5;
    margin-top: 1rem;
    transition-delay: 0.15s;
  }
  .er-confidence-section__list:hover .er-confidence-section__item--active:not(:hover) .er-confidence-section__badge {
    height: 6.25rem;
  }
  .er-confidence-section__list:hover .er-confidence-section__item--active:not(:hover) .er-confidence-section__badge img {
    transform: translateY(52%) rotate(-14deg) scale(0.85);
  }
  .er-confidence-section__list:hover .er-confidence-section__item--active:not(:hover) .er-confidence-section__title {
    color: #676775;
  }
  .er-confidence-section__list:hover .er-confidence-section__item--active:not(:hover) .er-confidence-section__desc {
    grid-template-rows: 0fr;
  }
  .er-confidence-section__list:hover .er-confidence-section__item--active:not(:hover) .er-confidence-section__desc-inner {
    opacity: 0;
    margin-top: 0;
  }
}
@media (max-width: 1024px) {
  .er-confidence-section {
    padding: 3rem 1.25rem;
  }
  .er-confidence-section__head {
    margin-bottom: 0.625rem;
    padding: 0;
  }
  .er-confidence-section__heading {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(1.75rem, 12px);
    line-height: 1.3571428571;
    letter-spacing: 0;
  }
  .er-confidence-section__item {
    overflow: visible;
  }
  .er-confidence-section__trigger {
    display: block;
    padding: 1.25rem 0 2.5rem;
    cursor: default;
  }
  .er-confidence-section__badge {
    height: auto;
    justify-content: flex-start;
    margin-bottom: 1.5rem;
    padding: 0 0.625rem;
  }
  .er-confidence-section__badge img {
    max-width: 7.5rem;
    transform: none;
  }
  .er-confidence-section__title {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 500;
    font-size: max(1rem, 12px);
    line-height: 1.625;
    letter-spacing: 0;
    text-transform: uppercase;
    text-transform: uppercase;
    color: #373742;
  }
  .er-confidence-section__desc {
    grid-template-rows: 1fr;
  }
  .er-confidence-section__desc-inner {
    opacity: 0.5;
    margin-top: 0.75rem;
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(0.875rem, 12px);
    line-height: 1.5714285714;
    letter-spacing: 0;
  }
}
@media (max-width: 576px) {
  .er-confidence-section__badge img {
    max-width: 5rem;
  }
}

.er-delivery-section {
  background: #fff9ed;
  padding: 8rem 2.5rem;
}
.er-delivery-section__container {
  max-width: 101rem;
  margin: 0 auto;
}
.er-delivery-section__heading {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(3rem, 12px);
  line-height: 1.0833333333;
  letter-spacing: -0.04em;
  font-weight: 300;
  color: #373742;
  margin: 0 0 8.5rem;
}
@media (min-width: 1025px) {
  .er-delivery-section__heading {
    opacity: 0;
    transform: translateY(2rem);
    will-change: transform, opacity;
  }
  .er-delivery-section__heading.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}
.er-delivery-section__heading-accent {
  color: #ea1b3d;
}
.er-delivery-section__timeline {
  list-style: none;
  position: relative;
  max-width: 75rem;
  margin: 0 auto;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6rem;
}
@media (min-width: 1025px) {
  .er-delivery-section__timeline::before, .er-delivery-section__timeline::after {
    content: "";
    position: absolute;
    z-index: 0;
    left: 50%;
    top: 0;
    height: 100%;
    width: 0.125rem;
  }
  .er-delivery-section__timeline::before {
    background: #e6e6ed;
    transform: translateX(-50%);
  }
  .er-delivery-section__timeline::after {
    background: #ffd0d8;
    transform-origin: top center;
    transform: translateX(-50%) scaleY(var(--er-delivery-progress, 0));
    will-change: transform;
  }
}
.er-delivery-section__milestone {
  position: relative;
  z-index: 1;
  display: flex;
}
@media (min-width: 1025px) {
  .er-delivery-section__milestone {
    opacity: 0;
    transform: translateY(3rem);
    will-change: transform, opacity;
  }
  .er-delivery-section__milestone.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}
.er-delivery-section__milestone::before, .er-delivery-section__milestone::after {
  content: "";
  position: absolute;
  top: 0.5rem;
  left: 50%;
}
.er-delivery-section__milestone::before {
  width: 3rem;
  height: 3rem;
  transform: translateX(-50%);
  background: #fff9ed;
  border: 0.0625rem solid #e6e6ed;
}
.er-delivery-section__milestone::after {
  width: 0.5rem;
  height: 0.5rem;
  transform: translate(-50%, 1.25rem);
  background: #ea1b3d;
}
.er-delivery-section__content {
  width: 50%;
  padding-right: 4rem;
}
.er-delivery-section__milestone--right .er-delivery-section__content {
  margin-left: 50%;
  padding-right: 0;
  padding-left: 4rem;
}
.er-delivery-section__title {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.25rem, 12px);
  line-height: 1.7;
  letter-spacing: 0;
  color: #373742;
  margin: 0 0 1rem;
}
.er-delivery-section__text {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.125rem, 12px);
  line-height: 1.6666666667;
  letter-spacing: 0;
  color: #676775;
  max-width: 33.5rem;
  margin: 0 0 1rem;
}
.er-delivery-section__tags {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0;
  padding: 0.5rem 0 0;
}
.er-delivery-section__tag {
  display: inline-block;
  padding: 0.25rem 0.75rem;
  background: #ffefd1;
  border: 0.0625rem solid rgba(55, 55, 66, 0.18);
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 500;
  font-size: max(0.75rem, 12px);
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #676775;
  transition: transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}
@media (min-width: 1025px) {
  .er-delivery-section__tag:hover {
    transform: translateY(-0.1875rem);
  }
}
@media (max-width: 1024px) {
  .er-delivery-section {
    padding: 3rem 1.25rem;
  }
  .er-delivery-section__heading {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(1.75rem, 12px);
    line-height: 1.3571428571;
    letter-spacing: 0;
    margin-bottom: 2.375rem;
  }
  .er-delivery-section__timeline {
    gap: 5rem;
    padding-top: 4rem;
  }
  .er-delivery-section__milestone::before {
    display: none;
  }
  .er-delivery-section__milestone::after {
    top: 0.625rem;
    left: 0;
    transform: none;
  }
  .er-delivery-section__content, .er-delivery-section__milestone--right .er-delivery-section__content {
    width: 100%;
    margin-left: 0;
    padding: 0 0 0 1.125rem;
  }
  .er-delivery-section__title {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 500;
    font-size: max(1.125rem, 12px);
    line-height: 1.6666666667;
    letter-spacing: 0;
    text-transform: uppercase;
    margin: 0 0 0.75rem;
  }
  .er-delivery-section__text {
    padding-left: 0;
  }
  .er-delivery-section__tags {
    padding: 0;
  }
}

.er-disciplines-section {
  position: relative;
  background: #2f2f39;
  isolation: isolate;
}
.er-disciplines-section__pin {
  position: sticky;
  top: 0;
  height: calc(100vh + 5rem);
  display: flex;
  align-items: center;
  overflow: clip;
}
.er-disciplines-section__pin::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: url(../static/assets/images/latest/grain.png);
  background-repeat: repeat;
  background-size: cover;
  mix-blend-mode: normal;
  opacity: 1;
  pointer-events: none;
}
.er-disciplines-section__container {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 4rem;
  width: 100%;
  max-width: 101rem;
  margin: 0 auto;
  padding: 0 2.5rem;
}
.er-disciplines-section__title {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(3rem, 12px);
  line-height: 1.0833333333;
  letter-spacing: -0.04em;
  font-weight: 300;
  color: #fff;
  flex: 1;
  margin: 0;
}
@media (min-width: 1025px) {
  .er-disciplines-section__title {
    opacity: 0;
    transform: translateY(2rem);
    will-change: transform, opacity;
  }
  .er-disciplines-section__title.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}
.er-disciplines-section__title-accent {
  color: #ffd0d8;
}
.er-disciplines-section__intro {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
}
.er-disciplines-section__intro .er-disciplines-section__title {
  flex: none;
}
.er-disciplines-section__intro .er-disciplines-section__title:not(:last-child) {
  margin-bottom: 1.5rem;
}
.er-disciplines-section__intro-text {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1rem, 12px);
  line-height: 1.625;
  letter-spacing: 0;
  color: rgba(255, 255, 255, 0.8);
  max-width: 32.6875rem;
  margin: 0 0 2rem;
}
@media (min-width: 1025px) {
  .er-disciplines-section__intro-text {
    opacity: 0;
    transform: translateY(2rem);
    will-change: transform, opacity;
  }
  .er-disciplines-section__intro-text.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}
@media (min-width: 1025px) {
  .er-disciplines-section__intro-text.is-visible {
    transition-delay: 0.08s;
  }
}
@media (min-width: 1025px) {
  .er-disciplines-section__intro-cta {
    opacity: 0;
    transform: translateY(2rem);
    will-change: transform, opacity;
  }
  .er-disciplines-section__intro-cta.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}
@media (min-width: 1025px) {
  .er-disciplines-section__intro-cta.is-visible {
    transition-delay: 0.16s;
  }
}
.er-disciplines-section__deck {
  position: relative;
  width: min(50.8125rem, 52vw);
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.er-disciplines-section__card {
  width: 100%;
  min-height: 27.5rem;
  background: #feefd0;
  transition: background 0.4s ease;
  padding: clamp(1.5rem, 2.4vw, 1.75rem) clamp(2.5rem, 5vw, 4.375rem) clamp(2.25rem, 3.6vw, 3rem) clamp(2.25rem, 4vw, 3.375rem);
  clip-path: polygon(1.5rem 0, 100% 0, 100% calc(100% - 1.5rem), calc(100% - 1.5rem) 100%, 0 100%, 0 1.5rem);
}
.er-disciplines-section__card[data-cover-depth="1"] {
  background: #fff4e2;
}
.er-disciplines-section__card[data-cover-depth="2"] {
  background: #fff9ed;
}
.er-disciplines-section__card[data-cover-depth="3"] {
  background: #fffcf5;
}
@media (min-width: 1025px) {
  .er-disciplines-section__card {
    max-width: 40.6875rem;
  }
  .er-disciplines-section--stacked .er-disciplines-section__deck {
    display: block;
  }
  .er-disciplines-section--stacked .er-disciplines-section__card {
    position: absolute;
    top: 0;
    left: 0;
    width: calc(100% - var(--er-cascade-reserve, 0px));
    will-change: transform;
  }
}
.er-disciplines-section__card-title {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 250;
  font-size: max(1.5rem, 12px);
  line-height: 1.6666666667;
  letter-spacing: 0;
  color: #373742;
  margin: 0 0 clamp(2rem, 4vw, 3.125rem);
}
.er-disciplines-section__card-text {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1rem, 12px);
  line-height: 1.625;
  letter-spacing: 0;
  color: #373742;
  max-width: 32.6875rem;
  margin: 0;
}
.er-disciplines-section__card-text p + p {
  margin-top: 1.625rem;
}
@media (max-width: 1200px) {
  .er-disciplines-section__card {
    min-height: 25rem;
  }
  .er-disciplines-section__title {
    font-size: 2.5rem;
    line-height: 2.875rem;
  }
}
@media (max-width: 1024px) {
  .er-disciplines-section {
    min-height: auto !important;
    padding: 3rem 1.25rem;
  }
  .er-disciplines-section__pin {
    position: static;
    height: auto;
    overflow: visible;
  }
  .er-disciplines-section__container {
    flex-direction: column;
    align-items: stretch;
    gap: 1.5rem;
    padding: 0;
  }
  .er-disciplines-section__title {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(1.75rem, 12px);
    line-height: 1.3571428571;
    letter-spacing: 0;
  }
  .er-disciplines-section__intro .er-disciplines-section__title:not(:last-child) {
    margin-bottom: 1rem;
  }
  .er-disciplines-section__intro-text {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(0.875rem, 12px);
    line-height: 1.5714285714;
    letter-spacing: 0;
    max-width: 100%;
    margin-bottom: 1.5rem;
  }
  .er-disciplines-section__deck {
    position: static;
    width: 100%;
    height: auto !important;
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
  .er-disciplines-section__card {
    position: static;
    width: 100%;
    min-height: 21.25rem;
    transform: none !important;
    z-index: auto !important;
    padding: 1.5rem;
  }
  .er-disciplines-section__card:nth-child(1) {
    background: #fffcf6;
  }
  .er-disciplines-section__card:nth-child(2) {
    background: #fff9ed;
  }
  .er-disciplines-section__card:nth-child(3) {
    background: #fff4e1;
  }
  .er-disciplines-section__card:nth-child(n+4) {
    background: #ffefd1;
  }
  .er-disciplines-section__card-title {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 500;
    font-size: max(1rem, 12px);
    line-height: 1.625;
    letter-spacing: 0;
    text-transform: uppercase;
    margin-bottom: 1.5rem;
  }
  .er-disciplines-section__card-text {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(0.875rem, 12px);
    line-height: 1.5714285714;
    letter-spacing: 0;
    max-width: 100%;
  }
  .er-disciplines-section__card-text p {
    margin: 0;
    display: inline;
  }
}

@media (min-width: 1025px) {
  .er-disciplines-section--media .er-disciplines-section__intro-text {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 250;
    font-size: max(1.5rem, 12px);
    line-height: 1.6666666667;
    letter-spacing: 0;
  }
}
.er-disciplines-section--media .er-disciplines-section__card {
  background: none;
  padding: 0;
  min-height: 0;
  overflow: hidden;
}
.er-disciplines-section--media .er-disciplines-section__card[data-cover-depth] {
  background: none;
}
.er-disciplines-section--media .er-disciplines-section__card-img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 651/531;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 1024px) {
  .er-disciplines-section--media .er-disciplines-section__card {
    min-height: 0;
    padding: 0;
  }
  .er-disciplines-section--media .er-disciplines-section__card:nth-child(n) {
    background: none;
  }
}

.er-metrics-section {
  background: #fff9ed;
  padding: 9.375rem 1.5rem;
}
.er-metrics-section__container {
  max-width: 81.3125rem;
  margin: 0 auto;
}
.er-metrics-section__heading {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(3rem, 12px);
  line-height: 1.0833333333;
  letter-spacing: -0.04em;
  color: #373742;
  margin: 0 0 2.5rem;
}
.er-metrics-section__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.er-metrics-section__row {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 43.75rem);
  align-items: start;
  padding: 1.75rem 1.25rem;
  min-height: 7.9375rem;
}
.er-metrics-section__row::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 33.0625rem;
  max-width: 42%;
  height: 0.125rem;
  background: #e6e6ed;
}
@media (min-width: 1025px) {
  .er-metrics-section__row::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 0.125rem;
    background: linear-gradient(90deg, rgba(234, 27, 61, 0.05) 0%, rgba(234, 27, 61, 0.55) 22%, #e6e6ed 30%, #e6e6ed 100%);
    transform: scaleX(0);
    transform-origin: left center;
  }
}
.er-metrics-section__title {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(2.5rem, 12px);
  line-height: 1.1;
  letter-spacing: -0.04em;
  color: #373742;
  margin: 0;
}
.er-metrics-section__desc {
  overflow: hidden;
  display: block;
  margin: 0.25rem 0 0;
}
.er-metrics-section__desc-inner {
  display: inline-block;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.25rem, 12px);
  line-height: 1.7;
  letter-spacing: 0;
  color: #373742;
}
@media (min-width: 1025px) {
  .er-metrics-section__desc-inner {
    transform: translateY(110%);
    opacity: 0;
    will-change: transform, opacity;
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
  .er-metrics-section__row::after {
    transition: transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
  .er-metrics-section__row.is-active::after {
    transform: scaleX(1);
  }
  .er-metrics-section__row.is-active .er-metrics-section__desc-inner {
    transform: translateY(0);
    opacity: 1;
  }
}
@media (min-width: 1025px) and (hover: hover) {
  .er-metrics-section__list:hover .er-metrics-section__row.is-active:not(:hover)::after {
    transform: scaleX(0);
  }
  .er-metrics-section__list:hover .er-metrics-section__row.is-active:not(:hover) .er-metrics-section__desc-inner {
    transform: translateY(110%);
    opacity: 0;
  }
  .er-metrics-section__row:hover::after {
    transform: scaleX(1);
  }
  .er-metrics-section__row:hover .er-metrics-section__desc-inner {
    transform: translateY(0);
    opacity: 1;
  }
}
@media (max-width: 1200px) {
  .er-metrics-section__row {
    grid-template-columns: minmax(0, 1fr) minmax(0, 31.25rem);
  }
}
@media (max-width: 1024px) {
  .er-metrics-section {
    padding: 3rem 1.25rem;
  }
  .er-metrics-section__row {
    grid-template-columns: 1fr;
    padding: 1.875rem 0;
  }
  .er-metrics-section__row::before {
    display: none;
  }
  .er-metrics-section__row::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0.125rem;
    background: linear-gradient(90deg, rgba(234, 27, 61, 0.05) 0%, rgba(234, 27, 61, 0.55) 22%, #e6e6ed 30%, #e6e6ed 100%);
  }
  .er-metrics-section__title {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 400;
    font-size: max(1.25rem, 12px);
    line-height: 1.4;
    letter-spacing: 0;
    align-self: center;
  }
  .er-metrics-section__heading {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 500;
    font-size: max(1.5rem, 12px);
    line-height: 1.4166666667;
    letter-spacing: -0.04em;
    margin-bottom: 1.5rem;
  }
  .er-metrics-section__desc {
    margin-top: 1rem;
  }
  .er-metrics-section__desc-inner {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(1rem, 12px);
    line-height: 1.625;
    letter-spacing: 0;
  }
}

.er-team-section {
  background: #fff9ed;
  padding: 10rem 0 7.5rem;
  overflow: clip;
}
.er-team-section__container {
  max-width: 101rem;
  margin: 0 auto;
  padding: 0 2.5rem;
}
.er-team-section__heading {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(3rem, 12px);
  line-height: 1.0833333333;
  letter-spacing: -0.04em;
  font-weight: 300;
  color: #373742;
  margin: 0 0 6rem;
}
@media (min-width: 1025px) {
  .er-team-section__heading {
    opacity: 0;
    transform: translateY(2rem);
    will-change: transform, opacity;
  }
  .er-team-section__heading.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}
.er-team-section__accent {
  color: #ea1b3d;
}
.er-team-section__viewport {
  width: 100%;
}
.er-team-section__track {
  display: flex;
  gap: 2rem;
  transition: transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  will-change: transform;
}
.er-team-section__card {
  flex: 0 0 24.6875rem;
}
@media (min-width: 1025px) {
  .er-team-section__card {
    opacity: 0;
    transform: translateY(3rem);
    will-change: transform, opacity;
  }
  .er-team-section__card.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}
.er-team-section__card:nth-child(1).is-visible {
  transition-delay: 0s;
}
.er-team-section__card:nth-child(2).is-visible {
  transition-delay: 0.12s;
}
.er-team-section__card:nth-child(3).is-visible {
  transition-delay: 0.24s;
}
.er-team-section__card:nth-child(4).is-visible {
  transition-delay: 0.36s;
}
.er-team-section__card:nth-child(5).is-visible {
  transition-delay: 0.48s;
}
.er-team-section__card:nth-child(6).is-visible {
  transition-delay: 0.6s;
}
.er-team-section__photo {
  width: 100%;
  aspect-ratio: 393/491;
  background: #373742;
  clip-path: polygon(2.75rem 0, 100% 0, 100% calc(100% - 2.125rem), calc(100% - 2.75rem) 100%, 0 100%, 0 2.125rem);
  overflow: hidden;
}
.er-team-section__photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
@media (min-width: 1025px) {
  .er-team-section__card:hover .er-team-section__photo img {
    transform: scale(1.05);
  }
}
.er-team-section__name {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 500;
  font-size: max(1.5rem, 12px);
  line-height: 1.4166666667;
  letter-spacing: -0.04em;
  color: #373742;
  margin: 1.5rem 0 0.5rem;
}
.er-team-section__role {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 500;
  font-size: max(0.75rem, 12px);
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #676775;
  margin: 0;
}
.er-team-section__arrows {
  display: flex;
  justify-content: flex-end;
  gap: 0.375rem;
  margin-top: 3rem;
}
.er-team-section__btn {
  width: 3rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ffefd1;
  border: 0;
  cursor: pointer;
  color: #ea1b3d;
  clip-path: polygon(0.875rem 0, 100% 0, 100% calc(100% - 0.6875rem), calc(100% - 0.875rem) 100%, 0 100%, 0 0.6875rem);
  transition: opacity 0.3s ease, transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.er-team-section__btn:hover:not(:disabled) {
  transform: translateY(-0.1875rem);
}
.er-team-section__btn:disabled {
  color: #a7a7b0;
  cursor: default;
}
.er-team-section__btn svg {
  display: block;
}
@media (max-width: 1200px) {
  .er-team-section {
    padding: 7.5rem 0 6rem;
  }
  .er-team-section__card {
    flex-basis: 21.25rem;
  }
}
@media (max-width: 1024px) {
  .er-team-section {
    padding: 4rem 0;
    overflow: visible;
  }
  .er-team-section__container {
    padding: 0 1.25rem;
  }
  .er-team-section__heading {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(1.75rem, 12px);
    line-height: 1.3571428571;
    letter-spacing: 0;
    margin-bottom: 2.5rem;
  }
  .er-team-section__track {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem 2rem;
    transform: none !important;
  }
  .er-team-section__card {
    flex-basis: auto;
  }
  .er-team-section__card:nth-child(n+5) {
    display: none;
  }
  .er-team-section__photo {
    aspect-ratio: 164/161;
    clip-path: polygon(1.5625rem 0, 100% 0, 100% calc(100% - 1.1875rem), calc(100% - 1.5625rem) 100%, 0 100%, 0 1.1875rem);
  }
  .er-team-section__name {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 400;
    font-size: max(1.25rem, 12px);
    line-height: 1.4;
    letter-spacing: 0;
    margin-top: 1.5rem;
  }
  .er-team-section__role {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 500;
    font-size: max(0.75rem, 12px);
    line-height: 1.5;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-bottom: 2rem;
  }
  .er-team-section__arrows {
    display: none;
  }
}

:root {
  --bg-primary: #fff9ed;
  --text-primary: #373742;
  --text-secondary: #676775;
  --text-disabled: #a7a7b0;
  --text-gray: #676775;
  --accent-red: #ea1b3d;
  --accent-peach: #ffd0d8;
  --border-color: rgba(103, 103, 117, 0.15);
  --font-primary: Lexend, -apple-system, blinkmacsystemfont, Segoe UI, roboto, sans-serif;
  --transition-smooth: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  --transition-slow: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  --container-width: 93.5rem;
  --container-width-padd: 101rem;
  --gutter: 60px;
}

*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

html {
  font-size: clamp(14px, 0.9259259259vw, 16px);
}

@media (max-width: 1024px) {
  html {
    font-size: 100%;
  }
}
html.scroll-locked,
html.scroll-locked .main-header {
  padding-right: var(--scrollbar-comp, 0);
}

html.scroll-locked .header-container .mega-menu {
  scrollbar-gutter: stable;
}

html,
body {
  width: 100%;
  height: 100%;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  background-color: #fff9ed;
  color: #373742;
  line-height: 1.6;
}

::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: #fff9ed;
}

::-webkit-scrollbar-thumb {
  background: #a7a7b0;
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: #676775;
}

a {
  color: inherit;
  text-decoration: none;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

button,
input,
textarea,
select {
  font-family: inherit;
}

@media (min-width: 769px) {
  .ib-mobile-only {
    display: none !important;
  }
}
@media (max-width: 768px), (min-width: 1025px) {
  .ib-tablet-only {
    display: none !important;
  }
}
@media (min-width: 1025px) {
  .ib-mobile-tablet-only {
    display: none !important;
  }
}
@media (max-width: 1024px) {
  .ib-desktop-only {
    display: none !important;
  }
}
@media (max-width: 1024px) and (prefers-reduced-motion: no-preference) {
  .ib-m-reveal {
    opacity: 0;
    transform: translate3d(0, 24px, 0);
    transition: opacity 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition-delay: var(--ib-m-reveal-delay, 0s);
    will-change: transform, opacity;
  }

  .ib-m-reveal.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
@keyframes ib-arrow-slide {
  0% {
    transform: translateX(0);
    opacity: 1;
  }
  45% {
    transform: translateX(7px);
    opacity: 0;
  }
  46% {
    transform: translateX(-5px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
.ib-btn {
  --_bg: #ea1b3d;
  --_bg-press: #aa142d;
  --_color: #fff;
  --_border: transparent;
  --_shadow: #ffd0d8;
  position: relative;
  isolation: isolate;
  display: inline-flex;
  align-items: stretch;
  height: 48px;
  padding: 0;
  font-family: var(--font-heading);
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  background: transparent;
  border: none;
  outline: none;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.ib-btn[hidden] {
  display: none;
}

.ib-btn::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--_shadow);
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
  opacity: 0;
  transform: translate(0, 0);
  transition: opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1), transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
}

.ib-btn__inner {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  padding: 0 22px;
  color: var(--_color);
  background: var(--_bg);
  line-height: 26px;
  letter-spacing: 0;
  text-align: center;
  text-transform: uppercase;
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
  transition: background 0.25s cubic-bezier(0.16, 1, 0.3, 1), color 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ib-btn__inner::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--_border);
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px, 10px 0, 10px 1.5px, 1.5px 10px, 1.5px calc(100% - 1.5px), calc(100% - 10px) calc(100% - 1.5px), calc(100% - 1.5px) calc(100% - 10px), calc(100% - 1.5px) 1.5px, 10px 1.5px);
  pointer-events: none;
  transition: background 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ib-btn__arrow {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ib-btn__arrow svg, .ib-btn__arrow.ib-icon {
  width: 14px;
  height: 14px;
}

.ib-btn:hover:not(:disabled, [aria-disabled=true])::after {
  opacity: 1;
  transform: translate(4px, 4px);
}

.ib-btn:focus-visible .ib-btn__inner {
  background: var(--_bg-press);
}

.ib-btn:active:not(:disabled) .ib-btn__inner {
  background: var(--_bg-press);
}

.ib-btn:disabled, .ib-btn[aria-disabled=true] {
  --_bg: #a7a7b0;
  --_border: #a7a7b0;
  --_color: #fff;
  cursor: not-allowed;
  pointer-events: none;
}

.ib-btn--primary {
  --_bg: #ea1b3d;
  --_bg-press: #aa142d;
  --_color: #fff;
  --_border: transparent;
  --_shadow: #ffd0d8;
}

.ib-btn--primary-light {
  --_bg: #fff9ed;
  --_bg-press: #ffefd1;
  --_color: #676775;
  --_border: transparent;
  --_shadow: #ffd0d8;
}

.ib-btn--primary-light:disabled, .ib-btn--primary-light[aria-disabled=true] {
  --_bg: #a7a7b0;
  --_color: #fff;
}

.ib-btn--secondary {
  --_bg: transparent;
  --_bg-press: transparent;
  --_color: #ea1b3d;
  --_border: #ea1b3d;
  --_shadow: #ffd0d8;
}

.ib-btn--secondary:focus-visible {
  --_border: #aa142d;
  --_color: #aa142d;
}

.ib-btn--secondary:active:not(:disabled) {
  --_border: #aa142d;
  --_color: #aa142d;
}

.ib-btn--secondary:disabled, .ib-btn--secondary[aria-disabled=true] {
  --_bg: transparent;
  --_color: #a7a7b0;
  --_border: #a7a7b0;
}

.ib-btn--secondary-light {
  --_bg: transparent;
  --_bg-press: transparent;
  --_color: #fff;
  --_border: #fff;
  --_shadow: #ffd0d8;
}

.ib-btn--secondary-light:hover:not(:disabled, [aria-disabled=true]) {
  --_bg: #ea1b3d;
  --_border: transparent;
}

.ib-btn--secondary-light:disabled, .ib-btn--secondary-light[aria-disabled=true] {
  --_bg: transparent;
  --_color: #a7a7b0;
  --_border: #a7a7b0;
}

.ib-btn--ghost {
  --_color: #ea1b3d;
  height: auto;
}

.ib-btn--ghost::after {
  display: none;
}

.ib-btn--ghost .ib-btn__inner {
  padding: 2px 0;
  height: auto;
  background: transparent;
  clip-path: none;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1.5px;
  -webkit-text-decoration-color: currentcolor;
          text-decoration-color: currentcolor;
  transition: color 0.25s cubic-bezier(0.16, 1, 0.3, 1), -webkit-text-decoration-color 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  transition: color 0.25s cubic-bezier(0.16, 1, 0.3, 1), text-decoration-color 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  transition: color 0.25s cubic-bezier(0.16, 1, 0.3, 1), text-decoration-color 0.25s cubic-bezier(0.16, 1, 0.3, 1), -webkit-text-decoration-color 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ib-btn--ghost .ib-btn__inner::before {
  display: none;
}

.ib-btn--ghost:focus-visible, .ib-btn--ghost:active:not(:disabled) {
  --_color: #aa142d;
}

.ib-btn--ghost:focus-visible .ib-btn__inner, .ib-btn--ghost:active:not(:disabled) .ib-btn__inner {
  background: transparent !important;
}

.ib-btn--ghost:disabled, .ib-btn--ghost[aria-disabled=true] {
  --_color: #a7a7b0;
  pointer-events: none;
}

.ib-btn--bare {
  --_bg: transparent;
  --_bg-press: transparent;
  --_color: #373742;
  --_border: transparent;
  --_shadow: transparent;
}

.ib-btn--bare::after {
  display: none;
}

.ib-btn--bare .ib-btn__inner {
  background: transparent;
  clip-path: none;
  transition: color 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ib-btn--bare .ib-btn__inner::before {
  display: none;
}

.ib-btn--bare .ib-icon,
.ib-btn--bare .ib-btn__arrow {
  color: var(--_color);
}

.ib-btn--bare:focus-visible .ib-btn__inner, .ib-btn--bare:active:not(:disabled) .ib-btn__inner {
  background: transparent;
}

.ib-btn--bare:disabled, .ib-btn--bare[aria-disabled=true] {
  --_bg: transparent;
  --_border: transparent;
  --_color: #a7a7b0;
}

.ib-btn--with-icon:hover:not(:disabled, [aria-disabled=true]) .ib-btn__arrow {
  animation: ib-arrow-slide 0.7s cubic-bezier(0.16, 1, 0.3, 1) infinite;
}

.ib-btn--icon-only {
  width: 48px;
}

.ib-btn--icon-only .ib-btn__inner {
  padding: 0;
}

.ib-btn--icon-only:hover:not(:disabled, [aria-disabled=true]) .ib-btn__arrow {
  animation: ib-arrow-slide 0.7s cubic-bezier(0.16, 1, 0.3, 1) infinite;
}

@media (max-width: 1024px) {
  .ib-btn {
    height: 44px;
    font-size: 15px;
  }

  .ib-btn__inner {
    padding: 0 18px;
  }

  .ib-btn__arrow svg, .ib-btn__arrow.ib-icon {
    width: 13px;
    height: 13px;
  }

  .ib-btn--icon-only {
    width: 44px;
  }

  .ib-btn--icon-only .ib-btn__inner {
    padding: 0;
  }
}
.cd-hero-section {
  background: #fff9ed;
  padding: 10rem 0 4rem;
}

.cd-hero-section__breadcrumb {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1rem, 12px);
  line-height: 1.625;
  letter-spacing: 0;
  color: #373742;
}

.cd-hero-section__breadcrumb-icon {
  flex: 0 0 auto;
  transform: scaleX(-1);
  transition: transform 0.25s ease;
}

.cd-hero-section__breadcrumb:hover .cd-hero-section__breadcrumb-icon {
  transform: scaleX(-1) translateX(0.1875rem);
}

.cd-hero-section__top {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 2rem;
  max-width: var(--container-width-padd);
  width: 100%;
  padding-inline: var(--gutter);
  margin-inline: auto;
}

.cd-hero-section__intro {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.cd-hero-section__heading {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 250;
  font-size: max(4.5rem, 12px);
  line-height: 1.2222222222;
  letter-spacing: -0.04em;
  margin: 0;
  max-width: 800px;
  color: #373742;
}

.cd-hero-section__highlight {
  background: linear-gradient(90deg, #284cba 0%, #ea1b3d 72.87%);
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
          background-clip: text;
}

.cd-hero-section__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.cd-hero-section__tag {
  padding: 0.5rem 1rem;
  background: #ffefd1;
  color: #373742;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 500;
  font-size: max(1rem, 12px);
  line-height: 1.625;
  letter-spacing: 0;
  text-transform: uppercase;
}

.cd-hero-section__apply {
  flex: 0 0 auto;
}

.cd-hero-section__apply .ib-btn__inner {
  gap: 1.5rem;
}

@media (max-width: 1024px) {
  .cd-hero-section {
    padding: 8.75rem 0 2rem;
  }

  .cd-hero-section__breadcrumb {
    margin-bottom: 0;
  }

  .cd-hero-section__top {
    flex-direction: column;
    align-items: flex-start;
    gap: 1.5rem;
    padding-inline: 1.25rem;
  }

  .cd-hero-section__heading {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 400;
    font-size: max(3rem, 12px);
    line-height: 1.0833333333;
    letter-spacing: -0.04em;
    font-weight: 300;
    max-width: none;
  }

  .cd-hero-section__apply {
    width: 100%;
    height: 3rem;
  }

  .cd-hero-section__apply .ib-btn__inner {
    width: 100%;
  }
}
@media (max-width: 1024px) and (max-width: 768px) {
  .cd-hero-section {
    padding: 7.5rem 0 2.5rem;
  }
}
.cd-job-section {
  background: #fff9ed;
  padding: 0 0 7.5rem;
}

.cd-job-section__container {
  display: flex;
  align-items: flex-start;
  gap: 5rem;
  max-width: var(--container-width-padd);
  width: 100%;
  padding-inline: var(--gutter);
  margin-inline: auto;
}

.cd-sidebar {
  flex: 0 0 18.75rem;
  width: 18.75rem;
  padding-top: 7.5rem;
}

.cd-sidebar__list {
  margin: 0;
}

.cd-sidebar__item {
  padding: 1rem 0;
  border-bottom: 0.0625rem solid #e6e6ed;
}

.cd-sidebar__item:first-child {
  padding-top: 0;
}

.cd-sidebar__item--last {
  border-bottom: none;
}

.cd-sidebar__label {
  margin: 0 0 0.3125rem;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(0.875rem, 12px);
  line-height: 1.5714285714;
  letter-spacing: 0;
  color: #373742;
}

.cd-sidebar__value {
  margin: 0;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(1.25rem, 12px);
  line-height: 1.4;
  letter-spacing: 0;
  color: #373742;
}

@media (max-width: 1024px) {
  .cd-sidebar {
    flex: 1 1 auto;
    width: 100%;
    padding-top: 0;
  }

  .cd-sidebar__label {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(0.875rem, 12px);
    line-height: 1.5714285714;
    letter-spacing: 0;
  }

  .cd-sidebar__value {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 400;
    font-size: max(1.25rem, 12px);
    line-height: 1.4;
    letter-spacing: 0;
  }
}
@media (max-width: 1024px) {
  .cd-job-section {
    padding: 0;
  }

  .cd-job-section__container {
    flex-direction: column;
    gap: 0;
    padding-inline: 0;
  }

  .cd-sidebar {
    padding: 1.5rem 1.25rem;
  }
}
.cd-main {
  flex: 1 1 auto;
  min-width: 0;
  max-width: 50rem;
  padding-top: 7.5rem;
}

.cd-sidebar ~ .cd-main {
  padding-top: 7.5rem;
}

.cd-tabs {
  display: flex;
  gap: 2.625rem;
  margin-bottom: 4rem;
}

.cd-tabs__tab {
  padding: 0 0 1rem;
  background: none;
  border: none;
  border-bottom: 0.0625rem solid transparent;
  cursor: pointer;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.75rem, 12px);
  line-height: 1.3571428571;
  letter-spacing: 0;
  color: #373742;
  transition: color 0.25s ease, border-color 0.25s ease;
}

.cd-tabs__tab:hover {
  color: #000;
}

.cd-tabs__tab.is-active {
  color: #000;
  border-bottom-color: #676775;
}

.cd-panel[hidden] {
  display: none;
}

.cd-overview__heading {
  margin: 0 0 1.5rem;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 500;
  font-size: max(1.5rem, 12px);
  line-height: 1.4166666667;
  letter-spacing: -0.04em;
  color: #373742;
}

.cd-overview__text {
  margin: 0 0 4rem;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.25rem, 12px);
  line-height: 1.7;
  letter-spacing: 0;
  color: #676775;
}

.cd-overview__list {
  margin: 0 0 4rem;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.cd-overview__list li {
  position: relative;
  padding-left: 1.1875rem;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.125rem, 12px);
  line-height: 1.6666666667;
  letter-spacing: 0;
  color: #676775;
}

.cd-overview__list li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: #aa142d;
}

.cd-overview__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  margin-top: 0.5rem;
}

.cd-overview__apply .ib-btn__inner {
  gap: 1.5rem;
}

.cd-overview__share {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.5rem;
}

.cd-overview__share-label {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(0.875rem, 12px);
  line-height: 1.5714285714;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #373742;
}

.cd-overview__share-icons {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.cd-overview__share-icon {
  display: inline-flex;
  color: #676775;
  transition: color 0.25s ease;
}

.cd-overview__share-icon:hover {
  color: #000;
}

.cd-overview__share-icon svg {
  width: 1.5rem;
  height: 1.5rem;
}

@media (max-width: 1024px) {
  .cd-main {
    max-width: none;
    padding-top: 0;
    width: 100%;
  }

  .cd-sidebar ~ .cd-main {
    padding-top: 0;
  }

  .cd-tabs {
    gap: 0;
    margin-bottom: 0;
    padding: 2.625rem 1.25rem 0;
    border-bottom: 0.0625rem solid #e6e6ed;
  }

  .cd-tabs__tab {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 400;
    font-size: max(1.25rem, 12px);
    line-height: 1.4;
    letter-spacing: 0;
    flex: 1 1 0;
    padding-bottom: 0.75rem;
    border-bottom-color: transparent;
    text-align: center;
  }

  .cd-tabs__tab.is-active {
    border-bottom: 2px solid #ea1b3d;
  }

  .cd-panel {
    padding: 2.625rem 1.25rem 4rem;
  }

  .cd-overview__text, .cd-overview__list {
    margin-bottom: 2.5rem;
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(1rem, 12px);
    line-height: 1.625;
    letter-spacing: 0;
  }

  .cd-overview__list li {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(1rem, 12px);
    line-height: 1.625;
    letter-spacing: 0;
  }

  .cd-overview__heading {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 500;
    font-size: max(1.5rem, 12px);
    line-height: 1.4166666667;
    letter-spacing: -0.04em;
    margin-bottom: 1rem;
  }

  .cd-overview__share {
    display: none;
  }

  .cd-overview__apply {
    width: 100%;
    height: 3rem;
  }

  .cd-overview__apply .ib-btn__inner {
    width: 100%;
  }
}
@keyframes cd-application-spin {
  to {
    transform: rotate(360deg);
  }
}
.cd-application-form {
  display: flex;
  flex-direction: column;
  gap: 2.25rem;
}

.cd-application-form__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem 2.75rem;
}

.cd-application-form__field {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.cd-application-form__label {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1rem, 12px);
  line-height: 1.625;
  letter-spacing: 0;
  color: #373742;
}

.cd-application-form__required {
  color: #373742;
}

.cd-application-form__input {
  width: 100%;
  height: 3.5rem;
  padding: 1rem;
  background: #fff;
  border: 0.63px solid #e6e6ed;
  border-radius: 0;
  outline: none;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1rem, 12px);
  line-height: 1.625;
  letter-spacing: 0;
  color: #373742;
  transition: border-color 0.25s ease;
}

.cd-application-form__input::-moz-placeholder {
  color: #676775;
}

.cd-application-form__input::placeholder {
  color: #676775;
}

.cd-application-form__input:focus {
  border-color: #373742;
}

.cd-application-form__input:invalid.is-touched {
  border-color: #ea1b3d;
}

.cd-application-form__input[type=number] {
  -webkit-appearance: textfield;
     -moz-appearance: textfield;
          appearance: textfield;
}

.cd-application-form__input[type=number]::-webkit-outer-spin-button, .cd-application-form__input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
          appearance: none;
  margin: 0;
}

.cd-application-form__field--upload {
  gap: 0.75rem;
}

.cd-application-form__upload {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
  padding: 1.25rem 1rem;
  background: transparent;
  border: 0.63px solid #676775;
  border-radius: 0;
  cursor: pointer;
  transition: border-color 0.25s ease, background 0.25s ease;
}

.cd-application-form__upload-icon {
  color: #373742;
}

.cd-application-form__upload:hover, .cd-application-form__upload.is-dragover {
  border-color: #ea1b3d;
  background: #ffefd1;
}

.cd-application-form__upload-text {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 500;
  font-size: max(1rem, 12px);
  line-height: 1.625;
  letter-spacing: 0;
  text-transform: uppercase;
  color: #373742;
}

.cd-application-form__upload-input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}

.cd-application-form__upload-hint {
  margin: 0;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(0.875rem, 12px);
  line-height: 1.5714285714;
  letter-spacing: 0;
  color: #676775;
  text-align: center;
}

.cd-application-form__consent {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  cursor: pointer;
}

.cd-application-form__consent-input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  position: relative;
  flex-shrink: 0;
  width: 1.125rem;
  height: 1.125rem;
  margin-top: 0.125rem;
  border: 1px solid #e6e6ed;
  border-radius: 0;
  background: #fff;
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.cd-application-form__consent-input:checked {
  background: #ea1b3d;
  border-color: #ea1b3d;
}

.cd-application-form__consent-input:checked::after {
  content: "";
  position: absolute;
  top: 45%;
  left: 50%;
  width: 0.25rem;
  height: 0.5rem;
  border: solid #fff;
  border-width: 0 1.5px 1.5px 0;
  transform: translate(-50%, -50%) rotate(45deg);
}

.cd-application-form__policy {
  margin: 0;
  max-width: 74ch;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1rem, 12px);
  line-height: 1.625;
  letter-spacing: 0;
  color: #373742;
}

.cd-application-form__policy a {
  color: #ea1b3d;
  text-decoration: underline;
  text-underline-offset: 0.125rem;
}

.cd-application-form__submit {
  align-self: flex-start;
  min-width: 14.875rem;
  max-width: 14.875rem;
  margin-top: 0.75rem;
}

.cd-application-form__success {
  margin: -0.5rem 0 0;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.125rem, 12px);
  line-height: 1.6666666667;
  letter-spacing: 0;
  color: #0d8244;
}

.cd-application-form__success[hidden] {
  display: none;
}

.cd-application-form__spinner {
  display: inline-block;
  width: 0.875rem;
  height: 0.875rem;
  border: 0.125rem solid rgba(255, 255, 255, 0.4);
  border-top-color: currentcolor;
  border-radius: 50%;
  animation: cd-application-spin 0.7s linear infinite;
  vertical-align: -0.125rem;
}

@media (max-width: 1024px) {
  .cd-application-form {
    gap: 1.5rem;
  }

  .cd-application-form__grid {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }

  .cd-application-form__submit {
    align-self: stretch;
    width: 100%;
    min-width: 0;
    max-width: none;
    height: 3rem;
  }

  .cd-application-form__upload {
    padding: 0.85rem 1rem;
  }

  .cd-application-form__upload-hint {
    text-align: left;
  }
}
body.page-career-detail {
  overflow-x: clip;
}

.carrer_details_btn.ib-btn__inner {
  width: 16.75rem;
}

@media (max-width: 1024px) {
  .carrer_details_btn.ib-btn__inner {
    width: 100%;
  }
}
:root {
  --bg-primary: #fff9ed;
  --text-primary: #373742;
  --text-secondary: #676775;
  --text-disabled: #a7a7b0;
  --text-gray: #676775;
  --accent-red: #ea1b3d;
  --accent-peach: #ffd0d8;
  --border-color: rgba(103, 103, 117, 0.15);
  --font-primary: Lexend, -apple-system, blinkmacsystemfont, Segoe UI, roboto, sans-serif;
  --transition-smooth: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  --transition-slow: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  --container-width: 93.5rem;
  --container-width-padd: 101rem;
  --gutter: 60px;
}

*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

html {
  font-size: clamp(14px, 0.9259259259vw, 16px);
}

@media (max-width: 1024px) {
  html {
    font-size: 100%;
  }
}
html.scroll-locked,
html.scroll-locked .main-header {
  padding-right: var(--scrollbar-comp, 0);
}

html.scroll-locked .header-container .mega-menu {
  scrollbar-gutter: stable;
}

html,
body {
  width: 100%;
  height: 100%;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  background-color: #fff9ed;
  color: #373742;
  line-height: 1.6;
}

::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: #fff9ed;
}

::-webkit-scrollbar-thumb {
  background: #a7a7b0;
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: #676775;
}

a {
  color: inherit;
  text-decoration: none;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

button,
input,
textarea,
select {
  font-family: inherit;
}

@media (min-width: 769px) {
  .ib-mobile-only {
    display: none !important;
  }
}
@media (max-width: 768px), (min-width: 1025px) {
  .ib-tablet-only {
    display: none !important;
  }
}
@media (min-width: 1025px) {
  .ib-mobile-tablet-only {
    display: none !important;
  }
}
@media (max-width: 1024px) {
  .ib-desktop-only {
    display: none !important;
  }
}
@media (max-width: 1024px) and (prefers-reduced-motion: no-preference) {
  .ib-m-reveal {
    opacity: 0;
    transform: translate3d(0, 24px, 0);
    transition: opacity 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition-delay: var(--ib-m-reveal-delay, 0s);
    will-change: transform, opacity;
  }

  .ib-m-reveal.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
@keyframes ib-arrow-slide {
  0% {
    transform: translateX(0);
    opacity: 1;
  }
  45% {
    transform: translateX(7px);
    opacity: 0;
  }
  46% {
    transform: translateX(-5px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
.ib-btn {
  --_bg: #ea1b3d;
  --_bg-press: #aa142d;
  --_color: #fff;
  --_border: transparent;
  --_shadow: #ffd0d8;
  position: relative;
  isolation: isolate;
  display: inline-flex;
  align-items: stretch;
  height: 48px;
  padding: 0;
  font-family: var(--font-heading);
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  background: transparent;
  border: none;
  outline: none;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.ib-btn[hidden] {
  display: none;
}

.ib-btn::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--_shadow);
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
  opacity: 0;
  transform: translate(0, 0);
  transition: opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1), transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
}

.ib-btn__inner {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  padding: 0 22px;
  color: var(--_color);
  background: var(--_bg);
  line-height: 26px;
  letter-spacing: 0;
  text-align: center;
  text-transform: uppercase;
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
  transition: background 0.25s cubic-bezier(0.16, 1, 0.3, 1), color 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ib-btn__inner::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--_border);
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px, 10px 0, 10px 1.5px, 1.5px 10px, 1.5px calc(100% - 1.5px), calc(100% - 10px) calc(100% - 1.5px), calc(100% - 1.5px) calc(100% - 10px), calc(100% - 1.5px) 1.5px, 10px 1.5px);
  pointer-events: none;
  transition: background 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ib-btn__arrow {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ib-btn__arrow svg, .ib-btn__arrow.ib-icon {
  width: 14px;
  height: 14px;
}

.ib-btn:hover:not(:disabled, [aria-disabled=true])::after {
  opacity: 1;
  transform: translate(4px, 4px);
}

.ib-btn:focus-visible .ib-btn__inner {
  background: var(--_bg-press);
}

.ib-btn:active:not(:disabled) .ib-btn__inner {
  background: var(--_bg-press);
}

.ib-btn:disabled, .ib-btn[aria-disabled=true] {
  --_bg: #a7a7b0;
  --_border: #a7a7b0;
  --_color: #fff;
  cursor: not-allowed;
  pointer-events: none;
}

.ib-btn--primary {
  --_bg: #ea1b3d;
  --_bg-press: #aa142d;
  --_color: #fff;
  --_border: transparent;
  --_shadow: #ffd0d8;
}

.ib-btn--primary-light {
  --_bg: #fff9ed;
  --_bg-press: #ffefd1;
  --_color: #676775;
  --_border: transparent;
  --_shadow: #ffd0d8;
}

.ib-btn--primary-light:disabled, .ib-btn--primary-light[aria-disabled=true] {
  --_bg: #a7a7b0;
  --_color: #fff;
}

.ib-btn--secondary {
  --_bg: transparent;
  --_bg-press: transparent;
  --_color: #ea1b3d;
  --_border: #ea1b3d;
  --_shadow: #ffd0d8;
}

.ib-btn--secondary:focus-visible {
  --_border: #aa142d;
  --_color: #aa142d;
}

.ib-btn--secondary:active:not(:disabled) {
  --_border: #aa142d;
  --_color: #aa142d;
}

.ib-btn--secondary:disabled, .ib-btn--secondary[aria-disabled=true] {
  --_bg: transparent;
  --_color: #a7a7b0;
  --_border: #a7a7b0;
}

.ib-btn--secondary-light {
  --_bg: transparent;
  --_bg-press: transparent;
  --_color: #fff;
  --_border: #fff;
  --_shadow: #ffd0d8;
}

.ib-btn--secondary-light:hover:not(:disabled, [aria-disabled=true]) {
  --_bg: #ea1b3d;
  --_border: transparent;
}

.ib-btn--secondary-light:disabled, .ib-btn--secondary-light[aria-disabled=true] {
  --_bg: transparent;
  --_color: #a7a7b0;
  --_border: #a7a7b0;
}

.ib-btn--ghost {
  --_color: #ea1b3d;
  height: auto;
}

.ib-btn--ghost::after {
  display: none;
}

.ib-btn--ghost .ib-btn__inner {
  padding: 2px 0;
  height: auto;
  background: transparent;
  clip-path: none;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1.5px;
  -webkit-text-decoration-color: currentcolor;
          text-decoration-color: currentcolor;
  transition: color 0.25s cubic-bezier(0.16, 1, 0.3, 1), -webkit-text-decoration-color 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  transition: color 0.25s cubic-bezier(0.16, 1, 0.3, 1), text-decoration-color 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  transition: color 0.25s cubic-bezier(0.16, 1, 0.3, 1), text-decoration-color 0.25s cubic-bezier(0.16, 1, 0.3, 1), -webkit-text-decoration-color 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ib-btn--ghost .ib-btn__inner::before {
  display: none;
}

.ib-btn--ghost:focus-visible, .ib-btn--ghost:active:not(:disabled) {
  --_color: #aa142d;
}

.ib-btn--ghost:focus-visible .ib-btn__inner, .ib-btn--ghost:active:not(:disabled) .ib-btn__inner {
  background: transparent !important;
}

.ib-btn--ghost:disabled, .ib-btn--ghost[aria-disabled=true] {
  --_color: #a7a7b0;
  pointer-events: none;
}

.ib-btn--bare {
  --_bg: transparent;
  --_bg-press: transparent;
  --_color: #373742;
  --_border: transparent;
  --_shadow: transparent;
}

.ib-btn--bare::after {
  display: none;
}

.ib-btn--bare .ib-btn__inner {
  background: transparent;
  clip-path: none;
  transition: color 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ib-btn--bare .ib-btn__inner::before {
  display: none;
}

.ib-btn--bare .ib-icon,
.ib-btn--bare .ib-btn__arrow {
  color: var(--_color);
}

.ib-btn--bare:focus-visible .ib-btn__inner, .ib-btn--bare:active:not(:disabled) .ib-btn__inner {
  background: transparent;
}

.ib-btn--bare:disabled, .ib-btn--bare[aria-disabled=true] {
  --_bg: transparent;
  --_border: transparent;
  --_color: #a7a7b0;
}

.ib-btn--with-icon:hover:not(:disabled, [aria-disabled=true]) .ib-btn__arrow {
  animation: ib-arrow-slide 0.7s cubic-bezier(0.16, 1, 0.3, 1) infinite;
}

.ib-btn--icon-only {
  width: 48px;
}

.ib-btn--icon-only .ib-btn__inner {
  padding: 0;
}

.ib-btn--icon-only:hover:not(:disabled, [aria-disabled=true]) .ib-btn__arrow {
  animation: ib-arrow-slide 0.7s cubic-bezier(0.16, 1, 0.3, 1) infinite;
}

@media (max-width: 1024px) {
  .ib-btn {
    height: 44px;
    font-size: 15px;
  }

  .ib-btn__inner {
    padding: 0 18px;
  }

  .ib-btn__arrow svg, .ib-btn__arrow.ib-icon {
    width: 13px;
    height: 13px;
  }

  .ib-btn--icon-only {
    width: 44px;
  }

  .ib-btn--icon-only .ib-btn__inner {
    padding: 0;
  }
}
.cr-hero-section {
  position: relative;
  background: #fff9ed;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 10rem 1.5rem 0;
  overflow: hidden;
}

.cr-hero-section__inner {
  position: relative;
  width: 100%;
  max-width: 56.25rem;
  margin: 0 auto;
  text-align: center;
}

.cr-hero-section__heading {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 250;
  font-size: max(4.5rem, 12px);
  line-height: 1.2222222222;
  letter-spacing: -0.04em;
  margin: 0 auto;
  max-width: 14ch;
}

.cr-hero-section__highlight {
  background: linear-gradient(90deg, #284cba 0%, #ea1b3d 72.87%);
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
          background-clip: text;
}

.cr-hero-section__cta {
  margin-top: 2.5rem;
}

.cr-hero-section__arrow {
  position: absolute;
  left: 50%;
  top: calc(100% - 1.5rem);
  transform: translateX(-30%);
  width: 22.5rem;
  height: auto;
  pointer-events: none;
  z-index: 1;
}

.cr-hero-section__arrow path {
  fill: none;
  stroke: #ea1b3d;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 1600;
  stroke-dashoffset: 1600;
  transition: stroke-dashoffset 1.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.cr-hero-section__arrow.is-drawn path {
  stroke-dashoffset: 0;
}

@media (max-width: 1024px) {
  .cr-hero-section {
    min-height: auto;
    padding: 9.375rem 1.5rem 3.5rem;
  }

  .cr-hero-section__heading {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 400;
    font-size: 2.5rem;
    line-height: 2.875rem;
    letter-spacing: -0.04em;
    color: #373742;
    font-weight: 300;
  }

  .cr-hero-section__cta {
    margin-top: 1.75rem;
  }

  .cr-hero-section__arrow {
    position: static;
    transform: none;
    width: 12.5rem;
    margin: 2.25rem auto 0;
    display: block;
  }
}
@media (max-width: 1024px) and (max-width: 768px) {
  .cr-hero-section {
    padding-top: 8.125rem;
  }
}
.cr-culture-section {
  background: #fff9ed;
  padding: 0;
  overflow: hidden;
}

.cr-culture-section__heading {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: 3rem;
  line-height: 3.75rem;
  letter-spacing: -0.04em;
  color: #373742;
  font-weight: 300;
  text-align: center;
  max-width: 25ch;
  margin: 0 auto;
  font-size: clamp(1.5rem, 5.33vh, 3rem);
  line-height: clamp(1.875rem, 6.67vh, 3.75rem);
  margin-bottom: clamp(2rem, 8vh, 5rem);
}

.cr-culture-section__accent {
  color: #ea1b3d;
}

.cr-culture-section__wheel-runway {
  position: relative;
  height: 400vh;
}

.cr-culture-section__wheel-pin {
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  overflow: hidden;
  background: #fff9ed;
  padding: clamp(7.5rem, 18vh, 10rem) 1.5rem 1.5rem;
}

.cr-culture-section__showcase {
  position: relative;
  max-width: 101rem;
  margin: 0 auto;
  min-height: 22.5rem;
}

.cr-culture-section__badge-card {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20rem;
  height: 25rem;
  margin-left: 18%;
  background: #ffefd1;
  border-radius: 4px;
  transform: translateY(var(--cr-parallax, 0)) rotate(-0.32deg);
  will-change: transform;
}

.cr-culture-section__badge-card img {
  width: 11.25rem;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}

.cr-culture-section__wheel {
  --cr-card-h: min(25rem, 42vh);
  --cr-card-w: calc(var(--cr-card-h) * .8);
  --cr-radius: 2600px;
  position: absolute;
  left: 0;
  right: 0;
  top: -1.25rem;
  z-index: 2;
  width: auto;
  height: calc(var(--cr-card-h) + 3.75rem);
  perspective: 2000px;
  transform: translateY(calc(var(--cr-parallax, 0px) * -1.4));
  will-change: transform;
  opacity: 0;
}

.cr-culture-section__wheel-stage {
  position: absolute;
  left: 50%;
  top: 0;
  width: 0;
  height: var(--cr-radius);
  transform-style: preserve-3d;
}

.cr-culture-section__wheel-card {
  position: absolute;
  left: 0;
  top: 0;
  width: var(--cr-card-w);
  height: var(--cr-card-h);
  margin: 0 0 0 calc(var(--cr-card-w) / -2);
  transform-origin: 50% var(--cr-radius);
  perspective: 1400px;
  will-change: transform, opacity;
}

.cr-culture-section__wheel-inner {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  transform-origin: 50% 50%;
  transform-style: preserve-3d;
}

.cr-culture-section__wheel-face {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #ffefd1;
  backface-visibility: hidden;
}

.cr-culture-section__wheel-face img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  display: block;
}

.cr-culture-section__wheel-face--back {
  transform: rotateY(180deg);
  padding: 2rem;
  text-align: left;
}

.cr-culture-section__wheel-back-text {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.125rem, 12px);
  line-height: 1.6666666667;
  letter-spacing: 0;
  display: block;
  width: 100%;
  min-width: 0;
  color: #373742;
  max-width: 12.75rem;
}

.cr-culture-section__collage {
  position: absolute;
  right: -2.5rem;
  top: -1.25rem;
  width: 38.75rem;
  height: auto;
  pointer-events: none;
  transform: translateY(calc(var(--cr-parallax, 0px) * -1.4));
  will-change: transform;
}

.cr-culture-section__media {
  position: absolute;
  right: -2.5rem;
  top: -1.25rem;
  width: 36.9375rem;
  transform: translateY(calc(var(--cr-parallax, 0px) * -1.4));
  will-change: transform;
}

.cr-culture-section__media-box {
  position: relative;
  z-index: 5;
  pointer-events: none;
  width: min(36.9375rem, 92vw, 64vh);
  aspect-ratio: 591/339;
  margin: 0 auto;
  transform-origin: center center;
  will-change: transform;
}

.cr-culture-section__clip-defs {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
  pointer-events: none;
}

.cr-culture-section__video-clip {
  position: absolute;
  inset: 0;
  z-index: 1;
  clip-path: url("#cr-culture-arrow-clip");
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;
}

.cr-culture-section__video-frame {
  position: absolute;
  display: block;
  border: 0;
  transform-origin: center center;
  pointer-events: none;
}

.cr-culture-section__video-shape {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.cr-culture-section__arrow-frame {
  display: none;
  fill: #fff9ed;
  pointer-events: none;
  transform-box: fill-box;
  will-change: transform;
}

.cr-culture-section__arrow-outline {
  pointer-events: none;
  transition: opacity 0.4s ease;
}

.cr-culture-section__video-hit {
  opacity: 0;
  pointer-events: fill;
  cursor: pointer;
}

.cr-culture-section__video-shield {
  position: absolute;
  inset: 0;
  z-index: 3;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  pointer-events: none;
}

.cr-culture-section--zoom.is-full-bleed .cr-culture-section__video-shield {
  pointer-events: auto;
}

.cr-culture-section__audio-toggle {
  position: absolute;
  right: 1.5rem;
  bottom: 1.5rem;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(47, 47, 57, 0.55);
  color: #fff9ed;
  font-size: 1rem;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: background 0.3s ease;
}

.cr-culture-section__audio-toggle:hover, .cr-culture-section__audio-toggle:focus-visible {
  background: rgba(47, 47, 57, 0.78);
}

.cr-culture-section__audio-toggle:focus-visible {
  outline: 2px solid #fff9ed;
  outline-offset: 2px;
}

.cr-culture-section--zoom.is-full-bleed .cr-culture-section__audio-toggle {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.cr-culture-section__audio-icon {
  display: flex;
  align-items: center;
  justify-content: center;
}

.cr-culture-section__audio-icon .fa-volume-high {
  display: none;
}

.cr-culture-section__audio-toggle:not(.is-muted) .cr-culture-section__audio-icon .fa-volume-high {
  display: block;
}

.cr-culture-section__audio-toggle:not(.is-muted) .cr-culture-section__audio-icon .fa-volume-xmark {
  display: none;
}

.cr-culture-section__zoom-vignette {
  display: none;
}

.cr-culture-section--zoom {
  padding: 0;
  margin-top: 0;
  overflow: visible;
  position: relative;
  z-index: 2;
  background: transparent;
}

.cr-culture-section__zoom-runway {
  height: 250vh;
  position: relative;
}

.cr-culture-section__zoom-pin {
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: clamp(6.25rem, 16vh, 10rem) 1.5rem 1.5rem;
  background: #fff9ed;
}

.cr-culture-section__zoom-stage {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 56.25rem;
}

.cr-culture-section__zoom-intro {
  width: 100%;
  text-align: center;
  transition: opacity 0.5s ease;
  will-change: opacity;
}

.cr-culture-section__zoom-intro .cr-hero-section__heading {
  font-size: clamp(1.75rem, 8vh, 4.5rem);
  line-height: clamp(2.125rem, 8.89vh, 5rem);
}

.cr-culture-section__zoom-intro .cr-hero-section__cta {
  margin-top: clamp(2rem, 3vh, 3rem);
}

.cr-culture-section--zoom .cr-culture-section__media-box {
  margin-top: clamp(1.5rem, 5vh, 5rem);
  margin-bottom: clamp(1.5rem, 5vh, 5rem);
  flex-shrink: 0;
}

.cr-culture-section--zoom.is-playing .cr-culture-section__video-clip {
  opacity: 1;
}

.cr-culture-section--zoom.is-playing .cr-culture-section__arrow-outline {
  opacity: 0;
}

.cr-culture-section--zoom.is-zoomed .cr-culture-section__zoom-intro {
  opacity: 0;
  transition: opacity 0.5s ease, pointer-events 0.5s step-end;
  pointer-events: none;
}

.cr-culture-section--content {
  overflow: visible;
  opacity: 0;
  visibility: hidden;
  transform: translateY(2rem);
  transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1), transform 0.7s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.7s;
}

.cr-culture-section--content.is-visible {
  opacity: 1;
  visibility: visible;
  transform: none;
}

@media (max-width: 1024px) {
  .cr-culture-section {
    padding: 1.5rem 0 4.5rem;
  }

  .cr-culture-section--zoom {
    padding: 0;
  }

  .cr-culture-section__zoom-runway {
    height: 280vh;
  }

  .cr-culture-section__zoom-pin {
    padding: 8.75rem 1rem 1.5rem;
  }

  .cr-culture-section__wheel-pin {
    padding: 8.75rem 1.5rem 1.5rem;
  }

  .cr-culture-section__audio-toggle {
    right: 0.625rem;
    bottom: 0.625rem;
  }
}
@media (max-width: 1024px) and (max-width: 768px) {
  .cr-culture-section__zoom-pin {
    padding-top: 7.5rem;
  }

  .cr-culture-section__wheel-pin {
    padding-top: 7.5rem;
  }
}
@media (max-width: 1024px) {
  .cr-culture-section__zoom-stage {
    max-width: 100%;
    justify-content: center;
  }
}
@media (max-width: 1024px) {
  .cr-culture-section__zoom-intro {
    display: grid;
    grid-template-rows: 1fr;
    transition: opacity 0.5s ease, grid-template-rows 0.5s ease;
  }
}
@media (max-width: 1024px) {
  .cr-culture-section__zoom-intro-inner {
    overflow: hidden;
    min-height: 0;
  }
}
@media (max-width: 1024px) {
  .cr-culture-section--zoom.is-zoomed .cr-culture-section__zoom-intro {
    grid-template-rows: 0fr;
    transition: opacity 0.5s ease, grid-template-rows 0.5s ease, pointer-events 0.5s step-end;
  }
}
@media (max-width: 1024px) {
  .cr-culture-section--zoom.is-zoomed .cr-culture-section__media-box {
    margin-top: 0;
    transition: margin-top 0.5s ease;
  }
}
@media (max-width: 1024px) {
  .cr-culture-section__media-box {
    width: min(17.5rem, 78vw);
    margin-top: 1.5rem;
    margin-left: 0;
    margin-right: 0;
    will-change: auto;
  }
}
@media (max-width: 1024px) {
  .cr-culture-section__video-clip {
    clip-path: none;
  }
}
@media (max-width: 1024px) {
  .cr-culture-section__arrow-frame {
    display: block;
  }
}
@media (max-width: 1024px) {
  .cr-culture-section--content {
    opacity: 1;
    visibility: visible;
    transform: none;
  }
}
@media (max-width: 1024px) {
  .cr-culture-section__heading {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 400;
    font-size: max(2rem, 12px);
    line-height: 1.5;
    letter-spacing: 0;
    font-weight: 400;
    margin-bottom: 2.5rem;
  }
}
@media (max-width: 1024px) {
  .cr-culture-section__zoom-intro .cr-hero-section__heading {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 400;
    font-size: max(3rem, 12px);
    line-height: 1.0833333333;
    letter-spacing: -0.04em;
    font-weight: 400;
  }
}
@media (max-width: 1024px) {
  .cr-culture-section__showcase {
    width: 100%;
    flex: 1 1 auto;
    min-height: 0;
  }
}
@media (max-width: 1024px) {
  .cr-culture-section__badge-card {
    margin-left: 0;
    transform: none;
  }
}
@media (max-width: 1024px) {
  .cr-culture-section__wheel-runway {
    height: 300vh;
  }
}
@media (max-width: 1024px) {
  .cr-culture-section__wheel {
    --cr-card-w: 174px;
    --cr-card-h: 218px;
    --cr-radius: 1000px;
    left: 0;
    right: 0;
    top: 50%;
    margin-top: calc(var(--cr-card-h) / -2);
    width: auto;
    height: var(--cr-card-h);
    transform: translateY(calc(var(--cr-parallax, 0px) * -1.4)) rotate(-0.32deg);
  }
}
@media (max-width: 1024px) {
  .cr-culture-section__wheel-face--back {
    padding: 1rem;
  }
}
@media (max-width: 1024px) {
  .cr-culture-section__wheel-back-text {
    font-size: 0.875rem;
  }
}
@media (max-width: 1024px) {
  .cr-culture-section__collage {
    position: static;
    width: 100%;
    max-width: 22.5rem;
    transform: none;
  }
}
@media (max-width: 1024px) {
  .cr-culture-section__media {
    position: static;
    width: 100%;
    max-width: 22.5rem;
    transform: none;
  }
}
.cr-values-section {
  background: #fff9ed;
  padding: 2.5rem 1.5rem 8.75rem;
}

.cr-values-section__heading {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: 3rem;
  line-height: 3.75rem;
  letter-spacing: -0.04em;
  color: #373742;
  font-weight: 300;
  text-align: center;
  margin: 0 auto 5rem;
}

.cr-values-section__accent {
  color: #ea1b3d;
}

.cr-values-section__list {
  list-style: none;
  margin: 0 auto;
  padding: 0;
  max-width: 81.3125rem;
}

.cr-values-section__item {
  border-top: 0.0625rem solid #e6e6ed;
}

.cr-values-section__trigger {
  display: flex;
  align-items: baseline;
  justify-content: flex-end;
  gap: 1rem;
  width: 100%;
  padding: 1.75rem 0;
  background: none;
  border: none;
  cursor: pointer;
  text-align: right;
}

.cr-values-section__title {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: 2.5rem;
  line-height: 0.25rem;
  letter-spacing: -0.04em;
  color: #373742;
  transition: color 0.3s ease;
}

.cr-values-section__panel {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.cr-values-section__item.is-active .cr-values-section__panel {
  grid-template-rows: 1fr;
}

.cr-values-section__desc {
  overflow: hidden;
  min-height: 0;
}

.cr-values-section__desc-inner {
  display: block;
  padding: 0 0 1.75rem;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.25rem, 12px);
  line-height: 1.7;
  letter-spacing: 0;
  color: #373742;
  text-align: right;
  margin-left: auto;
  opacity: 0;
  transform: translateY(0.5rem);
  transition: opacity 0.5s ease 0.05s, transform 0.5s ease 0.05s;
}

.cr-values-section__item.is-active .cr-values-section__desc-inner {
  opacity: 1;
  transform: translateY(0);
}

@media (min-width: 1025px) {
  .cr-values-section {
    padding: 6.25rem 9.75rem 10rem;
  }

  .cr-values-section__list {
    width: 100%;
  }

  .cr-values-section__item {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 31.25rem;
    -moz-column-gap: 0.625rem;
         column-gap: 0.625rem;
    align-items: center;
    min-height: 10.625rem;
    border-top: none;
  }

  .cr-values-section__item::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 25rem;
    height: 0.0625rem;
    background: #e6e6ed;
  }

  .cr-values-section__item::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 0.0625rem;
    background: linear-gradient(90deg, #e6e6ed 0%, #e6e6ed 42%, #ea1b3d 66%, #e6e6ed 86%, #e6e6ed 100%);
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }

  .cr-values-section__item.is-active::after {
    transform: scaleX(1);
  }

  .cr-values-section__trigger {
    grid-column: 2;
    grid-row: 1;
    gap: 1.5rem;
    justify-content: flex-start;
  }

  .cr-values-section__title {
    display: inline-block;
    transform: translateY(0);
    transition: color 0.3s ease, transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }

  .cr-values-section__item.is-active .cr-values-section__title {
    font-weight: 400;
    transform: translateY(-0.25rem);
  }

  .cr-values-section__panel {
    grid-column: 1;
    grid-row: 1;
    display: block;
    grid-template-rows: none;
    opacity: 0;
    visibility: hidden;
    transform: translateY(1.75rem);
    will-change: transform, opacity;
    transition: opacity 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94), visibility 0.45s;
    pointer-events: none;
  }

  .cr-values-section__item.is-active .cr-values-section__panel {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }
}
@media (min-width: 1025px) and (hover: hover) {
  .cr-values-section__list:hover .cr-values-section__item.is-active:not(:hover)::after {
    transform: scaleX(0);
  }

  .cr-values-section__list:hover .cr-values-section__item.is-active:not(:hover) .cr-values-section__title {
    transform: translateY(0);
  }

  .cr-values-section__list:hover .cr-values-section__item.is-active:not(:hover) .cr-values-section__panel {
    opacity: 0;
    visibility: hidden;
    transform: translateY(1.75rem);
  }

  .cr-values-section__item:hover::after {
    transform: scaleX(1);
  }

  .cr-values-section__item:hover .cr-values-section__title {
    font-weight: 400;
    transform: translateY(-0.25rem);
  }

  .cr-values-section__item:hover .cr-values-section__panel {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }
}
@media (min-width: 1025px) {
  .cr-values-section__desc {
    overflow: visible;
  }
}
@media (min-width: 1025px) {
  .cr-values-section__desc-inner {
    padding: 0;
    text-align: left;
    margin-left: 0;
    font-size: 1.25rem;
    line-height: 1.6;
    opacity: 1;
    transform: none;
  }
}
@media (max-width: 1024px) {
  .cr-values-section {
    padding: 5rem 1.25rem;
  }

  .cr-values-section__heading {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 400;
    font-size: max(2rem, 12px);
    line-height: 1.5;
    letter-spacing: 0;
    font-weight: 400;
    text-align: left;
    margin: 0 0 2.5rem;
  }

  .cr-values-section__item {
    border-top: none;
    padding: 0 0 1rem;
    margin-bottom: 0;
  }

  .cr-values-section__item::after {
    display: none;
  }

  .cr-values-section__trigger {
    flex-direction: row;
    align-items: baseline;
    justify-content: flex-start;
    gap: 0.5rem;
    padding: 0;
    text-align: left;
    cursor: default;
    pointer-events: none;
  }

  .cr-values-section__title {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 500;
    font-size: max(1.5rem, 12px);
    line-height: 1.4166666667;
    letter-spacing: -0.04em;
    color: #000;
    margin-top: 0;
  }

  .cr-values-section__panel {
    grid-template-rows: 1fr;
  }

  .cr-values-section__desc-inner {
    padding: 1rem 0 1.75rem;
    text-align: left;
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(1.25rem, 12px);
    line-height: 1.7;
    letter-spacing: 0;
    max-width: none;
    opacity: 1;
    transform: none;
  }
}
.cr-team-overlap {
  position: relative;
}

.cr-team-photo-section {
  position: sticky;
  top: 0;
  z-index: 0;
  background: #fff9ed;
  padding: 0;
}

.cr-team-photo-section__frame {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.cr-team-photo-section__img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: auto;
}

@media (max-width: 1024px) {
  .cr-team-photo-section {
    padding: 0;
  }
}
.cr-roles-section {
  position: relative;
  z-index: 1;
  background: #fff9ed;
  padding: 8.75rem 0 7.5rem;
}

.cr-roles-section__container {
  max-width: 101rem;
  margin: 0 auto;
  padding-inline: var(--gutter);
}

.cr-roles-section__heading {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: 3rem;
  line-height: 3.75rem;
  letter-spacing: -0.04em;
  color: #373742;
  font-weight: 300;
  margin: 0 0 2.5rem;
  max-width: 18ch;
}

.cr-roles-section__accent {
  color: #ea1b3d;
}

.cr-roles-section__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.375rem;
}

.cr-roles-section__card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 25.125rem;
  padding: 1.75rem 1.75rem 2.5rem;
  background: #ffefd1;
  text-align: left;
  clip-path: polygon(1.5625rem 0, 100% 0, 100% calc(100% - 1.1875rem), calc(100% - 1.5625rem) 100%, 0 100%, 0 1.1875rem);
}

@media (min-width: 1025px) {
  .cr-roles-section__card {
    opacity: 0;
    transform: translateY(2.5rem);
    will-change: transform, opacity;
  }

  .cr-roles-section__card.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}
.cr-roles-section__card-label {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.25rem, 12px);
  line-height: 1.7;
  letter-spacing: 0;
  color: #373742;
  margin-bottom: 1.5rem;
}

.cr-roles-section__card-title {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: 1.5rem;
  line-height: 2.125rem;
  letter-spacing: -0.04em;
  color: #373742;
  font-weight: 500;
  margin: 0 0 0.75rem;
}

.cr-roles-section__card-meta {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.125rem, 12px);
  line-height: 1.6666666667;
  letter-spacing: 0;
  color: #373742;
  margin: 0 0 0.75rem;
}

.cr-roles-section__card-experience {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.125rem, 12px);
  line-height: 1.6666666667;
  letter-spacing: 0;
  color: #373742;
}

.cr-roles-section__apply {
  margin-top: auto;
  align-self: flex-start;
}

@media (min-width: 1025px) {
  .cr-roles-section__card:nth-child(2).is-visible {
    transition-delay: 0.1s;
  }

  .cr-roles-section__card:nth-child(3).is-visible {
    transition-delay: 0.2s;
  }
}
@media (max-width: 1024px) {
  .cr-roles-section {
    padding: 5rem 0;
  }

  .cr-roles-section__container {
    padding-inline: 1.25rem;
  }

  .cr-roles-section__heading {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 400;
    font-size: max(3rem, 12px);
    line-height: 1.0833333333;
    letter-spacing: -0.04em;
    font-weight: 300;
    margin-bottom: 3rem;
    max-width: none;
  }

  .cr-roles-section__heading br {
    display: none;
  }

  .cr-roles-section__grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .cr-roles-section__card {
    min-height: 23.75rem;
    padding: 1.75rem 1.75rem 2.5rem;
    clip-path: polygon(25px 0, 100% 0, 100% calc(100% - 26px), calc(100% - 26px) 100%, 0 100%, 0 20px);
  }

  .cr-roles-section__card-meta, .cr-roles-section__card-experience {
    color: #373742;
  }
}
.cr-openings-section {
  background: #fff9ed;
  padding: 5rem 0 6.25rem;
}

.cr-openings-section__container {
  max-width: 101rem;
  margin: 0 auto;
  padding-inline: var(--gutter);
}

.cr-openings-section__heading {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(3rem, 12px);
  line-height: 1.0833333333;
  letter-spacing: -0.04em;
  font-weight: 300;
  margin: 0 0 2.5rem;
  max-width: 16ch;
}

.cr-openings-section__accent {
  color: #ea1b3d;
}

.cr-openings-section__filters {
  display: flex;
  align-items: flex-end;
  gap: 1.5rem;
  margin-bottom: 2.5rem;
}

.cr-openings-section__field {
  display: flex;
  flex-direction: column;
  gap: 0.9375rem;
  min-width: 18.75rem;
}

.cr-openings-section__field-label {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.25rem, 12px);
  line-height: 1.7;
  letter-spacing: 0;
  color: #676775;
}

.cr-openings-section__select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 100%;
  padding: 0.5rem 2.75rem 0.5rem 1rem;
  background: #ffefd1;
  border: none;
  border-bottom: 0.0625rem solid #676775;
  border-radius: 0;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.25rem, 12px);
  line-height: 1.7;
  letter-spacing: 0;
  color: #373742;
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23373742' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1.125rem center;
}

.cr-openings-section__search {
  position: relative;
  margin-left: auto;
  align-self: flex-end;
  min-width: 20.4375rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 0.25rem;
  border-bottom: 0.0625rem solid #676775;
}

.cr-openings-section__search-icon {
  color: #000;
  flex-shrink: 0;
}

.cr-openings-section__search-input {
  flex: 1;
  border: none;
  background: none;
  outline: none;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.125rem, 12px);
  line-height: 1.6666666667;
  letter-spacing: 0;
  color: #373742;
}

.cr-openings-section__search-input::-moz-placeholder {
  color: #676775;
}

.cr-openings-section__search-input::placeholder {
  color: #676775;
}

.cr-openings-section__list {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}

.cr-openings-section__group {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.5rem;
  padding-bottom: 2.625rem;
  border-bottom: 0.0625rem solid #e6e6ed;
}

.cr-openings-section__group[hidden] {
  display: none;
}

.cr-openings-section__group_first {
  padding-top: 2.5rem;
}

.cr-openings-section__group-label {
  flex: 0 0 auto;
  align-self: flex-start;
  position: sticky;
  top: 7.5rem;
  padding-top: 1.5rem;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.25rem, 12px);
  line-height: 1.7;
  letter-spacing: 0;
  color: #373742;
}

.cr-openings-section__group-rows {
  flex: 0 1 60.1875rem;
  min-width: 0;
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.cr-openings-section__row {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.625rem;
  padding: 2rem 1.5rem;
  border-radius: 0;
  background: transparent;
  transition: background 0.35s ease;
}

@media (min-width: 1025px) {
  .cr-openings-section__row {
    opacity: 0;
    transform: translateY(1.5rem);
    will-change: transform, opacity;
  }

  .cr-openings-section__row.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}
@media (min-width: 1025px) {
  .cr-openings-section__row:hover .cr-openings-section__row-title, .cr-openings-section__row:hover .cr-openings-section__row-meta, .cr-openings-section__row.is-active .cr-openings-section__row-title, .cr-openings-section__row.is-active .cr-openings-section__row-meta {
    color: #fff;
  }

  .cr-openings-section__row:hover .cr-openings-section__row-chip, .cr-openings-section__row.is-active .cr-openings-section__row-chip {
    background: #fff;
    color: #373742;
  }
}
.cr-openings-section__row-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0;
  transition: opacity 0.5s ease;
  z-index: 0;
  pointer-events: none;
}

@media (min-width: 1025px) {
  .cr-openings-section__row:hover .cr-openings-section__row-video, .cr-openings-section__row.is-active .cr-openings-section__row-video {
    opacity: 1;
  }
}
.cr-openings-section__row-info, .cr-openings-section__row-apply {
  position: relative;
  z-index: 1;
}

.cr-openings-section__row-link {
  position: absolute;
  inset: 0;
  z-index: 2;
  cursor: pointer;
}

.cr-openings-section__row:hover .cr-openings-section__row-apply .ib-btn__arrow, .cr-openings-section__row.is-active .cr-openings-section__row-apply .ib-btn__arrow {
  animation: ib-arrow-slide 0.7s cubic-bezier(0.16, 1, 0.3, 1) infinite;
}

.cr-openings-section__row[hidden] {
  display: none;
}

.cr-openings-section__row-info {
  flex: 1 1 auto;
  min-width: 0;
}

.cr-openings-section__row-title {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 500;
  font-size: max(1.5rem, 12px);
  line-height: 1.4166666667;
  letter-spacing: -0.04em;
  margin: 0 0 0.75rem;
}

.cr-openings-section__row-meta {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.125rem, 12px);
  line-height: 1.6666666667;
  letter-spacing: 0;
  color: #373742;
  margin: 0 0 0.75rem;
}

.cr-openings-section__row-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.cr-openings-section__row-chip {
  background: #ffefd1;
  border-radius: 0;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: 0.875rem;
  line-height: 1.5rem;
  color: #676775;
  padding: 0 0.75rem;
  text-transform: uppercase;
  border: 0.5px solid #676775;
  box-shadow: 1px 1px 0 0 #ffd0d8;
  transition: background 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}

@media (min-width: 1025px) {
  .cr-openings-section__row-apply.ib-btn {
    flex: 0 0 auto;
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 2rem;
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 400;
    font-size: max(0.875rem, 12px);
    line-height: 1.5714285714;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 0.1em;
    color: #373742;
    white-space: nowrap;
    background: transparent;
    border-radius: 4px;
    text-decoration: none;
    transition: color 0.3s ease;
    position: relative;
    z-index: 1;
  }

  .cr-openings-section__row-apply.ib-btn .ib-btn__inner {
    padding: 0;
    width: auto;
    height: auto;
    background: transparent;
    clip-path: none;
    color: inherit;
    letter-spacing: inherit;
    line-height: inherit;
  }

  .cr-openings-section__row-apply.ib-btn .ib-btn__inner::before {
    display: none;
  }

  .cr-openings-section__row-apply.ib-btn::before, .cr-openings-section__row-apply.ib-btn::after {
    content: "";
    position: absolute;
    z-index: -1;
    opacity: 0;
    clip-path: polygon(12px 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%, 0 12px);
    transition: opacity 0.35s ease, transform 0.35s ease;
  }

  .cr-openings-section__row-apply.ib-btn::before {
    inset: 0;
    background: #fff9ed;
  }

  .cr-openings-section__row-apply.ib-btn::after {
    z-index: -2;
    inset: 0.25rem -0.25rem -0.25rem 0.25rem;
    background: #ffd0d8;
  }

  .cr-openings-section__row:hover .cr-openings-section__row-apply, .cr-openings-section__row.is-active .cr-openings-section__row-apply {
    color: #373742;
  }

  .cr-openings-section__row:hover .cr-openings-section__row-apply::before, .cr-openings-section__row:hover .cr-openings-section__row-apply::after, .cr-openings-section__row.is-active .cr-openings-section__row-apply::before, .cr-openings-section__row.is-active .cr-openings-section__row-apply::after {
    opacity: 1;
    transform: none;
  }
}
.cr-openings-section__empty {
  padding: 3rem 0;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.25rem, 12px);
  line-height: 1.7;
  letter-spacing: 0;
  color: #676775;
}

.cr-openings-section__note {
  margin-top: 2.5rem;
  text-align: center;
  padding: 3.125rem 0;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.125rem, 12px);
  line-height: 1.6666666667;
  letter-spacing: 0;
  color: #373742;
}

.cr-openings-section__note a {
  color: #ea1b3d;
  text-decoration: underline;
  text-underline-offset: 0.125rem;
}

@media (max-width: 1024px) {
  .cr-openings-section {
    padding: 5rem 0;
  }

  .cr-openings-section__container {
    padding-inline: 1.25rem;
  }

  .cr-openings-section__heading {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 400;
    font-size: max(2rem, 12px);
    line-height: 1.5;
    letter-spacing: 0;
    margin-bottom: 2rem;
    max-width: none;
  }

  .cr-openings-section__filters {
    flex-direction: column;
    align-items: stretch;
    gap: 1.5rem;
    margin-bottom: 2rem;
  }

  .cr-openings-section__field {
    min-width: 0;
    gap: 0.5rem;
  }

  .cr-openings-section__field-label {
    font-size: 1.25rem;
    line-height: 2.125rem;
  }

  .cr-openings-section__select {
    font-size: 1.25rem;
    line-height: 2.125rem;
    padding: 0.75rem 2.75rem 0.75rem 1rem;
  }

  .cr-openings-section__search {
    margin-left: 0;
    width: 100%;
    min-width: 0;
    padding: 0.8125rem 1rem;
    border-bottom: 0.0625rem solid #676775;
  }

  .cr-openings-section__search-input {
    font-size: 1.125rem;
    line-height: 1.875rem;
    color: #676775;
  }

  .cr-openings-section__list {
    gap: 2.5rem;
    border-top: none;
  }

  .cr-openings-section__group {
    flex-direction: column;
    gap: 1rem;
    padding-bottom: 0;
    border-bottom: none;
  }

  .cr-openings-section__group_first {
    padding-top: 0;
  }

  .cr-openings-section__group-label {
    position: static;
    padding-top: 0;
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 500;
    font-size: max(1.125rem, 12px);
    line-height: 1.6666666667;
    letter-spacing: 0;
    text-transform: uppercase;
    color: #aa142d;
  }

  .cr-openings-section__group-rows {
    flex: 1 1 auto;
    width: 100%;
    gap: 1rem;
  }

  .cr-openings-section__row {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.25rem;
    padding: 1rem;
    border-bottom: 0.0625rem solid #e6e6ed;
    background: #fff9ed;
  }

  .cr-openings-section__row-info {
    width: 100%;
  }

  .cr-openings-section__row-title {
    font-size: 1.5rem;
    line-height: 2.125rem;
    letter-spacing: -0.04em;
    font-weight: 500;
    margin-bottom: 0.25rem;
  }

  .cr-openings-section__row-meta {
    font-size: 1.125rem;
    line-height: 1.875rem;
    font-weight: 300;
    color: #373742;
  }

  .cr-openings-section__row-chips {
    margin-top: 0.25rem;
  }

  .cr-openings-section__row-apply.ib-btn {
    height: auto;
    margin-top: 1rem;
    background: transparent;
  }

  .cr-openings-section__row-apply.ib-btn .ib-btn__inner {
    padding: 0;
    background: transparent;
    clip-path: none;
    color: #ea1b3d;
    text-decoration: underline;
    text-underline-offset: 0.1875rem;
  }

  .cr-openings-section__row-apply.ib-btn .ib-btn__inner::before {
    display: none;
  }

  .cr-openings-section__row-apply.ib-btn .ib-btn__arrow {
    color: #ea1b3d;
  }

  .cr-openings-section__row-apply.ib-btn::before, .cr-openings-section__row-apply.ib-btn::after {
    display: none;
  }

  .cr-openings-section__note {
    margin-top: 2rem;
    text-align: center;
    font-size: 1rem;
    line-height: 1.625rem;
    font-weight: 300;
    color: #373742;
    padding: 0;
  }
}
body.page-careers {
  overflow-x: clip;
}

html:has(body.page-careers) {
  overflow-x: clip;
  scroll-behavior: smooth;
  scroll-snap-type: none;
}

:root {
  --bg-primary: #fff9ed;
  --text-primary: #373742;
  --text-secondary: #676775;
  --text-disabled: #a7a7b0;
  --text-gray: #676775;
  --accent-red: #ea1b3d;
  --accent-peach: #ffd0d8;
  --border-color: rgba(103, 103, 117, 0.15);
  --font-primary: Lexend, -apple-system, blinkmacsystemfont, Segoe UI, roboto, sans-serif;
  --transition-smooth: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  --transition-slow: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  --container-width: 93.5rem;
  --container-width-padd: 101rem;
  --gutter: 60px;
}

*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

html {
  font-size: clamp(14px, 0.9259259259vw, 16px);
}

@media (max-width: 1024px) {
  html {
    font-size: 100%;
  }
}
html.scroll-locked,
html.scroll-locked .main-header {
  padding-right: var(--scrollbar-comp, 0);
}

html.scroll-locked .header-container .mega-menu {
  scrollbar-gutter: stable;
}

html,
body {
  width: 100%;
  height: 100%;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  background-color: #fff9ed;
  color: #373742;
  line-height: 1.6;
}

::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: #fff9ed;
}

::-webkit-scrollbar-thumb {
  background: #a7a7b0;
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: #676775;
}

a {
  color: inherit;
  text-decoration: none;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

button,
input,
textarea,
select {
  font-family: inherit;
}

@media (min-width: 769px) {
  .ib-mobile-only {
    display: none !important;
  }
}
@media (max-width: 768px), (min-width: 1025px) {
  .ib-tablet-only {
    display: none !important;
  }
}
@media (min-width: 1025px) {
  .ib-mobile-tablet-only {
    display: none !important;
  }
}
@media (max-width: 1024px) {
  .ib-desktop-only {
    display: none !important;
  }
}
@media (max-width: 1024px) and (prefers-reduced-motion: no-preference) {
  .ib-m-reveal {
    opacity: 0;
    transform: translate3d(0, 24px, 0);
    transition: opacity 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition-delay: var(--ib-m-reveal-delay, 0s);
    will-change: transform, opacity;
  }

  .ib-m-reveal.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
@keyframes ib-arrow-slide {
  0% {
    transform: translateX(0);
    opacity: 1;
  }
  45% {
    transform: translateX(7px);
    opacity: 0;
  }
  46% {
    transform: translateX(-5px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
.ib-btn {
  --_bg: #ea1b3d;
  --_bg-press: #aa142d;
  --_color: #fff;
  --_border: transparent;
  --_shadow: #ffd0d8;
  position: relative;
  isolation: isolate;
  display: inline-flex;
  align-items: stretch;
  height: 48px;
  padding: 0;
  font-family: var(--font-heading);
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  background: transparent;
  border: none;
  outline: none;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.ib-btn[hidden] {
  display: none;
}

.ib-btn::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--_shadow);
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
  opacity: 0;
  transform: translate(0, 0);
  transition: opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1), transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
}

.ib-btn__inner {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  padding: 0 22px;
  color: var(--_color);
  background: var(--_bg);
  line-height: 26px;
  letter-spacing: 0;
  text-align: center;
  text-transform: uppercase;
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
  transition: background 0.25s cubic-bezier(0.16, 1, 0.3, 1), color 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ib-btn__inner::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--_border);
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px, 10px 0, 10px 1.5px, 1.5px 10px, 1.5px calc(100% - 1.5px), calc(100% - 10px) calc(100% - 1.5px), calc(100% - 1.5px) calc(100% - 10px), calc(100% - 1.5px) 1.5px, 10px 1.5px);
  pointer-events: none;
  transition: background 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ib-btn__arrow {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ib-btn__arrow svg, .ib-btn__arrow.ib-icon {
  width: 14px;
  height: 14px;
}

.ib-btn:hover:not(:disabled, [aria-disabled=true])::after {
  opacity: 1;
  transform: translate(4px, 4px);
}

.ib-btn:focus-visible .ib-btn__inner {
  background: var(--_bg-press);
}

.ib-btn:active:not(:disabled) .ib-btn__inner {
  background: var(--_bg-press);
}

.ib-btn:disabled, .ib-btn[aria-disabled=true] {
  --_bg: #a7a7b0;
  --_border: #a7a7b0;
  --_color: #fff;
  cursor: not-allowed;
  pointer-events: none;
}

.ib-btn--primary {
  --_bg: #ea1b3d;
  --_bg-press: #aa142d;
  --_color: #fff;
  --_border: transparent;
  --_shadow: #ffd0d8;
}

.ib-btn--primary-light {
  --_bg: #fff9ed;
  --_bg-press: #ffefd1;
  --_color: #676775;
  --_border: transparent;
  --_shadow: #ffd0d8;
}

.ib-btn--primary-light:disabled, .ib-btn--primary-light[aria-disabled=true] {
  --_bg: #a7a7b0;
  --_color: #fff;
}

.ib-btn--secondary {
  --_bg: transparent;
  --_bg-press: transparent;
  --_color: #ea1b3d;
  --_border: #ea1b3d;
  --_shadow: #ffd0d8;
}

.ib-btn--secondary:focus-visible {
  --_border: #aa142d;
  --_color: #aa142d;
}

.ib-btn--secondary:active:not(:disabled) {
  --_border: #aa142d;
  --_color: #aa142d;
}

.ib-btn--secondary:disabled, .ib-btn--secondary[aria-disabled=true] {
  --_bg: transparent;
  --_color: #a7a7b0;
  --_border: #a7a7b0;
}

.ib-btn--secondary-light {
  --_bg: transparent;
  --_bg-press: transparent;
  --_color: #fff;
  --_border: #fff;
  --_shadow: #ffd0d8;
}

.ib-btn--secondary-light:hover:not(:disabled, [aria-disabled=true]) {
  --_bg: #ea1b3d;
  --_border: transparent;
}

.ib-btn--secondary-light:disabled, .ib-btn--secondary-light[aria-disabled=true] {
  --_bg: transparent;
  --_color: #a7a7b0;
  --_border: #a7a7b0;
}

.ib-btn--ghost {
  --_color: #ea1b3d;
  height: auto;
}

.ib-btn--ghost::after {
  display: none;
}

.ib-btn--ghost .ib-btn__inner {
  padding: 2px 0;
  height: auto;
  background: transparent;
  clip-path: none;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1.5px;
  -webkit-text-decoration-color: currentcolor;
          text-decoration-color: currentcolor;
  transition: color 0.25s cubic-bezier(0.16, 1, 0.3, 1), -webkit-text-decoration-color 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  transition: color 0.25s cubic-bezier(0.16, 1, 0.3, 1), text-decoration-color 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  transition: color 0.25s cubic-bezier(0.16, 1, 0.3, 1), text-decoration-color 0.25s cubic-bezier(0.16, 1, 0.3, 1), -webkit-text-decoration-color 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ib-btn--ghost .ib-btn__inner::before {
  display: none;
}

.ib-btn--ghost:focus-visible, .ib-btn--ghost:active:not(:disabled) {
  --_color: #aa142d;
}

.ib-btn--ghost:focus-visible .ib-btn__inner, .ib-btn--ghost:active:not(:disabled) .ib-btn__inner {
  background: transparent !important;
}

.ib-btn--ghost:disabled, .ib-btn--ghost[aria-disabled=true] {
  --_color: #a7a7b0;
  pointer-events: none;
}

.ib-btn--bare {
  --_bg: transparent;
  --_bg-press: transparent;
  --_color: #373742;
  --_border: transparent;
  --_shadow: transparent;
}

.ib-btn--bare::after {
  display: none;
}

.ib-btn--bare .ib-btn__inner {
  background: transparent;
  clip-path: none;
  transition: color 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ib-btn--bare .ib-btn__inner::before {
  display: none;
}

.ib-btn--bare .ib-icon,
.ib-btn--bare .ib-btn__arrow {
  color: var(--_color);
}

.ib-btn--bare:focus-visible .ib-btn__inner, .ib-btn--bare:active:not(:disabled) .ib-btn__inner {
  background: transparent;
}

.ib-btn--bare:disabled, .ib-btn--bare[aria-disabled=true] {
  --_bg: transparent;
  --_border: transparent;
  --_color: #a7a7b0;
}

.ib-btn--with-icon:hover:not(:disabled, [aria-disabled=true]) .ib-btn__arrow {
  animation: ib-arrow-slide 0.7s cubic-bezier(0.16, 1, 0.3, 1) infinite;
}

.ib-btn--icon-only {
  width: 48px;
}

.ib-btn--icon-only .ib-btn__inner {
  padding: 0;
}

.ib-btn--icon-only:hover:not(:disabled, [aria-disabled=true]) .ib-btn__arrow {
  animation: ib-arrow-slide 0.7s cubic-bezier(0.16, 1, 0.3, 1) infinite;
}

@media (max-width: 1024px) {
  .ib-btn {
    height: 44px;
    font-size: 15px;
  }

  .ib-btn__inner {
    padding: 0 18px;
  }

  .ib-btn__arrow svg, .ib-btn__arrow.ib-icon {
    width: 13px;
    height: 13px;
  }

  .ib-btn--icon-only {
    width: 44px;
  }

  .ib-btn--icon-only .ib-btn__inner {
    padding: 0;
  }
}
.ts-hero-section {
  background: #fff9ed;
  padding-top: 12.75rem;
  padding-bottom: 9.75rem;
}

.ts-hero-section__inner {
  max-width: var(--container-width-padd);
  width: 100%;
  padding-inline: var(--gutter);
  margin-inline: auto;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 5rem;
}

.ts-hero-section__left {
  display: flex;
  flex-direction: column;
  gap: 4rem;
  max-width: 56.25rem;
}

.ts-hero-section__heading {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 250;
  font-size: max(4.5rem, 12px);
  line-height: 1.2222222222;
  letter-spacing: -0.04em;
  color: #373742;
  margin: 0;
}

.ts-hero-section__highlight {
  background: linear-gradient(90deg, #284cba 0%, #ea1b3d 72.87%);
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
          background-clip: text;
}

@media (min-width: calc(1024px + 1px)) {
  .ts-hero-section__stats, .ts-hero-section__support {
    opacity: 0;
    transform: translateY(2.5rem);
    will-change: transform, opacity;
    transition: opacity 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }

  .ts-hero-section__stats.is-visible, .ts-hero-section__support.is-visible {
    opacity: 1;
    transform: translateY(0);
  }
}
.ts-hero-section__stats {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

.ts-hero-section__stat {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.ts-hero-section__stat-value {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.75rem, 12px);
  line-height: 1.3571428571;
  letter-spacing: 0;
  color: #373742;
}

.ts-hero-section__stat-label {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 500;
  font-size: max(1rem, 12px);
  line-height: 1.625;
  letter-spacing: 0;
  text-transform: uppercase;
  color: #676775;
}

.ts-hero-section__stat-divider {
  width: 0.0625rem;
  height: 3rem;
  background: #e6e6ed;
}

.ts-hero-section__support {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.125rem, 12px);
  line-height: 1.6666666667;
  letter-spacing: 0;
  color: #676775;
  max-width: 26.25rem;
  margin: 0;
}

@media (max-width: 1024px) {
  .ts-hero-section {
    padding-top: 9.375rem;
    padding-bottom: 4rem;
  }
}
@media (max-width: 1024px) and (max-width: 768px) {
  .ts-hero-section {
    padding-top: 8.125rem;
  }
}
@media (max-width: 1024px) {
  .ts-hero-section__inner {
    flex-direction: column;
    align-items: stretch;
    gap: 2.5rem;
    padding-inline: 1.25rem;
  }
}
@media (max-width: 1024px) {
  .ts-hero-section__left {
    max-width: none;
    gap: 2rem;
  }
}
@media (max-width: 1024px) {
  .ts-hero-section__heading {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 400;
    font-size: max(3rem, 12px);
    line-height: 1.0833333333;
    letter-spacing: -0.04em;
    font-weight: 300;
  }
}
@media (max-width: 1024px) {
  .ts-hero-section__stat-value {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(1.25rem, 12px);
    line-height: 1.7;
    letter-spacing: 0;
  }
}
@media (max-width: 1024px) {
  .ts-hero-section__stat-label {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 500;
    font-size: max(0.75rem, 12px);
    line-height: 1.5;
    letter-spacing: 0.1em;
    text-transform: uppercase;
  }
}
@media (max-width: 1024px) {
  .ts-hero-section__support {
    max-width: none;
  }
}
.ts-testimonial-section {
  position: relative;
  overflow: hidden;
  background: #aa142d;
  width: min(65.625rem, 100%);
  margin-inline: auto;
  padding-block: 11.75rem;
  padding-inline: var(--gutter);
}

.ts-testimonial-section::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url(../static/assets/images/latest/grain-tile.png);
  background-repeat: repeat;
  mix-blend-mode: normal;
  opacity: 1;
  pointer-events: none;
  z-index: 1;
}

.ts-testimonial-section__inner {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.5rem;
  text-align: center;
}

.ts-testimonial-section__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3.75rem;
  max-width: 42.125rem;
}

.ts-testimonial-section__quote-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.5rem;
}

.ts-testimonial-section__logo-badge {
  position: relative;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 12.1875rem;
  height: 7.5rem;
  padding: 0.625rem;
  background: #fff;
}

.ts-testimonial-section__logo-badge::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -0.9375rem;
  width: 0;
  height: 0;
  margin-left: -1.25rem;
  border-left: 1.25rem solid transparent;
  border-right: 1.25rem solid transparent;
  border-top: 1.4375rem solid #fff;
  pointer-events: none;
}

.ts-testimonial-section__logo {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.ts-testimonial-section__quote {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(3rem, 12px);
  line-height: 1.3333333333;
  letter-spacing: 0;
  color: #fff;
  margin: 0;
}

.ts-testimonial-section__divider {
  width: 9.4375rem;
  height: 0.375rem;
  background: #ea1b3d;
  border: none;
}

.ts-testimonial-section__cite {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.ts-testimonial-section__cite-name {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 500;
  font-size: 2rem;
  line-height: 3rem;
  color: #fff;
  margin: 0;
}

.ts-testimonial-section__cite-company {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: 1.5rem;
  line-height: 2.25rem;
  color: #fff;
  margin: 0;
}

@media (max-width: 1024px) {
  .ts-testimonial-section {
    padding-block: 4rem;
    padding-inline: 1.875rem;
  }

  .ts-testimonial-section__content, .ts-testimonial-section__quote-wrap {
    gap: 1.5rem;
  }

  .ts-testimonial-section__logo-badge {
    width: 8.75rem;
    height: 5.375rem;
    padding: 0.5rem;
  }

  .ts-testimonial-section__logo-badge::after {
    bottom: -0.6875rem;
    margin-left: -0.875rem;
    border-left-width: 0.875rem;
    border-right-width: 0.875rem;
    border-top-width: 1rem;
  }

  .ts-testimonial-section__quote {
    font-weight: 400;
    font-size: 1.5rem;
    line-height: 2rem;
  }

  .ts-testimonial-section__cite-name {
    font-size: 1.125rem;
    line-height: 2.5rem;
    font-weight: 500;
  }

  .ts-testimonial-section__cite-company {
    font-size: 0.875rem;
    line-height: 1.75rem;
    font-weight: 300;
  }
}
.ts-projects-section {
  background: #fff9ed;
  padding-block: 6rem 9.75rem;
}

.ts-projects-section__inner {
  max-width: var(--container-width-padd);
  width: 100%;
  padding-inline: var(--gutter);
  margin-inline: auto;
  scroll-margin-top: 7.5rem;
}

.ts-projects-section__heading {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(2.5rem, 12px);
  line-height: 1.1;
  letter-spacing: -0.04em;
  color: #373742;
  margin: 0 0 1.5rem;
}

.ts-projects-section__heading-highlight {
  color: #ea1b3d;
}

.ts-projects-section__toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 2.5rem;
}

.ts-projects-section__toolbar .lang-picker {
  flex: none;
}

.ts-projects-section__meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.25rem, 12px);
  line-height: 1.7;
  letter-spacing: 0;
  color: #676775;
}

.ts-projects-section__filter-dropdown {
  position: relative;
}

.ts-projects-section__filter-dropdown.is-open .ts-projects-section__filter-dropdown-icon {
  transform: translateY(-50%) rotate(180deg);
}

.ts-projects-section__filter-dropdown.is-open .ts-projects-section__filter-dropdown-panel {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.ts-projects-section__filter-dropdown-trigger {
  background: #ffefd1;
  border-radius: 0;
  border: none;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.25rem, 12px);
  line-height: 1.7;
  letter-spacing: 0;
  position: relative;
  display: inline-flex;
  align-items: center;
  border-bottom: 1px solid #676775;
  color: #373742;
  padding: 0.5rem 2rem 0.5rem 1rem;
  cursor: pointer;
}

.ts-projects-section__filter-dropdown-count {
  color: #373742;
  margin-left: 0.25rem;
}

.ts-projects-section__filter-dropdown-icon {
  position: absolute;
  right: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  color: #373742;
  pointer-events: none;
  transition: transform 0.2s ease;
}

.ts-projects-section__filter-dropdown-panel {
  position: absolute;
  top: calc(100% + 0.5rem);
  left: 0;
  z-index: 50;
  width: -moz-max-content;
  width: max-content;
  min-width: 16.25rem;
  background: #fff;
  border: 1px solid #e6e6ed;
  box-shadow: 0 0.75rem 2rem rgba(55, 55, 66, 0.12);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.ts-projects-section__filter-dropdown-panel.is-loading {
  opacity: 0.6;
  cursor: wait;
}

.ts-projects-section__filter-dropdown-options {
  display: flex;
  flex-direction: column;
  padding: 0.25rem 1rem;
  max-height: 17.5rem;
  overflow-y: auto;
}

.ts-projects-section__filter-dropdown-clear {
  display: block;
  width: 100%;
  background: #e6e6ed;
  border: none;
  border-top: 1px solid #e6e6ed;
  padding: 0.75rem 1rem;
  text-align: left;
  text-transform: uppercase;
  color: #373742;
  cursor: pointer;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 500;
  font-size: max(1rem, 12px);
  line-height: 1.625;
  letter-spacing: 0;
  text-transform: uppercase;
}

.ts-projects-section__search {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  width: 24.8125rem;
  height: 3.125rem;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid #676775;
  opacity: 1;
}

.ts-projects-section__search-icon {
  color: #676775;
  flex-shrink: 0;
}

.ts-projects-section__search--mobile-only {
  display: none;
}

.ts-projects-section__search-input {
  flex: 1;
  border: none;
  background: none;
  outline: none;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.125rem, 12px);
  line-height: 1.6666666667;
  letter-spacing: 0;
  color: #373742;
}

.ts-projects-section__search-input::-moz-placeholder {
  color: #a7a7b0;
}

.ts-projects-section__search-input::placeholder {
  color: #a7a7b0;
}

.ts-projects-section__filter-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  width: 3.125rem;
  height: 3.125rem;
  border-radius: 0;
  border: 1px solid #e6e6ed;
  background: #fff9ed;
  color: #373742;
  cursor: pointer;
}

.ts-projects-section__filter-sheet {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
}

.ts-projects-section__filter-modal {
  position: fixed;
  inset: 0;
  z-index: 2200;
}

.ts-projects-section__filter-modal[hidden] {
  display: none;
}

.ts-projects-section__filter-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(55, 55, 66, 0.5);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.ts-projects-section__filter-modal-panel {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  max-height: 85vh;
  display: flex;
  flex-direction: column;
  background: #fff9ed;
  border-radius: 1.5rem 1.5rem 0 0;
  padding: 0.75rem 1.5rem 1.5rem;
  transform: translateY(100%);
  transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.ts-projects-section__filter-modal.is-open .ts-projects-section__filter-modal-backdrop {
  opacity: 1;
}

.ts-projects-section__filter-modal.is-open .ts-projects-section__filter-modal-panel {
  transform: translateY(0);
}

.ts-projects-section__filter-modal-handle {
  align-self: center;
  width: 6.375rem;
  height: 0.25rem;
  border-radius: 0.125rem;
  background: #a7a7b0;
  margin-bottom: 1rem;
}

.ts-projects-section__filter-modal-title {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(1.25rem, 12px);
  line-height: 1.4;
  letter-spacing: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #373742;
  margin: 0 0 1rem;
  margin-inline: -1.5rem;
  padding: 0 1rem 1rem;
  border-bottom: 1px solid #e6e6ed;
}

.ts-projects-section__filter-modal-body {
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.ts-projects-section__filter-group {
  border: none;
  margin: 0;
  padding: 0 0 1.5rem;
  border-bottom: 1px solid #e6e6ed;
}

.ts-projects-section__filter-group:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.ts-projects-section__filter-group legend {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 500;
  font-size: max(1rem, 12px);
  line-height: 1.625;
  letter-spacing: 0;
  text-transform: uppercase;
  color: #676775;
  text-transform: uppercase;
  padding: 0 0 0.75rem;
}

.ts-projects-section__filter-option {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 0;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1rem, 12px);
  line-height: 1.625;
  letter-spacing: 0;
  font-weight: 400;
  color: #373742;
  cursor: pointer;
}

.ts-projects-section__filter-checkbox-input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.ts-projects-section__filter-checkbox-input:checked ~ .ts-projects-section__filter-checkbox {
  background: #ea1b3d;
  border-color: #ea1b3d;
}

.ts-projects-section__filter-checkbox-input:checked ~ .ts-projects-section__filter-checkbox::after {
  opacity: 1;
}

.ts-projects-section__filter-checkbox-input:focus-visible ~ .ts-projects-section__filter-checkbox {
  outline: 2px solid #ea1b3d;
  outline-offset: 2px;
}

.ts-projects-section__filter-checkbox {
  flex-shrink: 0;
  position: relative;
  width: 1.375rem;
  height: 1.375rem;
  border-radius: 0;
  border: 1.5px solid #d0d5dd;
  background: #fff;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.ts-projects-section__filter-checkbox::after {
  content: "";
  position: absolute;
  top: 45%;
  left: 50%;
  width: 0.3125rem;
  height: 0.5625rem;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: translate(-50%, -50%) rotate(45deg);
  opacity: 0;
  transition: opacity 0.2s ease;
}

.ts-projects-section__filter-modal-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-inline: -1.5rem;
  padding: 1rem;
  border-top: 1px solid #e6e6ed;
}

.ts-projects-section__filter-clear {
  background: none;
  border: none;
  color: #373742;
  text-transform: uppercase;
  cursor: pointer;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 500;
  font-size: max(1rem, 12px);
  line-height: 1.625;
  letter-spacing: 0;
  text-transform: uppercase;
}

.ts-projects-section__list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.ts-projects-section__card {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 2.5rem 1.5rem;
  border-bottom: 1px solid #e6e6ed;
}

.ts-projects-section__card[hidden] {
  display: none;
}

.ts-projects-section__card-video {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;
}

.ts-projects-section__card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg, rgba(55, 55, 66, 0.55), rgba(55, 55, 66, 0.15));
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;
}

@media (hover: hover) and (pointer: fine) {
  .ts-projects-section__cta {
    opacity: 0;
    transform: translate3d(0, 0.5rem, 0);
  }

  .ts-projects-section__card:hover .ts-projects-section__cta, .ts-projects-section__card:focus-within .ts-projects-section__cta {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    color: #fff;
  }

  .ts-projects-section__card:hover .ts-projects-section__card-video, .ts-projects-section__card:focus-within .ts-projects-section__card-video {
    opacity: 1;
  }

  .ts-projects-section__card:hover::before, .ts-projects-section__card:focus-within::before {
    opacity: 1;
  }

  .ts-projects-section__card:hover .ts-projects-section__card-tag,
.ts-projects-section__card:hover .ts-projects-section__card-desc, .ts-projects-section__card:focus-within .ts-projects-section__card-tag,
.ts-projects-section__card:focus-within .ts-projects-section__card-desc {
    color: #fff;
  }

  .ts-projects-section__card:hover .ts-projects-section__card-desc strong, .ts-projects-section__card:focus-within .ts-projects-section__card-desc strong {
    color: #fff;
  }

  .ts-projects-section__card:hover .ts-projects-section__card-chip, .ts-projects-section__card:focus-within .ts-projects-section__card-chip {
    background: #fff;
  }
}
.ts-projects-section__card-content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  flex: 1;
  min-width: 0;
}

.ts-projects-section__card-tag {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: 0.875rem;
  line-height: 1.5rem;
  color: #676775;
  transition: color 0.3s ease;
}

.ts-projects-section__card-desc {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 250;
  font-size: max(1.5rem, 12px);
  line-height: 1.6666666667;
  letter-spacing: 0;
  font-weight: 300;
  color: #373742;
  margin: 0;
  max-width: 60ch;
  transition: color 0.3s ease;
}

.ts-projects-section__card-desc strong {
  font-weight: 400;
  color: #ea1b3d;
}

.ts-projects-section__card-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.ts-projects-section__card-chip {
  background: #ffefd1;
  border-radius: 0;
  border: none;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: 0.875rem;
  line-height: 1.5rem;
  color: #676775;
  padding: 0 0.75rem;
  background: #ffefd1;
  border: 0.5px solid #676775;
  box-shadow: 1px 1px 0 0 #ffd0d8;
  transition: background 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}

.ts-projects-section__cta {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  flex-shrink: 0;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 500;
  font-size: max(1rem, 12px);
  line-height: 1.625;
  letter-spacing: 0;
  text-transform: uppercase;
  color: #373742;
  transition: opacity 0.35s ease, transform 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94), color 0.3s ease;
}

.ts-projects-section__cta-text {
  text-decoration: underline;
  text-underline-offset: 5px;
  text-decoration-thickness: 1px;
}

.ts-projects-section__cta-arrow {
  flex: none;
  fill: currentcolor;
}

.ts-projects-section__card-link {
  position: absolute;
  inset: 0;
  z-index: 3;
}

.ts-projects-section__card-link:focus-visible {
  outline: 2px solid #ea1b3d;
  outline-offset: -2px;
}

.ts-projects-section__pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 3rem;
}

.ts-projects-section__page-group {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
}

.ts-projects-section__page-label {
  color: #373742;
}

.ts-projects-section__page-list {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.ts-projects-section__page-btn {
  min-width: 2.625rem;
  height: 2.625rem;
  padding: 0 0.5rem;
  border: none;
  background: transparent;
  color: #373742;
  cursor: pointer;
  border-radius: 0;
}

.ts-projects-section__page-btn.is-active {
  background: #ffefd1;
}

.ts-projects-section__page-ellipsis {
  color: #373742;
  padding: 0 0.25rem;
}

.ts-projects-section__page-label, .ts-projects-section__page-btn, .ts-projects-section__page-ellipsis {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 2.5rem;
}

.ts-projects-section__nav {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

.ts-projects-section__prev, .ts-projects-section__next {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 8.25rem;
  height: 2.625rem;
  gap: 0.5rem;
  background: none;
  border: none;
  color: #373742;
  cursor: pointer;
  text-transform: uppercase;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1rem;
}

.ts-projects-section__prev svg, .ts-projects-section__next svg {
  width: 1.25rem;
  height: 1.25rem;
}

.ts-projects-section__prev:disabled, .ts-projects-section__next:disabled {
  opacity: 0.25;
  pointer-events: none;
}

.ts-projects-section__next::before {
  content: "";
  position: absolute;
  left: -0.75rem;
  top: 0;
  width: 1px;
  height: 100%;
  background: #e6e6ed;
}

.ts-projects-section__prev svg, .ts-projects-section__next svg {
  color: #ea1b3d;
}

.ts-projects-section__prev:disabled svg, .ts-projects-section__next:disabled svg {
  color: #e6e6ed;
}

@media (max-width: 1024px) {
  .ts-projects-section {
    padding-block: 4rem;
  }

  .ts-projects-section__inner {
    padding-inline: 1.25rem;
    scroll-margin-top: 6.25rem;
  }

  .ts-projects-section__heading {
    font-size: 1.75rem;
    line-height: 2.25rem;
  }

  .ts-projects-section__toolbar {
    flex-wrap: nowrap;
    gap: 0.75rem;
  }

  .ts-projects-section__toolbar .lang-picker__trigger {
    padding-inline: 0;
    gap: 0.5rem;
    white-space: nowrap;
  }

  .ts-projects-section__toolbar .lang-picker__dropdown {
    right: 0;
    left: auto;
  }

  .ts-projects-section__meta {
    display: none;
  }

  .ts-projects-section__search {
    flex: 1 1 0;
    width: auto;
    min-width: 0;
    border: 1px solid #676775;
    border-radius: 0;
  }

  .ts-projects-section__search--desktop-only {
    display: none;
  }

  .ts-projects-section__search--mobile-only {
    display: flex;
    order: -1;
  }

  .ts-projects-section__filter-toggle {
    display: inline-flex;
    background: #ffefd1;
    border: none;
    flex: none;
  }

  .ts-projects-section__filter-sheet {
    display: none;
  }

  .ts-projects-section__search-input {
    font-size: 1rem;
    line-height: 1rem;
    min-width: 0;
  }

  .ts-projects-section__card {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
    padding: 1.5rem 1rem;
  }

  .ts-projects-section__cta {
    opacity: 1;
    transform: none;
    font-size: 0.875rem;
    line-height: 1.375rem;
    gap: 0.75rem;
  }

  .ts-projects-section__card-tag, .ts-projects-section__card-chip {
    font-size: 0.75rem;
    line-height: 1rem;
  }

  .ts-projects-section__card-desc {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(1rem, 12px);
    line-height: 1.625;
    letter-spacing: 0;
  }

  .ts-projects-section__page-label {
    display: none;
  }

  .ts-projects-section__nav {
    gap: 1rem;
  }

  .ts-projects-section__prev, .ts-projects-section__next {
    width: 2rem;
    height: 2rem;
    font-size: 0;
  }

  .ts-projects-section__prev:disabled, .ts-projects-section__next:disabled {
    opacity: 1;
  }

  .ts-projects-section__next::before {
    display: none;
  }

  .ts-projects-section__page-label, .ts-projects-section__page-btn, .ts-projects-section__page-ellipsis {
    font-weight: 400;
    font-size: 1rem;
    line-height: 2rem;
  }
}
body.page-true-stories {
  overflow-x: clip;
}
body.page-true-stories .container {
  max-width: var(--container-width-padd);
  width: 100%;
  padding-inline: var(--gutter);
  margin-inline: auto;
}

.ts-testimonial-section + .sn-scroll-tabs-section {
  padding-top: clamp(100px, 6.94vw, 120px);
}

:root {
  --bg-primary: #fff9ed;
  --text-primary: #373742;
  --text-secondary: #676775;
  --text-disabled: #a7a7b0;
  --text-gray: #676775;
  --accent-red: #ea1b3d;
  --accent-peach: #ffd0d8;
  --border-color: rgba(103, 103, 117, 0.15);
  --font-primary: Lexend, -apple-system, blinkmacsystemfont, Segoe UI, roboto, sans-serif;
  --transition-smooth: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  --transition-slow: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  --container-width: 93.5rem;
  --container-width-padd: 101rem;
  --gutter: 60px;
}

*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

html {
  font-size: clamp(14px, 0.9259259259vw, 16px);
}

@media (max-width: 1024px) {
  html {
    font-size: 100%;
  }
}
html.scroll-locked,
html.scroll-locked .main-header {
  padding-right: var(--scrollbar-comp, 0);
}

html.scroll-locked .header-container .mega-menu {
  scrollbar-gutter: stable;
}

html,
body {
  width: 100%;
  height: 100%;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  background-color: #fff9ed;
  color: #373742;
  line-height: 1.6;
}

::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: #fff9ed;
}

::-webkit-scrollbar-thumb {
  background: #a7a7b0;
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: #676775;
}

a {
  color: inherit;
  text-decoration: none;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

button,
input,
textarea,
select {
  font-family: inherit;
}

@media (min-width: 769px) {
  .ib-mobile-only {
    display: none !important;
  }
}
@media (max-width: 768px), (min-width: 1025px) {
  .ib-tablet-only {
    display: none !important;
  }
}
@media (min-width: 1025px) {
  .ib-mobile-tablet-only {
    display: none !important;
  }
}
@media (max-width: 1024px) {
  .ib-desktop-only {
    display: none !important;
  }
}
@media (max-width: 1024px) and (prefers-reduced-motion: no-preference) {
  .ib-m-reveal {
    opacity: 0;
    transform: translate3d(0, 24px, 0);
    transition: opacity 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition-delay: var(--ib-m-reveal-delay, 0s);
    will-change: transform, opacity;
  }

  .ib-m-reveal.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
@keyframes ib-arrow-slide {
  0% {
    transform: translateX(0);
    opacity: 1;
  }
  45% {
    transform: translateX(7px);
    opacity: 0;
  }
  46% {
    transform: translateX(-5px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
.ib-btn {
  --_bg: #ea1b3d;
  --_bg-press: #aa142d;
  --_color: #fff;
  --_border: transparent;
  --_shadow: #ffd0d8;
  position: relative;
  isolation: isolate;
  display: inline-flex;
  align-items: stretch;
  height: 48px;
  padding: 0;
  font-family: var(--font-heading);
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  background: transparent;
  border: none;
  outline: none;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.ib-btn[hidden] {
  display: none;
}

.ib-btn::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--_shadow);
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
  opacity: 0;
  transform: translate(0, 0);
  transition: opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1), transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
}

.ib-btn__inner {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  padding: 0 22px;
  color: var(--_color);
  background: var(--_bg);
  line-height: 26px;
  letter-spacing: 0;
  text-align: center;
  text-transform: uppercase;
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
  transition: background 0.25s cubic-bezier(0.16, 1, 0.3, 1), color 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ib-btn__inner::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--_border);
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px, 10px 0, 10px 1.5px, 1.5px 10px, 1.5px calc(100% - 1.5px), calc(100% - 10px) calc(100% - 1.5px), calc(100% - 1.5px) calc(100% - 10px), calc(100% - 1.5px) 1.5px, 10px 1.5px);
  pointer-events: none;
  transition: background 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ib-btn__arrow {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ib-btn__arrow svg, .ib-btn__arrow.ib-icon {
  width: 14px;
  height: 14px;
}

.ib-btn:hover:not(:disabled, [aria-disabled=true])::after {
  opacity: 1;
  transform: translate(4px, 4px);
}

.ib-btn:focus-visible .ib-btn__inner {
  background: var(--_bg-press);
}

.ib-btn:active:not(:disabled) .ib-btn__inner {
  background: var(--_bg-press);
}

.ib-btn:disabled, .ib-btn[aria-disabled=true] {
  --_bg: #a7a7b0;
  --_border: #a7a7b0;
  --_color: #fff;
  cursor: not-allowed;
  pointer-events: none;
}

.ib-btn--primary {
  --_bg: #ea1b3d;
  --_bg-press: #aa142d;
  --_color: #fff;
  --_border: transparent;
  --_shadow: #ffd0d8;
}

.ib-btn--primary-light {
  --_bg: #fff9ed;
  --_bg-press: #ffefd1;
  --_color: #676775;
  --_border: transparent;
  --_shadow: #ffd0d8;
}

.ib-btn--primary-light:disabled, .ib-btn--primary-light[aria-disabled=true] {
  --_bg: #a7a7b0;
  --_color: #fff;
}

.ib-btn--secondary {
  --_bg: transparent;
  --_bg-press: transparent;
  --_color: #ea1b3d;
  --_border: #ea1b3d;
  --_shadow: #ffd0d8;
}

.ib-btn--secondary:focus-visible {
  --_border: #aa142d;
  --_color: #aa142d;
}

.ib-btn--secondary:active:not(:disabled) {
  --_border: #aa142d;
  --_color: #aa142d;
}

.ib-btn--secondary:disabled, .ib-btn--secondary[aria-disabled=true] {
  --_bg: transparent;
  --_color: #a7a7b0;
  --_border: #a7a7b0;
}

.ib-btn--secondary-light {
  --_bg: transparent;
  --_bg-press: transparent;
  --_color: #fff;
  --_border: #fff;
  --_shadow: #ffd0d8;
}

.ib-btn--secondary-light:hover:not(:disabled, [aria-disabled=true]) {
  --_bg: #ea1b3d;
  --_border: transparent;
}

.ib-btn--secondary-light:disabled, .ib-btn--secondary-light[aria-disabled=true] {
  --_bg: transparent;
  --_color: #a7a7b0;
  --_border: #a7a7b0;
}

.ib-btn--ghost {
  --_color: #ea1b3d;
  height: auto;
}

.ib-btn--ghost::after {
  display: none;
}

.ib-btn--ghost .ib-btn__inner {
  padding: 2px 0;
  height: auto;
  background: transparent;
  clip-path: none;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1.5px;
  -webkit-text-decoration-color: currentcolor;
          text-decoration-color: currentcolor;
  transition: color 0.25s cubic-bezier(0.16, 1, 0.3, 1), -webkit-text-decoration-color 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  transition: color 0.25s cubic-bezier(0.16, 1, 0.3, 1), text-decoration-color 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  transition: color 0.25s cubic-bezier(0.16, 1, 0.3, 1), text-decoration-color 0.25s cubic-bezier(0.16, 1, 0.3, 1), -webkit-text-decoration-color 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ib-btn--ghost .ib-btn__inner::before {
  display: none;
}

.ib-btn--ghost:focus-visible, .ib-btn--ghost:active:not(:disabled) {
  --_color: #aa142d;
}

.ib-btn--ghost:focus-visible .ib-btn__inner, .ib-btn--ghost:active:not(:disabled) .ib-btn__inner {
  background: transparent !important;
}

.ib-btn--ghost:disabled, .ib-btn--ghost[aria-disabled=true] {
  --_color: #a7a7b0;
  pointer-events: none;
}

.ib-btn--bare {
  --_bg: transparent;
  --_bg-press: transparent;
  --_color: #373742;
  --_border: transparent;
  --_shadow: transparent;
}

.ib-btn--bare::after {
  display: none;
}

.ib-btn--bare .ib-btn__inner {
  background: transparent;
  clip-path: none;
  transition: color 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ib-btn--bare .ib-btn__inner::before {
  display: none;
}

.ib-btn--bare .ib-icon,
.ib-btn--bare .ib-btn__arrow {
  color: var(--_color);
}

.ib-btn--bare:focus-visible .ib-btn__inner, .ib-btn--bare:active:not(:disabled) .ib-btn__inner {
  background: transparent;
}

.ib-btn--bare:disabled, .ib-btn--bare[aria-disabled=true] {
  --_bg: transparent;
  --_border: transparent;
  --_color: #a7a7b0;
}

.ib-btn--with-icon:hover:not(:disabled, [aria-disabled=true]) .ib-btn__arrow {
  animation: ib-arrow-slide 0.7s cubic-bezier(0.16, 1, 0.3, 1) infinite;
}

.ib-btn--icon-only {
  width: 48px;
}

.ib-btn--icon-only .ib-btn__inner {
  padding: 0;
}

.ib-btn--icon-only:hover:not(:disabled, [aria-disabled=true]) .ib-btn__arrow {
  animation: ib-arrow-slide 0.7s cubic-bezier(0.16, 1, 0.3, 1) infinite;
}

@media (max-width: 1024px) {
  .ib-btn {
    height: 44px;
    font-size: 15px;
  }

  .ib-btn__inner {
    padding: 0 18px;
  }

  .ib-btn__arrow svg, .ib-btn__arrow.ib-icon {
    width: 13px;
    height: 13px;
  }

  .ib-btn--icon-only {
    width: 44px;
  }

  .ib-btn--icon-only .ib-btn__inner {
    padding: 0;
  }
}
.sn-lets-talk-section {
  background: #fff9ed;
  position: relative;
  padding: 80px 0;
}

.sn-lets-talk-section .talk-container {
  max-width: 1250px;
  margin: 0 auto;
  padding: 0 24px;
}

.sn-lets-talk-section .talk-inner {
  position: relative;
  overflow: hidden;
}

.sn-lets-talk-section .talk-content {
  width: 840px;
  background: #ffefd1;
  padding: 72px 32px 48px 48px;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  z-index: 1;
  min-height: 680px;
  clip-path: polygon(24px 0, 100% 0, 100% calc(100% - 24px), calc(100% - 24px) 100%, 0 100%, 0 24px);
}

.sn-lets-talk-section .talk-content .talk-content-top {
  max-width: 580px;
}

.sn-lets-talk-section .talk-content .title {
  font-size: 3rem;
  font-weight: 300;
  color: #373742;
  margin-bottom: 32px;
}

.sn-lets-talk-section .talk-content .title-accent,
.sn-lets-talk-section .talk-content .red-font-color-text {
  color: #ea1b3d;
}

.sn-lets-talk-section .talk-content .text {
  font-weight: 300;
  font-size: 1.125rem;
  line-height: 2rem;
  color: #373742;
  max-width: 520px;
  margin-bottom: 40px;
}

.sn-lets-talk-section .talk-content .talk-meta {
  text-align: right;
  max-width: 520px;
}

.sn-lets-talk-section .talk-content .talk-meta .talk-name {
  font-weight: 400;
  font-size: 1.5rem;
  line-height: 2rem;
  text-align: right;
}

.sn-lets-talk-section .talk-content .talk-meta .talk-role {
  font-weight: 300;
  font-size: 1.125rem;
  line-height: 1.75rem;
  letter-spacing: 0;
  text-align: right;
}

.sn-lets-talk-section .talk-content .talk-meta .talk-social {
  display: inline-block;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 500;
  font-size: max(1rem, 12px);
  line-height: 1.625;
  letter-spacing: 0;
  text-transform: uppercase;
  font-size: 1rem;
  text-decoration: underline;
  color: #ea1b3d;
}

.sn-lets-talk-section .talk-img-wrapper {
  position: absolute;
  left: 580px;
  bottom: 0;
  height: 100%;
  display: flex;
  align-items: flex-end;
  max-height: 655px;
}

.sn-lets-talk-section .talk-img-wrapper .talk-shape {
  width: 350px;
  height: 483px;
  background: linear-gradient(104.81deg, #284cba 23.69%, #ea1b3d 87.86%);
  transform: skewX(-18deg);
  position: absolute;
  left: 175px;
}

.sn-lets-talk-section .talk-img-wrapper .talk-shape-1 {
  width: 350px;
  height: 483px;
  background: #fff9ed;
  transform: skewX(-18deg);
  position: absolute;
  left: 520px;
  z-index: 2;
}

.sn-lets-talk-section .talk-img-wrapper .talk-shape-1::after {
  position: absolute;
  content: "";
  bottom: -5px;
  left: -35px;
  width: 0;
  height: 0;
  border-left: 40px solid transparent;
  border-right: 30px solid transparent;
  border-top: 20px solid #fff9ed;
  transform: rotate(-52deg);
}

.sn-lets-talk-section .talk-img-wrapper .talk-image {
  position: absolute;
  z-index: 1;
  left: 0;
  bottom: -75px;
  width: auto;
  max-height: 100%;
  transform: scale(1);
}

@media (max-width: 1440px) {
  .sn-lets-talk-section {
    padding: 60px 0;
  }

  .sn-lets-talk-section .talk-container {
    max-width: 1110px;
  }

  .sn-lets-talk-section .talk-content {
    width: 750px;
    min-height: 540px;
    padding: 45px 32px 40px 48px;
  }

  .sn-lets-talk-section .talk-content .talk-title {
    font-size: 2.625rem;
    margin-bottom: 24px;
  }

  .sn-lets-talk-section .talk-content .text {
    margin-bottom: 28px;
  }

  .sn-lets-talk-section .talk-content .talk-meta {
    max-width: 480px;
  }

  .sn-lets-talk-section .talk-img-wrapper {
    left: 530px;
    max-height: 555px;
  }

  .sn-lets-talk-section .talk-img-wrapper .talk-shape,
.sn-lets-talk-section .talk-img-wrapper .talk-shape-1 {
    width: 330px;
    height: 383px;
  }

  .sn-lets-talk-section .talk-img-wrapper .talk-shape {
    left: 84px;
  }

  .sn-lets-talk-section .talk-img-wrapper .talk-shape-1 {
    left: 414px;
  }
}
@media (max-width: 1200px) {
  .sn-lets-talk-section {
    padding: 60px 0;
  }

  .sn-lets-talk-section .talk-container {
    max-width: 1024px;
  }

  .sn-lets-talk-section .talk-content {
    width: 735px;
    min-height: 480px;
    padding: 50px 40px 35px;
  }

  .sn-lets-talk-section .talk-content .title {
    font-size: 2.375rem;
  }

  .sn-lets-talk-section .talk-content .text {
    font-size: 1rem;
    line-height: 1.75rem;
    max-width: 100%;
  }

  .sn-lets-talk-section .talk-img-wrapper {
    width: 340px;
    left: 555px;
    max-height: 512px;
  }

  .sn-lets-talk-section .talk-img-wrapper .talk-shape,
.sn-lets-talk-section .talk-img-wrapper .talk-shape-1 {
    width: 258px;
    height: 340px;
  }

  .sn-lets-talk-section .talk-img-wrapper .talk-shape {
    left: 105px;
  }

  .sn-lets-talk-section .talk-img-wrapper .talk-shape-1 {
    left: 360px;
  }
}
@media (max-width: 1024px) {
  .sn-lets-talk-section {
    position: static;
    padding: 0;
    background: #ffefd1;
  }

  .sn-lets-talk-section .talk-container {
    padding: 48px 20px;
    max-width: 768px;
  }

  .sn-lets-talk-section .talk-inner {
    overflow: visible;
  }

  .sn-lets-talk-section .talk-content {
    width: 100%;
    min-height: auto;
    padding: 0;
    clip-path: none;
    background: none;
  }

  .sn-lets-talk-section .talk-content .talk-content-top {
    width: 100%;
    max-width: 100%;
  }

  .sn-lets-talk-section .talk-content .title {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 400;
    font-size: max(2rem, 12px);
    line-height: 1.5;
    letter-spacing: 0;
    margin-bottom: 32px;
  }

  .sn-lets-talk-section .talk-content .text {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(1.125rem, 12px);
    line-height: 1.6666666667;
    letter-spacing: 0;
    max-width: 100%;
    margin-bottom: 32px;
  }

  .sn-lets-talk-section .talk-img-wrapper {
    position: relative;
    height: 320px;
    width: 285px;
    left: 0;
    margin: 80px auto 10px;
  }

  .sn-lets-talk-section .talk-img-wrapper .talk-shape {
    width: 243px;
    height: 232px;
    /* right: -10px; */
    top: 75px;
    left: 38px;
  }

  .sn-lets-talk-section .talk-img-wrapper .talk-shape-1 {
    width: 243px;
    height: 234px;
    top: 75px;
    left: 226px;
    z-index: 1;
    background: #ffefd1;
  }

  .sn-lets-talk-section .talk-img-wrapper .talk-shape-1::after {
    display: none;
  }

  .sn-lets-talk-section .talk-img-wrapper .talk-shape-2 {
    width: 100px;
    height: 234px;
    top: 75px;
    left: 0;
    z-index: 1;
    background: #ffefd1;
    transform: skewX(-18deg);
    position: absolute;
  }

  .sn-lets-talk-section .talk-img-wrapper .talk-image {
    position: static;
    bottom: auto;
    right: auto;
    max-height: 320px;
    transform: scale(1);
    -o-object-fit: contain;
       object-fit: contain;
    align-self: flex-end;
  }

  .sn-lets-talk-section .talk-meta {
    text-align: center;
    max-width: 350px;
    margin: 0 auto;
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    margin-bottom: 32px;
  }

  .sn-lets-talk-section .talk-meta .talk-name {
    font-size: 1.25rem;
    line-height: 1.5rem;
    font-weight: 600;
    letter-spacing: 0;
    color: #373742;
    margin-bottom: 4px;
  }

  .sn-lets-talk-section .talk-meta .talk-role {
    font-weight: 300;
    font-size: 0.875rem;
    line-height: 1.375rem;
    letter-spacing: 0;
    color: #676775;
    margin-bottom: 4px;
  }

  .sn-lets-talk-section .talk-meta .talk-social {
    font-weight: 600;
    font-size: 0.875rem;
    line-height: 1.375rem;
    letter-spacing: 0;
    color: #ea1b3d;
    text-decoration: none;
  }

  .sn-lets-talk-section .talk-cta {
    display: block;
    width: 276px;
    margin: auto;
  }
}
.tsd-hero-section {
  position: relative;
  overflow: hidden;
  background: #060914;
  min-height: 46.5625rem;
  display: flex;
  align-items: flex-end;
}

.tsd-hero-section__art {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.tsd-hero-section__media {
  position: absolute;
  inset: 0;
}

.tsd-hero-section__video, .tsd-hero-section__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.tsd-hero-section__scrim {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(27, 65, 161, 0.4) 0%, rgba(125, 54, 141, 0.4) 56.18%, rgba(217, 74, 131, 0.4) 100%);
  pointer-events: none;
}

.tsd-hero-section__scrim::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url(../static/assets/images/latest/grain-tile.png);
  background-repeat: repeat;
  pointer-events: none;
}

.tsd-hero-section__inner {
  position: relative;
  z-index: 1;
  max-width: var(--container-width-padd);
  width: 100%;
  padding-inline: var(--gutter);
  margin-inline: auto;
  padding-bottom: 7rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3rem;
}

.tsd-hero-section__logo {
  height: 2.8125rem;
  width: auto;
}

.tsd-hero-section__heading {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(3rem, 12px);
  line-height: 1.0833333333;
  letter-spacing: -0.04em;
  font-weight: 300;
  color: #fff;
  max-width: 53.75rem;
  margin: 0;
}

.tsd-hero-section__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.tsd-hero-section__chip {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.125rem, 12px);
  line-height: 1.6666666667;
  letter-spacing: 0;
  font-weight: 400;
  color: #fff;
  background: rgba(255, 255, 255, 0.2);
  border: 0;
  border-radius: 0.15625rem;
  padding: 0.25rem 1rem;
  backdrop-filter: blur(6px);
}

@media (prefers-reduced-motion: no-preference) {
  .tsd-hero-section__logo, .tsd-hero-section__heading, .tsd-hero-section__chips {
    animation: tsd-hero-rise 0.9s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
  }

  .tsd-hero-section__heading {
    animation-delay: 0.12s;
  }

  .tsd-hero-section__chips {
    animation-delay: 0.24s;
  }
}
@media (max-width: 1024px) {
  .tsd-hero-section {
    min-height: 38.75rem;
  }

  .tsd-hero-section__inner {
    padding-inline: 1.25rem;
    padding-bottom: 3rem;
    gap: 1rem;
  }

  .tsd-hero-section__logo {
    height: 2.25rem;
  }

  .tsd-hero-section__heading {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 400;
    font-size: max(2rem, 12px);
    line-height: 1.5;
    letter-spacing: 0;
  }

  .tsd-hero-section__chip {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 600;
    font-size: max(0.875rem, 12px);
    line-height: 1.5714285714;
    letter-spacing: 0;
  }
}
@keyframes tsd-hero-rise {
  from {
    opacity: 0;
    transform: translate3d(0, 2rem, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.tsd-marquee-section {
  background: #fff9ed;
  padding-block: 1.5rem;
  overflow: hidden;
}

.tsd-marquee-section__track {
  display: flex;
  width: -moz-max-content;
  width: max-content;
  will-change: transform;
}

@media (min-width: 1025px) and (prefers-reduced-motion: no-preference) {
  .tsd-marquee-section__track {
    transform: translate3d(50vw, 0, 0);
  }
}
.tsd-marquee-section__group {
  display: flex;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
}

.tsd-marquee-section__item {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: 1.5rem;
  line-height: 1;
  letter-spacing: 0.125rem;
  vertical-align: middle;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  color: #eb4c5e;
  white-space: nowrap;
}

.tsd-marquee-section__item::after {
  content: "";
  width: 0.375rem;
  height: 0.375rem;
  background: #373742;
  margin-inline: 3rem;
}

.tsd-stats-section {
  background: #fff9ed;
  padding-block: 6.5rem;
}

.tsd-stats-section__inner {
  max-width: var(--container-width-padd);
  width: 100%;
  padding-inline: var(--gutter);
  margin-inline: auto;
}

.tsd-stats-section__card {
  display: flex;
  flex-direction: column;
  gap: 5rem;
  max-width: 67.5rem;
  margin-inline: auto;
  background: #fff9ed;
  border: 0.0625rem solid rgba(103, 103, 117, 0.35);
  box-shadow: 0.25rem 0.25rem 0 rgba(255, 208, 216, 0.8);
  padding: 5.5rem 4rem;
}

.tsd-stats-section__intro {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(2rem, 12px);
  line-height: 1.5;
  letter-spacing: 0;
  color: #373742;
  text-align: center;
  max-width: 50rem;
  margin: 0 auto;
}

.tsd-stats-section__grid {
  display: grid;
}

.tsd-stats-section__stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
  text-align: center;
  padding-inline: 1rem;
}

@media (min-width: 1025px) {
  .tsd-stats-section__grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 3rem 0;
  }

  .tsd-stats-section__stat {
    flex: 1 1 25%;
    min-width: 0;
    border-left: 0.0625rem solid #e6e6ed;
  }

  .tsd-stats-section__stat:nth-child(4n+1) {
    border-left: 0;
  }
}
.tsd-stats-section__value {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(2.5rem, 12px);
  line-height: 1.1;
  letter-spacing: -0.04em;
  font-weight: 250;
  color: #ea1b3d;
}

.tsd-stats-section__unit {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.75rem, 12px);
  line-height: 1.3571428571;
  letter-spacing: 0;
}

.tsd-stats-section__label {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.375rem;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #676775;
}

.tsd-stats-section__label-note {
  text-transform: none;
}

@media (max-width: 1024px) {
  .tsd-stats-section {
    padding-block: 3rem;
  }

  .tsd-stats-section__inner {
    padding-inline: 1.25rem;
  }

  .tsd-stats-section__card {
    gap: 2.5rem;
    border: none;
    box-shadow: none;
    padding: 0;
  }

  .tsd-stats-section__intro {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(1.75rem, 12px);
    line-height: 1.3571428571;
    letter-spacing: 0;
    text-align: left;
  }

  .tsd-stats-section__grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
  }

  .tsd-stats-section__stat {
    flex: 0 1 calc(50% - 1rem / 2);
    min-width: min(9.375rem, 100%);
    border: 0.0625rem solid rgba(103, 103, 117, 0.3);
    box-shadow: 0.1875rem 0.1875rem 0 rgba(255, 208, 216, 0.8);
    padding: 1.5rem 0.75rem;
  }

  .tsd-stats-section__value {
    font-size: 2rem;
  }

  .tsd-stats-section__unit {
    font-size: 1.125rem;
  }

  .tsd-stats-section__label {
    text-transform: none;
    letter-spacing: 0;
    font-size: 0.8125rem;
    font-weight: 400;
    color: #373742;
  }
}
.tsd-theme--crimson {
  --tsd-panel: #7c2235;
}

.tsd-devices-section {
  background: var(--tsd-panel, #042a59);
  padding-block: 7.5rem;
  overflow: hidden;
}

.tsd-devices-section__inner {
  position: relative;
  max-width: var(--container-width-padd);
  width: 100%;
  padding-inline: var(--gutter);
  margin-inline: auto;
  height: 47.5rem;
}

.tsd-devices-section__laptop, .tsd-devices-section__phone {
  position: absolute;
  overflow: hidden;
  background: #fff;
  will-change: transform;
}

.tsd-devices-section__screen {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.tsd-devices-section__laptop {
  left: 9.375rem;
  top: 2.5rem;
  width: 68.75rem;
  height: 40rem;
  border-radius: 1.75rem;
  box-shadow: -11.07px -11.07px 41.51px 0 rgba(121, 135, 176, 0.25) inset, 8.3px 8.3px 16.6px 0 rgba(121, 135, 176, 0.08) inset, 11.07px 11.07px 27.67px 0 rgba(80, 88, 113, 0.08), 2.77px 2.77px 8.3px 0 rgba(80, 88, 113, 0.25);
}

.tsd-devices-section__phone {
  right: 10.625rem;
  bottom: 1.875rem;
  width: 16.5625rem;
  height: 35rem;
  border-radius: 2.25rem;
  box-shadow: -11.12px -11.12px 41.7px 0 rgba(121, 135, 176, 0.25) inset, 8.34px 8.34px 16.68px 0 rgba(121, 135, 176, 0.08) inset, 11.12px 11.12px 27.8px 0 rgba(80, 88, 113, 0.08), 2.78px 2.78px 8.34px 0 rgba(80, 88, 113, 0.25);
}

@media (max-width: 1024px) {
  .tsd-devices-section {
    padding-block: 3rem;
  }

  .tsd-devices-section__inner {
    height: auto;
    padding-inline: 1.25rem;
  }

  .tsd-devices-section__laptop {
    position: static;
    width: 100%;
    height: auto;
    border-radius: 1rem;
  }

  .tsd-devices-section__phone {
    display: none;
  }
}
html:has(.tsd-challenge-section) {
  scroll-behavior: auto !important;
  overflow-x: clip;
  height: auto;
  min-height: 100%;
}

html:has(.tsd-challenge-section) body {
  overflow-x: clip;
  height: auto;
  min-height: 100%;
}

.tsd-challenge-section {
  background: #fff9ed;
}

.tsd-challenge-section__pin {
  padding-block: 7.5rem;
}

.tsd-challenge-section__inner {
  max-width: var(--container-width-padd);
  width: 100%;
  padding-inline: var(--gutter);
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.4fr);
  gap: 5rem;
  align-items: start;
}

.tsd-challenge-section__rail {
  display: flex;
  padding-top: 0.5rem;
}

.tsd-challenge-section__diamond, .tsd-challenge-section__block-diamond {
  width: 2.625rem;
  height: 2.625rem;
  transform: rotate(45deg);
}

.tsd-challenge-section__diamond--1, .tsd-challenge-section__block-diamond--1 {
  background: #aa142d;
}

.tsd-challenge-section__diamond--2, .tsd-challenge-section__block-diamond--2 {
  background: #ea1b3d;
}

.tsd-challenge-section__diamond--3, .tsd-challenge-section__block-diamond--3 {
  background: #eb4c5e;
}

.tsd-challenge-section__diamond--4, .tsd-challenge-section__block-diamond--4 {
  background: #ffd0d8;
}

.tsd-challenge-section__diamond + .tsd-challenge-section__diamond {
  margin-left: -0.5rem;
}

.tsd-challenge-section__block-diamond {
  display: none;
}

.tsd-challenge-section__blocks {
  display: flex;
  flex-direction: column;
}

.tsd-challenge-section__block {
  padding-block: 1.5rem;
}

.tsd-challenge-section__block:not(:last-child) {
  border-bottom: 0.0625rem solid #e6e6ed;
}

.tsd-challenge-section__block-title {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(2rem, 12px);
  line-height: 1.5;
  letter-spacing: 0;
  color: #373742;
  margin: 0;
}

.tsd-challenge-section__block-body {
  display: grid;
  grid-template-rows: 1fr;
  transition: grid-template-rows 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.tsd-challenge-section__block-text {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.125rem, 12px);
  line-height: 1.6666666667;
  letter-spacing: 0;
  color: #676775;
  margin: 1rem 0 0;
  min-height: 0;
  overflow: hidden;
  max-width: 47.5rem;
  transition: opacity 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.tsd-challenge-section__block-cta-wrap {
  margin-top: 1.5rem;
}

.tsd-challenge-section--measuring, .tsd-challenge-section--measuring * {
  transition: none !important;
}

@media (min-width: 1025px) {
  .tsd-challenge-section--enhanced .tsd-challenge-section__pin {
    min-height: 100vh;
    display: flex;
    align-items: center;
  }

  .tsd-challenge-section--enhanced .tsd-challenge-section__pin > * {
    width: 100%;
  }

  .tsd-challenge-section--enhanced .tsd-challenge-section__block {
    opacity: 0;
    transform: translate3d(0, 1.5rem, 0);
    transition: opacity 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    will-change: transform, opacity;
  }

  .tsd-challenge-section--enhanced .tsd-challenge-section__block.is-revealed {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }

  .tsd-challenge-section--enhanced .tsd-challenge-section__block:not(.is-active) .tsd-challenge-section__block-body {
    grid-template-rows: 0fr;
  }

  .tsd-challenge-section--enhanced .tsd-challenge-section__block:not(.is-active) .tsd-challenge-section__block-text {
    opacity: 0;
  }

  .tsd-challenge-section--enhanced .tsd-challenge-section__diamond {
    opacity: 0;
    transform: rotate(45deg) scale(0.4);
    transition: opacity 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
    will-change: transform, opacity;
  }

  .tsd-challenge-section--enhanced .tsd-challenge-section__diamond.is-revealed {
    opacity: 1;
    transform: rotate(45deg) scale(1);
  }
}
@media (max-width: 1024px) {
  .tsd-challenge-section__pin {
    padding-block: 3rem;
  }

  .tsd-challenge-section__inner {
    grid-template-columns: 1fr;
    gap: 0;
    padding-inline: 1.25rem;
  }

  .tsd-challenge-section__rail {
    display: none;
  }

  .tsd-challenge-section__block-diamond {
    display: block;
    width: 2rem;
    height: 2rem;
    margin: 0.25rem 0.25rem 1.5rem;
  }

  .tsd-challenge-section__block {
    padding-block: 2rem;
  }

  .tsd-challenge-section__block:not(:last-child) {
    border-bottom: none;
  }

  .tsd-challenge-section__block-cta-wrap {
    margin-top: 1.25rem;
  }

  .tsd-challenge-section__block-title {
    font-size: 1.5rem;
    line-height: 2rem;
  }
}
html:has(.tsd-discovery-section) {
  scroll-behavior: auto !important;
  overflow-x: clip;
  height: auto;
  min-height: 100%;
}

html:has(.tsd-discovery-section) body {
  overflow-x: clip;
  height: auto;
  min-height: 100%;
}

.tsd-discovery-section {
  background: #fff9ed;
  position: relative;
  z-index: 1;
}

.tsd-discovery-section__pin {
  padding-block: 7.5rem;
  background: #fff9ed;
}

.tsd-discovery-section__inner {
  --tsd-discovery-inset-left: clamp(
    40px,
    calc((100% - var(--container-width-padd)) / 2 + 40px),
    60px
  );
  --tsd-discovery-inset-right: clamp(
    40px,
    calc((100% - var(--container-width-padd)) / 2 + 40px),
    80px
  );
  width: 100%;
  padding-left: var(--tsd-discovery-inset-left);
  padding-right: var(--tsd-discovery-inset-right);
}

.tsd-discovery-section__heading {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(3rem, 12px);
  line-height: 1.0833333333;
  letter-spacing: -0.04em;
  font-weight: 300;
  color: #373742;
  margin: 0;
}

.tsd-discovery-section__heading-accent {
  color: #ea1b3d;
}

.tsd-discovery-section__divider {
  position: relative;
  height: 0.0625rem;
  margin-block: 3rem 3.5rem;
  margin-left: calc(-1 * var(--tsd-discovery-inset-left));
  margin-right: calc(-1 * var(--tsd-discovery-inset-right));
  background: #ffd0d8;
  overflow: hidden;
}

.tsd-discovery-section__divider-fill {
  position: absolute;
  inset: 0;
  transform: scaleX(var(--tsd-discovery-progress, 1));
  transform-origin: left center;
  will-change: transform;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  background: linear-gradient(-90deg, #ea1b3d 0%, #ea1b3d 19%, rgba(234, 27, 61, 0.15) 100%);
}

.tsd-discovery-section__step {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.4fr);
  gap: 4rem;
  align-items: start;
}

.tsd-discovery-section__step + .tsd-discovery-section__step {
  margin-top: 6rem;
}

.tsd-discovery-section__counter {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.75rem, 12px);
  line-height: 1.3571428571;
  letter-spacing: 0;
  color: #676775;
  margin: 0.5rem 0 0;
  letter-spacing: 0.125rem;
}

.tsd-discovery-section__step-content {
  max-width: 52.625rem;
}

.tsd-discovery-section__step-title {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.75rem, 12px);
  line-height: 1.3571428571;
  letter-spacing: 0;
  color: #000;
  margin: 0 0 2rem;
}

.tsd-discovery-section__step-subtitle {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: 1.25rem;
  line-height: 1.75rem;
  letter-spacing: 0;
  color: #2f2f39;
  margin: 0 0 1rem;
}

.tsd-discovery-section__step-content .tsd-discovery-section__step-subtitle ~ .tsd-discovery-section__step-subtitle {
  margin-top: 1.5rem;
}

.tsd-discovery-section__list {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: 1.25rem;
  line-height: 1.75rem;
  letter-spacing: 0;
  color: #676775;
  margin: 0;
  padding-left: 1.375rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.tsd-discovery-section__list li::marker {
  color: #676775;
  font-size: 0.875rem;
}

.tsd-discovery-section__link {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 2.5rem;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 500;
  font-size: max(1rem, 12px);
  line-height: 1.625;
  letter-spacing: 0;
  text-transform: uppercase;
  text-transform: uppercase;
  color: #ea1b3d;
  text-decoration: none;
}

.tsd-discovery-section__link:hover .tsd-discovery-section__link-arrow {
  transform: translate3d(4px, 0, 0);
}

.tsd-discovery-section__link:focus-visible {
  outline: 2px solid #ea1b3d;
  outline-offset: 4px;
}

.tsd-discovery-section__link-text {
  text-decoration: underline;
  text-underline-offset: 5px;
  text-decoration-thickness: 1px;
}

.tsd-discovery-section__link-arrow {
  flex: none;
  fill: currentcolor;
  transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.tsd-discovery-section__outcome {
  background: #ffefd1;
  border: 0.015625rem solid #373742;
  box-shadow: 0.25rem 0.25rem 0 0 #ffd0d8;
  padding: 1.5rem;
  margin-top: 2rem;
}

.tsd-discovery-section__outcome-title {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: 1.25rem;
  line-height: 1.75rem;
  letter-spacing: 0;
  color: #2f2f39;
  margin: 0 0 1.5rem;
}

.tsd-discovery-section__outcome-text {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: 1.25rem;
  line-height: 1.75rem;
  letter-spacing: 0;
  color: #676775;
  margin: 0;
}

@media (min-width: 1025px) {
  .tsd-discovery-section--enhanced .tsd-discovery-section__pin {
    min-height: 100vh;
    display: flex;
    align-items: flex-start;
  }

  .tsd-discovery-section--enhanced .tsd-discovery-section__pin > * {
    width: 100%;
  }

  .tsd-discovery-section--enhanced .tsd-discovery-section__steps {
    display: grid;
    isolation: isolate;
  }

  .tsd-discovery-section--enhanced .tsd-discovery-section__step {
    grid-area: 1/1;
    opacity: 0;
    visibility: hidden;
    z-index: 0;
    pointer-events: none;
    will-change: opacity;
    transition: opacity 0.2s ease, visibility 0s linear 0.2s;
  }

  .tsd-discovery-section--enhanced .tsd-discovery-section__step + .tsd-discovery-section__step {
    margin-top: 0;
  }

  .tsd-discovery-section--enhanced .tsd-discovery-section__step.is-active {
    opacity: 1;
    visibility: visible;
    z-index: 1;
    pointer-events: auto;
    transition: opacity 0.3s ease 0.2s, visibility 0s linear 0s;
  }
}
@media (max-width: 1024px) {
  .tsd-discovery-section__pin {
    padding-block: 3rem;
  }

  .tsd-discovery-section__inner {
    --tsd-discovery-inset-left: 20px;
    --tsd-discovery-inset-right: 20px;
  }

  .tsd-discovery-section__heading {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 250;
    font-size: max(2rem, 12px);
    line-height: 1.1875;
    letter-spacing: -0.04em;
  }

  .tsd-discovery-section__divider {
    margin-block: 1.5rem;
  }

  .tsd-discovery-section__steps {
    display: flex;
    align-items: flex-start;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    gap: 1.5rem;
    margin-inline: -1.25rem;
    padding-inline: 1.25rem;
  }

  .tsd-discovery-section__steps::-webkit-scrollbar {
    display: none;
  }

  .tsd-discovery-section__step {
    grid-template-columns: 1fr;
    align-content: start;
    gap: 1.5rem;
    flex: 0 0 100%;
    scroll-snap-align: center;
  }

  .tsd-discovery-section__step + .tsd-discovery-section__step {
    margin-top: 0;
  }

  .tsd-discovery-section__step-content {
    max-width: none;
  }

  .tsd-discovery-section__counter {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 600;
    font-size: max(1.125rem, 12px);
    line-height: 1.6666666667;
    letter-spacing: 0;
    color: #a7a7b0;
  }

  .tsd-discovery-section__counter-current {
    color: #ea1b3d;
  }

  .tsd-discovery-section__step-title {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 500;
    font-size: max(1.5rem, 12px);
    line-height: 1.4166666667;
    letter-spacing: -0.04em;
    margin-bottom: 2rem;
  }

  .tsd-discovery-section__step-subtitle {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 600;
    font-size: max(1rem, 12px);
    line-height: 1.625;
    letter-spacing: 0;
  }

  .tsd-discovery-section__list {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(1rem, 12px);
    line-height: 1.625;
    letter-spacing: 0;
  }

  .tsd-discovery-section__list li::marker {
    font-size: 0.75rem;
  }

  .tsd-discovery-section__outcome {
    padding: 1.5rem;
  }

  .tsd-discovery-section__outcome-title {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 600;
    font-size: max(0.875rem, 12px);
    line-height: 1.5714285714;
    letter-spacing: 0;
    margin: 0 0 1rem;
  }

  .tsd-discovery-section__outcome-text {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(1rem, 12px);
    line-height: 1.625;
    letter-spacing: 0;
  }
}
.tsd-quote-section {
  background: #fff9ed;
  padding-block: 8.75rem;
}

.tsd-quote-section__inner {
  max-width: 77.5rem;
  width: 100%;
  padding: 2.5rem;
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0, 31.25rem) minmax(0, 1fr);
  gap: 6rem;
  align-items: center;
  justify-content: center;
}

.tsd-quote-section__media {
  margin: 0;
}

.tsd-quote-section__photo {
  display: block;
  width: 100%;
  height: auto;
  clip-path: polygon(24px 0, 100% 0, 100% calc(100% - 24px), calc(100% - 24px) 100%, 0 100%, 0 24px);
}

.tsd-quote-section__content {
  margin: 0;
}

.tsd-quote-section__heading {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(3rem, 12px);
  line-height: 1.3333333333;
  letter-spacing: 0;
  color: #373742;
  max-width: 35rem;
  margin: 0;
}

.tsd-quote-section__heading-accent {
  color: #ea1b3d;
}

.tsd-quote-section__text {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.125rem, 12px);
  line-height: 1.6666666667;
  letter-spacing: 0;
  color: #676775;
  max-width: 35rem;
  margin: 2rem 0 0;
}

.tsd-quote-section__cite {
  margin-top: 2.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.tsd-quote-section__cite-name {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 500;
  font-size: max(1rem, 12px);
  line-height: 1.625;
  letter-spacing: 0;
  text-transform: uppercase;
  letter-spacing: 0.0625rem;
  font-weight: 600;
  color: #373742;
}

.tsd-quote-section__cite-role {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(0.875rem, 12px);
  line-height: 1.5714285714;
  letter-spacing: 0;
  color: #676775;
}

@media (max-width: 1024px) {
  .tsd-quote-section {
    padding-block: 3rem;
  }

  .tsd-quote-section__inner {
    max-width: 35rem;
    grid-template-columns: 1fr;
    gap: 2rem;
    padding: 0 1.25rem;
  }

  .tsd-quote-section__heading {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(1.75rem, 12px);
    line-height: 1.3571428571;
    letter-spacing: 0;
  }

  .tsd-quote-section__text {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(1rem, 12px);
    line-height: 1.625;
    letter-spacing: 0;
    color: #676775;
    margin-top: 1.5rem;
  }

  .tsd-quote-section__cite {
    margin-top: 1.5rem;
  }
}
html:has(.tsd-statement-section) {
  scroll-behavior: auto !important;
  overflow-x: clip;
  height: auto;
  min-height: 100%;
}

html:has(.tsd-statement-section) body {
  overflow-x: clip;
  height: auto;
  min-height: 100%;
}

.tsd-statement-section {
  position: relative;
  background: var(--tsd-panel, #042a59);
  overflow: hidden;
}

@media (max-width: 1024px) {
  .tsd-statement-section::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url(../static/assets/images/latest/grain.png);
    background-repeat: repeat;
    background-size: cover;
    mix-blend-mode: normal;
    opacity: 1;
    pointer-events: none;
    z-index: 4;
  }
}
.tsd-statement-section__stage {
  display: flex;
  flex-direction: column;
  gap: 4rem;
  max-width: var(--container-width-padd);
  margin-inline: auto;
  padding: 6rem var(--gutter);
}

.tsd-statement-section__sentence {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: 4rem;
  line-height: 5rem;
  letter-spacing: -0.075rem;
  color: #fff;
  max-width: 61.25rem;
  margin: 0 auto;
  text-align: center;
}

.tsd-statement-section__card {
  position: relative;
  width: min(72.5rem, 100%);
  margin-inline: auto;
}

.tsd-statement-section__card-bg {
  position: absolute;
  inset: 0;
  background: var(--tsd-panel, #042a59);
  border: 0.0625rem solid rgba(255, 255, 255, 0.14);
  border-radius: 0;
  box-shadow: 0 1.875rem 5rem rgba(2, 19, 42, 0.35);
  clip-path: polygon(24px 0, 100% 0, 100% calc(100% - 24px), calc(100% - 24px) 100%, 0 100%, 0 24px);
}

.tsd-statement-section__card-inner {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  padding: 2rem;
}

.tsd-statement-section__card-inner::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url(../static/assets/images/latest/grain.png);
  background-repeat: repeat;
  background-size: cover;
  mix-blend-mode: normal;
  opacity: 1;
  pointer-events: none;
  z-index: 2;
  clip-path: polygon(24px 0, 100% 0, 100% calc(100% - 24px), calc(100% - 24px) 100%, 0 100%, 0 24px);
}

.tsd-statement-section__card-heading {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 250;
  font-size: max(2rem, 12px);
  line-height: 1.1875;
  letter-spacing: -0.04em;
  color: #fff;
  margin: 0;
  text-align: left;
}

.tsd-statement-section__card-media {
  clip-path: polygon(16px 0, 100% 0, 100% calc(100% - 12px), calc(100% - 16px) 100%, 0 100%, 0 12px);
}

.tsd-statement-section__card-screen {
  display: block;
  width: 100%;
  height: auto;
}

.tsd-statement-section__card-footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
  text-align: center;
}

.tsd-statement-section__card-body {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.125rem, 12px);
  line-height: 1.6666666667;
  letter-spacing: 0;
  color: #fff;
  max-width: 42.5rem;
  margin: 0;
}

.tsd-statement-section__card-body:only-child {
  max-width: none;
  width: 100%;
}

.tsd-statement-section__card-pill {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 500;
  font-size: max(0.75rem, 12px);
  line-height: 1.5;
  letter-spacing: 0.15em;
  color: #fff;
  background: rgba(255, 255, 255, 0.1);
  border: none;
  padding: 1rem;
  margin: 0;
}

@media (min-width: 1025px) {
  .tsd-statement-section--enhanced {
    background: #fff9ed;
  }

  .tsd-statement-section--enhanced .tsd-statement-section__stage {
    position: relative;
    height: 100vh;
    max-width: none;
    padding: 0;
    gap: 0;
  }

  .tsd-statement-section--enhanced .tsd-statement-section__intro {
    position: absolute;
    inset: 0;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-inline: var(--gutter);
    pointer-events: none;
    will-change: transform, opacity;
  }

  .tsd-statement-section--enhanced .tsd-statement-section__word {
    display: inline-block;
  }

  .tsd-statement-section--enhanced .tsd-statement-section__char {
    display: inline-block;
    opacity: 0;
    transform: translate3d(0, 0.625rem, 0);
    will-change: transform, opacity;
  }

  .tsd-statement-section--enhanced .tsd-statement-section__card {
    position: absolute;
    inset: 0;
    margin: auto;
    width: min(72.5rem, 100vw - 6rem);
    height: min(43.75rem, 100vh - 6rem);
    will-change: transform;
  }

  .tsd-statement-section--enhanced .tsd-statement-section__card {
    z-index: 1;
  }

  .tsd-statement-section--enhanced .tsd-statement-section__card ~ .tsd-statement-section__card {
    transform: translate3d(0, 110vh, 0);
  }

  .tsd-statement-section--enhanced .tsd-statement-section__card--1:not(.is-collapsed) .tsd-statement-section__card-bg {
    clip-path: none;
  }

  .tsd-statement-section--enhanced .tsd-statement-section__card--1:not(.is-collapsed) .tsd-statement-section__card-inner::after {
    content: none;
  }

  .tsd-statement-section--enhanced .tsd-statement-section__card-bg {
    transform-origin: center center;
    will-change: transform;
  }

  .tsd-statement-section--enhanced .tsd-statement-section__card-inner {
    height: 100%;
    padding: 3rem;
  }

  .tsd-statement-section--enhanced .tsd-statement-section__card-media {
    flex: 1 1 auto;
    min-height: 0;
    clip-path: none;
    border-radius: 0;
    overflow: hidden;
  }

  .tsd-statement-section--enhanced .tsd-statement-section__card-screen {
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: top center;
       object-position: top center;
  }

  .tsd-statement-section--enhanced .tsd-statement-section__card-footer {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    text-align: left;
  }

  .tsd-statement-section--enhanced .tsd-statement-section__card-heading, .tsd-statement-section--enhanced .tsd-statement-section__card-media, .tsd-statement-section--enhanced .tsd-statement-section__card-footer {
    opacity: 0;
    transform: translate3d(0, 1.5rem, 0);
    will-change: transform, opacity;
  }

  .tsd-statement-section--enhanced .tsd-statement-section__card-heading.ib-desktop-only {
    display: block !important;
  }

  .tsd-statement-section--enhanced .tsd-statement-section__card-heading.ib-mobile-tablet-only {
    display: none !important;
  }
}
@media (width < 1024px) {
  .tsd-statement-section__stage {
    gap: 0;
    padding: 0;
  }

  .tsd-statement-section__intro {
    min-height: 31.8125rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-block: 3rem;
    padding-inline: 1.25rem;
  }

  .tsd-statement-section__card {
    width: auto;
    margin: 0 1.25rem;
    padding-block: 3rem;
  }

  .tsd-statement-section__sentence {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 250;
    font-size: max(2rem, 12px);
    line-height: 1.1875;
    letter-spacing: -0.04em;
    text-align: center;
    margin: 0;
  }

  .tsd-statement-section__card-bg, .tsd-statement-section__card-inner::after {
    display: none;
  }

  .tsd-statement-section__card-inner {
    padding: 0;
  }

  .tsd-statement-section__card-heading {
    font-size: 1.5rem;
    line-height: 2rem;
    text-align: left;
  }

  .tsd-statement-section__card-footer {
    align-items: flex-start;
    text-align: left;
  }

  .tsd-statement-section__card-pill {
    align-self: stretch;
    text-align: center;
    font-size: 1.125rem;
  }
}
.tsd-timeline-section {
  position: relative;
  overflow-x: hidden;
  background: #fff9ed;
  padding-block: 140px;
}

.tsd-timeline-section__inner {
  max-width: var(--container-width-padd);
  width: 100%;
  padding-inline: var(--gutter);
  margin-inline: auto;
}

.tsd-timeline-section__heading {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(3rem, 12px);
  line-height: 1.0833333333;
  letter-spacing: -0.04em;
  font-weight: 300;
  color: #373742;
  max-width: 30rem;
  margin: 0;
}

.tsd-timeline-section__heading-accent {
  color: #ea1b3d;
}

.tsd-timeline-section__ruler {
  display: none;
}

.tsd-timeline-section__track-wrap {
  position: relative;
  margin-top: 7rem;
}

.tsd-timeline-section__track {
  display: flex;
  gap: 0;
  list-style: none;
  margin: 0;
  padding: 0;
  overflow: auto hidden;
  scrollbar-width: none;
  cursor: grab;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  touch-action: pan-y;
}

.tsd-timeline-section__track::-webkit-scrollbar {
  display: none;
}

.tsd-timeline-section__track.is-dragging {
  cursor: grabbing;
}

.tsd-timeline-section__milestone {
  position: relative;
  display: flex;
  flex: 0 0 300px;
  flex-direction: column;
  border-left: 1px solid #e6e6ed;
  padding-left: 24px;
  will-change: transform, opacity;
}

.tsd-timeline-section__date {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: 20px;
  line-height: 30px;
  color: #373742;
  margin: 8px 0 0;
}

.tsd-timeline-section__waveform {
  position: absolute;
  top: 70px;
  left: 50%;
  z-index: 0;
  display: flex;
  align-items: center;
  width: 100vw;
  height: 52px;
  margin-left: -50vw;
  gap: 19px;
  pointer-events: none;
}

.tsd-timeline-section__waveform-bar {
  height: 100%;
  border-left: 1px solid transparent;
  border-image-source: linear-gradient(180deg, #a7a7b0 0%, rgba(102, 102, 102, 0) 100%);
  border-image-slice: 1;
  transform-origin: center;
  will-change: transform;
}

.tsd-timeline-section--enhanced .tsd-timeline-section__milestone {
  border-left-color: transparent;
}

.tsd-timeline-section__divider {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  width: 0;
  border-left: 1px solid transparent;
  border-image-source: linear-gradient(180deg, #a7a7b0 0%, rgba(102, 102, 102, 0) 100%);
  border-image-slice: 1;
  transform-origin: top center;
}

.tsd-timeline-section__event {
  margin-top: 112px;
  max-width: 330px;
}

.tsd-timeline-section__event-title {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 600;
  font-size: max(1.125rem, 12px);
  line-height: 1.6666666667;
  letter-spacing: 0;
  text-transform: none;
  font-weight: 500;
  color: #373742;
  margin: 0 0 8px;
}

.tsd-timeline-section__event-text {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(0.875rem, 12px);
  line-height: 1.5714285714;
  letter-spacing: 0;
  color: #676775;
  margin: 0;
}

.tsd-timeline-section__event-photo {
  display: block;
  width: 100%;
  height: auto;
  margin-top: 24px;
}

@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
  .tsd-timeline-section--enhanced .tsd-timeline-section__milestone:focus-visible {
    outline: 2px solid #ea1b3d;
    outline-offset: 4px;
  }

  .tsd-timeline-section--enhanced .tsd-timeline-section__event {
    pointer-events: none;
  }

  .tsd-timeline-section--enhanced .tsd-timeline-section__milestone.is-active .tsd-timeline-section__event {
    pointer-events: auto;
  }
}
@media (max-width: 1024px) {
  .tsd-timeline-section {
    padding-block: 3rem;
  }

  .tsd-timeline-section__inner {
    padding-inline: 1.25rem;
  }

  .tsd-timeline-section__heading {
    font-size: 2rem;
    line-height: 2.625rem;
  }

  .tsd-timeline-section__track-wrap {
    margin-top: 3rem;
  }

  .tsd-timeline-section__track {
    position: relative;
    flex-direction: column;
    gap: 2.5rem;
    overflow: visible;
    cursor: auto;
    -webkit-user-select: auto;
       -moz-user-select: auto;
            user-select: auto;
    touch-action: auto;
  }

  .tsd-timeline-section__track::before {
    content: "";
    position: absolute;
    left: 0.1875rem;
    top: 0;
    bottom: 0;
    width: 0.0625rem;
    background: #e6e6ed;
  }

  .tsd-timeline-section__milestone {
    flex: 1 1 auto;
    border-left: none;
    padding-left: 1.5rem;
  }

  .tsd-timeline-section__milestone::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.6875rem;
    width: 0.4375rem;
    height: 0.4375rem;
    border-radius: 50%;
    background: #ea1b3d;
  }

  .tsd-timeline-section__date {
    font-weight: 500;
  }

  .tsd-timeline-section__waveform, .tsd-timeline-section__divider {
    display: none;
  }

  .tsd-timeline-section__event {
    margin-top: 0.5rem;
    max-width: none;
  }

  .tsd-timeline-section__event-title {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(1rem, 12px);
    line-height: 1.625;
    letter-spacing: 0;
    display: inline;
    font-weight: 400;
    color: #676775;
    margin: 0;
  }

  .tsd-timeline-section__event-title::after {
    content: ":";
  }

  .tsd-timeline-section__event-text {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(1rem, 12px);
    line-height: 1.625;
    letter-spacing: 0;
    display: inline;
    color: #676775;
  }

  .tsd-timeline-section__event-photo {
    display: none;
  }
}
.er-team-section {
  background: #fff9ed;
  padding: 10rem 0 7.5rem;
  overflow: clip;
}

.er-team-section__container {
  max-width: 101rem;
  margin: 0 auto;
  padding: 0 2.5rem;
}

.er-team-section__heading {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(3rem, 12px);
  line-height: 1.0833333333;
  letter-spacing: -0.04em;
  font-weight: 300;
  color: #373742;
  margin: 0 0 6rem;
}

@media (min-width: 1025px) {
  .er-team-section__heading {
    opacity: 0;
    transform: translateY(2rem);
    will-change: transform, opacity;
  }

  .er-team-section__heading.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}
.er-team-section__accent {
  color: #ea1b3d;
}

.er-team-section__viewport {
  width: 100%;
}

.er-team-section__track {
  display: flex;
  gap: 2rem;
  transition: transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  will-change: transform;
}

.er-team-section__card {
  flex: 0 0 24.6875rem;
}

@media (min-width: 1025px) {
  .er-team-section__card {
    opacity: 0;
    transform: translateY(3rem);
    will-change: transform, opacity;
  }

  .er-team-section__card.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}
.er-team-section__card:nth-child(1).is-visible {
  transition-delay: 0s;
}

.er-team-section__card:nth-child(2).is-visible {
  transition-delay: 0.12s;
}

.er-team-section__card:nth-child(3).is-visible {
  transition-delay: 0.24s;
}

.er-team-section__card:nth-child(4).is-visible {
  transition-delay: 0.36s;
}

.er-team-section__card:nth-child(5).is-visible {
  transition-delay: 0.48s;
}

.er-team-section__card:nth-child(6).is-visible {
  transition-delay: 0.6s;
}

.er-team-section__photo {
  width: 100%;
  aspect-ratio: 393/491;
  background: #373742;
  clip-path: polygon(2.75rem 0, 100% 0, 100% calc(100% - 2.125rem), calc(100% - 2.75rem) 100%, 0 100%, 0 2.125rem);
  overflow: hidden;
}

.er-team-section__photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

@media (min-width: 1025px) {
  .er-team-section__card:hover .er-team-section__photo img {
    transform: scale(1.05);
  }
}
.er-team-section__name {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 500;
  font-size: max(1.5rem, 12px);
  line-height: 1.4166666667;
  letter-spacing: -0.04em;
  color: #373742;
  margin: 1.5rem 0 0.5rem;
}

.er-team-section__role {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 500;
  font-size: max(0.75rem, 12px);
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #676775;
  margin: 0;
}

.er-team-section__arrows {
  display: flex;
  justify-content: flex-end;
  gap: 0.375rem;
  margin-top: 3rem;
}

.er-team-section__btn {
  width: 3rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ffefd1;
  border: 0;
  cursor: pointer;
  color: #ea1b3d;
  clip-path: polygon(0.875rem 0, 100% 0, 100% calc(100% - 0.6875rem), calc(100% - 0.875rem) 100%, 0 100%, 0 0.6875rem);
  transition: opacity 0.3s ease, transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.er-team-section__btn:hover:not(:disabled) {
  transform: translateY(-0.1875rem);
}

.er-team-section__btn:disabled {
  color: #a7a7b0;
  cursor: default;
}

.er-team-section__btn svg {
  display: block;
}

@media (max-width: 1200px) {
  .er-team-section {
    padding: 7.5rem 0 6rem;
  }

  .er-team-section__card {
    flex-basis: 21.25rem;
  }
}
@media (max-width: 1024px) {
  .er-team-section {
    padding: 4rem 0;
    overflow: visible;
  }

  .er-team-section__container {
    padding: 0 1.25rem;
  }

  .er-team-section__heading {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(1.75rem, 12px);
    line-height: 1.3571428571;
    letter-spacing: 0;
    margin-bottom: 2.5rem;
  }

  .er-team-section__track {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem 2rem;
    transform: none !important;
  }

  .er-team-section__card {
    flex-basis: auto;
  }

  .er-team-section__card:nth-child(n+5) {
    display: none;
  }

  .er-team-section__photo {
    aspect-ratio: 164/161;
    clip-path: polygon(1.5625rem 0, 100% 0, 100% calc(100% - 1.1875rem), calc(100% - 1.5625rem) 100%, 0 100%, 0 1.1875rem);
  }

  .er-team-section__name {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 400;
    font-size: max(1.25rem, 12px);
    line-height: 1.4;
    letter-spacing: 0;
    margin-top: 1.5rem;
  }

  .er-team-section__role {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 500;
    font-size: max(0.75rem, 12px);
    line-height: 1.5;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-bottom: 2rem;
  }

  .er-team-section__arrows {
    display: none;
  }
}
body.page-true-story-detail {
  overflow-x: clip;
}
body.page-true-story-detail .container {
  max-width: var(--container-width-padd);
  width: 100%;
  padding-inline: var(--gutter);
  margin-inline: auto;
}
@media (max-width: 1024px) {
  body.page-true-story-detail .sn-lets-talk-section {
    background: #ffefd1;
  }
  body.page-true-story-detail .sn-lets-talk-section .talk-shape-1,
body.page-true-story-detail .sn-lets-talk-section .talk-shape-2 {
    background: #ffefd1;
  }
}
@media (max-width: 1024px) {
  body.page-true-story-detail .er-team-section {
    padding: 3rem 0;
  }
}

.tsd-scroll-cue {
  height: 3rem;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: 0.875rem;
  line-height: 0.719375rem;
  letter-spacing: 0.05375rem;
  text-align: center;
  vertical-align: middle;
  text-transform: uppercase;
  color: #676775;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  max-width: 1250px;
  margin: 2.5rem auto 0;
  padding-inline: 1.5rem;
}

.tsd-scroll-cue__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  color: #676775;
}
.tsd-scroll-cue__icon svg {
  width: 1rem;
  height: 0.75rem;
  transform: rotate(90deg);
}

:root {
  --bg-primary: #fff9ed;
  --text-primary: #373742;
  --text-secondary: #676775;
  --text-disabled: #a7a7b0;
  --text-gray: #676775;
  --accent-red: #ea1b3d;
  --accent-peach: #ffd0d8;
  --border-color: rgba(103, 103, 117, 0.15);
  --font-primary: Lexend, -apple-system, blinkmacsystemfont, Segoe UI, roboto, sans-serif;
  --transition-smooth: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  --transition-slow: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  --container-width: 93.5rem;
  --container-width-padd: 101rem;
  --gutter: 60px;
}

*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

html {
  font-size: clamp(14px, 0.9259259259vw, 16px);
}

@media (max-width: 1024px) {
  html {
    font-size: 100%;
  }
}
html.scroll-locked,
html.scroll-locked .main-header {
  padding-right: var(--scrollbar-comp, 0);
}

html.scroll-locked .header-container .mega-menu {
  scrollbar-gutter: stable;
}

html,
body {
  width: 100%;
  height: 100%;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  background-color: #fff9ed;
  color: #373742;
  line-height: 1.6;
}

::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: #fff9ed;
}

::-webkit-scrollbar-thumb {
  background: #a7a7b0;
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: #676775;
}

a {
  color: inherit;
  text-decoration: none;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

button,
input,
textarea,
select {
  font-family: inherit;
}

@media (min-width: 769px) {
  .ib-mobile-only {
    display: none !important;
  }
}
@media (max-width: 768px), (min-width: 1025px) {
  .ib-tablet-only {
    display: none !important;
  }
}
@media (min-width: 1025px) {
  .ib-mobile-tablet-only {
    display: none !important;
  }
}
@media (max-width: 1024px) {
  .ib-desktop-only {
    display: none !important;
  }
}
@media (max-width: 1024px) and (prefers-reduced-motion: no-preference) {
  .ib-m-reveal {
    opacity: 0;
    transform: translate3d(0, 24px, 0);
    transition: opacity 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition-delay: var(--ib-m-reveal-delay, 0s);
    will-change: transform, opacity;
  }

  .ib-m-reveal.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
@keyframes ib-arrow-slide {
  0% {
    transform: translateX(0);
    opacity: 1;
  }
  45% {
    transform: translateX(7px);
    opacity: 0;
  }
  46% {
    transform: translateX(-5px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
.ib-btn {
  --_bg: #ea1b3d;
  --_bg-press: #aa142d;
  --_color: #fff;
  --_border: transparent;
  --_shadow: #ffd0d8;
  position: relative;
  isolation: isolate;
  display: inline-flex;
  align-items: stretch;
  height: 48px;
  padding: 0;
  font-family: var(--font-heading);
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  background: transparent;
  border: none;
  outline: none;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.ib-btn[hidden] {
  display: none;
}

.ib-btn::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--_shadow);
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
  opacity: 0;
  transform: translate(0, 0);
  transition: opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1), transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
}

.ib-btn__inner {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  padding: 0 22px;
  color: var(--_color);
  background: var(--_bg);
  line-height: 26px;
  letter-spacing: 0;
  text-align: center;
  text-transform: uppercase;
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
  transition: background 0.25s cubic-bezier(0.16, 1, 0.3, 1), color 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ib-btn__inner::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--_border);
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px, 10px 0, 10px 1.5px, 1.5px 10px, 1.5px calc(100% - 1.5px), calc(100% - 10px) calc(100% - 1.5px), calc(100% - 1.5px) calc(100% - 10px), calc(100% - 1.5px) 1.5px, 10px 1.5px);
  pointer-events: none;
  transition: background 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ib-btn__arrow {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ib-btn__arrow svg, .ib-btn__arrow.ib-icon {
  width: 14px;
  height: 14px;
}

.ib-btn:hover:not(:disabled, [aria-disabled=true])::after {
  opacity: 1;
  transform: translate(4px, 4px);
}

.ib-btn:focus-visible .ib-btn__inner {
  background: var(--_bg-press);
}

.ib-btn:active:not(:disabled) .ib-btn__inner {
  background: var(--_bg-press);
}

.ib-btn:disabled, .ib-btn[aria-disabled=true] {
  --_bg: #a7a7b0;
  --_border: #a7a7b0;
  --_color: #fff;
  cursor: not-allowed;
  pointer-events: none;
}

.ib-btn--primary {
  --_bg: #ea1b3d;
  --_bg-press: #aa142d;
  --_color: #fff;
  --_border: transparent;
  --_shadow: #ffd0d8;
}

.ib-btn--primary-light {
  --_bg: #fff9ed;
  --_bg-press: #ffefd1;
  --_color: #676775;
  --_border: transparent;
  --_shadow: #ffd0d8;
}

.ib-btn--primary-light:disabled, .ib-btn--primary-light[aria-disabled=true] {
  --_bg: #a7a7b0;
  --_color: #fff;
}

.ib-btn--secondary {
  --_bg: transparent;
  --_bg-press: transparent;
  --_color: #ea1b3d;
  --_border: #ea1b3d;
  --_shadow: #ffd0d8;
}

.ib-btn--secondary:focus-visible {
  --_border: #aa142d;
  --_color: #aa142d;
}

.ib-btn--secondary:active:not(:disabled) {
  --_border: #aa142d;
  --_color: #aa142d;
}

.ib-btn--secondary:disabled, .ib-btn--secondary[aria-disabled=true] {
  --_bg: transparent;
  --_color: #a7a7b0;
  --_border: #a7a7b0;
}

.ib-btn--secondary-light {
  --_bg: transparent;
  --_bg-press: transparent;
  --_color: #fff;
  --_border: #fff;
  --_shadow: #ffd0d8;
}

.ib-btn--secondary-light:hover:not(:disabled, [aria-disabled=true]) {
  --_bg: #ea1b3d;
  --_border: transparent;
}

.ib-btn--secondary-light:disabled, .ib-btn--secondary-light[aria-disabled=true] {
  --_bg: transparent;
  --_color: #a7a7b0;
  --_border: #a7a7b0;
}

.ib-btn--ghost {
  --_color: #ea1b3d;
  height: auto;
}

.ib-btn--ghost::after {
  display: none;
}

.ib-btn--ghost .ib-btn__inner {
  padding: 2px 0;
  height: auto;
  background: transparent;
  clip-path: none;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1.5px;
  -webkit-text-decoration-color: currentcolor;
          text-decoration-color: currentcolor;
  transition: color 0.25s cubic-bezier(0.16, 1, 0.3, 1), -webkit-text-decoration-color 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  transition: color 0.25s cubic-bezier(0.16, 1, 0.3, 1), text-decoration-color 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  transition: color 0.25s cubic-bezier(0.16, 1, 0.3, 1), text-decoration-color 0.25s cubic-bezier(0.16, 1, 0.3, 1), -webkit-text-decoration-color 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ib-btn--ghost .ib-btn__inner::before {
  display: none;
}

.ib-btn--ghost:focus-visible, .ib-btn--ghost:active:not(:disabled) {
  --_color: #aa142d;
}

.ib-btn--ghost:focus-visible .ib-btn__inner, .ib-btn--ghost:active:not(:disabled) .ib-btn__inner {
  background: transparent !important;
}

.ib-btn--ghost:disabled, .ib-btn--ghost[aria-disabled=true] {
  --_color: #a7a7b0;
  pointer-events: none;
}

.ib-btn--bare {
  --_bg: transparent;
  --_bg-press: transparent;
  --_color: #373742;
  --_border: transparent;
  --_shadow: transparent;
}

.ib-btn--bare::after {
  display: none;
}

.ib-btn--bare .ib-btn__inner {
  background: transparent;
  clip-path: none;
  transition: color 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ib-btn--bare .ib-btn__inner::before {
  display: none;
}

.ib-btn--bare .ib-icon,
.ib-btn--bare .ib-btn__arrow {
  color: var(--_color);
}

.ib-btn--bare:focus-visible .ib-btn__inner, .ib-btn--bare:active:not(:disabled) .ib-btn__inner {
  background: transparent;
}

.ib-btn--bare:disabled, .ib-btn--bare[aria-disabled=true] {
  --_bg: transparent;
  --_border: transparent;
  --_color: #a7a7b0;
}

.ib-btn--with-icon:hover:not(:disabled, [aria-disabled=true]) .ib-btn__arrow {
  animation: ib-arrow-slide 0.7s cubic-bezier(0.16, 1, 0.3, 1) infinite;
}

.ib-btn--icon-only {
  width: 48px;
}

.ib-btn--icon-only .ib-btn__inner {
  padding: 0;
}

.ib-btn--icon-only:hover:not(:disabled, [aria-disabled=true]) .ib-btn__arrow {
  animation: ib-arrow-slide 0.7s cubic-bezier(0.16, 1, 0.3, 1) infinite;
}

@media (max-width: 1024px) {
  .ib-btn {
    height: 44px;
    font-size: 15px;
  }

  .ib-btn__inner {
    padding: 0 18px;
  }

  .ib-btn__arrow svg, .ib-btn__arrow.ib-icon {
    width: 13px;
    height: 13px;
  }

  .ib-btn--icon-only {
    width: 44px;
  }

  .ib-btn--icon-only .ib-btn__inner {
    padding: 0;
  }
}
.cu-hero-section {
  position: relative;
  background: #fff9ed;
  padding: 12.75rem 0 5rem;
  overflow: hidden;
}

.cu-hero-section__container {
  display: flex;
  align-items: stretch;
  gap: 2.5rem;
  max-width: var(--container-width-padd);
  width: 100%;
  padding-inline: var(--gutter);
  margin-inline: auto;
}

.cu-hero-section__intro {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 1.25rem;
  width: 44.25rem;
  padding-bottom: 7rem;
  box-sizing: border-box;
}

.cu-hero-section__heading {
  position: relative;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 250;
  font-size: max(4.5rem, 12px);
  line-height: 1.2222222222;
  letter-spacing: -0.04em;
}

.cu-hero-section__highlight {
  display: block;
  background: linear-gradient(90deg, #284cba 0%, #ea1b3d 72.87%);
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
          background-clip: text;
}

.cu-hero-section__subtext {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.125rem, 12px);
  line-height: 1.6666666667;
  letter-spacing: 0;
  color: #676775;
  max-width: 44ch;
  margin-top: 1.5rem;
}

.cu-hero-section__anchor {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  transition: opacity 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.25rem, 12px);
  line-height: 1.7;
  letter-spacing: 0;
  color: #a7a7b0;
}

.cu-hero-section__anchor .ib-icon {
  color: #ea1b3d;
  transition: transform 0.3s ease;
}

.cu-hero-section__anchor:hover .ib-icon {
  transform: translateY(2px);
}

.cu-hero-section__anchor.is-hidden {
  opacity: 0;
  pointer-events: none;
}

.cu-hero-section__panel {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  flex: 1;
  min-width: 0;
}

.cu-hero-section__cards {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.cu-hero-section__card {
  cursor: pointer;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 1.25rem 1.5rem;
  background: #fff9ed;
  border: 1px solid #a7a7b0;
  border-radius: 0;
  box-shadow: 1.24px 1.24px 0 0 #fff9ed, 4.14px 4.14px 0 0 #ffd0d8;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.cu-hero-section__card:focus-visible {
  outline: 0.125rem solid #ea1b3d;
  outline-offset: 0.125rem;
}

.cu-hero-section__card-top {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}

.cu-hero-section__card-title {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 600;
  font-size: max(1.125rem, 12px);
  line-height: 1.6666666667;
  letter-spacing: 0;
  color: #373742;
}

.cu-hero-section__card-desc {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.125rem, 12px);
  line-height: 1.6666666667;
  letter-spacing: 0;
  color: #676775;
}

.cu-hero-section__search {
  position: relative;
}

.cu-hero-section__search-input {
  display: block;
  width: 100%;
  background: transparent;
  border: none;
  resize: none;
  overflow: hidden;
  padding: 0.75rem 2.5rem 0.75rem 0;
  height: calc(1.875rem + 0.75rem * 2);
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.125rem, 12px);
  line-height: 1.6666666667;
  letter-spacing: 0;
  color: #373742;
}

.cu-hero-section__search-input::-moz-placeholder {
  color: #676775;
}

.cu-hero-section__search-input::placeholder {
  color: #676775;
}

.cu-hero-section__search-input:focus {
  outline: none;
}

.cu-hero-section__search-submit {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  border: none;
  background: none;
  cursor: pointer;
  width: 1.75rem;
  height: 1.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.cu-hero-section__search-submit img {
  width: 1.25rem;
  height: 1.25rem;
}

.cu-hero-section__search-border {
  height: 0.3125rem;
  background: linear-gradient(104.81deg, #284cba 23.69%, #ea1b3d 87.86%);
  transition: height 0.2s ease;
}

.cu-hero-section__search.is-focused .cu-hero-section__search-border {
  height: 0.1875rem;
}

@media (max-width: 1024px) {
  .cu-hero-section {
    padding: 10.75rem 0 5rem;
  }

  .cu-hero-section__container {
    flex-direction: column;
    gap: 3rem;
    height: auto;
    padding-inline: 1.25rem;
  }

  .cu-hero-section__intro {
    width: auto;
    padding-bottom: 0;
  }

  .cu-hero-section__heading {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 400;
    font-size: max(3rem, 12px);
    line-height: 1.0833333333;
    letter-spacing: -0.04em;
    font-weight: 300;
  }

  .cu-hero-section__subtext {
    max-width: none;
    margin-top: 1rem;
  }

  .cu-hero-section__panel {
    width: 100%;
    max-width: none;
    gap: 1.5rem;
  }

  .cu-hero-section__card {
    padding: 1rem 1.25rem;
  }
}
.cu-locations-section {
  position: relative;
  background: #fff9ed;
  padding: 0 0 5rem;
}

.cu-locations-section__container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-areas: "left globe";
  gap: 0.625rem;
  max-width: var(--container-width-padd);
  width: 100%;
  padding-inline: var(--gutter);
  margin-inline: auto;
  align-items: center;
}

.cu-locations-section__left {
  grid-area: left;
  display: flex;
  flex-direction: column;
  gap: 3.5rem;
  padding-top: 5rem;
}

.cu-locations-section__heading {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(3rem, 12px);
  line-height: 1.0833333333;
  letter-spacing: -0.04em;
  font-weight: 300;
}

.cu-locations-section__list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0;
  max-width: 33.6875rem;
}

.cu-locations-section__item {
  border-bottom: 1px solid #e6e6ed;
}

.cu-locations-section__item:first-child .cu-locations-section__item__row {
  padding-top: 0;
}

.cu-locations-section__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 1.5rem 1rem 1.5rem 0;
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
}

.cu-locations-section__name {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 500;
  font-size: max(1rem, 12px);
  line-height: 1.625;
  letter-spacing: 0;
  text-transform: uppercase;
  color: #373742;
  white-space: nowrap;
}

.cu-locations-section__toggle {
  position: relative;
  flex: none;
  width: 1.375rem;
  height: 1.375rem;
  color: #373742;
}

.cu-locations-section__toggle-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1.5rem;
  height: 1.5rem;
  opacity: 1;
  transform: translate(-50%, -50%) rotate(0deg) scale(1);
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.cu-locations-section__toggle-icon--minus {
  opacity: 0;
  transform: translate(-50%, -50%) rotate(-90deg) scale(0.5);
}

.cu-locations-section__item.is-open .cu-locations-section__toggle-icon--plus {
  opacity: 0;
  transform: translate(-50%, -50%) rotate(90deg) scale(0.5);
}

.cu-locations-section__item.is-open .cu-locations-section__toggle-icon--minus {
  opacity: 1;
  transform: translate(-50%, -50%) rotate(0deg) scale(1);
}

.cu-locations-section__panel {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.cu-locations-section__panel-inner {
  padding: 0 0 1.25rem;
}

.cu-locations-section__address-label {
  display: block;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 600;
  font-size: max(0.875rem, 12px);
  line-height: 1.5714285714;
  letter-spacing: 0;
  color: #373742;
  margin-bottom: 0.25rem;
}

.cu-locations-section__address {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1rem, 12px);
  line-height: 1.625;
  letter-spacing: 0;
  color: #676775;
  margin-bottom: 0.75rem;
}

.cu-locations-section__phone {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 600;
  font-size: max(0.875rem, 12px);
  line-height: 1.5714285714;
  letter-spacing: 0;
  color: #373742;
  text-decoration: underline;
}

.cu-locations-section__globe {
  grid-area: globe;
  position: relative;
  width: 100%;
  max-width: 100%;
  aspect-ratio: 1/1;
  margin: 40px auto 0;
}

.cu-locations-section__globe-canvas {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  touch-action: pan-y;
  opacity: 0;
  transition: opacity 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.cu-locations-section__globe.is-3d-ready .cu-locations-section__globe-canvas {
  cursor: grab;
  opacity: 1;
}

.cu-locations-section__globe.is-dragging .cu-locations-section__globe-canvas {
  cursor: grabbing;
}

.cu-locations-section__globe-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  transition: opacity 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.cu-locations-section__globe-marker {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 0.6875rem;
  height: 0.6875rem;
  border-radius: 50%;
  background: #ffd0d8;
  pointer-events: auto;
  cursor: pointer;
  transform: translate(var(--cu-marker-x, 0), var(--cu-marker-y, 0)) translate(-50%, -50%);
  transition: width 0.3s ease, height 0.3s ease, background-color 0.3s ease, opacity 0.3s ease;
}

.cu-locations-section__globe-marker.is-behind {
  opacity: 0;
  pointer-events: none;
}

.cu-locations-section__globe-marker.is-active {
  width: 1.5625rem;
  height: 1.5625rem;
  background: #eb4c5e;
}

.cu-locations-section__globe.is-3d-ready .cu-locations-section__globe-img {
  opacity: 0;
}

.cu-locations-section__globe-label {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3;
  width: 12.625rem;
  height: 8.375rem;
  background: transparent;
  pointer-events: none;
  opacity: 0;
  transform: translate(var(--cu-label-x, 0), var(--cu-label-y, 0));
  transition: opacity 0.35s ease;
}

.cu-locations-section__globe-label.is-visible {
  opacity: 1;
}

.cu-locations-section__globe-label::before, .cu-locations-section__globe-label::after {
  content: "";
  position: absolute;
  clip-path: polygon(12px 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%, 0 12px);
}

.cu-locations-section__globe-label::before {
  inset: 5px -5px -5px 5px;
  z-index: 1;
  background: #ffd0d8;
}

.cu-locations-section__globe-label::after {
  inset: 1.5px -1.5px -1.5px 1.5px;
  z-index: 2;
  background: #fff9ed;
}

.cu-locations-section__globe-label-inner {
  position: relative;
  z-index: 3;
  width: 100%;
  height: 100%;
  background: #ffefd1;
  padding-top: 0.3125rem;
  clip-path: polygon(12px 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%, 0 12px);
}

.cu-locations-section__globe-label-inner::before {
  content: "";
  position: absolute;
  inset: 0;
  background: transparent;
  clip-path: polygon(12px 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%, 0 12px, 12px 0, calc(12px + 0.4142px) 1px, 1px calc(12px + 0.4142px), 1px calc(100% - 1px), calc(100% - 12px - 0.4142px) calc(100% - 1px), calc(100% - 1px) calc(100% - 12px - 0.4142px), calc(100% - 1px) 1px, calc(12px + 0.4142px) 1px);
}

.cu-locations-section__globe-label-img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.cu-locations-section__globe-label-img[hidden] {
  display: none;
}

.cu-locations-section__globe-label-name {
  display: none;
}

@media (max-width: 1024px) {
  .cu-locations-section {
    padding: 5rem 0;
  }

  .cu-locations-section__container {
    grid-template-columns: 1fr;
    grid-template-areas: "heading" "globe" "list";
    row-gap: 3.5rem;
    padding-inline: 1.25rem;
  }

  .cu-locations-section__left {
    display: contents;
  }

  .cu-locations-section__heading {
    grid-area: heading;
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 400;
    font-size: 1.75rem;
    line-height: 2.125rem;
    letter-spacing: -0.04em;
    color: #373742;
    font-weight: 400;
  }

  .cu-locations-section__list {
    grid-area: list;
    max-width: 100%;
  }

  .cu-locations-section__row {
    padding: 0.75rem 0.5rem 0.75rem 0;
  }

  .cu-locations-section__toggle-icon {
    width: 1.25rem;
    height: 1.25rem;
  }

  .cu-locations-section__globe {
    max-width: 100%;
    margin: 0 auto;
  }

  .cu-locations-section__globe-label {
    width: 11.5rem;
    height: 7.375rem;
  }

  .cu-locations-section__name {
    white-space: normal;
  }
}
.cu-enquiries-section {
  background: #ffefd1;
  padding: 5rem 0;
}

.cu-enquiries-section__container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 2.5rem;
  max-width: var(--container-width-padd);
  width: 100%;
  padding-inline: var(--gutter);
  margin-inline: auto;
}

.cu-enquiries-section__brand {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.cu-enquiries-section__heading {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(3rem, 12px);
  line-height: 1.0833333333;
  letter-spacing: -0.04em;
  font-weight: 300;
  color: #373742;
}

.cu-enquiries-section__details {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}

.cu-enquiries-section__field {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.cu-enquiries-section__label {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 600;
  font-size: max(0.875rem, 12px);
  line-height: 1.5714285714;
  letter-spacing: 0;
  font-weight: 600;
  color: #373742;
}

.cu-enquiries-section__value {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.75rem, 12px);
  line-height: 1.3571428571;
  letter-spacing: 0;
  color: #373742;
  text-decoration: underline;
}

@media (max-width: 1024px) {
  .cu-enquiries-section {
    padding: 2rem 0 2.5rem;
  }

  .cu-enquiries-section__container {
    grid-template-columns: 1fr;
    align-items: flex-start;
    padding-inline: 1.5rem;
  }

  .cu-enquiries-section__details {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    width: 100%;
  }
}
/**
 * Shared drawer structure for chat features.
 *
 * This partial provides reusable SCSS mixins and placeholders for common
 * drawer/fullscreen patterns used by both Ask Expona and Contact Us Chat.
 * Consumers apply via their own BEM namespaces to ensure complete isolation.
 *
 * @package infobeans-2023
 */
@keyframes dot-pulse {
  0%, 80%, 100% {
    opacity: 0.3;
    transform: scale(0.8);
  }
  40% {
    opacity: 1;
    transform: scale(1);
  }
}
/**
 * Contact Us Chat Drawer Styles
 *
 * New v2 implementation matching Ask Expona UI pattern.
 * Complete CSS isolation using .cu-chat-drawer BEM namespace.
 *
 * @package infobeans-2023
 */
.cu-chat-drawer {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100dvh;
  z-index: 2000;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 40px 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-100%);
  transition: opacity 0.4s ease, visibility 0.4s ease, transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
  background: #373742 url(../static/assets/images/latest/grain.png) center center;
}

.cu-chat-drawer.open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  border-bottom: 10px solid;
  -o-border-image: linear-gradient(90deg, #fff9ed 0%, #fff9ed 91.15%) 1;
     border-image: linear-gradient(90deg, #fff9ed 0%, #fff9ed 91.15%) 1;
}

body:has(.cu-chat-drawer.open) {
  overflow: hidden;
}

.cu-chat-drawer__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.cu-chat-drawer__logo {
  height: 24px;
  cursor: pointer;
}

.cu-chat-drawer__close-btn {
  display: none;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  background: transparent;
  border: 1px solid #676775;
  border-radius: 0;
  color: #fff;
  font-size: 14px;
  cursor: pointer;
  transition: background 0.2s ease;
  box-shadow: 0 0 2px 0 rgba(47, 47, 57, 0.2);
}

.cu-chat-drawer__close-btn:hover {
  background: #4a4b57;
}

.cu-chat-drawer__close-btn .ib-icon {
  color: #fff;
  transform: rotate(180deg);
}

.cu-chat-drawer__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  max-width: 904px;
  margin: 0 auto;
}

.cu-chat-drawer__title {
  color: rgba(255, 255, 255, 0.55);
  font-size: 20px;
  line-height: 34px;
  font-weight: 300;
  letter-spacing: 0;
  margin-bottom: 24px;
  transition: all 0.3s ease;
}

.cu-chat-drawer__input-wrapper {
  margin-bottom: 50px;
  width: 100%;
}

.cu-chat-drawer__input {
  background: transparent;
  border: none;
  border-bottom: 2px solid transparent;
  color: #fff;
  font-size: 18px;
  font-weight: 300;
  text-align: center;
  width: 100%;
  outline: none;
  font-family: var(--font-primary, "Lexend", sans-serif);
  resize: none;
  overflow-y: auto;
  height: 28px;
  max-height: 120px;
  padding-right: 12px;
}

.cu-chat-drawer__input::-moz-placeholder {
  color: #fff;
  opacity: 0.8;
}

.cu-chat-drawer__input::placeholder {
  color: #fff;
  opacity: 0.8;
}

.cu-chat-drawer__input:focus::-moz-placeholder {
  color: transparent;
}

.cu-chat-drawer__input:focus::placeholder {
  color: transparent;
}

.cu-press-return-container {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin: 24px auto 0;
  opacity: 0;
  transition: opacity 0.3s ease;
  background: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
}

.cu-return-key-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background: #373742;
  border: 1px solid #676775;
  border-radius: 0;
  color: #fff;
  font-size: 14px;
  cursor: pointer;
  transition: background 0.2s ease;
  box-shadow: 0 0 2px 0 rgba(47, 47, 57, 0.2);
}

.cu-press-return-text {
  color: #fff;
  font-size: 14px;
  font-weight: 300;
}

.cu-chat-drawer__body.typing-active .cu-press-return-container {
  display: flex !important;
  opacity: 1;
}

.cu-chat-drawer__footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
}

.cu-chat-drawer__powered-by {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  color: #7b7b84;
  font-size: 12px;
  display: flex;
  align-items: center;
  gap: 6px;
}

.cu-chat-drawer__powered-by strong {
  color: #fff;
  font-weight: 500;
}

.cu-chat-drawer__powered-by img {
  height: 12px;
}

.cu-chat-drawer__close-button {
  margin-left: auto;
  margin-bottom: -50px;
  width: 185px;
  height: 52px;
  padding: 2px 2px 0;
  box-sizing: border-box;
  background: linear-gradient(90deg, #284cba 6%, #7d3ba2 48%, #ea1b3d 94%) top/100% 42px no-repeat, #373742;
  clip-path: path("M 0 52 L 18.9 7.4 Q 22 0 30 0 L 155 0 Q 163 0 166.1 7.4 L 185 52 Z");
  position: absolute;
  right: 120px;
  bottom: 0;
}

.cu-chat-drawer__close-button button {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #373742;
  width: 181px;
  height: 50px;
  clip-path: path("M 0 50 L 18.6 6.4 Q 21.3 0 28.3 0 L 152.7 0 Q 159.7 0 162.4 6.4 L 181 50 Z");
  border: none;
  cursor: pointer;
  transition: background 0.3s ease;
}

.cu-chat-drawer__close-button button:hover {
  background: #373742;
}

.cu-chat-drawer__close-button button:hover .btn-text {
  color: #fff;
}

.cu-chat-drawer__close-button button .btn-text {
  color: #fff9ed;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.7px;
  display: flex;
  align-items: center;
  gap: 10px;
  text-transform: uppercase;
  transform: translateY(-7px);
}

.cu-chat-drawer__close-button button .btn-text .ib-icon {
  color: #fff;
}

.cu-chat-drawer__chat {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  width: 100%;
  justify-content: center;
  padding-bottom: 80px;
  overflow: hidden;
  padding-top: 30px;
  position: relative;
  overflow: visible;
}

.cu-chat-drawer__chat .cu-chat-drawer__messages {
  display: grid;
  grid-template-columns: 1fr 40px 1fr;
  align-content: start;
  width: 100%;
  max-width: none;
  padding: 0 max(20px, (100% - 1076px) / 2) 24px;
  margin: 0 auto;
  position: relative;
  row-gap: 60px;
  flex: 1;
  min-height: 0;
  overflow: hidden auto;
  scrollbar-gutter: stable;
  position: relative;
  /* Chat timeline line — two pure-CSS layers, no JS measurement:
     1. Baseline on the container: full visible height from the very start.
     2. Node segments: live inside the scrolled content, so the line keeps
        covering rows that grow past the first viewport (streamed answers).
     Both layers use the SAME pre-blended solid color — rgb(95, 86, 96) — so overlaps don't brighten. */
}

.cu-chat-drawer__chat .cu-chat-drawer__messages::-webkit-scrollbar {
  width: 6px;
}

.cu-chat-drawer__chat .cu-chat-drawer__messages::-webkit-scrollbar-track {
  background: transparent;
}

.cu-chat-drawer__chat .cu-chat-drawer__messages::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.2);
  border-radius: 4px;
}

.cu-chat-drawer__chat .cu-chat-drawer__messages::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.4);
}

.cu-chat-drawer__chat .cu-chat-drawer__messages::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 1px;
  height: calc(100% - 4px);
  /* full visible chat height, minus the 4px offset */
  background: rgb(95, 86, 96);
  transform: translate(-50%, 4px);
  z-index: 0;
}

.cu-chat-drawer__chat .cu-col-content,
.cu-chat-drawer__chat .cu-col-node,
.cu-chat-drawer__chat .cu-col-empty {
  min-width: 0;
}

.cu-chat-drawer__chat .cu-chat-message-left {
  text-align: left;
  padding-right: 20px;
  text-align: left;
  padding-right: 20px;
}

.cu-chat-drawer__chat .cu-chat-message-right {
  text-align: left;
  padding-left: 20px;
  text-align: left;
  padding-left: 20px;
}

.cu-chat-drawer__chat .cu-chat-text {
  color: #fff;
  font-size: 18px;
  line-height: 30px;
  font-weight: 300;
}

.cu-chat-drawer__chat .cu-chat-text a {
  color: #ffd0d8;
  text-decoration: underline;
}

@media (width <= 1024px) {
  .cu-chat-drawer__chat .cu-chat-text {
    font-size: 14px;
    line-height: 22px;
  }
}
.cu-chat-drawer__chat .cu-chat-meta {
  color: #ffd0d8;
  font-size: 11px;
  letter-spacing: 1px;
  margin-bottom: 12px;
  text-transform: uppercase;
}

.cu-chat-drawer__chat .cu-chat-node-center {
  position: relative;
  /* anchor for the ::before line segment */
  display: flex;
  justify-content: center;
  align-items: flex-start;
  z-index: 1;
  /* Per-row segment = own row + row-gap, joining seamlessly with the next node */
  /* Last node of the chat: end the line at the bottom of its own row */
}

.cu-chat-drawer__chat .cu-chat-node-center::before {
  content: "";
  position: absolute;
  top: 4px;
  left: 20px;
  z-index: -1;
  /* behind the node icon, inside the cell's stacking context */
  width: 1px;
  height: calc(100% + 60px);
  /* row height + desktop row-gap */
  background: rgb(95, 86, 96);
  transform: translateX(-50%);
}

.cu-chat-drawer__chat .cu-chat-node-center:nth-last-child(2)::before {
  height: calc(100% - 4px);
}

.cu-chat-drawer__chat .cu-node-icon {
  width: 12px;
  height: 12px;
  margin-top: 4px;
  margin-left: 0;
}

.cu-chat-drawer__chat .cu-node-icon.cu-node-empty {
  border: 1px solid #ffd0d8;
  background: #373742;
}

.cu-chat-drawer__chat .cu-node-icon.cu-node-filled {
  background: #ffd0d8;
}

.cu-chat-drawer__chat .cu-answer-wrapper .cu-chat-text {
  font-weight: 400;
}

.cu-chat-drawer__chat .cu-typing-indicator {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 6px;
}

.cu-chat-drawer__chat .cu-typing-indicator span {
  display: block;
  width: 6px;
  height: 6px;
  background-color: #ffd0d8;
  border-radius: 50%;
  animation: cu-typing-bounce 1.4s infinite ease-in-out both;
}

.cu-chat-drawer__chat .cu-typing-indicator span:nth-child(1) {
  animation-delay: -0.32s;
}

.cu-chat-drawer__chat .cu-typing-indicator span:nth-child(2) {
  animation-delay: -0.16s;
}

.cu-chat-drawer__chat .cu-chat-footer-hint {
  position: absolute;
  bottom: 50px;
  left: 50%;
  transform: translateX(-50%);
  color: rgba(255, 255, 255, 0.5);
  font-size: 18px;
  line-height: 26px;
  font-weight: 300;
  cursor: pointer;
  transition: color 0.2s ease;
  pointer-events: auto;
}

.cu-chat-drawer__chat .cu-chat-footer-hint:hover {
  color: rgba(255, 255, 255, 0.8);
}

.cu-chat-drawer__chat .cu-hint-mobile {
  display: none;
}

.cu-chat-drawer__chat .cu-new-question-wrapper {
  max-width: 100%;
}

.cu-chat-drawer__chat .cu-new-question-input {
  background: transparent;
  border: none;
  outline: none;
  color: #fff;
  font-size: 18px;
  font-weight: 300;
  line-height: 1.5;
  width: 100%;
  min-width: 250px;
  resize: none;
  overflow-y: auto;
  font-family: var(--font-primary, "Lexend", sans-serif);
}

.cu-chat-drawer__chat .cu-new-question-input::-moz-placeholder {
  color: rgba(255, 255, 255, 0.4);
}

.cu-chat-drawer__chat .cu-new-question-input::placeholder {
  color: rgba(255, 255, 255, 0.4);
}

.cu-chat-drawer__chat .cu-new-question-input::-webkit-scrollbar {
  width: 6px;
}

.cu-chat-drawer__chat .cu-new-question-input::-webkit-scrollbar-track {
  background: transparent;
}

.cu-chat-drawer__chat .cu-new-question-input::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.2);
  border-radius: 4px;
}

.cu-chat-drawer__chat .cu-new-question-input::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.4);
}

.cu-chat-drawer__chat .cu-new-question-return {
  margin: 12px 0 0 !important;
  opacity: 1 !important;
}

.cu-chat-drawer__chat .cu-answer-actions {
  display: flex;
  gap: 16px;
  margin-top: 20px;
}

.cu-chat-drawer__chat .cu-answer-action-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  background: transparent;
  border: none;
  cursor: pointer;
  opacity: 0.45;
  transition: opacity 0.2s ease;
}

.cu-chat-drawer__chat .cu-answer-action-btn:hover {
  opacity: 1;
}

.cu-chat-drawer__chat .cu-action-icon {
  width: 24px;
  height: 24px;
  display: block;
}

@keyframes cu-typing-bounce {
  0%, 80%, 100% {
    transform: scale(0.5);
    opacity: 0.3;
  }
  40% {
    transform: scale(1);
    opacity: 1;
  }
}
.cu-chat-drawer__chip,
.cu-chip {
  background: #2f2f39;
  color: #fff;
  padding: 12px 16px;
  font-size: 16px;
  line-height: 26px;
  font-weight: 300;
  box-shadow: 0 0 2px 0 rgba(47, 47, 57, 0.2);
  border: 0;
  cursor: pointer;
  transition: all 0.3s ease;
}

.cu-chat-drawer__chip:hover,
.cu-chip:hover {
  background: #26262e;
  color: #fff;
}

.cu-chat-drawer__chip:disabled, .cu-chat-drawer__chip.disabled,
.cu-chip:disabled,
.cu-chip.disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.cu-chat-drawer__chip.active,
.cu-chip.active {
  background: #26262e;
  border: 1px solid rgba(255, 208, 216, 0.3);
}

.cu-chat-drawer__chips,
.cu-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 16px;
}

.cu-chat-drawer__answer-wrapper .cu-chat-drawer__text,
.cu-chat-drawer__answer-wrapper .cu-chat-text,
.cu-answer-wrapper .cu-chat-drawer__text,
.cu-answer-wrapper .cu-chat-text {
  font-weight: 400;
}

.cu-chat-drawer__supporting-message {
  margin-top: 12px;
  font-size: 16px;
  line-height: 26px;
  color: rgba(255, 255, 255, 0.8);
}

.cu-chat-drawer__privacy-notice {
  margin-top: 16px;
  padding: 12px;
  background: rgba(47, 47, 57, 0.5);
  color: rgba(255, 255, 255, 0.7);
  font-size: 13px;
  line-height: 1.6;
}

.cu-chat-drawer__privacy-notice a {
  color: #ffd0d8;
  text-decoration: underline;
}

.cu-chat-drawer__privacy-notice a:hover {
  color: #fff;
}

#cu-inline-captcha-container {
  flex: 1;
  display: none;
  align-items: center;
  justify-content: center;
  text-align: center;
}

#cu-inline-captcha-container .captcha-fallback p {
  color: rgba(255, 255, 255, 0.7);
  margin-bottom: 20px;
}

#cu-inline-captcha-container .captcha-fallback .verify-btn {
  display: inline-block;
  padding: 12px 32px;
  background: #ffd0d8;
  color: #fff;
  border: none;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 1px;
  cursor: pointer;
  transition: all 0.3s ease;
}

#cu-inline-captcha-container .captcha-fallback .verify-btn:hover {
  background: #ff9dae;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(255, 208, 216, 0.4);
}

#cu-inline-captcha-container .captcha-fallback .verify-btn:active {
  transform: translateY(0);
}

@media (width <= 767px) {
  .cu-chat-drawer__body {
    padding: 0 24px;
    margin: 0;
  }

  .cu-chat-drawer__close-btn {
    display: flex;
  }

  .cu-chat-drawer__close-button {
    display: none;
  }

  .cu-chat-drawer__powered-by {
    margin-bottom: -28px;
    margin-left: 0;
    left: 50%;
    transform: translateX(-50%);
  }

  .cu-chat-drawer__chat {
    padding-bottom: 0;
  }

  .cu-chat-drawer__chat .cu-chat-drawer__messages {
    grid-template-columns: 30px 1fr;
    grid-auto-flow: dense;
    row-gap: 40px;
    /* Baseline: container padding-left 20px + icon axis 6px inside the node cell */
  }

  .cu-chat-drawer__chat .cu-chat-drawer__messages::before {
    left: 26px;
  }

  .cu-chat-drawer__chat .cu-answer-wrapper {
    max-height: none;
  }

  .cu-chat-drawer__chat .cu-chat-message-left,
.cu-chat-drawer__chat .cu-chat-message-right {
    text-align: left;
    padding: 0;
  }

  .cu-chat-drawer__chat .cu-chat-node-center {
    grid-column: 1;
    position: relative;
    justify-content: flex-start;
  }

  .cu-chat-drawer__chat .cu-chat-node-center::before {
    left: 6px;
    /* align with the absolutely positioned node icon */
    height: calc(100% + 40px);
    /* row height + mobile row-gap */
  }

  .cu-chat-drawer__chat .cu-chat-node-center .cu-node-icon {
    position: absolute;
    left: 6px;
    margin-left: 0;
    transform: translateX(-50%);
  }

  .cu-chat-drawer__chat .cu-node-icon {
    width: 12px;
    height: 12px;
    margin-top: 4px;
  }

  .cu-chat-drawer__chat .cu-node-icon.cu-node-empty {
    border: 1px solid #ffd0d8;
    background: #373742;
  }

  .cu-chat-drawer__chat .cu-col-node {
    grid-column: 1;
  }

  .cu-chat-drawer__chat .cu-col-content {
    grid-column: 2;
  }

  .cu-chat-drawer__chat .cu-col-empty {
    display: none;
  }

  .cu-chat-drawer__chat .cu-answer-wrapper .cu-chat-text {
    font-weight: 300;
  }

  .cu-chat-drawer__chat .cu-chat-meta {
    color: #ffd0d8;
    font-size: 12px;
    line-height: 18px;
    letter-spacing: 1.8px;
    margin-bottom: 12px;
    text-transform: none;
  }

  .cu-chat-drawer__chat .cu-chat-footer-hint {
    position: relative;
    bottom: auto;
    left: auto;
    transform: none;
    margin-top: 20px;
    margin-bottom: 20px;
    text-align: left;
    padding-left: 48px;
    font-size: 16px;
    line-height: 26px;
  }

  .cu-chat-drawer__chat .cu-hint-desktop {
    display: none;
  }

  .cu-chat-drawer__chat .cu-hint-mobile {
    display: inline;
  }

  .cu-chat-drawer__chat .cu-new-question-input {
    font-size: 16px;
    min-width: 200px;
  }
}
body.page-contact-us {
  overflow-x: clip;
}

:root {
  --bg-primary: #fff9ed;
  --text-primary: #373742;
  --text-secondary: #676775;
  --text-disabled: #a7a7b0;
  --text-gray: #676775;
  --accent-red: #ea1b3d;
  --accent-peach: #ffd0d8;
  --border-color: rgba(103, 103, 117, 0.15);
  --font-primary: Lexend, -apple-system, blinkmacsystemfont, Segoe UI, roboto, sans-serif;
  --transition-smooth: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  --transition-slow: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  --container-width: 93.5rem;
  --container-width-padd: 101rem;
  --gutter: 60px;
}

*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

html {
  font-size: clamp(14px, 0.9259259259vw, 16px);
}

@media (max-width: 1024px) {
  html {
    font-size: 100%;
  }
}
html.scroll-locked,
html.scroll-locked .main-header {
  padding-right: var(--scrollbar-comp, 0);
}

html.scroll-locked .header-container .mega-menu {
  scrollbar-gutter: stable;
}

html,
body {
  width: 100%;
  height: 100%;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  background-color: #fff9ed;
  color: #373742;
  line-height: 1.6;
}

::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: #fff9ed;
}

::-webkit-scrollbar-thumb {
  background: #a7a7b0;
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: #676775;
}

a {
  color: inherit;
  text-decoration: none;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

button,
input,
textarea,
select {
  font-family: inherit;
}

@media (min-width: 769px) {
  .ib-mobile-only {
    display: none !important;
  }
}
@media (max-width: 768px), (min-width: 1025px) {
  .ib-tablet-only {
    display: none !important;
  }
}
@media (min-width: 1025px) {
  .ib-mobile-tablet-only {
    display: none !important;
  }
}
@media (max-width: 1024px) {
  .ib-desktop-only {
    display: none !important;
  }
}
@media (max-width: 1024px) and (prefers-reduced-motion: no-preference) {
  .ib-m-reveal {
    opacity: 0;
    transform: translate3d(0, 24px, 0);
    transition: opacity 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition-delay: var(--ib-m-reveal-delay, 0s);
    will-change: transform, opacity;
  }

  .ib-m-reveal.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
@keyframes ib-arrow-slide {
  0% {
    transform: translateX(0);
    opacity: 1;
  }
  45% {
    transform: translateX(7px);
    opacity: 0;
  }
  46% {
    transform: translateX(-5px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
.ib-btn {
  --_bg: #ea1b3d;
  --_bg-press: #aa142d;
  --_color: #fff;
  --_border: transparent;
  --_shadow: #ffd0d8;
  position: relative;
  isolation: isolate;
  display: inline-flex;
  align-items: stretch;
  height: 48px;
  padding: 0;
  font-family: var(--font-heading);
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  background: transparent;
  border: none;
  outline: none;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.ib-btn[hidden] {
  display: none;
}

.ib-btn::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--_shadow);
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
  opacity: 0;
  transform: translate(0, 0);
  transition: opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1), transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
}

.ib-btn__inner {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  padding: 0 22px;
  color: var(--_color);
  background: var(--_bg);
  line-height: 26px;
  letter-spacing: 0;
  text-align: center;
  text-transform: uppercase;
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
  transition: background 0.25s cubic-bezier(0.16, 1, 0.3, 1), color 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ib-btn__inner::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--_border);
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px, 10px 0, 10px 1.5px, 1.5px 10px, 1.5px calc(100% - 1.5px), calc(100% - 10px) calc(100% - 1.5px), calc(100% - 1.5px) calc(100% - 10px), calc(100% - 1.5px) 1.5px, 10px 1.5px);
  pointer-events: none;
  transition: background 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ib-btn__arrow {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ib-btn__arrow svg, .ib-btn__arrow.ib-icon {
  width: 14px;
  height: 14px;
}

.ib-btn:hover:not(:disabled, [aria-disabled=true])::after {
  opacity: 1;
  transform: translate(4px, 4px);
}

.ib-btn:focus-visible .ib-btn__inner {
  background: var(--_bg-press);
}

.ib-btn:active:not(:disabled) .ib-btn__inner {
  background: var(--_bg-press);
}

.ib-btn:disabled, .ib-btn[aria-disabled=true] {
  --_bg: #a7a7b0;
  --_border: #a7a7b0;
  --_color: #fff;
  cursor: not-allowed;
  pointer-events: none;
}

.ib-btn--primary {
  --_bg: #ea1b3d;
  --_bg-press: #aa142d;
  --_color: #fff;
  --_border: transparent;
  --_shadow: #ffd0d8;
}

.ib-btn--primary-light {
  --_bg: #fff9ed;
  --_bg-press: #ffefd1;
  --_color: #676775;
  --_border: transparent;
  --_shadow: #ffd0d8;
}

.ib-btn--primary-light:disabled, .ib-btn--primary-light[aria-disabled=true] {
  --_bg: #a7a7b0;
  --_color: #fff;
}

.ib-btn--secondary {
  --_bg: transparent;
  --_bg-press: transparent;
  --_color: #ea1b3d;
  --_border: #ea1b3d;
  --_shadow: #ffd0d8;
}

.ib-btn--secondary:focus-visible {
  --_border: #aa142d;
  --_color: #aa142d;
}

.ib-btn--secondary:active:not(:disabled) {
  --_border: #aa142d;
  --_color: #aa142d;
}

.ib-btn--secondary:disabled, .ib-btn--secondary[aria-disabled=true] {
  --_bg: transparent;
  --_color: #a7a7b0;
  --_border: #a7a7b0;
}

.ib-btn--secondary-light {
  --_bg: transparent;
  --_bg-press: transparent;
  --_color: #fff;
  --_border: #fff;
  --_shadow: #ffd0d8;
}

.ib-btn--secondary-light:hover:not(:disabled, [aria-disabled=true]) {
  --_bg: #ea1b3d;
  --_border: transparent;
}

.ib-btn--secondary-light:disabled, .ib-btn--secondary-light[aria-disabled=true] {
  --_bg: transparent;
  --_color: #a7a7b0;
  --_border: #a7a7b0;
}

.ib-btn--ghost {
  --_color: #ea1b3d;
  height: auto;
}

.ib-btn--ghost::after {
  display: none;
}

.ib-btn--ghost .ib-btn__inner {
  padding: 2px 0;
  height: auto;
  background: transparent;
  clip-path: none;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1.5px;
  -webkit-text-decoration-color: currentcolor;
          text-decoration-color: currentcolor;
  transition: color 0.25s cubic-bezier(0.16, 1, 0.3, 1), -webkit-text-decoration-color 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  transition: color 0.25s cubic-bezier(0.16, 1, 0.3, 1), text-decoration-color 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  transition: color 0.25s cubic-bezier(0.16, 1, 0.3, 1), text-decoration-color 0.25s cubic-bezier(0.16, 1, 0.3, 1), -webkit-text-decoration-color 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ib-btn--ghost .ib-btn__inner::before {
  display: none;
}

.ib-btn--ghost:focus-visible, .ib-btn--ghost:active:not(:disabled) {
  --_color: #aa142d;
}

.ib-btn--ghost:focus-visible .ib-btn__inner, .ib-btn--ghost:active:not(:disabled) .ib-btn__inner {
  background: transparent !important;
}

.ib-btn--ghost:disabled, .ib-btn--ghost[aria-disabled=true] {
  --_color: #a7a7b0;
  pointer-events: none;
}

.ib-btn--bare {
  --_bg: transparent;
  --_bg-press: transparent;
  --_color: #373742;
  --_border: transparent;
  --_shadow: transparent;
}

.ib-btn--bare::after {
  display: none;
}

.ib-btn--bare .ib-btn__inner {
  background: transparent;
  clip-path: none;
  transition: color 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ib-btn--bare .ib-btn__inner::before {
  display: none;
}

.ib-btn--bare .ib-icon,
.ib-btn--bare .ib-btn__arrow {
  color: var(--_color);
}

.ib-btn--bare:focus-visible .ib-btn__inner, .ib-btn--bare:active:not(:disabled) .ib-btn__inner {
  background: transparent;
}

.ib-btn--bare:disabled, .ib-btn--bare[aria-disabled=true] {
  --_bg: transparent;
  --_border: transparent;
  --_color: #a7a7b0;
}

.ib-btn--with-icon:hover:not(:disabled, [aria-disabled=true]) .ib-btn__arrow {
  animation: ib-arrow-slide 0.7s cubic-bezier(0.16, 1, 0.3, 1) infinite;
}

.ib-btn--icon-only {
  width: 48px;
}

.ib-btn--icon-only .ib-btn__inner {
  padding: 0;
}

.ib-btn--icon-only:hover:not(:disabled, [aria-disabled=true]) .ib-btn__arrow {
  animation: ib-arrow-slide 0.7s cubic-bezier(0.16, 1, 0.3, 1) infinite;
}

@media (max-width: 1024px) {
  .ib-btn {
    height: 44px;
    font-size: 15px;
  }

  .ib-btn__inner {
    padding: 0 18px;
  }

  .ib-btn__arrow svg, .ib-btn__arrow.ib-icon {
    width: 13px;
    height: 13px;
  }

  .ib-btn--icon-only {
    width: 44px;
  }

  .ib-btn--icon-only .ib-btn__inner {
    padding: 0;
  }
}
.ld-team-section {
  --ld-hdr: clamp(72px, 5.32vw, 92px);
  background: #fff9ed;
  padding-block: 17.5625rem 12rem;
}

.ld-team-section__container {
  width: 100%;
  max-width: 108rem;
  margin-inline: auto;
  padding-inline: 5rem;
}

.ld-team-section__title {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 250;
  font-size: max(4.5rem, 12px);
  line-height: 1.2222222222;
  letter-spacing: -0.04em;
  color: #373742;
  text-align: center;
}

.ld-team-section__title-accent {
  background: linear-gradient(90deg, #284cba 0%, #ea1b3d 72.87%);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
  padding-right: 1px;
}

.ld-team-section__layout {
  display: grid;
  grid-template-columns: 21rem minmax(0, 1fr);
  -moz-column-gap: 6rem;
       column-gap: 6rem;
  align-items: start;
  padding-top: 12rem;
}

.ld-team-section__sidebar {
  position: sticky;
  top: calc(var(--ld-hdr) + 3rem);
  padding-top: 2rem;
}

.ld-team-section__nav {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.ld-team-section__tab {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  width: 16.375rem;
  min-height: 2.5rem;
  padding: 0.5rem 0;
  background: none;
  border: 0;
  cursor: pointer;
  text-align: left;
}

.ld-team-section__tab:focus-visible {
  outline: 2px solid #373742;
  outline-offset: 3px;
}

.ld-team-section__tab-num {
  flex-shrink: 0;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1rem, 12px);
  line-height: 1.625;
  letter-spacing: 0;
  color: #a7a7b0;
  transition: color 0.3s ease;
}

.ld-team-section__tab--active .ld-team-section__tab-num {
  color: #ea1b3d;
}

.ld-team-section__tab:not(.ld-team-section__tab--active):hover .ld-team-section__tab-num {
  color: #ea1b3d;
}

.ld-team-section__tab-label {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.25rem, 12px);
  line-height: 1.7;
  letter-spacing: 0;
  color: #000;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.ld-team-section__tab--active .ld-team-section__tab-label {
  opacity: 1;
}

.ld-team-section__tab:not(.ld-team-section__tab--active):hover .ld-team-section__tab-label {
  opacity: 1;
}

.ld-team-section__groups {
  display: flex;
  flex-direction: column;
  gap: 7rem;
}

.ld-team-section__group {
  scroll-margin-top: calc(var(--ld-hdr) + 3rem);
}

.ld-team-section__group-title {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.75rem, 12px);
  line-height: 1.3571428571;
  letter-spacing: 0;
  color: #373742;
  margin-bottom: 2rem;
}

.ld-team-section__group-title-accent {
  color: #ea1b3d;
}

.ld-team-section__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 20.0625rem));
  justify-content: start;
  gap: 2rem;
}

.ld-team-section__card {
  display: flex;
  flex-direction: column;
  padding: 0;
  background: none;
  border: 0;
  text-align: left;
  cursor: pointer;
}

@media (min-width: 1025px) {
  .ld-team-section__card {
    opacity: 0;
    transform: translateY(24px);
    will-change: transform, opacity;
  }

  .ld-team-section__card.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}
@media (min-width: 1025px) {
  .ld-team-section__card:nth-child(3n+1) {
    transition-delay: 0s;
  }

  .ld-team-section__card:nth-child(3n+2) {
    transition-delay: 0.08s;
  }

  .ld-team-section__card:nth-child(3n+3) {
    transition-delay: 0.16s;
  }
}
.ld-team-section__card:focus-visible {
  outline: 2px solid #373742;
  outline-offset: 6px;
}

.ld-team-section__card-media {
  clip-path: polygon(1.25rem 0, 100% 0, 100% calc(100% - 1.25rem), calc(100% - 1.25rem) 100%, 0 100%, 0 1.25rem);
  position: relative;
  display: block;
  aspect-ratio: 321/407;
  background: #fff9ed;
  overflow: hidden;
}

.ld-team-section__card-photo {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center top;
     object-position: center top;
  display: block;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.ld-team-section__card:hover .ld-team-section__card-photo {
  transform: scale(1.04);
}

.ld-team-section__card-name {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 500;
  font-size: max(1.5rem, 12px);
  line-height: 1.4166666667;
  letter-spacing: -0.04em;
  color: #373742;
  margin-top: 1.5rem;
  transition: color 0.3s ease;
}

.ld-team-section__card:hover .ld-team-section__card-name {
  color: #ea1b3d;
}

.ld-team-section__card-role {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 500;
  font-size: max(0.75rem, 12px);
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #676775;
  margin-top: 0.5rem;
}

@media (max-width: 1400px) {
  .ld-team-section__layout {
    -moz-column-gap: 3.5rem;
         column-gap: 3.5rem;
  }
}
@media (max-width: 1200px) {
  .ld-team-section__layout {
    -moz-column-gap: 2.5rem;
         column-gap: 2.5rem;
  }

  .ld-team-section__grid {
    grid-template-columns: repeat(2, minmax(0, 20.0625rem));
  }
}
@media (max-width: 1024px) {
  .ld-team-section {
    padding-block: 8.75rem 4.5rem;
  }

  .ld-team-section__container {
    padding-inline: 1.25rem;
  }

  .ld-team-section__title {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 400;
    font-size: max(2.5rem, 12px);
    line-height: 1.1;
    letter-spacing: -0.04em;
    text-align: left;
  }

  .ld-team-section__layout {
    display: block;
    padding-top: 4rem;
  }

  .ld-team-section__groups {
    gap: 4rem;
  }

  .ld-team-section__group {
    scroll-margin-top: 6rem;
  }

  .ld-team-section__group-title {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(1.75rem, 12px);
    line-height: 1.3571428571;
    letter-spacing: 0;
    margin-bottom: 1.5rem;
  }

  .ld-team-section__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2rem 1.25rem;
  }

  .ld-team-section__card-name {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 400;
    font-size: max(1.25rem, 12px);
    line-height: 1.4;
    letter-spacing: 0;
    margin-top: 1rem;
  }

  .ld-team-section__card-role {
    margin-top: 0.375rem;
  }
}
@media (max-width: 768px) {
  .ld-team-section {
    padding-block: 8.75rem 3.5rem;
  }

  .ld-team-section__title {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 250;
    font-size: max(2rem, 12px);
    line-height: 1.1875;
    letter-spacing: -0.04em;
  }

  .ld-team-section__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem 0.75rem;
  }

  .ld-team-section__card-media {
    clip-path: polygon(1.25rem 0, 100% 0, 100% calc(100% - 1.25rem), calc(100% - 1.25rem) 100%, 0 100%, 0 1.25rem);
  }

  .ld-team-section__card-name {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 600;
    font-size: max(1.125rem, 12px);
    line-height: 1.6666666667;
    letter-spacing: 0;
  }
}
.ld-profile-drawer {
  position: fixed;
  inset: 0;
  z-index: 1200;
  visibility: hidden;
  transition: visibility 0s linear 0.5s;
}

.ld-profile-drawer.is-open {
  visibility: visible;
  transition-delay: 0s;
}

.ld-profile-drawer__overlay {
  position: absolute;
  inset: 0;
  background: rgba(47, 47, 57, 0.75);
  opacity: 0;
  transition: opacity 0.5s cubic-bezier(0.16, 1, 0.3, 1);
  cursor: pointer;
}

.ld-profile-drawer.is-open .ld-profile-drawer__overlay {
  opacity: 1;
}

.ld-profile-drawer__panel {
  clip-path: polygon(1.5rem 0, 100% 0, 100% calc(100% - 1.5rem), calc(100% - 1.5rem) 100%, 0 100%, 0 1.5rem);
  position: absolute;
  top: 50%;
  right: 1.875rem;
  translate: 0 -50%;
  width: 100%;
  max-width: 56.25rem;
  height: min(43.75rem, calc(100vh - 3.75rem));
  /* stylelint-disable-next-line declaration-block-no-duplicate-properties */
  height: min(43.75rem, calc(100dvh - 3.75rem));
  display: grid;
  grid-template-columns: 55% 45%;
  background: #ffefd1;
  overflow: hidden;
  transform: translate3d(100%, 0, 0);
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: transform;
}

.ld-profile-drawer.is-open .ld-profile-drawer__panel {
  transform: translate3d(0, 0, 0);
}

.ld-profile-drawer__media {
  clip-path: polygon(1.875rem 0, 100% 0, 100% 100%, 0 100%, 0 1.875rem);
  position: relative;
  padding: 4px;
  background: #ffefd1;
  overflow: hidden;
}

.ld-profile-drawer__photo {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center 25%;
     object-position: center 25%;
  display: block;
}

.ld-profile-drawer__body {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 6rem 2.5rem 3rem 1rem;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.ld-profile-drawer__name {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(2.5rem, 12px);
  line-height: 1.1;
  letter-spacing: -0.04em;
  margin-top: auto;
  color: #373742;
}

.ld-profile-drawer__role {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(1.25rem, 12px);
  line-height: 1.4;
  letter-spacing: 0;
  color: #373742;
}

.ld-profile-drawer__details {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.ld-profile-drawer__details[hidden] {
  display: none;
}

.ld-profile-drawer__detail-label {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(1.25rem, 12px);
  line-height: 1.4;
  letter-spacing: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: #373742;
  margin-bottom: 0.5rem;
}

.ld-profile-drawer__wow {
  width: auto;
  height: 1.375rem;
  display: block;
}

.ld-profile-drawer__detail-text {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1rem, 12px);
  line-height: 1.625;
  letter-spacing: 0;
  color: #676775;
}

.ld-profile-drawer__social {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: 0.5rem;
}

.ld-profile-drawer__social[hidden] {
  display: none;
}

.ld-profile-drawer__social a {
  color: #373742;
  opacity: 0.7;
  transition: color 0.3s, opacity 0.3s;
}

.ld-profile-drawer__social a:hover {
  color: #ea1b3d;
  opacity: 1;
}

.ld-profile-drawer__social a:focus-visible {
  outline: 2px solid #ea1b3d;
  outline-offset: 4px;
}

.ld-profile-drawer__social a[hidden] {
  display: none;
}

.ld-profile-drawer__close.ib-btn {
  position: absolute;
  top: 1.5rem;
  right: 1.5rem;
  z-index: 2;
  --_bg: transparent;
  --_bg-press: transparent;
  --_color: #373742;
  --_border: transparent;
  --_shadow: transparent;
  width: 48px;
  height: 48px;
}

.ld-profile-drawer__close.ib-btn::after {
  display: none;
}

.ld-profile-drawer__close.ib-btn .ib-btn__inner {
  padding: 0;
  background: transparent;
  clip-path: none;
}

.ld-profile-drawer__close.ib-btn .ib-btn__inner::before {
  display: none;
}

.ld-profile-drawer__close.ib-btn:focus-visible .ib-btn__inner, .ld-profile-drawer__close.ib-btn:active:not(:disabled) .ib-btn__inner {
  background: transparent;
}

.ld-profile-drawer__close.ib-btn .ib-icon {
  filter: brightness(0.24);
  opacity: 0.6;
  transition: opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ld-profile-drawer__close.ib-btn:hover .ib-icon, .ld-profile-drawer__close.ib-btn:focus-visible .ib-icon {
  opacity: 1;
}

@media (max-width: 1024px) {
  .ld-profile-drawer__panel {
    clip-path: polygon(1.25rem 0, 100% 0, 100% calc(100% - 1.25rem), calc(100% - 1.25rem) 100%, 0 100%, 0 1.25rem);
    max-width: 400px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    translate: none;
    height: auto;
    inset: 8px 0 8px auto;
  }

  .ld-profile-drawer__media {
    clip-path: polygon(1.625rem 0, 100% 0, 100% 100%, 0 100%, 0 1.625rem);
    flex: 0 0 auto;
    width: 100%;
    aspect-ratio: 4/5;
    max-height: 50vh;
  }

  .ld-profile-drawer__body {
    flex: 1 1 auto;
    min-height: 0;
    padding: 2rem 1.5rem 2.5rem;
    overflow-y: auto;
  }

  .ld-profile-drawer__name {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 500;
    font-size: max(1.5rem, 12px);
    line-height: 1.4166666667;
    letter-spacing: -0.04em;
    margin-top: 0;
  }

  .ld-profile-drawer__close.ib-btn {
    top: 1rem;
    right: 1rem;
    width: 36px;
    height: 36px;
    background: rgba(255, 249, 237, 0.9);
  }
}
html.ld-profile-drawer-lock {
  overflow: hidden;
}

body.page-leadership {
  overflow-x: clip;
}

html:has(body.page-leadership) {
  overflow-x: clip;
  scroll-behavior: smooth;
  scroll-snap-type: none;
}

.ld-team-section {
  --ld-hdr: clamp(72px, 5.32vw, 92px);
  background: #fff9ed;
  padding-block: 17.5625rem 12rem;
}
.ld-team-section__container {
  width: 100%;
  max-width: 108rem;
  margin-inline: auto;
  padding-inline: 5rem;
}
.ld-team-section__title {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 250;
  font-size: max(4.5rem, 12px);
  line-height: 1.2222222222;
  letter-spacing: -0.04em;
  color: #373742;
  text-align: center;
}
.ld-team-section__title-accent {
  background: linear-gradient(90deg, #284cba 0%, #ea1b3d 72.87%);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
  padding-right: 1px;
}
.ld-team-section__layout {
  display: grid;
  grid-template-columns: 21rem minmax(0, 1fr);
  -moz-column-gap: 6rem;
       column-gap: 6rem;
  align-items: start;
  padding-top: 12rem;
}
.ld-team-section__sidebar {
  position: sticky;
  top: calc(var(--ld-hdr) + 3rem);
  padding-top: 2rem;
}
.ld-team-section__nav {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.ld-team-section__tab {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  width: 16.375rem;
  min-height: 2.5rem;
  padding: 0.5rem 0;
  background: none;
  border: 0;
  cursor: pointer;
  text-align: left;
}
.ld-team-section__tab:focus-visible {
  outline: 2px solid #373742;
  outline-offset: 3px;
}
.ld-team-section__tab-num {
  flex-shrink: 0;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1rem, 12px);
  line-height: 1.625;
  letter-spacing: 0;
  color: #a7a7b0;
  transition: color 0.3s ease;
}
.ld-team-section__tab--active .ld-team-section__tab-num {
  color: #ea1b3d;
}
.ld-team-section__tab:not(.ld-team-section__tab--active):hover .ld-team-section__tab-num {
  color: #ea1b3d;
}
.ld-team-section__tab-label {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.25rem, 12px);
  line-height: 1.7;
  letter-spacing: 0;
  color: #000;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.ld-team-section__tab--active .ld-team-section__tab-label {
  opacity: 1;
}
.ld-team-section__tab:not(.ld-team-section__tab--active):hover .ld-team-section__tab-label {
  opacity: 1;
}
.ld-team-section__groups {
  display: flex;
  flex-direction: column;
  gap: 7rem;
}
.ld-team-section__group {
  scroll-margin-top: calc(var(--ld-hdr) + 3rem);
}
.ld-team-section__group-title {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.75rem, 12px);
  line-height: 1.3571428571;
  letter-spacing: 0;
  color: #373742;
  margin-bottom: 2rem;
}
.ld-team-section__group-title-accent {
  color: #ea1b3d;
}
.ld-team-section__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 20.0625rem));
  justify-content: start;
  gap: 2rem;
}
.ld-team-section__card {
  display: flex;
  flex-direction: column;
  padding: 0;
  background: none;
  border: 0;
  text-align: left;
  cursor: pointer;
}
@media (min-width: 1025px) {
  .ld-team-section__card {
    opacity: 0;
    transform: translateY(24px);
    will-change: transform, opacity;
  }
  .ld-team-section__card.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}
@media (min-width: 1025px) {
  .ld-team-section__card:nth-child(3n+1) {
    transition-delay: 0s;
  }
  .ld-team-section__card:nth-child(3n+2) {
    transition-delay: 0.08s;
  }
  .ld-team-section__card:nth-child(3n+3) {
    transition-delay: 0.16s;
  }
}
.ld-team-section__card:focus-visible {
  outline: 2px solid #373742;
  outline-offset: 6px;
}
.ld-team-section__card-media {
  clip-path: polygon(1.25rem 0, 100% 0, 100% calc(100% - 1.25rem), calc(100% - 1.25rem) 100%, 0 100%, 0 1.25rem);
  position: relative;
  display: block;
  aspect-ratio: 321/407;
  background: #fff9ed;
  overflow: hidden;
}
.ld-team-section__card-photo {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center top;
     object-position: center top;
  display: block;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.ld-team-section__card:hover .ld-team-section__card-photo {
  transform: scale(1.04);
}
.ld-team-section__card-name {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 500;
  font-size: max(1.5rem, 12px);
  line-height: 1.4166666667;
  letter-spacing: -0.04em;
  color: #373742;
  margin-top: 1.5rem;
  transition: color 0.3s ease;
}
.ld-team-section__card:hover .ld-team-section__card-name {
  color: #ea1b3d;
}
.ld-team-section__card-role {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 500;
  font-size: max(0.75rem, 12px);
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #676775;
  margin-top: 0.5rem;
}
@media (max-width: 1400px) {
  .ld-team-section__layout {
    -moz-column-gap: 3.5rem;
         column-gap: 3.5rem;
  }
}
@media (max-width: 1200px) {
  .ld-team-section__layout {
    -moz-column-gap: 2.5rem;
         column-gap: 2.5rem;
  }
  .ld-team-section__grid {
    grid-template-columns: repeat(2, minmax(0, 20.0625rem));
  }
}
@media (max-width: 1024px) {
  .ld-team-section {
    padding-block: 8.75rem 4.5rem;
  }
  .ld-team-section__container {
    padding-inline: 1.25rem;
  }
  .ld-team-section__title {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 400;
    font-size: max(2.5rem, 12px);
    line-height: 1.1;
    letter-spacing: -0.04em;
    text-align: left;
  }
  .ld-team-section__layout {
    display: block;
    padding-top: 4rem;
  }
  .ld-team-section__groups {
    gap: 4rem;
  }
  .ld-team-section__group {
    scroll-margin-top: 6rem;
  }
  .ld-team-section__group-title {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(1.75rem, 12px);
    line-height: 1.3571428571;
    letter-spacing: 0;
    margin-bottom: 1.5rem;
  }
  .ld-team-section__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2rem 1.25rem;
  }
  .ld-team-section__card-name {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 400;
    font-size: max(1.25rem, 12px);
    line-height: 1.4;
    letter-spacing: 0;
    margin-top: 1rem;
  }
  .ld-team-section__card-role {
    margin-top: 0.375rem;
  }
}
@media (max-width: 768px) {
  .ld-team-section {
    padding-block: 8.75rem 3.5rem;
  }
  .ld-team-section__title {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 250;
    font-size: max(2rem, 12px);
    line-height: 1.1875;
    letter-spacing: -0.04em;
  }
  .ld-team-section__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem 0.75rem;
  }
  .ld-team-section__card-media {
    clip-path: polygon(1.25rem 0, 100% 0, 100% calc(100% - 1.25rem), calc(100% - 1.25rem) 100%, 0 100%, 0 1.25rem);
  }
  .ld-team-section__card-name {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 600;
    font-size: max(1.125rem, 12px);
    line-height: 1.6666666667;
    letter-spacing: 0;
  }
}

.ld-profile-drawer {
  position: fixed;
  inset: 0;
  z-index: 1200;
  visibility: hidden;
  transition: visibility 0s linear 0.5s;
}
.ld-profile-drawer.is-open {
  visibility: visible;
  transition-delay: 0s;
}
.ld-profile-drawer__overlay {
  position: absolute;
  inset: 0;
  background: rgba(47, 47, 57, 0.75);
  opacity: 0;
  transition: opacity 0.5s cubic-bezier(0.16, 1, 0.3, 1);
  cursor: pointer;
}
.ld-profile-drawer.is-open .ld-profile-drawer__overlay {
  opacity: 1;
}
.ld-profile-drawer__panel {
  clip-path: polygon(1.5rem 0, 100% 0, 100% calc(100% - 1.5rem), calc(100% - 1.5rem) 100%, 0 100%, 0 1.5rem);
  position: absolute;
  top: 50%;
  right: 1.875rem;
  translate: 0 -50%;
  width: 100%;
  max-width: 56.25rem;
  height: min(43.75rem, calc(100vh - 3.75rem));
  /* stylelint-disable-next-line declaration-block-no-duplicate-properties */
  height: min(43.75rem, calc(100dvh - 3.75rem));
  display: grid;
  grid-template-columns: 55% 45%;
  background: #ffefd1;
  overflow: hidden;
  transform: translate3d(100%, 0, 0);
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: transform;
}
.ld-profile-drawer.is-open .ld-profile-drawer__panel {
  transform: translate3d(0, 0, 0);
}
.ld-profile-drawer__media {
  clip-path: polygon(1.875rem 0, 100% 0, 100% 100%, 0 100%, 0 1.875rem);
  position: relative;
  padding: 4px;
  background: #ffefd1;
  overflow: hidden;
}
.ld-profile-drawer__photo {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center 25%;
     object-position: center 25%;
  display: block;
}
.ld-profile-drawer__body {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 6rem 2.5rem 3rem 1rem;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.ld-profile-drawer__name {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(2.5rem, 12px);
  line-height: 1.1;
  letter-spacing: -0.04em;
  margin-top: auto;
  color: #373742;
}
.ld-profile-drawer__role {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(1.25rem, 12px);
  line-height: 1.4;
  letter-spacing: 0;
  color: #373742;
}
.ld-profile-drawer__details {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.ld-profile-drawer__details[hidden] {
  display: none;
}
.ld-profile-drawer__detail-label {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(1.25rem, 12px);
  line-height: 1.4;
  letter-spacing: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: #373742;
  margin-bottom: 0.5rem;
}
.ld-profile-drawer__wow {
  width: auto;
  height: 1.375rem;
  display: block;
}
.ld-profile-drawer__detail-text {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1rem, 12px);
  line-height: 1.625;
  letter-spacing: 0;
  color: #676775;
}
.ld-profile-drawer__social {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: 0.5rem;
}
.ld-profile-drawer__social[hidden] {
  display: none;
}
.ld-profile-drawer__social a {
  color: #373742;
  opacity: 0.7;
  transition: color 0.3s, opacity 0.3s;
}
.ld-profile-drawer__social a:hover {
  color: #ea1b3d;
  opacity: 1;
}
.ld-profile-drawer__social a:focus-visible {
  outline: 2px solid #ea1b3d;
  outline-offset: 4px;
}
.ld-profile-drawer__social a[hidden] {
  display: none;
}
.ld-profile-drawer__close.ib-btn {
  position: absolute;
  top: 1.5rem;
  right: 1.5rem;
  z-index: 2;
  --_bg: transparent;
  --_bg-press: transparent;
  --_color: #373742;
  --_border: transparent;
  --_shadow: transparent;
  width: 48px;
  height: 48px;
}
.ld-profile-drawer__close.ib-btn::after {
  display: none;
}
.ld-profile-drawer__close.ib-btn .ib-btn__inner {
  padding: 0;
  background: transparent;
  clip-path: none;
}
.ld-profile-drawer__close.ib-btn .ib-btn__inner::before {
  display: none;
}
.ld-profile-drawer__close.ib-btn:focus-visible .ib-btn__inner, .ld-profile-drawer__close.ib-btn:active:not(:disabled) .ib-btn__inner {
  background: transparent;
}
.ld-profile-drawer__close.ib-btn .ib-icon {
  filter: brightness(0.24);
  opacity: 0.6;
  transition: opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}
.ld-profile-drawer__close.ib-btn:hover .ib-icon, .ld-profile-drawer__close.ib-btn:focus-visible .ib-icon {
  opacity: 1;
}
@media (max-width: 1024px) {
  .ld-profile-drawer__panel {
    clip-path: polygon(1.25rem 0, 100% 0, 100% calc(100% - 1.25rem), calc(100% - 1.25rem) 100%, 0 100%, 0 1.25rem);
    max-width: 400px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    translate: none;
    height: auto;
    inset: 8px 0 8px auto;
  }
  .ld-profile-drawer__media {
    clip-path: polygon(1.625rem 0, 100% 0, 100% 100%, 0 100%, 0 1.625rem);
    flex: 0 0 auto;
    width: 100%;
    aspect-ratio: 4/5;
    max-height: 50vh;
  }
  .ld-profile-drawer__body {
    flex: 1 1 auto;
    min-height: 0;
    padding: 2rem 1.5rem 2.5rem;
    overflow-y: auto;
  }
  .ld-profile-drawer__name {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 500;
    font-size: max(1.5rem, 12px);
    line-height: 1.4166666667;
    letter-spacing: -0.04em;
    margin-top: 0;
  }
  .ld-profile-drawer__close.ib-btn {
    top: 1rem;
    right: 1rem;
    width: 36px;
    height: 36px;
    background: rgba(255, 249, 237, 0.9);
  }
}

html.ld-profile-drawer-lock {
  overflow: hidden;
}

:root {
  --bg-primary: #fff9ed;
  --text-primary: #373742;
  --text-secondary: #676775;
  --text-disabled: #a7a7b0;
  --text-gray: #676775;
  --accent-red: #ea1b3d;
  --accent-peach: #ffd0d8;
  --border-color: rgba(103, 103, 117, 0.15);
  --font-primary: Lexend, -apple-system, blinkmacsystemfont, Segoe UI, roboto, sans-serif;
  --transition-smooth: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  --transition-slow: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  --container-width: 93.5rem;
  --container-width-padd: 101rem;
  --gutter: 60px;
}

*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

html {
  font-size: clamp(14px, 0.9259259259vw, 16px);
}

@media (max-width: 1024px) {
  html {
    font-size: 100%;
  }
}
html.scroll-locked,
html.scroll-locked .main-header {
  padding-right: var(--scrollbar-comp, 0);
}

html.scroll-locked .header-container .mega-menu {
  scrollbar-gutter: stable;
}

html,
body {
  width: 100%;
  height: 100%;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  background-color: #fff9ed;
  color: #373742;
  line-height: 1.6;
}

::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: #fff9ed;
}

::-webkit-scrollbar-thumb {
  background: #a7a7b0;
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: #676775;
}

a {
  color: inherit;
  text-decoration: none;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

button,
input,
textarea,
select {
  font-family: inherit;
}

@media (min-width: 769px) {
  .ib-mobile-only {
    display: none !important;
  }
}
@media (max-width: 768px), (min-width: 1025px) {
  .ib-tablet-only {
    display: none !important;
  }
}
@media (min-width: 1025px) {
  .ib-mobile-tablet-only {
    display: none !important;
  }
}
@media (max-width: 1024px) {
  .ib-desktop-only {
    display: none !important;
  }
}
@media (max-width: 1024px) and (prefers-reduced-motion: no-preference) {
  .ib-m-reveal {
    opacity: 0;
    transform: translate3d(0, 24px, 0);
    transition: opacity 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition-delay: var(--ib-m-reveal-delay, 0s);
    will-change: transform, opacity;
  }

  .ib-m-reveal.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
@keyframes ib-arrow-slide {
  0% {
    transform: translateX(0);
    opacity: 1;
  }
  45% {
    transform: translateX(7px);
    opacity: 0;
  }
  46% {
    transform: translateX(-5px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
.ib-btn {
  --_bg: #ea1b3d;
  --_bg-press: #aa142d;
  --_color: #fff;
  --_border: transparent;
  --_shadow: #ffd0d8;
  position: relative;
  isolation: isolate;
  display: inline-flex;
  align-items: stretch;
  height: 48px;
  padding: 0;
  font-family: var(--font-heading);
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  background: transparent;
  border: none;
  outline: none;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.ib-btn[hidden] {
  display: none;
}

.ib-btn::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--_shadow);
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
  opacity: 0;
  transform: translate(0, 0);
  transition: opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1), transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
}

.ib-btn__inner {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  padding: 0 22px;
  color: var(--_color);
  background: var(--_bg);
  line-height: 26px;
  letter-spacing: 0;
  text-align: center;
  text-transform: uppercase;
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
  transition: background 0.25s cubic-bezier(0.16, 1, 0.3, 1), color 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ib-btn__inner::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--_border);
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px, 10px 0, 10px 1.5px, 1.5px 10px, 1.5px calc(100% - 1.5px), calc(100% - 10px) calc(100% - 1.5px), calc(100% - 1.5px) calc(100% - 10px), calc(100% - 1.5px) 1.5px, 10px 1.5px);
  pointer-events: none;
  transition: background 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ib-btn__arrow {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ib-btn__arrow svg, .ib-btn__arrow.ib-icon {
  width: 14px;
  height: 14px;
}

.ib-btn:hover:not(:disabled, [aria-disabled=true])::after {
  opacity: 1;
  transform: translate(4px, 4px);
}

.ib-btn:focus-visible .ib-btn__inner {
  background: var(--_bg-press);
}

.ib-btn:active:not(:disabled) .ib-btn__inner {
  background: var(--_bg-press);
}

.ib-btn:disabled, .ib-btn[aria-disabled=true] {
  --_bg: #a7a7b0;
  --_border: #a7a7b0;
  --_color: #fff;
  cursor: not-allowed;
  pointer-events: none;
}

.ib-btn--primary {
  --_bg: #ea1b3d;
  --_bg-press: #aa142d;
  --_color: #fff;
  --_border: transparent;
  --_shadow: #ffd0d8;
}

.ib-btn--primary-light {
  --_bg: #fff9ed;
  --_bg-press: #ffefd1;
  --_color: #676775;
  --_border: transparent;
  --_shadow: #ffd0d8;
}

.ib-btn--primary-light:disabled, .ib-btn--primary-light[aria-disabled=true] {
  --_bg: #a7a7b0;
  --_color: #fff;
}

.ib-btn--secondary {
  --_bg: transparent;
  --_bg-press: transparent;
  --_color: #ea1b3d;
  --_border: #ea1b3d;
  --_shadow: #ffd0d8;
}

.ib-btn--secondary:focus-visible {
  --_border: #aa142d;
  --_color: #aa142d;
}

.ib-btn--secondary:active:not(:disabled) {
  --_border: #aa142d;
  --_color: #aa142d;
}

.ib-btn--secondary:disabled, .ib-btn--secondary[aria-disabled=true] {
  --_bg: transparent;
  --_color: #a7a7b0;
  --_border: #a7a7b0;
}

.ib-btn--secondary-light {
  --_bg: transparent;
  --_bg-press: transparent;
  --_color: #fff;
  --_border: #fff;
  --_shadow: #ffd0d8;
}

.ib-btn--secondary-light:hover:not(:disabled, [aria-disabled=true]) {
  --_bg: #ea1b3d;
  --_border: transparent;
}

.ib-btn--secondary-light:disabled, .ib-btn--secondary-light[aria-disabled=true] {
  --_bg: transparent;
  --_color: #a7a7b0;
  --_border: #a7a7b0;
}

.ib-btn--ghost {
  --_color: #ea1b3d;
  height: auto;
}

.ib-btn--ghost::after {
  display: none;
}

.ib-btn--ghost .ib-btn__inner {
  padding: 2px 0;
  height: auto;
  background: transparent;
  clip-path: none;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1.5px;
  -webkit-text-decoration-color: currentcolor;
          text-decoration-color: currentcolor;
  transition: color 0.25s cubic-bezier(0.16, 1, 0.3, 1), -webkit-text-decoration-color 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  transition: color 0.25s cubic-bezier(0.16, 1, 0.3, 1), text-decoration-color 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  transition: color 0.25s cubic-bezier(0.16, 1, 0.3, 1), text-decoration-color 0.25s cubic-bezier(0.16, 1, 0.3, 1), -webkit-text-decoration-color 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ib-btn--ghost .ib-btn__inner::before {
  display: none;
}

.ib-btn--ghost:focus-visible, .ib-btn--ghost:active:not(:disabled) {
  --_color: #aa142d;
}

.ib-btn--ghost:focus-visible .ib-btn__inner, .ib-btn--ghost:active:not(:disabled) .ib-btn__inner {
  background: transparent !important;
}

.ib-btn--ghost:disabled, .ib-btn--ghost[aria-disabled=true] {
  --_color: #a7a7b0;
  pointer-events: none;
}

.ib-btn--bare {
  --_bg: transparent;
  --_bg-press: transparent;
  --_color: #373742;
  --_border: transparent;
  --_shadow: transparent;
}

.ib-btn--bare::after {
  display: none;
}

.ib-btn--bare .ib-btn__inner {
  background: transparent;
  clip-path: none;
  transition: color 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ib-btn--bare .ib-btn__inner::before {
  display: none;
}

.ib-btn--bare .ib-icon,
.ib-btn--bare .ib-btn__arrow {
  color: var(--_color);
}

.ib-btn--bare:focus-visible .ib-btn__inner, .ib-btn--bare:active:not(:disabled) .ib-btn__inner {
  background: transparent;
}

.ib-btn--bare:disabled, .ib-btn--bare[aria-disabled=true] {
  --_bg: transparent;
  --_border: transparent;
  --_color: #a7a7b0;
}

.ib-btn--with-icon:hover:not(:disabled, [aria-disabled=true]) .ib-btn__arrow {
  animation: ib-arrow-slide 0.7s cubic-bezier(0.16, 1, 0.3, 1) infinite;
}

.ib-btn--icon-only {
  width: 48px;
}

.ib-btn--icon-only .ib-btn__inner {
  padding: 0;
}

.ib-btn--icon-only:hover:not(:disabled, [aria-disabled=true]) .ib-btn__arrow {
  animation: ib-arrow-slide 0.7s cubic-bezier(0.16, 1, 0.3, 1) infinite;
}

@media (max-width: 1024px) {
  .ib-btn {
    height: 44px;
    font-size: 15px;
  }

  .ib-btn__inner {
    padding: 0 18px;
  }

  .ib-btn__arrow svg, .ib-btn__arrow.ib-icon {
    width: 13px;
    height: 13px;
  }

  .ib-btn--icon-only {
    width: 44px;
  }

  .ib-btn--icon-only .ib-btn__inner {
    padding: 0;
  }
}
.er-hero-section {
  background: #fff9ed;
}

.er-hero-section__pin {
  padding: 13.75rem 1.5rem 0;
  margin-bottom: 4rem;
}

@media (min-width: 1025px) {
  .er-hero-section__pin {
    position: sticky;
    top: 0;
    height: 100vh;
    overflow: clip;
  }
}
.er-hero-section__container {
  max-width: 80.4375rem;
  margin: 0 auto;
  text-align: center;
}

.er-hero-section__brand-row:has(.er-hero-section__brand) {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.75rem;
}

.er-hero-section__brand {
  display: block;
  width: 8.75rem;
  height: 8.75rem;
  -o-object-fit: contain;
     object-fit: contain;
  flex-shrink: 0;
}

.er-hero-section__brand-row:has(.er-hero-section__brand) .er-hero-section__heading {
  max-width: none;
  margin: 0;
  text-align: left;
}

.er-hero-section__heading-accent {
  color: #ea1b3d;
}

.er-hero-section__heading {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 250;
  font-size: max(4.5rem, 12px);
  line-height: 1.2222222222;
  letter-spacing: -0.04em;
  color: #373742;
  max-width: 66.4375rem;
  margin: 0 auto;
}

@media (min-width: 1025px) {
  .er-hero-section__heading {
    opacity: 0;
    transform: translateY(2.5rem);
    will-change: transform, opacity;
  }

  .er-hero-section__heading.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}
.er-hero-section__highlight {
  background: linear-gradient(90deg, #284cba 0%, #ea1b3d 72.87%);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
}

.er-hero-section__subtext {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 250;
  font-size: max(1.5rem, 12px);
  line-height: 1.6666666667;
  letter-spacing: 0;
  color: #676775;
  max-width: 64.875rem;
  margin: 3rem auto 0;
}

@media (min-width: 1025px) {
  .er-hero-section__subtext {
    opacity: 0;
    transform: translateY(2rem);
    will-change: transform, opacity;
  }

  .er-hero-section__subtext.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}
.er-hero-section__subtext.is-visible {
  transition-delay: 0.15s;
}

.er-hero-section__media {
  position: relative;
  z-index: 2;
  width: 100%;
  aspect-ratio: 1287/779;
  background: #aa142d;
  margin-top: 7.5rem;
  overflow: hidden;
  will-change: transform;
}

.er-hero-section__media-img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

@media (max-width: 1200px) {
  .er-hero-section__pin {
    padding-top: 11.25rem;
    margin-bottom: 3rem;
  }

  .er-hero-section__heading {
    font-size: 3.5rem;
    line-height: 4.25rem;
  }

  .er-hero-section__subtext {
    font-size: 1.25rem;
    line-height: 2.125rem;
    max-width: 53.75rem;
  }

  .er-hero-section__media {
    margin-top: 6rem;
  }
}
@media (max-width: 1024px) {
  .er-hero-section {
    min-height: auto !important;
  }

  .er-hero-section__pin {
    position: static;
    height: auto;
    overflow: visible;
    padding: 9.75rem 1.25rem 0;
  }

  .er-hero-section__brand-row:has(.er-hero-section__brand) {
    justify-content: flex-start;
    gap: 1rem;
  }

  .er-hero-section__brand {
    width: 5.5rem;
    height: 5.5rem;
  }

  .er-hero-section__heading {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 400;
    font-size: max(3rem, 12px);
    line-height: 1.0833333333;
    letter-spacing: -0.04em;
    font-weight: 300;
    text-align: left;
  }

  .er-hero-section__subtext {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(1rem, 12px);
    line-height: 1.625;
    letter-spacing: 0;
    margin-top: 2rem;
    text-align: left;
  }

  .er-hero-section__media {
    aspect-ratio: 354/219;
    margin-top: 4.5rem;
    margin-left: 0;
    width: 100%;
    transform: none !important;
  }
}
.er-disciplines-section {
  position: relative;
  background: #2f2f39;
  isolation: isolate;
}

.er-disciplines-section__pin {
  position: sticky;
  top: 0;
  height: calc(100vh + 5rem);
  display: flex;
  align-items: center;
  overflow: clip;
}

.er-disciplines-section__pin::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: url(../static/assets/images/latest/grain.png);
  background-repeat: repeat;
  background-size: cover;
  mix-blend-mode: normal;
  opacity: 1;
  pointer-events: none;
}

.er-disciplines-section__container {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 4rem;
  width: 100%;
  max-width: 101rem;
  margin: 0 auto;
  padding: 0 2.5rem;
}

.er-disciplines-section__title {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(3rem, 12px);
  line-height: 1.0833333333;
  letter-spacing: -0.04em;
  font-weight: 300;
  color: #fff;
  flex: 1;
  margin: 0;
}

@media (min-width: 1025px) {
  .er-disciplines-section__title {
    opacity: 0;
    transform: translateY(2rem);
    will-change: transform, opacity;
  }

  .er-disciplines-section__title.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}
.er-disciplines-section__title-accent {
  color: #ffd0d8;
}

.er-disciplines-section__intro {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
}

.er-disciplines-section__intro .er-disciplines-section__title {
  flex: none;
}

.er-disciplines-section__intro .er-disciplines-section__title:not(:last-child) {
  margin-bottom: 1.5rem;
}

.er-disciplines-section__intro-text {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1rem, 12px);
  line-height: 1.625;
  letter-spacing: 0;
  color: rgba(255, 255, 255, 0.8);
  max-width: 32.6875rem;
  margin: 0 0 2rem;
}

@media (min-width: 1025px) {
  .er-disciplines-section__intro-text {
    opacity: 0;
    transform: translateY(2rem);
    will-change: transform, opacity;
  }

  .er-disciplines-section__intro-text.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}
@media (min-width: 1025px) {
  .er-disciplines-section__intro-text.is-visible {
    transition-delay: 0.08s;
  }
}
@media (min-width: 1025px) {
  .er-disciplines-section__intro-cta {
    opacity: 0;
    transform: translateY(2rem);
    will-change: transform, opacity;
  }

  .er-disciplines-section__intro-cta.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}
@media (min-width: 1025px) {
  .er-disciplines-section__intro-cta.is-visible {
    transition-delay: 0.16s;
  }
}
.er-disciplines-section__deck {
  position: relative;
  width: min(50.8125rem, 52vw);
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.er-disciplines-section__card {
  width: 100%;
  min-height: 27.5rem;
  background: #feefd0;
  transition: background 0.4s ease;
  padding: clamp(1.5rem, 2.4vw, 1.75rem) clamp(2.5rem, 5vw, 4.375rem) clamp(2.25rem, 3.6vw, 3rem) clamp(2.25rem, 4vw, 3.375rem);
  clip-path: polygon(1.5rem 0, 100% 0, 100% calc(100% - 1.5rem), calc(100% - 1.5rem) 100%, 0 100%, 0 1.5rem);
}

.er-disciplines-section__card[data-cover-depth="1"] {
  background: #fff4e2;
}

.er-disciplines-section__card[data-cover-depth="2"] {
  background: #fff9ed;
}

.er-disciplines-section__card[data-cover-depth="3"] {
  background: #fffcf5;
}

@media (min-width: 1025px) {
  .er-disciplines-section__card {
    max-width: 40.6875rem;
  }

  .er-disciplines-section--stacked .er-disciplines-section__deck {
    display: block;
  }

  .er-disciplines-section--stacked .er-disciplines-section__card {
    position: absolute;
    top: 0;
    left: 0;
    width: calc(100% - var(--er-cascade-reserve, 0px));
    will-change: transform;
  }
}
.er-disciplines-section__card-title {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 250;
  font-size: max(1.5rem, 12px);
  line-height: 1.6666666667;
  letter-spacing: 0;
  color: #373742;
  margin: 0 0 clamp(2rem, 4vw, 3.125rem);
}

.er-disciplines-section__card-text {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1rem, 12px);
  line-height: 1.625;
  letter-spacing: 0;
  color: #373742;
  max-width: 32.6875rem;
  margin: 0;
}

.er-disciplines-section__card-text p + p {
  margin-top: 1.625rem;
}

@media (max-width: 1200px) {
  .er-disciplines-section__card {
    min-height: 25rem;
  }

  .er-disciplines-section__title {
    font-size: 2.5rem;
    line-height: 2.875rem;
  }
}
@media (max-width: 1024px) {
  .er-disciplines-section {
    min-height: auto !important;
    padding: 3rem 1.25rem;
  }

  .er-disciplines-section__pin {
    position: static;
    height: auto;
    overflow: visible;
  }

  .er-disciplines-section__container {
    flex-direction: column;
    align-items: stretch;
    gap: 1.5rem;
    padding: 0;
  }

  .er-disciplines-section__title {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(1.75rem, 12px);
    line-height: 1.3571428571;
    letter-spacing: 0;
  }

  .er-disciplines-section__intro .er-disciplines-section__title:not(:last-child) {
    margin-bottom: 1rem;
  }

  .er-disciplines-section__intro-text {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(0.875rem, 12px);
    line-height: 1.5714285714;
    letter-spacing: 0;
    max-width: 100%;
    margin-bottom: 1.5rem;
  }

  .er-disciplines-section__deck {
    position: static;
    width: 100%;
    height: auto !important;
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }

  .er-disciplines-section__card {
    position: static;
    width: 100%;
    min-height: 21.25rem;
    transform: none !important;
    z-index: auto !important;
    padding: 1.5rem;
  }

  .er-disciplines-section__card:nth-child(1) {
    background: #fffcf6;
  }

  .er-disciplines-section__card:nth-child(2) {
    background: #fff9ed;
  }

  .er-disciplines-section__card:nth-child(3) {
    background: #fff4e1;
  }

  .er-disciplines-section__card:nth-child(n+4) {
    background: #ffefd1;
  }

  .er-disciplines-section__card-title {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 500;
    font-size: max(1rem, 12px);
    line-height: 1.625;
    letter-spacing: 0;
    text-transform: uppercase;
    margin-bottom: 1.5rem;
  }

  .er-disciplines-section__card-text {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(0.875rem, 12px);
    line-height: 1.5714285714;
    letter-spacing: 0;
    max-width: 100%;
  }

  .er-disciplines-section__card-text p {
    margin: 0;
    display: inline;
  }
}
@media (min-width: 1025px) {
  .er-disciplines-section--media .er-disciplines-section__intro-text {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 250;
    font-size: max(1.5rem, 12px);
    line-height: 1.6666666667;
    letter-spacing: 0;
  }
}
.er-disciplines-section--media .er-disciplines-section__card {
  background: none;
  padding: 0;
  min-height: 0;
  overflow: hidden;
}

.er-disciplines-section--media .er-disciplines-section__card[data-cover-depth] {
  background: none;
}

.er-disciplines-section--media .er-disciplines-section__card-img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 651/531;
  -o-object-fit: cover;
     object-fit: cover;
}

@media (max-width: 1024px) {
  .er-disciplines-section--media .er-disciplines-section__card {
    min-height: 0;
    padding: 0;
  }

  .er-disciplines-section--media .er-disciplines-section__card:nth-child(n) {
    background: none;
  }
}
.tsd-theme--crimson {
  --tsd-panel: #7c2235;
}

html:has(.tsd-statement-section) {
  scroll-behavior: auto !important;
  overflow-x: clip;
  height: auto;
  min-height: 100%;
}

html:has(.tsd-statement-section) body {
  overflow-x: clip;
  height: auto;
  min-height: 100%;
}

.tsd-statement-section {
  position: relative;
  background: var(--tsd-panel, #042a59);
  overflow: hidden;
}

@media (max-width: 1024px) {
  .tsd-statement-section::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url(../static/assets/images/latest/grain.png);
    background-repeat: repeat;
    background-size: cover;
    mix-blend-mode: normal;
    opacity: 1;
    pointer-events: none;
    z-index: 4;
  }
}
.tsd-statement-section__stage {
  display: flex;
  flex-direction: column;
  gap: 4rem;
  max-width: var(--container-width-padd);
  margin-inline: auto;
  padding: 6rem var(--gutter);
}

.tsd-statement-section__sentence {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: 4rem;
  line-height: 5rem;
  letter-spacing: -0.075rem;
  color: #fff;
  max-width: 61.25rem;
  margin: 0 auto;
  text-align: center;
}

.tsd-statement-section__card {
  position: relative;
  width: min(72.5rem, 100%);
  margin-inline: auto;
}

.tsd-statement-section__card-bg {
  position: absolute;
  inset: 0;
  background: var(--tsd-panel, #042a59);
  border: 0.0625rem solid rgba(255, 255, 255, 0.14);
  border-radius: 0;
  box-shadow: 0 1.875rem 5rem rgba(2, 19, 42, 0.35);
  clip-path: polygon(24px 0, 100% 0, 100% calc(100% - 24px), calc(100% - 24px) 100%, 0 100%, 0 24px);
}

.tsd-statement-section__card-inner {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  padding: 2rem;
}

.tsd-statement-section__card-inner::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url(../static/assets/images/latest/grain.png);
  background-repeat: repeat;
  background-size: cover;
  mix-blend-mode: normal;
  opacity: 1;
  pointer-events: none;
  z-index: 2;
  clip-path: polygon(24px 0, 100% 0, 100% calc(100% - 24px), calc(100% - 24px) 100%, 0 100%, 0 24px);
}

.tsd-statement-section__card-heading {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 250;
  font-size: max(2rem, 12px);
  line-height: 1.1875;
  letter-spacing: -0.04em;
  color: #fff;
  margin: 0;
  text-align: left;
}

.tsd-statement-section__card-media {
  clip-path: polygon(16px 0, 100% 0, 100% calc(100% - 12px), calc(100% - 16px) 100%, 0 100%, 0 12px);
}

.tsd-statement-section__card-screen {
  display: block;
  width: 100%;
  height: auto;
}

.tsd-statement-section__card-footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
  text-align: center;
}

.tsd-statement-section__card-body {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.125rem, 12px);
  line-height: 1.6666666667;
  letter-spacing: 0;
  color: #fff;
  max-width: 42.5rem;
  margin: 0;
}

.tsd-statement-section__card-body:only-child {
  max-width: none;
  width: 100%;
}

.tsd-statement-section__card-pill {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 500;
  font-size: max(0.75rem, 12px);
  line-height: 1.5;
  letter-spacing: 0.15em;
  color: #fff;
  background: rgba(255, 255, 255, 0.1);
  border: none;
  padding: 1rem;
  margin: 0;
}

@media (min-width: 1025px) {
  .tsd-statement-section--enhanced {
    background: #fff9ed;
  }

  .tsd-statement-section--enhanced .tsd-statement-section__stage {
    position: relative;
    height: 100vh;
    max-width: none;
    padding: 0;
    gap: 0;
  }

  .tsd-statement-section--enhanced .tsd-statement-section__intro {
    position: absolute;
    inset: 0;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-inline: var(--gutter);
    pointer-events: none;
    will-change: transform, opacity;
  }

  .tsd-statement-section--enhanced .tsd-statement-section__word {
    display: inline-block;
  }

  .tsd-statement-section--enhanced .tsd-statement-section__char {
    display: inline-block;
    opacity: 0;
    transform: translate3d(0, 0.625rem, 0);
    will-change: transform, opacity;
  }

  .tsd-statement-section--enhanced .tsd-statement-section__card {
    position: absolute;
    inset: 0;
    margin: auto;
    width: min(72.5rem, 100vw - 6rem);
    height: min(43.75rem, 100vh - 6rem);
    will-change: transform;
  }

  .tsd-statement-section--enhanced .tsd-statement-section__card {
    z-index: 1;
  }

  .tsd-statement-section--enhanced .tsd-statement-section__card ~ .tsd-statement-section__card {
    transform: translate3d(0, 110vh, 0);
  }

  .tsd-statement-section--enhanced .tsd-statement-section__card--1:not(.is-collapsed) .tsd-statement-section__card-bg {
    clip-path: none;
  }

  .tsd-statement-section--enhanced .tsd-statement-section__card--1:not(.is-collapsed) .tsd-statement-section__card-inner::after {
    content: none;
  }

  .tsd-statement-section--enhanced .tsd-statement-section__card-bg {
    transform-origin: center center;
    will-change: transform;
  }

  .tsd-statement-section--enhanced .tsd-statement-section__card-inner {
    height: 100%;
    padding: 3rem;
  }

  .tsd-statement-section--enhanced .tsd-statement-section__card-media {
    flex: 1 1 auto;
    min-height: 0;
    clip-path: none;
    border-radius: 0;
    overflow: hidden;
  }

  .tsd-statement-section--enhanced .tsd-statement-section__card-screen {
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: top center;
       object-position: top center;
  }

  .tsd-statement-section--enhanced .tsd-statement-section__card-footer {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    text-align: left;
  }

  .tsd-statement-section--enhanced .tsd-statement-section__card-heading, .tsd-statement-section--enhanced .tsd-statement-section__card-media, .tsd-statement-section--enhanced .tsd-statement-section__card-footer {
    opacity: 0;
    transform: translate3d(0, 1.5rem, 0);
    will-change: transform, opacity;
  }

  .tsd-statement-section--enhanced .tsd-statement-section__card-heading.ib-desktop-only {
    display: block !important;
  }

  .tsd-statement-section--enhanced .tsd-statement-section__card-heading.ib-mobile-tablet-only {
    display: none !important;
  }
}
@media (width < 1024px) {
  .tsd-statement-section__stage {
    gap: 0;
    padding: 0;
  }

  .tsd-statement-section__intro {
    min-height: 31.8125rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-block: 3rem;
    padding-inline: 1.25rem;
  }

  .tsd-statement-section__card {
    width: auto;
    margin: 0 1.25rem;
    padding-block: 3rem;
  }

  .tsd-statement-section__sentence {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 250;
    font-size: max(2rem, 12px);
    line-height: 1.1875;
    letter-spacing: -0.04em;
    text-align: center;
    margin: 0;
  }

  .tsd-statement-section__card-bg, .tsd-statement-section__card-inner::after {
    display: none;
  }

  .tsd-statement-section__card-inner {
    padding: 0;
  }

  .tsd-statement-section__card-heading {
    font-size: 1.5rem;
    line-height: 2rem;
    text-align: left;
  }

  .tsd-statement-section__card-footer {
    align-items: flex-start;
    text-align: left;
  }

  .tsd-statement-section__card-pill {
    align-self: stretch;
    text-align: center;
    font-size: 1.125rem;
  }
}
.itep-client-speaks-section {
  position: relative;
  background: #fff9ed;
  padding: clamp(3rem, 8.1018518519vw, 8.75rem) 0;
}

.itep-client-speaks-section__container {
  width: 100%;
  max-width: 89.375rem;
  margin: 0 auto;
  padding: 0 1.25rem;
}

.itep-client-speaks-section__heading {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(3rem, 12px);
  line-height: 1.0833333333;
  letter-spacing: -0.04em;
  font-weight: 300;
  color: #373742;
  text-align: center;
  margin: 0;
}

@media (min-width: 1025px) {
  .itep-client-speaks-section__heading {
    opacity: 0;
    transform: translateY(2rem);
    will-change: transform, opacity;
  }

  .itep-client-speaks-section__heading.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}
.itep-client-speaks-section__intro {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 250;
  font-size: max(1.5rem, 12px);
  line-height: 1.6666666667;
  letter-spacing: 0;
  color: #676775;
  text-align: center;
  max-width: 61.625rem;
  margin: 2.5rem auto 0;
}

@media (min-width: 1025px) {
  .itep-client-speaks-section__intro {
    opacity: 0;
    transform: translateY(2rem);
    will-change: transform, opacity;
  }

  .itep-client-speaks-section__intro.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}
@media (min-width: 1025px) {
  .itep-client-speaks-section__intro.is-visible {
    transition-delay: 0.08s;
  }
}
.itep-client-speaks-section__media {
  position: relative;
  width: 100%;
  aspect-ratio: 1305/608;
  margin-top: 4rem;
  overflow: hidden;
  background: #373742;
  clip-path: polygon(1.5rem 0, 100% 0, 100% calc(100% - 1.5rem), calc(100% - 1.5rem) 100%, 0 100%, 0 1.5rem);
}

@media (min-width: 1025px) {
  .itep-client-speaks-section__media {
    opacity: 0;
    transform: translateY(2rem);
    will-change: transform, opacity;
  }

  .itep-client-speaks-section__media.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}
@media (min-width: 1025px) {
  .itep-client-speaks-section__media.is-visible {
    transition-delay: 0.16s;
  }
}
.itep-client-speaks-section__media-item {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border: 0;
}

@media (max-width: 1024px) {
  .itep-client-speaks-section__heading {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(1.75rem, 12px);
    line-height: 1.3571428571;
    letter-spacing: 0;
  }

  .itep-client-speaks-section__intro {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(0.875rem, 12px);
    line-height: 1.5714285714;
    letter-spacing: 0;
    max-width: 100%;
    margin-top: 1rem;
  }

  .itep-client-speaks-section__media {
    margin-top: 2rem;
    clip-path: polygon(0.75rem 0, 100% 0, 100% calc(100% - 0.75rem), calc(100% - 0.75rem) 100%, 0 100%, 0 0.75rem);
  }
}
.itep-partners-section {
  position: relative;
  background: #fff9ed;
  padding: clamp(3rem, 9.2592592593vw, 10rem) 0;
}

.itep-partners-section__container {
  width: 100%;
  max-width: 89.375rem;
  margin: 0 auto;
  padding: 0 1.25rem;
}

.itep-partners-section__heading {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(3rem, 12px);
  line-height: 1.0833333333;
  letter-spacing: -0.04em;
  font-weight: 300;
  color: #373742;
  margin: 0;
}

@media (min-width: 1025px) {
  .itep-partners-section__heading {
    opacity: 0;
    transform: translateY(2rem);
    will-change: transform, opacity;
  }

  .itep-partners-section__heading.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}
.itep-partners-section__heading-accent {
  color: #ea1b3d;
}

.itep-partners-section__logos {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  height: 7.75rem;
  margin: 4.5rem 0 0;
  padding: 0;
  list-style: none;
  background: #fff9ed;
}

@media (min-width: 1025px) {
  .itep-partners-section__logos {
    opacity: 0;
    transform: translateY(2rem);
    will-change: transform, opacity;
  }

  .itep-partners-section__logos.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}
.itep-partners-section__logo-item {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
}

.itep-partners-section__logo {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.itep-partners-section__logo-item:nth-child(1) .itep-partners-section__logo {
  width: 6rem;
}

.itep-partners-section__logo-item:nth-child(2) .itep-partners-section__logo {
  width: 10.375rem;
}

.itep-partners-section__logo-item:nth-child(3) .itep-partners-section__logo {
  width: 12.125rem;
}

.itep-partners-section__logo-item:nth-child(4) .itep-partners-section__logo {
  width: 7.0625rem;
}

.itep-partners-section__logo-item:nth-child(5) .itep-partners-section__logo {
  width: 11.125rem;
}

.itep-partners-section__logo-item:nth-child(6) .itep-partners-section__logo {
  width: 11.4375rem;
}

@media (max-width: 1024px) {
  .itep-partners-section__heading {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(1.75rem, 12px);
    line-height: 1.3571428571;
    letter-spacing: 0;
  }

  .itep-partners-section__logos {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem 1.5rem;
    height: auto;
    margin-top: 2rem;
    padding: 2rem 1.25rem;
  }
}
@media (max-width: 576px) {
  .itep-partners-section__logos {
    grid-template-columns: repeat(2, 1fr);
  }
}
.itep-training-section {
  position: relative;
  background: #fff9ed;
  padding: clamp(3rem, 8.6805555556vw, 9.375rem) 0;
}

.itep-training-section__container {
  width: 100%;
  max-width: 89.375rem;
  margin: 0 auto;
  padding: 0 1.25rem;
}

.itep-training-section__card {
  background: #ffefd1;
  padding: clamp(2.5rem, 7.2337962963vw, 7.8125rem) clamp(1.5rem, 9.6643518519vw, 10.4375rem);
  clip-path: polygon(1.25rem 0, 100% 0, 100% calc(100% - 1.25rem), calc(100% - 1.25rem) 100%, 0 100%, 0 1.25rem);
}

@media (min-width: 1025px) {
  .itep-training-section__card {
    opacity: 0;
    transform: translateY(2rem);
    will-change: transform, opacity;
  }

  .itep-training-section__card.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}
.itep-training-section__title {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(3rem, 12px);
  line-height: 1.3333333333;
  letter-spacing: 0;
  font-weight: 300;
  color: #373742;
  margin: 0;
}

.itep-training-section__title-accent {
  color: #ea1b3d;
}

.itep-training-section__lead {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 250;
  font-size: max(1.5rem, 12px);
  line-height: 1.6666666667;
  letter-spacing: 0;
  color: #373742;
  margin: 4.5rem 0 0;
}

.itep-training-section__divider {
  height: 1px;
  margin: 2rem 0;
  border: 0;
  background: #ffd0d8;
}

.itep-training-section__body {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.125rem, 12px);
  line-height: 1.6666666667;
  letter-spacing: 0;
  color: #373742;
  margin: 0;
}

.itep-training-section__cta {
  margin-top: 4.5rem;
}

@media (max-width: 1024px) {
  .itep-training-section__card {
    padding: 2rem 1.5rem;
    clip-path: polygon(0.75rem 0, 100% 0, 100% calc(100% - 0.75rem), calc(100% - 0.75rem) 100%, 0 100%, 0 0.75rem);
  }

  .itep-training-section__title {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(1.75rem, 12px);
    line-height: 1.3571428571;
    letter-spacing: 0;
  }

  .itep-training-section__lead {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(1rem, 12px);
    line-height: 1.625;
    letter-spacing: 0;
    margin-top: 1.5rem;
  }

  .itep-training-section__divider {
    margin: 1.5rem 0;
  }

  .itep-training-section__body {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(0.875rem, 12px);
    line-height: 1.5714285714;
    letter-spacing: 0;
  }

  .itep-training-section__cta {
    margin-top: 2rem;
  }
}
.itep-notes-section {
  position: relative;
  background: #fff9ed;
  padding: clamp(3rem, 8.6805555556vw, 9.375rem) 0;
}

.itep-notes-section__container {
  display: grid;
  grid-template-columns: minmax(0, 365fr) minmax(0, 632fr);
  grid-template-rows: auto 1fr;
  -moz-column-gap: clamp(2.5rem, 20%, 17.375rem);
       column-gap: clamp(2.5rem, 20%, 17.375rem);
  width: 100%;
  max-width: 89.375rem;
  margin: 0 auto;
  padding: 0 1.25rem;
}

.itep-notes-section__heading {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(3rem, 12px);
  line-height: 1.0833333333;
  letter-spacing: -0.04em;
  grid-column: 1;
  grid-row: 1;
  font-weight: 300;
  color: #373742;
  margin: 0;
}

@media (min-width: 1025px) {
  .itep-notes-section__heading {
    opacity: 0;
    transform: translateY(2rem);
    will-change: transform, opacity;
  }

  .itep-notes-section__heading.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}
.itep-notes-section__heading-accent {
  color: #ea1b3d;
}

.itep-notes-section__contact {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.25rem, 12px);
  line-height: 1.7;
  letter-spacing: 0;
  grid-column: 1;
  grid-row: 2;
  align-self: end;
  color: #676775;
  margin: 2.5rem 0 0;
}

@media (min-width: 1025px) {
  .itep-notes-section__contact {
    opacity: 0;
    transform: translateY(2rem);
    will-change: transform, opacity;
  }

  .itep-notes-section__contact.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}
.itep-notes-section__contact strong {
  font-weight: 400;
}

.itep-notes-section__contact-link {
  color: #ea1b3d;
  text-decoration: none;
}

.itep-notes-section__contact-link:hover, .itep-notes-section__contact-link:focus-visible {
  text-decoration: underline;
}

.itep-notes-section__notes {
  grid-column: 2;
  grid-row: 1/span 2;
}

.itep-notes-section__notes-title {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.75rem, 12px);
  line-height: 1.3571428571;
  letter-spacing: 0;
  color: #373742;
  margin: 0;
}

@media (min-width: 1025px) {
  .itep-notes-section__notes-title {
    opacity: 0;
    transform: translateY(2rem);
    will-change: transform, opacity;
  }

  .itep-notes-section__notes-title.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}
.itep-notes-section__list {
  display: flex;
  flex-direction: column;
  gap: 2.625rem;
  margin: 3.5rem 0 0;
  padding: 0;
  list-style: none;
}

@media (min-width: 1025px) {
  .itep-notes-section__list {
    opacity: 0;
    transform: translateY(2rem);
    will-change: transform, opacity;
  }

  .itep-notes-section__list.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}
@media (min-width: 1025px) {
  .itep-notes-section__list.is-visible {
    transition-delay: 0.08s;
  }
}
.itep-notes-section__item {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.125rem, 12px);
  line-height: 1.6666666667;
  letter-spacing: 0;
  display: flex;
  gap: 1.875rem;
  color: #676775;
}

.itep-notes-section__marker {
  flex-shrink: 0;
  width: 0.875rem;
  height: 0.875rem;
  margin-top: 0.5rem;
  background: #ffd0d8;
}

@media (max-width: 1024px) {
  .itep-notes-section__container {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: none;
    row-gap: 2rem;
  }

  .itep-notes-section__heading, .itep-notes-section__contact, .itep-notes-section__notes {
    grid-column: 1;
    grid-row: auto;
  }

  .itep-notes-section__heading {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(1.75rem, 12px);
    line-height: 1.3571428571;
    letter-spacing: 0;
    order: 1;
  }

  .itep-notes-section__notes {
    order: 2;
  }

  .itep-notes-section__contact {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(1rem, 12px);
    line-height: 1.625;
    letter-spacing: 0;
    order: 3;
    align-self: start;
    margin-top: 0;
  }

  .itep-notes-section__notes-title {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 400;
    font-size: max(1.25rem, 12px);
    line-height: 1.4;
    letter-spacing: 0;
  }

  .itep-notes-section__list {
    gap: 1.5rem;
    margin-top: 1.5rem;
  }

  .itep-notes-section__item {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(0.875rem, 12px);
    line-height: 1.5714285714;
    letter-spacing: 0;
    gap: 1rem;
  }

  .itep-notes-section__marker {
    width: 0.75rem;
    height: 0.75rem;
    margin-top: 0.3125rem;
  }
}
body.page-itep, body.page-infobeans-foundation {
  overflow-x: clip;
}

html:has(body.page-itep), html:has(body.page-infobeans-foundation) {
  overflow-x: clip;
  scroll-snap-type: none;
}

.er-metrics-section__heading.fn-metrics-section__heading {
  text-align: center;
}

.er-metrics-section.fn-metrics-section {
  padding: 9.375rem 1.5rem 1.375rem;
}
@media (max-width: 1024px) {
  .er-metrics-section.fn-metrics-section {
    padding: 3rem 1.25rem;
  }
}

.er-hero-section__pin.itep-hero-section__pin {
  height: auto;
}

.itep-client-speaks-section {
  position: relative;
  background: #fff9ed;
  padding: clamp(3rem, 8.1018518519vw, 8.75rem) 0;
}
.itep-client-speaks-section__container {
  width: 100%;
  max-width: 89.375rem;
  margin: 0 auto;
  padding: 0 1.25rem;
}
.itep-client-speaks-section__heading {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(3rem, 12px);
  line-height: 1.0833333333;
  letter-spacing: -0.04em;
  font-weight: 300;
  color: #373742;
  text-align: center;
  margin: 0;
}
@media (min-width: 1025px) {
  .itep-client-speaks-section__heading {
    opacity: 0;
    transform: translateY(2rem);
    will-change: transform, opacity;
  }
  .itep-client-speaks-section__heading.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}
.itep-client-speaks-section__intro {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 250;
  font-size: max(1.5rem, 12px);
  line-height: 1.6666666667;
  letter-spacing: 0;
  color: #676775;
  text-align: center;
  max-width: 61.625rem;
  margin: 2.5rem auto 0;
}
@media (min-width: 1025px) {
  .itep-client-speaks-section__intro {
    opacity: 0;
    transform: translateY(2rem);
    will-change: transform, opacity;
  }
  .itep-client-speaks-section__intro.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}
@media (min-width: 1025px) {
  .itep-client-speaks-section__intro.is-visible {
    transition-delay: 0.08s;
  }
}
.itep-client-speaks-section__media {
  position: relative;
  width: 100%;
  aspect-ratio: 1305/608;
  margin-top: 4rem;
  overflow: hidden;
  background: #373742;
  clip-path: polygon(1.5rem 0, 100% 0, 100% calc(100% - 1.5rem), calc(100% - 1.5rem) 100%, 0 100%, 0 1.5rem);
}
@media (min-width: 1025px) {
  .itep-client-speaks-section__media {
    opacity: 0;
    transform: translateY(2rem);
    will-change: transform, opacity;
  }
  .itep-client-speaks-section__media.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}
@media (min-width: 1025px) {
  .itep-client-speaks-section__media.is-visible {
    transition-delay: 0.16s;
  }
}
.itep-client-speaks-section__media-item {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border: 0;
}
@media (max-width: 1024px) {
  .itep-client-speaks-section__heading {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(1.75rem, 12px);
    line-height: 1.3571428571;
    letter-spacing: 0;
  }
  .itep-client-speaks-section__intro {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(0.875rem, 12px);
    line-height: 1.5714285714;
    letter-spacing: 0;
    max-width: 100%;
    margin-top: 1rem;
  }
  .itep-client-speaks-section__media {
    margin-top: 2rem;
    clip-path: polygon(0.75rem 0, 100% 0, 100% calc(100% - 0.75rem), calc(100% - 0.75rem) 100%, 0 100%, 0 0.75rem);
  }
}

.itep-partners-section {
  position: relative;
  background: #fff9ed;
  padding: clamp(3rem, 9.2592592593vw, 10rem) 0;
}
.itep-partners-section__container {
  width: 100%;
  max-width: 89.375rem;
  margin: 0 auto;
  padding: 0 1.25rem;
}
.itep-partners-section__heading {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(3rem, 12px);
  line-height: 1.0833333333;
  letter-spacing: -0.04em;
  font-weight: 300;
  color: #373742;
  margin: 0;
}
@media (min-width: 1025px) {
  .itep-partners-section__heading {
    opacity: 0;
    transform: translateY(2rem);
    will-change: transform, opacity;
  }
  .itep-partners-section__heading.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}
.itep-partners-section__heading-accent {
  color: #ea1b3d;
}
.itep-partners-section__logos {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  height: 7.75rem;
  margin: 4.5rem 0 0;
  padding: 0;
  list-style: none;
  background: #fff9ed;
}
@media (min-width: 1025px) {
  .itep-partners-section__logos {
    opacity: 0;
    transform: translateY(2rem);
    will-change: transform, opacity;
  }
  .itep-partners-section__logos.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}
.itep-partners-section__logo-item {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
}
.itep-partners-section__logo {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.itep-partners-section__logo-item:nth-child(1) .itep-partners-section__logo {
  width: 6rem;
}
.itep-partners-section__logo-item:nth-child(2) .itep-partners-section__logo {
  width: 10.375rem;
}
.itep-partners-section__logo-item:nth-child(3) .itep-partners-section__logo {
  width: 12.125rem;
}
.itep-partners-section__logo-item:nth-child(4) .itep-partners-section__logo {
  width: 7.0625rem;
}
.itep-partners-section__logo-item:nth-child(5) .itep-partners-section__logo {
  width: 11.125rem;
}
.itep-partners-section__logo-item:nth-child(6) .itep-partners-section__logo {
  width: 11.4375rem;
}
@media (max-width: 1024px) {
  .itep-partners-section__heading {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(1.75rem, 12px);
    line-height: 1.3571428571;
    letter-spacing: 0;
  }
  .itep-partners-section__logos {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem 1.5rem;
    height: auto;
    margin-top: 2rem;
    padding: 2rem 1.25rem;
  }
}
@media (max-width: 576px) {
  .itep-partners-section__logos {
    grid-template-columns: repeat(2, 1fr);
  }
}

.itep-training-section {
  position: relative;
  background: #fff9ed;
  padding: clamp(3rem, 8.6805555556vw, 9.375rem) 0;
}
.itep-training-section__container {
  width: 100%;
  max-width: 89.375rem;
  margin: 0 auto;
  padding: 0 1.25rem;
}
.itep-training-section__card {
  background: #ffefd1;
  padding: clamp(2.5rem, 7.2337962963vw, 7.8125rem) clamp(1.5rem, 9.6643518519vw, 10.4375rem);
  clip-path: polygon(1.25rem 0, 100% 0, 100% calc(100% - 1.25rem), calc(100% - 1.25rem) 100%, 0 100%, 0 1.25rem);
}
@media (min-width: 1025px) {
  .itep-training-section__card {
    opacity: 0;
    transform: translateY(2rem);
    will-change: transform, opacity;
  }
  .itep-training-section__card.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}
.itep-training-section__title {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(3rem, 12px);
  line-height: 1.3333333333;
  letter-spacing: 0;
  font-weight: 300;
  color: #373742;
  margin: 0;
}
.itep-training-section__title-accent {
  color: #ea1b3d;
}
.itep-training-section__lead {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 250;
  font-size: max(1.5rem, 12px);
  line-height: 1.6666666667;
  letter-spacing: 0;
  color: #373742;
  margin: 4.5rem 0 0;
}
.itep-training-section__divider {
  height: 1px;
  margin: 2rem 0;
  border: 0;
  background: #ffd0d8;
}
.itep-training-section__body {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.125rem, 12px);
  line-height: 1.6666666667;
  letter-spacing: 0;
  color: #373742;
  margin: 0;
}
.itep-training-section__cta {
  margin-top: 4.5rem;
}
@media (max-width: 1024px) {
  .itep-training-section__card {
    padding: 2rem 1.5rem;
    clip-path: polygon(0.75rem 0, 100% 0, 100% calc(100% - 0.75rem), calc(100% - 0.75rem) 100%, 0 100%, 0 0.75rem);
  }
  .itep-training-section__title {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(1.75rem, 12px);
    line-height: 1.3571428571;
    letter-spacing: 0;
  }
  .itep-training-section__lead {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(1rem, 12px);
    line-height: 1.625;
    letter-spacing: 0;
    margin-top: 1.5rem;
  }
  .itep-training-section__divider {
    margin: 1.5rem 0;
  }
  .itep-training-section__body {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(0.875rem, 12px);
    line-height: 1.5714285714;
    letter-spacing: 0;
  }
  .itep-training-section__cta {
    margin-top: 2rem;
  }
}

.itep-notes-section {
  position: relative;
  background: #fff9ed;
  padding: clamp(3rem, 8.6805555556vw, 9.375rem) 0;
}
.itep-notes-section__container {
  display: grid;
  grid-template-columns: minmax(0, 365fr) minmax(0, 632fr);
  grid-template-rows: auto 1fr;
  -moz-column-gap: clamp(2.5rem, 20%, 17.375rem);
       column-gap: clamp(2.5rem, 20%, 17.375rem);
  width: 100%;
  max-width: 89.375rem;
  margin: 0 auto;
  padding: 0 1.25rem;
}
.itep-notes-section__heading {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(3rem, 12px);
  line-height: 1.0833333333;
  letter-spacing: -0.04em;
  grid-column: 1;
  grid-row: 1;
  font-weight: 300;
  color: #373742;
  margin: 0;
}
@media (min-width: 1025px) {
  .itep-notes-section__heading {
    opacity: 0;
    transform: translateY(2rem);
    will-change: transform, opacity;
  }
  .itep-notes-section__heading.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}
.itep-notes-section__heading-accent {
  color: #ea1b3d;
}
.itep-notes-section__contact {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.25rem, 12px);
  line-height: 1.7;
  letter-spacing: 0;
  grid-column: 1;
  grid-row: 2;
  align-self: end;
  color: #676775;
  margin: 2.5rem 0 0;
}
@media (min-width: 1025px) {
  .itep-notes-section__contact {
    opacity: 0;
    transform: translateY(2rem);
    will-change: transform, opacity;
  }
  .itep-notes-section__contact.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}
.itep-notes-section__contact strong {
  font-weight: 400;
}
.itep-notes-section__contact-link {
  color: #ea1b3d;
  text-decoration: none;
}
.itep-notes-section__contact-link:hover, .itep-notes-section__contact-link:focus-visible {
  text-decoration: underline;
}
.itep-notes-section__notes {
  grid-column: 2;
  grid-row: 1/span 2;
}
.itep-notes-section__notes-title {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.75rem, 12px);
  line-height: 1.3571428571;
  letter-spacing: 0;
  color: #373742;
  margin: 0;
}
@media (min-width: 1025px) {
  .itep-notes-section__notes-title {
    opacity: 0;
    transform: translateY(2rem);
    will-change: transform, opacity;
  }
  .itep-notes-section__notes-title.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}
.itep-notes-section__list {
  display: flex;
  flex-direction: column;
  gap: 2.625rem;
  margin: 3.5rem 0 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 1025px) {
  .itep-notes-section__list {
    opacity: 0;
    transform: translateY(2rem);
    will-change: transform, opacity;
  }
  .itep-notes-section__list.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}
@media (min-width: 1025px) {
  .itep-notes-section__list.is-visible {
    transition-delay: 0.08s;
  }
}
.itep-notes-section__item {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.125rem, 12px);
  line-height: 1.6666666667;
  letter-spacing: 0;
  display: flex;
  gap: 1.875rem;
  color: #676775;
}
.itep-notes-section__marker {
  flex-shrink: 0;
  width: 0.875rem;
  height: 0.875rem;
  margin-top: 0.5rem;
  background: #ffd0d8;
}
@media (max-width: 1024px) {
  .itep-notes-section__container {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: none;
    row-gap: 2rem;
  }
  .itep-notes-section__heading, .itep-notes-section__contact, .itep-notes-section__notes {
    grid-column: 1;
    grid-row: auto;
  }
  .itep-notes-section__heading {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(1.75rem, 12px);
    line-height: 1.3571428571;
    letter-spacing: 0;
    order: 1;
  }
  .itep-notes-section__notes {
    order: 2;
  }
  .itep-notes-section__contact {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(1rem, 12px);
    line-height: 1.625;
    letter-spacing: 0;
    order: 3;
    align-self: start;
    margin-top: 0;
  }
  .itep-notes-section__notes-title {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 400;
    font-size: max(1.25rem, 12px);
    line-height: 1.4;
    letter-spacing: 0;
  }
  .itep-notes-section__list {
    gap: 1.5rem;
    margin-top: 1.5rem;
  }
  .itep-notes-section__item {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(0.875rem, 12px);
    line-height: 1.5714285714;
    letter-spacing: 0;
    gap: 1rem;
  }
  .itep-notes-section__marker {
    width: 0.75rem;
    height: 0.75rem;
    margin-top: 0.3125rem;
  }
}

.tech-project-types-section {
  position: relative;
  background: #2f2f39;
  padding-block: clamp(48px, 6.37vw, 110px);
  padding-inline: clamp(28px, 3.47vw, 60px);
  overflow: clip;
}

.tech-project-types-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: url(../static/assets/images/latest/grain-tile.png);
  background-repeat: repeat;
  pointer-events: none;
}

.tech-project-types-section__container {
  position: relative;
  z-index: 1;
  margin-inline: auto;
}

.tech-project-types-section__content {
  display: flex;
  align-items: flex-start;
  gap: clamp(40px, 5.79vw, 100px);
}

@media (max-width: 1400px) {
  .tech-project-types-section {
    padding-inline: clamp(20px, 2.31vw, 40px);
  }
}
.tech-project-types-section__head {
  flex: 0 0 clamp(260px, 27.78vw, 480px);
}

.tech-project-types-section__title {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(3rem, 12px);
  line-height: 1.3333333333;
  letter-spacing: 0;
  margin: 0;
  color: #fff;
}

.tech-project-types-section__title-line {
  display: block;
}

.tech-project-types-section__title-line--accent {
  color: #ea1b3d;
}

.tech-project-types-section__card {
  position: relative;
  flex: 1 1 auto;
  min-width: 0;
  background: #373742;
  padding: clamp(24px, 2.78vw, 48px) clamp(20px, 4.63vw, 80px);
  clip-path: polygon(24px 0, 100% 0, 100% calc(100% - 24px), calc(100% - 24px) 100%, 0 100%, 0 24px);
}

.tech-project-types-section__card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: url(../static/assets/images/latest/grain-tile.png);
  background-repeat: repeat;
  pointer-events: none;
}

.tech-project-types-section__list {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
}

.tech-project-types-section__item {
  display: flex;
  align-items: flex-start;
  gap: clamp(12px, 0.93vw, 18px);
  padding-block: clamp(16px, 2.08vw, 36px);
  padding-inline-end: clamp(16px, 2.31vw, 40px);
}

.tech-project-types-section__item:nth-child(n+3) {
  border-top: 1px solid rgba(120, 120, 120, 0.2);
}

.tech-project-types-section__marker {
  flex: none;
  width: 0.875rem;
  height: 0.875rem;
  margin-top: 0.625rem;
  background: #ffd0d8;
}

.tech-project-types-section__label {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.25rem, 12px);
  line-height: 1.7;
  letter-spacing: 0;
  color: #e6e6ed;
}

@media (max-width: 1024px) {
  .tech-project-types-section {
    padding-block: clamp(48px, 12vw, 72px);
    padding-inline: 1.25rem;
  }

  .tech-project-types-section__content {
    flex-direction: column;
    gap: 1.5rem;
  }

  .tech-project-types-section__head {
    flex: 0 0 auto;
  }

  .tech-project-types-section__title {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 250;
    font-size: max(2rem, 12px);
    line-height: 1.1875;
    letter-spacing: -0.04em;
    font-weight: 300;
  }

  .tech-project-types-section__card {
    width: 100%;
    padding: 0.5rem 1.25rem;
    clip-path: polygon(16px 0, 100% 0, 100% calc(100% - 16px), calc(100% - 16px) 100%, 0 100%, 0 16px);
  }

  .tech-project-types-section__list {
    grid-template-columns: minmax(0, 1fr);
  }

  .tech-project-types-section__item {
    padding-inline-end: 0;
  }

  .tech-project-types-section__item:nth-child(n+3) {
    border-top: 0;
  }

  .tech-project-types-section__item:nth-child(n+2) {
    border-top: 1px solid rgba(120, 120, 120, 0.2);
  }

  .tech-project-types-section__label {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(1rem, 12px);
    line-height: 1.625;
    letter-spacing: 0;
    color: #e6e6ed;
  }

  .tech-project-types-section__marker {
    width: 0.625rem;
    height: 0.625rem;
    margin-top: 0.5rem;
  }
}
.ts-testimonial-section {
  position: relative;
  overflow: hidden;
  background: #aa142d;
  width: min(65.625rem, 100%);
  margin-inline: auto;
  padding-block: 11.75rem;
  padding-inline: var(--gutter);
}

.ts-testimonial-section::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url(../static/assets/images/latest/grain-tile.png);
  background-repeat: repeat;
  mix-blend-mode: normal;
  opacity: 1;
  pointer-events: none;
  z-index: 1;
}

.ts-testimonial-section__inner {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.5rem;
  text-align: center;
}

.ts-testimonial-section__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3.75rem;
  max-width: 42.125rem;
}

.ts-testimonial-section__quote-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.5rem;
}

.ts-testimonial-section__logo-badge {
  position: relative;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 12.1875rem;
  height: 7.5rem;
  padding: 0.625rem;
  background: #fff;
}

.ts-testimonial-section__logo-badge::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -0.9375rem;
  width: 0;
  height: 0;
  margin-left: -1.25rem;
  border-left: 1.25rem solid transparent;
  border-right: 1.25rem solid transparent;
  border-top: 1.4375rem solid #fff;
  pointer-events: none;
}

.ts-testimonial-section__logo {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.ts-testimonial-section__quote {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(3rem, 12px);
  line-height: 1.3333333333;
  letter-spacing: 0;
  color: #fff;
  margin: 0;
}

.ts-testimonial-section__divider {
  width: 9.4375rem;
  height: 0.375rem;
  background: #ea1b3d;
  border: none;
}

.ts-testimonial-section__cite {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.ts-testimonial-section__cite-name {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 500;
  font-size: 2rem;
  line-height: 3rem;
  color: #fff;
  margin: 0;
}

.ts-testimonial-section__cite-company {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: 1.5rem;
  line-height: 2.25rem;
  color: #fff;
  margin: 0;
}

@media (max-width: 1024px) {
  .ts-testimonial-section {
    padding-block: 4rem;
    padding-inline: 1.875rem;
  }

  .ts-testimonial-section__content, .ts-testimonial-section__quote-wrap {
    gap: 1.5rem;
  }

  .ts-testimonial-section__logo-badge {
    width: 8.75rem;
    height: 5.375rem;
    padding: 0.5rem;
  }

  .ts-testimonial-section__logo-badge::after {
    bottom: -0.6875rem;
    margin-left: -0.875rem;
    border-left-width: 0.875rem;
    border-right-width: 0.875rem;
    border-top-width: 1rem;
  }

  .ts-testimonial-section__quote {
    font-weight: 400;
    font-size: 1.5rem;
    line-height: 2rem;
  }

  .ts-testimonial-section__cite-name {
    font-size: 1.125rem;
    line-height: 2.5rem;
    font-weight: 500;
  }

  .ts-testimonial-section__cite-company {
    font-size: 0.875rem;
    line-height: 1.75rem;
    font-weight: 300;
  }
}
.sn-hero-section {
  background: #fff9ed;
  position: relative;
}

.sn-hero-section__pin {
  position: sticky;
  top: 0;
  height: 100vh;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4.6875rem;
  padding: 0 5rem;
  will-change: transform;
}

.sn-hero-section__badges {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(2.5rem, 6.08vw, 6.5625rem);
  flex-shrink: 0;
  will-change: transform;
  animation: sn-badges-in 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
  z-index: 3;
}

.sn-hero-section__badge {
  --sn-badge-box: 16rem;
  width: auto;
  height: auto;
  max-width: calc(var(--sn-badge-box) * 1.625);
  max-height: var(--sn-badge-box);
  -o-object-fit: contain;
     object-fit: contain;
  transition: filter 0.4s ease;
}

.sn-hero-section__heading {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-size: 4.5rem;
  font-weight: 250;
  line-height: 1.22;
  letter-spacing: -0.04em;
  color: #373742;
  text-align: center;
  will-change: transform, opacity;
  animation: sn-heading-in 0.9s 0.15s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
  position: relative;
  z-index: 2;
}

.sn-hero-section__highlight {
  background: linear-gradient(90deg, #284cba 0%, #ea1b3d 72.87%);
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
          background-clip: text;
  padding-right: 2px;
}

@media (min-width: 1025px) {
  .sn-hero-section {
    min-height: 250vh;
  }

  .sn-hero-section__heading {
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
  }
}
@media (min-width: 1025px) and (max-width: 1440px), (min-width: 1025px) and (max-height: 900px) {
  .sn-hero-section__pin {
    gap: clamp(1.5rem, 3vh, 3rem);
    padding-top: 7.5rem;
  }

  .sn-hero-section__badge {
    --sn-badge-box: 13rem;
  }

  .sn-hero-section__heading {
    font-size: 3.75rem;
  }
}
.sn-hero-section__line {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  white-space: nowrap;
}

@media (max-width: 1024px) {
  .sn-hero-section__line {
    white-space: normal;
    width: auto;
  }
}
@media (max-width: 1024px) {
  .sn-hero-section {
    min-height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 140px 48px 80px;
  }

  .sn-hero-section__pin {
    position: static;
    height: auto;
    padding: 0;
    overflow: visible;
    transform: none !important;
    gap: clamp(40px, 6.25vw, 64px);
  }

  .sn-hero-section__badges {
    gap: clamp(24px, 3.91vw, 40px);
    transform: none !important;
  }

  .sn-hero-section__badge {
    transform: none !important;
  }

  .sn-hero-section__heading {
    font-size: clamp(3.5rem, 3.8vw, 4.5rem);
    text-align: center !important;
    transform: none !important;
    opacity: 1 !important;
  }
}
@media (max-width: 1024px) {
  .sn-hero-section {
    padding: 140px 20px 48px;
    min-height: auto;
  }

  .sn-hero-section__pin {
    gap: 32px;
  }

  .sn-hero-section__badges {
    gap: 12px;
    width: 100%;
    flex-wrap: nowrap;
  }

  .sn-hero-section__badge {
    flex: 0 1 auto;
    min-width: 0;
    width: auto !important;
    height: auto !important;
    max-width: 100%;
    max-height: 10rem;
  }

  .sn-hero-section__heading {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(3rem, 12px);
    line-height: 1.3333333333;
    letter-spacing: 0;
    line-height: 52px;
    text-align: left !important;
  }

  .sn-hero-section__highlight {
    color: inherit;
  }

  .sn-hero-section__subtext {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(1.125rem, 12px);
    line-height: 1.6666666667;
    letter-spacing: 0;
    color: #373742;
    text-align: left;
  }
}
@keyframes sn-badges-in {
  from {
    opacity: 0;
    translate: 0 -32px;
  }
  to {
    opacity: 1;
    translate: 0 0;
  }
}
@keyframes sn-heading-in {
  from {
    opacity: 0;
    translate: 0 32px;
  }
  to {
    opacity: 1;
    translate: 0 0;
  }
}
html:has(.tsd-discovery-section) {
  scroll-behavior: auto !important;
  overflow-x: clip;
  height: auto;
  min-height: 100%;
}

html:has(.tsd-discovery-section) body {
  overflow-x: clip;
  height: auto;
  min-height: 100%;
}

.tsd-discovery-section {
  background: #fff9ed;
  position: relative;
  z-index: 1;
}

.tsd-discovery-section__pin {
  padding-block: 7.5rem;
  background: #fff9ed;
}

.tsd-discovery-section__inner {
  --tsd-discovery-inset-left: clamp(
    40px,
    calc((100% - var(--container-width-padd)) / 2 + 40px),
    60px
  );
  --tsd-discovery-inset-right: clamp(
    40px,
    calc((100% - var(--container-width-padd)) / 2 + 40px),
    80px
  );
  width: 100%;
  padding-left: var(--tsd-discovery-inset-left);
  padding-right: var(--tsd-discovery-inset-right);
}

.tsd-discovery-section__heading {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(3rem, 12px);
  line-height: 1.0833333333;
  letter-spacing: -0.04em;
  font-weight: 300;
  color: #373742;
  margin: 0;
}

.tsd-discovery-section__heading-accent {
  color: #ea1b3d;
}

.tsd-discovery-section__divider {
  position: relative;
  height: 0.0625rem;
  margin-block: 3rem 3.5rem;
  margin-left: calc(-1 * var(--tsd-discovery-inset-left));
  margin-right: calc(-1 * var(--tsd-discovery-inset-right));
  background: #ffd0d8;
  overflow: hidden;
}

.tsd-discovery-section__divider-fill {
  position: absolute;
  inset: 0;
  transform: scaleX(var(--tsd-discovery-progress, 1));
  transform-origin: left center;
  will-change: transform;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  background: linear-gradient(-90deg, #ea1b3d 0%, #ea1b3d 19%, rgba(234, 27, 61, 0.15) 100%);
}

.tsd-discovery-section__step {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.4fr);
  gap: 4rem;
  align-items: start;
}

.tsd-discovery-section__step + .tsd-discovery-section__step {
  margin-top: 6rem;
}

.tsd-discovery-section__counter {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.75rem, 12px);
  line-height: 1.3571428571;
  letter-spacing: 0;
  color: #676775;
  margin: 0.5rem 0 0;
  letter-spacing: 0.125rem;
}

.tsd-discovery-section__step-content {
  max-width: 52.625rem;
}

.tsd-discovery-section__step-title {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.75rem, 12px);
  line-height: 1.3571428571;
  letter-spacing: 0;
  color: #000;
  margin: 0 0 2rem;
}

.tsd-discovery-section__step-subtitle {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: 1.25rem;
  line-height: 1.75rem;
  letter-spacing: 0;
  color: #2f2f39;
  margin: 0 0 1rem;
}

.tsd-discovery-section__step-content .tsd-discovery-section__step-subtitle ~ .tsd-discovery-section__step-subtitle {
  margin-top: 1.5rem;
}

.tsd-discovery-section__list {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: 1.25rem;
  line-height: 1.75rem;
  letter-spacing: 0;
  color: #676775;
  margin: 0;
  padding-left: 1.375rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.tsd-discovery-section__list li::marker {
  color: #676775;
  font-size: 0.875rem;
}

.tsd-discovery-section__link {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 2.5rem;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 500;
  font-size: max(1rem, 12px);
  line-height: 1.625;
  letter-spacing: 0;
  text-transform: uppercase;
  text-transform: uppercase;
  color: #ea1b3d;
  text-decoration: none;
}

.tsd-discovery-section__link:hover .tsd-discovery-section__link-arrow {
  transform: translate3d(4px, 0, 0);
}

.tsd-discovery-section__link:focus-visible {
  outline: 2px solid #ea1b3d;
  outline-offset: 4px;
}

.tsd-discovery-section__link-text {
  text-decoration: underline;
  text-underline-offset: 5px;
  text-decoration-thickness: 1px;
}

.tsd-discovery-section__link-arrow {
  flex: none;
  fill: currentcolor;
  transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.tsd-discovery-section__outcome {
  background: #ffefd1;
  border: 0.015625rem solid #373742;
  box-shadow: 0.25rem 0.25rem 0 0 #ffd0d8;
  padding: 1.5rem;
  margin-top: 2rem;
}

.tsd-discovery-section__outcome-title {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: 1.25rem;
  line-height: 1.75rem;
  letter-spacing: 0;
  color: #2f2f39;
  margin: 0 0 1.5rem;
}

.tsd-discovery-section__outcome-text {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: 1.25rem;
  line-height: 1.75rem;
  letter-spacing: 0;
  color: #676775;
  margin: 0;
}

@media (min-width: 1025px) {
  .tsd-discovery-section--enhanced .tsd-discovery-section__pin {
    min-height: 100vh;
    display: flex;
    align-items: flex-start;
  }

  .tsd-discovery-section--enhanced .tsd-discovery-section__pin > * {
    width: 100%;
  }

  .tsd-discovery-section--enhanced .tsd-discovery-section__steps {
    display: grid;
    isolation: isolate;
  }

  .tsd-discovery-section--enhanced .tsd-discovery-section__step {
    grid-area: 1/1;
    opacity: 0;
    visibility: hidden;
    z-index: 0;
    pointer-events: none;
    will-change: opacity;
    transition: opacity 0.2s ease, visibility 0s linear 0.2s;
  }

  .tsd-discovery-section--enhanced .tsd-discovery-section__step + .tsd-discovery-section__step {
    margin-top: 0;
  }

  .tsd-discovery-section--enhanced .tsd-discovery-section__step.is-active {
    opacity: 1;
    visibility: visible;
    z-index: 1;
    pointer-events: auto;
    transition: opacity 0.3s ease 0.2s, visibility 0s linear 0s;
  }
}
@media (max-width: 1024px) {
  .tsd-discovery-section__pin {
    padding-block: 3rem;
  }

  .tsd-discovery-section__inner {
    --tsd-discovery-inset-left: 20px;
    --tsd-discovery-inset-right: 20px;
  }

  .tsd-discovery-section__heading {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 250;
    font-size: max(2rem, 12px);
    line-height: 1.1875;
    letter-spacing: -0.04em;
  }

  .tsd-discovery-section__divider {
    margin-block: 1.5rem;
  }

  .tsd-discovery-section__steps {
    display: flex;
    align-items: flex-start;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    gap: 1.5rem;
    margin-inline: -1.25rem;
    padding-inline: 1.25rem;
  }

  .tsd-discovery-section__steps::-webkit-scrollbar {
    display: none;
  }

  .tsd-discovery-section__step {
    grid-template-columns: 1fr;
    align-content: start;
    gap: 1.5rem;
    flex: 0 0 100%;
    scroll-snap-align: center;
  }

  .tsd-discovery-section__step + .tsd-discovery-section__step {
    margin-top: 0;
  }

  .tsd-discovery-section__step-content {
    max-width: none;
  }

  .tsd-discovery-section__counter {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 600;
    font-size: max(1.125rem, 12px);
    line-height: 1.6666666667;
    letter-spacing: 0;
    color: #a7a7b0;
  }

  .tsd-discovery-section__counter-current {
    color: #ea1b3d;
  }

  .tsd-discovery-section__step-title {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 500;
    font-size: max(1.5rem, 12px);
    line-height: 1.4166666667;
    letter-spacing: -0.04em;
    margin-bottom: 2rem;
  }

  .tsd-discovery-section__step-subtitle {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 600;
    font-size: max(1rem, 12px);
    line-height: 1.625;
    letter-spacing: 0;
  }

  .tsd-discovery-section__list {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(1rem, 12px);
    line-height: 1.625;
    letter-spacing: 0;
  }

  .tsd-discovery-section__list li::marker {
    font-size: 0.75rem;
  }

  .tsd-discovery-section__outcome {
    padding: 1.5rem;
  }

  .tsd-discovery-section__outcome-title {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 600;
    font-size: max(0.875rem, 12px);
    line-height: 1.5714285714;
    letter-spacing: 0;
    margin: 0 0 1rem;
  }

  .tsd-discovery-section__outcome-text {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(1rem, 12px);
    line-height: 1.625;
    letter-spacing: 0;
  }
}
:root {
  --bg-primary: #fff9ed;
  --text-primary: #373742;
  --text-secondary: #676775;
  --text-disabled: #a7a7b0;
  --text-gray: #676775;
  --accent-red: #ea1b3d;
  --accent-peach: #ffd0d8;
  --border-color: rgba(103, 103, 117, 0.15);
  --font-primary: Lexend, -apple-system, blinkmacsystemfont, Segoe UI, roboto, sans-serif;
  --transition-smooth: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  --transition-slow: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  --container-width: 93.5rem;
  --container-width-padd: 101rem;
  --gutter: 60px;
}

*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

html {
  font-size: clamp(14px, 0.9259259259vw, 16px);
}

@media (max-width: 1024px) {
  html {
    font-size: 100%;
  }
}
html.scroll-locked,
html.scroll-locked .main-header {
  padding-right: var(--scrollbar-comp, 0);
}

html.scroll-locked .header-container .mega-menu {
  scrollbar-gutter: stable;
}

html,
body {
  width: 100%;
  height: 100%;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  background-color: #fff9ed;
  color: #373742;
  line-height: 1.6;
}

::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: #fff9ed;
}

::-webkit-scrollbar-thumb {
  background: #a7a7b0;
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: #676775;
}

a {
  color: inherit;
  text-decoration: none;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

button,
input,
textarea,
select {
  font-family: inherit;
}

@media (min-width: 769px) {
  .ib-mobile-only {
    display: none !important;
  }
}
@media (max-width: 768px), (min-width: 1025px) {
  .ib-tablet-only {
    display: none !important;
  }
}
@media (min-width: 1025px) {
  .ib-mobile-tablet-only {
    display: none !important;
  }
}
@media (max-width: 1024px) {
  .ib-desktop-only {
    display: none !important;
  }
}
@media (max-width: 1024px) and (prefers-reduced-motion: no-preference) {
  .ib-m-reveal {
    opacity: 0;
    transform: translate3d(0, 24px, 0);
    transition: opacity 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition-delay: var(--ib-m-reveal-delay, 0s);
    will-change: transform, opacity;
  }

  .ib-m-reveal.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
@keyframes ib-arrow-slide {
  0% {
    transform: translateX(0);
    opacity: 1;
  }
  45% {
    transform: translateX(7px);
    opacity: 0;
  }
  46% {
    transform: translateX(-5px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
.ib-btn {
  --_bg: #ea1b3d;
  --_bg-press: #aa142d;
  --_color: #fff;
  --_border: transparent;
  --_shadow: #ffd0d8;
  position: relative;
  isolation: isolate;
  display: inline-flex;
  align-items: stretch;
  height: 48px;
  padding: 0;
  font-family: var(--font-heading);
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  background: transparent;
  border: none;
  outline: none;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.ib-btn[hidden] {
  display: none;
}

.ib-btn::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--_shadow);
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
  opacity: 0;
  transform: translate(0, 0);
  transition: opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1), transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
}

.ib-btn__inner {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  padding: 0 22px;
  color: var(--_color);
  background: var(--_bg);
  line-height: 26px;
  letter-spacing: 0;
  text-align: center;
  text-transform: uppercase;
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
  transition: background 0.25s cubic-bezier(0.16, 1, 0.3, 1), color 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ib-btn__inner::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--_border);
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px, 10px 0, 10px 1.5px, 1.5px 10px, 1.5px calc(100% - 1.5px), calc(100% - 10px) calc(100% - 1.5px), calc(100% - 1.5px) calc(100% - 10px), calc(100% - 1.5px) 1.5px, 10px 1.5px);
  pointer-events: none;
  transition: background 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ib-btn__arrow {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ib-btn__arrow svg, .ib-btn__arrow.ib-icon {
  width: 14px;
  height: 14px;
}

.ib-btn:hover:not(:disabled, [aria-disabled=true])::after {
  opacity: 1;
  transform: translate(4px, 4px);
}

.ib-btn:focus-visible .ib-btn__inner {
  background: var(--_bg-press);
}

.ib-btn:active:not(:disabled) .ib-btn__inner {
  background: var(--_bg-press);
}

.ib-btn:disabled, .ib-btn[aria-disabled=true] {
  --_bg: #a7a7b0;
  --_border: #a7a7b0;
  --_color: #fff;
  cursor: not-allowed;
  pointer-events: none;
}

.ib-btn--primary {
  --_bg: #ea1b3d;
  --_bg-press: #aa142d;
  --_color: #fff;
  --_border: transparent;
  --_shadow: #ffd0d8;
}

.ib-btn--primary-light {
  --_bg: #fff9ed;
  --_bg-press: #ffefd1;
  --_color: #676775;
  --_border: transparent;
  --_shadow: #ffd0d8;
}

.ib-btn--primary-light:disabled, .ib-btn--primary-light[aria-disabled=true] {
  --_bg: #a7a7b0;
  --_color: #fff;
}

.ib-btn--secondary {
  --_bg: transparent;
  --_bg-press: transparent;
  --_color: #ea1b3d;
  --_border: #ea1b3d;
  --_shadow: #ffd0d8;
}

.ib-btn--secondary:focus-visible {
  --_border: #aa142d;
  --_color: #aa142d;
}

.ib-btn--secondary:active:not(:disabled) {
  --_border: #aa142d;
  --_color: #aa142d;
}

.ib-btn--secondary:disabled, .ib-btn--secondary[aria-disabled=true] {
  --_bg: transparent;
  --_color: #a7a7b0;
  --_border: #a7a7b0;
}

.ib-btn--secondary-light {
  --_bg: transparent;
  --_bg-press: transparent;
  --_color: #fff;
  --_border: #fff;
  --_shadow: #ffd0d8;
}

.ib-btn--secondary-light:hover:not(:disabled, [aria-disabled=true]) {
  --_bg: #ea1b3d;
  --_border: transparent;
}

.ib-btn--secondary-light:disabled, .ib-btn--secondary-light[aria-disabled=true] {
  --_bg: transparent;
  --_color: #a7a7b0;
  --_border: #a7a7b0;
}

.ib-btn--ghost {
  --_color: #ea1b3d;
  height: auto;
}

.ib-btn--ghost::after {
  display: none;
}

.ib-btn--ghost .ib-btn__inner {
  padding: 2px 0;
  height: auto;
  background: transparent;
  clip-path: none;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1.5px;
  -webkit-text-decoration-color: currentcolor;
          text-decoration-color: currentcolor;
  transition: color 0.25s cubic-bezier(0.16, 1, 0.3, 1), -webkit-text-decoration-color 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  transition: color 0.25s cubic-bezier(0.16, 1, 0.3, 1), text-decoration-color 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  transition: color 0.25s cubic-bezier(0.16, 1, 0.3, 1), text-decoration-color 0.25s cubic-bezier(0.16, 1, 0.3, 1), -webkit-text-decoration-color 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ib-btn--ghost .ib-btn__inner::before {
  display: none;
}

.ib-btn--ghost:focus-visible, .ib-btn--ghost:active:not(:disabled) {
  --_color: #aa142d;
}

.ib-btn--ghost:focus-visible .ib-btn__inner, .ib-btn--ghost:active:not(:disabled) .ib-btn__inner {
  background: transparent !important;
}

.ib-btn--ghost:disabled, .ib-btn--ghost[aria-disabled=true] {
  --_color: #a7a7b0;
  pointer-events: none;
}

.ib-btn--bare {
  --_bg: transparent;
  --_bg-press: transparent;
  --_color: #373742;
  --_border: transparent;
  --_shadow: transparent;
}

.ib-btn--bare::after {
  display: none;
}

.ib-btn--bare .ib-btn__inner {
  background: transparent;
  clip-path: none;
  transition: color 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ib-btn--bare .ib-btn__inner::before {
  display: none;
}

.ib-btn--bare .ib-icon,
.ib-btn--bare .ib-btn__arrow {
  color: var(--_color);
}

.ib-btn--bare:focus-visible .ib-btn__inner, .ib-btn--bare:active:not(:disabled) .ib-btn__inner {
  background: transparent;
}

.ib-btn--bare:disabled, .ib-btn--bare[aria-disabled=true] {
  --_bg: transparent;
  --_border: transparent;
  --_color: #a7a7b0;
}

.ib-btn--with-icon:hover:not(:disabled, [aria-disabled=true]) .ib-btn__arrow {
  animation: ib-arrow-slide 0.7s cubic-bezier(0.16, 1, 0.3, 1) infinite;
}

.ib-btn--icon-only {
  width: 48px;
}

.ib-btn--icon-only .ib-btn__inner {
  padding: 0;
}

.ib-btn--icon-only:hover:not(:disabled, [aria-disabled=true]) .ib-btn__arrow {
  animation: ib-arrow-slide 0.7s cubic-bezier(0.16, 1, 0.3, 1) infinite;
}

@media (max-width: 1024px) {
  .ib-btn {
    height: 44px;
    font-size: 15px;
  }

  .ib-btn__inner {
    padding: 0 18px;
  }

  .ib-btn__arrow svg, .ib-btn__arrow.ib-icon {
    width: 13px;
    height: 13px;
  }

  .ib-btn--icon-only {
    width: 44px;
  }

  .ib-btn--icon-only .ib-btn__inner {
    padding: 0;
  }
}
.bl-hero-section {
  background: #fff9ed;
  padding-block: 15.5rem 5.375rem;
}

.bl-hero-section__container {
  max-width: var(--container-width-padd);
  width: 100%;
  padding-inline: var(--gutter);
  margin-inline: auto;
}

.bl-hero-section__heading {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 250;
  font-size: max(4.5rem, 12px);
  line-height: 1.2222222222;
  letter-spacing: -0.04em;
  color: #373742;
  text-align: center;
  max-width: 70.625rem;
  margin: 0 auto;
}

.bl-hero-section__heading-accent {
  background: linear-gradient(90deg, #284cba 0%, #ea1b3d 72.87%);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
}

.bl-hero-section__form {
  margin: 2.875rem auto 0;
  width: 26.625rem;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}

.bl-hero-section__form-title {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 250;
  font-size: max(1.5rem, 12px);
  line-height: 1.6666666667;
  letter-spacing: 0;
  color: #2f2f39;
  margin: 0;
  text-align: center;
}

.bl-hero-section__form-row {
  display: flex;
  gap: 0.5rem;
  width: 100%;
}

.bl-hero-section__input {
  flex: 1 1 auto;
  min-width: 0;
  height: 3rem;
  padding: 0.625rem 1rem;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid #a7a7b0;
  border-radius: 0;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 600;
  font-size: max(0.875rem, 12px);
  line-height: 1.571;
  color: #373742;
}

.bl-hero-section__input::-moz-placeholder {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 600;
  font-size: max(0.875rem, 12px);
  line-height: 1.5714285714;
  letter-spacing: 0;
  color: #676775;
}

.bl-hero-section__input::placeholder {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 600;
  font-size: max(0.875rem, 12px);
  line-height: 1.5714285714;
  letter-spacing: 0;
  color: #676775;
}

.bl-hero-section__input:focus-visible {
  outline: none;
  border-color: #676775;
}

.bl-hero-section__submit.ib-btn {
  height: 3rem;
}

@media (prefers-reduced-motion: no-preference) {
  .bl-hero-section__heading, .bl-hero-section__form {
    animation: bl-hero-rise 0.9s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
  }

  .bl-hero-section__form {
    animation-delay: 0.15s;
  }
}
@media (max-width: 1024px) {
  .bl-hero-section {
    padding-block: 9rem 4rem;
  }

  .bl-hero-section__container {
    padding-inline: 1.25rem;
  }

  .bl-hero-section__heading {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 400;
    font-size: max(3rem, 12px);
    line-height: 1.0833333333;
    letter-spacing: -0.04em;
    font-weight: 300;
    text-align: left;
  }

  .bl-hero-section__form {
    width: 100%;
    margin-top: 2rem;
    align-items: stretch;
  }

  .bl-hero-section__form-title {
    display: none;
  }

  .bl-hero-section__form-row {
    flex-direction: column;
    gap: 1rem;
  }

  .bl-hero-section__input {
    height: 3.125rem;
    padding: 0.75rem 1rem;
    font-weight: 300;
    font-size: max(1rem, 12px);
  }

  .bl-hero-section__input::-moz-placeholder {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(1rem, 12px);
    line-height: 1.625;
    letter-spacing: 0;
    color: #676775;
  }

  .bl-hero-section__input::placeholder {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(1rem, 12px);
    line-height: 1.625;
    letter-spacing: 0;
    color: #676775;
  }

  .bl-hero-section__submit {
    width: 100%;
  }
}
@keyframes bl-hero-rise {
  from {
    opacity: 0;
    transform: translate3d(0, 2rem, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.bl-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  text-decoration: none;
  color: inherit;
}

.bl-card__media {
  margin: 0 0 2rem;
  overflow: hidden;
  aspect-ratio: 693/390;
  clip-path: polygon(20px 0, 100% 0, 100% calc(100% - 20px), calc(100% - 20px) 100%, 0 100%, 0 20px);
}

.bl-card__video {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.bl-card__image {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.bl-card:hover .bl-card__image, .bl-card:focus-visible .bl-card__image {
  transform: scale(1.03);
}

.bl-card:focus-visible {
  outline: 2px solid #ea1b3d;
  outline-offset: 4px;
}

.bl-card__title {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(2rem, 12px);
  line-height: 1.5;
  letter-spacing: 0;
  color: #373742;
  max-width: 41.4375rem;
  margin: 0;
}

.bl-card__desc {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.125rem, 12px);
  line-height: 1.6666666667;
  letter-spacing: 0;
  color: #676775;
  margin: 1rem 0 0;
  display: none;
}

.bl-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0.75rem 0 0;
  padding: 0.5rem 0 0;
  list-style: none;
}

.bl-card__tag {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 500;
  font-size: max(0.75rem, 12px);
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #676775;
  background: #ffefd1;
  border: 1px solid rgba(55, 55, 66, 0.1);
  padding: 0.25rem 0.75rem;
}

@media (max-width: 1024px) {
  .bl-card__media {
    clip-path: none;
    margin-bottom: 0;
    aspect-ratio: 350/196.875;
  }

  .bl-card__body {
    margin-top: 2rem;
  }

  .bl-card__desc {
    display: block;
  }

  .bl-card__tags {
    margin-top: 2rem;
    padding-top: 0;
  }
}
.bl-featured-section {
  background: #fff9ed;
  padding-block: 10.875rem 13.5625rem;
}

.bl-featured-section__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.875rem;
  max-width: var(--container-width-padd);
  width: 100%;
  padding-inline: var(--gutter);
  margin-inline: auto;
}

@media (max-width: 1024px) {
  .bl-featured-section {
    padding-block: 5rem;
    border-block: 1px solid #e6e6ed;
  }

  .bl-featured-section__grid {
    grid-template-columns: 1fr;
    gap: 4rem;
    padding-inline: 1.25rem;
  }

  .bl-featured-section .bl-card__body {
    order: 1;
    margin-top: 0;
  }

  .bl-featured-section .bl-card__media {
    order: 2;
    margin-top: 2rem;
  }

  .bl-featured-section .bl-card__tags {
    order: 3;
  }
}
.bl-articles-section {
  background: #fff9ed;
  padding-block: 0 5rem;
}

.bl-articles-section__container {
  max-width: var(--container-width-padd);
  width: 100%;
  padding-inline: var(--gutter);
  margin-inline: auto;
}

.bl-articles-section__heading {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(3rem, 12px);
  line-height: 1.0833333333;
  letter-spacing: -0.04em;
  font-weight: 300;
  color: #373742;
  margin: 0;
}

.bl-articles-section__toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.5rem;
  margin-top: 1.5rem;
}

.bl-articles-section__search {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  width: 24.8125rem;
  height: 3.125rem;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid #676775;
}

.bl-articles-section__search-icon {
  flex-shrink: 0;
  width: 1.5rem;
  height: 1.5rem;
  color: #000;
}

.bl-articles-section__search-input {
  flex: 1 1 auto;
  min-width: 0;
  background: transparent;
  border: 0;
  padding: 0;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.125rem, 12px);
  line-height: 1.25;
  color: #373742;
}

.bl-articles-section__search-input::-moz-placeholder {
  color: #676775;
}

.bl-articles-section__search-input::placeholder {
  color: #676775;
}

.bl-articles-section__search-input:focus-visible {
  outline: none;
}

.bl-articles-section__filters {
  display: flex;
  gap: 0.75rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.bl-articles-section__filter {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 500;
  font-size: max(0.75rem, 12px);
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 3.125rem;
  padding: 0.25rem 0.75rem;
  color: #676775;
  background: transparent;
  border: 1px solid rgba(55, 55, 66, 0.1);
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.bl-articles-section__filter:hover {
  background: rgba(255, 239, 209, 0.6);
}

.bl-articles-section__filter.is-active {
  background: #ffefd1;
}

.bl-articles-section__filter:focus-visible {
  outline: 2px solid #ea1b3d;
  outline-offset: 2px;
}

.bl-articles-section__list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin: 1.25rem 0 0;
  padding: 0;
  list-style: none;
}

.bl-articles-section__row {
  display: flex;
  align-items: center;
  gap: 2.75rem;
  padding: 2.5rem 1.5rem;
  text-decoration: none;
  color: inherit;
  background: transparent;
  transition: background-color 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.bl-articles-section__row:hover, .bl-articles-section__row:focus-visible {
  background: #ffefd1;
}

.bl-articles-section__row:focus-visible {
  outline: 2px solid #ea1b3d;
  outline-offset: 2px;
}

.bl-articles-section__thumb {
  flex-shrink: 0;
  width: 25.5625rem;
  margin: 0;
  overflow: hidden;
  border-radius: 0;
  aspect-ratio: 350/196.875;
}

.bl-articles-section__thumb-img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.bl-articles-section__row:hover .bl-articles-section__thumb-img, .bl-articles-section__row:focus-visible .bl-articles-section__thumb-img {
  transform: scale(1.03);
}

.bl-articles-section__row-content {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  min-width: 0;
  width: 100%;
  max-width: 49.875rem;
}

.bl-articles-section__category {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(0.875rem, 12px);
  line-height: 1.5714285714;
  letter-spacing: 0;
  line-height: 1.714;
  text-transform: uppercase;
  color: #676775;
  margin: 0;
}

.bl-articles-section__title {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 250;
  font-size: max(1.5rem, 12px);
  line-height: 1.6666666667;
  letter-spacing: 0;
  font-weight: 300;
  color: #373742;
  margin: 0;
}

.bl-articles-section__title-accent {
  color: #ea1b3d;
}

.bl-articles-section__meta {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(0.875rem, 12px);
  line-height: 1.5714285714;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #676775;
  margin: 0;
}

.bl-articles-section__event-meta {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.5rem 3rem;
  margin: 0;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1rem, 12px);
  line-height: 1.625;
  letter-spacing: 0;
  color: #373742;
}

.bl-articles-section__event-meta::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.0625rem;
  height: 0.75rem;
  background: #a7a7b0;
  transform: translate3d(-50%, -50%, 0);
}

.bl-articles-section__event-meta-label {
  color: #676775;
}

.bl-articles-section__desc {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1rem, 12px);
  line-height: 1.625;
  letter-spacing: 0;
  color: #676775;
  margin: 0;
  display: none;
}

.bl-articles-section__cta {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  width: -moz-fit-content;
  width: fit-content;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(0.875rem, 12px);
  line-height: 1.5714285714;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #ea1b3d;
  opacity: 0;
  transform: translate3d(0, 0.25rem, 0);
  transition: opacity 0.3s ease, transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.bl-articles-section__cta-arrow {
  flex: none;
  fill: currentcolor;
  transform: translate3d(-0.625rem, 0, 0);
  transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1) 0.1s;
}

.bl-articles-section__row:hover .bl-articles-section__cta-arrow, .bl-articles-section__row:focus-visible .bl-articles-section__cta-arrow {
  transform: translate3d(0, 0, 0);
}

.bl-articles-section__row:hover .bl-articles-section__cta, .bl-articles-section__row:focus-visible .bl-articles-section__cta {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.bl-articles-section__pagination {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.5rem;
  padding: 2.5rem 0;
  border-top: 1px solid #e6e6ed;
}

.bl-articles-section__pages {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.bl-articles-section__page-list {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.bl-articles-section__pages-label {
  color: #373742;
}

.bl-articles-section__page {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.625rem;
  height: 2.625rem;
  padding: 0 0.5rem;
  color: #373742;
  text-decoration: none;
  border-radius: 0;
}

.bl-articles-section__page.is-current {
  background: #ffefd1;
}

.bl-articles-section__page:focus-visible {
  outline: 2px solid #ea1b3d;
  outline-offset: 2px;
}

.bl-articles-section__page--ellipsis {
  color: #373742;
  padding: 0 0.25rem;
  pointer-events: none;
}

.bl-articles-section__pages-label, .bl-articles-section__page, .bl-articles-section__page--ellipsis {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 500;
  font-size: max(1.125rem, 12px);
  line-height: 2.5rem;
}

.bl-articles-section__nav {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

.bl-articles-section__nav-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 8.25rem;
  height: 2.625rem;
  background: none;
  border: none;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(1rem, 12px);
  line-height: 1rem;
  text-transform: uppercase;
  color: #373742;
  cursor: pointer;
}

.bl-articles-section__nav-btn svg {
  width: 1.25rem;
  height: 1.25rem;
  color: #ea1b3d;
}

.bl-articles-section__nav-btn:focus-visible {
  outline: 2px solid #ea1b3d;
  outline-offset: 2px;
}

.bl-articles-section__nav-btn:disabled {
  opacity: 0.25;
  pointer-events: none;
}

.bl-articles-section__nav-btn:disabled svg {
  color: #e6e6ed;
}

.bl-articles-section__nav-btn:last-child::before {
  content: "";
  position: absolute;
  left: -0.75rem;
  top: 0;
  width: 1px;
  height: 100%;
  background: #e6e6ed;
}

@media (max-width: 1024px) {
  .bl-articles-section {
    padding-block: 5rem;
  }

  .bl-articles-section__container {
    padding-inline: 1.25rem;
  }

  .bl-articles-section__heading {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 400;
    font-size: max(2.5rem, 12px);
    line-height: 1.1;
    letter-spacing: -0.04em;
  }

  .bl-articles-section__toolbar {
    flex-direction: column;
    align-items: stretch;
    gap: 1.5rem;
  }

  .bl-articles-section__search {
    width: 100%;
  }

  .bl-articles-section__filters {
    flex-wrap: wrap;
    gap: 0.5rem;
  }

  .bl-articles-section__filter {
    height: 1.875rem;
    padding: 0.375rem 0.75rem;
    border: 0.5px solid #a7a7b0;
  }

  .bl-articles-section__filter.is-active {
    background: #ffefd1;
  }

  .bl-articles-section__list {
    gap: 2rem;
    margin-top: 2.5rem;
  }

  .bl-articles-section__row {
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
    padding: 0 0 2rem;
    border-bottom: 1px solid #e6e6ed;
  }

  .bl-articles-section__row:hover {
    background: transparent;
  }

  .bl-articles-section__thumb {
    width: 100%;
  }

  .bl-articles-section__row-content {
    gap: 0.75rem;
  }

  .bl-articles-section__category {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 500;
    font-size: max(0.75rem, 12px);
    line-height: 1.5;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #ea1b3d;
  }

  .bl-articles-section__title {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 400;
    font-size: max(1.25rem, 12px);
    line-height: 1.4;
    letter-spacing: 0;
  }

  .bl-articles-section__desc {
    display: block;
  }

  .bl-articles-section__event-meta {
    flex-direction: column;
    justify-content: flex-start;
    gap: 0.25rem;
  }

  .bl-articles-section__event-meta::after {
    content: none;
  }

  .bl-articles-section__cta {
    opacity: 1;
    transform: none;
  }

  .bl-articles-section__cta-arrow {
    transform: none;
  }

  .bl-articles-section__pagination {
    padding: 1.5rem 0 0;
  }

  .bl-articles-section__pages-label {
    display: none;
  }

  .bl-articles-section__pages {
    gap: 0.25rem;
  }

  .bl-articles-section__page {
    width: 2rem;
    height: 2rem;
    font-weight: 400;
    font-size: max(1rem, 12px);
  }

  .bl-articles-section__nav {
    gap: 1rem;
  }

  .bl-articles-section__nav-btn {
    width: 2rem;
    height: 2rem;
  }

  .bl-articles-section__nav-btn:last-child::before {
    display: none;
  }

  .bl-articles-section__nav-btn:disabled {
    opacity: 1;
  }

  .bl-articles-section__nav-btn svg {
    width: 1rem;
    height: 0.75rem;
  }

  .bl-articles-section__nav-btn span {
    display: none;
  }
}
body.page-blog {
  overflow-x: clip;
}

.gcc-hiring-section {
  position: relative;
  background: #2f2f39;
  padding-block: clamp(48px, 6.48vw, 112px);
  overflow: clip;
}

@media (min-width: 1025px) {
  .gcc-hiring-section {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}
.gcc-hiring-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: url(../static/assets/images/latest/grain-tile.png);
  background-repeat: repeat;
  pointer-events: none;
}

.gcc-hiring-section__container {
  position: relative;
  z-index: 1;
  margin-inline: auto;
  padding-inline: clamp(28px, 3.47vw, 60px);
  display: flex;
  flex-direction: column;
  gap: clamp(24px, 2.31vw, 40px);
}

.gcc-hiring-section__content {
  display: flex;
  align-items: flex-start;
  gap: clamp(48px, 10.19vw, 176px);
}

@media (max-width: 1400px) {
  .gcc-hiring-section__container {
    padding-inline: clamp(20px, 2.31vw, 40px);
  }
}
.gcc-hiring-section__eyebrow {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 500;
  font-size: max(0.75rem, 12px);
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin: 0 0 1rem;
  color: #ea1b3d;
}

@media (min-width: 1025px) {
  .gcc-hiring-section__eyebrow {
    display: none;
  }
}
.gcc-hiring-section__title {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(3rem, 12px);
  line-height: 1.3333333333;
  letter-spacing: 0;
  margin: 0;
  color: #fff;
}

.gcc-hiring-section__title-line--accent {
  color: #ea1b3d;
}

.gcc-hiring-section__body {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.125rem, 12px);
  line-height: 1.6666666667;
  letter-spacing: 0;
  flex: 0 0 clamp(320px, 26.39vw, 456px);
  margin: 0;
  color: #c8c8c8;
}

.gcc-hiring-section__matrix {
  position: relative;
  flex: 1 1 auto;
  min-width: 0;
  background: #373742;
  padding: 2.5rem 1.5rem;
  clip-path: polygon(20px 0, 100% 0, 100% calc(100% - 20px), calc(100% - 20px) 100%, 0 100%, 0 20px);
}

.gcc-hiring-section__matrix::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: url(../static/assets/images/latest/grain-tile.png);
  background-repeat: repeat;
  pointer-events: none;
}

.gcc-hiring-section__table {
  position: relative;
  z-index: 1;
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.gcc-hiring-section__caption {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

.gcc-hiring-section__table col:nth-child(1) {
  width: 18%;
}

.gcc-hiring-section__table col:nth-child(2) {
  width: 29%;
}

.gcc-hiring-section__table col:nth-child(3) {
  width: 29%;
}

.gcc-hiring-section__table col:nth-child(4) {
  width: 24%;
}

.gcc-hiring-section__head-cell {
  text-align: left;
  vertical-align: bottom;
  padding: 0 1rem clamp(14px, 1.16vw, 20px) 0;
  border-bottom: 0.6px solid #676775;
}

.gcc-hiring-section__head-city {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 500;
  font-size: max(0.75rem, 12px);
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #a7a7b0;
}

.gcc-hiring-section__head-title {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0;
  font-size: max(0.9375rem, 12px);
  display: block;
  color: #fff;
}

.gcc-hiring-section__head-sub {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(0.75rem, 12px);
  line-height: 1.5;
  letter-spacing: 0;
  display: block;
  color: #e6e6ed;
}

.gcc-hiring-section__city, .gcc-hiring-section__cell {
  text-align: left;
  padding: clamp(14px, 1.16vw, 20px) 1rem clamp(14px, 1.16vw, 20px) 0;
  vertical-align: middle;
}

.gcc-hiring-section__city {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  line-height: 1.625;
  letter-spacing: 0;
  font-size: max(1rem, 12px);
  color: #fff;
}

.gcc-hiring-section__badge {
  display: none;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 500;
  font-size: 0.625rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 0.25rem 0.5rem;
  border-radius: 0.25rem;
  white-space: nowrap;
}

.gcc-hiring-section__cell-head {
  display: none;
}

.gcc-hiring-section__cell-label {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 600;
  font-size: max(0.875rem, 12px);
  line-height: 1.5714285714;
  letter-spacing: 0;
  display: block;
  color: #fff;
}

.gcc-hiring-section__cell-sub {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(0.75rem, 12px);
  line-height: 1.5;
  letter-spacing: 0;
  display: block;
  color: #a7a7b0;
}

.gcc-hiring-section__cell-value {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0;
  font-size: max(0.9375rem, 12px);
  color: #e6e6ed;
}

.gcc-hiring-section__dot {
  display: none;
  width: 0.375rem;
  height: 0.375rem;
  border-radius: 50%;
  background: #0fa958;
  flex: none;
}

.gcc-hiring-section__cell--status .gcc-hiring-section__cell-value {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(0.875rem, 12px);
  line-height: 1.5714285714;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.gcc-hiring-section__row--live .gcc-hiring-section__cell--status .gcc-hiring-section__cell-value {
  color: #abf5ce;
}

.gcc-hiring-section__row--live .gcc-hiring-section__badge {
  color: #0fa958;
  background: #163e2b;
}

.gcc-hiring-section__row--underway .gcc-hiring-section__cell--status .gcc-hiring-section__cell-value {
  color: #ffefd1;
}

.gcc-hiring-section__row--underway .gcc-hiring-section__badge {
  color: #ffefd1;
  background: #4a3b12;
}

.gcc-hiring-section__row--planned .gcc-hiring-section__cell--status .gcc-hiring-section__cell-value {
  color: #a7a7b0;
}

.gcc-hiring-section__row--planned .gcc-hiring-section__badge {
  color: #a7a7b0;
  background: #4a4a5a;
}

@media (max-width: 1024px) {
  .gcc-hiring-section {
    padding-block: clamp(48px, 12vw, 72px);
  }

  .gcc-hiring-section__container {
    gap: 1rem;
    padding-inline: 1.25rem;
  }

  .gcc-hiring-section__content {
    flex-direction: column;
    gap: 1rem;
  }

  .gcc-hiring-section__title {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 250;
    font-size: max(2rem, 12px);
    line-height: 1.1875;
    letter-spacing: -0.04em;
    font-weight: 300;
  }

  .gcc-hiring-section__body {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(0.875rem, 12px);
    line-height: 1.5714285714;
    letter-spacing: 0;
    flex: 0 0 auto;
    color: #a7a7b0;
  }

  .gcc-hiring-section__matrix {
    width: 100%;
    margin-top: 0.5rem;
    padding: 0;
    background: none;
    clip-path: none;
  }

  .gcc-hiring-section__matrix::before {
    display: none;
  }

  .gcc-hiring-section__table, .gcc-hiring-section__table > tbody {
    display: block;
    width: 100%;
  }

  .gcc-hiring-section__table col {
    width: auto;
  }

  .gcc-hiring-section__table > thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }

  .gcc-hiring-section__row {
    display: block;
    background: #373742;
    padding: 1.125rem;
    clip-path: polygon(16px 0, 100% 0, 100% calc(100% - 16px), calc(100% - 16px) 100%, 0 100%, 0 16px);
  }

  .gcc-hiring-section__row + .gcc-hiring-section__row {
    margin-top: 1rem;
  }

  .gcc-hiring-section__city {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 400;
    line-height: 1.3333;
    letter-spacing: 0;
    font-size: max(1.125rem, 12px);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0 0 0.75rem;
    border-bottom: 1px solid #676775;
  }

  .gcc-hiring-section__badge {
    display: inline-block;
  }

  .gcc-hiring-section__cell {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.75rem 0;
  }

  .gcc-hiring-section__cell + .gcc-hiring-section__cell {
    border-top: 1px solid rgba(103, 103, 117, 0.15);
  }

  .gcc-hiring-section__cell-head {
    display: block;
    min-width: 0;
  }

  .gcc-hiring-section__cell-label {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 400;
    line-height: 1.3846;
    letter-spacing: 0;
    font-size: max(0.8125rem, 12px);
  }

  .gcc-hiring-section__cell-sub {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    line-height: 1.2727;
    letter-spacing: 0;
    font-size: 0.6875rem;
    color: #676775;
  }

  .gcc-hiring-section__cell-value {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 400;
    line-height: 1.3333;
    letter-spacing: 0;
    font-size: max(0.75rem, 12px);
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    text-align: right;
    white-space: nowrap;
  }

  .gcc-hiring-section__cell--status .gcc-hiring-section__cell-value {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 400;
    line-height: 1.3333;
    letter-spacing: 0;
    font-size: max(0.75rem, 12px);
    text-transform: none;
  }

  .gcc-hiring-section__row--live .gcc-hiring-section__cell--status .gcc-hiring-section__cell-value, .gcc-hiring-section__row--underway .gcc-hiring-section__cell--status .gcc-hiring-section__cell-value, .gcc-hiring-section__row--planned .gcc-hiring-section__cell--status .gcc-hiring-section__cell-value {
    color: #fff;
  }

  .gcc-hiring-section__dot {
    display: block;
  }

  .gcc-hiring-section__cell:not(.gcc-hiring-section__cell--status) .gcc-hiring-section__cell-value {
    color: #e6e6ed;
  }
}
@media (max-width: 576px) {
  .gcc-hiring-section__cell-value {
    white-space: normal;
  }
}
@media (max-width: 359px) {
  .gcc-hiring-section__title-line {
    white-space: normal;
  }
}
html:has(.tsd-discovery-section) {
  scroll-behavior: auto !important;
  overflow-x: clip;
  height: auto;
  min-height: 100%;
}

html:has(.tsd-discovery-section) body {
  overflow-x: clip;
  height: auto;
  min-height: 100%;
}

.tsd-discovery-section {
  background: #fff9ed;
  position: relative;
  z-index: 1;
}

.tsd-discovery-section__pin {
  padding-block: 7.5rem;
  background: #fff9ed;
}

.tsd-discovery-section__inner {
  --tsd-discovery-inset-left: clamp(
    40px,
    calc((100% - var(--container-width-padd)) / 2 + 40px),
    60px
  );
  --tsd-discovery-inset-right: clamp(
    40px,
    calc((100% - var(--container-width-padd)) / 2 + 40px),
    80px
  );
  width: 100%;
  padding-left: var(--tsd-discovery-inset-left);
  padding-right: var(--tsd-discovery-inset-right);
}

.tsd-discovery-section__heading {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(3rem, 12px);
  line-height: 1.0833333333;
  letter-spacing: -0.04em;
  font-weight: 300;
  color: #373742;
  margin: 0;
}

.tsd-discovery-section__heading-accent {
  color: #ea1b3d;
}

.tsd-discovery-section__divider {
  position: relative;
  height: 0.0625rem;
  margin-block: 3rem 3.5rem;
  margin-left: calc(-1 * var(--tsd-discovery-inset-left));
  margin-right: calc(-1 * var(--tsd-discovery-inset-right));
  background: #ffd0d8;
  overflow: hidden;
}

.tsd-discovery-section__divider-fill {
  position: absolute;
  inset: 0;
  transform: scaleX(var(--tsd-discovery-progress, 1));
  transform-origin: left center;
  will-change: transform;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  background: linear-gradient(-90deg, #ea1b3d 0%, #ea1b3d 19%, rgba(234, 27, 61, 0.15) 100%);
}

.tsd-discovery-section__step {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.4fr);
  gap: 4rem;
  align-items: start;
}

.tsd-discovery-section__step + .tsd-discovery-section__step {
  margin-top: 6rem;
}

.tsd-discovery-section__counter {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.75rem, 12px);
  line-height: 1.3571428571;
  letter-spacing: 0;
  color: #676775;
  margin: 0.5rem 0 0;
  letter-spacing: 0.125rem;
}

.tsd-discovery-section__step-content {
  max-width: 52.625rem;
}

.tsd-discovery-section__step-title {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.75rem, 12px);
  line-height: 1.3571428571;
  letter-spacing: 0;
  color: #000;
  margin: 0 0 2rem;
}

.tsd-discovery-section__step-subtitle {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: 1.25rem;
  line-height: 1.75rem;
  letter-spacing: 0;
  color: #2f2f39;
  margin: 0 0 1rem;
}

.tsd-discovery-section__step-content .tsd-discovery-section__step-subtitle ~ .tsd-discovery-section__step-subtitle {
  margin-top: 1.5rem;
}

.tsd-discovery-section__list {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: 1.25rem;
  line-height: 1.75rem;
  letter-spacing: 0;
  color: #676775;
  margin: 0;
  padding-left: 1.375rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.tsd-discovery-section__list li::marker {
  color: #676775;
  font-size: 0.875rem;
}

.tsd-discovery-section__link {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 2.5rem;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 500;
  font-size: max(1rem, 12px);
  line-height: 1.625;
  letter-spacing: 0;
  text-transform: uppercase;
  text-transform: uppercase;
  color: #ea1b3d;
  text-decoration: none;
}

.tsd-discovery-section__link:hover .tsd-discovery-section__link-arrow {
  transform: translate3d(4px, 0, 0);
}

.tsd-discovery-section__link:focus-visible {
  outline: 2px solid #ea1b3d;
  outline-offset: 4px;
}

.tsd-discovery-section__link-text {
  text-decoration: underline;
  text-underline-offset: 5px;
  text-decoration-thickness: 1px;
}

.tsd-discovery-section__link-arrow {
  flex: none;
  fill: currentcolor;
  transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.tsd-discovery-section__outcome {
  background: #ffefd1;
  border: 0.015625rem solid #373742;
  box-shadow: 0.25rem 0.25rem 0 0 #ffd0d8;
  padding: 1.5rem;
  margin-top: 2rem;
}

.tsd-discovery-section__outcome-title {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: 1.25rem;
  line-height: 1.75rem;
  letter-spacing: 0;
  color: #2f2f39;
  margin: 0 0 1.5rem;
}

.tsd-discovery-section__outcome-text {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: 1.25rem;
  line-height: 1.75rem;
  letter-spacing: 0;
  color: #676775;
  margin: 0;
}

@media (min-width: 1025px) {
  .tsd-discovery-section--enhanced .tsd-discovery-section__pin {
    min-height: 100vh;
    display: flex;
    align-items: flex-start;
  }

  .tsd-discovery-section--enhanced .tsd-discovery-section__pin > * {
    width: 100%;
  }

  .tsd-discovery-section--enhanced .tsd-discovery-section__steps {
    display: grid;
    isolation: isolate;
  }

  .tsd-discovery-section--enhanced .tsd-discovery-section__step {
    grid-area: 1/1;
    opacity: 0;
    visibility: hidden;
    z-index: 0;
    pointer-events: none;
    will-change: opacity;
    transition: opacity 0.2s ease, visibility 0s linear 0.2s;
  }

  .tsd-discovery-section--enhanced .tsd-discovery-section__step + .tsd-discovery-section__step {
    margin-top: 0;
  }

  .tsd-discovery-section--enhanced .tsd-discovery-section__step.is-active {
    opacity: 1;
    visibility: visible;
    z-index: 1;
    pointer-events: auto;
    transition: opacity 0.3s ease 0.2s, visibility 0s linear 0s;
  }
}
@media (max-width: 1024px) {
  .tsd-discovery-section__pin {
    padding-block: 3rem;
  }

  .tsd-discovery-section__inner {
    --tsd-discovery-inset-left: 20px;
    --tsd-discovery-inset-right: 20px;
  }

  .tsd-discovery-section__heading {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 250;
    font-size: max(2rem, 12px);
    line-height: 1.1875;
    letter-spacing: -0.04em;
  }

  .tsd-discovery-section__divider {
    margin-block: 1.5rem;
  }

  .tsd-discovery-section__steps {
    display: flex;
    align-items: flex-start;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    gap: 1.5rem;
    margin-inline: -1.25rem;
    padding-inline: 1.25rem;
  }

  .tsd-discovery-section__steps::-webkit-scrollbar {
    display: none;
  }

  .tsd-discovery-section__step {
    grid-template-columns: 1fr;
    align-content: start;
    gap: 1.5rem;
    flex: 0 0 100%;
    scroll-snap-align: center;
  }

  .tsd-discovery-section__step + .tsd-discovery-section__step {
    margin-top: 0;
  }

  .tsd-discovery-section__step-content {
    max-width: none;
  }

  .tsd-discovery-section__counter {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 600;
    font-size: max(1.125rem, 12px);
    line-height: 1.6666666667;
    letter-spacing: 0;
    color: #a7a7b0;
  }

  .tsd-discovery-section__counter-current {
    color: #ea1b3d;
  }

  .tsd-discovery-section__step-title {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 500;
    font-size: max(1.5rem, 12px);
    line-height: 1.4166666667;
    letter-spacing: -0.04em;
    margin-bottom: 2rem;
  }

  .tsd-discovery-section__step-subtitle {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 600;
    font-size: max(1rem, 12px);
    line-height: 1.625;
    letter-spacing: 0;
  }

  .tsd-discovery-section__list {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(1rem, 12px);
    line-height: 1.625;
    letter-spacing: 0;
  }

  .tsd-discovery-section__list li::marker {
    font-size: 0.75rem;
  }

  .tsd-discovery-section__outcome {
    padding: 1.5rem;
  }

  .tsd-discovery-section__outcome-title {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 600;
    font-size: max(0.875rem, 12px);
    line-height: 1.5714285714;
    letter-spacing: 0;
    margin: 0 0 1rem;
  }

  .tsd-discovery-section__outcome-text {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(1rem, 12px);
    line-height: 1.625;
    letter-spacing: 0;
  }
}
:root {
  --bg-primary: #fff9ed;
  --text-primary: #373742;
  --text-secondary: #676775;
  --text-disabled: #a7a7b0;
  --text-gray: #676775;
  --accent-red: #ea1b3d;
  --accent-peach: #ffd0d8;
  --border-color: rgba(103, 103, 117, 0.15);
  --font-primary: Lexend, -apple-system, blinkmacsystemfont, Segoe UI, roboto, sans-serif;
  --transition-smooth: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  --transition-slow: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  --container-width: 93.5rem;
  --container-width-padd: 101rem;
  --gutter: 60px;
}

*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

html {
  font-size: clamp(14px, 0.9259259259vw, 16px);
}

@media (max-width: 1024px) {
  html {
    font-size: 100%;
  }
}
html.scroll-locked,
html.scroll-locked .main-header {
  padding-right: var(--scrollbar-comp, 0);
}

html.scroll-locked .header-container .mega-menu {
  scrollbar-gutter: stable;
}

html,
body {
  width: 100%;
  height: 100%;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  background-color: #fff9ed;
  color: #373742;
  line-height: 1.6;
}

::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: #fff9ed;
}

::-webkit-scrollbar-thumb {
  background: #a7a7b0;
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: #676775;
}

a {
  color: inherit;
  text-decoration: none;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

button,
input,
textarea,
select {
  font-family: inherit;
}

@media (min-width: 769px) {
  .ib-mobile-only {
    display: none !important;
  }
}
@media (max-width: 768px), (min-width: 1025px) {
  .ib-tablet-only {
    display: none !important;
  }
}
@media (min-width: 1025px) {
  .ib-mobile-tablet-only {
    display: none !important;
  }
}
@media (max-width: 1024px) {
  .ib-desktop-only {
    display: none !important;
  }
}
@media (max-width: 1024px) and (prefers-reduced-motion: no-preference) {
  .ib-m-reveal {
    opacity: 0;
    transform: translate3d(0, 24px, 0);
    transition: opacity 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition-delay: var(--ib-m-reveal-delay, 0s);
    will-change: transform, opacity;
  }

  .ib-m-reveal.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
@keyframes ib-arrow-slide {
  0% {
    transform: translateX(0);
    opacity: 1;
  }
  45% {
    transform: translateX(7px);
    opacity: 0;
  }
  46% {
    transform: translateX(-5px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
.ib-btn {
  --_bg: #ea1b3d;
  --_bg-press: #aa142d;
  --_color: #fff;
  --_border: transparent;
  --_shadow: #ffd0d8;
  position: relative;
  isolation: isolate;
  display: inline-flex;
  align-items: stretch;
  height: 48px;
  padding: 0;
  font-family: var(--font-heading);
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  background: transparent;
  border: none;
  outline: none;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.ib-btn[hidden] {
  display: none;
}

.ib-btn::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--_shadow);
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
  opacity: 0;
  transform: translate(0, 0);
  transition: opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1), transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
}

.ib-btn__inner {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  padding: 0 22px;
  color: var(--_color);
  background: var(--_bg);
  line-height: 26px;
  letter-spacing: 0;
  text-align: center;
  text-transform: uppercase;
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
  transition: background 0.25s cubic-bezier(0.16, 1, 0.3, 1), color 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ib-btn__inner::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--_border);
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px, 10px 0, 10px 1.5px, 1.5px 10px, 1.5px calc(100% - 1.5px), calc(100% - 10px) calc(100% - 1.5px), calc(100% - 1.5px) calc(100% - 10px), calc(100% - 1.5px) 1.5px, 10px 1.5px);
  pointer-events: none;
  transition: background 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ib-btn__arrow {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ib-btn__arrow svg, .ib-btn__arrow.ib-icon {
  width: 14px;
  height: 14px;
}

.ib-btn:hover:not(:disabled, [aria-disabled=true])::after {
  opacity: 1;
  transform: translate(4px, 4px);
}

.ib-btn:focus-visible .ib-btn__inner {
  background: var(--_bg-press);
}

.ib-btn:active:not(:disabled) .ib-btn__inner {
  background: var(--_bg-press);
}

.ib-btn:disabled, .ib-btn[aria-disabled=true] {
  --_bg: #a7a7b0;
  --_border: #a7a7b0;
  --_color: #fff;
  cursor: not-allowed;
  pointer-events: none;
}

.ib-btn--primary {
  --_bg: #ea1b3d;
  --_bg-press: #aa142d;
  --_color: #fff;
  --_border: transparent;
  --_shadow: #ffd0d8;
}

.ib-btn--primary-light {
  --_bg: #fff9ed;
  --_bg-press: #ffefd1;
  --_color: #676775;
  --_border: transparent;
  --_shadow: #ffd0d8;
}

.ib-btn--primary-light:disabled, .ib-btn--primary-light[aria-disabled=true] {
  --_bg: #a7a7b0;
  --_color: #fff;
}

.ib-btn--secondary {
  --_bg: transparent;
  --_bg-press: transparent;
  --_color: #ea1b3d;
  --_border: #ea1b3d;
  --_shadow: #ffd0d8;
}

.ib-btn--secondary:focus-visible {
  --_border: #aa142d;
  --_color: #aa142d;
}

.ib-btn--secondary:active:not(:disabled) {
  --_border: #aa142d;
  --_color: #aa142d;
}

.ib-btn--secondary:disabled, .ib-btn--secondary[aria-disabled=true] {
  --_bg: transparent;
  --_color: #a7a7b0;
  --_border: #a7a7b0;
}

.ib-btn--secondary-light {
  --_bg: transparent;
  --_bg-press: transparent;
  --_color: #fff;
  --_border: #fff;
  --_shadow: #ffd0d8;
}

.ib-btn--secondary-light:hover:not(:disabled, [aria-disabled=true]) {
  --_bg: #ea1b3d;
  --_border: transparent;
}

.ib-btn--secondary-light:disabled, .ib-btn--secondary-light[aria-disabled=true] {
  --_bg: transparent;
  --_color: #a7a7b0;
  --_border: #a7a7b0;
}

.ib-btn--ghost {
  --_color: #ea1b3d;
  height: auto;
}

.ib-btn--ghost::after {
  display: none;
}

.ib-btn--ghost .ib-btn__inner {
  padding: 2px 0;
  height: auto;
  background: transparent;
  clip-path: none;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1.5px;
  -webkit-text-decoration-color: currentcolor;
          text-decoration-color: currentcolor;
  transition: color 0.25s cubic-bezier(0.16, 1, 0.3, 1), -webkit-text-decoration-color 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  transition: color 0.25s cubic-bezier(0.16, 1, 0.3, 1), text-decoration-color 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  transition: color 0.25s cubic-bezier(0.16, 1, 0.3, 1), text-decoration-color 0.25s cubic-bezier(0.16, 1, 0.3, 1), -webkit-text-decoration-color 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ib-btn--ghost .ib-btn__inner::before {
  display: none;
}

.ib-btn--ghost:focus-visible, .ib-btn--ghost:active:not(:disabled) {
  --_color: #aa142d;
}

.ib-btn--ghost:focus-visible .ib-btn__inner, .ib-btn--ghost:active:not(:disabled) .ib-btn__inner {
  background: transparent !important;
}

.ib-btn--ghost:disabled, .ib-btn--ghost[aria-disabled=true] {
  --_color: #a7a7b0;
  pointer-events: none;
}

.ib-btn--bare {
  --_bg: transparent;
  --_bg-press: transparent;
  --_color: #373742;
  --_border: transparent;
  --_shadow: transparent;
}

.ib-btn--bare::after {
  display: none;
}

.ib-btn--bare .ib-btn__inner {
  background: transparent;
  clip-path: none;
  transition: color 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.ib-btn--bare .ib-btn__inner::before {
  display: none;
}

.ib-btn--bare .ib-icon,
.ib-btn--bare .ib-btn__arrow {
  color: var(--_color);
}

.ib-btn--bare:focus-visible .ib-btn__inner, .ib-btn--bare:active:not(:disabled) .ib-btn__inner {
  background: transparent;
}

.ib-btn--bare:disabled, .ib-btn--bare[aria-disabled=true] {
  --_bg: transparent;
  --_border: transparent;
  --_color: #a7a7b0;
}

.ib-btn--with-icon:hover:not(:disabled, [aria-disabled=true]) .ib-btn__arrow {
  animation: ib-arrow-slide 0.7s cubic-bezier(0.16, 1, 0.3, 1) infinite;
}

.ib-btn--icon-only {
  width: 48px;
}

.ib-btn--icon-only .ib-btn__inner {
  padding: 0;
}

.ib-btn--icon-only:hover:not(:disabled, [aria-disabled=true]) .ib-btn__arrow {
  animation: ib-arrow-slide 0.7s cubic-bezier(0.16, 1, 0.3, 1) infinite;
}

@media (max-width: 1024px) {
  .ib-btn {
    height: 44px;
    font-size: 15px;
  }

  .ib-btn__inner {
    padding: 0 18px;
  }

  .ib-btn__arrow svg, .ib-btn__arrow.ib-icon {
    width: 13px;
    height: 13px;
  }

  .ib-btn--icon-only {
    width: 44px;
  }

  .ib-btn--icon-only .ib-btn__inner {
    padding: 0;
  }
}
.bd-hero-section {
  display: grid;
  grid-template-columns: 66.2037037037% minmax(0, 1fr);
  align-items: stretch;
  padding-top: 92px;
  background: #ffefd1;
}

.bd-hero-section__copy {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-height: 30.625rem;
  background: #aa142d;
  padding: 4.5rem 80px 9.375rem clamp(40px, calc((100% / 0.662037037 - var(--container-width-padd)) / 2 + 40px), 120px);
}

.bd-hero-section__copy::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: url(../static/assets/images/latest/grain.png);
  background-repeat: repeat;
  background-size: cover;
  pointer-events: none;
}

.bd-hero-section__copy--charcoal {
  background: #373742;
}

.bd-hero-section__breadcrumb, .bd-hero-section__title {
  position: relative;
  z-index: 1;
}

.bd-hero-section__breadcrumb {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none;
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1rem, 12px);
  line-height: 1.625;
  letter-spacing: 0;
  color: #fff;
}

.bd-hero-section__breadcrumb svg {
  width: 1rem;
  height: 0.75rem;
  color: currentcolor;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.bd-hero-section__breadcrumb:hover svg {
  transform: translateX(-0.25rem);
}

.bd-hero-section__breadcrumb:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 4px;
}

.bd-hero-section__title {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(3rem, 12px);
  line-height: 1.0833333333;
  letter-spacing: -0.04em;
  font-weight: 300;
  color: #fff;
  max-width: 55.625rem;
  margin: 5.25rem 0 0;
}

.bd-hero-section__media {
  position: relative;
  margin: 0;
  font-size: 0;
  background: #ffefd1;
}

.bd-hero-section__media::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background-image: url(../static/assets/images/latest/grain.png);
  background-repeat: repeat;
  background-size: cover;
  pointer-events: none;
}

.bd-hero-section__photo {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

@media (prefers-reduced-motion: no-preference) {
  .bd-hero-section__breadcrumb, .bd-hero-section__title {
    animation: bd-hero-rise 0.9s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
  }

  .bd-hero-section__title {
    animation-delay: 0.12s;
  }
}
@media (max-width: 1024px) {
  .bd-hero-section {
    grid-template-columns: 1fr;
    padding-top: 92px;
  }

  .bd-hero-section__copy {
    min-height: 0;
    padding: 2.5rem 20px 4rem;
  }

  .bd-hero-section__title {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 400;
    font-size: max(2rem, 12px);
    line-height: 1.5;
    letter-spacing: 0;
    max-width: none;
    margin-top: 2.5rem;
  }

  .bd-hero-section__photo {
    height: auto;
  }
}
@keyframes bd-hero-rise {
  from {
    opacity: 0;
    transform: translate3d(0, 2rem, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.bd-article-section {
  background: #fff9ed;
  padding-block: 5rem 6.875rem;
}

.bd-article-section__container {
  display: grid;
  grid-template-columns: 66.2037037037% minmax(0, 1fr);
  -moz-column-gap: clamp(2.5rem, 4vw, 5rem);
       column-gap: clamp(2.5rem, 4vw, 5rem);
  align-items: start;
  padding-left: clamp(
      40px,
      calc((100% - var(--container-width-padd)) / 2 + 40px),
      120px
    );
  padding-right: clamp(
      40px,
      calc((100% - var(--container-width-padd)) / 2 + 40px),
      80px
    );
}

.bd-article-section__content {
  max-width: 47.5rem;
}

.bd-article-section__block + .bd-article-section__block {
  margin-top: 5rem;
}

.bd-article-section__heading {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(2.5rem, 12px);
  line-height: 1.2;
  letter-spacing: -0.05rem;
  color: #373742;
  margin: 0;
}

.bd-article-section__body {
  margin-top: 2.5rem;
}

.bd-article-section__body > * + * {
  margin-top: 2rem;
}

.bd-article-section__text {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.25rem, 12px);
  line-height: 1.7;
  letter-spacing: 0;
  color: #373742;
  margin: 0;
}

.bd-article-section__list {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(1.25rem, 12px);
  line-height: 1.7;
  letter-spacing: 0;
  color: #373742;
  margin: 1.5rem 0;
  padding-left: 1.75rem;
}

.bd-article-section__list li::marker {
  color: #373742;
}

.bd-article-section__list li + li {
  margin-top: 0.25rem;
}

.bd-article-section__meta {
  align-self: start;
  justify-self: end;
  position: sticky;
  top: 7.5rem;
  max-width: 100%;
  text-align: right;
}

.bd-article-section__author {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  gap: 1.25rem;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  padding-bottom: 1.25rem;
  border-bottom: 0.0625rem solid #ffd0d8;
}

.bd-article-section__author-photo {
  display: block;
  flex: 0 0 auto;
  width: 3rem;
  height: 3rem;
  -o-object-fit: cover;
     object-fit: cover;
}

.bd-article-section__byline {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(0.875rem, 12px);
  line-height: 1.5714285714;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #373742;
  margin: 0;
}

.bd-article-section__author-name {
  color: #ea1b3d;
}

.bd-article-section__published {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 300;
  font-size: max(0.875rem, 12px);
  line-height: 1.5714285714;
  letter-spacing: 0;
  color: #676775;
  margin: 0.25rem 0 0;
}

.bd-article-section__share {
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-top: 1.25rem;
}

.bd-article-section__share-label {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 500;
  font-size: max(0.75rem, 12px);
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 400;
  letter-spacing: 0;
  color: #373742;
  margin: 0;
  text-align: left;
}

.bd-article-section__share-icons {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 1.25rem;
}

.bd-article-section__share-icon {
  display: inline-flex;
  color: #676775;
  transition: color 0.25s ease;
}

.bd-article-section__share-icon:hover {
  color: #373742;
}

.bd-article-section__share-icon:focus-visible {
  outline: 2px solid #ea1b3d;
  outline-offset: 4px;
}

.bd-article-section__share-icon svg {
  width: 1.5rem;
  height: 1.5rem;
}

@media (max-width: 1024px) {
  .bd-article-section {
    padding-block: 0;
  }

  .bd-article-section__container {
    grid-template-columns: 1fr;
    padding-inline: 20px;
  }

  .bd-article-section__content {
    padding-block: 2.5rem;
  }

  .bd-article-section__block {
    padding-block: 2.5rem;
  }

  .bd-article-section__block + .bd-article-section__block {
    margin-top: 0;
  }

  .bd-article-section__body {
    margin-top: 1.5rem;
  }

  .bd-article-section__body > * + * {
    margin-top: 1rem;
  }

  .bd-article-section__text {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(1.125rem, 12px);
    line-height: 1.6666666667;
    letter-spacing: 0;
    color: #676775;
  }

  .bd-article-section__list {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 300;
    font-size: max(1.125rem, 12px);
    line-height: 1.6666666667;
    letter-spacing: 0;
    color: #676775;
    list-style: none;
    padding-left: 0;
  }

  .bd-article-section__list li {
    position: relative;
    padding-left: 1.125rem;
  }

  .bd-article-section__list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.375rem;
    width: 0.375rem;
    height: 0.375rem;
    border-radius: 0.125rem;
    background: #ea1b3d;
  }

  .bd-article-section__list li + li {
    margin-top: 0.75rem;
  }

  .bd-article-section__meta {
    position: static;
    justify-self: center;
    max-width: none;
    text-align: center;
    margin-top: 0;
    padding: 1.25rem;
  }

  .bd-article-section__author, .bd-article-section__share {
    margin-inline: auto;
  }
}
.bd-related-section {
  background: #fff9ed;
  padding-block: 9.3125rem 9.25rem;
}

.bd-related-section__container {
  max-width: var(--container-width-padd);
  width: 100%;
  padding-inline: var(--gutter);
  margin-inline: auto;
}

.bd-related-section__heading {
  font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
  font-weight: 400;
  font-size: max(3rem, 12px);
  line-height: 1.0833333333;
  letter-spacing: -0.04em;
  font-weight: 300;
  color: #373742;
  margin: 0;
}

.bd-related-section__heading-accent {
  color: #ea1b3d;
}

.bd-related-section__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.875rem;
  margin-top: 2.625rem;
}

@media (max-width: 1024px) {
  .bd-related-section {
    border-top: 0.0625rem solid #e6e6ed;
    padding-block: 5rem;
  }

  .bd-related-section__container {
    padding-inline: 20px;
  }

  .bd-related-section__heading {
    font-family: "Lexend", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
    font-weight: 400;
    font-size: max(2.5rem, 12px);
    line-height: 1.1;
    letter-spacing: -0.04em;
  }

  .bd-related-section__grid {
    grid-template-columns: 1fr;
    gap: 4rem;
    margin-top: 2rem;
  }
}
body.page-blog-details {
  overflow-x: clip;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vc3R5bGVzL2d1dGVuYmVyZy12Mi5jc3MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vdGVtcGxhdGUuc2NzcyIsIndlYnBhY2s6Ly8vdGVtcGxhdGVzL3BhZ2VzL2NvcmUvX2JkLXR5cG9ncmFwaHkuc2NzcyIsIndlYnBhY2s6Ly8vdGVtcGxhdGVzL3BhZ2VzL2NvcmUvX2JkLXV0aWxzLnNjc3MiLCJ3ZWJwYWNrOi8vL3RlbXBsYXRlcy9wYWdlcy9jb3JlL19iZC10aGVtZS1hcnRpY2xlLnNjc3MiLCJ3ZWJwYWNrOi8vL3RlbXBsYXRlcy9wYWdlcy9fYmFzZS5zY3NzIiwid2VicGFjazovLy90ZW1wbGF0ZXMvcGFnZXMvX2hlbHBlcnMuc2NzcyIsIndlYnBhY2s6Ly8vdGVtcGxhdGVzL3BhZ2VzL19idXR0b25zLnNjc3MiLCJ3ZWJwYWNrOi8vL3RlbXBsYXRlcy9wYWdlcy9zZXJ2aWNlbm93L3NlcnZpY2Vub3cuc2NzcyIsIndlYnBhY2s6Ly8vdGVtcGxhdGVzL3BhZ2VzL3NlcnZpY2Vub3cvX2hlcm8tc2VjdGlvbi5zY3NzIiwid2VicGFjazovLy90ZW1wbGF0ZXMvcGFnZXMvX3V0aWxzLnNjc3MiLCJ3ZWJwYWNrOi8vL3RlbXBsYXRlcy9wYWdlcy9zZXJ2aWNlbm93L19wYXJhbGxheC1jYXJkcy1zZWN0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vL3RlbXBsYXRlcy9wYWdlcy9zZXJ2aWNlbm93L19sZXRzLXRhbGstc2VjdGlvbi5zY3NzIiwid2VicGFjazovLy90ZW1wbGF0ZXMvcGFnZXMvc2VydmljZW5vdy9fcGFyYWxsYXgtYnJpZGdlLnNjc3MiLCJ3ZWJwYWNrOi8vL3RlbXBsYXRlcy9wYWdlcy9zZXJ2aWNlbm93L19zY3JvbGwtdGFicy1zZWN0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vL3RlbXBsYXRlcy9wYWdlcy9zZXJ2aWNlbm93L19zaG93Y2FzZS1zZWN0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vL3RlbXBsYXRlcy9wYWdlcy9zZXJ2aWNlbm93L190YWxrLWRyYXdlci5zY3NzIiwid2VicGFjazovLy90ZW1wbGF0ZXMvcGFnZXMvZW50ZXJwcmlzZS1yZWFkaW5lc3MvX2hlcm8tc2VjdGlvbi5zY3NzIiwid2VicGFjazovLy90ZW1wbGF0ZXMvcGFnZXMvZW50ZXJwcmlzZS1yZWFkaW5lc3MvX21ldHJpY3Mtc2VjdGlvbi5zY3NzIiwid2VicGFjazovLy90ZW1wbGF0ZXMvcGFnZXMvZW50ZXJwcmlzZS1yZWFkaW5lc3MvX2NvbmZpZGVuY2Utc2VjdGlvbi5zY3NzIiwid2VicGFjazovLy90ZW1wbGF0ZXMvcGFnZXMvZW50ZXJwcmlzZS1yZWFkaW5lc3MvX2Rpc2NpcGxpbmVzLXNlY3Rpb24uc2NzcyIsIndlYnBhY2s6Ly8vdGVtcGxhdGVzL3BhZ2VzL2VudGVycHJpc2UtcmVhZGluZXNzL19kZWxpdmVyeS1zZWN0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vL3RlbXBsYXRlcy9wYWdlcy9lbnRlcnByaXNlLXJlYWRpbmVzcy9fdGVhbS1zZWN0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vL3RlbXBsYXRlcy9wYWdlcy9lbnRlcnByaXNlLXJlYWRpbmVzcy9lbnRlcnByaXNlLXJlYWRpbmVzcy5zY3NzIiwid2VicGFjazovLy90ZW1wbGF0ZXMvcGFnZXMvY2FyZWVyLWRldGFpbHMvX2hlcm8tc2VjdGlvbi5zY3NzIiwid2VicGFjazovLy90ZW1wbGF0ZXMvcGFnZXMvY2FyZWVyLWRldGFpbHMvX3NpZGViYXItc2VjdGlvbi5zY3NzIiwid2VicGFjazovLy90ZW1wbGF0ZXMvcGFnZXMvY2FyZWVyLWRldGFpbHMvX3RhYnMtc2VjdGlvbi5zY3NzIiwid2VicGFjazovLy90ZW1wbGF0ZXMvcGFnZXMvY2FyZWVyLWRldGFpbHMvX2FwcGxpY2F0aW9uLXNlY3Rpb24uc2NzcyIsIndlYnBhY2s6Ly8vdGVtcGxhdGVzL3BhZ2VzL2NhcmVlci1kZXRhaWxzLnNjc3MiLCJ3ZWJwYWNrOi8vL3RlbXBsYXRlcy9wYWdlcy9jYXJlZXJzL19oZXJvLXNlY3Rpb24uc2NzcyIsIndlYnBhY2s6Ly8vdGVtcGxhdGVzL3BhZ2VzL2NhcmVlcnMvX2N1bHR1cmUtc2VjdGlvbi5zY3NzIiwid2VicGFjazovLy90ZW1wbGF0ZXMvcGFnZXMvY2FyZWVycy9fdmFsdWVzLXNlY3Rpb24uc2NzcyIsIndlYnBhY2s6Ly8vdGVtcGxhdGVzL3BhZ2VzL2NhcmVlcnMvX3RlYW0tcGhvdG8tc2VjdGlvbi5zY3NzIiwid2VicGFjazovLy90ZW1wbGF0ZXMvcGFnZXMvY2FyZWVycy9fcm9sZXMtc2VjdGlvbi5zY3NzIiwid2VicGFjazovLy90ZW1wbGF0ZXMvcGFnZXMvY2FyZWVycy9fb3BlbmluZ3Mtc2VjdGlvbi5zY3NzIiwid2VicGFjazovLy90ZW1wbGF0ZXMvcGFnZXMvY2FyZWVycy5zY3NzIiwid2VicGFjazovLy90ZW1wbGF0ZXMvcGFnZXMvdHJ1ZS1zdG9yaWVzL19oZXJvLXNlY3Rpb24uc2NzcyIsIndlYnBhY2s6Ly8vdGVtcGxhdGVzL3BhZ2VzL3RydWUtc3Rvcmllcy9fdGVzdGltb25pYWwtc2VjdGlvbi5zY3NzIiwid2VicGFjazovLy90ZW1wbGF0ZXMvcGFnZXMvdHJ1ZS1zdG9yaWVzL19wcm9qZWN0cy1zZWN0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vL3RlbXBsYXRlcy9wYWdlcy90cnVlLXN0b3JpZXMvdHJ1ZS1zdG9yaWVzLnNjc3MiLCJ3ZWJwYWNrOi8vL3RlbXBsYXRlcy9wYWdlcy90cnVlLXN0b3J5LWRldGFpbC9faGVyby1zZWN0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vL3RlbXBsYXRlcy9wYWdlcy90cnVlLXN0b3J5LWRldGFpbC9fbWFycXVlZS1zZWN0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vL3RlbXBsYXRlcy9wYWdlcy90cnVlLXN0b3J5LWRldGFpbC9fc3RhdHMtc2VjdGlvbi5zY3NzIiwid2VicGFjazovLy90ZW1wbGF0ZXMvcGFnZXMvdHJ1ZS1zdG9yeS1kZXRhaWwvX3RoZW1lLnNjc3MiLCJ3ZWJwYWNrOi8vL3RlbXBsYXRlcy9wYWdlcy90cnVlLXN0b3J5LWRldGFpbC9fZGV2aWNlcy1zZWN0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vL3RlbXBsYXRlcy9wYWdlcy90cnVlLXN0b3J5LWRldGFpbC9fY2hhbGxlbmdlLXNlY3Rpb24uc2NzcyIsIndlYnBhY2s6Ly8vdGVtcGxhdGVzL3BhZ2VzL3RydWUtc3RvcnktZGV0YWlsL19kaXNjb3Zlcnktc2VjdGlvbi5zY3NzIiwid2VicGFjazovLy90ZW1wbGF0ZXMvcGFnZXMvdHJ1ZS1zdG9yeS1kZXRhaWwvX3F1b3RlLXNlY3Rpb24uc2NzcyIsIndlYnBhY2s6Ly8vdGVtcGxhdGVzL3BhZ2VzL3RydWUtc3RvcnktZGV0YWlsL19zdGF0ZW1lbnQtc2VjdGlvbi5zY3NzIiwid2VicGFjazovLy90ZW1wbGF0ZXMvcGFnZXMvdHJ1ZS1zdG9yeS1kZXRhaWwvX3RpbWVsaW5lLXNlY3Rpb24uc2NzcyIsIndlYnBhY2s6Ly8vdGVtcGxhdGVzL3BhZ2VzL3RydWUtc3RvcnktZGV0YWlsL3RydWUtc3RvcnktZGV0YWlsLnNjc3MiLCJ3ZWJwYWNrOi8vL3RlbXBsYXRlcy9wYWdlcy9jb250YWN0LXVzL19oZXJvLXNlY3Rpb24uc2NzcyIsIndlYnBhY2s6Ly8vdGVtcGxhdGVzL3BhZ2VzL2NvbnRhY3QtdXMvX2xvY2F0aW9ucy1zZWN0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vL3RlbXBsYXRlcy9wYWdlcy9jb250YWN0LXVzL19lbnF1aXJpZXMtc2VjdGlvbi5zY3NzIiwid2VicGFjazovLy9jb21tb24vY2hhdC1kcmF3ZXIvX2RyYXdlci1jb21tb24uc2NzcyIsIndlYnBhY2s6Ly8vdGVtcGxhdGVzL3BhZ2VzL2NvbnRhY3QtdXMvX2NoYXQtc2VjdGlvbi5zY3NzIiwid2VicGFjazovLy90ZW1wbGF0ZXMvcGFnZXMvY29udGFjdC11cy9jb250YWN0LXVzLnNjc3MiLCJ3ZWJwYWNrOi8vL3RlbXBsYXRlcy9wYWdlcy9sZWFkZXJzaGlwL190ZWFtLXNlY3Rpb24uc2NzcyIsIndlYnBhY2s6Ly8vdGVtcGxhdGVzL3BhZ2VzL2xlYWRlcnNoaXAvX3Byb2ZpbGUtZHJhd2VyLnNjc3MiLCJ3ZWJwYWNrOi8vL3RlbXBsYXRlcy9wYWdlcy9sZWFkZXJzaGlwL2xlYWRlcnNoaXAuc2NzcyIsIndlYnBhY2s6Ly8vdGVtcGxhdGVzL3BhZ2VzL2ZvdW5kYXRpb24vX2NsaWVudC1zcGVha3Mtc2VjdGlvbi5zY3NzIiwid2VicGFjazovLy90ZW1wbGF0ZXMvcGFnZXMvZm91bmRhdGlvbi9fc2hhcmVkLnNjc3MiLCJ3ZWJwYWNrOi8vL3RlbXBsYXRlcy9wYWdlcy9mb3VuZGF0aW9uL19wYXJ0bmVycy1zZWN0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vL3RlbXBsYXRlcy9wYWdlcy9mb3VuZGF0aW9uL190cmFpbmluZy1zZWN0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vL3RlbXBsYXRlcy9wYWdlcy9mb3VuZGF0aW9uL19ub3Rlcy1zZWN0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vL3RlbXBsYXRlcy9wYWdlcy9mb3VuZGF0aW9uL2ZvdW5kYXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vdGVtcGxhdGVzL3BhZ2VzL3RlY2hub2xvZ3kvX3Byb2plY3QtdHlwZXMtc2VjdGlvbi5zY3NzIiwid2VicGFjazovLy90ZW1wbGF0ZXMvcGFnZXMvYmxvZy9faGVyby1zZWN0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vL3RlbXBsYXRlcy9wYWdlcy9ibG9nL19jYXJkcy5zY3NzIiwid2VicGFjazovLy90ZW1wbGF0ZXMvcGFnZXMvYmxvZy9fZmVhdHVyZWQtc2VjdGlvbi5zY3NzIiwid2VicGFjazovLy90ZW1wbGF0ZXMvcGFnZXMvYmxvZy9fYXJ0aWNsZXMtc2VjdGlvbi5zY3NzIiwid2VicGFjazovLy90ZW1wbGF0ZXMvcGFnZXMvYmxvZy9ibG9nLnNjc3MiLCJ3ZWJwYWNrOi8vL3RlbXBsYXRlcy9wYWdlcy9nY2MvX2hpcmluZy1lY29zeXN0ZW0tc2VjdGlvbi5zY3NzIiwid2VicGFjazovLy90ZW1wbGF0ZXMvcGFnZXMvYmxvZy1kZXRhaWxzL19oZXJvLXNlY3Rpb24uc2NzcyIsIndlYnBhY2s6Ly8vdGVtcGxhdGVzL3BhZ2VzL2Jsb2ctZGV0YWlscy9fYXJ0aWNsZS1zZWN0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vL3RlbXBsYXRlcy9wYWdlcy9ibG9nLWRldGFpbHMvX3JlbGF0ZWQtc2VjdGlvbi5zY3NzIiwid2VicGFjazovLy90ZW1wbGF0ZXMvcGFnZXMvYmxvZy1kZXRhaWxzL2Jsb2ctZGV0YWlscy5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29tcG9uZW50c1xuICovXG5AaW1wb3J0IFwiLi90ZW1wbGF0ZXMvcGFnZXMvY29yZS9iZC1tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIuL3RlbXBsYXRlcy9wYWdlcy9zZXJ2aWNlbm93L3NlcnZpY2Vub3cuc2Nzc1wiO1xuQGltcG9ydCBcIi4vdGVtcGxhdGVzL3BhZ2VzL3NlcnZpY2Vub3cvaGVyby1zZWN0aW9uLnNjc3NcIjtcbkBpbXBvcnQgXCIuL3RlbXBsYXRlcy9wYWdlcy9zZXJ2aWNlbm93L3BhcmFsbGF4LWNhcmRzLXNlY3Rpb24uc2Nzc1wiO1xuQGltcG9ydCBcIi4vdGVtcGxhdGVzL3BhZ2VzL3NlcnZpY2Vub3cvbGV0cy10YWxrLXNlY3Rpb24uc2Nzc1wiO1xuQGltcG9ydCBcIi4vdGVtcGxhdGVzL3BhZ2VzL3NlcnZpY2Vub3cvcGFyYWxsYXgtYnJpZGdlLnNjc3NcIjtcbkBpbXBvcnQgXCIuL3RlbXBsYXRlcy9wYWdlcy9zZXJ2aWNlbm93L3Njcm9sbC10YWJzLXNlY3Rpb24uc2Nzc1wiO1xuQGltcG9ydCBcIi4vdGVtcGxhdGVzL3BhZ2VzL3NlcnZpY2Vub3cvc2hvd2Nhc2Utc2VjdGlvbi5zY3NzXCI7XG5AaW1wb3J0IFwiLi90ZW1wbGF0ZXMvcGFnZXMvc2VydmljZW5vdy90YWxrLWRyYXdlci5zY3NzXCI7XG5AaW1wb3J0IFwiLi90ZW1wbGF0ZXMvcGFnZXMvZW50ZXJwcmlzZS1yZWFkaW5lc3MvZW50ZXJwcmlzZS1yZWFkaW5lc3Muc2Nzc1wiO1xuQGltcG9ydCBcIi4vdGVtcGxhdGVzL3BhZ2VzL2VudGVycHJpc2UtcmVhZGluZXNzL2hlcm8tc2VjdGlvbi5zY3NzXCI7XG5AaW1wb3J0IFwiLi90ZW1wbGF0ZXMvcGFnZXMvZW50ZXJwcmlzZS1yZWFkaW5lc3MvY29uZmlkZW5jZS1zZWN0aW9uLnNjc3NcIjtcbkBpbXBvcnQgXCIuL3RlbXBsYXRlcy9wYWdlcy9lbnRlcnByaXNlLXJlYWRpbmVzcy9kZWxpdmVyeS1zZWN0aW9uLnNjc3NcIjtcbkBpbXBvcnQgXCIuL3RlbXBsYXRlcy9wYWdlcy9lbnRlcnByaXNlLXJlYWRpbmVzcy9kaXNjaXBsaW5lcy1zZWN0aW9uLnNjc3NcIjtcbkBpbXBvcnQgXCIuL3RlbXBsYXRlcy9wYWdlcy9lbnRlcnByaXNlLXJlYWRpbmVzcy9tZXRyaWNzLXNlY3Rpb24uc2Nzc1wiO1xuQGltcG9ydCBcIi4vdGVtcGxhdGVzL3BhZ2VzL2VudGVycHJpc2UtcmVhZGluZXNzL3RlYW0tc2VjdGlvbi5zY3NzXCI7XG5AaW1wb3J0IFwiLi90ZW1wbGF0ZXMvcGFnZXMvY2FyZWVyLWRldGFpbHMuc2Nzc1wiO1xuQGltcG9ydCBcIi4vdGVtcGxhdGVzL3BhZ2VzL2NhcmVlcnMuc2Nzc1wiO1xuQGltcG9ydCBcIi4vdGVtcGxhdGVzL3BhZ2VzL3RydWUtc3Rvcmllcy90cnVlLXN0b3JpZXMuc2Nzc1wiO1xuQGltcG9ydCBcIi4vdGVtcGxhdGVzL3BhZ2VzL3RydWUtc3RvcnktZGV0YWlsL3RydWUtc3RvcnktZGV0YWlsLnNjc3NcIjtcbkBpbXBvcnQgXCIuL3RlbXBsYXRlcy9wYWdlcy9jb250YWN0LXVzL2NvbnRhY3QtdXMuc2Nzc1wiO1xuQGltcG9ydCBcIi4vdGVtcGxhdGVzL3BhZ2VzL2xlYWRlcnNoaXAvbGVhZGVyc2hpcC5zY3NzXCI7XG5AaW1wb3J0IFwiLi90ZW1wbGF0ZXMvcGFnZXMvbGVhZGVyc2hpcC90ZWFtLXNlY3Rpb24uc2Nzc1wiO1xuQGltcG9ydCBcIi4vdGVtcGxhdGVzL3BhZ2VzL2xlYWRlcnNoaXAvcHJvZmlsZS1kcmF3ZXIuc2Nzc1wiO1xuQGltcG9ydCBcIi4vdGVtcGxhdGVzL3BhZ2VzL2ZvdW5kYXRpb24vZm91bmRhdGlvbi5zY3NzXCI7XG5AaW1wb3J0IFwiLi90ZW1wbGF0ZXMvcGFnZXMvZm91bmRhdGlvbi9jbGllbnQtc3BlYWtzLXNlY3Rpb24uc2Nzc1wiO1xuQGltcG9ydCBcIi4vdGVtcGxhdGVzL3BhZ2VzL2ZvdW5kYXRpb24vcGFydG5lcnMtc2VjdGlvbi5zY3NzXCI7XG5AaW1wb3J0IFwiLi90ZW1wbGF0ZXMvcGFnZXMvZm91bmRhdGlvbi90cmFpbmluZy1zZWN0aW9uLnNjc3NcIjtcbkBpbXBvcnQgXCIuL3RlbXBsYXRlcy9wYWdlcy9mb3VuZGF0aW9uL25vdGVzLXNlY3Rpb24uc2Nzc1wiO1xuQGltcG9ydCBcIi4vdGVtcGxhdGVzL3BhZ2VzL2ZvdW5kYXRpb24vc2hhcmVkLnNjc3NcIjtcbkBpbXBvcnQgXCIuL3RlbXBsYXRlcy9wYWdlcy90ZWNobm9sb2d5L3RlY2hub2xvZ3kuc2Nzc1wiO1xuQGltcG9ydCBcIi4vdGVtcGxhdGVzL3BhZ2VzL2Jsb2cvYmxvZy5zY3NzXCI7XG5AaW1wb3J0IFwiLi90ZW1wbGF0ZXMvcGFnZXMvZ2NjL2djYy5zY3NzXCI7XG5AaW1wb3J0IFwiLi90ZW1wbGF0ZXMvcGFnZXMvYmxvZy1kZXRhaWxzL2Jsb2ctZGV0YWlscy5zY3NzXCI7XG4iLCIvLyBJbXBvcnRlZCBpbnNpZGUgdGhlIGFydGljbGUtY29udGVudCBzY29wZSBmcm9tIG1haW4uc2Nzcy4gYCZgIGJlbG93ID09XG4vLyAgIDp3aGVyZShib2R5LmJsb2ctZGV0YWlsLXBhZ2UgLmJkLWFydGljbGUtc2VjdGlvbl9fY29udGVudClcbi8vIChmb250cy9mb250cy5jc3MgaXMgaW1wb3J0ZWQgYXQgdGhlIHRvcCBsZXZlbCBvZiBtYWluLnNjc3Mg4oCUIEBmb250LWZhY2Vcbi8vIGNhbm5vdCBiZSBuZXN0ZWQgaW5zaWRlIGEgc3R5bGUgcnVsZS4pXG5cbiYge1xuICBmb250LWZhbWlseTogXCJMZXhlbmRcIiwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjb2xvcjogJGNoYXJjb2FsLWdyYXk7XG5cbiAgLy8gYG1hcmdpbjogMGAgYW5kIGBiYWNrZ3JvdW5kOiAkbGlnaHQtY3JlYW1gIHdlcmUgZHJvcHBlZCBoZXJlLiBUaGV5IHdlcmVcbiAgLy8gd3JpdHRlbiBmb3IgPGJvZHk+LCBhbmQgdGhpcyBibG9jayBub3cgcmVzb2x2ZXMgdG8gdGhlIGFydGljbGUgY29udGVudCBkaXYg4oCUXG4gIC8vIHRoZSBiYWNrZ3JvdW5kIHdvdWxkIHBhaW50IGEgcmVkdW5kYW50IGNyZWFtIHBhbmVsIGJlaGluZCB0aGUgY29weSwgYW5kIHRoZVxuICAvLyBtYXJnaW4gcmVzZXQgaXMgbWVhbmluZ2xlc3Mgb24gYSBkaXYuIFRoZSBwYWdlIGJhY2tncm91bmQgY29tZXMgZnJvbVxuICAvLyAuYmQtYXJ0aWNsZS1zZWN0aW9uIG9uIHRoZSBuZXcgdGVtcGxhdGUsIGFuZCBmcm9tIHRoZSBib2R5IG9uIHByb2R1Y3Rpb24uXG5cbiAgJjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAmOjpiZWZvcmUge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICBhcnRpY2xlLFxuICBhc2lkZSxcbiAgZGV0YWlscyxcbiAgZmlnY2FwdGlvbixcbiAgZmlndXJlLFxuICBmb290ZXIsXG4gIGhlYWRlcixcbiAgaGdyb3VwLFxuICBtYWluLFxuICBtZW51LFxuICBuYXYsXG4gIHNlY3Rpb24sXG4gIHN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgYXVkaW8sXG4gIGNhbnZhcyxcbiAgcHJvZ3Jlc3MsXG4gIHZpZGVvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGhlaWdodDogMDtcbiAgfVxuXG4gIFtoaWRkZW5dLFxuICB0ZW1wbGF0ZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICBhOmFjdGl2ZSxcbiAgYTpob3ZlciB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xuICB9XG5cbiAgYixcbiAgc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuXG4gIGRmbiB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICB9XG5cbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogODAlO1xuICB9XG5cbiAgc3ViLFxuICBzdXAge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cblxuICBzdXAge1xuICAgIHRvcDogLS41ZW07XG4gIH1cblxuICBzdWIge1xuICAgIGJvdHRvbTogLS4yNWVtO1xuICB9XG5cbiAgaW1nIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICBzdmc6bm90KDpyb290KSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiAxZW0gNDBweDtcbiAgfVxuXG4gIGhyIHtcbiAgICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIGhlaWdodDogMDtcbiAgfVxuXG4gIHByZSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICBjb2RlLFxuICBrYmQsXG4gIHByZSxcbiAgc2FtcCB7XG4gICAgZm9udC1zaXplOiAxZW07XG4gIH1cblxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgYnV0dG9uIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuXG4gIGJ1dHRvbixcbiAgc2VsZWN0IHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIGJ1dHRvbixcbiAgaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuICBpbnB1dFt0eXBlPVwicmVzZXRcIl0sXG4gIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gIGJ1dHRvbltkaXNhYmxlZF0sXG4gIGh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gIH1cblxuICBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG4gIGlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIGlucHV0IHtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICB9XG5cbiAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAgIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgfVxuXG4gIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIGZpZWxkc2V0IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICAgIG1hcmdpbjogMCAycHg7XG4gICAgcGFkZGluZzogLjM1ZW0gLjYyNWVtIC43NWVtO1xuICB9XG5cbiAgbGVnZW5kIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIHRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIG9wdGdyb3VwIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuXG4gIHRhYmxlIHtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICB9XG5cbiAgdGQsXG4gIHRoIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy9IRUFESU5HU1xuXG4gIC5kaXNwbGF5LWxhcmdlIHtcbiAgICBmb250LXNpemU6IDcycHg7XG4gICAgbGluZS1oZWlnaHQ6IDgwcHg7XG4gIH1cblxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2LFxuICBwIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICBoMSB7XG4gICAgZm9udC1zaXplOiA2NHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA4MHB4O1xuICB9XG5cbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogNDhweDtcbiAgICBsaW5lLWhlaWdodDogNTZweDtcbiAgfVxuXG4gIGgzIHtcbiAgICBmb250LXNpemU6IDMycHg7XG4gICAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gIH1cblxuICBoNCB7XG4gICAgZm9udC1zaXplOiAzMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICB9XG5cbiAgaDUge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgfVxuXG4gIGg2IHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIH1cblxuICBoNi5oNi11cHBlcmNhc2UtbGlnaHQge1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gIC8vUEFSQUdSQVBIU1xuXG4gIHAucDEge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgfVxuXG4gIHAucDEubGFyZ2UtcmVndWxhciB7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgfVxuXG4gIHAucDEubGFyZ2UtbWVkaXVtIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICB9XG5cbiAgcC5wMiB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICB9XG5cbiAgcC5wMi5iYXNlLWxpZ2h0IHtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICB9XG5cbiAgcC5wMi5iYXNlLW1lZGl1bSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuXG4gIHAucDMge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgfVxuXG4gIHAucDMuc21hbGwtbGlnaHQge1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIH1cblxuICAvL0xBQkVMU1xuXG4gIC5sYXJnZS11cHBlcmNhc2Uge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAubWVkaXVtLXVwcGVyY2FzZSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgIH1cbiAgfVxuXG4gIC50YWctbmFtZSB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxMnB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICBidXR0b24uYnV0dG9uLWxhcmdlIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgYS5idXR0b24tbGFyZ2Uge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICBidXR0b24uYnV0dG9uLXNtYWxsIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gIGEuYnV0dG9uLXNtYWxsIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gIC5tZWRpdW0ge1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICB9XG5cbiAgLnNtYWxsLXVwcGVyY2FzZSB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxM3B4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAuY2FwdGlvbiB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICB9XG5cbiAgLy9URVNUSU1PTklBTFNcblxuICAucXVvdGUtbGFyZ2Uge1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgZm9udC1zaXplOiA2NHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA4OHB4O1xuICB9XG5cbiAgLnF1b3RlLW1lZGl1bSB7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXNpemU6IDQ4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDY0cHg7XG4gIH1cblxuICAucXVvdGUtc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgfVxuXG4gIC5xdW90ZS1leHRyYS1zbWFsbCB7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDMycHg7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBMZXhlbmQ7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgfVxuICB9XG5cbiAgLmNsaWVudC1uYW1lLWxhcmdlIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICBsaW5lLWhlaWdodDogNDhweDtcbiAgfVxuXG4gIC5jbGllbnQtbmFtZS1zbWFsbCB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gIC5jbGllbnQtdGl0bGUtbGFyZ2Uge1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzNnB4O1xuICB9XG5cbiAgLmNsaWVudC10aXRsZS1zbWFsbCB7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBmb250LWZhbWlseTogTGV4ZW5kO1xuICAgIH1cbiAgfVxuXG4gIC8vU1RBVFNcblxuICAuc3RhdC1oZWFkaW5nIHtcbiAgICBmb250LXNpemU6IDU2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDY0cHg7XG4gIH1cblxuICAuc3RhdC1oZWFkaW5nLWFjY2VudHMge1xuICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICBsaW5lLWhlaWdodDogNjRweDtcbiAgfVxuXG4gIC5zdGF0LXRleHQge1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICB9XG5cbiAgLnNlY3Rpb24taGVhZGluZyB7XG4gICAgaDIge1xuICAgICAgY29sb3I6ICRjaGFyY29hbC1ncmF5O1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIHNwYW4ge1xuICAgICAgICBjb2xvcjogJHJlZDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyogUmVzcG9uc2l2ZSAqL1xuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC8vSEVBRElOR1NcbiAgICAuZGlzcGxheS1sYXJnZSB7XG4gICAgICBmb250LXNpemU6IDY0cHg7XG4gICAgICBsaW5lLWhlaWdodDogNzJweDtcbiAgICB9XG5cbiAgICBoMSB7XG4gICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICBsaW5lLWhlaWdodDogNDRweDtcbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICB9XG5cbiAgICBoNCB7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICB9XG5cbiAgICBoNSB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICB9XG5cbiAgICAvL1BBUkFHUkFQSFNcblxuICAgIHAucDEge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDM0cHg7XG4gICAgfVxuXG4gICAgcC5wMiB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICB9XG5cbiAgICAvL1RFU1RJTU9OSUFMU1xuXG4gICAgLnF1b3RlLWxhcmdlIHtcbiAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgIH1cblxuICAgIC5xdW90ZS1tZWRpdW0ge1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgfVxuXG4gICAgLnF1b3RlLXNtYWxsIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgIH1cblxuICAgIC5xdW90ZS1leHRyYS1zbWFsbCB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICB9XG5cbiAgICAuY2xpZW50LW5hbWUtbGFyZ2Uge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgfVxuXG4gICAgLmNsaWVudC1uYW1lLXNtYWxsIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgLmNsaWVudC10aXRsZS1sYXJnZSB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICB9XG5cbiAgICAuY2xpZW50LXRpdGxlLXNtYWxsIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB9XG5cbiAgICAvL1NUQVRTXG5cbiAgICAuc3RhdC1oZWFkaW5nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICBsaW5lLWhlaWdodDogNjBweDtcbiAgICB9XG5cbiAgICAuc3RhdC10ZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgIH1cblxuICAgIGJ1dHRvbi5idXR0b24tc21hbGwge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gICAgfVxuXG4gICAgYS5idXR0b24tc21hbGwge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gICAgfVxuICB9XG59XG5cbiYge1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xufVxuXG4uYXJyb3ctaGVhZGluZyB7XG4gIC5saW5rLXdpdGgtYXJyb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiAkcmVkO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIHAge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gICAgXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgaW1nLHN2ZyB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkcmVkO1xuICAgIH1cblxuICAgIGltZyxzdmcge1xuICAgICAgbWFyZ2luOiAwIDAgMHB4IDVweDtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLjNzO1xuICAgICAgLW8tdHJhbnNpdGlvbjogLjNzO1xuICAgICAgdHJhbnNpdGlvbjogLjNzO1xuICAgIH1cbiAgfVxufVxuXG4ucXVvdGUtYmxvZyB7XG4gIG1hcmdpbjogNTZweCAwO1xuICBwYWRkaW5nOiAwIDU2cHg7XG4gIC5xdW90ZS1jb250YWluZXIge1xuICAgIC5xdW90ZXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiAzMnB4O1xuICAgICAgaDQge1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgfVxuICAgIH1cbiAgICBociB7XG4gICAgICB3aWR0aDogOTZweDtcbiAgICAgIGhlaWdodDogOHB4O1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHJlZDtcbiAgICAgIGJhY2tncm91bmQ6ICRyZWQ7XG4gICAgICBtYXJnaW4tdG9wOiAzMnB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgICAuYXV0aG9yLWRldGFpbCB7XG4gICAgICBoNiB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIH1cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgaDEuZGlzcGxheS1sYXJnZSB7XG4gICAgZm9udC1zaXplOiA0NnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8gUkVNT1ZFRDogdGhlIGxlZ2FjeSBgLmliLWJsb2NrLWNvbnRlbnRgIGFydGljbGUtYm9keSBibG9jayAod2FzIH41NTAgbGluZXMpXG4vLyBhbmQgaXRzIGBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIC5jb250YWluZXIuaWItYmxvY2stY29udGVudGAgY29tcGFuaW9uLlxuLy9cbi8vIHRoZW1lLWFydGljbGUuc2NzcyBzdXBlcnNlZGVzIGJvdGguIFRoZXkgYWxzbyBoYWQgdG8gZ28gZm9yIGEgY29ycmVjdG5lc3Ncbi8vIHJlYXNvbjogYmVjYXVzZSAuaWItYmxvY2stY29udGVudCBzaXRzIE9VVFNJREUgdGhlIDp3aGVyZSgpIHNjb3BlIGl0IGNvdW50ZWRcbi8vIHRvd2FyZCBzcGVjaWZpY2l0eSwgbWFraW5nIHRob3NlIHJ1bGVzICgwLDEsMSkg4oCUIHdoaWNoIGJlYXQgdGhlbWUtYXJ0aWNsZSdzXG4vLyAoMCwwLDEpLiBPbiBwcm9kdWN0aW9uLCB3aGVyZSB0aGUgd3JhcHBlciBJUyAuaWItYmxvY2stY29udGVudCwgdGhlIGxlZ2FjeVxuLy8gdHlwZSBzaWxlbnRseSB3b24gYW5kIHRoZSB0aGVtaW5nIG9ubHkgdG9vayBlZmZlY3Qgb24gdGhlIG5ldyB0ZW1wbGF0ZS5cbi8vIFJlbW92ZWQ6IHRoZSBvbGQgYGJvZHkuc2luZ2xlLXBvc3QgLndwLWJsb2NrLWhlYWRpbmcgeyBtYXJnaW4tdG9wOiA2NnB4XG4vLyAhaW1wb3J0YW50IH1gIHBhaXIgKGFuZCBpdHMgMjBweCDiiaQ1NzVweCBjb3VudGVycGFydCkuIEhlYWRpbmcgcmh5dGhtIGlzIG5vd1xuLy8gb3duZWQgYnkgdGhlbWUtYXJ0aWNsZS5zY3NzLCB3aGljaCB1c2VzIHRoZSB0aGVtZSdzIDgwcHggYmxvY2sgZ2FwOyB0aGVcbi8vICFpbXBvcnRhbnQgaGVyZSB3b3VsZCBoYXZlIG92ZXJyaWRkZW4gaXQuXG5cbi5tYi0wIHtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuIiwiLy8gSW1wb3J0ZWQgaW5zaWRlIHRoZSBhcnRpY2xlLWNvbnRlbnQgc2NvcGUgZnJvbSBtYWluLnNjc3MuXG5tYXJrLnJlZC1mb250LWNvbG9yLXRleHQge1xuICBjb2xvcjogJHJlZDtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbn1cbiIsIi8vIHdwLWN1c3RvbS9jb3JlL3RoZW1lLWFydGljbGUuc2Nzc1xuLy9cbi8vIEFydGljbGUgYm9keSwgcmVzdHlsZWQgdG8gdGhlIHJlZGVzaWduIHRoZW1lLlxuLy9cbi8vIFdIWSBUSElTIEZJTEUgRVhJU1RTXG4vLyBUaGUgcmVzdCBvZiB0aGlzIGZvbGRlciBzdHlsZXMgdGhlIGFydGljbGUgY29weSB0aHJvdWdoIHR3byB3cmFwcGVycyDigJRcbi8vIGAuY29yZS1ibG9ja2AgYW5kIGAuaWItYmxvY2stY29udGVudGAuIE5laXRoZXIgY2xhc3MgYXBwZWFycyBpbiB0aGUgcmVuZGVyZWRcbi8vIHBhZ2U6IFdvcmRQcmVzcyBkcm9wcyByYXcgR3V0ZW5iZXJnIG1hcmt1cCBzdHJhaWdodCBpbnRvXG4vLyBgLmJkLWFydGljbGUtc2VjdGlvbl9fY29udGVudGAgKGJhcmUgYDxwPmAsIGA8aDIgY2xhc3M9XCJ3cC1ibG9jay1oZWFkaW5nXCI+YCxcbi8vIGA8dWwgY2xhc3M9XCJ3cC1ibG9jay1saXN0XCI+YCwg4oCmKS4gU28gdGhvc2UgcnVsZXMgbmV2ZXIgbWF0Y2gsIGFuZCB0aGUgY29weSB3YXNcbi8vIGZhbGxpbmcgdGhyb3VnaCB0byB0aGUgZ2VuZXJpYyBlbGVtZW50IGRlZmF1bHRzIGluIHR5cG9ncmFwaHkuc2Nzc1xuLy8gKGgyIDQ4LzU2LCB1bnN0eWxlZCBgcGApIGluc3RlYWQgb2YgdGhlIHRoZW1lJ3Mgb3duIHR5cGUuXG4vL1xuLy8gVGhlIHRoZW1lJ3Mgb3duIGNvcHkgcnVsZXMgZG9uJ3QgbWF0Y2ggZWl0aGVyLCBmb3IgdGhlIG1pcnJvci1pbWFnZSByZWFzb246XG4vLyBgX2FydGljbGUtc2VjdGlvbi5zY3NzYCBzdHlsZXMgYC5iZC1hcnRpY2xlLXNlY3Rpb25fX3RleHRgIC8gYF9fbGlzdGAgL1xuLy8gYF9faGVhZGluZ2AsIHdoaWNoIG9ubHkgZXhpc3QgaW4gdGhlIGhhbmQtYXV0aG9yZWQgYmxvZy1kZXRhaWxzLmh0bWwuIFRoZVxuLy8gdGVtcGxhdGUgcmVuZGVycyB0aGUgd3JhcHBlciBhbmQgdGhlIG1ldGEgcmFpbCB3aXRoIHRob3NlIGNsYXNzZXMsIG5ldmVyIHRoZVxuLy8gY29weS4gVGhpcyBmaWxlIGZpbGxzIHRoYXQgZ2FwIOKAlCBpdCByZXN0YXRlcyB0aGUgdGhlbWUncyBhcnRpY2xlIHR5cGUgYWdhaW5zdFxuLy8gdGhlIGVsZW1lbnQvR3V0ZW5iZXJnIHNlbGVjdG9ycyBXb3JkUHJlc3MgYWN0dWFsbHkgZW1pdHMuXG4vL1xuLy8gU0NPUEUg4oCUIHRoaXMgZmlsZSBjYXJyaWVzIGl0cyBvd24gc2NvcGUgYW5kIGlzIGltcG9ydGVkIGF0IHRoZSBUT1AgbGV2ZWwgb2Zcbi8vIGJkLW1haW4uc2Nzcy4gSXQgZG9lcyBub3QgZGVwZW5kIG9uIGFueSB3cmFwcGVyIGFyb3VuZCBpdC5cbi8vXG4vLyAgICAgYm9keS5ibG9nLWRldGFpbC1wYWdlIC5iZC1hcnRpY2xlLXNlY3Rpb25fX2NvbnRlbnRcbi8vXG4vLyBHYXRlZCBvbiBib2R5LmJsb2ctZGV0YWlsLXBhZ2UsIHNvIG5vdGhpbmcgaGVyZSBjYW4gcmVhY2ggYW5vdGhlciB0ZW1wbGF0ZSxcbi8vIGFuZCB0aGUgd3JhcHBlciBhcHBlYXJzIGluIHRoZSBET00gb2Ygbm8gbm9uLWJsb2cgcGFnZSAoY2hlY2tlZCBob21lLFxuLy8gY29udGFjdC11cywgY2FyZWVycywgc2VydmljZW5vdykuIFZlcmlmaWVkIGFnYWluc3QgMzQgbGl2ZSBhcnRpY2xlIGJvZGllcyDigJRcbi8vIDI2IHByb2R1Y3Rpb24gcG9zdHMgc3Bhbm5pbmcgMjAwOOKAkzIwMjYsIHBsdXMgOCBvbiBzdGFnaW5nLlxuLy9cbi8vIENvbnNlcXVlbmNlIHdvcnRoIGtub3dpbmc6IHVudGlsIGJvZHkuYmxvZy1kZXRhaWwtcGFnZSBpcyBlbWl0dGVkLCB0aGlzIGZpbGVcbi8vIGlzIGluZXJ0IEVWRVJZV0hFUkUuIFRoYXQgaXMgdGhlIHNhZmV0eSBzd2l0Y2gg4oCUIGRlcGxveSBpdCB3aGVuZXZlciwgaXQgZG9lc1xuLy8gbm90aGluZyB1bnRpbCB0aGUgY2xhc3MgbGFuZHMgb24gdGhlIHNpbmdsZS1wb3N0IHRlbXBsYXRlLlxuLy9cbi8vIFNvdXJjZSBvZiB0cnV0aCBmb3IgZXZlcnkgdmFsdWUgYmVsb3c6XG4vLyAgIGFzc2V0cy9zY3NzL3BhZ2VzL2Jsb2ctZGV0YWlscy9fYXJ0aWNsZS1zZWN0aW9uLnNjc3Ncbi8vICAgYXNzZXRzL3Njc3MvcGFnZXMvX3V0aWxzLnNjc3MgKCRpYi10eXBlLXNjYWxlLCAkaWItc3BhY2luZylcblxuLy8g4pSA4pSAIFR5cGUg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyByZW0sIG5vdCBweCwgYmVjYXVzZSB0aGUgdGhlbWUgZHJpdmVzIGEgZmx1aWQgcm9vdDpcbi8vICAgaHRtbCB7IGZvbnQtc2l6ZTogY2xhbXAoMTRweCwgMTAwdncvMTA4LCAxNnB4KSB9IGFib3ZlIDEwMjRweCwgMTZweCBiZWxvdy5cbi8vIHB4IGhlcmUgd291bGQgc3RheSBwaW5uZWQgd2hpbGUgdGhlIHJlc3Qgb2YgdGhlIHBhZ2Ugc2NhbGVkLiBWYWx1ZXMgYXJlXG4vLyBweC8xNiAobWF0Y2hpbmcgaWItcmVtKCkpOyBsaW5lLWhlaWdodHMgYXJlIHVuaXRsZXNzIHJhdGlvcyBzbyB0aGV5IHRyYWNrIHRoZVxuLy8gZm9udCBzaXplLiBtYXgo4oCmLCAxMnB4KSBtaXJyb3JzIHRoZSAxMnB4IGZsb29yIHRoYXQgaWItdHlwZSgpIGVuZm9yY2VzLlxuXG4vLyAkaWItZm9udC1zdGFjayBmcm9tIF91dGlscy5zY3NzXG4kYmQtZm9udC1zdGFjazogXCJMZXhlbmRcIiwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgc2Fucy1zZXJpZjtcblxuLy8gYm9keS1sYXJnZSDigJQgTGV4ZW5kIDMwMCAyMC8zNCAoZGVza3RvcCBjb3B5KVxuJGJkLWJvZHktc2l6ZTogICAgICAgIDEuMjVyZW07ICAgLy8gMjBweFxuJGJkLWJvZHktbGluZTogICAgICAgIDEuNzsgICAgICAgLy8gMzQvMjBcblxuLy8gYm9keS1tZWRpdW0g4oCUIExleGVuZCAzMDAgMTgvMzAgKOKJpDEwMjRweCBjb3B5KVxuJGJkLWJvZHktc20tc2l6ZTogICAgIDEuMTI1cmVtOyAgLy8gMThweFxuJGJkLWJvZHktc20tbGluZTogICAgIDEuNjY2NzsgICAgLy8gMzAvMThcblxuLy8gYm9keS1leHRyYS1sYXJnZSDigJQgTGV4ZW5kIDI1MCAyNC80MCAocHVsbCBxdW90ZXMpXG4kYmQtcXVvdGUtc2l6ZTogICAgICAgMS41cmVtOyAgICAvLyAyNHB4XG4kYmQtcXVvdGUtbGluZTogICAgICAgMS42NjY3OyAgICAvLyA0MC8yNFxuXG4vLyBjYXB0aW9uLWxhcmdlIOKAlCBMZXhlbmQgMzAwIDE0LzIyIChmaWdjYXB0aW9uLCB0YWJsZSBib2R5KVxuJGJkLWNhcHRpb24tc2l6ZTogICAgIC44NzVyZW07ICAvLyAxNHB4XG4kYmQtY2FwdGlvbi1saW5lOiAgICAgMS41NzE0OyAgICAvLyAyMi8xNFxuXG4vLyBIZWFkaW5nIHJhbXAuIGgyIGlzIHRoZSB0aGVtZSdzIGBfX2hlYWRpbmdgIHZlcmJhdGltIChMZXhlbmQgNDAwIDQwLzQ4LFxuLy8gdHJhY2tpbmcgLTAuOHB4KSBiZWNhdXNlIGFydGljbGUgc2VjdGlvbiBoZWFkaW5ncyByZW5kZXIgYXMgaDIuIFRoZSByZXN0IHN0ZXBcbi8vIGFyb3VuZCBpdCB1c2luZyAkaWItdHlwZS1zY2FsZSBib3hlcyBhdCB3ZWlnaHQgNDAwIGZvciBhIGNvbnNpc3RlbnQgcmFtcDpcbi8vIGgxIGhlYWRsaW5lLXdlYi1sYXJnZSwgaDMgaGVhZGxpbmUtd2ViLXNtYWxsLCBoNCBoZWFkbGluZS1tb2JpbGUtbGFyZ2UsXG4vLyBoNSBoZWFkbGluZS1tb2JpbGUtbWVkaXVtLCBoNiBoZWFkbGluZS1tb2JpbGUtc21hbGwuXG4kYmQtaDEtc2l6ZTogIDNyZW07XG4kYmQtaDEtbGluZTogIDEuMzMzMzsgIC8vIDQ4LzY0XG4kYmQtaDItc2l6ZTogIDIuNXJlbTtcbiRiZC1oMi1saW5lOiAgMS4yOyAgICAgLy8gNDAvNDggIOKGkCB0aGVtZSBfX2hlYWRpbmdcbiRiZC1oMy1zaXplOiAgMnJlbTtcbiRiZC1oMy1saW5lOiAgMS41OyAgICAgLy8gMzIvNDhcbiRiZC1oNC1zaXplOiAgMS43NXJlbTtcbiRiZC1oNC1saW5lOiAgMS4zNTcxOyAgLy8gMjgvMzhcbiRiZC1oNS1zaXplOiAgMS41cmVtO1xuJGJkLWg1LWxpbmU6ICAxLjQxNjc7ICAvLyAyNC8zNFxuJGJkLWg2LXNpemU6ICAxLjI1cmVtO1xuJGJkLWg2LWxpbmU6ICAxLjQ7ICAgICAvLyAyMC8yOFxuJGJkLWgtd2VpZ2h0OiA0MDA7XG4kYmQtaC10cmFja2luZzogLS4wNXJlbTsgIC8vIC0wLjhweCwgYXMgaWItcmVtKCkgZW1pdHMgaXRcblxuLy8g4pSA4pSAIFJoeXRobSAoaWItc3BhY2Uga2V5cywgYXMgcmVtKSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiRiZC1nYXAtYmxvY2s6ICAgICA1cmVtOyAgICAgLy8gODBweCDigJQgX19ibG9jayArIF9fYmxvY2tcbiRiZC1nYXAtYmxvY2stMTogMnJlbTtcbiRiZC1nYXAtZmxvdzogICAgICAycmVtOyAgICAgLy8gMzJweCDigJQgX19ib2R5ID4gKiArICpcbiRiZC1nYXAtZmxvdy1zbTogICAxcmVtOyAgICAgLy8gMTZweCDigJQgbW9iaWxlXG4kYmQtZ2FwLWhlYWRpbmc6ICAgMi41cmVtOyAgIC8vIDQwcHgg4oCUIF9fYm9keSBtYXJnaW4tdG9wLCBpLmUuIGhlYWRpbmcg4oaSIGNvcHlcbiRiZC1nYXAtbGlzdDogICAgICAxLjVyZW07ICAgLy8gMjRweFxuLy8gMTZweCwgbWF0Y2hpbmcgcHJvZHVjdGlvbidzIGBib2R5IC5pYi1ibG9jay1jb250ZW50IHVsIGxpIHsgbWFyZ2luLWJvdHRvbSB9YC5cbi8vIFdhcyAwLjI1cmVtLzRweCwgd2hpY2ggcmVhZCBhcyBjcmFtcGVkIGFnYWluc3QgMjAvMzQgYm9keSBjb3B5IG9uY2UgYW4gaXRlbVxuLy8gd3JhcHBlZCB0byBhIHNlY29uZCBsaW5lLCBhbmQgd2FzIHRpZ2h0ZXIgb24gZGVza3RvcCB0aGFuIHRoZSAxMnB4IG1vYmlsZVxuLy8gdmFsdWUgYmVsb3cg4oCUIHRoZSBpbnZlcnNpb24gaXMgd2hhdCBtYWRlIGl0IG9idmlvdXMuXG4kYmQtZ2FwLWxpOiAgICAgICAgMXJlbTsgICAgIC8vIDE2cHhcbiRiZC1nYXAtbGktc206ICAgICAuNzVyZW07ICAvLyAxMnB4XG5cbi8vIE5lc3RlZC1wYXJhZ3JhcGggZmFsbGJhY2suIFRoZSBgPiAqICsgKmAgZmxvdyBydWxlIG9ubHkgcmVhY2hlcyBESVJFQ1Rcbi8vIGNoaWxkcmVuIG9mIHRoZSBzY29wZSwgc28gYSA8cD4gaW5zaWRlIGEgbGlzdCBpdGVtLCBjb2x1bW4sIGdyb3VwLCBkZXRhaWxzIG9yXG4vLyBhIG11bHRpLXBhcmFncmFwaCBxdW90ZSBnZXRzIG5vIGdhcCBhdCBhbGwgZnJvbSBpdC4gUHJvZHVjdGlvbiBoYWQgbm8gc3VjaFxuLy8gaG9sZTogYGJvZHkgLmliLWJsb2NrLWNvbnRlbnQgcCB7IG1hcmdpbjogMTJweCAwIH1gIGFwcGxpZWQgYXQgZXZlcnkgZGVwdGguXG4vL1xuLy8gVGhpcyBpcyBhIG1hcmdpbi1CT1RUT00sIHNvIGl0IGNvbGxhcHNlcyB3aXRoIHRoZSBmbG93IHJ1bGUncyBtYXJnaW4tdG9wXG4vLyByYXRoZXIgdGhhbiBhZGRpbmcgdG8gaXQgKC5iZC1hcnRpY2xlLXNlY3Rpb25fX2NvbnRlbnQgaXMgYSBwbGFpbiBibG9jayDigJQgaXRcbi8vIHNldHMgbWF4LXdpZHRoIGFuZCBub3RoaW5nIGVsc2UsIHNvIHNpYmxpbmcgbWFyZ2lucyBjb2xsYXBzZSBub3JtYWxseSk6XG4vLyB0b3AtbGV2ZWwgcCDihpIgcCBzdGF5cyBtYXgoMTJweCwgMzJweCkgPSAzMnB4LCB0aGUgcmh5dGhtIGlzIHVudG91Y2hlZCwgYW5kXG4vLyBvbmx5IHRoZSBuZXN0ZWQgY2FzZSDigJQgd2hpY2ggY3VycmVudGx5IHJlbmRlcnMgYXQgMCDigJQgcGlja3MgdXAgdGhlIDEycHguXG4kYmQtZ2FwLXA6ICAgICAgICAgLjc1cmVtOyAgLy8gMTJweFxuJGJkLWxpc3QtaW5kZW50OiAgIDEuNzVyZW07ICAvLyAyOHB4XG4kYmQtbGlzdC1pbmRlbnQtc206IDEuMTI1cmVtOyAvLyAxOHB4XG5cbi8vIFRoZSBhcnRpY2xlIG1vYmlsZSBzd2l0Y2ggaXMgdGhlIHRoZW1lJ3MgJGliLWJwLXRhYmxldCwgbm90IHRoZSA3NjdweCB0aGlzXG4vLyBmb2xkZXIgdXNlcyBlbHNld2hlcmUg4oCUIF9hcnRpY2xlLXNlY3Rpb24uc2NzcyBjb2xsYXBzZXMgYXQgMTAyNHB4LlxuJGJkLWJwLWFydGljbGU6IDEwMjRweDtcblxuLy8g4pSA4pSAIE5vdGNoIChHdXRlbmJlcmcgYnV0dG9ucykg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBUaGUgYnJhbmQgY2hhbWZlcjogdG9wLWxlZnQgYW5kIGJvdHRvbS1yaWdodCBjb3JuZXJzIGN1dC4gUG9ydGVkIGZyb20gdGhlXG4vLyBkZXNpZ24gc3lzdGVtJ3MgaWItYnRuIChhc3NldHMvc2Nzcy9wYWdlcy9fYnV0dG9ucy5zY3NzKSBzbyB0aGUgYXJ0aWNsZSdzXG4vLyBlZGl0b3IgYnV0dG9ucyByZWFkIGFzIHRoZSBzYW1lIGNvbXBvbmVudCBmYW1pbHk7IGtlcHQgbG9jYWwgYmVjYXVzZSB0aGlzXG4vLyBidW5kbGUgZGVsaWJlcmF0ZWx5IHNoYXJlcyBubyBjb2RlIHdpdGggdGhlIHRoZW1lJ3MgU2Fzcy5cbi8vXG4vLyBweCwgbm90IHJlbSwgdW5saWtlIGV2ZXJ5dGhpbmcgZWxzZSBpbiB0aGlzIGZpbGUuIGNsaXAtcGF0aCBwZXJjZW50YWdlc1xuLy8gcmVzb2x2ZSBhZ2FpbnN0IHRoZSBib3JkZXIgYm94LCBzbyBhIHJlbSBjdXQgd291bGQgZ3JvdyB3aXRoIHRoZSBmbHVpZCByb290XG4vLyBhbmQgZWFjaCBidXR0b24gd291bGQgYmUgY2hhbWZlcmVkIGJ5IGEgZGlmZmVyZW50IGFtb3VudCBkZXBlbmRpbmcgb24gaXRzXG4vLyB0eXBlIHNpemUuIEEgZml4ZWQgY3V0IGtlZXBzIGV2ZXJ5IGJ1dHRvbiBpbiB0aGUgYXJ0aWNsZSBpZGVudGljYWwuXG4kYmQtYnRuLWN1dDogICAxMHB4O1xuJGJkLWJ0bi1mcmFtZTogMXB4OyAgIC8vIGhhaXJsaW5lIHRoaWNrbmVzcyBmb3IgdGhlIG91dGxpbmUgdmFyaWF0aW9uXG5cbi8vIEZpbGxlZCBzaWxob3VldHRlLlxuQG1peGluIGJkLW5vdGNoKCRjdXQ6ICRiZC1idG4tY3V0KSB7XG4gIGNsaXAtcGF0aDogcG9seWdvbihcbiAgICAjeyRjdXR9IDAsXG4gICAgMTAwJSAwLFxuICAgIDEwMCUgY2FsYygxMDAlIC0gI3skY3V0fSksXG4gICAgY2FsYygxMDAlIC0gI3skY3V0fSkgMTAwJSxcbiAgICAwIDEwMCUsXG4gICAgMCAjeyRjdXR9XG4gICk7XG59XG5cbi8vIEJvcmRlciBGUkFNRSBvZiB0aGlja25lc3MgJHQg4oCUIHRoZSBvdXRlciBub3RjaCB3aXRoIGEgc2Vjb25kLCBpbnNldCBub3RjaFxuLy8gY2FydmVkIG91dCBvZiBpdCBhcyBhIHNpbmdsZSBcImRvbnV0XCIgcGF0aCwgc28gdGhlIHN0cm9rZSBmb2xsb3dzIGV2ZXJ5IGVkZ2Vcbi8vIGluY2x1ZGluZyB0aGUgdHdvIGNoYW1mZXJzLlxuLy9cbi8vIFRoaXMgZXhpc3RzIGJlY2F1c2UgYGJvcmRlcmAgKyBjbGlwLXBhdGggZG9lcyBub3Qgd29yazogdGhlIGNsaXAgY3V0cyB0aGVcbi8vIGJvcmRlciBhdCB0aGUgY2hhbWZlcnMgYW5kIGxlYXZlcyBib3RoIGRpYWdvbmFscyB1bnN0cm9rZWQsIHNvIGFuIG91dGxpbmVcbi8vIGJ1dHRvbiByZW5kZXJzIHdpdGggdHdvIG9wZW4gY29ybmVycy4gRHJhd2luZyB0aGUgc3Ryb2tlIGFzIGEgY2xpcHBlZCBsYXllclxuLy8gaXMgdGhlIG9ubHkgd2F5IHRvIGtlZXAgdGhlIGhhaXJsaW5lIGNvbnRpbnVvdXMgYXJvdW5kIGEgbm90Y2hlZCBzaGFwZS5cbkBtaXhpbiBiZC1ub3RjaC1mcmFtZSgkdDogJGJkLWJ0bi1mcmFtZSwgJGN1dDogJGJkLWJ0bi1jdXQpIHtcbiAgY2xpcC1wYXRoOiBwb2x5Z29uKFxuICAgIC8vIG91dGVyIG5vdGNoIChjbG9ja3dpc2UpLCB0aGVuIGJyaWRnZSBiYWNrIHRvIHRoZSBzdGFydCBwb2ludFxuICAgICN7JGN1dH0gMCxcbiAgICAxMDAlIDAsXG4gICAgMTAwJSBjYWxjKDEwMCUgLSAjeyRjdXR9KSxcbiAgICBjYWxjKDEwMCUgLSAjeyRjdXR9KSAxMDAlLFxuICAgIDAgMTAwJSxcbiAgICAwICN7JGN1dH0sXG4gICAgI3skY3V0fSAwLFxuICAgIC8vIGlubmVyIG5vdGNoLCBpbnNldCBieSAkdCBhbmQgd291bmQgY291bnRlci1jbG9ja3dpc2UgdG8gY2FydmUgdGhlIGhvbGVcbiAgICAjeyRjdXR9ICN7JHR9LFxuICAgICN7JHR9ICN7JGN1dH0sXG4gICAgI3skdH0gY2FsYygxMDAlIC0gI3skdH0pLFxuICAgIGNhbGMoMTAwJSAtICN7JGN1dH0pIGNhbGMoMTAwJSAtICN7JHR9KSxcbiAgICBjYWxjKDEwMCUgLSAjeyR0fSkgY2FsYygxMDAlIC0gI3skY3V0fSksXG4gICAgY2FsYygxMDAlIC0gI3skdH0pICN7JHR9LFxuICAgICN7JGN1dH0gI3skdH1cbiAgKTtcbn1cblxuLy8gOndoZXJlKCkga2VlcHMgdGhlIHNjb3BlIGF0IFpFUk8gc3BlY2lmaWNpdHksIHNvIGV2ZXJ5IHJ1bGUgYmVsb3cgbGFuZHMgYXRcbi8vIGl0cyBvd24gYmFyZSB3ZWlnaHQgKGBwYCA9IDAsMCwxKS4gVGhhdCBtYXR0ZXJzIGJlY2F1c2UgdGhlIGxpdmUgc2l0ZXMgYWxyZWFkeVxuLy8gaGF2ZSBvcGluaW9ucyBhYm91dCB0aGlzIGNvbnRlbnQgYW5kIG11c3Qga2VlcCB3aW5uaW5nOlxuLy9cbi8vICAgwrcgdGhlIHNpdGUncyBBZGRpdGlvbmFsIENTUyAod3AtY3VzdG9tLWNzcyksIHdoaWNoIGlzIGlubGluZWQgQUZURVIgZXZlcnlcbi8vICAgICBlbnF1ZXVlZCBzdHlsZXNoZWV0IGFuZCBjYXJyaWVzIHJ1bGVzIGxpa2UgYSDiiaQ3NjdweFxuLy8gICAgIGBmb250LXNpemU6IDEuMTI1cmVtICFpbXBvcnRhbnRgIG9uIGFydGljbGUgcGFyYWdyYXBoc1xuLy8gICDCtyB0aGUgQUktYXNzdXJhbmNlIHBvc3QsIHdoaWNoIGlzIGhhbmQtYXV0aG9yZWQgSFRNTCBzaGlwcGluZyBpdHMgb3duXG4vLyAgICAgPHN0eWxlPiB3aXRoIC5hcnRpY2xlLWxlZGUgLyAuYXJ0aWNsZS10ZXh0IHAgLyAucHJvYmxlbS1jYXJkICgwLDEsMSlcbi8vXG4vLyBBbGwgb2YgdGhvc2Ugb3V0cmFuayAoMCwwLDEpLCBzbyB0aGlzIGZpbGUgZmlsbHMgaW4gdGhlIHR5cGUgb25seSB3aGVyZVxuLy8gbm90aGluZyBlbHNlIGhhcyBhbiBvcGluaW9uLiBUaWVzIGFsc28gZmFsbCB0byB0aGUgcGFnZSwgYmVjYXVzZSBhbiBpbi1ib2R5XG4vLyA8c3R5bGU+IGNvbWVzIGFmdGVyIGhlYWQgQ1NTLiBUaGF0IGlzIHdoYXQgbWFrZXMgdGhpcyBzYWZlIHRvIGRyb3Agb250byA2NThcbi8vIGV4aXN0aW5nIHBvc3RzLlxuLy8gTGVhZGluZyBgYm9keSBgIOKAlCBzZWUgdGhlIG5vdGUgaW4gYmQtbWFpbi5zY3NzLiBXaXRob3V0IGl0IGV2ZXJ5IGVsZW1lbnQgcnVsZVxuLy8gaGVyZSBzaXRzIGF0ICgwLDAsMSksIHR5aW5nIHdpdGggdGhlIHRoZW1lJ3MgYmFyZSBgYWAgLyBgaDEuLmg2YCByZXNldHMgYW5kXG4vLyBsb3Npbmcgb24gbG9hZCBvcmRlci4gV2l0aCBpdCB0aGV5IGFyZSAoMCwwLDIpOiB0aGV5IGJlYXQgZWxlbWVudCByZXNldHMgYW5kXG4vLyBzdGlsbCBsb3NlIHRvIGFueSBjbGFzcy1iYXNlZCBydWxlLCB3aGljaCBpcyB3aGF0IGtlZXBzIHRoaXMgYSBkZWZhdWx0IGxheWVyLlxuYm9keSA6d2hlcmUoYm9keS5ibG9nLWRldGFpbC1wYWdlIC5iZC1hcnRpY2xlLXNlY3Rpb25fX2NvbnRlbnQpIHtcbiAgLy8g4pSA4pSAIEluaGVyaXRlZCBkZWZhdWx0cyDigJQgdGhpcyBpcyB3aGF0IG1ha2VzIHRoZSBmaWxlIGZ1dHVyZS1wcm9vZiDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgLy8gVGhlIGJvZHkgdHlwZSBpcyBzZXQgSEVSRSwgb24gdGhlIHdyYXBwZXIsIG5vdCBvbmx5IG9uIHAvdWwvb2wuIEFueXRoaW5nIGFuXG4gIC8vIGF1dGhvciBhZGRzIGxhdGVyIOKAlCA8ZGw+LCA8YWRkcmVzcz4sIGEgcHVsbCBxdW90ZSwgYSBHdXRlbmJlcmcgYmxvY2sgdGhhdFxuICAvLyBkb2Vzbid0IGV4aXN0IHlldCDigJQgaW5oZXJpdHMgdGhlIHJpZ2h0IGZhbWlseSwgc2l6ZSwgbGluZS1oZWlnaHQsIHdlaWdodCBhbmRcbiAgLy8gY29sb3VyIHdpdGggbm8gcnVsZSBvZiBpdHMgb3duLiBFbGVtZW50cyB0aGF0IG11c3QgZGlmZmVyIChoZWFkaW5ncywgY29kZSxcbiAgLy8gY2FwdGlvbnMsIHRhYmxlIGNlbGxzKSBvdmVycmlkZSBiZWxvdy5cbiAgLy9cbiAgLy8gUGFpciB0aGlzIHdpdGggdGhlIGA+ICogKyAqYCBmbG93IHJ1bGUgdW5kZXJuZWF0aCwgd2hpY2ggZ2l2ZXMgYW55IG5ld1xuICAvLyB0b3AtbGV2ZWwgYmxvY2sgdGhlIHN0YW5kYXJkIDMycHggcmh5dGhtIGZvciBmcmVlLiBCZXR3ZWVuIHRoZSB0d28sIGFuXG4gIC8vIHVua25vd24gYmxvY2sgbGFuZHMgb24gY29ycmVjdCB0eXBlIGFuZCBjb3JyZWN0IHNwYWNpbmcgYnkgZGVmYXVsdDsgb25seSBpdHNcbiAgLy8gaW50ZXJuYWwgbGF5b3V0IGlzIFdQIGJsb2NrIGxpYnJhcnkncyBqb2IsIGFuZCB0aGF0IHN0eWxlc2hlZXQgaXMgbG9hZGVkLlxuICBmb250LWZhbWlseTogJGJkLWZvbnQtc3RhY2s7XG4gIGZvbnQtc2l6ZTogbWF4KCN7JGJkLWJvZHktc2l6ZX0sIDEycHgpO1xuICBsaW5lLWhlaWdodDogJGJkLWJvZHktbGluZTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgY29sb3I6ICRjaGFyY29hbC1ncmF5O1xuXG4gIC8vIOKUgOKUgCBGbG93IOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAvLyBNaXJyb3JzIGBfX2JvZHkgPiAqICsgKmAuIFRvcC1sZXZlbCBHdXRlbmJlcmcgYmxvY2tzIGFyZSBzaWJsaW5ncyBoZXJlIChub1xuICAvLyBwZXItYmxvY2sgd3JhcHBlciksIHNvIHRoZSBmbG93IHJ1bGUgY2FycmllcyB0aGUgd2hvbGUgcmh5dGhtLlxuICA+ICogKyAqIHtcbiAgICBtYXJnaW4tdG9wOiAkYmQtZ2FwLWZsb3c7XG4gIH1cblxuICAvLyBIZWFkaW5ncyBvcGVuIGEgbmV3IGJsb2NrIOKAlCB0aGUgd2lkZXIgODBweCBnYXAsIG1hdGNoaW5nIF9fYmxvY2sgKyBfX2Jsb2NrLlxuICAvLyA6Zmlyc3QtY2hpbGQgZ3VhcmQgc28gdGhlIGFydGljbGUgbmV2ZXIgb3BlbnMgd2l0aCBhIGxlYWRpbmcgZ2FwLlxuICA+IDppcyhoMSwgaDIsIGgzLCBoNCwgaDUsIGg2KSB7XG4gICAgbWFyZ2luLXRvcDogJGJkLWdhcC1ibG9jaztcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gIH1cblxuICAvLyDigKZhbmQgdGhlIGNvcHkgZGlyZWN0bHkgdW5kZXIgYSBoZWFkaW5nIHVzZXMgdGhlIDQwcHggX19ib2R5IG9mZnNldCByYXRoZXJcbiAgLy8gdGhhbiB0aGUgMzJweCBmbG93IGdhcC5cbiAgPiA6aXMoaDEsIGgyLCBoMywgaDQsIGg1LCBoNikgKyAqIHtcbiAgICBtYXJnaW4tdG9wOiAkYmQtZ2FwLWhlYWRpbmc7XG4gIH1cblxuICAvLyDilIDilIAgSGVhZGluZ3Mg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICAgIGZvbnQtZmFtaWx5OiAkYmQtZm9udC1zdGFjaztcbiAgICBmb250LXdlaWdodDogJGJkLWgtd2VpZ2h0O1xuICAgIGNvbG9yOiAkY2hhcmNvYWwtZ3JheTtcbiAgICBsZXR0ZXItc3BhY2luZzogJGJkLWgtdHJhY2tpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIGgxIHtcbiAgICBmb250LXNpemU6IG1heCgjeyRiZC1oMS1zaXplfSwgMTJweCk7XG4gICAgbGluZS1oZWlnaHQ6ICRiZC1oMS1saW5lO1xuICB9XG4gIGgyIHtcbiAgICBmb250LXNpemU6IG1heCgjeyRiZC1oMi1zaXplfSwgMTJweCk7XG4gICAgbGluZS1oZWlnaHQ6ICRiZC1oMi1saW5lO1xuICB9XG4gIGgzIHtcbiAgICBmb250LXNpemU6IG1heCgjeyRiZC1oMy1zaXplfSwgMTJweCk7XG4gICAgbGluZS1oZWlnaHQ6ICRiZC1oMy1saW5lO1xuICB9XG4gIGg0IHtcbiAgICBmb250LXNpemU6IG1heCgjeyRiZC1oNC1zaXplfSwgMTJweCk7XG4gICAgbGluZS1oZWlnaHQ6ICRiZC1oNC1saW5lO1xuICB9XG4gIGg1IHtcbiAgICBmb250LXNpemU6IG1heCgjeyRiZC1oNS1zaXplfSwgMTJweCk7XG4gICAgbGluZS1oZWlnaHQ6ICRiZC1oNS1saW5lO1xuICB9XG4gIGg2IHtcbiAgICBmb250LXNpemU6IG1heCgjeyRiZC1oNi1zaXplfSwgMTJweCk7XG4gICAgbGluZS1oZWlnaHQ6ICRiZC1oNi1saW5lO1xuICB9XG5cbiAgLy8g4pSA4pSAIENvcHkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIC8vIHAucDEgLyBwLnAyIGFyZSBsZWdhY3kgZWRpdG9yIGNsYXNzZXMgc3RpbGwgcHJlc2VudCBpbiBvbGRlciBwb3N0czsgdGhleVxuICAvLyByZXNvbHZlIHRvIHRoZSBzYW1lIGJvZHkgc3R5bGUgc28gb2xkIGFuZCBuZXcgY29udGVudCByZWFkIGFsaWtlLlxuICAvLyAuaGFzLXNtYWxsLWZvbnQtc2l6ZSAvIC5oYXMtY3VzdG9tLWZvbnQtc2l6ZSBhcmUgbGVmdCBhbG9uZSDigJQgdGhvc2UgYXJlXG4gIC8vIGRlbGliZXJhdGUgcGVyLWJsb2NrIGNob2ljZXMgbWFkZSBpbiB0aGUgZWRpdG9yLiAuYmQtYXJ0aWNsZS1zZWN0aW9uX190ZXh0XG4gIC8vIGlzIGV4Y2x1ZGVkIHNvIHRoYXQgaWYgYSB0ZW1wbGF0ZSBldmVyIGRvZXMgcmVuZGVyIHRoZSB0aGVtZSdzIG93biBCRU1cbiAgLy8gY2xhc3MsIF9hcnRpY2xlLXNlY3Rpb24uc2NzcyBzdGF5cyBpbiBjaGFyZ2UgaW5zdGVhZCBvZiB0aGlzIGZhbGxiYWNrLlxuICAvL1xuICAvLyBUaGUgZ3VhcmRzIHNpdCBpbnNpZGUgOndoZXJlKCkgc28gdGhleSBjb3N0IG5vIHNwZWNpZmljaXR5IOKAlCBvdGhlcndpc2UgdGhyZWVcbiAgLy8gOm5vdCguY2xhc3MpIHdvdWxkIHB1c2ggdGhpcyBydWxlIHRvICgwLDMsMSkgYW5kIGl0IHdvdWxkIG91dHJhbmsgYSBwb3N0J3NcbiAgLy8gb3duIGAuYXJ0aWNsZS10ZXh0IHBgICgwLDEsMSkuIFNlZSB0aGUgbm90ZSBpbiBtYWluLnNjc3MuXG4gIHA6d2hlcmUoOm5vdCguaGFzLXNtYWxsLWZvbnQtc2l6ZSwgLmhhcy1jdXN0b20tZm9udC1zaXplLCAuYmQtYXJ0aWNsZS1zZWN0aW9uX190ZXh0KSksXG4gIHAucDE6d2hlcmUoOm5vdCguaGFzLWN1c3RvbS1mb250LXNpemUpKSxcbiAgcC5wMjp3aGVyZSg6bm90KC5oYXMtY3VzdG9tLWZvbnQtc2l6ZSkpIHtcbiAgICBmb250LWZhbWlseTogJGJkLWZvbnQtc3RhY2s7XG4gICAgZm9udC1zaXplOiBtYXgoI3skYmQtYm9keS1zaXplfSwgMTJweCk7XG4gICAgbGluZS1oZWlnaHQ6ICRiZC1ib2R5LWxpbmU7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBjb2xvcjogJGNoYXJjb2FsLWdyYXk7XG4gICAgLy8gQ29sbGFwc2VzIHdpdGggdGhlIGZsb3cgcnVsZSBhdCB0b3AgbGV2ZWw7IG9ubHkgZG9lcyByZWFsIHdvcmsgd2hlcmUgdGhlXG4gICAgLy8gZmxvdyBydWxlIGNhbm5vdCByZWFjaCwgaS5lLiBwYXJhZ3JhcGhzIG5lc3RlZCBpbnNpZGUgYW5vdGhlciBibG9jay5cbiAgICBtYXJnaW4tYm90dG9tOiAkYmQtZ2FwLXA7XG4gIH1cblxuICBzdHJvbmcsIGIgeyBmb250LXdlaWdodDogNDAwOyB9XG4gIGVtLCBpIHsgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbiAgYTp3aGVyZSg6bm90KC53cC1lbGVtZW50LWJ1dHRvbiwgLndwLWJsb2NrLWJ1dHRvbl9fbGluaykpIHtcbiAgICBjb2xvcjogJGNoYXJjb2FsLWdyYXk7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIC4yNXMgZWFzZTtcblxuICAgICY6aG92ZXIgeyBjb2xvcjogJHJlZDsgfVxuXG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IDJweCBzb2xpZCAkcmVkO1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgICB9XG4gIH1cblxuICAvLyDilIDilIAgTGlzdHMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIHVsOndoZXJlKDpub3QoLmJkLWFydGljbGUtc2VjdGlvbl9fbGlzdCkpLFxuICBvbDp3aGVyZSg6bm90KC5iZC1hcnRpY2xlLXNlY3Rpb25fX2xpc3QpKSB7XG4gICAgZm9udC1mYW1pbHk6ICRiZC1mb250LXN0YWNrO1xuICAgIGZvbnQtc2l6ZTogbWF4KCN7JGJkLWJvZHktc2l6ZX0sIDEycHgpO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmQtYm9keS1saW5lO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgY29sb3I6ICRjaGFyY29hbC1ncmF5O1xuICAgIG1hcmdpbjogJGJkLWdhcC1saXN0IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAkYmQtbGlzdC1pbmRlbnQ7XG4gIH1cblxuICB1bCB7IGxpc3Qtc3R5bGU6IGRpc2M7IH1cbiAgb2wgeyBsaXN0LXN0eWxlOiBkZWNpbWFsOyB9XG5cbiAgbGkge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAmOjptYXJrZXIgeyBjb2xvcjogJGNoYXJjb2FsLWdyYXk7IH1cblxuICAgICsgbGkgeyBtYXJnaW4tdG9wOiAkYmQtZ2FwLWxpOyB9XG4gIH1cblxuICAvLyBOZXN0ZWQgbGlzdHMgc2l0IHRpZ2h0ZXIgYW5kIGRvbid0IHJlc3RhdGUgdGhlIHR5cGVcbiAgbGkgPiB1bCxcbiAgbGkgPiBvbCB7XG4gICAgbWFyZ2luOiAkYmQtZ2FwLWxpIDAgMDtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gIH1cblxuICAvLyDilIDilIAgUHVsbCBxdW90ZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgLy8gS2VlcHMgdGhlIHRoZW1lJ3MgcmVkIHJ1bGUgYWNjZW50OyB0eXBlIHN0ZXBzIHVwIHRvIGJvZHktZXh0cmEtbGFyZ2UuXG4gIGJsb2NrcXVvdGUsXG4gIC53cC1ibG9jay1xdW90ZSB7XG4gICAgbWFyZ2luOiAkYmQtZ2FwLWJsb2NrIDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG5cbiAgICAvLyBSZWQgcnVsZSB1bmRlciB0aGUgcXVvdGUg4oCUIHRoZSB0aGVtZSdzIGFjY2VudCBkZXZpY2VcbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogNnJlbTsgICAvLyA5NnB4XG4gICAgICBoZWlnaHQ6IC41cmVtOyAvLyA4cHhcbiAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICBiYWNrZ3JvdW5kOiAkcmVkO1xuICAgIH1cblxuICAgIGNpdGUsXG4gICAgLndwLWJsb2NrLXF1b3RlX19jaXRhdGlvbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogbWF4KCN7JGJkLWNhcHRpb24tc2l6ZX0sIDEycHgpO1xuICAgICAgbGluZS1oZWlnaHQ6ICRiZC1jYXB0aW9uLWxpbmU7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgY29sb3I6ICRtZWRpdW0tZ3JheTtcbiAgICB9XG4gIH1cblxuICAvLyBDYXJyaWVzIG9uZSBtb3JlIGVsZW1lbnQgdGhhbiB0aGUgYHA6bm90KCk6bm90KClgIGNvcHkgcnVsZSBhYm92ZSwgc28gaXRcbiAgLy8gb3V0cmFua3MgaXQgb24gc3BlY2lmaWNpdHkg4oCUIG5vICFpbXBvcnRhbnQgbmVlZGVkLlxuICBibG9ja3F1b3RlIHA6d2hlcmUoOm5vdCguaGFzLXNtYWxsLWZvbnQtc2l6ZSwgLmhhcy1jdXN0b20tZm9udC1zaXplKSksXG4gIC53cC1ibG9jay1xdW90ZSBwOndoZXJlKDpub3QoLmhhcy1zbWFsbC1mb250LXNpemUsIC5oYXMtY3VzdG9tLWZvbnQtc2l6ZSkpIHtcbiAgICBmb250LXNpemU6IG1heCgjeyRiZC1xdW90ZS1zaXplfSwgMTJweCk7XG4gICAgbGluZS1oZWlnaHQ6ICRiZC1xdW90ZS1saW5lO1xuICAgIGZvbnQtd2VpZ2h0OiAyNTA7XG4gICAgY29sb3I6ICRjaGFyY29hbC1ncmF5O1xuICB9XG5cbiAgLy8g4pSA4pSAIEZpZ3VyZXMsIGltYWdlcywgZW1iZWRzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICBmaWd1cmUsXG4gIC53cC1ibG9jay1pbWFnZSxcbiAgLndwLWJsb2NrLWVtYmVkLFxuICAud3AtYmxvY2stYXVkaW8ge1xuICAgIG1hcmdpbjogJGJkLWdhcC1ibG9jay0xIDA7XG4gIH1cblxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICAvLyBGdWxsLWJsZWVkIHdpdGhpbiB0aGUgbWVhc3VyZSB1bmxlc3MgdGhlIGVkaXRvciBleHBsaWNpdGx5IHJlc2l6ZWQgaXRcbiAgLndwLWJsb2NrLWltYWdlOm5vdCguaXMtcmVzaXplZCkgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIGZpZ2NhcHRpb24sXG4gIC53cC1lbGVtZW50LWNhcHRpb24ge1xuICAgIGZvbnQtZmFtaWx5OiAkYmQtZm9udC1zdGFjaztcbiAgICBmb250LXNpemU6IG1heCgjeyRiZC1jYXB0aW9uLXNpemV9LCAxMnB4KTtcbiAgICBsaW5lLWhlaWdodDogJGJkLWNhcHRpb24tbGluZTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGNvbG9yOiAkbWVkaXVtLWdyYXk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gMTY6OSB3aXRob3V0IHRoZSBwYWRkaW5nLWhhY2sg4oCUIGFzcGVjdC1yYXRpbyBpcyBlbm91Z2ggYW5kIGF2b2lkcyB0aGVcbiAgLy8gYWJzb2x1dGVseS1wb3NpdGlvbmVkIGlmcmFtZSB0aGUgbGVnYWN5IHJ1bGVzIHVzZWQuXG4gIC53cC1ibG9jay1lbWJlZF9fd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgaWZyYW1lIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBhc3BlY3QtcmF0aW86IDE2IC8gOTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cblxuICAvLyBPbGRlciBwb3N0cyBlbWJlZCBpZnJhbWVzIGRpcmVjdGx5IGluIGEgcGxhaW4gPGZpZ3VyZT4sIHdpdGggbm9cbiAgLy8gLndwLWJsb2NrLWVtYmVkIHdyYXBwZXIg4oCUIGZvdW5kIGFjcm9zcyB0aGUgMjAwOOKAkzIwMjYgcHJvZHVjdGlvbiBjb250ZW50IHRoYXRcbiAgLy8gd2lsbCBtaWdyYXRlIG9udG8gdGhpcyB0ZW1wbGF0ZS4gVGhlIGxlZ2FjeSBgZmlndXJlIGlmcmFtZWAgcnVsZSB1c2VkIHRvXG4gIC8vIGNhdGNoIHRob3NlOyB0aGlzIGtlZXBzIHRoZW0gZnVsbC13aWR0aC5cbiAgZmlndXJlIGlmcmFtZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgLy8gMTY6OSBmb3IgbGVnYWN5IFZJREVPIGVtYmVkcyBvbmx5IOKAlCBtYXRjaGVkIGJ5IGhvc3QsIG5vdCBieSBwb3NpdGlvbi5cbiAgLy9cbiAgLy8gVGhlc2Uga2VwdCB0aGUgaGVpZ2h0IHRoZSBvbGQgZWRpdG9yIGhhcmQtY29kZWQgKHR5cGljYWxseSAzMTVweCBmb3IgYVxuICAvLyA1NjBweC13aWRlIGVtYmVkKSB3aGlsZSB0aGUgd2lkdGggc2NhbGVkIHVwIHRvIHRoZSBtZWFzdXJlLCBzbyB0aGUgcGxheWVyXG4gIC8vIGxldHRlcmJveGVkIGl0c2VsZiB3aXRoIGJsYWNrIGJhcnMgdG8gZml0IHRoZSBzaG9ydCBmcmFtZS5cbiAgLy9cbiAgLy8gRGVsaWJlcmF0ZWx5IG5vdCBhcHBsaWVkIHRvIGBmaWd1cmUgaWZyYW1lYCBhcyBhIHdob2xlOiB0aGF0IGFsc28gY2F0Y2hlc1xuICAvLyBhdWRpbyBwbGF5ZXJzLCBtYXBzIGFuZCBzbGlkZSBkZWNrcywgd2hvc2UgYXV0aG9yZWQgaGVpZ2h0IElTIGNvcnJlY3Qg4oCUIGFcbiAgLy8gU291bmRDbG91ZCBwbGF5ZXIgaXMgfjE2NnB4IHRhbGwgYW5kIGZvcmNpbmcgaXQgdG8gMTY6OSB3b3VsZCBvcGVuIGEgNDAwcHhcbiAgLy8gZW1wdHkgYm94LiBBbnl0aGluZyBub3QgbGlzdGVkIGhlcmUga2VlcHMgdGhlIGhlaWdodCBpdCBzaGlwcGVkIHdpdGguXG4gIGZpZ3VyZSBpZnJhbWVbc3JjKj1cInlvdXR1YmVcIl0sXG4gIGZpZ3VyZSBpZnJhbWVbc3JjKj1cInlvdXR1LmJlXCJdLFxuICBmaWd1cmUgaWZyYW1lW3NyYyo9XCJ2aW1lb1wiXSxcbiAgZmlndXJlIGlmcmFtZVtzcmMqPVwid2lzdGlhXCJdLFxuICBmaWd1cmUgaWZyYW1lW3NyYyo9XCJkYWlseW1vdGlvblwiXSB7XG4gICAgYXNwZWN0LXJhdGlvOiAxNiAvIDk7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLndwLWJsb2NrLWF1ZGlvIGF1ZGlvLFxuICB2aWRlbyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8g4pSA4pSAIENvZGUg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIC8vIFByZXNlbnQgaW4gdGhlIG1pZ3JhdGVkIGNvbnRlbnQuIFRoZSBsZWdhY3kgYmxvY2sgZ2F2ZSB0aGVzZSBhIDQ4cHggcmh5dGhtXG4gIC8vIGFuZCBmb3JjZWQgTGV4ZW5kOyBrZWVwaW5nIHRoZSByaHl0aG0gYnV0IGxldHRpbmcgY29kZSByZW5kZXIgbW9ub3NwYWNlLFxuICAvLyB3aGljaCBpcyB3aGF0IGl0IHNob3VsZCBoYXZlIGJlZW4uXG4gIHByZSxcbiAgY29kZSxcbiAgc2FtcCxcbiAga2JkIHtcbiAgICBmb250LWZhbWlseTogdWktbW9ub3NwYWNlLCBTRk1vbm8tUmVndWxhciwgTWVubG8sIENvbnNvbGFzLCBtb25vc3BhY2U7XG4gICAgZm9udC1zaXplOiBtYXgoLjg3NXJlbSwgMTJweCk7XG4gICAgbGluZS1oZWlnaHQ6ICRiZC1jYXB0aW9uLWxpbmU7XG4gIH1cblxuICBwcmUge1xuICAgIG1hcmdpbjogJGJkLWdhcC1ibG9jayAwO1xuICAgIHBhZGRpbmc6IDEuNXJlbTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIGJhY2tncm91bmQ6ICRjcmVhbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcblxuICAgIGNvZGUge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICB3aGl0ZS1zcGFjZTogcHJlO1xuICAgIH1cbiAgfVxuXG4gIDpub3QocHJlKSA+IGNvZGUge1xuICAgIHBhZGRpbmc6IC4xMjVyZW0gLjM3NXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAkY3JlYW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4gICAgLy8gV2FzIGB3aGl0ZS1zcGFjZTogbm93cmFwYCwgd2hpY2ggaXMgZmluZSBmb3IgYSBzaG9ydCB0b2tlbiBhbmQgYnJlYWtzIHRoZVxuICAgIC8vIHBhZ2UgZm9yIGEgbG9uZyBvbmU6IGFuIHVuYnJlYWthYmxlIGlubGluZSBzdHJpbmcgKGEgVVJMLCBhIG5hbWVzcGFjZWRcbiAgICAvLyBjYWxsKSBwdXNoZWQgdGhlIGFydGljbGUgcGFzdCB0aGUgdmlld3BvcnQgYW5kIGdhdmUgdGhlIHdob2xlIGRvY3VtZW50IGFcbiAgICAvLyBob3Jpem9udGFsIHNjcm9sbGJhci4gV3JhcCBvbmx5IHdoZXJlIGl0IGhhcyB0byBpbnN0ZWFkLlxuICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gIH1cblxuICAvLyDilIDilIAgVGFibGUg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIC53cC1ibG9jay10YWJsZSB7XG4gICAgbWFyZ2luOiAkYmQtZ2FwLWJsb2NrIDA7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIHRhYmxlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgICBmb250LWZhbWlseTogJGJkLWZvbnQtc3RhY2s7XG4gICAgfVxuXG4gICAgdGgsIHRkIHtcbiAgICAgIHBhZGRpbmc6IDFyZW0gLjc1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgICB9XG5cbiAgICB0aCB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY3JlYW07XG4gICAgICBmb250LXNpemU6IG1heCgxcmVtLCAxMnB4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgY29sb3I6ICRjaGFyY29hbC1ncmF5O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICB0ZCB7XG4gICAgICBmb250LXNpemU6IG1heCgjeyRiZC1jYXB0aW9uLXNpemV9LCAxMnB4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkYmQtY2FwdGlvbi1saW5lO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGNvbG9yOiAkY2hhcmNvYWwtZ3JheTtcbiAgICB9XG5cbiAgICB0aGVhZCB7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIH1cblxuICAgIHRmb290IHRkIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIE1pZ3JhdGVkIHBvc3RzIGFsc28gY29udGFpbiBiYXJlIDx0YWJsZT4gb3V0c2lkZSBmaWd1cmUud3AtYmxvY2stdGFibGVcbiAgLy8gKG9sZGVyIGVkaXRvciBvdXRwdXQpLiBTYW1lIHRyZWF0bWVudCwgc28gdGhleSBkb24ndCBmYWxsIGJhY2sgdG8gdW5zdHlsZWQuXG4gID4gdGFibGUsXG4gIGZpZ3VyZTpub3QoLndwLWJsb2NrLXRhYmxlKSA+IHRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46ICRiZC1nYXAtYmxvY2sgMDtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuXG4gICAgdGgsIHRkIHtcbiAgICAgIHBhZGRpbmc6IDFyZW0gLjc1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgICB9XG5cbiAgICB0aCB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY3JlYW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyDilIDilIAgQnV0dG9ucyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgLy8gVHdvIHRyZWF0bWVudHMsIHNwbGl0IGJ5IEd1dGVuYmVyZydzIG93biBzdHlsZSB2YXJpYXRpb246XG4gIC8vICAgZGVmYXVsdCAgICAgICAgICAgIOKGkiBwcmltYXJ5OiByZWQgZmlsbCwgd2hpdGUgY29weSwgbm90Y2hlZCBjb3JuZXJzXG4gIC8vICAgLmlzLXN0eWxlLW91dGxpbmUgIOKGkiB0aGUgdGhlbWUncyBjaGFyY29hbCBoYWlybGluZSBidXR0b24gKHVuY2hhbmdlZClcbiAgLy8gRXZlcnl0aGluZyBzaGFyZWQg4oCUIHR5cGUsIHBhZGRpbmcsIHJoeXRobSDigJQgc3RheXMgb24gdGhlIGJhc2UgcnVsZSBzbyB0aGVcbiAgLy8gdHdvIHZhcmlhbnRzIGNhbid0IGRyaWZ0IGFwYXJ0LlxuICAud3AtYmxvY2stYnV0dG9ucyB7XG4gICAgbWFyZ2luOiAkYmQtZ2FwLWJsb2NrIDA7XG4gICAgZ2FwOiAxcmVtO1xuICB9XG5cbiAgLndwLWJsb2NrLWJ1dHRvbl9fbGluayxcbiAgLndwLWVsZW1lbnQtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1mYW1pbHk6ICRiZC1mb250LXN0YWNrO1xuICAgIGZvbnQtc2l6ZTogbWF4KDFyZW0sIDEycHgpO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBwYWRkaW5nOiAxcmVtIDJyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjI1cyBlYXNlLCBjb2xvciAuMjVzIGVhc2UsIGJvcmRlci1jb2xvciAuMjVzIGVhc2U7XG4gIH1cblxuICAvLyBQcmltYXJ5LiBUaGUgYC53cC1ibG9jay1idXR0b24gPmAgcGFyZW50IGNhcnJpZXMgb25lIG1vcmUgZWxlbWVudCB0aGFuIHRoZVxuICAvLyBiYXNlIHJ1bGUgYWJvdmUsIHNvIGl0IHdpbnMgb24gc3BlY2lmaWNpdHkgd2l0aG91dCAhaW1wb3J0YW50IOKAlCBhbmQgd2l0aG91dFxuICAvLyByZWFjaGluZyBjbGFzcyBsZXZlbCwgd2hpY2ggaXMgd2hhdCBrZWVwcyB0aGlzIGEgZGVmYXVsdCBsYXllciAoc2VlIHRoZVxuICAvLyBzcGVjaWZpY2l0eSBub3RlIGF0IHRoZSB0b3Agb2YgdGhpcyBmaWxlKS5cbiAgLndwLWJsb2NrLWJ1dHRvbjpub3QoLmlzLXN0eWxlLW91dGxpbmUpID4gLndwLWJsb2NrLWJ1dHRvbl9fbGluayxcbiAgLndwLWJsb2NrLWJ1dHRvbjpub3QoLmlzLXN0eWxlLW91dGxpbmUpID4gLndwLWVsZW1lbnQtYnV0dG9uIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGJhY2tncm91bmQ6ICRyZWQ7XG4gICAgYm9yZGVyOiAwO1xuXG4gICAgQGluY2x1ZGUgYmQtbm90Y2g7XG5cbiAgICAvLyBSZXN0YXRlZCBiZWNhdXNlIHRoZSB0aGVtZSBzaGlwcyBhbiBgYTpob3ZlcmAgY29sb3VyIHRoYXQgd291bGQgb3RoZXJ3aXNlXG4gICAgLy8gcmVwYWludCB0aGUgbGFiZWwgbWlkLWhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGJhY2tncm91bmQ6ICRkYXJrLXJlZDtcbiAgICB9XG5cbiAgICAvLyBOT1QgYG91dGxpbmVgIOKAlCBjbGlwLXBhdGggY2xpcHMgdGhlIGZvY3VzIHJpbmcgYWxvbmcgd2l0aCB0aGUgY29ybmVycywgc29cbiAgICAvLyBhbiBvdXRzaWRlIHJpbmcgaXMgaW52aXNpYmxlIG9uIHRoaXMgYnV0dG9uLiBBbiBpbnNldCBzaGFkb3cgZHJhd3MgaW5zaWRlXG4gICAgLy8gdGhlIGNsaXBwZWQgYXJlYSBhbmQgc3Vydml2ZXMuXG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAycHggJHdoaXRlLCBpbnNldCAwIDAgMCA0cHggJGNoYXJjb2FsLWdyYXk7XG4gICAgfVxuICB9XG5cbiAgLy8gT3V0bGluZSB2YXJpYXRpb24g4oCUIHNhbWUgY2hhbWZlcmVkIHNpbGhvdWV0dGUsIGRyYXduIGFzIGEgaGFpcmxpbmUuXG4gIC8vXG4gIC8vIGBib3JkZXI6IDBgIGlzIGRlbGliZXJhdGU6IHRoZSBjbGlwIGJlbG93IHdvdWxkIGN1dCBhIHJlYWwgYm9yZGVyIGF0IGJvdGhcbiAgLy8gY2hhbWZlcnMgYW5kIGxlYXZlIHRoZSBkaWFnb25hbHMgb3Blbi4gVGhlIHN0cm9rZSBpcyBkcmF3biBieSA6OmJlZm9yZSBhcyBhXG4gIC8vIGRvbnV0LWNsaXBwZWQgbGF5ZXIgaW5zdGVhZCAoc2VlIGJkLW5vdGNoLWZyYW1lKS4gQ2xpcHBpbmcgdGhlIGVsZW1lbnQgdG9vXG4gIC8vIGlzIHN0aWxsIG5lZWRlZCBzbyB0aGUgaG92ZXIgZmlsbCByZXNwZWN0cyB0aGUgc2FtZSBzaWxob3VldHRlLlxuICAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgPiAud3AtYmxvY2stYnV0dG9uX19saW5rLFxuICAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgPiAud3AtZWxlbWVudC1idXR0b24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjb2xvcjogJGNoYXJjb2FsLWdyYXk7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuXG4gICAgQGluY2x1ZGUgYmQtbm90Y2g7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGluc2V0OiAwO1xuICAgICAgYmFja2dyb3VuZDogJGNoYXJjb2FsLWdyYXk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICAgQGluY2x1ZGUgYmQtbm90Y2gtZnJhbWU7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY2hhcmNvYWwtZ3JheTtcbiAgICAgIGNvbG9yOiAkbGlnaHQtY3JlYW07XG4gICAgfVxuXG4gICAgLy8gQ2xpcHBlZCBsaWtlIHRoZSBwcmltYXJ5LCBzbyB0aGUgcmluZyBnb2VzIGluc2lkZS4gUmVkIHJhdGhlciB0aGFuIHRoZVxuICAgIC8vIHR3by10b25lIHRyZWF0bWVudCBhYm92ZSDigJQgYWdhaW5zdCBhIHRyYW5zcGFyZW50IGZpbGwgYSBzaW5nbGUgcmluZ1xuICAgIC8vIHN0YXlzIGxlZ2libGUgd2l0aG91dCBwYWludGluZyBhIGZhbHNlIGJhY2tncm91bmQuXG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAycHggJHJlZDtcbiAgICB9XG4gIH1cblxuICAvLyBBIGJhcmUgLndwLWVsZW1lbnQtYnV0dG9uIHdpdGggbm8gLndwLWJsb2NrLWJ1dHRvbiBwYXJlbnQg4oCUIFdvcmRQcmVzcyBlbWl0c1xuICAvLyB0aGVzZSBmcm9tIG5vbi1idXR0b24gYmxvY2tzIChwb3N0LWNvbW1lbnRzIGZvcm0sIHNlYXJjaCwgZmlsZSBkb3dubG9hZCkuXG4gIC8vIE5laXRoZXIgdmFyaWFudCBydWxlIGFib3ZlIHJlYWNoZXMgdGhlbSwgc28gdGhleSdkIHJlbmRlciB1bnN0eWxlZCB3aXRob3V0XG4gIC8vIHRoaXMgZmFsbGJhY2sgdG8gcHJpbWFyeS5cbiAgLndwLWVsZW1lbnQtYnV0dG9uOm5vdCgud3AtYmxvY2stYnV0dG9uID4gKikge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgYmFja2dyb3VuZDogJHJlZDtcbiAgICBib3JkZXI6IDA7XG5cbiAgICBAaW5jbHVkZSBiZC1ub3RjaDtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGJhY2tncm91bmQ6ICRkYXJrLXJlZDtcbiAgICB9XG4gIH1cblxuICAvLyDilIDilIAgRGV0YWlscyAvIGFjY29yZGlvbiDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgLndwLWJsb2NrLWRldGFpbHMge1xuICAgIG1hcmdpbjogJGJkLWdhcC1ibG9jayAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4gICAgcGFkZGluZzogMS41cmVtIDA7XG5cbiAgICBzdW1tYXJ5IHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkYmQtZm9udC1zdGFjaztcbiAgICAgIGZvbnQtc2l6ZTogbWF4KCN7JGJkLWJvZHktc20tc2l6ZX0sIDEycHgpO1xuICAgICAgbGluZS1oZWlnaHQ6ICRiZC1ib2R5LXNtLWxpbmU7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgY29sb3I6ICRjaGFyY29hbC1ncmF5O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgICBvdXRsaW5lOiAycHggc29saWQgJHJlZDtcbiAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IDpub3Qoc3VtbWFyeSkge1xuICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICB9XG4gIH1cblxuICAvLyDilIDilIAgTGVzcy1jb21tb24gY29udGVudCBhbiBhdXRob3IgY2FuIHN0aWxsIHJlYWNoIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAvLyBOb3QgZm91bmQgaW4gdGhlIDM0IHNhbXBsZWQgYXJ0aWNsZSBib2RpZXMsIGJ1dCBhbGwgb2YgdGhlc2UgYXJlIG9uZSBjbGlja1xuICAvLyBhd2F5IGluIHRoZSBlZGl0b3IuIFR5cGUgaXMgaW5oZXJpdGVkIGZyb20gdGhlIHdyYXBwZXIsIHNvIHRoZXNlIG9ubHkgbmVlZFxuICAvLyB0aGUgYml0cyB0aGF0IGRpZmZlcjogcmh5dGhtLCBpbmRlbnRhdGlvbiwgZW1waGFzaXMuXG4gIGRsIHtcbiAgICBtYXJnaW46ICRiZC1nYXAtbGlzdCAwO1xuICB9XG5cbiAgZHQge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6ICRjaGFyY29hbC1ncmF5O1xuICB9XG5cbiAgZGQge1xuICAgIG1hcmdpbjogMCAwICRiZC1nYXAtbGktc20gMDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRiZC1saXN0LWluZGVudDtcbiAgfVxuXG4gIHRhYmxlIGNhcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogbWF4KCN7JGJkLWNhcHRpb24tc2l6ZX0sIDEycHgpO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmQtY2FwdGlvbi1saW5lO1xuICAgIGNvbG9yOiAkbWVkaXVtLWdyYXk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwYWRkaW5nLWJvdHRvbTogLjc1cmVtO1xuICB9XG5cbiAgY2l0ZSxcbiAgcSB7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICB9XG5cbiAgYWJiclt0aXRsZV0ge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgICBjdXJzb3I6IGhlbHA7XG4gIH1cblxuICBkZWwsXG4gIHMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuICAgIGNvbG9yOiAkbWVkaXVtLWdyYXk7XG4gIH1cblxuICBpbnMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG5cbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogbWF4KCN7JGJkLWNhcHRpb24tc2l6ZX0sIDEycHgpO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmQtY2FwdGlvbi1saW5lO1xuICB9XG5cbiAgYWRkcmVzcyB7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICB9XG5cbiAgLy8gR3V0ZW5iZXJnIGJsb2NrcyB0aGF0IHJlbmRlciBwcmVmb3JtYXR0ZWQgdGV4dCDigJQgc2FtZSB0cmVhdG1lbnQgYXMgPHByZT5cbiAgLndwLWJsb2NrLWNvZGUsXG4gIC53cC1ibG9jay1wcmVmb3JtYXR0ZWQsXG4gIC53cC1ibG9jay12ZXJzZSB7XG4gICAgbWFyZ2luOiAkYmQtZ2FwLWJsb2NrIDA7XG4gIH1cblxuICAvLyBQdWxsIHF1b3RlIGlzIGEgZGlzdGluY3QgYmxvY2sgZnJvbSBRdW90ZTsgZ2l2ZSBpdCB0aGUgc2FtZSB2b2ljZVxuICAud3AtYmxvY2stcHVsbHF1b3RlIHtcbiAgICBtYXJnaW46ICRiZC1nYXAtYmxvY2sgMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgYmxvY2txdW90ZSB7IG1hcmdpbjogMDsgfVxuICB9XG5cbiAgLndwLWJsb2NrLWdhbGxlcnksXG4gIC53cC1ibG9jay1ncm91cCxcbiAgLndwLWJsb2NrLWNvbHVtbnMsXG4gIC53cC1ibG9jay1tZWRpYS10ZXh0LFxuICAud3AtYmxvY2stdmlkZW8sXG4gIC53cC1ibG9jay1maWxlIHtcbiAgICBtYXJnaW46ICRiZC1nYXAtYmxvY2stMSAwO1xuICB9XG5cbiAgLy8gRWRpdG9yIGhpZ2hsaWdodCDigJQgc2FtZSByZWQgdGhlIHRoZW1lIHVzZXMgZm9yIGFjY2VudHNcbiAgbWFyay5yZWQtZm9udC1jb2xvci10ZXh0IHtcbiAgICBjb2xvcjogJHJlZDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIGhyLFxuICAud3AtYmxvY2stc2VwYXJhdG9yIHtcbiAgICBtYXJnaW46ICRiZC1nYXAtYmxvY2sgMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuICB9XG5cbiAgLy8g4pSA4pSAIOKJpDEwMjRweCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgLy8gTWF0Y2hlcyBfYXJ0aWNsZS1zZWN0aW9uLnNjc3M6IGNvcHkgZHJvcHMgdG8gYm9keS1tZWRpdW0gYW5kIGxpZ2h0ZW5zIHRvXG4gIC8vIHRoZSBzZWNvbmRhcnkgZ3JleSwgbGlzdCBtYXJrZXJzIGJlY29tZSByZWQgc3F1YXJlcy4gSGVhZGluZyBzaXplcyBhcmVcbiAgLy8gZGVsaWJlcmF0ZWx5IHVuY2hhbmdlZCDigJQgdGhlIHRoZW1lIGtlZXBzIF9faGVhZGluZyBhdCA0MC80OCBvbiBtb2JpbGUgdG9vLlxuICBAbWVkaWEgKG1heC13aWR0aDogJGJkLWJwLWFydGljbGUpIHtcbiAgICAvLyBSZXN0YXRlZCBvbiB0aGUgd3JhcHBlciBzbyB1bmtub3duL3VuZW51bWVyYXRlZCBjb250ZW50IGluaGVyaXRzIHRoZVxuICAgIC8vIG1vYmlsZSB0eXBlIHRvbywgbm90IGp1c3QgcC91bC9vbC4gSGVhZGluZ3Mga2VlcCB0aGVpciBvd24gY29sb3VyLlxuICAgIGZvbnQtc2l6ZTogbWF4KCN7JGJkLWJvZHktc20tc2l6ZX0sIDEycHgpO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmQtYm9keS1zbS1saW5lO1xuICAgIGNvbG9yOiAkbWVkaXVtLWdyYXk7XG5cbiAgICA+ICogKyAqIHtcbiAgICAgIG1hcmdpbi10b3A6ICRiZC1nYXAtZmxvdy1zbTtcbiAgICB9XG5cbiAgICAvLyBFdmVyeSBvdGhlciAkYmQtZ2FwLWJsb2NrIHVzZXIgc3RlcHMgZG93biB0byAzcmVtIGhlcmUg4oCUIGZpZ3VyZXMsIHRhYmxlcyxcbiAgICAvLyBxdW90ZXMsIGJ1dHRvbnMsIGRldGFpbHMsIHNlcGFyYXRvcnMuIFRoZSBoZWFkaW5nIGdhcCB3YXMgdGhlIG9uZSB0aGF0IGRpZFxuICAgIC8vIG5vdCwgc28gYSBtb2JpbGUgYXJ0aWNsZSByYW4gODBweCBhYm92ZSBlYWNoIGhlYWRpbmcgd2hpbGUgaXRzIHBhcmFncmFwaHNcbiAgICAvLyBzYXQgMTZweCBhcGFydC4gVGhlIDpmaXJzdC1jaGlsZCByZXNldCBhYm92ZSBzdGlsbCB3aW5zOiBpdCBjYXJyaWVzIGFcbiAgICAvLyBwc2V1ZG8tY2xhc3MsIHRoaXMgZG9lcyBub3QuXG4gICAgPiA6aXMoaDEsIGgyLCBoMywgaDQsIGg1LCBoNikge1xuICAgICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICB9XG5cbiAgICA+IDppcyhoMSwgaDIsIGgzLCBoNCwgaDUsIGg2KSArICoge1xuICAgICAgbWFyZ2luLXRvcDogJGJkLWdhcC1saXN0O1xuICAgIH1cblxuICAgIHA6d2hlcmUoOm5vdCguaGFzLXNtYWxsLWZvbnQtc2l6ZSwgLmhhcy1jdXN0b20tZm9udC1zaXplLCAuYmQtYXJ0aWNsZS1zZWN0aW9uX190ZXh0KSksXG4gICAgcC5wMTp3aGVyZSg6bm90KC5oYXMtY3VzdG9tLWZvbnQtc2l6ZSkpLFxuICAgIHAucDI6d2hlcmUoOm5vdCguaGFzLWN1c3RvbS1mb250LXNpemUpKSB7XG4gICAgICBmb250LXNpemU6IG1heCgjeyRiZC1ib2R5LXNtLXNpemV9LCAxMnB4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkYmQtYm9keS1zbS1saW5lO1xuICAgICAgY29sb3I6ICRtZWRpdW0tZ3JheTtcbiAgICB9XG5cbiAgICB1bCwgb2wge1xuICAgICAgZm9udC1zaXplOiBtYXgoI3skYmQtYm9keS1zbS1zaXplfSwgMTJweCk7XG4gICAgICBsaW5lLWhlaWdodDogJGJkLWJvZHktc20tbGluZTtcbiAgICAgIGNvbG9yOiAkbWVkaXVtLWdyYXk7XG4gICAgfVxuXG4gICAgLy8gUmVkIHNxdWFyZSBtYXJrZXJzLCBwZXIgdGhlIG1vYmlsZSBkZXNpZ25cbiAgICB1bCB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgICA+IGxpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRiZC1saXN0LWluZGVudC1zbTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgdG9wOiAuNXJlbTtcbiAgICAgICAgICB3aWR0aDogLjM3NXJlbTsgICAvLyA2cHhcbiAgICAgICAgICBoZWlnaHQ6IC4zNzVyZW07XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogLjEyNXJlbTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkcmVkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gT3JkZXJlZCBsaXN0cyBrZWVwIHRoZWlyIG51bWVyYWxzIOKAlCBvbmx5IGJ1bGxldHMgYmVjb21lIHNxdWFyZXNcbiAgICBvbCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRiZC1saXN0LWluZGVudDtcbiAgICB9XG5cbiAgICBsaSArIGxpIHtcbiAgICAgIG1hcmdpbi10b3A6ICRiZC1nYXAtbGktc207XG4gICAgfVxuXG4gICAgYmxvY2txdW90ZSxcbiAgICAud3AtYmxvY2stcXVvdGUge1xuICAgICAgbWFyZ2luOiAzcmVtIDA7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgaGVpZ2h0OiAuMjVyZW07XG4gICAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBibG9ja3F1b3RlIHA6d2hlcmUoOm5vdCguaGFzLXNtYWxsLWZvbnQtc2l6ZSwgLmhhcy1jdXN0b20tZm9udC1zaXplKSksXG4gICAgLndwLWJsb2NrLXF1b3RlIHA6d2hlcmUoOm5vdCguaGFzLXNtYWxsLWZvbnQtc2l6ZSwgLmhhcy1jdXN0b20tZm9udC1zaXplKSkge1xuICAgICAgZm9udC1zaXplOiBtYXgoI3skYmQtcXVvdGUtc2l6ZX0sIDEycHgpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMzMzMzsgLy8gMzIvMjRcbiAgICB9XG5cbiAgICAvLyBMZWdhY3kgcG9zdHMgY2FycnkgYSBiYXJlIDx0YWJsZT4gd2l0aCBubyBmaWd1cmUgd3JhcHBlciwgc28gdGhleSBuZXZlclxuICAgIC8vIGdvdCB0aGUgb3ZlcmZsb3cteCBjb250YWluZXIgLndwLWJsb2NrLXRhYmxlIGhhcy4gQXQgdGhpcyB3aWR0aCBhXG4gICAgLy8gbXVsdGktY29sdW1uIHRhYmxlIGlzIHdpZGVyIHRoYW4gdGhlIHZpZXdwb3J0IGFuZCBkcmFncyB0aGUgZW50aXJlIHBhZ2VcbiAgICAvLyBzaWRld2F5cyB3aXRoIGl0LiBNYWtpbmcgdGhlIHRhYmxlIGl0cyBvd24gc2Nyb2xsIGNvbnRhaW5lciBpcyB0aGUgb25seVxuICAgIC8vIGZpeCBhdmFpbGFibGUgd2l0aG91dCBhIHdyYXBwZXIgZWxlbWVudDsgc2NvcGVkIHRvIG1vYmlsZSBzbyBkZXNrdG9wXG4gICAgLy8gdGFibGUgbGF5b3V0IHN0YXlzIGV4YWN0bHkgYXMgaXQgaXMuXG4gICAgPiB0YWJsZSxcbiAgICBmaWd1cmU6bm90KC53cC1ibG9jay10YWJsZSkgPiB0YWJsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgfVxuXG4gICAgZmlndXJlLFxuICAgIC53cC1ibG9jay1pbWFnZSxcbiAgICAud3AtYmxvY2stZW1iZWQsXG4gICAgLndwLWJsb2NrLWF1ZGlvLFxuICAgIC53cC1ibG9jay10YWJsZSxcbiAgICAud3AtYmxvY2stYnV0dG9ucyxcbiAgICAud3AtYmxvY2stZGV0YWlscyxcbiAgICBocixcbiAgICAud3AtYmxvY2stc2VwYXJhdG9yIHtcbiAgICAgIG1hcmdpbjogM3JlbSAwO1xuICAgIH1cblxuICAgIGZpZ2NhcHRpb24sXG4gICAgLndwLWVsZW1lbnQtY2FwdGlvbiB7XG4gICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gYXNzZXRzL3Njc3MvcGFnZXMvX2Jhc2Uuc2Nzc1xuLy8gR2xvYmFsIHJlc2V0IGFuZCBiYXNlIHN0eWxlcyBzaGFyZWQgYnkgYWxsIGliLSBwYWdlcy5cbi8vIEB1c2UgdGhpcyBpbiBlYWNoIHBhZ2UgZW50cnkgZmlsZSBzbyBjdXN0b20uY3NzIGlzIG5vdCByZXF1aXJlZC5cblxuQHVzZSBcInV0aWxzXCIgYXMgKjtcblxuLy8gRW1pdCB0aGUgc2FtZSBDU1MgY3VzdG9tIHByb3BlcnRpZXMgdGhhdCBjdXN0b20uY3NzIHByb3ZpZGVzIHNvIHRoYXQgcGxhaW5cbi8vIENTUyBmaWxlcyAoaGVhZGVyLmNzcywgZm9vdGVyLmNzcywgc3R5bGUuY3NzKSBjb250aW51ZSB0byByZXNvbHZlIHZhcigpXG4vLyByZWZlcmVuY2VzIG9uY2UgY3VzdG9tLmNzcyBpcyByZW1vdmVkLlxuOnJvb3Qge1xuICAtLWJnLXByaW1hcnk6ICN7JGliLWJnLXByaW1hcnl9O1xuICAtLXRleHQtcHJpbWFyeTogI3skaWItdGV4dC1wcmltYXJ5fTtcbiAgLS10ZXh0LXNlY29uZGFyeTogI3skaWItdGV4dC1zZWNvbmRhcnl9O1xuICAtLXRleHQtZGlzYWJsZWQ6ICN7JGliLXRleHQtZGlzYWJsZWR9O1xuICAtLXRleHQtZ3JheTogI3skaWItZ3JheS1tZWRpdW19O1xuICAtLWFjY2VudC1yZWQ6ICN7JGliLXJlZC1icmFuZH07XG4gIC0tYWNjZW50LXBlYWNoOiAjeyRpYi1yZWQtcGVhY2h9O1xuICAtLWJvcmRlci1jb2xvcjogI3skaWItYm9yZGVyLWNvbG9yfTtcbiAgLS1mb250LXByaW1hcnk6ICN7JGliLWZvbnQtc3RhY2t9O1xuICAtLXRyYW5zaXRpb24tc21vb3RoOiAjeyRpYi10cmFuc2l0aW9uLXNtb290aH07XG4gIC0tdHJhbnNpdGlvbi1zbG93OiAjeyRpYi10cmFuc2l0aW9uLXNsb3d9O1xuXG4gIC8vIENvbnRhaW5lciB0b2tlbnMg4oCUIGNvbnN1bWVkIGJ5IGhlYWRlci5jc3MgKC50b3BiYXItY29udGFpbmVyLFxuICAvLyAuaGVhZGVyLWNvbnRhaW5lcikgYW5kIHRoZSByZW0gcGFnZXMnIHNlY3Rpb24gY29udGFpbmVycy4gcmVtIChub3QgcHgpXG4gIC8vIHNvIHRoZXkgc2NhbGUgd2l0aCB0aGUgZmx1aWQgcm9vdCBhYm92ZTsgMTQ5Ni8xNTc2LzQwcHggYXQgMXJlbSA9IDE2cHgsXG4gIC8vIG1hdGNoaW5nIGN1c3RvbS5jc3MncyBweCB2YWx1ZXMgb24gdGhlIGxlZ2FjeSBob21lcGFnZS5cbiAgLS1jb250YWluZXItd2lkdGg6IDkzLjVyZW07IC8vIDE0OTZweFxuICAvLyAtLWNvbnRhaW5lci13aWR0aC1wYWRkOiA5OC41cmVtOyAvLyAxNTc2cHhcbiAgLS1jb250YWluZXItd2lkdGgtcGFkZDogMTAxcmVtOyAvLyAxNjE2cHhcbiAgLS1ndXR0ZXI6IDYwcHg7ICAvLyA2MHB4XG59XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLy8gS2lsbCB0aGUgdHJhbnNsdWNlbnQgYmx1ZS9ncmV5IGZsYXNoIEFuZHJvaWQgQ2hyb21lIHBhaW50cyBvdmVyIGFueVxuICAvLyB0YXBwZWQgPGE+LzxidXR0b24+IChhbmQgcm9sZT1cImJ1dHRvblwiIGVsZW1lbnQpLiBPdXIgb3duIDphY3RpdmUgL1xuICAvLyA6Zm9jdXMtdmlzaWJsZSBzdHlsZXMgYXJlIHRoZSBpbnRlbmRlZCB0YXAgZmVlZGJhY2suXG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8vIEZsdWlkIHJvb3QgZm9udCDigJQgb25lIGdsb2JhbCBrbm9iIGZvciBldmVyeSBpYi0gcGFnZSAoYW5kIHRoZSBzaW5nbGVcbi8vIGNvbWJpbmVkIFdvcmRQcmVzcyBzdHlsZXNoZWV0KTogMTcyOHB4IGNhbnZhcyDihpIgMXJlbSA9IDE2cHgsIHNjYWxpbmcgYWxsXG4vLyByZW0tc2l6ZWQgdG9rZW5zIChpYi1yZW0vaWItdHlwZS9pYi1zcGFjZS9pYi1zaXplKSBwcm9wb3J0aW9uYWxseSBiZWxvd1xuLy8gdGhhdC4gVGhlIOKJpDEwMjRweCBiYW5kIHJlc2V0cyB0byAxMDAlIHdoZXJlIGVhY2ggcGFnZSdzIGRlZGljYXRlZCBtb2JpbGVcbi8vIFVJIHRha2VzIG92ZXIuIFRoZSBtYXgoLi4uLCAxMnB4KSBndWFyZCBpbiBpYi10eXBlKCkga2VlcHMgZXZlcnkgdHlwZVxuLy8gdG9rZW4gYXQgb3IgYWJvdmUgdGhlIDEycHggZmxvb3IgcmVnYXJkbGVzcyBvZiB0aGlzIGNsYW1wLlxuaHRtbCB7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMTRweCwgY2FsYygxMDB2dyAvIDEwOCksIDE2cHgpO1xuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICBmb250LXNpemU6IDEwMCU7XG4gIH1cbn1cblxuLy8gU2Nyb2xsLWxvY2sgc2Nyb2xsYmFyIGNvbXBlbnNhdGlvbiDigJQgbWlycm9ycyBjc3MvY3VzdG9tLmNzcyAoanMvc2hhcmVkLmpzKS5cbmh0bWwuc2Nyb2xsLWxvY2tlZCxcbmh0bWwuc2Nyb2xsLWxvY2tlZCAubWFpbi1oZWFkZXIge1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zY3JvbGxiYXItY29tcCwgMCk7XG59XG5cbi8vIEd1dHRlciwgbm90IHBhZGRpbmc6IHRoZSBtZW51J3Mgb3duIHNjcm9sbGJhciBhbHJlYWR5IGZpbGxzIHRoYXQgc3BhY2UuXG5odG1sLnNjcm9sbC1sb2NrZWQgLmhlYWRlci1jb250YWluZXIgLm1lZ2EtbWVudSB7XG4gIHNjcm9sbGJhci1ndXR0ZXI6IHN0YWJsZTtcbn1cblxuaHRtbCxcbmJvZHkge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmb250LWZhbWlseTogJGliLWZvbnQtc3RhY2s7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpYi1iZy1wcmltYXJ5O1xuICBjb2xvcjogJGliLXRleHQtcHJpbWFyeTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cblxuOjotd2Via2l0LXNjcm9sbGJhciB7XG4gIHdpZHRoOiA4cHg7XG59XG5cbjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICBiYWNrZ3JvdW5kOiAkaWItYmctcHJpbWFyeTtcbn1cblxuOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gIGJhY2tncm91bmQ6ICRpYi10ZXh0LWRpc2FibGVkO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAkaWItdGV4dC1zZWNvbmRhcnk7XG59XG5cbmEge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiAkaWItdHJhbnNpdGlvbi1zbW9vdGg7XG59XG5cbmJ1dHRvbixcbmlucHV0LFxudGV4dGFyZWEsXG5zZWxlY3Qge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbn1cbiIsIi8vIGFzc2V0cy9zY3NzL3BhZ2VzL19oZWxwZXJzLnNjc3Ncbi8vXG4vLyDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZBcbi8vIEdMT0JBTCBIRUxQRVIgQ0xBU1NFUyDigJQgaWRlbnRpY2FsIG9uIEVWRVJZIHBhZ2UsIHplcm8gY29uZmlndXJhdGlvbi5cbi8vIEFkZCBgQHVzZSAnaGVscGVycyc7YCB0byBlYWNoIHBhZ2UgZW50cnkgZmlsZS4gU2FmZSB0byBjb21iaW5lIGludG8gb25lXG4vLyBidWlsZCAoV29yZFByZXNzKTogU2FzcyBlbWl0cyB0aGlzIG1vZHVsZSdzIENTUyBvbmx5IG9uY2UuXG4vL1xuLy8gVmlzaWJpbGl0eSBjbGFzc2VzICh1c2UgZGlyZWN0bHkgaW4gSFRNTCDigJQgdGhleSBuZXZlciBjaGFuZ2UgcGVyIHBhZ2UpOlxuLy8gICAuaWItbW9iaWxlLW9ubHkgICAgICAgICDihpIgdmlzaWJsZSDiiaQgNzY4cHggb25seSAgICAgICAgKHBob25lcylcbi8vICAgLmliLXRhYmxldC1vbmx5ICAgICAgICAg4oaSIHZpc2libGUgNzY54oCTMTAyNHB4IG9ubHkgICAgICh0YWJsZXRzKVxuLy8gICAuaWItbW9iaWxlLXRhYmxldC1vbmx5ICDihpIgdmlzaWJsZSDiiaQgMTAyNHB4IG9ubHkgICAgICAgKHBob25lcyArIHRhYmxldHMpXG4vLyAgIC5pYi1kZXNrdG9wLW9ubHkgICAgICAgIOKGkiB2aXNpYmxlID4gMTAyNHB4IG9ubHkgICAgICAgKGRlc2t0b3ApXG4vLyDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZBcblxuQHVzZSBcInV0aWxzXCIgYXMgKjtcblxuLy8gUGhvbmVzIG9ubHkg4oCUIGhpZGRlbiBhYm92ZSA3NjhweFxuLmliLW1vYmlsZS1vbmx5IHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IGNhbGMoJGliLWJwLW1vYmlsZSArIDFweCkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8gVGFibGV0cyBvbmx5IOKAlCBoaWRkZW4gYXQg4omkNzY4cHggYW5kIGFib3ZlIDEwMjRweFxuLmliLXRhYmxldC1vbmx5IHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRpYi1icC1tb2JpbGUpLCAobWluLXdpZHRoOiBjYWxjKCRpYi1icC10YWJsZXQgKyAxcHgpKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vIFBob25lcyArIHRhYmxldHMg4oCUIGhpZGRlbiBhYm92ZSAxMDI0cHhcbi5pYi1tb2JpbGUtdGFibGV0LW9ubHkge1xuICBAbWVkaWEgKG1pbi13aWR0aDogY2FsYygkaWItYnAtdGFibGV0ICsgMXB4KSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyBEZXNrdG9wIG9ubHkg4oCUIGhpZGRlbiBhdCAxMDI0cHggYW5kIGJlbG93XG4uaWItZGVza3RvcC1vbmx5IHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRpYi1icC10YWJsZXQpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8g4pSA4pSAIE1PQklMRSBSRVZFQUwgKC5pYi1tLXJldmVhbCkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBTdWJ0bGUgZmFkZS11cCBmb3IgbW9iaWxlLCB3aGVyZSB0aGUgZGVza3RvcCBzY3JvbGwgZWZmZWN0cyBhcmUgZGlzYWJsZWQuXG4vLyBKUyAoYXNzZXRzL2pzL3BhZ2VzL3NoYXJlZC9tb2JpbGUtcmV2ZWFsLmpzKSBhZGRzL3JlbW92ZXMgdGhlIGNsYXNzIGF0IGVhY2hcbi8vIHBhZ2UncyBvd24gbW9iaWxlIGJyZWFrcG9pbnQsIHNvIHRoaXMgYmxvY2sgaXMgc2NvcGVkIG9uY2UgdG8g4omkMTAyNHB4ICh0aGVcbi8vIGxhcmdlc3QgbW9iaWxlIGJvdW5kYXJ5IGluIHRoZSBwcm9qZWN0KSBhbmQgb25seSBldmVyIGFmZmVjdHMgZWxlbWVudHMgSlNcbi8vIGhhcyB0YWdnZWQg4oCUIG5vLUpTIHVzZXJzIGFuZCBkZXNrdG9wIHNlZSBub3RoaW5nLiAtLWliLW0tcmV2ZWFsLWRlbGF5XG4vLyBzdGFnZ2VycyBzaWJsaW5ncywgc2V0IGJ5IEpTIGFzIGEgc2NvcGVkIGN1c3RvbSBwcm9wZXJ0eS5cbkBtZWRpYSAobWF4LXdpZHRoOiAkaWItYnAtdGFibGV0KSBhbmQgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IG5vLXByZWZlcmVuY2UpIHtcbiAgLmliLW0tcmV2ZWFsIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjRweCwgMCk7XG4gICAgdHJhbnNpdGlvbjpcbiAgICAgIG9wYWNpdHkgLjU1cyBjdWJpYy1iZXppZXIoLjI1LCAuNDYsIC40NSwgLjk0KSxcbiAgICAgIHRyYW5zZm9ybSAuNTVzIGN1YmljLWJlemllciguMjUsIC40NiwgLjQ1LCAuOTQpO1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IHZhcigtLWliLW0tcmV2ZWFsLWRlbGF5LCAwcyk7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIGFzc2V0cy9zY3NzL3BhZ2VzL19idXR0b25zLnNjc3Ncbi8vIOKUgOKUgOKUgCBJbmZvQmVhbnMgQnV0dG9uIFN5c3RlbSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vXG4vLyBTaGFwZTogcmVjdGFuZ2xlIHdpdGggbm90Y2hlZCBjb3JuZXJzICh0b3AtbGVmdCArIGJvdHRvbS1yaWdodCkgYXQgMTBweCDigJRcbi8vIG1hdGNoZXMgRmlnbWEgdGFiLWJ1dHRvbiBhZXN0aGV0aWMuXG4vL1xuLy8gQXJjaGl0ZWN0dXJlICh0aHJlZSBwYWludGVkIGxheWVycywgdHdvIERPTSBub2RlcyArIHBzZXVkb3MpOlxuLy8gICAuaWItYnRuICAgICAgICAgICAg4oaSIGxheW91dCBob3N0LCBubyBjbGlwLXBhdGhcbi8vICAgICA6OmFmdGVyICAgICAgICAgIOKGkiBzb2xpZCBub3RjaGVkIERFUFRIIEJMT0NLIChwZWFjaCksIGJlaGluZCwgc2xpZGVzIG91dFxuLy8gICAgICAgICAgICAgICAgICAgICAgICBvbiBob3Zlci4gQSBzZXBhcmF0ZSBzaGFwZSB3aXRoIG5vIHRleHQsIHNvIHRoZSBsYWJlbFxuLy8gICAgICAgICAgICAgICAgICAgICAgICBuZXZlciBjYXN0cyBhIHNoYWRvdyBhbmQgaXQgd29ya3Mgb24gdHJhbnNwYXJlbnQgZmlsbHMuXG4vLyAgIC5pYi1idG5fX2lubmVyICAgICDihpIgdGhlIGNsaXBwZWQgZmlsbCAoYmFja2dyb3VuZCBvbmx5KVxuLy8gICAgIDo6YmVmb3JlICAgICAgICAg4oaSIG5vdGNoZWQgQk9SREVSIEZSQU1FIChkb251dCBjbGlwLXBhdGgpIOKAlCB0cmFjZXMgZXZlcnlcbi8vICAgICAgICAgICAgICAgICAgICAgICAgZWRnZSBpbmNsLiB0aGUgY2hhbWZlcnMsIHNvIHRoZSBvdXRsaW5lIGlzIG5ldmVyIGN1dC5cbi8vXG4vLyBXaHkgbm90IGBib3JkZXJgICsgY2xpcC1wYXRoPyBjbGlwLXBhdGggY3V0cyB0aGUgYm9yZGVyIGF0IHRoZSBjaGFtZmVycy5cbi8vIFdoeSBub3QgYGZpbHRlcjogZHJvcC1zaGFkb3dgPyBpdCBzaGFkb3dzIHRoZSB0ZXh0IHRvbywgYW5kIGEgdHJhbnNwYXJlbnRcbi8vIGZpbGwgeWllbGRzIG9ubHkgYSBob2xsb3cgcmluZy4gVGhlIGRlcHRoIGJsb2NrIHNpZGVzdGVwcyBib3RoLlxuLy9cbi8vIFZhcmlhbnRzOiAgIC0tcHJpbWFyeSB8IC0tcHJpbWFyeS1saWdodCB8IC0tc2Vjb25kYXJ5IHwgLS1zZWNvbmRhcnktbGlnaHQgfCAtLWdob3N0IHwgLS1iYXJlXG4vLyBNb2RpZmllcnM6ICAtLXdpdGgtaWNvbiAgfCAgLS1pY29uLW9ubHlcbi8vIFN0YXRlczogICAgIGRlZmF1bHQgIDpob3ZlciAgOmZvY3VzLXZpc2libGUgIDpkaXNhYmxlZFxuLy9cbi8vIFJlcXVpcmVkIEhUTUwgc3RydWN0dXJlOlxuLy8gICA8YnV0dG9uIGNsYXNzPVwiaWItYnRuIGliLWJ0bi0tcHJpbWFyeVwiPlxuLy8gICAgIDxzcGFuIGNsYXNzPVwiaWItYnRuX19pbm5lclwiPkxhYmVsPC9zcGFuPlxuLy8gICA8L2J1dHRvbj5cbi8vXG4vLyAgIDwhLS0gd2l0aCBhcnJvdyAtLT5cbi8vICAgPGJ1dHRvbiBjbGFzcz1cImliLWJ0biBpYi1idG4tLXByaW1hcnkgaWItYnRuLS13aXRoLWljb25cIj5cbi8vICAgICA8c3BhbiBjbGFzcz1cImliLWJ0bl9faW5uZXJcIj5cbi8vICAgICAgIExhYmVsXG4vLyAgICAgICA8c3ZnIGNsYXNzPVwiaWItYnRuX19hcnJvd1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGZvY3VzYWJsZT1cImZhbHNlXCIgd2lkdGg9XCIxNFwiIGhlaWdodD1cIjE0XCI+XG4vLyAgICAgICAgIDx1c2UgaHJlZj1cIiNpY29uLWFycm93LXJpZ2h0XCI+PC91c2U+XG4vLyAgICAgICA8L3N2Zz5cbi8vICAgICA8L3NwYW4+XG4vLyAgIDwvYnV0dG9uPlxuLy9cbi8vICAgPCEtLSBpY29uIG9ubHkgLS0+XG4vLyAgIDxidXR0b24gY2xhc3M9XCJpYi1idG4gaWItYnRuLS1wcmltYXJ5IGliLWJ0bi0taWNvbi1vbmx5XCIgYXJpYS1sYWJlbD1cIk5leHRcIj5cbi8vICAgICA8c3BhbiBjbGFzcz1cImliLWJ0bl9faW5uZXJcIj5cbi8vICAgICAgIDxzdmcgY2xhc3M9XCJpYi1idG5fX2Fycm93XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgZm9jdXNhYmxlPVwiZmFsc2VcIiB3aWR0aD1cIjE0XCIgaGVpZ2h0PVwiMTRcIj5cbi8vICAgICAgICAgPHVzZSBocmVmPVwiI2ljb24tYXJyb3ctcmlnaHRcIj48L3VzZT5cbi8vICAgICAgIDwvc3ZnPlxuLy8gICAgIDwvc3Bhbj5cbi8vICAgPC9idXR0b24+XG5cbkB1c2UgXCJ1dGlsc1wiIGFzICo7XG5cbi8vIOKUgOKUgOKUgCBMb2NhbCBjb25zdGFudHMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4kX2N1dDogMTBweDsgICAgLy8gY29ybmVyIG5vdGNoIOKAlCB0b3AtbGVmdCArIGJvdHRvbS1yaWdodFxuJF9oZWlnaHQ6IDQ4cHg7ICAgIC8vIGZpeGVkIGNvbnRyb2wgaGVpZ2h0IChGaWdtYSBzcGVjKVxuJF9weDogMjJweDsgICAgLy8gaG9yaXpvbnRhbCBwYWRkaW5nXG4kX2dhcDogMjRweDsgICAgLy8gc3BhY2UgYmV0d2VlbiBsYWJlbCBhbmQgYXJyb3dcbiRfZm9udC1zaXplOiAxNnB4O1xuJF9mb250LXdlaWdodDogNTAwO1xuJF9ib3JkZXItdzogMS41cHg7ICAgLy8gb3V0bGluZSB0aGlja25lc3MgKGJvcmRlciBmcmFtZSlcbiRfc2hhZG93LXg6IDRweDsgICAgLy8gZGVwdGggYmxvY2sgb2Zmc2V0IFggKHJldmVhbGVkIG9uIGhvdmVyKVxuJF9zaGFkb3cteTogNHB4OyAgICAvLyBkZXB0aCBibG9jayBvZmZzZXQgWVxuJF90cmFuc2l0aW9uOiAuMjVzIGN1YmljLWJlemllciguMTYsIDEsIC4zLCAxKTtcblxuLy8gRmlsbGVkIG5vdGNoZWQgc2lsaG91ZXR0ZSAoZmlsbCArIGRlcHRoIGJsb2NrKS5cbkBtaXhpbiBfbm90Y2gge1xuICBjbGlwLXBhdGg6IHBvbHlnb24oXG4gICAgI3skX2N1dH0gMCxcbiAgICAxMDAlIDAsXG4gICAgMTAwJSBjYWxjKDEwMCUgLSAjeyRfY3V0fSksXG4gICAgY2FsYygxMDAlIC0gI3skX2N1dH0pIDEwMCUsXG4gICAgMCAxMDAlLFxuICAgIDAgI3skX2N1dH1cbiAgKTtcbn1cblxuLy8gTm90Y2hlZCBib3JkZXIgRlJBTUUgb2YgdGhpY2tuZXNzICR0IOKAlCBvdXRlciBub3RjaCB3aXRoIGFuIGlubmVyIG5vdGNoIGN1dFxuLy8gb3V0IChzaW5nbGUtcGF0aCBcImRvbnV0XCIpLCBzbyB0aGUgc3Ryb2tlIGZvbGxvd3MgZXZlcnkgZWRnZSBpbmNsLiBjaGFtZmVycy5cbkBtaXhpbiBfbm90Y2gtZnJhbWUoJHQpIHtcbiAgY2xpcC1wYXRoOiBwb2x5Z29uKFxuICAgIC8vIG91dGVyIG5vdGNoIChjbG9ja3dpc2UpICsgYnJpZGdlIGJhY2sgdG8gc3RhcnRcbiAgICAjeyRfY3V0fSAwLFxuICAgIDEwMCUgMCxcbiAgICAxMDAlIGNhbGMoMTAwJSAtICN7JF9jdXR9KSxcbiAgICBjYWxjKDEwMCUgLSAjeyRfY3V0fSkgMTAwJSxcbiAgICAwIDEwMCUsXG4gICAgMCAjeyRfY3V0fSxcbiAgICAjeyRfY3V0fSAwLFxuICAgIC8vIGlubmVyIG5vdGNoIChpbnNldCBieSAkdCkg4oCUIHdvdW5kIENPVU5URVItY2xvY2t3aXNlIHRvIGNhcnZlIHRoZSBob2xlXG4gICAgI3skX2N1dH0gI3skdH0sXG4gICAgI3skdH0gI3skX2N1dH0sXG4gICAgI3skdH0gY2FsYygxMDAlIC0gI3skdH0pLFxuICAgIGNhbGMoMTAwJSAtICN7JF9jdXR9KSBjYWxjKDEwMCUgLSAjeyR0fSksXG4gICAgY2FsYygxMDAlIC0gI3skdH0pIGNhbGMoMTAwJSAtICN7JF9jdXR9KSxcbiAgICBjYWxjKDEwMCUgLSAjeyR0fSkgI3skdH0sXG4gICAgI3skX2N1dH0gI3skdH1cbiAgKTtcbn1cblxuLy8g4pSA4pSA4pSAIEtleWZyYW1lOiBhcnJvdyBib3VuY2UgKGljb24tb25seSBob3Zlcikg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5Aa2V5ZnJhbWVzIGliLWFycm93LXNsaWRlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDQ1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDdweCk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICA0NiUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNXB4KTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi8vIOKUgOKUgOKUgCBCYXNlIOKAlCBgLmliLWJ0bmAgaXMgdGhlIGxheW91dCBob3N0ICsgZGVwdGgtYmxvY2sgb3duZXIgKE5PIGNsaXAtcGF0aCkg4pSA4pSA4pSAXG4uaWItYnRuIHtcbiAgLy8gUGVyLXZhcmlhbnQgb3ZlcnJpZGVzIHZpYSBDU1MgY3VzdG9tIHByb3BzXG4gIC0tX2JnOiAjeyRpYi1yZWQtYnJhbmR9O1xuICAtLV9iZy1wcmVzczogI3skaWItcmVkLWRhcmt9O1xuICAtLV9jb2xvcjogI3skaWItZ3JheS13aGl0ZX07XG4gIC0tX2JvcmRlcjogdHJhbnNwYXJlbnQ7XG4gIC0tX3NoYWRvdzogI3skaWItcmVkLXBlYWNofTsgICAgLy8gZGVwdGgtYmxvY2sgY29sb3VyXG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBpc29sYXRpb246IGlzb2xhdGU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgaGVpZ2h0OiAkX2hlaWdodDtcbiAgcGFkZGluZzogMDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG4gIGZvbnQtc2l6ZTogJF9mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkX2ZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuXG4gIC8vIFRoZSB1bmNvbmRpdGlvbmFsIGBkaXNwbGF5YCBhYm92ZSBvdXRyYW5rcyB0aGUgVUEgc3R5bGVzaGVldCdzXG4gIC8vIGBbaGlkZGVuXSB7IGRpc3BsYXk6IG5vbmUgfWAsIHNvIHRoZSBuYXRpdmUgYXR0cmlidXRlIHNpbGVudGx5IG5vLW9wc1xuICAvLyB1bmxlc3Mgd2UgcmVzdGF0ZSBpdCBoZXJlIGF0IGF1dGhvci1DU1Mgc3BlY2lmaWNpdHkuXG4gICZbaGlkZGVuXSB7IGRpc3BsYXk6IG5vbmU7IH1cblxuICAvLyDilIDilIAgRGVwdGggYmxvY2sg4oCUIHNvbGlkIG5vdGNoZWQgcGVhY2ggc2hhcGUsIGJlaGluZCB0aGUgYnV0dG9uIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAvLyBIaWRkZW4gYXQgcmVzdDsgc2xpZGVzIG91dCBib3R0b20tcmlnaHQgb24gaG92ZXIuIE5vIHRleHQg4oaSIG5vIHRleHQgc2hhZG93LlxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgei1pbmRleDogLTE7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tX3NoYWRvdyk7XG5cbiAgICBAaW5jbHVkZSBfbm90Y2g7XG5cbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJF90cmFuc2l0aW9uLCB0cmFuc2Zvcm0gJF90cmFuc2l0aW9uO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgLy8g4pSA4pSAIElubmVyIOKAlCB0aGUgdmlzaWJsZSBjbGlwcGVkIGZpbGwg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gICZfX2lubmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6ICRfZ2FwO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmc6IDAgJF9weDtcbiAgICBjb2xvcjogdmFyKC0tX2NvbG9yKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1fYmcpO1xuICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgQGluY2x1ZGUgX25vdGNoO1xuXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAkX3RyYW5zaXRpb24sIGNvbG9yICRfdHJhbnNpdGlvbjtcblxuICAgIC8vIE5vdGNoZWQgYm9yZGVyIGZyYW1lIOKAlCBjb2xvdXJlZCBieSAtLV9ib3JkZXIgKHRyYW5zcGFyZW50ID0gaW52aXNpYmxlKS5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGluc2V0OiAwO1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tX2JvcmRlcik7XG5cbiAgICAgIEBpbmNsdWRlIF9ub3RjaC1mcmFtZSgkX2JvcmRlci13KTtcblxuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kICRfdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cblxuICAvLyDilIDilIAgQXJyb3cgaWNvbiDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgJl9fYXJyb3cge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRfdHJhbnNpdGlvbiwgb3BhY2l0eSAkX3RyYW5zaXRpb247XG5cbiAgICBzdmcsXG4gICAgJi5pYi1pY29uIHtcbiAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgIH1cbiAgfVxuXG4gIC8vIOKUgOKUgCBTdGF0ZXMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIC8vIENvbCAyIOKAlCBob3ZlcjogdGhlIHBlYWNoIGRlcHRoIGJsb2NrIHNsaWRlcyBvdXQgKG5vIHRleHQgY2hhbmdlIGFueXdoZXJlKS5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkLCBbYXJpYS1kaXNhYmxlZD1cInRydWVcIl0pOjphZnRlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgkX3NoYWRvdy14LCAkX3NoYWRvdy15KTtcbiAgfVxuXG4gIC8vIENvbCAzIOKAlCBmb2N1c2VkOiBiYWNrZ3JvdW5kIGNvbG91ciBvbmx5IOKAlCBubyByaW5nLCBubyBib3JkZXIsIG5vIHNoYWRvdy5cbiAgJjpmb2N1cy12aXNpYmxlIC5pYi1idG5fX2lubmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1fYmctcHJlc3MpO1xuICB9XG5cbiAgJjphY3RpdmU6bm90KDpkaXNhYmxlZCkgLmliLWJ0bl9faW5uZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLV9iZy1wcmVzcyk7XG4gIH1cblxuICAvLyBDb2wgNCDigJQgZGlzYWJsZWQ6IGdyYXksIG5vIGRlcHRoIGJsb2NrLlxuICAmOmRpc2FibGVkLFxuICAmW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdIHtcbiAgICAtLV9iZzogI3skaWItZ3JheS1saWdodH07XG4gICAgLS1fYm9yZGVyOiAjeyRpYi1ncmF5LWxpZ2h0fTtcbiAgICAtLV9jb2xvcjogI3skaWItZ3JheS13aGl0ZX07XG5cbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG59XG5cbi8vIOKUgOKUgOKUgCBWYXJpYW50OiBQcmltYXJ5IOKAlCBzb2xpZCBjcmltc29uIHJlZCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi5pYi1idG4tLXByaW1hcnkge1xuICAtLV9iZzogI3skaWItcmVkLWJyYW5kfTtcbiAgLS1fYmctcHJlc3M6ICN7JGliLXJlZC1kYXJrfTtcbiAgLS1fY29sb3I6ICN7JGliLWdyYXktd2hpdGV9O1xuICAtLV9ib3JkZXI6IHRyYW5zcGFyZW50O1xuICAtLV9zaGFkb3c6ICN7JGliLXJlZC1wZWFjaH07XG59XG5cbi8vIOKUgOKUgOKUgCBWYXJpYW50OiBQcmltYXJ5IExpZ2h0IOKAlCBjcmVhbSBmaWxsLCBncmF5IHRleHQg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4uaWItYnRuLS1wcmltYXJ5LWxpZ2h0IHtcbiAgLS1fYmc6ICN7JGliLWNyZWFtLW1pc3R9O1xuICAtLV9iZy1wcmVzczogI3skaWItY3JlYW0tbGlnaHR9OyAgLy8gI0ZGRUZEMSBvbiBmb2N1c1xuICAtLV9jb2xvcjogI3skaWItZ3JheS1tZWRpdW19O1xuICAtLV9ib3JkZXI6IHRyYW5zcGFyZW50O1xuICAtLV9zaGFkb3c6ICN7JGliLXJlZC1wZWFjaH07ICAgIC8vIHNhbWUgcGVhY2ggZGVwdGggYmxvY2sgYXMgcHJpbWFyeVxuXG4gICY6ZGlzYWJsZWQsXG4gICZbYXJpYS1kaXNhYmxlZD1cInRydWVcIl0ge1xuICAgIC0tX2JnOiAjeyRpYi1ncmF5LWxpZ2h0fTtcbiAgICAtLV9jb2xvcjogI3skaWItZ3JheS13aGl0ZX07XG4gIH1cbn1cblxuLy8g4pSA4pSA4pSAIFZhcmlhbnQ6IFNlY29uZGFyeSDigJQgdHJhbnNwYXJlbnQgZmlsbCwgbm90Y2hlZCByZWQgb3V0bGluZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIEJvcmRlciBpcyB0aGUgZnJhbWUgKDo6YmVmb3JlKSwgc28gaXQgdHJhY2VzIHRoZSBjaGFtZmVycyBpbnN0ZWFkIG9mIGJlaW5nXG4vLyBjdXQuIEZpbGwgc3RheXMgZnVsbHkgdHJhbnNwYXJlbnQuXG4uaWItYnRuLS1zZWNvbmRhcnkge1xuICAtLV9iZzogdHJhbnNwYXJlbnQ7XG4gIC0tX2JnLXByZXNzOiB0cmFuc3BhcmVudDtcbiAgLS1fY29sb3I6ICN7JGliLXJlZC1icmFuZH07ICAgIC8vICNFQTFCM0QgbGFiZWxcbiAgLS1fYm9yZGVyOiAjeyRpYi1yZWQtYnJhbmR9O1xuICAtLV9zaGFkb3c6ICN7JGliLXJlZC1wZWFjaH07XG5cbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAtLV9ib3JkZXI6ICN7JGliLXJlZC1kYXJrfTtcbiAgICAtLV9jb2xvcjogI3skaWItcmVkLWRhcmt9O1xuICB9XG5cbiAgJjphY3RpdmU6bm90KDpkaXNhYmxlZCkge1xuICAgIC0tX2JvcmRlcjogI3skaWItcmVkLWRhcmt9O1xuICAgIC0tX2NvbG9yOiAjeyRpYi1yZWQtZGFya307XG4gIH1cblxuICAmOmRpc2FibGVkLFxuICAmW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdIHtcbiAgICAtLV9iZzogdHJhbnNwYXJlbnQ7XG4gICAgLS1fY29sb3I6ICN7JGliLWdyYXktbGlnaHR9O1xuICAgIC0tX2JvcmRlcjogI3skaWItZ3JheS1saWdodH07XG4gIH1cbn1cblxuLy8g4pSA4pSA4pSAIFZhcmlhbnQ6IFNlY29uZGFyeSBMaWdodCDigJQgdHJhbnNwYXJlbnQgZmlsbCwgd2hpdGUgb3V0bGluZSArIGxhYmVsIOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gRm9yIHVzZSBvbiBkYXJrIC8gaW1hZ2UgYmFja2dyb3VuZHMuXG4uaWItYnRuLS1zZWNvbmRhcnktbGlnaHQge1xuICAtLV9iZzogdHJhbnNwYXJlbnQ7XG4gIC0tX2JnLXByZXNzOiB0cmFuc3BhcmVudDtcbiAgLS1fY29sb3I6ICN7JGliLWdyYXktd2hpdGV9OyAgIC8vIHdoaXRlIGxhYmVsXG4gIC0tX2JvcmRlcjogI3skaWItZ3JheS13aGl0ZX07ICAgLy8gd2hpdGUgYm9yZGVyXG4gIC0tX3NoYWRvdzogI3skaWItcmVkLXBlYWNofTtcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQsIFthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXSkge1xuICAgIC0tX2JnOiAjeyRpYi1yZWQtYnJhbmR9O1xuICAgIC0tX2JvcmRlcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmOmRpc2FibGVkLFxuICAmW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdIHtcbiAgICAtLV9iZzogdHJhbnNwYXJlbnQ7XG4gICAgLS1fY29sb3I6ICN7JGliLWdyYXktbGlnaHR9O1xuICAgIC0tX2JvcmRlcjogI3skaWItZ3JheS1saWdodH07XG4gIH1cbn1cblxuLy8g4pSA4pSA4pSAIFZhcmlhbnQ6IEdob3N0IOKAlCB0ZXh0IGxpbmssIG5vIHNoYXBlLCB1bmRlcmxpbmUgb25seSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi5pYi1idG4tLWdob3N0IHtcbiAgLS1fY29sb3I6ICN7JGliLXJlZC1icmFuZH07XG5cbiAgaGVpZ2h0OiBhdXRvO1xuXG4gIC8vIE5vIGRlcHRoIGJsb2NrIGFuZCBubyBib3JkZXIgZnJhbWUgb24gYSB0ZXh0IGxpbmsuXG4gICY6OmFmdGVyIHsgZGlzcGxheTogbm9uZTsgfVxuXG4gIC5pYi1idG5fX2lubmVyIHtcbiAgICBwYWRkaW5nOiAycHggMDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY2xpcC1wYXRoOiBub25lO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogM3B4O1xuICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IDEuNXB4O1xuICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogY3VycmVudGNvbG9yO1xuICAgIHRyYW5zaXRpb246IGNvbG9yICRfdHJhbnNpdGlvbiwgdGV4dC1kZWNvcmF0aW9uLWNvbG9yICRfdHJhbnNpdGlvbjtcblxuICAgICY6OmJlZm9yZSB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgfVxuXG4gIC8vIEZvY3VzZWQgLyBwcmVzc2VkOiBkYXJrIHRleHQgY29sb3VyIG9ubHkg4oCUIG5vIGJnLCBubyBib3JkZXIsIG5vIHJpbmcuXG4gICY6Zm9jdXMtdmlzaWJsZSxcbiAgJjphY3RpdmU6bm90KDpkaXNhYmxlZCkge1xuICAgIC0tX2NvbG9yOiAjeyRpYi1yZWQtZGFya307XG5cbiAgICAuaWItYnRuX19pbm5lciB7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IH1cbiAgfVxuXG4gICY6ZGlzYWJsZWQsXG4gICZbYXJpYS1kaXNhYmxlZD1cInRydWVcIl0ge1xuICAgIC0tX2NvbG9yOiAjeyRpYi1ncmF5LWxpZ2h0fTtcblxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG59XG5cbi8vIOKUgOKUgOKUgCBWYXJpYW50OiBCYXJlIOKAlCBubyBmaWxsLCBubyBib3JkZXIsIG5vIGRlcHRoIGJsb2NrIChpY29uL3RleHQgb25seSkg4pSA4pSA4pSA4pSA4pSAXG4vLyBGb3IgY2xvc2UgYnV0dG9ucyBhbmQgb3RoZXIgY2hyb21lLWxlc3MgY29udHJvbHMgdGhhdCBtdXN0IHJlYWQgYXMgYSBwbGFpblxuLy8gaWNvbiBvbiB0aGUgcGFnZSBiYWNrZ3JvdW5kLiBLZXB0IGFzIGl0cyBvd24gZ2xvYmFsIGNsYXNzIChub3QgbmVzdGVkIHVuZGVyXG4vLyBhIHNlY3Rpb24gYmxvY2spIHNvIHRoZSBXb3JkUHJlc3MgdGVtcGxhdGVzIGNhbiBjYXJyeSBpdCBvbiB0aGUgbWFya3VwIGFuZFxuLy8gZ2V0IHRoZSBzYW1lIGxvb2sgd2l0aG91dCBhbnkgcGFnZSBDU1MuXG4uaWItYnRuLS1iYXJlIHtcbiAgLS1fYmc6IHRyYW5zcGFyZW50O1xuICAtLV9iZy1wcmVzczogdHJhbnNwYXJlbnQ7XG4gIC0tX2NvbG9yOiAjeyRpYi1maWxsLXByaW1hcnl9OyAgIC8vICMzNzM3NDJcbiAgLS1fYm9yZGVyOiB0cmFuc3BhcmVudDtcbiAgLS1fc2hhZG93OiB0cmFuc3BhcmVudDtcblxuICAvLyBObyBwZWFjaCBkZXB0aCBibG9jayBiZWhpbmQgYSBjaHJvbWUtbGVzcyBjb250cm9sLlxuICAmOjphZnRlciB7IGRpc3BsYXk6IG5vbmU7IH1cblxuICAuaWItYnRuX19pbm5lciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY2xpcC1wYXRoOiBub25lOyAgIC8vIG5vdGhpbmcgdG8gbm90Y2ggd2l0aG91dCBhIGZpbGxcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAkX3RyYW5zaXRpb247XG5cbiAgICAmOjpiZWZvcmUgeyBkaXNwbGF5OiBub25lOyB9ICAgLy8gbm8gYm9yZGVyIGZyYW1lXG4gIH1cblxuICAuaWItaWNvbixcbiAgLmliLWJ0bl9fYXJyb3cge1xuICAgIGNvbG9yOiB2YXIoLS1fY29sb3IpOyAgIC8vIHNwcml0ZSBzdHJva2VzL2ZpbGxzIGluaGVyaXQgY3VycmVudENvbG9yXG4gIH1cblxuICAvLyBDaHJvbWUtbGVzcyBieSBkZXNpZ24g4oCUIG5vIGZpbGwgY2hhbmdlIG9uIGZvY3VzL3ByZXNzIGVpdGhlci4gQ29uc3VtZXJzXG4gIC8vIG93biB0aGVpciBvd24gaG92ZXIgdHJlYXRtZW50IChzZWUgLnNuLXRhbGstZHJhd2VyX19jbG9zZSkuXG4gICY6Zm9jdXMtdmlzaWJsZSAuaWItYnRuX19pbm5lcixcbiAgJjphY3RpdmU6bm90KDpkaXNhYmxlZCkgLmliLWJ0bl9faW5uZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJjpkaXNhYmxlZCxcbiAgJlthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXSB7XG4gICAgLS1fYmc6IHRyYW5zcGFyZW50O1xuICAgIC0tX2JvcmRlcjogdHJhbnNwYXJlbnQ7XG4gICAgLS1fY29sb3I6ICN7JGliLWZpbGwtZGlzYWJsZWR9O1xuICB9XG59XG5cbi8vIOKUgOKUgOKUgCBNb2RpZmllcjogV2l0aCBpY29uICh0ZXh0ICsgYXJyb3cpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gV2hpbGUgaG92ZXJlZCB0aGUgYXJyb3cga2VlcHMgbWFyY2hpbmcg4oCUIGV4aXRzIHJpZ2h0LCByZS1lbnRlcnMgZnJvbSBsZWZ0LlxuLmliLWJ0bi0td2l0aC1pY29uIHtcbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkLCBbYXJpYS1kaXNhYmxlZD1cInRydWVcIl0pIHtcbiAgICAuaWItYnRuX19hcnJvdyB7XG4gICAgICBhbmltYXRpb246IGliLWFycm93LXNsaWRlIC43cyBjdWJpYy1iZXppZXIoLjE2LCAxLCAuMywgMSkgaW5maW5pdGU7XG4gICAgfVxuICB9XG59XG5cbi8vIOKUgOKUgOKUgCBNb2RpZmllcjogSWNvbiBvbmx5IChzcXVhcmUgYXJyb3cgYnV0dG9uKSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIEZpeGVkIHNxdWFyZTsgYXJyb3cgbWFyY2hlcyBjb250aW51b3VzbHkgd2hpbGUgaG92ZXJlZC5cbi5pYi1idG4tLWljb24tb25seSB7XG4gIHdpZHRoOiAkX2hlaWdodDtcblxuICAuaWItYnRuX19pbm5lciB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCwgW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdKSB7XG4gICAgLmliLWJ0bl9fYXJyb3cge1xuICAgICAgYW5pbWF0aW9uOiBpYi1hcnJvdy1zbGlkZSAuN3MgY3ViaWMtYmV6aWVyKC4xNiwgMSwgLjMsIDEpIGluZmluaXRlO1xuICAgIH1cbiAgfVxufVxuXG4vLyDilIDilIDilIAgUmVzcG9uc2l2ZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIE1vYmlsZSBidXR0b24gc2l6aW5nIGFwcGxpZXMgdXAgdG8gYW5kIGluY2x1ZGluZyB0YWJsZXRzICjiiaQxMDI0cHgpIG9uIGV2ZXJ5XG4vLyBwYWdlIOKAlCBvbmUgZml4ZWQgYm91bmRhcnksIG5vIHBlci1wYWdlIGNvbmZpZ3VyYXRpb24uXG5AbWVkaWEgKG1heC13aWR0aDogJGliLWJwLXRhYmxldCkge1xuICAuaWItYnRuIHtcbiAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuXG4gICAgJl9faW5uZXIge1xuICAgICAgcGFkZGluZzogMCAxOHB4O1xuICAgIH1cblxuICAgICZfX2Fycm93IHN2ZyxcbiAgICAmX19hcnJvdy5pYi1pY29uIHtcbiAgICAgIHdpZHRoOiAxM3B4O1xuICAgICAgaGVpZ2h0OiAxM3B4O1xuICAgIH1cbiAgfVxuXG4gIC5pYi1idG4tLWljb24tb25seSB7XG4gICAgd2lkdGg6IDQ0cHg7XG5cbiAgICAuaWItYnRuX19pbm5lciB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gYXNzZXRzL3Njc3MvcGFnZXMvc2VydmljZW5vdy5zY3NzXG4vLyBFbnRyeSBwb2ludCDigJQgaW1wb3J0cyBhbGwgU2VydmljZU5vdyBwYWdlIHNlY3Rpb24gcGFydGlhbHMuXG4vLyBDb21waWxlOiBucG0gcnVuIHNhc3M6YnVpbGQgIHwgIFdhdGNoOiBucG0gcnVuIHNhc3NcblxuLy8gQHVzZSBtdXN0IGNvbWUgZmlyc3Qg4oCUIGFsbCBydWxlcyBnbyBpbnNpZGUgdGhlIHBhcnRpYWxzXG4vLyBUaGlzIHBhZ2UncyBtb2JpbGUgZGVzaWduIG93bnMgZXZlcnl0aGluZyB1cCB0byBhbmQgaW5jbHVkaW5nIHRhYmxldHNcbi8vICjiiaQxMDI0cHgpOiBldmVyeSBtb2JpbGUgYmxvY2sgaW4gdGhlIHNlcnZpY2Vub3cgcGFydGlhbHMga2V5cyBvZmZcbi8vICRpYi1icC10YWJsZXQuIFNoYXJlZCBwYXJ0aWFscyAoYnV0dG9ucywgbGV0cy10YWxrLCBoZWxwZXJzKSB1c2UgdGhlIHNhbWVcbi8vIGZpeGVkIGJvdW5kYXJ5IGV2ZXJ5d2hlcmUg4oCUIG5vIGB3aXRoICguLi4pYCBjb25maWd1cmF0aW9uIGFueXdoZXJlLCBzbyBhbGxcbi8vIHBhZ2VzIGNhbiBzYWZlbHkgY29tcGlsZSBhcyBvbmUgYnVpbGQgKFdvcmRQcmVzcykuXG5AdXNlIFwiLi4vX3V0aWxzXCI7ICAgLy8gc2hhcmVkIGliLSBkZXNpZ24gdG9rZW5zICsgYnJlYWtwb2ludCB0b2tlbnNcbkB1c2UgXCIuLi9fYmFzZVwiOyAgICAvLyBnbG9iYWwgcmVzZXQgKyBodG1sL2JvZHkgYmFzZSBzdHlsZXNcbkB1c2UgXCIuLi9faGVscGVyc1wiOyAvLyAuaWItbW9iaWxlLW9ubHkgLyAuaWItdGFibGV0LW9ubHkgLyAuaWItbW9iaWxlLXRhYmxldC1vbmx5IC8gLmliLWRlc2t0b3Atb25seSAvIC5pYi1tLXJldmVhbFxuQHVzZSBcIi4uL19idXR0b25zXCI7IC8vIHNoYXJlZCBidXR0b24gc3lzdGVtIChtb2JpbGUgc2l6aW5nIOKJpDEwMjRweClcblxuLy8g4pSA4pSAIFBhZ2UtbGV2ZWwgb3ZlcnJpZGVzIChhZnRlciBAdXNlKSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIFNjb3BlZCB0byAucGFnZS1zZXJ2aWNlbm93IHNvIG90aGVyIHBhZ2VzIGtlZXAgZ2xvYmFsIHNjcm9sbC1zbmFwIC8gb3ZlcmZsb3cuXG4vLyBvdmVyZmxvdy14OiBjbGlwIHJlcGxhY2VzIGhpZGRlbiDigJQgY2xpcCBwcmV2ZW50cyBob3Jpem9udGFsIG92ZXJmbG93IHdpdGhvdXRcbi8vIGNyZWF0aW5nIGEgc2Nyb2xsIGNvbnRhaW5lciwgc28gcG9zaXRpb246c3RpY2t5IHdvcmtzIGNvcnJlY3RseSBvbiB0aGlzIHBhZ2UuXG5ib2R5LnBhZ2Utc2VydmljZW5vdyB7XG4gIC8vIHNjcm9sbC1zbmFwLXR5cGU6IG5vbmU7XG4gIG92ZXJmbG93LXg6IGNsaXA7XG59XG5cbi8vIEZsdWlkIHJvb3QgZm9udC1zaXplIGNvbWVzIGZyb20gX2Jhc2Uuc2NzcyAoZ2xvYmFsLCBhbGwgaWItIHBhZ2VzKS5cbmh0bWw6aGFzKGJvZHkucGFnZS1zZXJ2aWNlbm93KSB7XG4gIG92ZXJmbG93LXg6IGNsaXA7XG4gIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xufVxuXG4vLyDilIDilIAgRXhwb25hIGRyb3Bkb3duIHNjcm9sbC1sb2NrIGZpeCAodGhpcyBwYWdlIG9ubHkpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gaGVhZGVyLmNzcyBsb2NrcyBzY3JvbGwgd2l0aCBgYm9keTpoYXMoLmFzay1leHBvbmEtZnVsbHNjcmVlbi1kcm9wZG93bi5vcGVuKVxuLy8geyBvdmVyZmxvdzogaGlkZGVuIH1gLiBUaGF0IHdvcmtzIG9uIHRoZSBob21lcGFnZSwgYnV0IGhlcmUgPGh0bWw+IGlzXG4vLyBvdmVyZmxvdy14OiBjbGlwIChhYm92ZSksIHNvIGJvZHkgb3ZlcmZsb3cgbm8gbG9uZ2VyIHByb3BhZ2F0ZXMgdG8gdGhlXG4vLyB2aWV3cG9ydCDigJQgaGlkZGVuIGNsaXBzIHRoZSAxMDAlLWhlaWdodCBib2R5IGJveCBpdHNlbGYsIGNvbGxhcHNpbmcgdGhlXG4vLyBkb2N1bWVudCBhbmQgc25hcHBpbmcgc2Nyb2xsIHRvIHRoZSBoZXJvIChzYW1lIG1lY2hhbmlzbSBkb2N1bWVudGVkIG9uIHRoZVxuLy8gdGFsay1kcmF3ZXIgbG9jayBpbiBfdGFsay1kcmF3ZXIuc2NzcykuIFJlLXBvaW50IHRoZSBsb2NrIGF0IDxodG1sPiAodGhlXG4vLyByZWFsIHNjcm9sbGVyIOKAlCBwcmVzZXJ2ZXMgc2Nyb2xsVG9wLCBmaXJlcyBubyBzY3JvbGwgZXZlbnQpIGFuZCByZXN0b3JlXG4vLyBib2R5IHRvIGl0cyBub3JtYWwgY2xpcC92aXNpYmxlIHN0YXRlIHdoaWxlIHRoZSBkcm9wZG93biBpcyBvcGVuLlxuaHRtbDpoYXMoYm9keS5wYWdlLXNlcnZpY2Vub3cgLmFzay1leHBvbmEtZnVsbHNjcmVlbi1kcm9wZG93bi5vcGVuKSB7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbn1cblxuYm9keS5wYWdlLXNlcnZpY2Vub3c6aGFzKC5hc2stZXhwb25hLWZ1bGxzY3JlZW4tZHJvcGRvd24ub3Blbikge1xuICBvdmVyZmxvdzogY2xpcCB2aXNpYmxlOyAvLyBvdXQtc3BlY2lmaWVzIGhlYWRlci5jc3MncyBgb3ZlcmZsb3c6IGhpZGRlbmBcbn1cblxuLy8g4pSA4pSAIFNlY3Rpb24gc3BhY2luZyBvdmVycmlkZXNcbi50cy10ZXN0aW1vbmlhbC1zZWN0aW9uICsgLnNuLXNjcm9sbC10YWJzLXNlY3Rpb24ge1xuICBwYWRkaW5nLXRvcDogY2xhbXAoMTAwcHgsIDYuOTR2dywgMTIwcHgpO1xufSIsIi8vIGFzc2V0cy9zY3NzL3BhZ2VzL3NlcnZpY2Vub3cvX2hlcm8tc2VjdGlvbi5zY3NzXG5cbkB1c2UgXCIuLi91dGlsc1wiIGFzICo7XG5cbi5zbi1oZXJvLXNlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiAkaWItYmctcHJpbWFyeTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC8vIOKUgOKUgCBTdGlja3kgcGluIOKAlCBzdGF5cyBpbiB2aWV3IHdoaWxlIHNjcm9sbCBidWRnZXQgaXMgY29uc3VtZWQg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIC8vIE9uIGRlc2t0b3AgSlMgZHJpdmVzIGxheW91dCB2aWEgdHJhbnNmb3JtOyBvbiBtb2JpbGUgdGhpcyBpcyBwbGFpbiBmbGV4IGNvbHVtbi5cbiAgJl9fcGluIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgLy8gcmVtIHZhbHVlcyA9IEZpZ21hLTE3MjggcHggw7cgMTYg4oCUIHRoZSBmbHVpZCByb290IChzZXJ2aWNlbm93LnNjc3MpXG4gICAgLy8gc2NhbGVzIHRoZW0gcHJvcG9ydGlvbmFsbHkgYmV0d2VlbiAxNzI4cHggYW5kIDEwMjRweC5cbiAgICBnYXA6IDQuNjg3NXJlbTsgICAgIC8vIDc1cHggQDE3MjhcbiAgICBwYWRkaW5nOiAwIDVyZW07ICAgIC8vIDgwcHggQDE3MjhcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICB9XG5cbiAgLy8g4pSA4pSAIEJhZGdlIGdyb3VwIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAmX19iYWRnZXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgIC8vIEZsdWlkIGdhcCAoMTA1LzE3MjggPSA2LjA4dncpIHNvIGEgMy1iYWRnZSByb3cgc3RpbGwgZml0cyB0aGUgcm93LXN0YXRlXG4gICAgLy8gbGF5b3V0IG9uIG5hcnJvd2VyIGRlc2t0b3BzIOKAlCBmbGF0IDEwNXB4IG9ubHkgd29ya2VkIGZvciAyIGJhZGdlcy5cbiAgICBnYXA6IGNsYW1wKDIuNXJlbSwgNi4wOHZ3LCA2LjU2MjVyZW0pOyAvLyAxMDVweCBAMTcyOFxuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gICAgYW5pbWF0aW9uOiBzbi1iYWRnZXMtaW4gLjhzIGN1YmljLWJlemllciguMjUsIC40NiwgLjQ1LCAuOTQpIGJvdGg7XG4gICAgei1pbmRleDogMztcbiAgfVxuXG4gIC8vIOKUgOKUgCBJbmRpdmlkdWFsIGJhZGdlIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAvLyB3aWR0aC9oZWlnaHQgaW50ZW50aW9uYWxseSBoYXZlIG5vIHRyYW5zaXRpb24g4oCUIEpTIGRyaXZlcyBzaXplcyBkaXJlY3RseS5cbiAgLy9cbiAgLy8gQmFkZ2UgY291bnQgQU5EIGFydHdvcmsgc2hhcGUgYXJlIGJvdGggY29udGVudC1kcml2ZW4gKHNxdWFyZSBhd2FyZCBzZWFscyxcbiAgLy8gd2lkZSBiYW5uZXIgbG9ja3VwcyksIGFuZCB0aGUgbWFya3VwIGlzIENNUy1nZW5lcmF0ZWQg4oCUIG5vIHBlci1pbnN0YW5jZVxuICAvLyBjbGFzcyBvciBpbmxpbmUgc3R5bGUgaXMgYXZhaWxhYmxlLiBTbyBzaXppbmcgaXMgZGVyaXZlZCBmcm9tIHRoZSBhc3NldFxuICAvLyBpdHNlbGY6IGV2ZXJ5IGJhZGdlIGlzIGV4cG9ydGVkIGF0IGl0cyBpbnRlbmRlZCBzaXplICgyNTbDlzI1NiBzZWFscyxcbiAgLy8gNDExw5cxMjYgYmFubmVyKSwgYW5kIHRoZXNlIHR3byBjYXBzIGp1c3QgYm91bmQgaXQuXG4gIC8vXG4gIC8vICAgd2lkdGgvaGVpZ2h0OiBhdXRvICBvdmVycmlkZXMgdGhlIHdpZHRoL2hlaWdodCBIVE1MIGF0dHJpYnV0ZXMsIHdoaWNoIGFyZVxuICAvLyAgICAgICAgICAgICAgICAgICAgICAgcHJlc2VudGF0aW9uYWwgaGludHMgdGhlIENNUyBlbWl0cyB1bmlmb3JtbHkgKDI1NsOXMjU2KVxuICAvLyAgICAgICAgICAgICAgICAgICAgICAgcmVnYXJkbGVzcyBvZiB0aGUgcmVhbCBhcnR3b3JrIOKAlCB3aXRob3V0IHRoaXMgYSB3aWRlXG4gIC8vICAgICAgICAgICAgICAgICAgICAgICBiYW5uZXIgZ2V0cyBsZXR0ZXJib3hlZCBpbnNpZGUgYSBzcXVhcmUgMjU2IGJveC5cbiAgLy8gICBtYXgtaGVpZ2h0ICAgICAgICAgIHRoZSBiaW5kaW5nIGNhcCBmb3Igc3F1YXJlIHNlYWxzIOKAlCB1bmNoYW5nZWQgYXQgMTZyZW0uXG4gIC8vICAgbWF4LXdpZHRoICAgICAgICAgICAxLjYyNcOXIHRoZSBib3ggKDQxNnB4KSBzbyBhIGJhbm5lciBsb2NrdXAgcmVuZGVycyBhdFxuICAvLyAgICAgICAgICAgICAgICAgICAgICAgaXRzIG93biB3aWR0aCBpbnN0ZWFkIG9mIGJlaW5nIGNsaXBwZWQgdG8gc2VhbCB3aWR0aC5cbiAgLy8gICAgICAgICAgICAgICAgICAgICAgIFNlYWxzIG5ldmVyIHJlYWNoIGl0OyB0aGVpciBoZWlnaHQgY2FwcyBvdXQgZmlyc3QuXG4gIC8vXG4gIC8vIEJvdGggZGVyaXZlIGZyb20gLS1zbi1iYWRnZS1ib3gsIHNvIGEgbWVkaWEgcXVlcnkgcmVzaXplcyBldmVyeSBiYWRnZSBzaGFwZVxuICAvLyBwcm9wb3J0aW9uYWxseSBieSBjaGFuZ2luZyB0aGF0IG9uZSB2YWx1ZS4gQ2FwcyBzdGF5IGluIHJlbSwgc28gYmFkZ2VzIHNjYWxlXG4gIC8vIHdpdGggdGhlIGZsdWlkIHJvb3QgcmF0aGVyIHRoYW4gc2l0dGluZyBhdCBhIGZpeGVkIHBpeGVsIHNpemUuXG4gICZfX2JhZGdlIHtcbiAgICAtLXNuLWJhZGdlLWJveDogMTZyZW07IC8vIDI1NnB4IEAxNzI4IOKAlCB0aGUgc3F1YXJlIGF3YXJkLXNlYWwgYm94XG5cbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWF4LXdpZHRoOiBjYWxjKHZhcigtLXNuLWJhZGdlLWJveCkgKiAxLjYyNSk7XG4gICAgbWF4LWhlaWdodDogdmFyKC0tc24tYmFkZ2UtYm94KTtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgIHRyYW5zaXRpb246IGZpbHRlciAuNHMgZWFzZTtcbiAgfVxuXG4gIC8vIOKUgOKUgCBIZWFkaW5nIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAmX19oZWFkaW5nIHtcbiAgICBmb250LWZhbWlseTogJGliLWZvbnQtaGVhZGluZztcbiAgICBmb250LXNpemU6IDQuNXJlbTsgLy8gNzJweCBAMTcyOCDigJQgZmx1aWQgcm9vdCBzY2FsZXMgaXQgYmVsb3cgdGhhdFxuICAgIGZvbnQtd2VpZ2h0OiAyNTA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjI7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0uMDRlbTsgLy8gZGlzcGxheS93ZWIvc21hbGwg4oCUIC00JSB0cmFja2luZ1xuICAgIGNvbG9yOiAkaWItdGV4dC1wcmltYXJ5O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIGFuaW1hdGlvbjogc24taGVhZGluZy1pbiAuOXMgLjE1cyBjdWJpYy1iZXppZXIoLjI1LCAuNDYsIC40NSwgLjk0KVxuICAgICAgYm90aDtcblxuICAgIC8vIHotaW5kZXg6IDIga2VlcHMgaGVhZGluZyB0ZXh0IGFib3ZlIHRoZSBiYWRnZXMgbGF5b3V0IGJveCBhdCBhbGwgc2Nyb2xsXG4gICAgLy8gcHJvZ3Jlc3MgdmFsdWVzIOKAlCBiYWRnZXMgaGF2ZSB6LWluZGV4OjEgYW5kIHRoZWlyIGxheW91dCBib3ggKHByZS1zY2FsZSlcbiAgICAvLyBvdmVybGFwcyB0aGUgaGVhZGluZyBkdXJpbmcgdGhlIHRyYW5zaXRpb24sIGhpZGluZyB0ZXh0IHdpdGhvdXQgdGhpcy5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbiAgfVxuXG4gICZfX2hpZ2hsaWdodCB7XG4gICAgYmFja2dyb3VuZDogJGliLWdyYWRpZW50LXRleHQ7XG4gICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAycHg7XG4gIH1cblxuICAvLyDilIDilIAgRGVza3RvcCAoPjEwMjRweCk6IHNjcm9sbCBidWRnZXQgKyBoZWFkaW5nIGNvbnRlbnQtc2l6aW5nIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAvLyBtaW4taGVpZ2h0IGdpdmVzIEdTQVAgYSAxMDB2aCBzY3JvbGwgZGlzdGFuY2UgdG8gc2NydWIgYWdhaW5zdC5cbiAgLy8gQ1NTIHN0aWNreSBvbiBfX3BpbiBoYW5kbGVzIHRoZSB2aXN1YWwgcGluIOKAlCBubyBHU0FQIHBpbiBuZWVkZWQgKGF2b2lkc1xuICAvLyBwb3NpdGlvbjpmaXhlZCBsYXlvdXQgc2hpZnRzIHRoYXQgZmxpY2tlciB0aGUgaGVhZGVyIHRoZW1lIGRldGVjdG9yKS5cbiAgLy8gd2lkdGg6Zml0LWNvbnRlbnQgb24gaGVhZGluZyBtYWtlcyBvZmZzZXRXaWR0aCA9IGFjdHVhbCB0ZXh0IHdpZHRoIHNvIHRoZVxuICAvLyBHU0FQIGNlbnRlcmluZyBtYXRoIHdvcmtzIGNvcnJlY3RseS5cbiAgLy8gKG11c3QgbWF0Y2ggdGhlIGdzYXAubWF0Y2hNZWRpYSBnYXRlIGluIGhlcm8tc2VjdGlvbi5qczogPiAkaWItYnAtdGFibGV0KVxuICBAbWVkaWEgKG1pbi13aWR0aDogY2FsYygkaWItYnAtdGFibGV0ICsgMXB4KSkge1xuICAgIG1pbi1oZWlnaHQ6IDI1MHZoO1xuXG4gICAgJl9faGVhZGluZyB7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC8vIOKUgOKUgCBMYXB0b3AgYmFuZCAoMTAyNeKAkzE0NDBweCkgT1IgYW55IHNob3J0IGRlc2t0b3Agdmlld3BvcnQgKOKJpDkwMHB4IHRhbGwpIOKUgOKUgOKUgOKUgFxuICAvLyBTaG9ydGVyIHZpZXdwb3J0cyBzaXQgdGhlIGNlbnRlcmVkIGNvbnRlbnQgY2xvc2UgdW5kZXIgdGhlIGZpeGVkIGhlYWRlciDigJRcbiAgLy8gcmVzZXJ2ZSBoZWFkZXIgY2xlYXJhbmNlICh0b3BiYXIgKyA4MHB4IGJhcikgc28gdGhlIGJhZGdlcyBrZWVwIGJyZWF0aGluZ1xuICAvLyByb29tIGZyb20gdGhlIHRvcC4gVGhlIGJhZGdl4oaUaGVhZGluZyBnYXAgaXMgdmlld3BvcnQtaGVpZ2h0IHJlc3BvbnNpdmVcbiAgLy8gKG5vdCBhIGZpeGVkIHJlbSkgc28gc2hvcnRlciBsYXB0b3Agc2NyZWVucyAoZS5nLiA3NjhweCB0YWxsKSBnZXQgYVxuICAvLyB0aWdodGVyIGdhcCDigJQgZnJlZWluZyBtb3JlIHNwYWNlIGZvciBjZW50ZXJpbmcgdG8gcmVkaXN0cmlidXRlIGFzIHRvcC9cbiAgLy8gYm90dG9tIGJyZWF0aGluZyByb29tIOKAlCB3aGlsZSB0YWxsZXIgb25lcyBpbiB0aGlzIGJhbmQgZWFzZSBiYWNrIHVwXG4gIC8vIHRvd2FyZCB0aGUgMTcyOHB4IGRlc2t0b3AgZ2FwIGluc3RlYWQgb2YganVtcGluZyBzdHJhaWdodCB0byBpdC5cbiAgLy9cbiAgLy8gVGhlIHNlY29uZCBxdWVyeSBpcyB0aGUgc2FtZSBhY2NvbW1vZGF0aW9uIGtleWVkIG9uIGhlaWdodC4gV2hhdCBpdFxuICAvLyBjb21wZW5zYXRlcyBmb3Ig4oCUIGEgZml4ZWQgOTJweCBoZWFkZXIgb3ZlcmxheWluZyB0aGUgdG9wIG9mIGEgMTAwdmggcGluXG4gIC8vIHdob3NlIGNvbnRlbnQgaXMgY2VudHJlZCBhZ2FpbnN0IHRoZSAqd2hvbGUqIHZpZXdwb3J0IOKAlCBpcyBhIGZ1bmN0aW9uIG9mXG4gIC8vIHdpbmRvdyBoZWlnaHQsIGFuZCB0aGUgd2lkdGggYmFuZCBhbG9uZSBtaXNzZXMgZXZlcnkgd2lkZS1idXQtc2hvcnQgd2luZG93XG4gIC8vICgxNTA0w5c2OTAgZGV2dG9vbHMgdmlld3BvcnQsIGEgbGFwdG9wIHdpdGggZGV2dG9vbHMgZG9ja2VkIGF0IHRoZSBib3R0b20pLlxuICAvLyBUaG9zZSBmZWxsIHRocm91Z2ggdG8gdGhlIGZ1bGwgMTcyOCBsYXlvdXQ6IDE2cmVtIGJhZGdlcyBhbmQgYSBmbGF0IDc1cHhcbiAgLy8gZ2FwIGluIDY5MHB4IG9mIGhlaWdodCwgc28gdGhlIGJhZGdlcyBsYW5kZWQgdW5kZXIgdGhlIGhlYWRlciBhbmQgdGhlXG4gIC8vIGJhZGdl4oaUaGVhZGluZyBnYXAgcmVhZCBhcyBvdmVyc2l6ZWQuXG4gIEBtZWRpYSAobWluLXdpZHRoOiBjYWxjKCRpYi1icC10YWJsZXQgKyAxcHgpKSBhbmQgKG1heC13aWR0aDogJGliLWJwLXdpZGUpLFxuICAgIChtaW4td2lkdGg6IGNhbGMoJGliLWJwLXRhYmxldCArIDFweCkpIGFuZCAobWF4LWhlaWdodDogOTAwcHgpIHtcbiAgICAmX19waW4ge1xuICAgICAgZ2FwOiBjbGFtcCgxLjVyZW0sIDN2aCwgM3JlbSk7IC8vIHdhcyBhIGZsYXQgM3JlbVxuICAgICAgcGFkZGluZy10b3A6IDcuNXJlbTsgICAgICAgICAgIC8vIGhlYWRlciBjbGVhcmFuY2UgKDYuNXJlbSkgKyBleHRyYSB0b3AgYnJlYXRoaW5nIHJvb21cbiAgICB9XG5cbiAgICAvLyBTbWFsbGVyIGJhZGdlcyArIGhlYWRpbmcgZnJlZSB1cCBtb3JlIHZlcnRpY2FsIHJvb20gb24gc2hvcnRlciBsYXB0b3BcbiAgICAvLyBzY3JlZW5zLCBvbiB0b3Agb2YgdGhlIGV4dHJhIHBhZGRpbmctdG9wIGFib3ZlLiBTaHJpbmtpbmcgdGhlIGJveCBhbG9uZVxuICAgIC8vIHNjYWxlcyBldmVyeSBiYWRnZSBzaGFwZSDigJQgYm90aCBjYXBzIGFyZSBkZXJpdmVkIGZyb20gaXQuXG4gICAgJl9fYmFkZ2Uge1xuICAgICAgLS1zbi1iYWRnZS1ib3g6IDEzcmVtOyAvLyAyMDhweCDigJQgZG93biBmcm9tIDE2cmVtXG4gICAgfVxuXG4gICAgJl9faGVhZGluZyB7XG4gICAgICBmb250LXNpemU6IDMuNzVyZW07IC8vIGRvd24gZnJvbSA0LjVyZW1cbiAgICB9XG4gIH1cblxuICAvLyDilIDilIAgVGV4dCBsaW5lcyAoZGVza3RvcCBoZWFkaW5nIG9ubHkpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAvLyBFYWNoIGxpbmUgaXMgYSBmaXQtY29udGVudCBibG9jayBjZW50ZXJlZCBpbiB0aGUgaGVhZGluZy5cbiAgLy8gR1NBUCBtZWFzdXJlcyBvZmZzZXRXaWR0aCBwZXIgbGluZSBhbmQgcGl4ZWwtc2hpZnRzIHRoZW0gdG8gZmx1c2gtbGVmdFxuICAvLyBhcyB0aGUgbGF5b3V0IHRyYW5zaXRpb25zIHRvIHNpZGUtYnktc2lkZS4gd2hpdGUtc3BhY2U6bm93cmFwIGVuc3VyZXNcbiAgLy8gb2Zmc2V0V2lkdGggPSB0ZXh0IHdpZHRoLCBub3QgY29udGFpbmVyIHdpZHRoLlxuICAmX19saW5lIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oJGliLWJwLXRhYmxldCkge1xuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC8vIOKUgOKUgCBUYWJsZXQgKOKJpDEwMjRweCkg4oCUIGRpc2FibGUgc3RpY2t5ICsgc2Nyb2xsIGFuaW1hdGlvbiDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgLy8gbWluLWhlaWdodDogYXV0byDigJQgc2l6aW5nIHRvIGNvbnRlbnQgYXZvaWRzIHRoZSBkZWFkIHNwYWNlIGEgZm9yY2VkIDEwMHZoXG4gIC8vIGxlYXZlcyBvbiB0YWxsIHBvcnRyYWl0IHZpZXdwb3J0cyAoaVBhZCDiiYggMTE1MHB4IHRhbGwgdnMgfjYwMHB4IGNvbnRlbnQpLlxuICBAaW5jbHVkZSByZXNwb25kLXRvKCRpYi1icC10YWJsZXQpIHtcbiAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAxNDBweCA0OHB4IDgwcHg7XG5cbiAgICAmX19waW4ge1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgZ2FwOiBjbGFtcCg0MHB4LCA2LjI1dncsIDY0cHgpOyAvLyA2NC8xMDI0IHdpdGhpbiB0YWJsZXQgcmFuZ2VcbiAgICB9XG5cbiAgICAmX19iYWRnZXMge1xuICAgICAgZ2FwOiBjbGFtcCgyNHB4LCAzLjkxdncsIDQwcHgpOyAvLyA0MC8xMDI0IHdpdGhpbiB0YWJsZXQgcmFuZ2Ug4oCUIGZsdWlkIGRvd24gdG8gbW9iaWxlIGhhbmRvZmZcbiAgICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8vIFNpemluZyBsaXZlcyBpbiB0aGUgbW9iaWxlIGJsb2NrIGJlbG93IChmbGV4LWJhc2lzICsgc2hyaW5rKSDigJQgdGhpcyBvbmx5XG4gICAgLy8gY2xlYXJzIHRoZSBkZXNrdG9wIEdTQVAgdHJhbnNmb3JtLlxuICAgICZfX2JhZGdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICZfX2hlYWRpbmcge1xuICAgICAgZm9udC1zaXplOiBjbGFtcCgzLjVyZW0sIDMuOHZ3LCA0LjVyZW0pO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyDilIDilIAgTW9iaWxlICjiiaQxMDI0cHgpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICBAaW5jbHVkZSByZXNwb25kLXRvKCRpYi1icC10YWJsZXQpIHtcbiAgICBwYWRkaW5nOiAxNDBweCAyMHB4IDQ4cHg7XG4gICAgbWluLWhlaWdodDogYXV0bztcblxuICAgICZfX3BpbiB7XG4gICAgICBnYXA6IDMycHg7XG4gICAgfVxuXG4gICAgLy8gQmFkZ2UgY291bnQgaXMgY29udGVudC1kcml2ZW4gKDIgYnkgZGVmYXVsdCwgc29tZXRpbWVzIDMpIOKAlCB0aGUgcm93IG11c3RcbiAgICAvLyBzaXplIGl0c2VsZiBmcm9tIE4gcmF0aGVyIHRoYW4gYSBmaXhlZCBwZXItYmFkZ2UgcHggdmFsdWUuIGZsZXgtc2hyaW5rXG4gICAgLy8gbGV0cyB0aGUgd2hvbGUgcm93IHNjYWxlIGRvd24gdG9nZXRoZXIgd2hlbiBpdCBjYW4ndCBmaXQgKDMgYmFkZ2VzIG9uIGFcbiAgICAvLyAzNzVweCBzY3JlZW4g4oaSIH4xMDRweCBlYWNoKS5cbiAgICAmX19iYWRnZXMge1xuICAgICAgZ2FwOiAxMnB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAvLyBmbGV4LWJhc2lzIGF1dG8gPSB0aGUgYXJ0d29yaydzIG93biB3aWR0aCwgc28gbWl4ZWQgc2hhcGVzIHN0YXkgaW4gdGhlaXJcbiAgICAvLyBkZXNpZ25lZCBwcm9wb3J0aW9uIHRvIGVhY2ggb3RoZXIgYW5kIHNocmluayBhcyBvbmUgcm93LiBtYXgtaGVpZ2h0IGlzXG4gICAgLy8gdGhlIHNpemUgY2FwIHdoZXJlIHRoZSByb3cgaGFzIHNsYWNrICh0YWJsZXQpLCByZXBsYWNpbmcgdGhlIG9sZCBmbGF0XG4gICAgLy8gMTYwcHggYmFzaXMgKyBhc3BlY3QtcmF0aW86MSDigJQgYm90aCBvZiB3aGljaCBhc3N1bWVkIHNxdWFyZSBhcnR3b3JrLlxuICAgICZfX2JhZGdlIHtcbiAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgbWF4LWhlaWdodDogMTByZW07IC8vIDE2MHB4XG4gICAgfVxuXG4gICAgJl9faGVhZGluZyB7XG4gICAgICBAaW5jbHVkZSBpYi10eXBlKFwiaGVhZGxpbmUtd2ViLWxhcmdlXCIpO1xuICAgICAgbGluZS1oZWlnaHQ6IDUycHg7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJl9faGlnaGxpZ2h0IHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cblxuICAgICZfX3N1YnRleHQge1xuICAgICAgQGluY2x1ZGUgaWItdHlwZShcImJvZHktbWVkaXVtXCIpO1xuXG4gICAgICBjb2xvcjogJGliLWdyYXktY2hhcmNvYWw7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgfVxufVxuXG4vLyDilIDilIAgS2V5ZnJhbWVzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gVXNlIHRoZSBzZXBhcmF0ZSBgdHJhbnNsYXRlYCBDU1MgcHJvcGVydHkgc28gZW50cmFuY2UgYW5pbWF0aW9ucyBkbyBOT1Rcbi8vIGNvbmZsaWN0IHdpdGggSlMtZHJpdmVuIGB0cmFuc2Zvcm1gIG9uIHRoZSBzYW1lIGVsZW1lbnRzLlxuXG5Aa2V5ZnJhbWVzIHNuLWJhZGdlcy1pbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNsYXRlOiAwIC0zMnB4O1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNsYXRlOiAwIDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbi1oZWFkaW5nLWluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2xhdGU6IDAgMzJweDtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zbGF0ZTogMCAwO1xuICB9XG59XG4iLCIvLyBhc3NldHMvc2Nzcy9wYWdlcy9fdXRpbHMuc2Nzc1xuLy9cbi8vIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkFxuLy8gREVTSUdOIFNZU1RFTSBUT0tFTlMg4oCUIHNpbmdsZSBzb3VyY2Ugb2YgdHJ1dGggZm9yIHBhZ2UtbGV2ZWwgU0NTUy5cbi8vIFB1bGxlZCBmcm9tIEZpZ21hIFwiSW5mb0JlYW5zIFdlYnNpdGUgMjAyNlwiIOKGkiDwn46oIERlc2lnbiBTeXN0ZW1cbi8vIChQcmltaXRpdmUgLyBUb2tlbnMgLyBUZXh0IFN0eWxlcyAvIFNpemUgJiBTcGFjaW5nIFRva2VucyAvIFBhaW50IFN0eWxlcykuXG4vL1xuLy8gUHJlZml4OiBpYi0gKEluZm9CZWFucykg4oCUIHNoYXJlZCBieSBBTEwgcGFnZSBwYXJ0aWFscyAoc2VydmljZW5vdyxcbi8vIGVudGVycHJpc2UtcmVhZGluZXNzLCDigKYpLiBFZGl0IHZhbHVlcyBoZXJlIGRpcmVjdGx5LiBEbyBOT1QgY29uZmlndXJlIHRoaXNcbi8vIG1vZHVsZSB2aWEgYEB1c2UgLi4uIHdpdGggKC4uLilgOiBXb3JkUHJlc3MgY29tcGlsZXMgYWxsIHBhZ2VzIGFzIE9ORVxuLy8gYnVpbGQsIGFuZCBTYXNzIGFsbG93cyBhIG1vZHVsZSB0byBiZSBjb25maWd1cmVkIG9ubHkgb25jZSDigJQgYSBzZWNvbmRcbi8vIGB3aXRoYCBmYWlscyB3aXRoIFwibW9kdWxlIHdhcyBhbHJlYWR5IGxvYWRlZFwiLiBjc3MvY3VzdG9tLmNzcyBpc1xuLy8gdW50b3VjaGVkOyBmb250IHN0YWNrcyBzdGlsbCByZXNvbHZlIHRocm91Z2ggaXRzIENTUyBjdXN0b20gcHJvcGVydGllcy5cbi8vIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkFxuXG5AdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCJzYXNzOm1hdGhcIjtcblxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyAxLiBCUkVBS1BPSU5UU1xuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4kaWItYnAteHM6IDM3NXB4ICFkZWZhdWx0O1xuJGliLWJwLXNtOiA1NzZweCAhZGVmYXVsdDtcbiRpYi1icC1tb2JpbGU6IDc2OHB4ICFkZWZhdWx0O1xuJGliLWJwLXRhYmxldDogMTAyNHB4ICFkZWZhdWx0O1xuJGliLWJwLWxhcHRvcDogMTIwMHB4ICFkZWZhdWx0O1xuJGliLWJwLWRlc2t0b3A6IDE0MDBweCAhZGVmYXVsdDtcbiRpYi1icC13aWRlOiAxNDQwcHggIWRlZmF1bHQ7XG5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gMi4gUFJJTUlUSVZFIENPTE9SUyAgKEZpZ21hOiBQcmltaXRpdmUpXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIGNvbG9yL3JlZFxuJGliLXJlZC1wZWFjaDogI2ZmZDBkOCAhZGVmYXVsdDtcbiRpYi1yZWQtZGVzaXJlOiAjZWI0YzVlICFkZWZhdWx0O1xuJGliLXJlZC1icmFuZDogI2VhMWIzZCAhZGVmYXVsdDsgLy8gSW5mb0JlYW5zIENyaW1zb25cbiRpYi1yZWQtZGFyazogI2FhMTQyZCAhZGVmYXVsdDtcbiRpYi1yZWQtZGVlcDogIzdjMjIzNSAhZGVmYXVsdDtcblxuLy8gY29sb3IvY3JlYW1cbiRpYi1jcmVhbS1taXN0OiAjZmZmOWVkICFkZWZhdWx0OyAvLyBwYWdlIGJhY2tncm91bmRcbiRpYi1jcmVhbS1saWdodDogI2ZmZWZkMSAhZGVmYXVsdDtcbiRpYi1jcmVhbS1iYXNlOiAjZWNiNTQ3ICFkZWZhdWx0O1xuJGliLWNyZWFtLWRhcms6ICNiZjgyMDggIWRlZmF1bHQ7XG4kaWItY3JlYW0tZGVlcDogIzhjNjgxZiAhZGVmYXVsdDtcblxuLy8gY29sb3IvZ3JlZW5cbiRpYi1ncmVlbi1taXN0OiAjZWRmZmY1ICFkZWZhdWx0O1xuJGliLWdyZWVuLWxpZ2h0OiAjYWJmNWNlICFkZWZhdWx0O1xuJGliLWdyZWVuLWJhc2U6ICMwZmE5NTggIWRlZmF1bHQ7XG4kaWItZ3JlZW4tZGFyazogIzBkODI0NCAhZGVmYXVsdDtcblxuLy8gY29sb3IvZ3JheVxuJGliLWdyYXktd2hpdGU6ICNmZmYgIWRlZmF1bHQ7XG4kaWItZ3JheS1taXN0OiAjZTZlNmVkICFkZWZhdWx0O1xuJGliLWdyYXktbGlnaHQ6ICNhN2E3YjAgIWRlZmF1bHQ7XG4kaWItZ3JheS1tZWRpdW06ICM2NzY3NzUgIWRlZmF1bHQ7XG4kaWItZ3JheS1jaGFyY29hbDogIzM3Mzc0MiAhZGVmYXVsdDtcbiRpYi1ncmF5LWRhcms6ICMyZjJmMzkgIWRlZmF1bHQ7XG4kaWItZ3JheS1kZWVwOiAjMDAwICFkZWZhdWx0O1xuXG4vLyBjb2xvci9zYW5kICh3YXJtIG5ldXRyYWxzIOKAlCBjdXN0b20uY3NzIC0tYmctc2Vjb25kYXJ5IC8gLS1hY2NvcmRpb24tYmcpXG4kaWItc2FuZC13YXJtOiAjZWFkY2MxICFkZWZhdWx0O1xuJGliLXNhbmQtc3RvbmU6ICNlM2Q4YzUgIWRlZmF1bHQ7XG5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gMy4gU0VNQU5USUMgVE9LRU5TICAoRmlnbWE6IFRva2Vucylcbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gdGV4dC8qXG4kaWItdGV4dC1wcmltYXJ5OiAkaWItZ3JheS1jaGFyY29hbCAhZGVmYXVsdDtcbiRpYi10ZXh0LXNlY29uZGFyeTogJGliLWdyYXktbWVkaXVtICFkZWZhdWx0O1xuJGliLXRleHQtZGlzYWJsZWQ6ICRpYi1ncmF5LWxpZ2h0ICFkZWZhdWx0O1xuJGliLXRleHQtZGFyazogIzFkMWQxZCAhZGVmYXVsdDsgICAgICAgICAgIC8vIC0tdGV4dC1kYXJrIGluIGN1c3RvbS5jc3NcbiRpYi10ZXh0LWludmVydDogJGliLWdyYXktd2hpdGUgIWRlZmF1bHQ7XG4kaWItdGV4dC1hY3Rpb246ICRpYi1yZWQtYnJhbmQgIWRlZmF1bHQ7XG4kaWItdGV4dC1hY3Rpb24tZGlzYWJsZWQ6ICRpYi1yZWQtcGVhY2ggIWRlZmF1bHQ7XG4kaWItdGV4dC1zdWNjZXNzOiAkaWItZ3JlZW4tZGFyayAhZGVmYXVsdDtcbiRpYi10ZXh0LWVycm9yOiAkaWItcmVkLWJyYW5kICFkZWZhdWx0O1xuJGliLXRleHQtd2FybmluZzogJGliLWNyZWFtLWRhcmsgIWRlZmF1bHQ7XG5cbi8vIGljb24vKiAobWlycm9ycyB0ZXh0LyopXG4kaWItaWNvbi1wcmltYXJ5OiAkaWItZ3JheS1jaGFyY29hbCAhZGVmYXVsdDtcbiRpYi1pY29uLXNlY29uZGFyeTogJGliLWdyYXktbWVkaXVtICFkZWZhdWx0O1xuJGliLWljb24tZGlzYWJsZWQ6ICRpYi1ncmF5LWxpZ2h0ICFkZWZhdWx0O1xuJGliLWljb24taW52ZXJ0OiAkaWItZ3JheS13aGl0ZSAhZGVmYXVsdDtcbiRpYi1pY29uLWFjdGlvbjogJGliLXJlZC1icmFuZCAhZGVmYXVsdDtcblxuLy8gZmlsbC8qXG4kaWItZmlsbC1wcmltYXJ5OiAkaWItZ3JheS1jaGFyY29hbCAhZGVmYXVsdDtcbiRpYi1maWxsLXNlY29uZGFyeTogJGliLWdyYXktbWVkaXVtICFkZWZhdWx0O1xuJGliLWZpbGwtZGlzYWJsZWQ6ICRpYi1ncmF5LWxpZ2h0ICFkZWZhdWx0O1xuJGliLWZpbGwtaW52ZXJ0OiAkaWItZ3JheS13aGl0ZSAhZGVmYXVsdDtcbiRpYi1maWxsLWJyYW5kOiAkaWItcmVkLWJyYW5kICFkZWZhdWx0O1xuJGliLWZpbGwtYnJhbmQtbGlnaHQ6ICRpYi1yZWQtcGVhY2ggIWRlZmF1bHQ7XG5cbi8vIGJvcmRlci8qXG4kaWItYm9yZGVyLXByaW1hcnk6ICRpYi1ncmF5LW1lZGl1bSAhZGVmYXVsdDtcbiRpYi1ib3JkZXItc2Vjb25kYXJ5OiAkaWItZ3JheS1saWdodCAhZGVmYXVsdDtcbiRpYi1ib3JkZXItdGVydGlhcnk6ICRpYi1ncmF5LW1pc3QgIWRlZmF1bHQ7XG4kaWItYm9yZGVyLWNvbG9yOiByZ2JhKCRpYi1ncmF5LW1lZGl1bSwgLjE1KSAhZGVmYXVsdDsgLy8gLS1ib3JkZXItY29sb3IgaW4gY3VzdG9tLmNzc1xuXG4vLyBiYWNrZ3JvdW5kLypcbiRpYi1iZy1wcmltYXJ5OiAkaWItY3JlYW0tbWlzdCAhZGVmYXVsdDtcbiRpYi1iZy1zZWNvbmRhcnk6ICRpYi1jcmVhbS1saWdodCAhZGVmYXVsdDtcbiRpYi1iZy10ZXJ0aWFyeTogJGliLWdyYXktbWlzdCAhZGVmYXVsdDtcbiRpYi1iZy1pbnZlcnQ6ICRpYi1ncmF5LXdoaXRlICFkZWZhdWx0O1xuJGliLWJnLXN1Y2Nlc3M6ICRpYi1ncmVlbi1taXN0ICFkZWZhdWx0O1xuJGliLWJnLWVycm9yOiAkaWItcmVkLXBlYWNoICFkZWZhdWx0O1xuJGliLWJnLXdhcm5pbmc6ICRpYi1jcmVhbS1saWdodCAhZGVmYXVsdDtcbiRpYi1iZy1kYXJrOiAkaWItZ3JheS1kYXJrICFkZWZhdWx0OyAvLyBkYXJrIHNlY3Rpb25zIChEaXNjaXBsaW5lcywgZm9vdGVyLXN0eWxlIGZvbGRzKVxuXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIDQuIEdSQURJRU5UUyAgKEZpZ21hOiBQYWludCBTdHlsZXMpXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIGdyYWRpZW50L3RleHQg4oCUIEZpZ21hIHN0b3BzIGFyZSAwJeKGkjEwMCU7IHRoZSBzaXRlIHNoaXBzIDAl4oaSNzIuODclIChjdXN0b20uY3NzKS5cbi8vIFNpdGUgdmFsdWUga2VwdCBhcyBkZWZhdWx0IHNvIHRoZSBVSSBkb2VzIG5vdCBzaGlmdC5cbiRpYi1ncmFkaWVudC10ZXh0OiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICMyODRjYmEgMCUsICRpYi1yZWQtYnJhbmQgNzIuODclKSAhZGVmYXVsdDtcblxuLy8gZ3JhZGllbnQvYmcg4oCUIHVzZWQgYnkgdGhlIGxldHMtdGFsayBza2V3ZWQgc2hhcGUgKG1hdGNoZXMgY3VzdG9tLmNzcyAtLWJnLWdyYWRpZW50KVxuJGliLWdyYWRpZW50LWJnOiBsaW5lYXItZ3JhZGllbnQoMTA0LjgxZGVnLCAjMjg0Y2JhIDIzLjY5JSwgJGliLXJlZC1icmFuZCA4Ny44NiUpICFkZWZhdWx0O1xuXG4vLyBncmFkaWVudC9iZyAoRmlnbWEgUGFpbnQgU3R5bGUgb3JpZ2luYWwg4oCUIDQtc3RvcCBkYXJrIGF1cm9yYSlcbiRpYi1ncmFkaWVudC1hdXJvcmE6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMwMDAgMCUsICMxYjQxYTEgMjUlLCAjN2QzNjhkIDU2JSwgI2Q5NGE4MyAxMDAlKSAhZGVmYXVsdDtcblxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyA1LiBGT05UIEZBTUlMSUVTXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiRpYi1mb250LXN0YWNrOiBcIkxleGVuZFwiLCAtYXBwbGUtc3lzdGVtLCBibGlua21hY3N5c3RlbWZvbnQsIFwiU2Vnb2UgVUlcIiwgcm9ib3RvLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGliLWZvbnQtc2Vjb25kYXJ5OiAkaWItZm9udC1zdGFjaztcbiRpYi1mb250LWhlYWRpbmc6ICRpYi1mb250LXN0YWNrICFkZWZhdWx0O1xuJGliLWZvbnQtYm9keTogJGliLWZvbnQtc3RhY2sgIWRlZmF1bHQ7XG4kaWItZm9udC1hY2NlbnQ6ICRpYi1mb250LXN0YWNrICFkZWZhdWx0O1xuXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIDYuIFRZUEUgU0NBTEUgIChGaWdtYTogVGV4dCBTdHlsZXMg4oCUIExleGVuZCB0aHJvdWdob3V0KVxuLy8gVXNlIHdpdGggdGhlIGliLXR5cGUoKSBtaXhpbjogYEBpbmNsdWRlIGliLXR5cGUoJ2Rpc3BsYXktd2ViLW1lZGl1bScpO2Bcbi8vIHdlaWdodCAyNTAgPSBMZXhlbmQgRXh0cmFMaWdodCAodmFyaWFibGUgZm9udCBheGlzKS5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuJGliLXR5cGUtc2NhbGU6IChcbiAgXCJkaXNwbGF5LXdlYi1sYXJnZVwiOiAgICAod2VpZ2h0OiA0MDAsIHNpemU6IDExMnB4LCBsaW5lOiAxMTZweCwgdHJhY2tpbmc6IC00LjQ4cHgpLFxuICBcImRpc3BsYXktd2ViLW1lZGl1bVwiOiAgICh3ZWlnaHQ6IDQwMCwgc2l6ZTogODBweCwgIGxpbmU6IDk2cHgsICB0cmFja2luZzogLTMuMnB4KSxcbiAgXCJkaXNwbGF5LXdlYi1zbWFsbFwiOiAgICAod2VpZ2h0OiAyNTAsIHNpemU6IDcycHgsICBsaW5lOiA4OHB4LCAgdHJhY2tpbmc6IC0yLjg4cHgpLFxuICBcImRpc3BsYXktbW9iaWxlLWxhcmdlXCI6ICAod2VpZ2h0OiA0MDAsIHNpemU6IDQ4cHgsICBsaW5lOiA1MnB4LCAgdHJhY2tpbmc6IC0xLjkycHgpLFxuICBcImRpc3BsYXktbW9iaWxlLW1lZGl1bVwiOiAod2VpZ2h0OiA0MDAsIHNpemU6IDQwcHgsICBsaW5lOiA0NHB4LCAgdHJhY2tpbmc6IC0xLjZweCksXG4gIFwiZGlzcGxheS1tb2JpbGUtc21hbGxcIjogICh3ZWlnaHQ6IDI1MCwgc2l6ZTogMzJweCwgIGxpbmU6IDM4cHgsICB0cmFja2luZzogLTEuMjhweCksXG4gIFwiaGVhZGxpbmUtd2ViLWxhcmdlXCI6ICAgICh3ZWlnaHQ6IDMwMCwgc2l6ZTogNDhweCwgIGxpbmU6IDY0cHgsICB0cmFja2luZzogMCksXG4gIFwiaGVhZGxpbmUtd2ViLW1lZGl1bVwiOiAgICh3ZWlnaHQ6IDUwMCwgc2l6ZTogNDBweCwgIGxpbmU6IDU2cHgsICB0cmFja2luZzogLTEuNnB4KSxcbiAgXCJoZWFkbGluZS13ZWItc21hbGxcIjogICAgKHdlaWdodDogNDAwLCBzaXplOiAzMnB4LCAgbGluZTogNDhweCwgIHRyYWNraW5nOiAwKSxcbiAgXCJoZWFkbGluZS1tb2JpbGUtbGFyZ2VcIjogKHdlaWdodDogMzAwLCBzaXplOiAyOHB4LCAgbGluZTogMzhweCwgIHRyYWNraW5nOiAwKSxcbiAgXCJoZWFkbGluZS1tb2JpbGUtbWVkaXVtXCI6KHdlaWdodDogNTAwLCBzaXplOiAyNHB4LCAgbGluZTogMzRweCwgIHRyYWNraW5nOiAtLjk2cHgpLFxuICBcImhlYWRsaW5lLW1vYmlsZS1zbWFsbFwiOiAod2VpZ2h0OiA0MDAsIHNpemU6IDIwcHgsICBsaW5lOiAyOHB4LCAgdHJhY2tpbmc6IDApLFxuICBcInRpdGxlLWxhcmdlXCI6ICAgICAgICh3ZWlnaHQ6IDYwMCwgc2l6ZTogMThweCwgbGluZTogMzBweCwgdHJhY2tpbmc6IDApLFxuICBcInRpdGxlLW1lZGl1bVwiOiAgICAgICh3ZWlnaHQ6IDYwMCwgc2l6ZTogMTZweCwgbGluZTogMjZweCwgdHJhY2tpbmc6IDApLFxuICBcInRpdGxlLXNtYWxsXCI6ICAgICAgICh3ZWlnaHQ6IDYwMCwgc2l6ZTogMTRweCwgbGluZTogMjJweCwgdHJhY2tpbmc6IDApLFxuICBcInRpdGxlLWV4dHJhLXNtYWxsXCI6ICh3ZWlnaHQ6IDUwMCwgc2l6ZTogMTJweCwgbGluZTogMThweCwgdHJhY2tpbmc6IDEuOHB4KSxcbiAgXCJsYWJlbC1sYXJnZVwiOiAgICAgICAod2VpZ2h0OiA1MDAsIHNpemU6IDE4cHgsIGxpbmU6IDMwcHgsIHRyYWNraW5nOiAwLCAgICAgIGNhc2U6IHVwcGVyY2FzZSksXG4gIFwibGFiZWwtbWVkaXVtXCI6ICAgICAgKHdlaWdodDogNTAwLCBzaXplOiAxNnB4LCBsaW5lOiAyNnB4LCB0cmFja2luZzogMCwgICAgICBjYXNlOiB1cHBlcmNhc2UpLFxuICBcImxhYmVsLXNtYWxsXCI6ICAgICAgICh3ZWlnaHQ6IDQwMCwgc2l6ZTogMTRweCwgbGluZTogMjJweCwgdHJhY2tpbmc6IC43cHgsICBjYXNlOiB1cHBlcmNhc2UpLFxuICBcImxhYmVsLWV4dHJhLXNtYWxsXCI6ICh3ZWlnaHQ6IDUwMCwgc2l6ZTogMTJweCwgbGluZTogMThweCwgdHJhY2tpbmc6IDEuMnB4LCAgY2FzZTogdXBwZXJjYXNlKSxcbiAgXCJib2R5LWV4dHJhLWxhcmdlXCI6ICh3ZWlnaHQ6IDI1MCwgc2l6ZTogMjRweCwgbGluZTogNDBweCwgdHJhY2tpbmc6IDApLFxuICBcImJvZHktbGFyZ2VcIjogICAgICAgKHdlaWdodDogMzAwLCBzaXplOiAyMHB4LCBsaW5lOiAzNHB4LCB0cmFja2luZzogMCksXG4gIFwiYm9keS1tZWRpdW1cIjogICAgICAod2VpZ2h0OiAzMDAsIHNpemU6IDE4cHgsIGxpbmU6IDMwcHgsIHRyYWNraW5nOiAwKSxcbiAgXCJib2R5LXNtYWxsXCI6ICAgICAgICh3ZWlnaHQ6IDMwMCwgc2l6ZTogMTZweCwgbGluZTogMjZweCwgdHJhY2tpbmc6IDApLFxuICBcImNhcHRpb24tbGFyZ2VcIjogICh3ZWlnaHQ6IDMwMCwgc2l6ZTogMTRweCwgbGluZTogMjJweCwgdHJhY2tpbmc6IDApLFxuICBcImNhcHRpb24tbWVkaXVtXCI6ICh3ZWlnaHQ6IDMwMCwgc2l6ZTogMTJweCwgbGluZTogMThweCwgdHJhY2tpbmc6IDApLFxuKSAhZGVmYXVsdDtcblxuLy8gRW1pdCBhIGNvbXBsZXRlIHRleHQgc3R5bGUgZnJvbSB0aGUgc2NhbGVcbkBtaXhpbiBpYi10eXBlKCRuYW1lLCAkZmFtaWx5OiAkaWItZm9udC1oZWFkaW5nKSB7XG4gICRzdHlsZTogbWFwLmdldCgkaWItdHlwZS1zY2FsZSwgJG5hbWUpO1xuXG4gIEBpZiBub3QgJHN0eWxlIHtcbiAgICBAZXJyb3IgXCJVbmtub3duIHR5cGUgc3R5bGUgYCN7JG5hbWV9YCDigJQgc2VlICRpYi10eXBlLXNjYWxlIGluIF91dGlscy5zY3NzXCI7XG4gIH1cblxuICAkc2l6ZTogbWFwLmdldCgkc3R5bGUsIHNpemUpO1xuICAkbGluZTogbWFwLmdldCgkc3R5bGUsIGxpbmUpO1xuICAkdHJhY2tpbmc6IG1hcC5nZXQoJHN0eWxlLCB0cmFja2luZyk7XG5cbiAgZm9udC1mYW1pbHk6ICRmYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiBtYXAuZ2V0KCRzdHlsZSwgd2VpZ2h0KTtcblxuICAvLyBtYXgoKSBmbG9vcnMgZm9udC1zaXplIGF0IGEgdHJ1ZSAxMnB4IOKAlCBmbHVpZC1yb290IHBhZ2VzIGNhbiBzaHJpbmtcbiAgLy8gaHRtbHtmb250LXNpemV9IGRvd24gdG8gMTJweCAoc2VlIHNlcnZpY2Vub3cuc2NzcyksIGFuZCBtb3N0IG9mIHRoaXNcbiAgLy8gc2NhbGUgaXMgYmVsb3cgMXJlbSwgc28gYSBwbGFpbiByZW0gdmFsdWUgd291bGQgZ28gdW5kZXIgMTJweCByaWdodFxuICAvLyB3aGVuIHRoZSByb290IGlzIGF0IGl0cyBzbWFsbGVzdC4gbGluZS1oZWlnaHQvbGV0dGVyLXNwYWNpbmcgYXJlXG4gIC8vIHVuaXRsZXNzL2VtIChub3QgcmVtKSBzbyB0aGV5IHNjYWxlIG9mZiB3aGF0ZXZlciBmb250LXNpemUgYWN0dWFsbHlcbiAgLy8gcmVuZGVycyBhdCDigJQgdGhlIGZsb29yIGFib3ZlIHRoZXJlZm9yZSBrZWVwcyBsaW5lLWhlaWdodCDiiaUgMTJweCB0b28sXG4gIC8vIHdpdGggbm8gc2VwYXJhdGUgZmxvb3IgbmVlZGVkLlxuICBmb250LXNpemU6IG1heCgje2liLXJlbSgkc2l6ZSl9LCAxMnB4KTtcbiAgbGluZS1oZWlnaHQ6IG1hdGguZGl2KCRsaW5lLCAkc2l6ZSk7XG5cbiAgLy8gR3VhcmQgemVybzogdW5pdGxlc3MgMCBkaXZpZGVkIGJ5IGEgcHggc2l6ZSBkb2Vzbid0IGNhbmNlbCB0byBhIGJhcmVcbiAgLy8gbnVtYmVyIGluIFNhc3MgKHlpZWxkcyBhIDEvcHggY29tcG91bmQgdW5pdCksIHNvIDAgKiAxZW0g4oaSIGludmFsaWQgXCJlbS9weFwiXG4gIEBpZiAkdHJhY2tpbmcgPT0gMCB7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIH0gQGVsc2Uge1xuICAgIGxldHRlci1zcGFjaW5nOiBtYXRoLmRpdigkdHJhY2tpbmcsICRzaXplKSAqIDFlbTtcbiAgfVxuXG4gIEBpZiBtYXAuZ2V0KCRzdHlsZSwgY2FzZSkge1xuICAgIHRleHQtdHJhbnNmb3JtOiBtYXAuZ2V0KCRzdHlsZSwgY2FzZSk7XG4gIH1cbn1cblxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyA3LiBTSVpFICYgU1BBQ0lORyBTQ0FMRVMgIChGaWdtYTogU2l6ZSBUb2tlbnMgLyBTcGFjaW5nIFRva2Vucylcbi8vIFVzZSB2aWEgaWItc3BhY2UoMjQpIC8gaWItc2l6ZSg0OCkg4oCUIGtleXMgYXJlIHRoZSBGaWdtYSB0b2tlbiBuYW1lcy5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuJGliLXNwYWNpbmc6IChcbiAgMDogMCwgNDogNHB4LCA2OiA2cHgsIDg6IDhweCwgMTI6IDEycHgsIDE2OiAxNnB4LCAyMDogMjBweCwgMjQ6IDI0cHgsIDMyOiAzMnB4LCA0MDogNDBweCxcbiAgNDg6IDQ4cHgsIDU2OiA1NnB4LCA2NDogNjRweCwgNzI6IDcycHgsIDgwOiA4MHB4LCA5NjogOTZweCwgMTEyOiAxMTJweCxcbikgIWRlZmF1bHQ7XG4kaWItc2l6ZXM6IChcbiAgMDogMCwgODogOHB4LCAxNjogMTZweCwgMjQ6IDI0cHgsIDMyOiAzMnB4LCA0MDogNDBweCwgNDg6IDQ4cHgsIDU2OiA1NnB4LFxuICA2NDogNjRweCwgNzI6IDcycHgsIDgwOiA4MHB4LCA5NjogOTZweCwgMTEyOiAxMTJweCxcbikgIWRlZmF1bHQ7XG5cbi8vIEdlbmVyaWMgcHgg4oaSIHJlbSBjb252ZXJ0ZXIuIEFsbCB0b2tlbiBvdXRwdXQgKGliLXR5cGUvaWItc3BhY2UvaWItc2l6ZSlcbi8vIGdvZXMgdGhyb3VnaCB0aGlzLCBzbyBldmVyeSBwYWdlIHJlbmRlcnMgaWRlbnRpY2FsbHkgdG8gYmVmb3JlIGFzIGxvbmcgYXNcbi8vIGl0IGRvZXNuJ3Qgb3ZlcnJpZGUgdGhlIHJvb3QgZm9udC1zaXplICgxcmVtID0gMTZweCBicm93c2VyIGRlZmF1bHQpIOKAlCBhXG4vLyBwYWdlIGNhbiBvcHQgaW50byBmbHVpZCBzY2FsaW5nIGJ5IHNldHRpbmcgaXRzIG93biBgaHRtbCB7IGZvbnQtc2l6ZTogLi4uIH1gXG4vLyBhbmQgZXZlcnl0aGluZyBzaXplZCB2aWEgdGhlc2UgdG9rZW5zIHNjYWxlcyB3aXRoIGl0IGF1dG9tYXRpY2FsbHkuXG5AZnVuY3Rpb24gaWItcmVtKCRweCkge1xuICBAaWYgJHB4ID09IDAge1xuICAgIEByZXR1cm4gMDtcbiAgfVxuXG4gIEByZXR1cm4gbWF0aC5kaXYoJHB4LCAxNnB4KSAqIDFyZW07XG59XG5cbkBmdW5jdGlvbiBpYi1zcGFjZSgka2V5KSB7XG4gIEBpZiBub3QgbWFwLmhhcy1rZXkoJGliLXNwYWNpbmcsICRrZXkpIHtcbiAgICBAZXJyb3IgXCJVbmtub3duIHNwYWNpbmcgdG9rZW4gYCN7JGtleX1gIOKAlCBzZWUgJGliLXNwYWNpbmcgaW4gX3V0aWxzLnNjc3NcIjtcbiAgfVxuXG4gIEByZXR1cm4gaWItcmVtKG1hcC5nZXQoJGliLXNwYWNpbmcsICRrZXkpKTtcbn1cblxuQGZ1bmN0aW9uIGliLXNpemUoJGtleSkge1xuICBAaWYgbm90IG1hcC5oYXMta2V5KCRpYi1zaXplcywgJGtleSkge1xuICAgIEBlcnJvciBcIlVua25vd24gc2l6ZSB0b2tlbiBgI3ska2V5fWAg4oCUIHNlZSAkaWItc2l6ZXMgaW4gX3V0aWxzLnNjc3NcIjtcbiAgfVxuXG4gIEByZXR1cm4gaWItcmVtKG1hcC5nZXQoJGliLXNpemVzLCAka2V5KSk7XG59XG5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gOC4gUEFHRSAvIENPTVBPTkVOVCBUT0tFTlNcbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuJGliLWNvbnRhaW5lci1tYXg6IDE2MTZweCAhZGVmYXVsdDsgLy8gc2VjdGlvbiBjb250YWluZXIgd2lkdGggKEZpZ21hIGNvbnRlbnQgem9uZSlcbiRpYi1oZWFkaW5nLWxzOiAtLjA0ZW0gIWRlZmF1bHQ7IC8vIGRpc3BsYXkgdHJhY2tpbmcgcmF0aW8gKC0xLjkycHggQCA0OHB4KVxuJGliLWhlcm8tbWVkaWE6ICRpYi1yZWQtZGFyayAhZGVmYXVsdDsgLy8gaGVybyBtZWRpYSBwbGFjZWhvbGRlciBibG9ja1xuXG4vLyBMZWdhY3kgYWxpYXNlcyDigJQga2VwdCBzbyBlYXJsaWVyIHBhcnRpYWwgcmV2aXNpb25zIGtlZXAgY29tcGlsaW5nXG4kaWItYm9yZGVyOiAkaWItYm9yZGVyLXRlcnRpYXJ5ICFkZWZhdWx0OyAvLyBoYWlybGluZSBkaXZpZGVyc1xuJGliLWRhcms6ICRpYi1iZy1kYXJrICFkZWZhdWx0OyAvLyBkYXJrIHNlY3Rpb24gYmFja2dyb3VuZFxuXG4vLyBUcmFuc2l0aW9uIHByZXNldHMg4oCUIC0tdHJhbnNpdGlvbi1zbW9vdGggLyAtLXRyYW5zaXRpb24tc2xvdyBpbiBjdXN0b20uY3NzXG4kaWItdHJhbnNpdGlvbi1zbW9vdGg6IGFsbCAuNHMgY3ViaWMtYmV6aWVyKC4xNiwgMSwgLjMsIDEpICFkZWZhdWx0O1xuJGliLXRyYW5zaXRpb24tc2xvdzogYWxsIC44cyBjdWJpYy1iZXppZXIoLjE2LCAxLCAuMywgMSkgIWRlZmF1bHQ7XG4kaWItdHJhbnNpdGlvbi10cmFuc2xhdGU6IGFsbCAxcyBjdWJpYy1iZXppZXIoLjE2LCAxLCAuMywgMSkgIWRlZmF1bHQ7XG5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gOS4gU0hBUkVEIE1JWElOU1xuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5AbWl4aW4gcmVzcG9uZC10bygkYnApIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRicCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIERpc3BsYXkgaGVhZGluZyDigJQgTGV4ZW5kIDQwMCwgdGlnaHQgdHJhY2tpbmcgKHVzZWQgYnkgZXZlcnkgc2VjdGlvbiBoMilcbkBtaXhpbiBpYi1kaXNwbGF5LWhlYWRpbmcoJHNpemU6IDQ4cHgsICRsaW5lOiA1MnB4KSB7XG4gIGZvbnQtZmFtaWx5OiAkaWItZm9udC1oZWFkaW5nO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6ICRzaXplO1xuICBsaW5lLWhlaWdodDogJGxpbmU7XG4gIGxldHRlci1zcGFjaW5nOiAkaWItaGVhZGluZy1scztcbiAgY29sb3I6ICRpYi10ZXh0LXByaW1hcnk7XG59XG5cbi8vIE5vdGNoZWQgY2FyZCBjb3JuZXJzIOKAlCBjdXQgdG9wLWxlZnQgYW5kIGJvdHRvbS1yaWdodCAoRmlnbWEgRXhjbHVkZSBzaGFwZSlcbkBtaXhpbiBpYi1ub3RjaCgkY3V0LXg6IDQ3cHgsICRjdXQteTogMzZweCkge1xuICBjbGlwLXBhdGg6IHBvbHlnb24oXG4gICAgI3skY3V0LXh9IDAsXG4gICAgMTAwJSAwLFxuICAgIDEwMCUgY2FsYygxMDAlIC0gI3skY3V0LXl9KSxcbiAgICBjYWxjKDEwMCUgLSAjeyRjdXQteH0pIDEwMCUsXG4gICAgMCAxMDAlLFxuICAgIDAgI3skY3V0LXl9XG4gICk7XG59XG5cbi8vIFJldmVhbCBiYXNlIOKAlCBoaWRkZW4gdW50aWwgSlMgYWRkcyAuaXMtdmlzaWJsZSAoZGVza3RvcCBvbmx5OyBtb2JpbGUgaXNcbi8vIHN0YXRpYykuIFBhc3MgdGhlIHBhZ2UncyBtb2JpbGUgYm91bmRhcnkgYXMgJG1vYmlsZS1icDogJGliLWJwLW1vYmlsZVxuLy8gKDc2OHB4LCBkZWZhdWx0KSBvciAkaWItYnAtdGFibGV0ICgxMDI0cHgpIHdoZXJlIHRoZSBtb2JpbGUgbGF5b3V0IG93bnNcbi8vIHRhYmxldHMgdG9vIChzZXJ2aWNlbm93LCBlbnRlcnByaXNlLXJlYWRpbmVzcywgdHJ1ZS1zdG9yaWVzKS4gTXVzdCBtYXRjaFxuLy8gdGhlIE1PQklMRV9CUCBpbiB0aGUgc2VjdGlvbidzIEpTIG1vZHVsZS5cbkBtaXhpbiBpYi1yZXZlYWwoJHk6IDQwcHgsICRtb2JpbGUtYnA6ICRpYi1icC1tb2JpbGUpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IGNhbGMoJG1vYmlsZS1icCArIDFweCkpIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkeSk7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIC42cyBjdWJpYy1iZXppZXIoLjI1LCAuNDYsIC40NSwgLjk0KTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUGFnZS1yb290IHJlcXVpcmVtZW50cyBvZiBhIEdTQVAtcGlubmVkIHNlY3Rpb24sIGRlY2xhcmVkIEJZIHRoZSBzZWN0aW9uXG4vLyBpbnN0ZWFkIG9mIGJ5IHdoaWNoZXZlciBwYWdlIGVudHJ5IGhhcHBlbnMgdG8gaW5jbHVkZSBpdC5cbi8vXG4vLyBXSFkgSVQgTElWRVMgV0lUSCBUSEUgQ09NUE9ORU5UXG4vLyBUaGVzZSBzZWN0aW9ucyBhcmUgc2hhcmVkOiB0aGUgc2FtZSBwYXJ0aWFsIGlzIHB1bGxlZCBpbnRvXG4vLyB0cnVlLXN0b3J5LWRldGFpbC5zY3NzLCBlbnRlcnByaXNlLXJlYWRpbmVzcy5zY3NzLCBhbmQgd2hhdGV2ZXIgZW50cnkgdGhlXG4vLyBXb3JkUHJlc3Mgc2luZ2xlIGJ1aWxkIGFkZHMgbmV4dC4gQSBwYWdlIGVudHJ5IGNhbm5vdCBiZSB0cnVzdGVkIHRvIGNhcnJ5XG4vLyB0aGUgcnVsZXMsIGJlY2F1c2UgYSBwYWdlIG1heSBpbmNsdWRlIHRoZSBzZWN0aW9uIHdpdGhvdXQga25vd2luZyBpdCBuZWVkc1xuLy8gdGhlbSDigJQgYW5kIHRoZSBXb3JkUHJlc3MgYnVpbGQgcHJvdmVzIGl0OiBzdGFnaW5nIHNlcnZlcyB0aGUgRm91bmRhdGlvblxuLy8gcGFnZSB3aXRoIG5vIHBhZ2UtKiBjbGFzcyBvbiA8Ym9keT4gYXQgYWxsLCBzbyBldmVyeSBgYm9keS5wYWdlLeKApmAtc2NvcGVkXG4vLyBydWxlIHNpbGVudGx5IG5vLW9wcyB0aGVyZS4gYGh0bWw6aGFzKCN7JHNlbGVjdG9yfSlgIGtleXMgb2ZmIHRoZSBzZWN0aW9uJ3Ncbi8vIG93biBwcmVzZW5jZSwgc28gdGhlIHJlcXVpcmVtZW50IHRyYXZlbHMgd2l0aCB0aGUgbWFya3VwIGludG8gYW55IHBhZ2UsIGFueVxuLy8gZW50cnkgZmlsZSwgYW55IGJ1aWxkLlxuLy9cbi8vIFdIQVQgSVQgQVNTRVJUU1xuLy8gMS4gc2Nyb2xsLWJlaGF2aW9yOiBhdXRvIOKAlCBTY3JvbGxUcmlnZ2VyIHJlcG9zaXRpb25zIHRoZSBzY3JvbGxiYXJcbi8vICAgIHByb2dyYW1tYXRpY2FsbHkgZHVyaW5nIHBpbiBzZXR1cCBhbmQgb24gZXZlcnkgcmVmcmVzaCAocmVzaXplLCBicm93c2VyXG4vLyAgICB6b29tLCBsYXp5IGltYWdlcyBsYW5kaW5nKS4gQ1NTIHNtb290aC1zY3JvbGwgYW5pbWF0ZXMgdGhvc2UgcmVzdG9yZXMsIHNvXG4vLyAgICB0aGUgcGluIGlzIG1lYXN1cmVkIGFnYWluc3QgYSBtb3Zpbmcgc2Nyb2xsIHBvc2l0aW9uIGFuZCB0aGUgcGlubmVkIGJveFxuLy8gICAgZW5kcyB1cCBvZmZzZXQg4oCUIGl0IG92ZXJsYXBzIGl0cyBuZWlnaGJvdXJzLCBvciBsZWF2ZXMgYSBnYXAgd2hlcmUgdGhlXG4vLyAgICBwaW4tc3BhY2VyIHNob3VsZCBiZS4gY3VzdG9tLmNzcyBkcm9wcGVkIHRoZSBwcm9wZXJ0eSBnbG9iYWxseSBmb3IgdGhpc1xuLy8gICAgZXhhY3QgcmVhc29uOyB0aGUgV29yZFByZXNzIHRoZW1lIHN0aWxsIHNldHMgaXQgb24gYmFyZSBgaHRtbGAuXG4vLyAyLiBvdmVyZmxvdy14OiBjbGlwIOKAlCBhIHBpbm5lZCBib3ggaXMgcG9zaXRpb246Zml4ZWQsIHNvIGl0IGVzY2FwZXMgYW55XG4vLyAgICBvdmVyZmxvdzpoaWRkZW4gb24gaXRzIG93biBzZWN0aW9uLiBgY2xpcGAgcmF0aGVyIHRoYW4gYGhpZGRlbmAgYmVjYXVzZVxuLy8gICAgaXQgZG9lcyBub3QgY3JlYXRlIGEgc2Nyb2xsIGNvbnRhaW5lciwgbGVhdmluZyBwb3NpdGlvbjpzdGlja3kgaW50YWN0LlxuLy8gMy4gaGVpZ2h0OiBhdXRvIOKAlCBfYmFzZS5zY3NzIHNldHMgYGh0bWwsIGJvZHkgeyBoZWlnaHQ6IDEwMCUgfWAsIHdoaWNoIGNhcHNcbi8vICAgIGJvdGggYm94ZXMgYXQgdGhlIHZpZXdwb3J0LiBTY3JvbGxUcmlnZ2VyIHJlc2VydmVzIGEgcGluJ3Mgc2Nyb2xsXG4vLyAgICBkaXN0YW5jZSBhcyBwYWRkaW5nLWJvdHRvbSBvbiB0aGUgcGluLXNwYWNlciBpdCBpbmplY3RzLCBhbmQgdGhhdCBncm93dGhcbi8vICAgIG9ubHkgYmVjb21lcyBzY3JvbGxhYmxlIGRpc3RhbmNlIGlmIHRoZSByb290IGlzIGZyZWUgdG8gZ3JvdyB3aXRoIGl0LlxuLy8gICAgQ2FwcGVkLCBpdCBjYW5ub3Q6IHRoZSBzcGFjZXIgbmV2ZXIgcmVhY2hlcyBpdHMgcmVhbCBoZWlnaHQsIHRoZSBzZWN0aW9uXG4vLyAgICBjb2xsYXBzZXMgdG8gcm91Z2hseSBvbmUgdmlld3BvcnQsIGFuZCB0aGUgc2NydWJiZWQgdGltZWxpbmUgc2l0cyBhdFxuLy8gICAgcHJvZ3Jlc3MgMCDigJQgdGhlIHBpbm5lZCBjb250ZW50IHJlYWRzIGFzIHNpbXBseSBtaXNzaW5nLiBBc3NlcnRpb24gMlxuLy8gICAgbWFrZXMgdGhpcyB3b3JzZSByYXRoZXIgdGhhbiBjYXVzaW5nIGl0OiBwZXIgQ1NTIE92ZXJmbG93IDMgYSBgY2xpcGAgb25cbi8vICAgIG9uZSBheGlzIHB1bGxzIHRoZSBgdmlzaWJsZWAgYXhpcyB0byBgY2xpcGAgdG9vLCBzbyB0aGUgb3Zlci1zcGlsbCBpc1xuLy8gICAgY2xpcHBlZCBpbnN0ZWFkIG9mIG1lcmVseSBvdmVyZmxvd2luZy4gbWluLWhlaWdodCBrZWVwcyB0aGUgb3JpZ2luYWxcbi8vICAgIGludGVudCAoYSBzaG9ydCBwYWdlJ3MgYmFja2dyb3VuZCBzdGlsbCBmaWxscyB0aGUgdmlld3BvcnQpLlxuLy9cbi8vIFNQRUNJRklDSVRZXG4vLyBgaHRtbGAgYWxvbmUgaXMgKDAsMCwxKTsgYGh0bWw6aGFzKC5zb21lLXNlY3Rpb24pYCBpcyAoMCwxLDEpLCBzbyB0aGlzIGJlYXRzXG4vLyBhIHRoZW1lJ3MgYmFyZSBgaHRtbCB7IHNjcm9sbC1iZWhhdmlvcjogc21vb3RoIH1gIGluIGFueSBjb25jYXRlbmF0aW9uXG4vLyBvcmRlci4gUGFnZXMgY2FycnlpbmcgdHdvIHBpbm5lZCBzZWN0aW9ucyBlbWl0IHRoZSBydWxlIHR3aWNlIOKAlCBpZGVudGljYWxcbi8vIGRlY2xhcmF0aW9ucywgc28gdGhlIGR1cGxpY2F0aW9uIGlzIGluZXJ0LlxuLy9cbi8vIEl0IGRvZXMgTk9UIGJlYXQgYSBwYWdlLWxldmVsIGd1YXJkIG9mIHRoZSBzYW1lIHNoYXBlOiBzZXJ2aWNlbm93LnNjc3MgZW1pdHNcbi8vIGBodG1sOmhhcyhib2R5LnBhZ2Utc2VydmljZW5vdykgeyBzY3JvbGwtYmVoYXZpb3I6IHNtb290aCB9YCwgYW5kIGJlY2F1c2Vcbi8vIDpoYXMoKSB0YWtlcyB0aGUgc3BlY2lmaWNpdHkgb2YgaXRzIGFyZ3VtZW50LCBgYm9keS5wYWdlLXNlcnZpY2Vub3dgICgwLDEsMSlcbi8vIG1ha2VzIHRoYXQgcnVsZSAoMCwxLDIpIGFnYWluc3QgdGhpcyBvbmUncyAoMCwxLDEpIOKAlCBpdCB3aW5zIHdoYXRldmVyIHRoZVxuLy8gc3R5bGVzaGVldCBvcmRlci4gVGhhdCBpcyBob3cgdGVjaG5vbG9neS5odG1sICh3aGljaCBsb2FkcyBzZXJ2aWNlbm93LmNzc1xuLy8gQU5EIGhvc3RzIGEgcGlubmVkIHNlY3Rpb24pIGVuZGVkIHVwIHNtb290aC1zY3JvbGxpbmc6IFNjcm9sbFRyaWdnZXIgcmVhZHNcbi8vIHNjcm9sbCBwb3NpdGlvbnMgdGhhdCBsYWcgYmVoaW5kIHRoZSBicm93c2VyJ3Mgb3duIHNjcm9sbCBhbmltYXRpb24sIHNvIHBpbnNcbi8vIGVuZ2FnZSBpbiB0aGUgd3JvbmcgcGxhY2UgYW5kIGxlYXZlIGEgZ2FwIHdoZXJlIHRoZSBzcGFjZXIgc2l0cy4gYCFpbXBvcnRhbnRgXG4vLyBvbiB0aGlzIG9uZSBkZWNsYXJhdGlvbiBtYWtlcyB0aGUgZ3VhcmQgdW5jb25kaXRpb25hbCDigJQgdGhlIHdob2xlIHBvaW50IG9mXG4vLyB0aGUgbWl4aW4gaXMgdGhhdCBhIHBhZ2UgaG9zdGluZyBhIHBpbm5lZCBzZWN0aW9uIGlzIGEgcGlubmFibGUgZW52aXJvbm1lbnQsXG4vLyB3aGljaCBpcyBub3Qgc29tZXRoaW5nIHBhZ2UtbGV2ZWwgc3R5bGluZyBnZXRzIHRvIG9wdCBvdXQgb2YuIFRyYWRlLW9mZjogYW55XG4vLyBpbi1wYWdlIGFuY2hvciBvbiBzdWNoIGEgcGFnZSBzY3JvbGxzIGluc3RhbnRseSByYXRoZXIgdGhhbiBzbW9vdGhseSwgZXhhY3RseVxuLy8gYXMgaXQgYWxyZWFkeSBkb2VzIG9uIHRoZSBjYXNlLXN0dWR5IHBhZ2UuXG4vL1xuLy8gVVNBR0Ug4oCUIG9uY2UgcGVyIHBpbm5lZCBzZWN0aW9uIHBhcnRpYWwsIGF0IHJvb3QgbGV2ZWw6XG4vLyAgIEBpbmNsdWRlIGliLXBpbi1ob3N0KCcudHNkLWNoYWxsZW5nZS1zZWN0aW9uJyk7XG5AbWl4aW4gaWItcGluLWhvc3QoJHNlbGVjdG9yKSB7XG4gIGh0bWw6aGFzKCN7JHNlbGVjdG9yfSkge1xuICAgIHNjcm9sbC1iZWhhdmlvcjogYXV0byAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93LXg6IGNsaXA7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG5cbiAgICBib2R5IHtcbiAgICAgIG92ZXJmbG93LXg6IGNsaXA7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIDEwLiBWSVNJQklMSVRZIEhFTFBFUlMgKyBNT0JJTEUgUkVWRUFMIOKGkiBtb3ZlZCB0byBfaGVscGVycy5zY3NzXG4vLyAuaWItbW9iaWxlLW9ubHkgLyAuaWItdGFibGV0LW9ubHkgLyAuaWItbW9iaWxlLXRhYmxldC1vbmx5IC8gLmliLWRlc2t0b3Atb25seSAvIC5pYi1tLXJldmVhbFxuLy8gYXJlIG5vdyBmaXhlZCBnbG9iYWwgY2xhc3NlcyB3aXRoIHRoZSBzYW1lIGJyZWFrcG9pbnRzIG9uIGV2ZXJ5IHBhZ2Ug4oCUXG4vLyBgQHVzZSAnaGVscGVycyc7YCBpbiBlYWNoIHBhZ2UgZW50cnkgZmlsZS4gTm8gcGVyLXBhZ2UgY29uZmlndXJhdGlvbi5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuIiwiLy8gYXNzZXRzL3Njc3MvcGFnZXMvc2VydmljZW5vdy9fcGFyYWxsYXgtY2FyZHMtc2VjdGlvbi5zY3NzXG4vLyBQaW5uZWQgc3RhY2stY2FyZCBzZWN0aW9uLlxuLy8gX19waW4gaXMgc3RpY2t5IGFuZCBzdGF5cyBpbiB2aWV3IHdoaWxlIEpTIGFuaW1hdGVzIHRoZSBjYXJkIGRlY2suXG4vLyBKUyBzZXRzIHNlY3Rpb24gbWluLWhlaWdodCAoc2Nyb2xsIGJ1ZGdldCkgYW5kIF9fZGVjayBoZWlnaHQgKGRlY2sgdmlzdWFsKS5cbi8vIENhcmRzIGFyZSBwb3NpdGlvbjphYnNvbHV0ZSBpbnNpZGUgX19kZWNrIHNvIEpTIGNhbiBkcml2ZSB0aGVpciBgdG9wYC5cbi8vIEZsdWlkIHNjYWxpbmc6IGNsYW1wKCkgcmVsYXRpdmUgdG8gMTcyOHB4IGRlc2lnbiBiYXNlIChhYm92ZSAxMDI0cHgpLlxuXG5AdXNlIFwiLi4vdXRpbHNcIiBhcyAqO1xuXG4vLyDilIDilIAgQ2FyZCBjaGFtZmVyIGdlb21ldHJ5IOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gRmlnbWE6IG5vdGNoZWQgY29ybmVycyAodG9wLWxlZnQgKyBib3R0b20tcmlnaHQpLCAxcHggYm9yZGVyIHRyYWNpbmcgZXZlcnlcbi8vIGVkZ2UgaW5jbC4gdGhlIGNoYW1mZXJzLCBhbmQgYSBoYXJkIHBlYWNoIHBsYXRlIHNoYWRvdyDigJQgYWxzbyBub3RjaGVkIOKAlFxuLy8gZmxvYXRpbmcgd2l0aCBhIGNyZWFtIGdhcCBiZXR3ZWVuIGJvcmRlciBhbmQgcGxhdGUuXG4kX2N1dDogMjBweDsgICAgICAgICAgIC8vIGNvcm5lciBjaGFtZmVyIHNpemVcbiRfcGxhdGUtc2hpZnQ6IDQuMTRweDsgLy8gcGxhdGUgb2Zmc2V0IGRvd24tcmlnaHQgKEZpZ21hOiA0LjE0cHggNC4xNHB4IDAgI0ZGRDBEOClcbiRfcGxhdGUtZ2FwOiAxLjI0cHg7ICAgLy8gYnJlYXRoaW5nIHJvb20gYmV0d2VlbiBib3JkZXIgYW5kIHBsYXRlIChGaWdtYTogMS4yNHB4IDEuMjRweCAwICNGRkY5RUQpXG5cbi8vIE5vdGNoZWQgYm9yZGVyIEZSQU1FIG9mIHRoaWNrbmVzcyAkdCDigJQgb3V0ZXIgbm90Y2ggd2l0aCBhbiBpbm5lciBub3RjaFxuLy8gY2FydmVkIG91dCAoc2luZ2xlLXBhdGggXCJkb251dFwiKSwgc28gdGhlIDFweCBzdHJva2UgZm9sbG93cyB0aGUgY2hhbWZlcnMuXG4vLyBBIHJlYWwgYGJvcmRlcmAgKyBjbGlwLXBhdGggd291bGQgYmUgY3V0IG9mZiBhbG9uZyB0aGUgZGlhZ29uYWxzXG4vLyAoc2FtZSB0ZWNobmlxdWUgYXMgX2J1dHRvbnMuc2NzcykuXG5AbWl4aW4gX25vdGNoLWZyYW1lKCRjdXQsICR0KSB7XG4gIC8vIENoYW1mZXIgc3Ryb2tlcyBtdXN0IGJlIGluc2V0IOKImjLDlyBkZWVwZXIgdGhhbiB0aGUgc3RyYWlnaHQgZWRnZXMg4oCUXG4gIC8vIGEgcGxhaW4gJHQgaW5zZXQgbGVhdmVzIHRoZSBkaWFnb25hbCBvbmx5IHQv4oiaMiAofjAuN3B4KSB0aGljaywgc28gdGhlXG4gIC8vIGNsaXBwZWQgY29ybmVycyByZW5kZXIgZmFpbnRlciB0aGFuIHRoZSByZXN0IG9mIHRoZSBmcmFtZS5cbiAgJGRpYWc6ICR0ICogLjQxNDI7IC8vICjiiJoyIOKIkiAxKSDDlyB0IOKAlCBleHRyYSBpbnNldCBmb3IgdGhlIGRpYWdvbmFsIHNlZ21lbnRzXG5cbiAgY2xpcC1wYXRoOiBwb2x5Z29uKFxuICAgIC8vIG91dGVyIG5vdGNoIChjbG9ja3dpc2UpICsgYnJpZGdlIGJhY2sgdG8gc3RhcnRcbiAgICAjeyRjdXR9IDAsXG4gICAgMTAwJSAwLFxuICAgIDEwMCUgY2FsYygxMDAlIC0gI3skY3V0fSksXG4gICAgY2FsYygxMDAlIC0gI3skY3V0fSkgMTAwJSxcbiAgICAwIDEwMCUsXG4gICAgMCAjeyRjdXR9LFxuICAgICN7JGN1dH0gMCxcbiAgICAvLyBpbm5lciBub3RjaCAoaW5zZXQgYnkgJHQpIOKAlCB3b3VuZCBDT1VOVEVSLWNsb2Nrd2lzZSB0byBjYXJ2ZSB0aGUgaG9sZVxuICAgIGNhbGMoI3skY3V0fSArICN7JGRpYWd9KSAjeyR0fSxcbiAgICAjeyR0fSBjYWxjKCN7JGN1dH0gKyAjeyRkaWFnfSksXG4gICAgI3skdH0gY2FsYygxMDAlIC0gI3skdH0pLFxuICAgIGNhbGMoMTAwJSAtICN7JGN1dH0gLSAjeyRkaWFnfSkgY2FsYygxMDAlIC0gI3skdH0pLFxuICAgIGNhbGMoMTAwJSAtICN7JHR9KSBjYWxjKDEwMCUgLSAjeyRjdXR9IC0gI3skZGlhZ30pLFxuICAgIGNhbGMoMTAwJSAtICN7JHR9KSAjeyR0fSxcbiAgICBjYWxjKCN7JGN1dH0gKyAjeyRkaWFnfSkgI3skdH1cbiAgKTtcbn1cblxuLnNuLXBhcmFsbGF4LWNhcmRzLXNlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiAkaWItYmctcHJpbWFyeTtcblxuICAvLyBtaW4taGVpZ2h0IHNldCBieSBKUzogMTAwdmggKyAoTi0xKSDDlyBjYXJkSGVpZ2h0XG5cbiAgLy8g4pSA4pSAIFN0aWNreSBwaW4g4oCUIGxvY2tlZCB0byB2aWV3cG9ydCBkdXJpbmcgYW5pbWF0aW9uIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAmX19waW4ge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiAwO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG92ZXJmbG93OiBjbGlwOyAvLyBjbGlwcyBjYXJkcyBiZWxvdyBkZWNrIHdpdGhvdXQgY3JlYXRpbmcgYSBzY3JvbGwgY29udGFpbmVyXG4gIH1cblxuICAvLyDilIDilIAgSW5uZXIgd2lkdGggY29uc3RyYWludCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgJl9fY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IGNsYW1wKDc0MHB4LCA0OC4wM3Z3LCA4MzBweCk7IC8vIDgzMC8xNzI4XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAvLyBUb3AgY2xlYXJzIHRoZSBmaXhlZCBoZWFkZXIgKHNhbWUgY2xlYXJhbmNlIHRva2VuIGFzIF9zY3JvbGwtdGFicy1zZWN0aW9uKSDigJRcbiAgICAvLyB3aGVuIHRoZSBwZWVrIGNsYW1wIGluIHBhcmFsbGF4LWJyaWRnZS5qcyBtYXhlcyBvdXQsIHRoZSBjbHVzdGVyIHN0YXJ0cyBhdFxuICAgIC8vIHRoZSBwaW4ncyB0b3AgZWRnZSwgc28gd2l0aG91dCB0aGlzIHRoZSB0aXRsZSBzaXRzIHVuZGVyIHRoZSBoZWFkZXIuXG4gICAgcGFkZGluZzogY2xhbXAoNzJweCwgNS4zMnZ3LCA5MnB4KSBjbGFtcCgyMHB4LCAyLjMxdncsIDQwcHgpIDA7XG4gIH1cblxuICAvLyDilIDilIAgU2VjdGlvbiBoZWFkaW5nIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAmX190aXRsZSB7XG4gICAgQGluY2x1ZGUgaWItdHlwZShcImhlYWRsaW5lLW1vYmlsZS1sYXJnZVwiKTtcblxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogJGliLXRleHQtcHJpbWFyeTtcbiAgICBtYXJnaW4tYm90dG9tOiBjbGFtcCgyOHB4LCAyLjc4dncsIDQ4cHgpOyAvLyA0OC8xNzI4XG4gIH1cblxuICAvLyDilIDilIAgRGVjayDigJQgcmVsYXRpdmUgY29udGFpbmVyIGZvciB0aGUgYWJzb2x1dGVseS1wbGFjZWQgY2FyZHMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIC8vIGhlaWdodCBpcyBzZXQgYnkgSlMgYmFzZWQgb24gY2FyZEhlaWdodCBhbmQgcGVlayBhbW91bnRcbiAgJl9fZGVjayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8g4pSA4pSAIENhcmQg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIC8vIExheWVyZWQ6IHRoZSBob3N0IGlzIE5PVCBjbGlwcGVkIChjbGlwLXBhdGggd291bGQgY3V0IG9mZiB0aGUgcGxhdGUpLFxuICAvLyBzbyBlYWNoIHZpc3VhbCBsaXZlcyBvbiBpdHMgb3duIGxheWVyLCBib3R0b20g4oaSIHRvcDpcbiAgLy8gICA6OmJlZm9yZSAgICAgIOKGkiBwZWFjaCBwbGF0ZSwgbm90Y2hlZCwgc2hpZnRlZCBkb3duLXJpZ2h0XG4gIC8vICAgOjphZnRlciAgICAgICDihpIgY3JlYW0gZ2FwIG1hc2ssIG5vdGNoZWQsIHNoaWZ0ZWQgYnkgdGhlIGdhcCBhbW91bnQg4oCUXG4gIC8vICAgICAgICAgICAgICAgICAgIGVyYXNlcyB0aGUgcGxhdGUgbmVhciB0aGUgY2FyZCBzbyBpdCBmbG9hdHMgZnJlZVxuICAvLyAgIF9faXRlbS1pbm5lciAg4oaSIG5vdGNoZWQgY3JlYW0gZmFjZSArIGNvbnRlbnRcbiAgLy8gICBpbm5lciA6OmJlZm9yZeKGkiAxcHggZG9udXQgYm9yZGVyIGZyYW1lIHRyYWNpbmcgZXZlcnkgZWRnZVxuICAmX19pdGVtIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwOyAvLyBhbGwgY2FyZHMgYW5jaG9yZWQgaGVyZTsgSlMgZHJpdmVzIHRyYW5zbGF0ZVkgZm9yIG9mZnNldCArIGFuaW1hdGlvblxuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgZGlzcGxheTogZmxleDsgLy8gaW5uZXIgZmFjZSBzdHJldGNoZXMgdG8gdGhlIEpTLWVxdWFsaXplZCBjYXJkIGhlaWdodFxuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07IC8vIEdQVSBjb21wb3NpdGUgbGF5ZXIg4oCUIGFsc28gdGhlIHN0YWNraW5nIGNvbnRleHQgdGhlIHBzZXVkb3MgbmVlZFxuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgIEBpbmNsdWRlIGliLW5vdGNoKCRfY3V0LCAkX2N1dCk7XG4gICAgfVxuXG4gICAgLy8gUGxhdGUg4oCUIHRoZSBcImNhcmQgYmVoaW5kXCIgZGVwdGggZmVlbFxuICAgICY6OmJlZm9yZSB7XG4gICAgICBpbnNldDogJF9wbGF0ZS1zaGlmdCAoLSRfcGxhdGUtc2hpZnQpICgtJF9wbGF0ZS1zaGlmdCkgJF9wbGF0ZS1zaGlmdDtcbiAgICAgIHotaW5kZXg6IC0yO1xuICAgICAgYmFja2dyb3VuZDogJGliLXJlZC1wZWFjaDtcbiAgICB9XG5cbiAgICAvLyBHYXAgbWFzayDigJQgaW52aXNpYmxlIGFnYWluc3QgdGhlIGNyZWFtIHBhZ2UgYmc7IG9ubHkgaXRzIGVkZ2UgbWF0dGVyc1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGluc2V0OiAkX3BsYXRlLWdhcCAoLSRfcGxhdGUtZ2FwKSAoLSRfcGxhdGUtZ2FwKSAkX3BsYXRlLWdhcDtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgYmFja2dyb3VuZDogJGliLWJnLXByaW1hcnk7XG4gICAgfVxuICB9XG5cbiAgLy8g4pSA4pSAIENhcmQgZmFjZSDigJQgY2xpcHBlZCBmaWxsLCBsYXlvdXQsIGFuZCBib3JkZXIgZnJhbWUg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gICZfX2l0ZW0taW5uZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4OiAxOyAvLyBmaWxsIHRoZSBlcXVhbGl6ZWQgaXRlbSBoZWlnaHRcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogY2xhbXAoMzBweCwgMi4zMXZ3LCA0MHB4KTtcbiAgICBwYWRkaW5nOiAyMHB4IDI0cHg7XG4gICAgYmFja2dyb3VuZDogJGliLWJnLXByaW1hcnk7XG5cbiAgICBAaW5jbHVkZSBpYi1ub3RjaCgkX2N1dCwgJF9jdXQpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBpbnNldDogMDtcbiAgICAgIGJhY2tncm91bmQ6ICRpYi1ib3JkZXItc2Vjb25kYXJ5O1xuXG4gICAgICBAaW5jbHVkZSBfbm90Y2gtZnJhbWUoJF9jdXQsIDFweCk7XG4gICAgfVxuICB9XG5cbiAgLy8g4pSA4pSAIExhYmVsIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAmX19pdGVtLWxhYmVsIHtcbiAgICBtaW4td2lkdGg6IGNsYW1wKDgwcHgsIDcuODF2dywgMTM1cHgpOyAgICAvLyAxMzUvMTcyOFxuICAgIG1heC13aWR0aDogY2xhbXAoODBweCwgNy44MXZ3LCAxMzVweCk7ICAgIC8vIGZpeGVkIGNvbHVtbiDigJQgbWF0Y2hlcyBtb2JpbGUncyBtaW4vbWF4IHBhaXJpbmcgYmVsb3dcbiAgICBmbGV4LXNocmluazogMDtcbiAgICAvLyBPcHRpY2FsIHRvcC1hbGlnbm1lbnQgbnVkZ2U6IF9faXRlbS1pbm5lciBpcyB0b3AtYWxpZ25lZCAoZGVmYXVsdFxuICAgIC8vIHN0cmV0Y2gpLCBidXQgdGhlIGxhYmVsJ3MgbGluZS1oZWlnaHQgbGVhdmVzIGxlc3MgaGFsZi1sZWFkaW5nIGFib3ZlXG4gICAgLy8gaXRzIGdseXBocyB0aGFuIHRoZSBib2R5IHRleHQncyBkb2VzIChkZXNrdG9wOiAyNHB4IGxpbmUtaGVpZ2h0IHZzXG4gICAgLy8gYm9keS1sYXJnZSdzIDM0cHg7IG1vYmlsZTogMThweCB2cyAzMHB4KSDigJQgYm90aCB3b3JrIG91dCB0byB0aGUgc2FtZVxuICAgIC8vIH4zcHggZ2FwLCBzbyBhIGZsYXQgbWFyZ2luLXRvcCBjb3ZlcnMgZGVza3RvcCBhbmQgbW9iaWxlIGFsaWtlLlxuICAgIG1hcmdpbi10b3A6IDNweDtcbiAgICBjb2xvcjogJGliLXRleHQtcHJpbWFyeTtcbiAgICBmb250LWZhbWlseTogJGliLWZvbnQtYm9keTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIG9wYWNpdHk6IC41O1xuICB9XG5cbiAgLy8g4pSA4pSAIEJvZHkgdGV4dCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgJl9faXRlbS10ZXh0IHtcbiAgICBAaW5jbHVkZSBpYi10eXBlKFwiYm9keS1sYXJnZVwiLCAkaWItZm9udC1ib2R5KTtcblxuICAgIGNvbG9yOiAkaWItdGV4dC1wcmltYXJ5O1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIOKUgOKUgCBUYWJsZXQgJiBiZWxvdyAo4omkMTAyNHB4KSDigJQgZGlzYWJsZSBwaW5uaW5nLCBwbGFpbiBzdGFja2VkIGxpc3Qg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIC8vIFN0cnVjdHVyYWwgcmV2ZXJ0IG9ubHkg4oCUIG1hdGNoZXMgTU9CSUxFX0JQID0gMTAyNCBpbiBwYXJhbGxheC1icmlkZ2UuanMgL1xuICAvLyBwYXJhbGxheC1jYXJkcy1zZWN0aW9uLmpzICh0aGUgcGluL3N0YWNrIHNjcnViIGlzIGRlc2t0b3Atb25seSkuIENhcmRcbiAgLy8gY29zbWV0aWNzIGtlZXAgdGhlaXIgZmx1aWQgZGVza3RvcCB2YWx1ZXMgdW50aWwgdGhlIOKJpDEwMjRweCBibG9jayBiZWxvdy5cbiAgQGluY2x1ZGUgcmVzcG9uZC10bygkaWItYnAtdGFibGV0KSB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBtaW4taGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG5cbiAgICAmX19waW4ge1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHBhZGRpbmc6IDY0cHggMjBweDtcbiAgICB9XG5cbiAgICAmX19kZWNrIHtcbiAgICAgIC8vIFJldmVydCB0byBub3JtYWwgZmxvdyDigJQgSlMgZHJpdmVzIG5vdGhpbmcgYXQgdGhpcyB3aWR0aFxuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBnYXA6IDI0cHg7XG4gICAgfVxuXG4gICAgLy8gQ2hhbWZlciArIHBsYXRlICsgZnJhbWUgc3RheSBvbiDigJQgc2FtZSBjYXJkIHN0eWxlIGFzIGRlc2t0b3AsXG4gICAgLy8gb25seSB0aGUgcGlubmluZy9zdGFja2luZyBiZWhhdmlvciBpcyBkaXNhYmxlZC5cbiAgICAmX19pdGVtIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgLy8gbm9ybWFsIGZsb3csIGJ1dCBzdGlsbCBhbmNob3JzIHRoZSBwbGF0ZS9tYXNrIHBzZXVkb3NcbiAgICAgIHRvcDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB6LWluZGV4OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8g4pSA4pSAIE1vYmlsZSAo4omkMTAyNHB4KSDigJQgY29zbWV0aWMgYWRqdXN0bWVudHMgb24gdGhlIHN0YWNrZWQgbGlzdCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgQGluY2x1ZGUgcmVzcG9uZC10bygkaWItYnAtdGFibGV0KSB7XG4gICAgJl9fY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgICB9XG5cbiAgICAmX19pdGVtLWlubmVyIHtcbiAgICAgIGdhcDogMTZweDtcbiAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgfVxuXG4gICAgJl9faXRlbS1sYWJlbCB7XG4gICAgICBtaW4td2lkdGg6IDkwcHg7XG4gICAgICBtYXgtd2lkdGg6IDkwcHg7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICB9XG5cbiAgICAmX19pdGVtLXRleHQge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgfVxuICB9XG4gIC8vIOKUgOKUgCBLVzI2IGV2ZW50IGJhZGdlIOKAlCBtb2JpbGUvdGFibGV0IGlubGluZSBjb3B5IOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAvLyBEZXNrdG9wIGJhZGdlIHNpdHMgc3RpY2t5IGluIHRoZSBzY3JvbGwtdGFicyBzaWRlYmFyIChfc2Nyb2xsLXRhYnMtc2VjdGlvbi5zY3NzLFxuICAvLyAmX19zaWRlYmFyIC5zbi1rdzI2LWJhZGdlKTsgdGhhdCBzaWRlYmFyIGlzIGRpc3BsYXk6bm9uZSDiiaQxMDI0cHgsIHNvIHRoaXNcbiAgLy8gc2VjdGlvbiBjYXJyaWVzIGl0cyBvd24gc3RhdGljLCBjZW50ZXJlZCBjb3B5IGJlbG93IHRoZSBzdGFja2VkIGNhcmRzLlxuICAvLyBOZXN0ZWQgdW5kZXIgdGhlIOKJpDEwMjRweCBicmVha3BvaW50IChiZWx0LWFuZC1zdXNwZW5kZXJzIGFsb25nc2lkZSB0aGVcbiAgLy8gSFRNTCdzIGliLW1vYmlsZS10YWJsZXQtb25seSkgc28gdGhlc2UgcnVsZXMgbmV2ZXIgbGVhayBvbnRvIGRlc2t0b3AuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8oJGliLWJwLXRhYmxldCkge1xuICAgIC8vIFdyYXBwZXIgY2FycmllcyB0aGUgc2VjdGlvbidzIHVzdWFsIDIwcHggc2lkZSBndXR0ZXIg4oCUIHRoZSBiYWRnZSBpdHNlbGZcbiAgICAvLyBzaXRzIG91dHNpZGUgX19waW4gKHNlZSBzZXJ2aWNlbm93Lmh0bWwpLCBzbyBpdCBkb2Vzbid0IGluaGVyaXQgX19waW4nc1xuICAgIC8vIGhvcml6b250YWwgcGFkZGluZyB0aGUgd2F5IHRoZSBjYXJkcyBkby5cbiAgICAmX19iYWRnZS13cmFwIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICB9XG5cbiAgICAvLyBgcG9zaXRpb246IHJlbGF0aXZlYCBtYWtlcyB0aGlzIHRoZSBwb3NpdGlvbmVkIGFuY2VzdG9yIHRoZSBzaGFyZWRcbiAgICAvLyAuc24ta3cyNi1iYWRnZV9fZWxsaXBzZSAocG9zaXRpb246IGFic29sdXRlKSBvcmJpdHMgaW5zaWRlLlxuICAgIC5zbi1rdzI2LWJhZGdlLS1pbmxpbmUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50OyAvLyBzaXplIHRvIHRoZSBidXR0b24ncyB0ZXh0LCBub3QgYSBmaXhlZCB0cmFja1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgbWluLXdpZHRoOiAyMTRweDtcbiAgICAgIG1hcmdpbjogOHB4IGF1dG87XG5cbiAgICAgIC5zbi1rdzI2LWJhZGdlX19idG4ge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIHBhZGRpbmc6IDE2cHggMzJweDtcbiAgICAgIH1cblxuICAgICAgLy8gU2hhcmVkIF9fdGV4dCBjYXBzIGF0IDE5MHB4IGZvciB0aGUgZml4ZWQtd2lkdGggc2lkZWJhciBiYWRnZTsgdGhpc1xuICAgICAgLy8gaW5zdGFuY2Ugc2l6ZXMgdG8gY29udGVudCBpbnN0ZWFkLCBzbyBsZXQgdGhlIHRleHQgcnVuIGZ1bGwgbGVuZ3RoLlxuICAgICAgLnNuLWt3MjYtYmFkZ2VfX3RleHQge1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBhc3NldHMvc2Nzcy9wYWdlcy9zZXJ2aWNlbm93L19sZXRzLXRhbGstc2VjdGlvbi5zY3NzXG4vLyBMZXQncyBUYWxrIHNlY3Rpb24g4oCUIGNyZWFtIGNhcmQgd2l0aCBjbGlwLXBhdGggY29ybmVycywgc2tld2VkIGRlY29yYXRpdmVcbi8vIHNoYXBlcywgYW5kIGEgcGVyc29uIGltYWdlIGFuY2hvcmVkIHRvIHRoZSByaWdodCBvZiB0aGUgaW5uZXIgY29udGFpbmVyLlxuLy9cbi8vIFNoYXJlZCBieSBzZXJ2aWNlbm93ICsgZW50ZXJwcmlzZS1yZWFkaW5lc3MuIE1vYmlsZSBsYXlvdXQgYXBwbGllcyB1cCB0b1xuLy8gYW5kIGluY2x1ZGluZyB0YWJsZXRzICjiiaQxMDI0cHgpIG9uIGJvdGggcGFnZXMg4oCUIG5vIGNvbmZpZ3VyYXRpb24gbmVlZGVkLFxuLy8gc28gdGhlIHBhcnRpYWwgY2FuIGJlIEB1c2UnZCBmcm9tIGFueSBwYWdlIHdpdGhvdXQgYnJlYWtpbmcuXG5cbkB1c2UgXCIuLi91dGlsc1wiIGFzICo7XG5cbi5zbi1sZXRzLXRhbGstc2VjdGlvbiB7XG4gIGJhY2tncm91bmQ6ICRpYi1iZy1wcmltYXJ5O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDgwcHggMDtcblxuICAudGFsay1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTI1MHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmc6IDAgMjRweDtcbiAgfVxuXG4gIC50YWxrLWlubmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC50YWxrLWNvbnRlbnQge1xuICAgIHdpZHRoOiA4NDBweDtcbiAgICBiYWNrZ3JvdW5kOiAkaWItYmctc2Vjb25kYXJ5O1xuICAgIHBhZGRpbmc6IDcycHggMzJweCA0OHB4IDQ4cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgei1pbmRleDogMTtcbiAgICBtaW4taGVpZ2h0OiA2ODBweDtcblxuICAgIEBpbmNsdWRlIGliLW5vdGNoKDI0cHgsIDI0cHgpO1xuXG4gICAgLnRhbGstY29udGVudC10b3Age1xuICAgICAgbWF4LXdpZHRoOiA1ODBweDtcbiAgICB9XG5cbiAgICAudGl0bGUge1xuICAgICAgZm9udC1zaXplOiBpYi1yZW0oNDhweCk7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgY29sb3I6ICRpYi10ZXh0LXByaW1hcnk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuICAgIH1cblxuICAgIC50aXRsZS1hY2NlbnQsXG4gICAgLnJlZC1mb250LWNvbG9yLXRleHQge1xuICAgICAgY29sb3I6ICRpYi1yZWQtYnJhbmQ7XG4gICAgfVxuXG4gICAgLnRleHQge1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGZvbnQtc2l6ZTogaWItcmVtKDE4cHgpO1xuICAgICAgbGluZS1oZWlnaHQ6IGliLXJlbSgzMnB4KTtcbiAgICAgIGNvbG9yOiAkaWItdGV4dC1wcmltYXJ5O1xuICAgICAgbWF4LXdpZHRoOiA1MjBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgfVxuXG4gICAgLnRhbGstbWV0YSB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIG1heC13aWR0aDogNTIwcHg7XG5cbiAgICAgIC50YWxrLW5hbWUge1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBmb250LXNpemU6IGliLXJlbSgyNHB4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGliLXJlbSgzMnB4KTtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICB9XG5cbiAgICAgIC50YWxrLXJvbGUge1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBmb250LXNpemU6IGliLXJlbSgxOHB4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGliLXJlbSgyOHB4KTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgfVxuXG4gICAgICAudGFsay1zb2NpYWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgQGluY2x1ZGUgaWItdHlwZShcImxhYmVsLW1lZGl1bVwiKTtcbiAgICAgICAgZm9udC1zaXplOiBpYi1yZW0oMTZweCk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICBjb2xvcjogJGliLXJlZC1icmFuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudGFsay1pbWctd3JhcHBlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDU4MHB4O1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgbWF4LWhlaWdodDogNjU1cHg7XG5cbiAgICAudGFsay1zaGFwZSB7XG4gICAgICB3aWR0aDogMzUwcHg7XG4gICAgICBoZWlnaHQ6IDQ4M3B4O1xuICAgICAgYmFja2dyb3VuZDogJGliLWdyYWRpZW50LWJnO1xuICAgICAgdHJhbnNmb3JtOiBza2V3WCgtMThkZWcpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMTc1cHg7XG4gICAgfVxuXG4gICAgLnRhbGstc2hhcGUtMSB7XG4gICAgICB3aWR0aDogMzUwcHg7XG4gICAgICBoZWlnaHQ6IDQ4M3B4O1xuICAgICAgYmFja2dyb3VuZDogJGliLWJnLXByaW1hcnk7XG4gICAgICB0cmFuc2Zvcm06IHNrZXdYKC0xOGRlZyk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiA1MjBweDtcbiAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBib3R0b206IC01cHg7XG4gICAgICAgIGxlZnQ6IC0zNXB4O1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBib3JkZXItbGVmdDogNDBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAzMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItdG9wOiAyMHB4IHNvbGlkICRpYi1iZy1wcmltYXJ5O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNTJkZWcpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC50YWxrLWltYWdlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm90dG9tOiAtNzVweDtcblxuICAgICAgLy8gS2VlcCBhc3BlY3QgcmF0aW86IHRoZSBIVE1MIHdpZHRoL2hlaWdodCBhdHRycyBhcmUgQ0xTIHBsYWNlaG9sZGVyc1xuICAgICAgLy8gb25seSDigJQgbWF4LWhlaWdodCBjb25zdHJhaW5zLCB3aWR0aCBmb2xsb3dzXG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cbiAgfVxuXG4gIC8vIOKUgOKUgCBTY3JlZW4gKOKJpDE0NDBweCkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8oJGliLWJwLXdpZGUpIHtcbiAgICBwYWRkaW5nOiA2MHB4IDA7XG5cbiAgICAudGFsay1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiAxMTEwcHg7XG4gICAgfVxuXG4gICAgLnRhbGstY29udGVudCB7XG4gICAgICB3aWR0aDogNzUwcHg7XG4gICAgICBtaW4taGVpZ2h0OiA1NDBweDtcbiAgICAgIHBhZGRpbmc6IDQ1cHggMzJweCA0MHB4IDQ4cHg7XG5cbiAgICAgIC50YWxrLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiBpYi1yZW0oNDJweCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgICB9XG5cbiAgICAgIC50ZXh0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjhweDtcbiAgICAgIH1cblxuICAgICAgLnRhbGstbWV0YSB7XG4gICAgICAgIG1heC13aWR0aDogNDgwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRhbGstaW1nLXdyYXBwZXIge1xuICAgICAgbGVmdDogNTMwcHg7XG4gICAgICBtYXgtaGVpZ2h0OiA1NTVweDtcblxuICAgICAgLnRhbGstc2hhcGUsXG4gICAgICAudGFsay1zaGFwZS0xIHtcbiAgICAgICAgd2lkdGg6IDMzMHB4O1xuICAgICAgICBoZWlnaHQ6IDM4M3B4O1xuICAgICAgfVxuXG4gICAgICAudGFsay1zaGFwZSB7XG4gICAgICAgIGxlZnQ6IDg0cHg7XG4gICAgICB9XG5cbiAgICAgIC50YWxrLXNoYXBlLTEge1xuICAgICAgICBsZWZ0OiA0MTRweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyDilIDilIAgU2NyZWVuICjiiaQxMjAwcHgpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICBAaW5jbHVkZSByZXNwb25kLXRvKCRpYi1icC1sYXB0b3ApIHtcbiAgICBwYWRkaW5nOiA2MHB4IDA7XG5cbiAgICAudGFsay1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiAxMDI0cHg7XG4gICAgfVxuXG4gICAgLnRhbGstY29udGVudCB7XG4gICAgICB3aWR0aDogNzM1cHg7XG4gICAgICBtaW4taGVpZ2h0OiA0ODBweDtcbiAgICAgIHBhZGRpbmc6IDUwcHggNDBweCAzNXB4O1xuXG4gICAgICAudGl0bGUge1xuICAgICAgICBmb250LXNpemU6IGliLXJlbSgzOHB4KTtcbiAgICAgIH1cblxuICAgICAgLnRleHQge1xuICAgICAgICBmb250LXNpemU6IGliLXJlbSgxNnB4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGliLXJlbSgyOHB4KTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgICAgIC8vIG1heC1oZWlnaHQ6IDExNXB4O1xuICAgICAgICAvLyBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgfVxuXG4gICAgICAvLyAudGFsay1tZXRhIHtcbiAgICAgIC8vICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgLy8gfVxuICAgIH1cblxuICAgIC50YWxrLWltZy13cmFwcGVyIHtcbiAgICAgIHdpZHRoOiAzNDBweDtcbiAgICAgIGxlZnQ6IDU1NXB4O1xuICAgICAgbWF4LWhlaWdodDogNTEycHg7XG5cbiAgICAgIC50YWxrLXNoYXBlLFxuICAgICAgLnRhbGstc2hhcGUtMSB7XG4gICAgICAgIHdpZHRoOiAyNThweDtcbiAgICAgICAgaGVpZ2h0OiAzNDBweDtcbiAgICAgIH1cblxuICAgICAgLnRhbGstc2hhcGUge1xuICAgICAgICBsZWZ0OiAxMDVweDtcbiAgICAgIH1cblxuICAgICAgLnRhbGstc2hhcGUtMSB7XG4gICAgICAgIGxlZnQ6IDM2MHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBcbiAgLy8g4pSA4pSAIE1vYmlsZSArIHRhYmxldCAo4omkMTAyNHB4KSDigJQgaW1hZ2Ugc3RhY2tzIGJlbG93IGNvbnRlbnQg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8oJGliLWJwLXRhYmxldCkge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kOiAkaWItYmctc2Vjb25kYXJ5O1xuXG4gICAgLnRhbGstY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDQ4cHggMjBweDtcbiAgICAgIG1heC13aWR0aDogNzY4cHg7XG4gICAgfVxuXG4gICAgLnRhbGstaW5uZXIge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLnRhbGstY29udGVudCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgY2xpcC1wYXRoOiBub25lO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcblxuICAgICAgLnRhbGstY29udGVudC10b3Age1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAudGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBpYi10eXBlKFwiaGVhZGxpbmUtd2ViLXNtYWxsXCIpO1xuXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG4gICAgICB9XG5cbiAgICAgIC50ZXh0IHtcbiAgICAgICAgQGluY2x1ZGUgaWItdHlwZShcImJvZHktbWVkaXVtXCIpO1xuXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGFsay1pbWctd3JhcHBlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBoZWlnaHQ6IDMyMHB4O1xuICAgICAgd2lkdGg6IDI4NXB4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbjogODBweCBhdXRvIDEwcHg7XG5cbiAgICAgIC50YWxrLXNoYXBlIHtcbiAgICAgICAgd2lkdGg6IDI0M3B4O1xuICAgICAgICBoZWlnaHQ6IDIzMnB4O1xuXG4gICAgICAgIC8qIHJpZ2h0OiAtMTBweDsgKi9cbiAgICAgICAgdG9wOiA3NXB4O1xuICAgICAgICBsZWZ0OiAzOHB4O1xuICAgICAgfVxuXG4gICAgICAudGFsay1zaGFwZS0xIHtcbiAgICAgICAgd2lkdGg6IDI0M3B4O1xuICAgICAgICBoZWlnaHQ6IDIzNHB4O1xuICAgICAgICB0b3A6IDc1cHg7XG4gICAgICAgIGxlZnQ6IDIyNnB4O1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkaWItYmctc2Vjb25kYXJ5O1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC50YWxrLXNoYXBlLTIge1xuICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgIGhlaWdodDogMjM0cHg7XG4gICAgICAgIHRvcDogNzVweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgYmFja2dyb3VuZDogJGliLWJnLXNlY29uZGFyeTtcbiAgICAgICAgdHJhbnNmb3JtOiBza2V3WCgtMThkZWcpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB9XG5cbiAgICAgIC50YWxrLWltYWdlIHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbWF4LWhlaWdodDogMzIwcHg7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC50YWxrLW1ldGEge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWF4LXdpZHRoOiAzNTBweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgZm9udC1mYW1pbHk6ICRpYi1mb250LWhlYWRpbmc7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuXG4gICAgICAudGFsay1uYW1lIHtcbiAgICAgICAgZm9udC1zaXplOiBpYi1yZW0oMjBweCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBpYi1yZW0oMjRweCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgICAgICBjb2xvcjogJGliLXRleHQtcHJpbWFyeTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgICAgfVxuXG4gICAgICAudGFsay1yb2xlIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgZm9udC1zaXplOiBpYi1yZW0oMTRweCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBpYi1yZW0oMjJweCk7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgICAgICBjb2xvcjogJGliLXRleHQtc2Vjb25kYXJ5O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgICB9XG5cbiAgICAgIC50YWxrLXNvY2lhbCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogaWItcmVtKDE0cHgpO1xuICAgICAgICBsaW5lLWhlaWdodDogaWItcmVtKDIycHgpO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgICAgY29sb3I6ICRpYi1yZWQtYnJhbmQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGFsay1jdGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMjc2cHg7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxuICB9XG59IiwiLy8gYXNzZXRzL3Njc3MvcGFnZXMvc2VydmljZW5vdy9fcGFyYWxsYXgtYnJpZGdlLnNjc3Ncbi8vIFBhcmFsbGF4IHNsaWRlIHRyYW5zaXRpb24gd3JhcHBpbmcgc2VjdGlvbnMgMiBhbmQgMy5cbi8vIFRoZSBicmlkZ2UgaXMgMjAwdmggd2l0aCBhIHNpbmdsZSBzY3JvbGwtc25hcCBwb2ludC4gQW4gaW5uZXIgc3RpY2t5XG4vLyBjb250YWluZXIgbG9ja3MgdGhlIHZpZXdwb3J0OyBKUyBkcml2ZXMgdHJhbnNsYXRlWSBvbiBib3RoIGxheWVycy5cblxuQHVzZSBcIi4uL3V0aWxzXCIgYXMgKjtcblxuLnBhcmFsbGF4LWJyaWRnZSB7XG4gIGhlaWdodDogMjAwdmg7XG5cbiAgLy8g4pSA4pSAIFN0aWNreSB2aWV3cG9ydCBsb2NrIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAmX19zdGlja3kge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiAwO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIOKUgOKUgCBTbGlkZSBsYXllcnMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gICZfX2xheWVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgfVxuXG4gICZfX2xheWVyLS1lbnRlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpOyAvLyBzdGFydHMgYmVsb3c7IEpTIGRyaXZlcyBpdCB1cCB0byAwXG4gICAgei1pbmRleDogMTsgICAgICAgICAgICAgICAgICAvLyBzdGFja3Mgb24gdG9wIG9mIGV4aXQgbGF5ZXIgZHVyaW5nIHNsaWRlLWluXG4gIH1cblxuICAvLyDilIDilIAgU2VjdGlvbiBvdmVycmlkZXMgd2hlbiBpbnNpZGUgYSBsYXllciDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgJl9fbGF5ZXIgLnNuLXBhcmFsbGF4LWNhcmRzLXNlY3Rpb24ge1xuICAgIC8vIEV4cGxpY2l0IGZpbGwg4oCUIGluc2V0OjAgaXMgbW9yZSByZWxpYWJsZSB0aGFuIGhlaWdodDoxMDAlIGZvciBzdGlja3kgY2hpbGRyZW5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG5cbiAgICAmX19waW4ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyAvLyBzdGlja3kgZG9lc24ndCBmdW5jdGlvbiBpbnNpZGUgb3ZlcmZsb3c6aGlkZGVuIHBhcmVudFxuICAgICAgdG9wOiBhdXRvO1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIGxldCBwZWVrIGNhcmRzIHNob3c7IGJyaWRnZSBzdGlja3kgY2xpcHMgYXQgMTAwdmggYm91bmRhcnlcbiAgICB9XG5cbiAgICAvLyBEZWNrIG5lZWRzIGF0IGxlYXN0IHNvbWUgaGVpZ2h0IGJlZm9yZSBicmlkZ2UgSlMgc2V0cyBpdHMgbWVhc3VyZWQgdmFsdWVcbiAgICAmX19kZWNrIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDgwcHg7XG4gICAgfVxuICB9XG5cbiAgJl9fbGF5ZXIgLnNuLWxldHMtdGFsay1zZWN0aW9uIHtcbiAgICAvLyBJbiBmbG93IGluc2lkZSB0aGUgbGF5ZXIgcmF0aGVyIHRoYW4gcGlubmVkIHRvIGl0IHdpdGggaW5zZXQ6MCwgc28gdGhlXG4gICAgLy8gc2VjdGlvbiBjYW4gYmUgZXhhY3RseSBvbmUgdmlld3BvcnQgdGFsbCBmb3Igbm9ybWFsIGNvcHkgYW5kIHNpbXBseSBncm93XG4gICAgLy8gd2hlbiB0aGUgY29weSBpcyBsb25nZXIuIFRoZSBsYXllciBpcyBhYnNvbHV0ZSB3aXRoIGluc2V0OjAsIHNvIGl0c1xuICAgIC8vIGhlaWdodCBpcyBkZWZpbml0ZSBhbmQgdGhpcyBwZXJjZW50YWdlIHJlc29sdmVzIGFnYWluc3QgaXQuXG4gICAgLy9cbiAgICAvLyBOb3RoaW5nIGNsaXBzIGhlcmUg4oCUIG92ZXJmbG93IGlzIHRoZSBzdGlja3kncyBqb2IuIFdoZW4gdGhlIHNlY3Rpb24gaXNcbiAgICAvLyB0YWxsZXIgdGhhbiB0aGUgdmlld3BvcnQsIHBhcmFsbGF4LWJyaWRnZS5qcyBidXlzIHRoZSBkaWZmZXJlbmNlIGFzXG4gICAgLy8gZXh0cmEgYnJpZGdlIHNjcm9sbCBhbmQga2VlcHMgdHJhbnNsYXRpbmcgdGhlIGxheWVyIHVwIHRocm91Z2ggaXQsIHNvXG4gICAgLy8gdGhlIG92ZXJmbG93IGlzIHJldmVhbGVkIGJ5IHRoZSBwYWdlIHNjcm9sbCBhdCAxOjEsIGV4YWN0bHkgYXMgaWYgdGhlXG4gICAgLy8gc2VjdGlvbiB3ZXJlIGFuIG9yZGluYXJ5IGJsb2NrIGluIHRoZSBkb2N1bWVudCBmbG93LlxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIC8vIEJyZWF0aGluZyByb29tIHNvIGxvbmcgY29weSBuZXZlciBidXR0cyBhZ2FpbnN0IHRoZSB2aWV3cG9ydCBlZGdlcy5cbiAgICAvLyBTaG9ydCBjb3B5IGlzIHVuYWZmZWN0ZWQg4oCUIGl0IHN0YXlzIG9wdGljYWxseSBjZW50cmVkIGVpdGhlciB3YXkuXG4gICAgcGFkZGluZzogI3tpYi1yZW0oNDBweCl9IDA7XG5cbiAgICAudGFsay1jb250YWluZXIgeyB3aWR0aDogMTAwJTsgfVxuICB9XG5cbiAgLy8g4pSA4pSAIFRhYmxldCAmIGJlbG93ICjiiaQxMDI0cHgpIOKAlCByZXZlcnQgdG8gbm9ybWFsIHN0YWNrZWQgZmxvdyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgLy8gTWF0Y2hlcyBNT0JJTEVfQlAgPSAxMDI0IGluIHBhcmFsbGF4LWJyaWRnZS5qczogdGhlIHNsaWRlLW92ZXIgaXMgYVxuICAvLyBkZXNrdG9wLW9ubHkgcGF0dGVybiDigJQgb24gdGFibGV0IHBvcnRyYWl0IHRoZSAxMDB2aCBsYXllcnMgY2VudGVyIHNob3J0XG4gIC8vIGNvbnRlbnQgaW4gdGFsbCB2aWV3cG9ydHMsIGxlYXZpbmcgbGFyZ2UgZGVhZCB6b25lcy5cbiAgQGluY2x1ZGUgcmVzcG9uZC10bygkaWItYnAtdGFibGV0KSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgJl9fc3RpY2t5IHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAmX19sYXllcixcbiAgICAmX19sYXllci0tZW50ZXIge1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICZfX2xheWVyIC5zbi1wYXJhbGxheC1jYXJkcy1zZWN0aW9uIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICBpbnNldDogYXV0bztcbiAgICB9XG5cbiAgICAmX19sYXllciAuc24tbGV0cy10YWxrLXNlY3Rpb24ge1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIGluc2V0OiBhdXRvO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgLy8gUmUtYXNzZXJ0IHRoZSBzZWN0aW9uJ3Mgb3duIHRhYmxldCBwYWRkaW5nIOKAlCB0aGlzIDItY2xhc3Mgc2VsZWN0b3JcbiAgICAgIC8vIG91dHdlaWdocyB0aGUgMS1jbGFzcyBydWxlIGluIF9sZXRzLXRhbGstc2VjdGlvbi5zY3NzLCBzbyBpdCBtdXN0XG4gICAgICAvLyBjYXJyeSB0aGUgaW50ZW5kZWQgdmFsdWUgaW5zdGVhZCBvZiByZXNldHRpbmcgdG8gMC5cbiAgICAgIHBhZGRpbmc6IDYwcHggMDtcblxuICAgICAgLy8gTm8gdmlld3BvcnQgc2xpZGUgZG93biBoZXJlLCBzbyBubyB2aWV3cG9ydCBmbG9vciBlaXRoZXIuXG4gICAgICBtaW4taGVpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIOKUgOKUgCBNb2JpbGUgKOKJpDEwMjRweCkg4oCUIHRoZSBzZWN0aW9uJ3MgbW9iaWxlIHBhZGRpbmcgKDApIG11c3Qgd2luIG92ZXIgdGhlXG4gIC8vIHRhYmxldCByZXZlcnQncyA2MHB4IGFib3ZlIChzYW1lIHNwZWNpZmljaXR5IOKAlCBsYXRlciBzb3VyY2Ugb3JkZXIgd2lucykuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8oJGliLWJwLXRhYmxldCkge1xuICAgICZfX2xheWVyIC5zbi1sZXRzLXRhbGstc2VjdGlvbiB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiA0OHB4IDA7XG4gICAgfVxuICB9XG59IiwiLy8gYXNzZXRzL3Njc3MvcGFnZXMvc2VydmljZW5vdy9fc2Nyb2xsLXRhYnMtc2VjdGlvbi5zY3NzXG4vLyBTdGlja3ktc2lkZWJhciB0YWJzIHN5bmNlZCB0byBzY3JvbGwgcG9zaXRpb24uXG4vLyBTaWRlYmFyOiBhIHN0YXRpYyBmdWxsLWhlaWdodCBjb2x1bW4gd2hvc2UgdHdvIGNoaWxkcmVuIGFyZSBuYXRpdmVseSBzdGlja3kg4oCUXG4vLyAgIG5hdiB0byB0aGUgdG9wLCBLVzI2IGJhZGdlIHRvIHRoZSBib3R0b20uIE5vIEpTIHRvdWNoZXMgdGhlaXIgcG9zaXRpb24gKGFcbi8vICAgc2Nyb2xsLWxpbmtlZCB0cmFuc2Zvcm0gYWx3YXlzIGxhZ3MgdGhlIGNvbXBvc2l0b3IgYW5kIHJlYWRzIGFzIGp1ZGRlcik7XG4vLyAgIF9fbmF2LWJvdW5kcyBpcyB3aGF0IGtlZXBzIHRoZW0gYXBhcnQuIEFjdGl2ZSB0YWIgc2V0IGJ5IHJBRiByZWN0LW1hdGgsXG4vLyAgIG5vdCBJbnRlcnNlY3Rpb25PYnNlcnZlci5cbi8vIFBhbmVsczogbmF0dXJhbCBzY3JvbGwg4oCUIG5ldmVyIGxvY2tlZCwgYWx3YXlzIGNvbnRlbnQtc2l6ZWQuXG4vL1xuLy8gRmx1aWQgc2NhbGluZyBzdHJhdGVneSAoYWJvdmUgMTAyNHB4KTpcbi8vICAgSG9yaXpvbnRhbCDigJQgY2xhbXAobWluLCBYLzE3LjI4ICsgdncsIFgpIHJlbGF0aXZlIHRvIDE3MjhweCBkZXNpZ24gYmFzZVxuLy8gICBWZXJ0aWNhbCAgIOKAlCBjbGFtcChtaW4sIFh2aCwgWCkgZm9yIHNlY3Rpb24gaGVpZ2h0cyBhbmQgc2xpZGVyIGNvbnN0cmFpbnRzXG4vLyAgICAgICAgICAgICAgICBzbyBjb250ZW50IG5ldmVyIHNwaWxscyBpbnRvIHRoZSBuZXh0IHZpZXdwb3J0IG9uIHNob3J0IHNjcmVlbnNcblxuQHVzZSBcIi4uL3V0aWxzXCIgYXMgKjtcblxuLy8gS1cyNiBiYWRnZSBjaGFtZmVyIOKAlCBvbmUgc291cmNlIGZvciBib3RoIHRoZSBidXR0b24ncyBjbGlwLXBhdGggYW5kIHRoZSBnbG93XG4vLyBlbGxpcHNlJ3Mgb2Zmc2V0LXBhdGguIFRoZXkgbXVzdCBkZXNjcmliZSB0aGUgaWRlbnRpY2FsIHBvbHlnb24gb3IgdGhlIHRyYWNlclxuLy8gZHJpZnRzIG9mZiB0aGUgY3V0IGVkZ2UsIHdoaWNoIHJhdyBweCBvbiBvbmUgc2lkZSBhbmQgcmVtIG9uIHRoZSBvdGhlciB3b3VsZFxuLy8gZ3VhcmFudGVlIHVuZGVyIHRoZSBmbHVpZCByb290IChfYmFzZS5zY3NzIGNsYW1wcyBodG1sIHRvIDE04oCTMTZweCkuXG4kX2JhZGdlLWN1dC14OiBpYi1yZW0oMTBweCk7XG4kX2JhZGdlLWN1dC15OiBpYi1yZW0oMTBweCk7XG5cbi8vIOKUgOKUgOKUgCBTZWN0aW9uIHNoZWxsIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLnNuLXNjcm9sbC10YWJzLXNlY3Rpb24ge1xuICAvLyBTaW5nbGUgc291cmNlIG9mIHRydXRoIGZvciBoZWFkZXIgY2xlYXJhbmNlICg5MnB4IGF0IDE3MjhweClcbiAgLS1zbi1oZHI6IGNsYW1wKDcycHgsIDUuMzJ2dywgOTJweCk7IC8vIDkyLzE3MjgqMTAwID0gNS4zMnZ3XG5cbiAgYmFja2dyb3VuZDogJGliLWJnLXByaW1hcnk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcblxuICAvLyDilIDilIAgU2lkZWJhciDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgLy8gVGhlIHNpZGViYXIgaXMgYSBwbGFpbiBzdGF0aWMgY29sdW1uIHRoYXQgc3RyZXRjaGVzIHRvIHRoZSBzZWN0aW9uLiBJdCBpc1xuICAvLyBOT1QgaXRzZWxmIHN0aWNreSBhbmQgaGFzIE5PIGhlaWdodCBvZiBpdHMgb3duIOKAlCB0aGUgdHdvIHRoaW5ncyB0aGF0IG5lZWRcbiAgLy8gdG8gaG9sZCBwb3NpdGlvbiBkbyBpdCB0aGVtc2VsdmVzLCBuYXRpdmVseTpcbiAgLy8gICDigKIgX19uYXYgIOKGkiBzdGlja3kgdG8gdGhlIHRvcCwgdW5kZXIgdGhlIGhlYWRlclxuICAvLyAgIOKAoiBiYWRnZSAg4oaSIHN0aWNreSB0byB0aGUgYm90dG9tIG9mIHRoZSB2aWV3cG9ydCAoZGVzaWduOiBib3R0b20tYWxpZ25lZClcbiAgLy9cbiAgLy8gTmF0aXZlIHN0aWNreSBpcyB0aGUgd2hvbGUgcG9pbnQuIEEgc3RpY2t5IGJveCBzaXplZCB0byB0aGUgdmlld3BvcnQgcnVuc1xuICAvLyBvdXQgb2YgdHJhY2sgdGhlIG1vbWVudCB0aGUgc2VjdGlvbiBkb2VzIOKAlCB3aXRoIGEgc2hvcnQgbGFzdCBwYW5lbCBpdCBnZXRzXG4gIC8vIGRyYWdnZWQgdXAgYW5kIHRha2VzIHRoZSBuYXYgb2ZmIHNjcmVlbiDigJQgYW5kIGV2ZXJ5IEpTIHJlbWVkeSBmb3IgdGhhdFxuICAvLyAocmV3cml0aW5nIHRoZSBib3gncyBoZWlnaHQsIGNvdW50ZXItdHJhbnNsYXRpbmcgdGhlIG5hdikgaXMgYSBzY3JvbGwtXG4gIC8vIGxpbmtlZCBtYWluLXRocmVhZCB3cml0ZSB0aGF0IGxhZ3MgdGhlIGNvbXBvc2l0b3IgYnkgYSBmcmFtZSBhbmQgcmVhZHMgYXNcbiAgLy8ganVkZGVyLiBUd28gbmF0aXZlbHkgc3RpY2t5IGNoaWxkcmVuIGhhdmUgbm8gc3VjaCBsYWc6IHRoZSBicm93c2VyIGhvbGRzXG4gIC8vIHRoZW0gZm9yIHRoZSBzZWN0aW9uJ3MgZW50aXJlIHNjcm9sbCBhbmQgcmVsZWFzZXMgdGhlbSBhdCBpdHMgZWRnZS5cbiAgLy9cbiAgLy8gT3ZlcmxhcCBpcyBwcmV2ZW50ZWQgc3RydWN0dXJhbGx5LCBub3QgYXJpdGhtZXRpY2FsbHkg4oCUIHNlZSBfX25hdi1ib3VuZHMuXG4gICZfX3NpZGViYXIge1xuICAgIHdpZHRoOiBjbGFtcCgyMzBweCwgMjEuNDF2dywgMzcwcHgpOyAvLyAzNzAvMTcyOCoxMDBcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcGFkZGluZzogY2xhbXAoMjBweCwgMi4zMXZ3LCA1NXB4KSAvLyB0b3AgICA0MC8xNzI4XG4gICAgICAwIC8vIHJpZ2h0XG4gICAgICBjbGFtcCgzMHB4LCAzLjQ3dncsIDYwcHgpIC8vIGJvdHRvbSA2MC8xNzI4XG4gICAgICBjbGFtcCgyOHB4LCAzLjQ3dncsIDYwcHgpOyAvLyBsZWZ0ICAgNjAvMTcyOFxuXG4gICAgYmFja2dyb3VuZDogJGliLWJnLXByaW1hcnk7XG4gIH1cblxuICAvLyBTdGlja3kgYm91bmRzIGZvciB0aGUgbmF2LiBBIHN0aWNreSBlbGVtZW50IGNhbiBuZXZlciB0cmF2ZWwgb3V0c2lkZSBpdHNcbiAgLy8gY29udGFpbmluZyBibG9jaywgc28gdGhpcyBib3ggSVMgdGhlIGd1YXJhbnRlZSB0aGF0IHRoZSBuYXYgYW5kIHRoZSBiYWRnZVxuICAvLyBrZWVwIHRoZWlyIGRpc3RhbmNlOiBpdCBmaWxscyB0aGUgY29sdW1uIGRvd24gdG8gYHBhZGRpbmctYm90dG9tYCBzaG9ydCBvZlxuICAvLyB0aGUgYmFkZ2UsIGFuZCB0aGUgbmF2IHNpbXBseSBjYW5ub3QgYmUgcHVzaGVkIHBhc3QgdGhhdC4gTm8gbWVhc3VyaW5nLCBub1xuICAvLyBjbGFtcCBhcml0aG1ldGljLCBub3RoaW5nIHRvIGtlZXAgaW4gc3luYyB3aGVuIHRoZSB0YWIgY291bnQgY2hhbmdlcy5cbiAgJl9fbmF2LWJvdW5kcyB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgbWluLWhlaWdodDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2xhbXAoMzJweCwgMi43OHZ3LCA0OHB4KTsgLy8gdGhlIHJlc2VydmVkIG5hdiDihpQgYmFkZ2UgZ2FwXG4gIH1cblxuICAmX19zaWRlYmFyLWhlYWRpbmcge1xuICAgIGZvbnQtZmFtaWx5OiAkaWItZm9udC1hY2NlbnQ7XG4gICAgZm9udC1zaXplOiAxMnB4OyAvLyAxMnB4IGZsb29yIOKAlCBzdHJpY3QgbWluaW11bSBmb250IHNpemUgc2l0ZS13aWRlXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMi41cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogcmdiYSgkaWItZ3JheS1jaGFyY29hbCwgLjM1KTtcbiAgICBtYXJnaW4tYm90dG9tOiBjbGFtcCgxNnB4LCAxLjM5dncsIDI0cHgpOyAvLyAyNC8xNzI4XG4gIH1cblxuICAmX19uYXYge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiB2YXIoLS1zbi1oZHIpOyAvLyBob2xkcyB1bmRlciB0aGUgaGVhZGVyIGZvciB0aGUgc2VjdGlvbidzIHdob2xlIHNjcm9sbFxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDJweDtcbiAgfVxuXG4gICZfX3RhYiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBnYXA6IGNsYW1wKDE0cHgsIDEuMzl2dywgMjRweCk7IC8vIDI0LzE3MjhcbiAgICBwYWRkaW5nOiBjbGFtcCgxMHB4LCAuODF2dywgMTRweCkgXG4gICAgICBjbGFtcCgxMnB4LCAxLjE2dncsIDIwcHgpIFxuICAgICAgY2xhbXAoMTBweCwgLjgxdncsIDE0cHgpIFxuICAgICAgMDsgLy8gbGVmdCAob3ZlcnJpZGRlbiBiZWxvdylcblxuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHRyYW5zaXRpb246XG4gICAgICBib3JkZXItY29sb3IgLjNzIGVhc2UsXG4gICAgICBwYWRkaW5nLWxlZnQgLjNzIGN1YmljLWJlemllciguMjUsIC40NiwgLjQ1LCAuOTQpO1xuXG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IDJweCBzb2xpZCAkaWItcmVkLWJyYW5kO1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDNweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICB9XG4gIH1cblxuICAmX190YWItbnVtIHtcbiAgICBmb250LWZhbWlseTogJGliLWZvbnQtYWNjZW50O1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoXG4gICAgICAxMnB4LFxuICAgICAgLjkzdncsXG4gICAgICAxcmVtXG4gICAgKTsgLy8gMTYvMTcyOCDigJQgcHggZmxvb3Iga2VlcHMgMTJweCBtaW4gdW5kZXIgdGhlIGZsdWlkIHJvb3RcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGNvbG9yOiAkaWItZ3JheS1saWdodDtcbiAgICBsZXR0ZXItc3BhY2luZzogLjhweDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBwYWRkaW5nLXRvcDogMnB4O1xuICAgIHRyYW5zaXRpb246IGNvbG9yIC4zcyBlYXNlO1xuXG4gICAgLnNuLXNjcm9sbC10YWJzLXNlY3Rpb25fX3RhYjpub3QoLnNuLXNjcm9sbC10YWJzLXNlY3Rpb25fX3RhYi0tYWN0aXZlKTpob3ZlclxuICAgICYge1xuICAgICAgY29sb3I6ICRpYi1yZWQtYnJhbmQ7XG4gICAgfVxuXG4gICAgLnNuLXNjcm9sbC10YWJzLXNlY3Rpb25fX3RhYi0tYWN0aXZlICYge1xuICAgICAgY29sb3I6ICRpYi1yZWQtYnJhbmQ7XG4gICAgfVxuICB9XG5cbiAgJl9fdGFiLWxhYmVsIHtcbiAgICBmb250LWZhbWlseTogJGliLWZvbnQtYm9keTtcbiAgICBmb250LXNpemU6IGNsYW1wKFxuICAgICAgMTRweCxcbiAgICAgIDEuMTZ2dyxcbiAgICAgIDEuMjVyZW1cbiAgICApOyAvLyAyMC8xNzI4IOKAlCBweCBmbG9vciBrZWVwcyAxMnB4KyBtaW4gdW5kZXIgdGhlIGZsdWlkIHJvb3RcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGNvbG9yOiAkaWItZ3JheS1saWdodDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIHRyYW5zaXRpb246IGZvbnQtd2VpZ2h0IC4ycyBlYXNlO1xuICAgIG9wYWNpdHk6IDA7XG5cbiAgICAuc24tc2Nyb2xsLXRhYnMtc2VjdGlvbl9fdGFiOm5vdCguc24tc2Nyb2xsLXRhYnMtc2VjdGlvbl9fdGFiLS1hY3RpdmUpOmhvdmVyXG4gICAgJiB7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgLnNuLXNjcm9sbC10YWJzLXNlY3Rpb25fX3RhYi0tYWN0aXZlICYge1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxuXG4gIC8vIOKUgOKUgCBQYW5lbCBjb2x1bW4g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gICZfX3BhbmVscyB7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cblxuICAmX19wYW5lbCB7XG4gICAgcGFkZGluZzogY2xhbXAoMjBweCwgMi4wOHZ3LCAzNnB4KVxuICAgICAgLy8gdG9wL2JvdHRvbSAzNi8xNzI4IOKAlCB0aWdodGVyIHRvIHJlZHVjZSBkZWFkIHNwYWNlXG4gICAgICBjbGFtcCgzMnB4LCA0LjYzdncsIDgwcHgpIC8vIHJpZ2h0ICAgICAgODAvMTcyOFxuICAgICAgY2xhbXAoMjBweCwgMi4wOHZ3LCAzNnB4KSAvLyBib3R0b21cbiAgICAgIGNsYW1wKDI0cHgsIDMuMDF2dywgNTJweCk7IC8vIGxlZnQgICAgICAgNTIvMTcyOFxuXG4gICAgbWluLWhlaWdodDogYXV0bzsgLy8gcmV0YWluZWQg4oCUIHNjcm9sbC10cmlnZ2VyIHpvbmVzIG5lZWQgZnVsbC12aCBwYW5lbHNcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAvLyBEZWNrIHBhbmVsICh0YWIgMik6IHRhbGwgc2Nyb2xsIHRyYWNrIOKAlCB0aGUgc2xpZGVyIGluc2lkZSBpcyBzdGlja3kgYW5kXG4gIC8vIHNjcm9sbCBwcm9ncmVzcyB0aHJvdWdoIHRoaXMgdHJhY2sgZHJpdmVzIHRoZSBjYXJkLWRlY2sgdHJhbnNpdGlvbi5cbiAgLy8gLS1zbi1kZWNrLWNvdW50IGlzIHNldCBieSBKUyBmcm9tIHRoZSBzbGlkZSBjb3VudCAoZmFsbGJhY2sgMikuXG4gIC8vXG4gIC8vIEJhbmQgc2l6ZSBpcyBkZWxpYmVyYXRlbHkgTk9UIHRoZSBzZW5zaXRpdml0eSBrbm9iLiBBYm92ZSAxMDI0cHggdGhlIHdoZWVsXG4gIC8vIGlzIGdhdGVkIHBlciBnZXN0dXJlIGluIHNjcm9sbC10YWJzLXNlY3Rpb24uanMgKHNlZSBcIldIRUVMIFNURVBQSU5HXCIpLCBzb1xuICAvLyBvbmUgZ2VzdHVyZSBpcyBvbmUgc2xpZGUgbm8gbWF0dGVyIGhvdyBmYXIgaXQgd291bGQgaGF2ZSBzY3JvbGxlZCDigJQgdHVuaW5nXG4gIC8vIHRoaXMgbnVtYmVyIGluc3RlYWQgb25seSBldmVyIHRyYWRlcyBkZWFkIHNsb3ctc2Nyb2xsIGFnYWluc3QgZmFzdC1zY3JvbGxcbiAgLy8gc2tpcHBpbmcuIDEwMHZoIHN0YXlzIGJlY2F1c2UgaXQgaXMgd2hhdCB0aGUgc2Nyb2xsYmFyL2tleWJvYXJkIHBhdGggd2FudHM6XG4gIC8vIGEgZnVsbCB2aWV3cG9ydCBvZiBkcmFnIHBlciBjYXJkLiBUaGUgc3RlcHBlciBqdW1wcyBiZXR3ZWVuIGJhbmQgbWlkcG9pbnRzXG4gIC8vIGluc3RhbnRseSwgd2hpY2ggaXMgaW52aXNpYmxlIHdoaWxlIHRoZSBzdGFnZSBpcyBwaW5uZWQuXG4gICZfX3BhbmVsLS1kZWNrIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBtaW4taGVpZ2h0OiBjYWxjKHZhcigtLXNuLWRlY2stY291bnQsIDIpICogMTAwdmgpO1xuICB9XG5cbiAgLy8gU2luZ2xlLXN0b3J5IGRlY2sgKG9uZSBjYXJkIOKGkiBub3RoaW5nIHRvIHNjcnViIG9yIHN0ZXAgdGhyb3VnaCk6IGRyb3AgdGhlXG4gIC8vIHRhbGwgdHJhY2sgYW5kIGdpdmUgdGhlIHBhbmVsIG9yZGluYXJ5IGNlbnRyZWQgc2l6aW5nLiBUd28gdHJpZ2dlcnMsXG4gIC8vIGlkZW50aWNhbCBydWxlczpcbiAgLy8gICDigKIgOmhhcygpIG9uIGEgbG9uZSBzbGlkZSDigJQgcHVyZSBDU1MsIGNvcnJlY3Qgb24gZmlyc3QgcGFpbnQgd2l0aCBOT1xuICAvLyAgICAgZGVwZW5kZW5jZSBvbiBzY3JvbGwtdGFicy1zZWN0aW9uLmpzIGJvb3RpbmcgKHN0YWdpbmcgY2FuIGRlbGF5IHBhZ2VcbiAgLy8gICAgIEpTIHVudGlsIGZpcnN0IGludGVyYWN0aW9uLCB3aGljaCB3b3VsZCBvdGhlcndpc2UgbGVhdmUgYSB+MjAwdmhcbiAgLy8gICAgIHBpbm5lZCBkZWFkLXpvbmUpLiA6aGFzKCkgaXMgYWxyZWFkeSByZWxpZWQgb24gZm9yIHRoaXMgcGFnZVxuICAvLyAgICAgKGBodG1sOmhhcyhib2R5LnBhZ2Utc2VydmljZW5vdylgIGluIHNlcnZpY2Vub3cuc2Nzcykg4oCUIG5vIG5ld1xuICAvLyAgICAgc3VwcG9ydCBzdXJmYWNlLiBJdHMgc3BlY2lmaWNpdHkgKDAsNCwwKSBjbGVhcnMgLS1kZWNrJ3Mgb3duXG4gIC8vICAgICBtaW4taGVpZ2h0IHJlLWRlY2xhcmF0aW9ucyBpbiB0aGUgcmVzcG9uc2l2ZSBibG9ja3MgcmVnYXJkbGVzcyBvZlxuICAvLyAgICAgc291cmNlIG9yZGVyLlxuICAvLyAgIOKAoiAtLWRlY2stZmxhdCDigJQgdGhlIHNjcmlwdCBzd2FwcyBpdCBpbiAoYW5kIGFkZHMgLnNuLWNvbnRlbnQtc2xpZGVyXG4gIC8vICAgICAtLWZsYXQgb24gdGhlIHNsaWRlcikgYXMgdGhlIGZhbGxiYWNrIGZvciBlbmdpbmVzIHdpdGhvdXQgOmhhcygpLlxuICAvLyBzY3JvbGwtbWFyZ2luLXRvcDogdGhlIHRhYi1jbGljayBoYW5kbGVyIGRvZXMgcGFuZWwuc2Nyb2xsSW50b1ZpZXcoKTsgYVxuICAvLyBmbGF0IHBhbmVsIGhhcyBubyBzdGlja3kgc3RhZ2UgaG9sZGluZyBpdHMgY29udGVudCBiZWxvdyB0aGUgZml4ZWQgaGVhZGVyXG4gIC8vIHRoZSB3YXkgdGhlIHRhbGwgZGVjayBkaWQsIHNvIHdpdGhvdXQgdGhpcyB0aGUgXCJTdG9yaWVzIFdpdGggU3Vic3RhbmNlXCJcbiAgLy8gZXllYnJvdyBsYW5kcyBiZWhpbmQgdGhlIGhlYWRlci5cbiAgJl9fcGFuZWwtLWRlY2stZmxhdCxcbiAgJl9fcGFuZWwtLWRlY2s6aGFzKC5zbi1jb250ZW50LXNsaWRlcl9fc2xpZGVzID4gLnNuLWNvbnRlbnQtc2xpZGVyX19zbGlkZTpvbmx5LWNoaWxkKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgIHNjcm9sbC1tYXJnaW4tdG9wOiBjYWxjKHZhcigtLXNuLWhkcikgKyAxcmVtKTtcbiAgICBwYWRkaW5nLXRvcDogY2xhbXAoMjBweCwgMi4wOHZ3LCAzNnB4KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2xhbXAoMjBweCwgMi4wOHZ3LCAzNnB4KTtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oJGliLWJwLXRhYmxldCkge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cblxuICAvLyBBY2NvcmRpb24gcGFuZWwgKHRhYiAxKTogdG9wLWFuY2hvcmVkIHRvIG1hdGNoIHRoZSBzaWRlYmFyIG5hdiwgd2hvc2VcbiAgLy8gYWN0aXZlIFswMV0gdGFiIHNpdHMgYXQgdGhlIHRvcC4gQSBjZW50ZXJlZCBwYW5lbCB3b3VsZCB2aXN1YWxseVxuICAvLyBkaXNjb25uZWN0IHRoZSBhY2NvcmRpb24gaGVhZGluZyBmcm9tIHRoZSB0YWIgdGhhdCBwb2ludHMgYXQgaXQuXG4gICZfX3BhbmVsLS1hY2NvcmRpb24ge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgfVxuXG4gIC8vIOKUgOKUgCBTY3JlZW4gKOKJpDE0MDBweCkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8oJGliLWJwLWRlc2t0b3ApIHtcbiAgICAmX19zaWRlYmFyIHtcbiAgICAgIHdpZHRoOiBjbGFtcCgyMDBweCwgMTguNTJ2dywgMzIwcHgpOyAvLyAzMjAvMTcyOFxuICAgICAgcGFkZGluZzogY2xhbXAoMjBweCwgMi4zMXZ3LCA0MHB4KSBjbGFtcCg2cHgsIC41OHZ3LCAxMHB4KVxuICAgICAgICBjbGFtcCgzMHB4LCAzLjQ3dncsIDYwcHgpIGNsYW1wKDIwcHgsIDIuMzF2dywgNDBweCk7XG4gICAgfVxuXG4gICAgJl9fcGFuZWwge1xuICAgICAgcGFkZGluZzogY2xhbXAoMjBweCwgMi4wOHZ3LCAzNnB4KSBjbGFtcCgyMHB4LCAyLjMxdncsIDQwcHgpXG4gICAgICAgIGNsYW1wKDIwcHgsIDIuMDh2dywgMzZweCkgY2xhbXAoMTBweCwgMS4xNnZ3LCAyMHB4KTtcbiAgICB9XG4gIH1cblxuICAvLyDilIDilIAgU2NyZWVuICjiiaQxMDI0cHgpIOKAlCB0YWJsZXQgam9pbnMgbW9iaWxlOiBuYXYgcmFpbCBoaWRkZW4sIHBhbmVscyBzdGFjayDilIDilIBcbiAgLy8gU3RpY2t5LXNpZGViYXIgdGFiIHJhaWxzIGFyZSBhIGRlc2t0b3Atb25seSBwYXR0ZXJuIChub3QgZW5vdWdoIHdpZHRoIG9uXG4gIC8vIHRhYmxldCBwb3J0cmFpdCwgYW5kIDEwMHZoIHBhbmVscyBsZWF2ZSBodWdlIGRlYWQgem9uZXMgdGhlcmUpIOKAlCBiZWxvd1xuICAvLyAxMDI0cHggdGhlIHNpZGViYXIgKGluY2wuIHRoZSBLVzI2IGJhZGdlIGluc2lkZSBpdCkgaXMgZ29uZSBhbmQgZWFjaFxuICAvLyBwYW5lbCBzaXplcyB0byBpdHMgY29udGVudC4gUGFuZWxzIGtlZXAgdGFibGV0IHBhZGRpbmcgaGVyZTsgdGhlIOKJpDEwMjRweFxuICAvLyBibG9jayBiZWxvdyBzdHJpcHMgaXQgYmVjYXVzZSB0aGUgbW9iaWxlIGlubmVyIGNvbXBvbmVudHMgb3duIHRoZWlyIG93bi5cbiAgQGluY2x1ZGUgcmVzcG9uZC10bygkaWItYnAtdGFibGV0KSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAmX19zaWRlYmFyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJl9fcGFuZWxzIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICZfX3BhbmVsIHtcbiAgICAgIHBhZGRpbmc6IGNsYW1wKDE2cHgsIDMuMTJ2dywgMzJweCkgY2xhbXAoMTBweCwgMS45NXZ3LCAyMHB4KTtcbiAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLy8gRGVjayBwYW5lbDogcmVzdG9yZSB3aGF0IHRoZSBnZW5lcmljICZfX3BhbmVsIHJ1bGUgYWJvdmUganVzdCBvdmVycm9kZVxuICAgIC8vIChzYW1lIHNwZWNpZmljaXR5IOKAlCBzb3VyY2Ugb3JkZXIgZGVjaWRlcyk6IG5vIHZlcnRpY2FsIHBhZGRpbmcgYXJvdW5kXG4gICAgLy8gdGhlIHN0aWNreSBzdGFnZSwgYW5kIHRoZSB0YWxsIHNjcm9sbC10cmFjayB0aGF0IGRyaXZlcyB0aGUgY2FyZCBzY3J1Yi5cbiAgICAmX19wYW5lbC0tZGVjayB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgbWluLWhlaWdodDogY2FsYyh2YXIoLS1zbi1kZWNrLWNvdW50LCAyKSAqIDEwMHZoKTtcbiAgICB9XG4gIH1cblxuICAvLyDilIDilIAgU2NyZWVuICjiiaQxMDI0cHgpIOKAlCBtb2JpbGUgaW5uZXIgY29tcG9uZW50cyB0YWtlIG92ZXIg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8oJGliLWJwLXRhYmxldCkge1xuICAgICZfX3BhbmVsIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC8vIERlY2sgcGFuZWwga2VlcHMgaXRzIHRhbGwgc2Nyb2xsLXRyYWNrIGV2ZW4gb24gbW9iaWxlIOKAlCB0aGUgY2FyZC1kZWNrXG4gICAgLy8gc2NydWIgaXMgc2Nyb2xsLWRyaXZlbiBhdCBldmVyeSBicmVha3BvaW50LCBvbmx5IHRoZSBDU1MgcHJlc2VudGF0aW9uXG4gICAgLy8gKHZlcnRpY2FsIHN0YWNrIHZzIGhvcml6b250YWwgcGVlaykgZGlmZmVycy4gTXVzdCB3aW4gb3ZlciB0aGUgZ2VuZXJpY1xuICAgIC8vICZfX3BhbmVsIHJlc2V0IGFib3ZlIChzYW1lIHNwZWNpZmljaXR5IOKAlCBzb3VyY2Ugb3JkZXIgZGVjaWRlcykuXG4gICAgJl9fcGFuZWwtLWRlY2sge1xuICAgICAgbWluLWhlaWdodDogY2FsYyh2YXIoLS1zbi1kZWNrLWNvdW50LCAyKSAqIDEwMHZoKTtcbiAgICB9XG4gIH1cblxuICAvLyDilIDilIAgS1cyNiBldmVudCBiYWRnZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgLy8gS2V5ZnJhbWUgcGVyY2VudGFnZXMgYXJlIHByb3BvcnRpb25hbCB0byBwZXJpbWV0ZXIgc2VnbWVudHMgc28gc3BlZWQgaXNcbiAgLy8gdW5pZm9ybTogYnV0dG9uIOKJiCAxODRweCB3aWRlIMOXIDQycHggdGFsbCDihpIgcGVyaW1ldGVyIOKJiCA0NTJweC5cbiAgQGtleWZyYW1lcyBzbi1rdzI2LWJvcmRlci10cmFjZSB7XG4gICAgMCUge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTkycHgsIC0yMXB4KTtcbiAgICB9XG5cbiAgICA0MCUge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoOTJweCwgLTIxcHgpO1xuICAgIH1cblxuICAgIDUwJSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg5MnB4LCAyMXB4KTtcbiAgICB9XG5cbiAgICA5MCUge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTkycHgsIDIxcHgpO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTkycHgsIC0yMXB4KTtcbiAgICB9XG4gIH1cblxuICAvKiBEcml2ZXMgdGhlIGFuaW1hdGlvbiBhcm91bmQgdGhlIG9mZnNldC1wYXRoICovXG4gIEBrZXlmcmFtZXMgdHJhY2UtZWRnZXMge1xuICAgIDAlIHtcbiAgICAgIG9mZnNldC1kaXN0YW5jZTogMCU7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICBvZmZzZXQtZGlzdGFuY2U6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgJl9fc2lkZWJhciAuc24ta3cyNi1iYWRnZSB7XG4gICAgLy8gX19uYXYtYm91bmRzJyBgZmxleDogMWAgYWxyZWFkeSBwYXJrcyB0aGlzIGF0IHRoZSBjb2x1bW4ncyBib3R0b207IHRoZVxuICAgIC8vIHN0aWNreSBgYm90dG9tYCB0aGVuIGhvbGRzIGl0IGFnYWluc3QgdGhlIHZpZXdwb3J0J3MgYm90dG9tIGVkZ2UgZm9yIHRoZVxuICAgIC8vIHNlY3Rpb24ncyB3aG9sZSBzY3JvbGwgKGRlc2lnbjogYm90dG9tLWFsaWduZWQpIGFuZCBsZXRzIGl0IHJpZGUgdGhlXG4gICAgLy8gc2VjdGlvbidzIGNsb3NpbmcgZWRnZSBkb3duIGF0IHRoZSBlbmQuIE5hdGl2ZSDigJQgbm8gSlMsIHNvIG5vIGp1ZGRlci5cbiAgICAvLyBgc3RpY2t5YCBpcyBhbHNvIHRoZSBwb3NpdGlvbmVkIGFuY2VzdG9yICZfX2VsbGlwc2Ugb3JiaXRzIGluc2lkZS5cbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIGJvdHRvbTogY2xhbXAoMzBweCwgMy40N3Z3LCA2MHB4KTsgLy8gbWlycm9ycyB0aGUgc2lkZWJhcidzIG93biBib3R0b20gcGFkZGluZ1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IC8vIGtlZXAgaXQgbGVmdC1hbGlnbmVkIGluIHRoZSBjb2x1bW4sIG5vdCBzdHJldGNoZWRcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB3aWR0aDogY2xhbXAoMTcwcHgsIDEyLjE1dncsIDIxMHB4KTtcbiAgfVxuXG4gIC8vIEJvdGggY2hpbGRyZW4gYXJlIHN0dWNrIHNpbXVsdGFuZW91c2x5IOKAlCBvbmUgdG8gdGhlIHRvcCwgb25lIHRvIHRoZSBib3R0b21cbiAgLy8g4oCUIHNvIG9uIGEgdmlld3BvcnQgdG9vIHNob3J0IHRvIHNlYXQgaGVhZGVyICsgbmF2ICsgZ2FwICsgYmFkZ2UgdGhleSB3b3VsZFxuICAvLyBtZWV0IGluIHRoZSBtaWRkbGUuIH41MjBweCB0YWxsIGF0IGRlc2t0b3Agd2lkdGhzIGlzIHRoZSBmbG9vciB3aGVyZSB0aGF0XG4gIC8vIHN0YXJ0czsgYmVsb3cgaXQgdGhlIGJhZGdlIGdpdmVzIHVwIGl0cyBzdGlja3kgYW5kIHNpbXBseSB3YWl0cyBhdCB0aGUgZW5kXG4gIC8vIG9mIHRoZSBjb2x1bW4uIFJhcmUgZW5vdWdoIHRvIGRlZ3JhZGUgcmF0aGVyIHRoYW4gcmVkZXNpZ24gZm9yLlxuICBAbWVkaWEgKG1heC1oZWlnaHQ6IDUyMHB4KSB7XG4gICAgJl9fc2lkZWJhciAuc24ta3cyNi1iYWRnZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIHN0aWxsIHRoZSAmX19lbGxpcHNlIGFuY2hvciwganVzdCBub3QgcGlubmVkXG4gICAgfVxuICB9XG5cbn1cblxuLy8g4pSA4pSAIEtXMjYgZXZlbnQgYmFkZ2Ug4oCUIHNoYXJlZCB2aXN1YWwgKGVsbGlwc2UgKyBidXR0b24gKyB0ZXh0KSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIFRvcC1sZXZlbCAobm90IG5lc3RlZCB1bmRlciAuc24tc2Nyb2xsLXRhYnMtc2VjdGlvbikgc28gdGhlIHNhbWUgbWFya3VwIGNhblxuLy8gYmUgcmV1c2VkIHdoZXJldmVyIHRoZSBiYWRnZSBhcHBlYXJzIOKAlCBkZXNrdG9wIHN0aWNreSBzaWRlYmFyXG4vLyAoJl9fc2lkZWJhciAuc24ta3cyNi1iYWRnZSBhYm92ZSkgYW5kIHRoZSBtb2JpbGUvdGFibGV0IGlubGluZSBjb3B5IGluXG4vLyBfcGFyYWxsYXgtY2FyZHMtc2VjdGlvbi5zY3NzICguc24ta3cyNi1iYWRnZS0taW5saW5lKS5cbi5zbi1rdzI2LWJhZGdlIHtcbiAgJl9fZWxsaXBzZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiA1NS40cHg7XG4gICAgaGVpZ2h0OiAzMC45cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6IGNvbmljLWdyYWRpZW50KFxuICAgICAgZnJvbSAxODBkZWcgYXQgNTAlIDUwJSxcbiAgICAgICNmZjViNWIgMGRlZyxcbiAgICAgICM4Y2ZjNGYgMTAzLjg1ZGVnLFxuICAgICAgIzY0YTVmZiAyMzUuMzhkZWcsXG4gICAgICAjZmY0M2Q5IDM0OS42MmRlZ1xuICAgICk7XG4gICAgZmlsdGVyOiBibHVyKDEwLjlweCk7XG4gICAgei1pbmRleDogMDtcblxuICAgIC8vIFNhbWUgcG9seWdvbiBhcyBpYi1ub3RjaCgpIGVtaXRzIGZvciBfX2J0biBiZWxvdyDigJQgc3BlbGxlZCBvdXQgaGVyZVxuICAgIC8vIGJlY2F1c2UgdGhhdCBtaXhpbiB3cml0ZXMgY2xpcC1wYXRoLCBhbmQgdGhpcyBuZWVkcyBvZmZzZXQtcGF0aC5cbiAgICBvZmZzZXQtcGF0aDogcG9seWdvbihcbiAgICAgICN7JF9iYWRnZS1jdXQteH0gMCxcbiAgICAgIDEwMCUgMCxcbiAgICAgIDEwMCUgY2FsYygxMDAlIC0gI3skX2JhZGdlLWN1dC15fSksXG4gICAgICBjYWxjKDEwMCUgLSAjeyRfYmFkZ2UtY3V0LXh9KSAxMDAlLFxuICAgICAgMCAxMDAlLFxuICAgICAgMCAjeyRfYmFkZ2UtY3V0LXl9XG4gICAgKTtcbiAgICBhbmltYXRpb246IHRyYWNlLWVkZ2VzIDhzIGxpbmVhciBpbmZpbml0ZTtcbiAgfVxuXG4gICZfX2J0biB7XG4gICAgLy8gMjEwLzE3MjhcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGhlaWdodDogNDhweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogJGliLWdyYXktZGFyaztcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LWZhbWlseTogJGliLWZvbnQtYWNjZW50O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiBjbGFtcCgxMnB4LCAuOTN2dywgMXJlbSk7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgcGFkZGluZzogY2xhbXAoMTBweCwgLjc1dncsIDEzcHgpIGNsYW1wKDEycHgsIDEuMDR2dywgMThweCk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4zcyBlYXNlO1xuXG4gICAgQGluY2x1ZGUgaWItbm90Y2goJF9iYWRnZS1jdXQteCwgJF9iYWRnZS1jdXQteSk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGhlaWdodDogLjg5cHg7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgIDkyLjQ2ZGVnLFxuICAgICAgICByZ2IoMTExLCA0NywgMjI5LCAwKSA2Ljg1JSxcbiAgICAgICAgI2E1MmFmNyA5OS4wNCVcbiAgICAgICk7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMmEyYzQ0O1xuICAgIH1cbiAgfVxuXG4gICZfX3RleHQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1heC13aWR0aDogMTkwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxufVxuXG4vLyDilIDilIAgVGFiIDE6IEF1dG8tcHJvZ3Jlc3MgYWNjb3JkaW9uIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gTm8gY2xpcC1wYXRoIGhlcmUuIEl0IHVzZWQgdG8gY2FycnkgdGhlIHNhbWUgbm90Y2hlZC1jb3JuZXIgcG9seWdvbiBhc1xuLy8gLnNuLWVudGVycHJpc2UtY2FyZHMsIGJ1dCB0aGlzIGVsZW1lbnQgaGFzIG5vIGJhY2tncm91bmQg4oCUIGEgY2hhbWZlcmVkXG4vLyBjb3JuZXIgb24gYSB0cmFuc3BhcmVudCBib3ggcGFpbnRzIG5vdGhpbmcsIHNvIHRoZSBwb2x5Z29uIHByb2R1Y2VkIHplcm9cbi8vIHZpc3VhbCBvdXRwdXQgYW5kIGV4aXN0ZWQgb25seSB0byBjbGlwIGl0cyBvd24gY2hpbGRyZW4uXG4vL1xuLy8gVGhhdCBjbGlwIGlzIHJhc3RlcmlzZWQgYXMgYSBHUFUgY2xpcCBtYXNrLCBhbmQgd2hlbiBpdCBpcyBtaXNjb21wdXRlZCB0aGVcbi8vIG1hc2sgY29tZXMgb3V0IHNob3J0OiBjb250ZW50IHBhc3QgYSBjZXJ0YWluIFkgaXMgY2xpcHBlZCBhd2F5IGVudGlyZWx5LFxuLy8gd2hpY2ggcmVhZHMgYXMgdGV4dCBzbGljZWQgbWlkLWxpbmUgYW5kIGEgYmxhbmsgYmFuZCBiZWxvdyBpdC4gSXQgaXMgdGhlXG4vLyByZWFzb24gdGhpcyB0YWIsIC5zbi10ZXN0aW1vbmlhbC1zbGlkZXIgYW5kIC5zbi1lbnRlcnByaXNlLWNhcmRzIGFsbCBicm9rZVxuLy8gd2hpbGUgLnNuLWNvbnRlbnQtc2xpZGVyIOKAlCB0aGUgb25lIHRhYiBjb250YWluZXIgd2l0aCBubyBjbGlwLXBhdGgg4oCUIG5ldmVyXG4vLyBkaWQsIGFuZCB0aGUgcmVhc29uIGRpc2FibGluZyBHUFUgYWNjZWxlcmF0aW9uIFwiZml4ZWRcIiBpdCAoc29mdHdhcmUgcmFzdGVyXG4vLyB0YWtlcyBhIGRpZmZlcmVudCBwYXRoKS5cbi5zbi1hY2NvcmRpb24ge1xuICBwYWRkaW5nOiBjbGFtcCgxNnB4LCAxLjc0dncsIDMwcHgpOyAvLyAzMC8xNzI4XG4gIHRyYW5zaXRpb246IGFsbCAuOHMgY3ViaWMtYmV6aWVyKC4xNiwgMSwgLjMsIDEpO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gIGdhcDogY2xhbXAoMjRweCwgMy40N3Z3LCA2MHB4KTsgLy8gNjAvMTcyOFxuICBhbGlnbi1pdGVtczogc3RhcnQ7XG5cbiAgLy8g4pSA4pSAIExlZnQgY29sdW1uOiBsYWJlbCArIGhlYWRpbmcg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gICZfX2xlYWQge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiBjbGFtcCg4MHB4LCA2Ljk0dncsIDEyMHB4KTsgLy8gMTIwLzE3Mjgg4oCUIGhlYWRlciArIGJyZWF0aGluZyByb29tXG4gIH1cblxuICAmX19sYWJlbCB7XG4gICAgQGluY2x1ZGUgaWItdHlwZShcImxhYmVsLXNtYWxsXCIsICRpYi1mb250LWFjY2VudCk7XG5cbiAgICBmb250LXNpemU6IG1heCguODc1cmVtLCAxMnB4KTsgLy8gMTJweCBmbG9vciB1bmRlciB0aGUgZmx1aWQgcm9vdFxuICAgIGNvbG9yOiAkaWItcmVkLWRlc2lyZTtcbiAgICBtYXJnaW4tYm90dG9tOiBjbGFtcCgxMHB4LCAuOTN2dywgMTZweCk7IC8vIDE2LzE3MjhcbiAgfVxuXG4gICZfX2hlYWRpbmcge1xuICAgIEBpbmNsdWRlIGliLXR5cGUoXCJoZWFkbGluZS13ZWItbGFyZ2VcIik7XG4gICAgbWF4LXdpZHRoOiAxOGNoO1xuICAgIGNvbG9yOiAkaWItdGV4dC1wcmltYXJ5O1xuICB9XG5cbiAgLy8g4pSA4pSAIFJpZ2h0IGNvbHVtbjogYWNjb3JkaW9uIGxpc3Qg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gICZfX2xpc3Qge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IGNsYW1wKDRweCwgLjQ2dncsIDhweCk7IC8vIDgvMTcyOFxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDhweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgJl9faXRlbSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGliLWdyYXktbWlzdDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAmX190cmlnZ2VyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGdhcDogY2xhbXAoMTBweCwgLjkzdncsIDE2cHgpO1xuICAgIHBhZGRpbmc6IGNsYW1wKDE2cHgsIDEuNXZ3LCAyNnB4KSBjbGFtcCgxMnB4LCAxLjE2dncsIDIwcHgpOyAvLyB0b3AvYm90dG9tIGVxdWFsIOKAlCB+NzRweCByb3cgaGVpZ2h0XG5cbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgb3V0bGluZTogMnB4IHNvbGlkICRpYi1yZWQtYnJhbmQ7XG4gICAgICBvdXRsaW5lLW9mZnNldDogM3B4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIH1cbiAgfVxuXG4gICZfX3RyaWdnZXItdGl0bGUge1xuICAgIEBpbmNsdWRlIGliLXR5cGUoXCJsYWJlbC1tZWRpdW1cIik7XG4gICAgY29sb3I6ICRpYi10ZXh0LWRhcms7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgLjNzIGVhc2U7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDA7XG5cbiAgICAuc24tYWNjb3JkaW9uX19pdGVtLS1hY3RpdmUgJiB7XG4gICAgICBjb2xvcjogJGliLXRleHQtZGFyaztcbiAgICB9XG4gIH1cblxuICAmX19pY29uLXdyYXAge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHdpZHRoOiAyMnB4O1xuICAgIGhlaWdodDogMjJweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgJl9faWNvbi1wbHVzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKDBkZWcpIHNjYWxlKDEpO1xuICAgIHRyYW5zaXRpb246XG4gICAgICBvcGFjaXR5IC4yNXMgZWFzZSxcbiAgICAgIHRyYW5zZm9ybSAuMjVzIGVhc2U7XG5cbiAgICAuc24tYWNjb3JkaW9uX19pdGVtLS1hY3RpdmUgJiB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKDkwZGVnKSBzY2FsZSguNSk7XG4gICAgfVxuICB9XG5cbiAgJl9faWNvbi1taW51cyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSgtOTBkZWcpIHNjYWxlKC41KTtcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgb3BhY2l0eSAuMjVzIGVhc2UsXG4gICAgICB0cmFuc2Zvcm0gLjI1cyBlYXNlO1xuXG4gICAgLnNuLWFjY29yZGlvbl9faXRlbS0tYWN0aXZlICYge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSgwZGVnKSBzY2FsZSgxKTtcbiAgICB9XG4gIH1cblxuICAvLyBDb2xsYXBzaWJsZSBib2R5IOKAlCB0aGUgcm93IGFuaW1hdGVzIDBmciDihpIgMWZyLCBpLmUuIHRvIHRoZSB0ZXh0J3MgZXhhY3RcbiAgLy8gbWVhc3VyZWQgaGVpZ2h0LiBBIG1heC1oZWlnaHQgZ3Vlc3MgKHRoZSBwcmV2aW91cyAwIOKGkiA0MDBweCkgZmluaXNoZXMgdGhlXG4gIC8vIHZpc2libGUgdHJhdmVsIGluIHRoZSBmaXJzdCB0aGlyZCBvZiB0aGUgZHVyYXRpb24gYW5kIHRoZW4gc3RhbGxzLCB3aGljaFxuICAvLyByZWFkcyBhcyB0aGUgcGFuZWwgb3BlbmluZyBpbiB0d28gc3RlcHMuXG4gIC8vXG4gIC8vIFZlcnRpY2FsIHBhZGRpbmcgbXVzdCBzdGF5IG9uIHRoaXMgd3JhcHBlciwgbmV2ZXIgb24gdGhlIGdyaWQgaXRlbTogYVxuICAvLyBzdHJldGNoZWQgZ3JpZCBpdGVtIGluIGEgMGZyIHJvdyBzdGlsbCByZW5kZXJzIGl0cyBvd24gcGFkZGluZywgc28gYVxuICAvLyBjbG9zZWQgcGFuZWwgd291bGQgc2l0IH40OHB4IHRhbGwgd2l0aCBhIHNsaXZlciBvZiB0ZXh0IHNob3dpbmcuIFRoZVxuICAvLyBwYWRkaW5nIHRoZXJlZm9yZSBhbmltYXRlcyB0b28g4oCUIHNhbWUgZHVyYXRpb24gYW5kIHNhbWUgZWFzaW5nIGFzIHRoZVxuICAvLyByb3csIHNvIHRoZSB0d28gdHJhdmVsIGFzIG9uZSBtb3Rpb24gcmF0aGVyIHRoYW4gYXMgdHdvIHN0YWdlcy5cbiAgJl9fYm9keSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogMGZyO1xuICAgIHBhZGRpbmc6IDAgY2xhbXAoMTRweCwgMS4yN3Z3LCAyMnB4KTtcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzIC40NXMgY3ViaWMtYmV6aWVyKC4yNSwgLjQ2LCAuNDUsIC45NCksXG4gICAgICBwYWRkaW5nLXRvcCAuNDVzIGN1YmljLWJlemllciguMjUsIC40NiwgLjQ1LCAuOTQpLFxuICAgICAgcGFkZGluZy1ib3R0b20gLjQ1cyBjdWJpYy1iZXppZXIoLjI1LCAuNDYsIC40NSwgLjk0KTtcblxuICAgIC5zbi1hY2NvcmRpb25fX2l0ZW0tLWFjdGl2ZSAmIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyO1xuICAgICAgcGFkZGluZy10b3A6IGNsYW1wKDEwcHgsIC45M3Z3LCAxNnB4KTsgLy8gZ2FwIGJlbG93IHRoZSBpY29uIHJvd1xuICAgICAgcGFkZGluZy1ib3R0b206IGNsYW1wKDIwcHgsIDEuODZ2dywgMzJweCk7IC8vIGNsb3NpbmcgZ2FwIGFib3ZlIHRoZSBuZXh0IGl0ZW1cbiAgICB9XG4gIH1cblxuICAmX19ib2R5LXRleHQge1xuICAgIGZvbnQtZmFtaWx5OiAkaWItZm9udC1ib2R5O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjc7XG4gICAgY29sb3I6IHJnYigyOCwgMjgsIDI4LCAuOCk7XG4gICAgcGFkZGluZzogMDtcblxuICAgIC8vIEEgZ3JpZCBpdGVtJ3MgYXV0b21hdGljIG1pbmltdW0gc2l6ZSB3b3VsZCBzdG9wIHRoZSByb3cgY29sbGFwc2luZyB0b1xuICAgIC8vIDBmciwgc28gdGhlIGZsb29yIG9ubHkgYXBwbGllcyB3aGlsZSB0aGUgaXRlbSBpcyBvcGVuIOKAlCBpdCBpcyBkcm9wcGVkXG4gICAgLy8gdGhlIGluc3RhbnQgdGhlIGNsYXNzIGNvbWVzIG9mZiwgYmVmb3JlIHRoZSByb3cgc3RhcnRzIGNsb3NpbmcuXG4gICAgbWluLWhlaWdodDogMDtcblxuICAgIC8vIHRyaWdnZXIoNzQpICsgYm9yZGVyKDEpICsgYm9keSBwYWQtdG9wKDE2KSArIHRoaXMoNTApICsgYm9keSBwYWQtYm90dG9tKDMyKSA9IDE3M3B4IHRvdGFsIGFjdGl2ZSBpdGVtIGhlaWdodFxuICAgIC5zbi1hY2NvcmRpb25fX2l0ZW0tLWFjdGl2ZSAmIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgfVxuICB9XG5cbiAgJl9fcHJvZ3Jlc3MtYmFyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgaGVpZ2h0OiAzcHg7XG4gICAgYmFja2dyb3VuZDogJGliLWNyZWFtLW1pc3Q7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgZWFzZTtcblxuICAgIC5zbi1hY2NvcmRpb25fX2l0ZW0tLWFjdGl2ZSAmIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5cbiAgJl9fcHJvZ3Jlc3MtZmlsbCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICRpYi1yZWQtcGVhY2g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG5cbiAgICAvLyBTY29wZWQgdG8gdGhlIGFjdGl2ZSBpdGVtOiBvbmx5IG9uZSBiYXIgaXMgZXZlciBzY3J1YmJlZCBhdCBhIHRpbWUsIHNvXG4gICAgLy8gdGhlIHVuc2NvcGVkIHZlcnNpb24gbGVmdCBmb3VyIGlkbGUgY29tcG9zaXRlZCBsYXllcnMgaW5zaWRlIHRoaXNcbiAgICAvLyBzZWN0aW9uJ3MgYWxyZWFkeS1vdmVyc3Vic2NyaWJlZCB0aWxlIGJ1ZGdldC5cbiAgICAuc24tYWNjb3JkaW9uX19pdGVtLS1hY3RpdmUgJiB7XG4gICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICAgIH1cbiAgfVxuXG4gIC8vIOKUgOKUgCBTY3JlZW4gKOKJpDE0MDBweCkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8oJGliLWJwLWRlc2t0b3ApIHtcbiAgICBnYXA6IGNsYW1wKDE2cHgsIDEuNzR2dywgMzBweCk7XG4gIH1cblxuICAvLyDilIDilIAgU2NyZWVuICjiiaQxMjAwcHgpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICBAaW5jbHVkZSByZXNwb25kLXRvKCRpYi1icC1sYXB0b3ApIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICBnYXA6IDIwcHg7XG5cbiAgICAmX19sZWFkIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgfVxuICB9XG5cbiAgLy8g4pSA4pSAIFNjcmVlbiAo4omkMTAyNHB4KSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgQGluY2x1ZGUgcmVzcG9uZC10bygkaWItYnAtdGFibGV0KSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgZ2FwOiA0MHB4O1xuXG4gICAgJl9fbGVhZCB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIH1cbiAgfVxuXG4gIC8vIOKUgOKUgCBTY3JlZW4gKOKJpDEwMjRweCkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8oJGliLWJwLXRhYmxldCkge1xuICAgIGNsaXAtcGF0aDogbm9uZTtcbiAgICBwYWRkaW5nOiA0OHB4IDIwcHg7XG4gICAgZ2FwOiA0MHB4OyAvLyBjbGFtcCBtaW4gKDI0cHgpIDwgb3JpZ2luYWwg4oCUIHJlc3RvcmVcbiAgICAmX19sYWJlbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgIH1cblxuICAgICZfX2hlYWRpbmcge1xuICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDM4cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLS4wNGVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDI1MDtcbiAgICB9XG5cbiAgICAmX19saXN0IHtcbiAgICAgIHBhZGRpbmc6IDhweDsgLy8gY2xhbXAgbWluICg0cHgpIDwgb3JpZ2luYWwg4oCUIHJlc3RvcmVcbiAgICAgIGdhcDogMTBweDsgLy8gY2xhbXAgbWluICg2cHgpIDwgb3JpZ2luYWwg4oCUIHJlc3RvcmVcbiAgICB9XG5cbiAgICAvLyBObyBkaXZpZGVyIHJ1bGUgYW5kIG5vIGF1dG8tcm90YXRpb24gb24gdGFibGV0L21vYmlsZSDigJQgdGhlIEpTIHN0b3BzXG4gICAgLy8gZHJpdmluZyB0aGUgdGltZXIgYmVsb3cgdGhpcyBicmVha3BvaW50LCBzbyB0aGUgYmFyIGhhcyBub3RoaW5nIHRvIHNob3cuXG4gICAgJl9faXRlbSB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cblxuICAgICZfX3Byb2dyZXNzLWJhciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICZfX3RyaWdnZXIge1xuICAgICAgZ2FwOiAxNnB4OyAvLyBjbGFtcCBtaW4gKDEwcHgpIDwgb3JpZ2luYWwg4oCUIHJlc3RvcmVcbiAgICAgIHBhZGRpbmc6IDI2cHggMCAxNnB4OyAvLyBjbGFtcCBtaW4gaXMgc21hbGxlciDigJQgcmVzdG9yZVxuICAgIH1cblxuICAgICZfX3RyaWdnZXItdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxcmVtOyAvLyBjbGFtcCBtaW4gKDEycHgpIDwgb3JpZ2luYWwg4oCUIHJlc3RvcmVcbiAgICB9XG5cbiAgICAvLyBTaWRlIGluc2V0IG9ubHkg4oCUIHRoZSB2ZXJ0aWNhbCBwYWRkaW5nIGlzIHRoZSBhbmltYXRlZCBwYWlyIGFib3ZlLCBzb1xuICAgIC8vIGEgc2hvcnRoYW5kIGhlcmUgd291bGQgbmVlZCB0aGUgYWN0aXZlIHJ1bGUgdG8gcmUtd2luIGl0IGV2ZXJ5IHRpbWUuXG4gICAgJl9fYm9keSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cblxuICAgICZfX2JvZHktdGV4dCB7XG4gICAgICBmb250LXNpemU6IC44NzVyZW07XG4gICAgICBcbiAgICAgIC8vIE5vIGF1dG8tcm90YXRpb24gaGVyZSwgc28gbm8gZml4ZWQgcm93IGhlaWdodCB0byBob2xkIOKAlCBsZXQgdGhlIHRleHRcbiAgICAgIC8vIHNpemUgdGhlIHJvdyBhbmQga2VlcCB0aGUgMGZyIGNvbGxhcHNlIGNsZWFuLlxuICAgICAgLnNuLWFjY29yZGlvbl9faXRlbS0tYWN0aXZlICYge1xuICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyDilIDilIAgTG9nbyBtYXJxdWVlIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLnNuLWxvZ28tbWFycXVlZSB7XG4gIC8vIH40OC01NnB4IGNsZWFycyB0aGUgJl9fc2xpZGUtLWFmdGVyLTIgcGVlayBjYXJkLCB3aGljaCBzaXRzXG4gIC8vIHRyYW5zbGF0ZTNkKDAsIDUwcHgsIDApIGJlbG93IHRoZSBkZWNrIOKAlCBtdWNoIGxlc3MgYW5kIHRoZSBsb2dvcyBvdmVybGFwXG4gIC8vIHRoZSBjYXJkJ3MgYm90dG9tIGVkZ2UuIFRoZSB2ZXJ0aWNhbCBidWRnZXQgb24gYSBzaG9ydC96b29tZWQgdmlld3BvcnQgaXNcbiAgLy8gcmVjbGFpbWVkIGJ5IHNocmlua2luZyB0aGUgZGVjayAoJl9fc2xpZGVzIGZsb29yIGFib3ZlKSwgbm90IGJ5IGNsb3NpbmdcbiAgLy8gdGhpcyBnYXAuXG4gIG1hcmdpbi10b3A6IDQ4cHg7XG4gIC8vIEJyZWF0aGluZyByb29tIGJldHdlZW4gdGhlIG1hcnF1ZWUgYW5kIHRoZSBib3R0b20gb2YgdGhlIHN0aWNreSBzdGFnZSAvXG4gIC8vIHZpZXdwb3J0LiBjbGFtcCgpcyBkb3duIG9uIHNob3J0IHZpZXdwb3J0cyBzbyBpdCBuZXZlciBzcXVlZXplcyB0aGUgZGVjay5cbiAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IDEwMHB4O1xuICAgIHotaW5kZXg6IDI7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICAmOjpiZWZvcmUge1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkaWItYmctcHJpbWFyeSAxMCUsIHRyYW5zcGFyZW50KTtcbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICByaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgJGliLWJnLXByaW1hcnkgMTAlLCB0cmFuc3BhcmVudCk7XG4gIH1cblxuICAvLyBCb3RoIGN1c3RvbSBwcm9wZXJ0aWVzIGFyZSB3cml0dGVuIGJ5IGxvZ28tbWFycXVlZS5qcywgd2hpY2ggbWVhc3VyZXMgdGhlXG4gIC8vIHJlbmRlcmVkIGxvZ28gc2V0IChhdXRob3JlZCBpbiBXb3JkUHJlc3MsIHNvIGl0cyB3aWR0aCBpcyB1bmtub3duIGhlcmUpLlxuICAvLyBUaGUgZmFsbGJhY2tzIG9ubHkgZXZlciBzaG93IGJlZm9yZSB0aGF0IGZpcnN0IG1lYXN1cmVtZW50IGxhbmRzLlxuICAmX190cmFjayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgYW5pbWF0aW9uOiBzbi1tYXJxdWVlIHZhcigtLXNuLW1hcnF1ZWUtZHVyYXRpb24sIDYwcykgbGluZWFyIGluZmluaXRlO1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gIH1cblxuICAmX19pdGVtIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgbWFyZ2luOiAwIDQwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgJl9fbG9nbyB7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zNXMgZWFzZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgb3BhY2l0eTogLjg7XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlciAmX190cmFjayB7XG4gICAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDtcbiAgfVxuICAvLyBGZXdlciBsb2dvcyB0aGFuIHRoZSB3cmFwcGVyIGNhbiBob2xkIOKAlCBsb2dvLW1hcnF1ZWUuanMgYWRkcyB0aGlzIGNsYXNzLlxuICAvLyBOb3RoaW5nIGlzIG9mZiBzY3JlZW4sIHNvIHNjcm9sbGluZyB3b3VsZCBvbmx5IGRyYWcgdGhlIHJvdyBvdXQgb2Ygb25lXG4gIC8vIGJsYW5rIGVkZ2UgYW5kIGludG8gYW5vdGhlcjogdGhlIHJvdyBpcyBjZW50cmVkIGFuZCBsZWZ0IGFsb25lLCBhbmQgdGhlXG4gIC8vIGVkZ2UgZmFkZXMgZ28gd2l0aCBpdCAodGhleSBleGlzdCB0byBtYXNrIGxvZ29zIGVudGVyaW5nL2xlYXZpbmcpLlxuICAmLS1zdGF0aWMge1xuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5zbi1sb2dvLW1hcnF1ZWVfX3RyYWNrIHtcbiAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB3aWxsLWNoYW5nZTogYXV0bztcbiAgICB9XG4gIH1cbn1cbi8vIFNpbmdsZS1zdG9yeSBwYWdlcyAoZmxhdCBkZWNrIOKAlCBtYW51ZmFjdHVyaW5nLCBzYWxlc2ZvcmNlKTogdGhlIGxvbmUgY2FyZFxuLy8gaGFzIG5vICZfX3NsaWRlLS1hZnRlci0yIHBlZWsgc3RhY2tlZCBiZWxvdyBpdCwgc28gdGhlIG1hcnF1ZWUgY2FuIHNpdFxuLy8gY2xvc2VyIHRvIGl0LiBCb3RoIGZsYXQgdHJpZ2dlcnMsIHNhbWUgYXMgdGhlICZfX3BhbmVsLS1kZWNrLWZsYXQgcnVsZXMuXG4uc24tY29udGVudC1zbGlkZXItLWZsYXQgLnNuLWxvZ28tbWFycXVlZSxcbi5zbi1zY3JvbGwtdGFicy1zZWN0aW9uX19wYW5lbC0tZGVjazpoYXMoLnNuLWNvbnRlbnQtc2xpZGVyX19zbGlkZXMgPiAuc24tY29udGVudC1zbGlkZXJfX3NsaWRlOm9ubHktY2hpbGQpIC5zbi1sb2dvLW1hcnF1ZWUge1xuICBtYXJnaW4tdG9wOiAzMnB4O1xufVxuLy8gVHJhdmVsIGlzIG9uZSBzb3VyY2Ugc2V0LCBpbiBweCDigJQgbWVhc3VyZWQgYW5kIHB1Ymxpc2hlZCBhc1xuLy8gLS1zbi1tYXJxdWVlLXNoaWZ0IGJ5IGxvZ28tbWFycXVlZS5qcy4gVGhlIHByZXZpb3VzIGB0cmFuc2xhdGVYKC01MCUpYFxuLy8gbG9va2VkIGVxdWl2YWxlbnQgYnV0IHdhcyBub3Q6IGEgcGVyY2VudGFnZSBpcyBhIHNoYXJlIG9mIHRoZSB0cmFjaywgc29cbi8vIGV2ZXJ5IGxvZ28gdGhlIGNsaWVudCBhZGRlZCB3aWRlbmVkIHRoZSB0cmFjayBhbmQgdGhlIGZpeGVkIDYwcyBkdXJhdGlvblxuLy8gaGFkIHRvIGNvdmVyIG1vcmUgZ3JvdW5kLCBxdWlldGx5IHNwZWVkaW5nIHRoZSBtYXJxdWVlIHVwLiBBIG1lYXN1cmVkXG4vLyBkaXN0YW5jZSBwYWlyZWQgd2l0aCBhIG1lYXN1cmVkIGR1cmF0aW9uIGhvbGRzIHRoZSBweC9zZWNvbmQgcmF0ZSBjb25zdGFudFxuLy8gYXQgYW55IGxvZ28gY291bnQuXG4vL1xuLy8gVGhlIDBweCBmYWxsYmFjayBtYWtlcyB0aGUgYW5pbWF0aW9uIGEgZGVsaWJlcmF0ZSBuby1vcCB1bnRpbCB0aGF0XG4vLyBtZWFzdXJlbWVudCBsYW5kczogdGhlIG1hcmt1cCBzaGlwcyBvbmUgdW4tY2xvbmVkIHNldCwgc28gYW5pbWF0aW5nIGl0IG9uIGFcbi8vIGd1ZXNzZWQgZGlzdGFuY2Ugd291bGQgc2xpZGUgdGhlIGxvZ29zIG9mZiBpbnRvIGEgZ2FwIGZvciB0aGUgZnJhbWVzIGJlZm9yZVxuLy8gdGhlIHNjcmlwdCBydW5zIOKAlCBhbmQgd291bGQgc3RyYW5kIHRoZW0gdGhlcmUgZm9yIGdvb2QgaWYgaXQgbmV2ZXIgZGlkLlxuQGtleWZyYW1lcyBzbi1tYXJxdWVlIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKGNhbGModmFyKC0tc24tbWFycXVlZS1zaGlmdCwgMHB4KSAqIC0xKSwgMCwgMCk7XG4gIH1cbn1cblxuLy8gSG9ub3VyIGEgcmVkdWNlZC1tb3Rpb24gcHJlZmVyZW5jZTogaG9sZCB0aGUgbG9nb3Mgc3RpbGwgcmF0aGVyIHRoYW4gbG9vcFxuLy8gdGhlbSBpbmRlZmluaXRlbHkuXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuc24tbG9nby1tYXJxdWVlX190cmFjayB7XG4gICAgYW5pbWF0aW9uOiBub25lO1xuICB9XG59XG5cbi8vIOKUgOKUgCBUYWIgMjogQ29udGVudCBzbGlkZXIg4oCUIGZ1bGwtYmxlZWQgY2FzZS1zdHVkeSBjYXJkIGRlY2sg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBSZWRlc2lnbmVkIHBlciBGaWdtYSBub2RlIDE0MTA2OjE3NTg5ICgxMjQww5c2ODIgY2FyZCBvbiB0aGUgMTcyOCBjYW52YXMpLlxuLy8gU2l6ZWQgaW4gcmVtOiB0aGUgcGFnZS1sZXZlbCByb290IGZvbnQgY2xhbXAgKHNlcnZpY2Vub3cuc2Nzcykgc2NhbGVzIHRoZVxuLy8gd2hvbGUgY2FyZCBwcm9wb3J0aW9uYWxseSBiZWxvdyAxNzI4cHg7IHRoZSDiiaQxMDI0cHggYmFuZCByZXNldHMgcm9vdCBmb250XG4vLyB0byAxMDAlIGFuZCB0aGUgZGVkaWNhdGVkIG1vYmlsZSBVSSB0YWtlcyBvdmVyLlxuLy8gVHJhbnNpdGlvbiByaHl0aG0gbWF0Y2hlcyB0aGUgaG9tZXBhZ2UgXCJXaGF0IFdlIFNoaXBcIiBkZWNrIChzZWVcbi8vIGFzc2V0cy9zY3NzL3BhZ2VzL2hvbWUvX3NoaXAtc2VjdGlvbi5zY3NzKSwgYnV0IHRoZSBzdGF0ZSBtYWNoaW5lIGhlcmUgaXNcbi8vIGNsYXNzLWJhc2VkIGFuZCBjYXJkLWNvdW50IGFnbm9zdGljIOKAlCBzZWUgc2Nyb2xsLXRhYnMtc2VjdGlvbi5qcydzIGdvVG8oKVxuLy8gYW5kIHRoZSAmX19zbGlkZS0tY3VycmVudC8tYmVmb3JlLSovLWFmdGVyLSogcnVsZXMgYmVsb3c6IGFjdGl2ZSBjYXJkXG4vLyBmaWxscyB0aGUgZnJhbWUsIHRoZSBuZXh0IHR3byBwZWVrIG91dCBzY2FsZWQvZGltbWVkIGJlaGluZCBpdCwgcGFzc2VkXG4vLyBjYXJkcyBmbHkgb3V0IHBhc3QgdGhlIHZpZXdwb3J0LlxuJF9zbi1jb3JhbDogI2YxNmY1ODsgLy8gS0VZIElNUEFDVFMgQ1RBIOKAlCBtYXRjaGVzIGhvbWVwYWdlIHNoaXAvZGlzY292ZXIgZ3JhZGllbnQgc3RvcFxuXG4vLyBXaWR0aCBvZiB0aGUgS2V5IEltcGFjdHMgcGFuZWwgKCZfX2ltcGFjdHMpIOKAlCBhbHNvIHVzZWQgYnkgJl9faGVhZGluZyBzbyB0aGVcbi8vIGhlYWRpbmcgYWx3YXlzIHN0b3BzIH41MHB4IHNob3J0IG9mIHRoZSBwYW5lbCdzIGxlZnQgZWRnZSB3aGVuIGl0IGlzIG9wZW4uXG4kX2ltcGFjdHMtcGFuZWwtd2lkdGg6IGNsYW1wKDI4MHB4LCAyNnZ3LCAzODBweCk7IC8vIDM4MC8xNzI4XG4kX2ltcGFjdHMtaGVhZGluZy1nYXA6IDQwcHg7IC8vIGNsZWFyYW5jZSBiZXR3ZWVuIGhlYWRpbmcgYW5kIG9wZW4gcGFuZWxcbi5zbi1jb250ZW50LXNsaWRlciB7XG4gIC8vIFN0aWNreSBzdGFnZTogcGlucyBiZWxvdyB0aGUgaGVhZGVyIHdoaWxlIHRoZSB0YWxsIC0tZGVjayBwYW5lbCBzY3JvbGxzXG4gIC8vIChDU1Mgc3RpY2t5IOKAlCBubyBwaW4tc3BhY2VyLCBwbGF5cyBuaWNlbHkgaW5zaWRlIHRoZSB0YWIgZmxleCBsYXlvdXQpLlxuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IHZhcigtLXNuLWhkcik7XG4gIGhlaWdodDogY2FsYygxMDB2aCAtIHZhcigtLXNuLWhkcikpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAvLyBNb2JpbGUvdGFibGV0IHN3aXBlIHN1cmZhY2UuIFZlcnRpY2FsIHBhbnMgc3RheSBuYXRpdmUg4oCUIHRoZSBkZWNrJ3Mgc2NydWJcbiAgLy8gaXMgc2Nyb2xsLWRyaXZlbiBhbmQgbXVzdCBrZWVwIHdvcmtpbmcgdW50b3VjaGVkIOKAlCB3aGlsZSBob3Jpem9udGFsIGlzXG4gIC8vIGhhbmRlZCB0byB0aGUgc3dpcGUgaGFuZGxlciBpbiBzY3JvbGwtdGFicy1zZWN0aW9uLmpzLiBXaXRob3V0IHRoaXMgdGhlXG4gIC8vIGJyb3dzZXIgY2FuIGNvbW1pdCBhIGRpYWdvbmFsIGRyYWcgdG8gYSBwYWdlIHNjcm9sbCBiZWZvcmUgdGhlIGdlc3R1cmUnc1xuICAvLyBheGlzIGhhcyBiZWVuIHJlc29sdmVkLCBhbmQgdGhlIHN3aXBlIGRyb3BzIGlucHV0cy5cbiAgQGluY2x1ZGUgcmVzcG9uZC10bygkaWItYnAtdGFibGV0KSB7XG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgfVxuXG4gIC8vIFNlY3Rpb24gZXllYnJvdyBhYm92ZSB0aGUgZGVjayDigJQgc2FtZSB0cmVhdG1lbnQgYXMgdGhlIG90aGVyIHRhYiBwYW5lbHNcbiAgLy8gKC5zbi1lbnRlcnByaXNlLWNhcmRzX19leWVicm93IC8gLnNuLXRlc3RpbW9uaWFsLXNsaWRlcl9fZXllYnJvdyk7IHRoZVxuICAvLyBwZXItc2xpZGUgJl9fZXllYnJvdyBiZWxvdyBpcyBhIGRpZmZlcmVudCBlbGVtZW50ICh3aGl0ZSwgb3ZlciB0aGUgcGhvdG8pLlxuICAmX19zZWN0aW9uLWV5ZWJyb3cge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgQGluY2x1ZGUgaWItdHlwZShcImxhYmVsLXNtYWxsXCIpO1xuICAgIGNvbG9yOiAkaWItcmVkLWRlc2lyZTtcbiAgICBtYXJnaW4tYm90dG9tOiBpYi1yZW0oNTZweCk7XG5cbiAgICAvLyBMYXB0b3Aga2VlcHMgdGhlIHRpZ2h0ZXIgc3BhY2luZyB0aGUgZGVjayB3YXMgdHVuZWQgd2l0aFxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oJGliLWJwLWRlc2t0b3ApIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGNsYW1wKDhweCwgLjkzdncsIDE2cHgpO1xuICAgIH1cblxuICAgIC8vIE1vYmlsZTogcGFuZWwgcGFkZGluZyBpcyAwIChzbGlkZXIgcnVucyBlZGdlLXRvLWVkZ2UpIOKAlCB0aGUgZXllYnJvd1xuICAgIC8vIG5lZWRzIGl0cyBvd24gaW5saW5lIGluc2V0XG4gICAgQGluY2x1ZGUgcmVzcG9uZC10bygkaWItYnAtdGFibGV0KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgIH1cbiAgfVxuXG4gIC8vIOKUgOKUgCBEZWNrOiBmaXhlZC1oZWlnaHQgc3RhZ2UgKyBwZWVrIHN0cmlwcyBiZWxvdyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgJl9fZGVjayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgJl9fc2xpZGVzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAvLyA2MjRweCBhdCBkZXNpZ24gd2lkdGg7IHNocmlua3Mgb24gc2hvcnQgdmlld3BvcnRzIChjb250ZW50IGlzIGJvdHRvbS1hbmNob3JlZCkuXG4gICAgLy8gMTJyZW0gcmVzZXJ2ZSA9IGxvZ28gbWFycXVlZSBzaGFyaW5nIHRoZSBwaW5uZWQgdmlld3BvcnRcbiAgICBoZWlnaHQ6IGNsYW1wKDI2cmVtLCBjYWxjKDEwMHZoIC0gdmFyKC0tc24taGRyKSAtIDEycmVtKSwgMzlyZW0pO1xuICB9XG5cbiAgJl9fc2xpZGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmc6IDIuNXJlbTsgLy8gNDAvMTcyOFxuICAgIGJhY2tncm91bmQ6ICRpYi1ncmF5LWRhcms7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC8vIFF1ZXVlZCBzdGF0ZTogc3RpbGwgYmVoaW5kIHRoZSB2aXNpYmxlIDItY2FyZCBwZWVrLCB3YWl0aW5nIGl0cyB0dXJuLlxuICAgIC8vIENvbnRpbnVlcyB0aGUgYWZ0ZXItMS9hZnRlci0yIHByb2dyZXNzaW9uIChzY2FsZSAuOTY3LzI2cHgsIC45MzUvNTBweClcbiAgICAvLyBpbnN0ZWFkIG9mIGp1bXBpbmcgZnJvbSBhIGZ1bGwgb2ZmLWNhbnZhcyAxMDAlIChvd24taGVpZ2h0KSBwbHVuZ2Ug4oCUXG4gICAgLy8gdGhhdCByZWFkIGFzIGEgNHRoLzV0aCBjYXJkIFwicG9wcGluZyB1cCBmcm9tIHRoZSBib3R0b20gb2YgdGhlXG4gICAgLy8gdmlld3BvcnRcIiBvbmNlIGl0IGhhZCB0byB0cmF2ZWwgdGhhdCB3aG9sZSBkaXN0YW5jZSBpbnRvIHRoZSBwZWVrLTJcbiAgICAvLyBzbG90LCBpbnN0ZWFkIG9mIGVhc2luZyBmb3J3YXJkIGxpa2UgdGhlIHJlc3Qgb2YgdGhlIHN0YWNrLlxuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSguOSkgdHJhbnNsYXRlM2QoMCwgNzRweCwgMCk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgdHJhbnNmb3JtIDEuM3MgY3ViaWMtYmV6aWVyKC4zMywgMSwgLjY4LCAxKSxcbiAgICAgIG9wYWNpdHkgMS4zcyBjdWJpYy1iZXppZXIoLjMzLCAxLCAuNjgsIDEpLFxuICAgICAgYm94LXNoYWRvdyAxLjNzIGN1YmljLWJlemllciguMzMsIDEsIC42OCwgMSksXG4gICAgICBcbiAgICAgIFxuICAgICAgZmlsdGVyIDMwMG1zIGVhc2Utb3V0O1xuXG4gICAgLy8gRmlsbS1ncmFpbiB0ZXh0dXJlIG92ZXIgdGhlIHdob2xlIGNhcmQg4oCUIHNpdHMgYWJvdmUgdGhlIHBob3RvL3NjcmltL1xuICAgIC8vIGNvbnRlbnQgKGFsbCB6LWluZGV4OmF1dG8pIGJ1dCBiZWxvdyB0aGUgS2V5IEltcGFjdHMgcGFuZWwgKHotaW5kZXg6IDMpLlxuICAgIC8vXG4gICAgLy8gVXNlcyBncmFpbi10aWxlLnBuZyAoMjU2w5cyNTYpLCBOT1QgdGhlIHNoYXJlZCBncmFpbi5wbmcgKDE3MjjDlzE3MjMpLlxuICAgIC8vIFRoZSBmdWxsLXNpemUgZmlsZSBpcyAxMS40IE1pQiBkZWNvZGVkIGFzIFJHQkEg4oCUIDR4IGxhcmdlciB0aGFuIGFueSBvZlxuICAgIC8vIHRoZSB0aHJlZSBjYXJkIHBob3RvcyDigJQgYW5kIGBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyYCBmb3JjZWQgYSBzZXBhcmF0ZVxuICAgIC8vIHJhc3RlcmlzYXRpb24gb2YgaXQgb250byBlYWNoIG9mIHRoZSB0aHJlZSBjb21wb3NpdGVkIHNsaWRlcy4gVGhhdCBpc1xuICAgIC8vIHRoZSBzaW5nbGUgYmlnZ2VzdCBHUFUgdGV4dHVyZSBpbiB0aGlzIHNlY3Rpb24sIGFuZCB0aGlzIHNlY3Rpb24gaXMgdGhlXG4gICAgLy8gdGFsbGVzdCBjb21wb3NpdGVkIHN1YnRyZWUgb24gdGhlIHNpdGUgKH42MDB2aCwgd2l0aCBhIHN0aWNreSBzaWRlYmFyXG4gICAgLy8gc3Bhbm5pbmcgYWxsIG9mIGl0KSwgd2hpY2ggaXMgd2h5IHRoZSB0aWxlIGJ1ZGdldCBibGV3IGhlcmUgYW5kIG5vd2hlcmVcbiAgICAvLyBlbHNlLiBUaGUgdGlsZSBpcyBhIDI1NsOXMjU2IGNyb3Agb2YgdGhlIHNhbWUgbm9pc2UsIHNvIHRoZSBncmFpbiBrZWVwc1xuICAgIC8vIGl0cyBleGFjdCBwZXItcGl4ZWwgY2hhcmFjdGVyOyBhdCAwLjI1IE1pQiBpdCBpcyB+NDV4IGNoZWFwZXIuXG4gICAgLy9cbiAgICAvLyBncmFpbi5wbmcgaXRzZWxmIGlzIGRlbGliZXJhdGVseSBsZWZ0IHVudG91Y2hlZCDigJQgaGVhZGVyLmNzcywgZm9vdGVyLmNzc1xuICAgIC8vIGFuZCB0aHJlZSBvdGhlciBwYWdlcyByZWZlcmVuY2UgaXQsIGFuZCBub25lIG9mIHRoZW0gc2hvdyB0aGlzIHByb2JsZW0uXG4gICAgLy9cbiAgICAvLyBgYmFja2dyb3VuZC1zaXplYCBzdGF5cyBhdCBpdHMgaW5pdGlhbCBgYXV0b2Agc28gYHJlcGVhdGAgYWN0dWFsbHlcbiAgICAvLyB0aWxlczsgdW5kZXIgdGhlIHByZXZpb3VzIGBjb3ZlcmAgdGhlIHJlcGVhdCBkZWNsYXJhdGlvbiB3YXMgZGVhZCBjb2RlXG4gICAgLy8gKGNvdmVyIHNjYWxlcyBvbmUgY29weSBvdmVyIHRoZSB3aG9sZSBib3gsIHNvIGl0IG5ldmVyIHJlcGVhdGVkKS5cbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgaW5zZXQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi8uLi8uLi9zdGF0aWMvYXNzZXRzL2ltYWdlcy9sYXRlc3QvZ3JhaW4tdGlsZS5wbmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0O1xuICAgICAgbWl4LWJsZW5kLW1vZGU6IG5vcm1hbDtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuICB9XG5cbiAgLy8g4pSA4pSAIFN0YXRlIG1hY2hpbmU6IGNhcmQgY291bnQtYWdub3N0aWMg4oCUIHNjcm9sbC10YWJzLXNlY3Rpb24uanMgY29tcHV0ZXNcbiAgLy8gZWFjaCBzbGlkZSdzIHBvc2l0aW9uIHJlbGF0aXZlIHRvIHRoZSBhY3RpdmUgb25lIChyZWwgPSBpdHMgaW5kZXggbWludXNcbiAgLy8gdGhlIGFjdGl2ZSBpbmRleCkgZXZlcnkgdGltZSBnb1RvKCkgcnVucyBhbmQgdG9nZ2xlcyB0aGVzZSBjbGFzc2VzXG4gIC8vIGRpcmVjdGx5LCBzbyB0aGlzIG5ldmVyIG5lZWRzIGEgY29tcGlsZS10aW1lIGNhcmQtY291bnQgY29uc3RhbnQga2VwdCBpblxuICAvLyBzeW5jIHdpdGggdGhlIG1hcmt1cCAoYSBoYXJkY29kZWQgJF9zbi1zdG9yeS1jb3VudCArIEBmb3ItZ2VuZXJhdGVkXG4gIC8vIFtkYXRhLWFjdGl2ZS1zbGlkZV3Dl1tkYXRhLWluZGV4XSBwYWlyaW5nIHVzZWQgdG8gbGl2ZSBoZXJlIOKAlCBpdCBzaWxlbnRseVxuICAvLyBzdG9wcGVkIGNvdmVyaW5nIG5ldyBzbGlkZXMgd2hlbmV2ZXIgYSBjYXJkIHdhcyBhZGRlZCB3aXRob3V0IGFsc29cbiAgLy8gYnVtcGluZyB0aGUgY29uc3RhbnQpLiBBY3RpdmUgY2FyZCBpcyBmdWxsLXNpemUgaW4gZnJvbnQ7IHRoZSBuZXh0IHR3b1xuICAvLyBjYXJkcyBwZWVrIG91dCBiZWhpbmQgaXQsIHNjYWxlZCBkb3duIGFuZCBkaW1tZWQgKHJlYWwgc3RhY2tlZCBjYXJkcyxcbiAgLy8gbm90IGRlY29yYXRpdmUgYmFycyk7IHBhc3NlZCBjYXJkcyBmbHkgb3V0IHRvIC0xMDB2aCDigJQgcGFzdCB0aGUgdG9wIG9mXG4gIC8vIHRoZSB2aWV3cG9ydCwgbm90IGp1c3QgdGhpcyBib3guXG4gICZfX3NsaWRlLS1jdXJyZW50IHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgei1pbmRleDogNDtcbiAgICAvLyBTY3JvbGwtZG93biAoZm9yd2FyZCkgdGhlIGluY29taW5nIGNhcmQgcmlzZXMgZnJvbSB0aGUgLS1hZnRlci0xIHBlZWtcbiAgICAvLyBzbG90LCB3aGVyZSBpdCBzaXRzIGF0IG9wYWNpdHkgLjUuIElmIGl0IGZhZGVkIHVwIG92ZXIgdGhlIGZ1bGwgMS4zcyBpdFxuICAgIC8vIHN0YXllZCB0cmFuc2x1Y2VudCBmb3IgbW9zdCBvZiB0aGUgc2xpZGUtaW4gYW5kIHRoZSBvdXRnb2luZyBjYXJkJ3NcbiAgICAvLyB0ZXh0ICh0cmF2ZWxsaW5nIHVwIGJlaGluZCBpdCwgc3RpbGwgb3BhcXVlKSBibGVkIHRocm91Z2guIFNuYXAgdGhlXG4gICAgLy8gb3BhY2l0eSBvZiB0aGUgY2FyZCAqZW50ZXJpbmcqIC0tY3VycmVudCBzbyBpdCBpcyBzb2xpZCBhbG1vc3RcbiAgICAvLyBpbW1lZGlhdGVseSB3aGlsZSB0aGUgdHJhbnNmb3JtIGtlZXBzIGl0cyBsb25nIGVhc2VkIHRyYXZlbC4gUmV2ZXJzZVxuICAgIC8vIHNjcm9sbCBpcyB1bmFmZmVjdGVkIOKAlCB0aGF0IGNhcmQgZW50ZXJzIGZyb20gLS1iZWZvcmUtMSBhbHJlYWR5IGF0XG4gICAgLy8gb3BhY2l0eSAxLCBzbyB0aGVyZSBpcyBub3RoaW5nIHRvIGZhZGUuXG4gICAgdHJhbnNpdGlvbjpcbiAgICAgIHRyYW5zZm9ybSAxLjNzIGN1YmljLWJlemllciguMzMsIDEsIC42OCwgMSksXG4gICAgICBvcGFjaXR5IC4zNXMgY3ViaWMtYmV6aWVyKC4zMywgMSwgLjY4LCAxKSxcbiAgICAgIGJveC1zaGFkb3cgMS4zcyBjdWJpYy1iZXppZXIoLjMzLCAxLCAuNjgsIDEpLFxuICAgICAgZmlsdGVyIDMwMG1zIGVhc2Utb3V0O1xuICB9XG5cbiAgLy8gcmVsIDwgMCAoYW55IHNsaWRlIGJlZm9yZSB0aGUgYWN0aXZlIG9uZSkg4oCUIG9uZSBjbGFzcyBmb3IgdGhlIGltbWVkaWF0ZVxuICAvLyBwcmVkZWNlc3Nvciwgb25lIGZvciBldmVyeXRoaW5nIGZ1cnRoZXIgYmFjazsgYm90aCByZW5kZXIgaWRlbnRpY2FsbHlcbiAgLy8gaGVyZSwgb25seSBtb2JpbGUgYmVsb3cgdGVsbHMgdGhlbSBhcGFydC5cbiAgJl9fc2xpZGUtLWJlZm9yZS0xLFxuICAmX19zbGlkZS0tYmVmb3JlLWZhciB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDB2aCwgMCk7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAvLyBQYXNzZWQgY2FyZHMgZmx5IFVQIGFuZCBvdXQgb2YgdGhlIHZpZXdwb3J0LiBUaGV5IG11c3QgcmlkZSBhYm92ZSB0aGVcbiAgICAvLyB3aG9sZSBzdGFjayAoLS1jdXJyZW50IGlzIHotaW5kZXggNCkgZHVyaW5nIHRoYXQgdHJhdmVsIOKAlCBvdGhlcndpc2UgdGhlXG4gICAgLy8gbW9tZW50IHRoZSBjbGFzcyBmbGlwcyB0aGV5IGRyb3AgdG8gei1pbmRleCBhdXRvIGFuZCBzbGlkZSB1cCAqYmVoaW5kKlxuICAgIC8vIHRoZSBuZXh0IGNhcmQsIHJlYWRpbmcgYXMgdGhlIGNhcmQgYmVpbmcgc3dhbGxvd2VkIGJ5IHRoZSBkZWNrIGluc3RlYWRcbiAgICAvLyBvZiBwZWVsaW5nIG9mZiB0aGUgZnJvbnQgb2YgaXQuXG4gICAgei1pbmRleDogNTtcbiAgfVxuXG4gICZfX3NsaWRlLS1hZnRlci0xIHtcbiAgICBvcGFjaXR5OiAuNTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC45NjcpIHRyYW5zbGF0ZTNkKDAsIDI2cHgsIDApO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHotaW5kZXg6IDM7XG4gIH1cblxuICAmX19zbGlkZS0tYWZ0ZXItMiB7XG4gICAgb3BhY2l0eTogLjU7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSguOTM1KSB0cmFuc2xhdGUzZCgwLCA1MHB4LCAwKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB6LWluZGV4OiAyO1xuICB9XG5cbiAgLy8gSW1hZ2UgY29udGFpbmVyIOKAlCBzd2FwL2Ryb3AgdGhlIGltZyBpbnNpZGU7IG9uZSBzaGFyZWQgaW1hZ2UgZm9yIG5vd1xuICAmX19tZWRpYSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAmX19iZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLy8gQnJhbmQgZ3JhZGllbnQgb3ZlciB0aGUgcGhvdG8g4oCUIG5hdnkg4oaSIHBsdW0g4oaSIGNvcmFsIChzYW1wbGVkIGZyb20gRmlnbWEpXG4gICZfX3NjcmltIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgICAgOTBkZWcsXG4gICAgICByZ2IoMjcsIDY1LCAxNjEsIC40KSAwJSxcbiAgICAgIHJnYigxMjUsIDU0LCAxNDEsIC40KSA1Ni4xOCUsXG4gICAgICByZ2IoMjE3LCA3NCwgMTMxLCAuNCkgMTAwJVxuICAgICk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgZWFzZTsgLy8gc21vb3RocyB0aGUgbW9iaWxlIGltcGFjdHMtb3BlbiBmYWRlIGJlbG93XG4gIH1cblxuICAmX19leWVicm93IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSBpYi10eXBlKFwibGFiZWwtc21hbGxcIik7XG4gICAgY29sb3I6ICNmYWZhZmE7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgfVxuXG4gIC8vIEJvdHRvbS1sZWZ0IGNsdXN0ZXI6IHRhZ3Mg4oaSIGhlYWRpbmcg4oaSIHJlYWQgbGlua1xuICAmX19jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLy8gU2l6ZWQgdG8gc3RvcCAkX2ltcGFjdHMtaGVhZGluZy1nYXAgKH41MHB4KSBzaG9ydCBvZiB0aGUgS2V5IEltcGFjdHNcbiAgICAvLyBwYW5lbCdzIGxlZnQgZWRnZSwgc28gYW4gb3BlbiBwYW5lbCBuZXZlciBvdmVybGFwcyB0aGUgdGFncyAvIGhlYWRpbmcgL1xuICAgIC8vIHN0b3J5LWxpbmsuIFRoZSBwYW5lbCBpcyB3aWRlciB0aGFuIOKAlCBhbmQgc2l0cyBsZWZ0IG9mIOKAlCB0aGUgYm90dG9tLXJpZ2h0XG4gICAgLy8gQ1RBLCBzbyB0aGlzIGNsZWFycyB0aGUgQ1RBIHRvbyAobm8gc2VwYXJhdGUgcGFkZGluZyByZXNlcnZlIG5lZWRlZCkuXG4gICAgLy8gICByaWdodCBlZGdlID0gMTAwJSAoY2FyZCBpbm5lciBlZGdlKSDiiJIgcGFuZWwgd2lkdGgg4oiSIGdhcFxuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRfaW1wYWN0cy1wYW5lbC13aWR0aH0gLSAjeyRfaW1wYWN0cy1oZWFkaW5nLWdhcH0pO1xuICB9XG5cbiAgJl9fdGFncyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IC41cmVtO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjYyNXJlbTtcbiAgfVxuXG4gICZfX3RhZyB7XG4gICAgZm9udC1mYW1pbHk6ICRpYi1mb250LWFjY2VudDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IG1heCguODc1cmVtLCAxMnB4KTsgLy8gMTJweCBmbG9vciB1bmRlciB0aGUgZmx1aWQgcm9vdFxuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgYmFja2dyb3VuZDogcmdiKDI1NSwgMjU1LCAyNTUsIC4xNSk7XG4gICAgcGFkZGluZzogLjI1cmVtIC42MjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICB9XG5cbiAgJl9faGVhZGluZyB7XG4gICAgZm9udC1mYW1pbHk6ICRpYi1mb250LWhlYWRpbmc7XG4gICAgZm9udC1zaXplOiAyLjVyZW07IC8vIDQwLzE3MjhcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM3NTtcbiAgICBsZXR0ZXItc3BhY2luZzogLS4wMmVtO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcbiAgfVxuXG4gIC8vIFVuZGVybGluZWQgdGV4dCBsaW5rIOKGkiBjYXNlLXN0dWR5IGRldGFpbCBwYWdlOiBcIlZJRVcgVFJVRSBTVE9SWVwiICsgYXJyb3dcbiAgJl9fc3RvcnktbGluayB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IGliLXJlbSgxNnB4KTtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG5cbiAgICBAaW5jbHVkZSBpYi10eXBlKFwibGFiZWwtbWVkaXVtXCIpO1xuXG4gICAgY29sb3I6ICNmYWZhZmE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgJjpob3ZlciAuc24tY29udGVudC1zbGlkZXJfX3N0b3J5LWxpbmstYXJyb3cge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg0cHgsIDAsIDApO1xuICAgIH1cblxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lOiAycHggc29saWQgI2ZhZmFmYTtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiA0cHg7XG4gICAgfVxuICB9XG5cbiAgJl9fc3RvcnktbGluay10ZXh0IHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDVweDtcbiAgICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAxcHg7XG4gIH1cblxuICAmX19zdG9yeS1saW5rLWFycm93IHtcbiAgICBmbGV4OiBub25lO1xuICAgIGZpbGw6IGN1cnJlbnRjb2xvcjtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjNzIGN1YmljLWJlemllciguMjUsIC40NiwgLjQ1LCAuOTQpO1xuICB9XG5cbiAgLy8gS2V5IEltcGFjdHMgY2xvc2UgYnV0dG9uIChtb2JpbGUpIOKAlCBzaGFyZXMgdGhlIC5pYi1idG4gc3lzdGVtXG4gIC8vIChpYi1idG4tLXNlY29uZGFyeS1saWdodCBpYi1idG4tLWljb24tb25seSkgZm9yIGxheW91dC9zaXppbmc7IHRoZXNlXG4gIC8vIG92ZXJyaWRlcyBnaXZlIGl0IHRoZSBnbGFzcy1vbi1waG90byBsb29rOiBuZWFyLXRyYW5zcGFyZW50IGZpbGwsXG4gIC8vIG5lYXItb3BhcXVlIHdoaXRlIGJvcmRlciwgbm8gcGVhY2ggZGVwdGgtYmxvY2suXG4gICZfX3JlYWQtbGluayB7XG4gICAgJi5pYi1idG46OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmliLWJ0bl9faW5uZXIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2N0YSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAyLjVyZW07XG4gICAgYm90dG9tOiAyLjVyZW07XG4gICAgZm9udC1mYW1pbHk6ICRpYi1mb250LWFjY2VudDtcbiAgICBmb250LXNpemU6IG1heCguODEyNXJlbSwgMTJweCk7IC8vIDEycHggZmxvb3IgdW5kZXIgdGhlIGZsdWlkIHJvb3RcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQ6ICRfc24tY29yYWw7XG4gICAgcGFkZGluZzogLjg3NXJlbSAxLjM3NXJlbTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4zcyBlYXNlO1xuICAgIGJvcmRlcjogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbWluLWhlaWdodDogNTBweDtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2RkNWI0NDsgLy8gJF9zbi1jb3JhbCBkYXJrZW5lZCB+OCVcbiAgICB9XG5cbiAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgb3V0bGluZTogMnB4IHNvbGlkICNmZmY7XG4gICAgICBvdXRsaW5lLW9mZnNldDogM3B4O1xuICAgIH1cbiAgfVxuXG4gIC8vIOKUgOKUgCBLZXkgSW1wYWN0cyBwYW5lbCDigJQgZ3Jvd3Mgb3V0IG9mIHRoZSBDVEEgYnV0dG9uIG9uIGNsaWNrIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAvLyBBIHRyYW5zZm9ybS1vcmlnaW4gYW5jaG9yIHBvaW50IGNhbiBvbmx5IG1pbWljIFwiY29taW5nIGZyb20gdGhlIGJ1dHRvblwiO1xuICAvLyB0aGUgcGFuZWwncyB1bi1zY2FsZWQgYm94IGlzIHN0aWxsIHRoZSBmdWxsIHNsaWRlLWhlaWdodCByZWN0YW5nbGUsIHNvIGFueVxuICAvLyBmaXhlZC1wZXJjZW50YWdlIG9yaWdpbiBuZWFyIHRoZSBjb3JuZXIgc3RpbGwgcmVhZHMgYXMgXCJncm93cyBmcm9tIHRoZVxuICAvLyBjb3JuZXJcIiwgbm90IHRoZSBDVEEuIEluc3RlYWQgSlMgbWVhc3VyZXMgdGhlIENUQSdzIGFuZCBwYW5lbCdzIHJlYWwgcmVjdHNcbiAgLy8gb24gY2xpY2sgYW5kIHdyaXRlcyB0aGUgZXhhY3QgdHJhbnNsYXRlL3NjYWxlIG5lZWRlZCB0byBtYWtlIHRoZSBwYW5lbCdzXG4gIC8vICpjbG9zZWQqIHN0YXRlIHBpeGVsLW1hdGNoIHRoZSBDVEEncyBib3ggKHNlZSBvcGVuSW1wYWN0cygpIGluXG4gIC8vIHNjcm9sbC10YWJzLXNlY3Rpb24uanMpIOKAlCBhIEZMSVAtc3R5bGUgdHJhbnNmb3JtOiB0cmFuc2Zvcm0tb3JpZ2luIHNpdHMgYXRcbiAgLy8gdGhlIHBhbmVsJ3Mgb3duIHRvcC1sZWZ0IHNvIHNjYWxlIHNocmlua3MgdG93YXJkIHRoYXQgY29ybmVyIHdpdGhvdXRcbiAgLy8gbW92aW5nIGl0LCB0aGVuIHRyYW5zbGF0ZSBzaGlmdHMgaXQgb250byB0aGUgQ1RBJ3MgdG9wLWxlZnQuIFRoZSBvcGVuXG4gIC8vIHN0YXRlICh0cmFuc2xhdGUoMCwwKSBzY2FsZSgxLDEpKSBpcyBhIGZpeGVkIHRhcmdldCByZWdhcmRsZXNzIG9mIHRoZVxuICAvLyB2YXJzLCBzbyBpdCBhbHdheXMgcmVzb2x2ZXMgdG8gdGhlIHBhbmVsJ3MgbmF0dXJhbCBmdWxsIHBvc2l0aW9uL3NpemUuXG4gICZfX2ltcGFjdHMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMCAwIDAgYXV0bztcbiAgICB3aWR0aDogJF9pbXBhY3RzLXBhbmVsLXdpZHRoO1xuICAgIHotaW5kZXg6IDM7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUodmFyKC0taW1wYWN0cy14LCAwKSwgdmFyKC0taW1wYWN0cy15LCAwKSlcbiAgICAgIHNjYWxlKHZhcigtLWltcGFjdHMtc2NhbGUteCwgLjE1KSwgdmFyKC0taW1wYWN0cy1zY2FsZS15LCAuMTUpKTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAgIC8vIENsb3NpbmcgbGVnOiBzaHJpbmsgYmFjayBvbnRvIHRoZSBidXR0b24sIGhvbGRpbmcgZnVsbHkgb3BhcXVlIGZvciBtb3N0XG4gICAgLy8gb2YgdGhlIHRyYXZlbDsgdmlzaWJpbGl0eSBtdXN0IGJlIGRlbGF5ZWQgcGFzdCB0aGUgdHJhbnNmb3JtIG9yIHRoZVxuICAgIC8vIHBhbmVsIHNuYXBzIGludmlzaWJsZSB0aGUgaW5zdGFudCB0aGUgY2xhc3MgaXMgcmVtb3ZlZCAodmlzaWJpbGl0eSBpc1xuICAgIC8vIGRpc2NyZXRlIOKAlCBpdCBkb2Vzbid0IHR3ZWVuLCBpdCBmbGlwcyB3aGVuIGl0cyB0cmFuc2l0aW9uIFwiZW5kc1wiKS5cbiAgICB0cmFuc2l0aW9uOlxuICAgICAgdHJhbnNmb3JtIC41NXMgY3ViaWMtYmV6aWVyKC42LCAwLCAuNCwgMSksXG4gICAgICBvcGFjaXR5IC4yNXMgZWFzZSAuM3MsXG4gICAgICB2aXNpYmlsaXR5IDBzIGxpbmVhciAuNTVzO1xuXG4gICAgLy8gTm8gd2lsbC1jaGFuZ2U6IHRoaXMgcGFuZWwgb25seSBtb3ZlcyBvbiBhbiBleHBsaWNpdCBjbGljaywgc28gdGhlcmUgaXNcbiAgICAvLyBub3RoaW5nIHRvIGhpbnQgYWhlYWQgb2Yg4oCUIGFsbCBpdCBib3VnaHQgd2FzIGEgdGhpcmQgcGVybWFuZW50bHlcbiAgICAvLyBjb21wb3NpdGVkIGZ1bGwtY2FyZCBsYXllciBwZXIgc2xpZGUuIChUaGUgc2xpZGVzIHRoZW1zZWx2ZXMga2VlcCB0aGVpcnM6XG4gICAgLy8gdGhleSBhbmltYXRlIGNvbnRpbnVvdXNseSBvbiBzY3JvbGwsIHNvIHRoZSBoaW50IGlzIGVhcm5lZCB0aGVyZS4pXG4gIH1cblxuICAmX19zbGlkZS0taW1wYWN0cy1vcGVuICZfX2ltcGFjdHMge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApIHNjYWxlKDEsIDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcblxuICAgIC8vIE9wZW5pbmcgbGVnOiBtaXJyb3JzIHRoZSBjbG9zaW5nIGxlZyDigJQgc2FtZSBkdXJhdGlvbiBhbmQgZWFzaW5nLCBqdXN0XG4gICAgLy8gcnVuIGluIHJldmVyc2Ug4oCUIHNvIG9wZW4gYW5kIGNsb3NlIHJlYWQgYXMgb25lIHN5bW1ldHJpYyBtb3Rpb24uXG4gICAgLy8gT3BhY2l0eSBzdGlsbCBsYW5kcyBhbG1vc3QgaW5zdGFudGx5ICh1bmxpa2UgdGhlIGNsb3NlJ3MgZGVsYXllZCBmYWRlKTpcbiAgICAvLyB0aGUgcGFuZWwgbXVzdCBhbHJlYWR5IGJlIHNvbGlkIHdoaWxlIGJ1dHRvbi1zaXplZCwgb3IgdGhlIFwiZ3Jvd3Mgb3V0XG4gICAgLy8gb2YgdGhlIGJ1dHRvblwiIGZyYW1lcyBhcmUgaW52aXNpYmxlLlxuICAgIHRyYW5zaXRpb246XG4gICAgICB0cmFuc2Zvcm0gLjU1cyBjdWJpYy1iZXppZXIoLjYsIDAsIC40LCAxKSxcbiAgICAgIG9wYWNpdHkgLjE1cyBlYXNlLW91dCxcbiAgICAgIHZpc2liaWxpdHkgMHM7XG4gIH1cblxuICAmX19zbGlkZS0taW1wYWN0cy1vcGVuICZfX2N0YSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gIC8vIENhcmQgZGltcyBzbGlnaHRseSBiZWhpbmQgdGhlIHBhbmVsIGFzIGl0IG9wZW5zIOKAlCBzY29wZWQgdG8gdGhlXG4gIC8vIG9wZW4gY2FyZCBvbmx5IHZpYSB0aGUgbW9kaWZpZXIsIHNvIHNpYmxpbmcgc2xpZGVzIGFyZSB1bmFmZmVjdGVkLlxuICAmX19pbXBhY3RzLW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICBiYWNrZ3JvdW5kOlxuICAgICAgbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYigxMCwgMzMsIDk1LCAwKSwgcmdiKDEwLCAzMywgOTUsIDApKSxcbiAgICAgIGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgMzQxLjc5ZGVnLFxuICAgICAgICAjNDYyZjgyIC0yNi41NSUsXG4gICAgICAgICNiNTQxOGIgMjAuMzQlLFxuICAgICAgICAjZjE2ZjU4IDYxLjQ0JVxuICAgICAgKTtcbiAgfVxuXG4gIC8vIE5vdyB0aGUgc2hhcmVkIC5pYi1idG4gY29tcG9uZW50IChpYi1idG4tLXNlY29uZGFyeS1saWdodCBpYi1idG4tLWljb24tb25seSxcbiAgLy8gcGx1cyB0aGUgLnNuLWNvbnRlbnQtc2xpZGVyX19yZWFkLWxpbmsgXCJnbGFzc1wiIGZpbGwvYm9yZGVyIG92ZXJyaWRlcykg4oCUXG4gIC8vIHRoaXMgcnVsZSBvbmx5IG5lZWRzIHRvIHBsYWNlIGl0OyBmaWxsLCBib3JkZXIsIGNsaXAgYW5kIGhvdmVyL2ZvY3VzIHN0YXRlc1xuICAvLyBhbGwgY29tZSBmcm9tIHRoYXQgc2hhcmVkIHN5c3RlbS5cbiAgJl9faW1wYWN0cy1jbG9zZS5pYi1idG4ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEuMjVyZW07XG4gICAgcmlnaHQ6IDEuMjVyZW07XG5cbiAgICAvLyBBYm92ZSBfX2ltcGFjdHMtbGlzdCAoei1pbmRleDogMSk6IHRoYXQgbGlzdCBpcyBET00tbGF0ZXIgYW5kIGZ1bGwtaGVpZ2h0LFxuICAgIC8vIHNvIGF0IGVxdWFsIHotaW5kZXggaXRzICh0cmFuc3BhcmVudCBidXQgaGl0LXRlc3RhYmxlKSBib3ggd291bGQgc2l0IG9uXG4gICAgLy8gdG9wIG9mIHRoaXMgYnV0dG9uIGFuZCBzd2FsbG93IHRoZSBjbGljayDigJQgdGhpcyBpcyB3aHkgY2xvc2luZyBzaWxlbnRseVxuICAgIC8vIGZhaWxlZCBvbiBtb2JpbGUgZGVzcGl0ZSB0aGUgw5cgc3RpbGwgYmVpbmcgdmlzaWJsZSB1bmRlcm5lYXRoLlxuICAgIHotaW5kZXg6IDI7XG4gICAgd2lkdGg6IDIuNXJlbTtcbiAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgfVxuXG4gICZfX2ltcGFjdHMtbGlzdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDEuNzVyZW07XG4gICAgcGFkZGluZzogMi41cmVtIDRyZW0gMi41cmVtIDJyZW07XG4gIH1cblxuICAmX19pbXBhY3Qge1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjc1cmVtO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNzUzNjhlO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAmX19pbXBhY3QtbGFiZWwge1xuICAgIGZvbnQtZmFtaWx5OiAkaWItZm9udC1hY2NlbnQ7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBtYXJnaW4tYm90dG9tOiAuMzc1cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAmX19pbXBhY3QtZGVzYyB7XG4gICAgZm9udC1mYW1pbHk6ICRpYi1mb250LWJvZHk7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBtYXJnaW4tYm90dG9tOiAuNzVyZW07XG4gIH1cblxuICAmX19pbXBhY3QtdmFsdWUge1xuICAgIGZvbnQtZmFtaWx5OiAkaWItZm9udC1oZWFkaW5nO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxuXG4gIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgJl9fc2xpZGUge1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyDilIDilIAgU2NyZWVuICjiiaQxMDI0cHgpIOKAlCBob3Jpem9udGFsIHBlZWsgY2Fyb3VzZWwgKHJvb3QgZm9udCBiYWNrIGF0IDEwMCUpIOKUgOKUgFxuICAvLyBTYW1lIHNjcm9sbC1kcml2ZW4gZ29UbygpL3JlbC1wb3NpdGlvbiBjbGFzc2VzIGFzIGRlc2t0b3Ag4oCUIG9ubHkgdGhlXG4gIC8vIHByZXNlbnRhdGlvbiBjaGFuZ2VzLCBleGFjdGx5IGxpa2UgdGhlIGhvbWVwYWdlIHNoaXAgZm9sZCdzIG93biBtb2JpbGVcbiAgLy8gYnJlYWtwb2ludDogYWN0aXZlIGNhcmQgY2VudGVyZWQsIHByZXYvbmV4dCBjYXJkcyBwZWVrIGZyb20gdGhlIHNpZGUgZWRnZXMgc2NhbGVkXG4gIC8vIGRvd24gYW5kIGRpbW1lZCwgcGFzc2VkIGNhcmRzIHNsaWRlIGZ1bGx5IG9mZiB0byB0aGUgbGVmdC5cbiAgQGluY2x1ZGUgcmVzcG9uZC10bygkaWItYnAtdGFibGV0KSB7XG4gICAgLy8gTm8gbWFycXVlZSBjb21wZXRpbmcgZm9yIHNwYWNlIG9uIG1vYmlsZSAoaXQncyBpYi1kZXNrdG9wLW9ubHkpLCBzbyB0aGVcbiAgICAvLyBkZWNrIGdldHMgdGhlIGZ1bGwgc3RpY2t5IHZpZXdwb3J0IGhlaWdodCBpbnN0ZWFkIG9mIHNoYXJpbmcgaXQuIFRoZVxuICAgIC8vIGhlYWRlciBpcyBmaXhlZCAobm90IHBhcnQgb2YgZG9jdW1lbnQgZmxvdyksIHNvIHBhZGRpbmctdG9wIGlzIHJlYWxcbiAgICAvLyBicmVhdGhpbmcgcm9vbSwgbm90IGp1c3QgdGhlIHN0aWNreSBgdG9wYCBvZmZzZXQg4oCUIGhvcml6b250YWwgaW5zZXQgaXNcbiAgICAvLyBhbHJlYWR5IGhhbmRsZWQgYnkgZWFjaCBzbGlkZSdzIG93biBsZWZ0L3dpZHRoIChubyBuZWVkIHRvIGRvdWJsZSBpdCBoZXJlKS5cbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSB2YXIoLS1zbi1oZHIpKTtcbiAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcblxuICAgICZfX2RlY2sge1xuICAgICAgaGVpZ2h0OiA5MCU7XG4gICAgfVxuXG4gICAgJl9fc2xpZGVzIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IC8vIGNsaXBzIHRoZSBob3Jpem9udGFsIHBlZWtzIHRvIHRoZSBjYXJkIHJvd1xuICAgIH1cblxuICAgICZfX3NsaWRlIHtcbiAgICAgIGxlZnQ6IDEuMjVyZW07XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMi41cmVtKTtcbiAgICAgIHBhZGRpbmc6IDEuNXJlbSAxLjVyZW0gNHJlbTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygxMDAlICsgMnB4KSkgc2NhbGUoLjk1KTtcbiAgICB9XG5cbiAgICAvLyBTYW1lIGNvdW50LWFnbm9zdGljIHJlbC1wb3NpdGlvbiBjbGFzc2VzIGFzIGRlc2t0b3AgYWJvdmUsIGp1c3QgYVxuICAgIC8vIGRpZmZlcmVudCBtb2JpbGUtb25seSBtZWFuaW5nOiBvbmx5IHRoZSBpbW1lZGlhdGUgbmVpZ2hib3Igb24gZWFjaFxuICAgIC8vIHNpZGUgcGVla3MgKHRyYW5zbGF0ZVgsIG5vdCB0aGUgdmVydGljYWwgc3RhY2spIOKAlCBhbnl0aGluZyAyKyBzbGlkZXNcbiAgICAvLyBiYWNrIGZsaWVzIGZ1bGx5IG9mZi1sZWZ0LCBhbmQgYW55dGhpbmcgMisgYWhlYWQganVzdCBrZWVwcyB0aGVcbiAgICAvLyBkZWZhdWx0IHF1ZXVlZC1yaWdodCB0cmFuc2Zvcm0gc2V0IG9uICZfX3NsaWRlIGFib3ZlIChubyBleHBsaWNpdFxuICAgIC8vIGNsYXNzIG5lZWRlZCDigJQgdGhhdCdzIHdoeSB0aGVyZSdzIG5vIC0tYWZ0ZXItMiBydWxlIGluIHRoaXMgYmxvY2spLlxuICAgICZfX3NsaWRlLS1jdXJyZW50IHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgc2NhbGUoMSk7XG4gICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgIHotaW5kZXg6IDQ7XG4gICAgfVxuXG4gICAgJl9fc2xpZGUtLWJlZm9yZS1mYXIge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKC0xMDAlIC0gMTJweCkpIHNjYWxlKDEpO1xuICAgIH1cblxuICAgICZfX3NsaWRlLS1iZWZvcmUtMSB7XG4gICAgICBvcGFjaXR5OiAuNTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKC0xMDAlIC0gNHB4KSkgc2NhbGUoLjk1KTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgei1pbmRleDogMztcbiAgICB9XG5cbiAgICAmX19zbGlkZS0tYWZ0ZXItMSB7XG4gICAgICBvcGFjaXR5OiAuNTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKDEwMCUgKyA0cHgpKSBzY2FsZSguOTUpO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB6LWluZGV4OiAzO1xuICAgIH1cblxuICAgICZfX2JnIHtcbiAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0O1xuICAgIH1cblxuICAgICZfX3NjcmltIHtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgOTBkZWcsXG4gICAgICAgIHJnYigyNywgNjUsIDE2MSwgLjYpIDAlLFxuICAgICAgICByZ2IoMTI1LCA1NCwgMTQxLCAuNikgNjkuNzIlLFxuICAgICAgICByZ2IoMjE3LCA3NCwgMTMxLCAuNikgMTI0LjElXG4gICAgICApO1xuICAgIH1cblxuICAgICZfX2V5ZWJyb3cge1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgIHdpZHRoOiBhdXRvOyAvLyBkZXNrdG9wIGNsZWFycyB0aGUgS2V5IEltcGFjdHMgcGFuZWw7IG1vYmlsZSBoYXMgaXRzIG93biBsYXlvdXRcbiAgICB9XG5cbiAgICAmX190YWdzIHtcbiAgICAgIGdhcDogLjM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgfVxuXG4gICAgJl9fdGFnIHtcbiAgICAgIGZvbnQtc2l6ZTogLjc1cmVtO1xuICAgIH1cblxuICAgICZfX2hlYWRpbmcge1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBmb250LXdlaWdodDogNTAwOyAvLyBib2xkZXIgdGhhbiB0aGUgZGVza3RvcCA1MDAg4oCUIG1hdGNoZXMgRmlnbWEgbW9iaWxlIHNwZWNcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyAvLyBjbGVhcnMgdGhlIGJvdHRvbS1yaWdodCBDVEEgcm93XG4gICAgfVxuXG4gICAgJl9fY3RhIHtcbiAgICAgIHJpZ2h0OiAxLjI1cmVtO1xuICAgICAgYm90dG9tOiAxcmVtO1xuICAgICAgcGFkZGluZzogLjc1cmVtIDEuMTI1cmVtO1xuICAgICAgZm9udC1zaXplOiAuNzVyZW07XG4gICAgICBtaW4taGVpZ2h0OiAzOHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB9XG5cbiAgICAvLyBJbXBhY3RzIGJlY29tZXMgYSBib3R0b20gc2hlZXQg4oCUIG5vIHJvb20gZm9yIGEgc2lkZSBwYW5lbCBhdCBjYXJkIHdpZHRoXG4gICAgJl9faW1wYWN0cyB7XG4gICAgICBpbnNldDogYXV0byAwIDA7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgfVxuXG4gICAgJl9fc2xpZGUtLWltcGFjdHMtb3BlbiAmX19pbXBhY3RzIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTJweCk7XG4gICAgfVxuXG4gICAgLy8gUGFuZWwgYWxyZWFkeSBjYXJyaWVzIGl0cyBvd24gZ3JhZGllbnQgc2NyaW0g4oCUIGhpZGUgdGhlIGNhcmQncyBvd25cbiAgICAvLyBwaG90byBzY3JpbSB1bmRlcm5lYXRoIHdoaWxlIEtleSBJbXBhY3RzIGlzIG9wZW4uXG4gICAgJl9fc2xpZGUtLWltcGFjdHMtb3BlbiAmX19zY3JpbSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxuICAgICZfX2ltcGFjdHMtb3ZlcmxheSB7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgIDEzNy4xMWRlZyxcbiAgICAgICAgcmdiKDI0MSwgMTExLCA4OCwgLjkyKSAxMi40MiUsXG4gICAgICAgIHJnYigxODEsIDY1LCAxMzksIC45MikgNzMuMTIlLFxuICAgICAgICByZ2IoNzAsIDQ3LCAxMzAsIC45MikgMTY4LjIyJVxuICAgICAgKTtcbiAgICB9XG5cbiAgICAmX19pbXBhY3RzLWxpc3Qge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgZ2FwOiAxLjI1cmVtO1xuXG4gICAgICAvLyBFeHRyYSB0b3AgY2xlYXJhbmNlIOKAlCB0aGUgY2xvc2UgYnV0dG9uIHNpdHMgdG9wOjEuMjVyZW0sIGhlaWdodDoyLjVyZW1cbiAgICAgIC8vIChib3R0b20gZWRnZSB+NjBweCBkb3duKTsgdGhlIG9sZCAycmVtIHRvcCBwYWRkaW5nIHB1dCB0aGUgZmlyc3RcbiAgICAgIC8vIG1ldHJpYyByaWdodCB1bmRlcm5lYXRoIGl0LlxuICAgICAgcGFkZGluZzogNC41cmVtIDEuMjVyZW0gMnJlbTtcbiAgICB9XG5cbiAgICAmX19pbXBhY3QtdmFsdWUge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyAvLyBiaWdnZXIgdGhhbiBkZXNrdG9wJ3MgMzIvMTcyOCByYXRpbyDigJQgbWF0Y2hlcyBGaWdtYSBtb2JpbGUgc3BlY1xuICAgIH1cbiAgfVxufVxuXG4vLyDilIDilIAgU2luZ2xlLXN0b3J5IGRlY2s6IHNsaWRlciBnb2VzIGZyb20gc3RpY2t5IHN0YWdlIOKGkiBwbGFpbiBpbi1mbG93IGJsb2NrIOKUgOKUgOKUgOKUgOKUgFxuLy8gUGFpcnMgd2l0aCAmX19wYW5lbC0tZGVjaydzIDpoYXMoKSBydWxlIGFib3ZlICh3aGljaCBmbGF0dGVucyB0aGUgcGFuZWwpLlxuLy8gVHdvIGVudHJ5IHBvaW50cyByZXNvbHZpbmcgdG8gdGhlIHNhbWUgcnVsZXM6XG4vLyAgIOKAoiA6aGFzKCkgY29udGV4dCDigJQgcHVyZSBDU1MsIGNvcnJlY3Qgb24gZmlyc3QgcGFpbnQsIG5vIEpTLXRpbWluZyByaXNrLlxuLy8gICDigKIgLnNuLWNvbnRlbnQtc2xpZGVyLS1mbGF0IOKAlCBhZGRlZCBieSBzY3JvbGwtdGFicy1zZWN0aW9uLmpzIGFzIHRoZVxuLy8gICAgIGZhbGxiYWNrIGZvciBlbmdpbmVzIHdpdGhvdXQgOmhhcygpIChpdCBhbHNvIHN0cmlwcyAtLWRlY2sgdGhlcmUpLlxuLy8gVGhlIDpoYXMoKSBjb21wb3VuZCBpcyAoMCw0LDApIHNvIGl0IGNsZWFycyBgLnNuLWNvbnRlbnQtc2xpZGVyYCdzIG93blxuLy8gYHBvc2l0aW9uOiBzdGlja3lgIC8gYGhlaWdodGAgYW5kIHRoZWlyIOKJpDEwMjRweCBvdmVycmlkZXMgb3V0cmlnaHQ7IHRoZSBiYXJlXG4vLyBjbGFzcyByZWxpZXMgb24gc291cmNlIG9yZGVyIChkZWNsYXJlZCBoZXJlLCBhZnRlciB0aGUgbWFpbiBibG9jaykuXG4uc24tY29udGVudC1zbGlkZXItLWZsYXQsXG4uc24tc2Nyb2xsLXRhYnMtc2VjdGlvbl9fcGFuZWwtLWRlY2s6aGFzKC5zbi1jb250ZW50LXNsaWRlcl9fc2xpZGVzID4gLnNuLWNvbnRlbnQtc2xpZGVyX19zbGlkZTpvbmx5LWNoaWxkKSAuc24tY29udGVudC1zbGlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuXG4gIC8vIOKJpDEwMjRweCB0aGUgZGVjay9zbGlkZXMgYXJlIHNpemVkIGFzICVzIG9mIHRoZSAoZm9ybWVybHkgcGlubmVkLCAxMDB2aClcbiAgLy8gc3RhZ2U7IHdpdGggdGhlIHN0YWdlIG5vdyBgaGVpZ2h0OiBhdXRvYCB0aG9zZSBwZXJjZW50YWdlcyBjb2xsYXBzZSB0b1xuICAvLyB6ZXJvLCBzbyB0aGUgbG9uZSBjYXJkIG5lZWRzIGFuIGV4cGxpY2l0IGJveCBiYWNrLlxuICBAaW5jbHVkZSByZXNwb25kLXRvKCRpYi1icC10YWJsZXQpIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZzogMDtcblxuICAgIC5zbi1jb250ZW50LXNsaWRlcl9fZGVjayB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLnNuLWNvbnRlbnQtc2xpZGVyX19zbGlkZXMge1xuICAgICAgaGVpZ2h0OiBjbGFtcCgyMHJlbSwgNjh2aCwgMzByZW0pO1xuICAgIH1cbiAgfVxufVxuXG4vLyDilIDilIAgVGFiIDM6IFRydXN0aW1vbmlhbHMg4oCUIHNpbmdsZSBzdGF0aWMgdGVzdGltb25pYWwgKG5vIHNsaWRlcikg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4uc24tdGVzdGltb25pYWwtc2xpZGVyIHtcbiAgZGlzcGxheTogZmxleDtcblxuICAvLyBOb3RjaGVkIGNvcm5lcnMgV0lUSE9VVCBjbGlwLXBhdGgg4oCUIHNlZSAuc24tYWNjb3JkaW9uIGFib3ZlIGZvciB3aHkgdGhlXG4gIC8vIEdQVSBjbGlwIG1hc2sgaXMgYXZvaWRlZCB0aHJvdWdob3V0IHRoaXMgc2VjdGlvbi4gVW5saWtlIHRoZSBvdGhlciB0d29cbiAgLy8gY29udGFpbmVycyB0aGlzIG9uZSBkb2VzIGhhdmUgYSByZWFsIGJhY2tncm91bmQsIHNvIHRoZSBjaGFtZmVyIGlzXG4gIC8vIGdlbnVpbmVseSB2aXNpYmxlIGFuZCBoYXMgdG8gYmUgcmVwcm9kdWNlZCByYXRoZXIgdGhhbiBqdXN0IGRyb3BwZWQ6XG4gIC8vIHR3byBjb3JuZXItc2l6ZWQgdHJpYW5nbGVzIHBhaW50ZWQgaW4gdGhlIHNlY3Rpb24ncyBvd24gYmFja2dyb3VuZCBjb2xvdXJcbiAgLy8gKCRpYi1iZy1wcmltYXJ5LCBzZXQgb24gLnNuLXNjcm9sbC10YWJzLXNlY3Rpb24pIHNpdCBvbiB0b3Agb2YgdGhlIGNhcmRcbiAgLy8gZmlsbCwgY3V0dGluZyB0aGUgc2FtZSAyMHB4IHRvcC1sZWZ0IC8gYm90dG9tLXJpZ2h0IGNvcm5lcnMgaWItbm90Y2ggZGlkLlxuICAvL1xuICAvLyBHcmFkaWVudHMgcmFzdGVyIG9uIHRoZSBvcmRpbmFyeSBwYWludCBwYXRoIOKAlCBubyBtYXNrLCBub3RoaW5nIHRvXG4gIC8vIG1pc2NvbXB1dGUg4oCUIGFuZCB0aGUgcmVzdWx0IGlzIHBpeGVsLWlkZW50aWNhbCBvdmVyIGEgc29saWQgcGFyZW50LlxuICAvLyBUaGUgaGFsZi1waXhlbCBmZWF0aGVyIG9uIGVhY2ggc3RvcCBrZWVwcyB0aGUgZGlhZ29uYWwgYW50aWFsaWFzZWQ7XG4gIC8vIGEgaGFyZCA1MCUgc3RvcCByZW5kZXJzIHZpc2libHkgamFnZ2VkLlxuICBiYWNrZ3JvdW5kOlxuICAgIGxpbmVhci1ncmFkaWVudChcbiAgICAgIDEzNWRlZyxcbiAgICAgICRpYi1iZy1wcmltYXJ5IGNhbGMoNTAlIC0gLjVweCksXG4gICAgICAjMDAwMCBjYWxjKDUwJSArIC41cHgpXG4gICAgKVxuICAgIHRvcCBsZWZ0IC8gMjBweCAyMHB4IG5vLXJlcGVhdCxcbiAgICBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAxMzVkZWcsXG4gICAgICAjMDAwMCBjYWxjKDUwJSAtIC41cHgpLFxuICAgICAgJGliLWJnLXByaW1hcnkgY2FsYyg1MCUgKyAuNXB4KVxuICAgIClcbiAgICBib3R0b20gcmlnaHQgLyAyMHB4IDIwcHggbm8tcmVwZWF0LFxuICAgICRpYi1iZy1zZWNvbmRhcnk7XG4gIHBhZGRpbmc6IGNsYW1wKDIwcHgsIDEuNzR2dywgMzBweCk7IC8vIDMwLzE3Mjgg4oCUIG1pbiAyMHB4IHBlciB1c2VyIHNwZWNcblxuICAvLyBCcmVhdGhpbmcgcm9vbSBpbnNpZGUgdGhlIDEwMHZoIGZsZXgtY2VudGVyZWQgcGFuZWw6IHRoZSBmaXhlZCBoZWFkZXJcbiAgLy8gKC0tc24taGRyLCBzZXQgb24gdGhlIHNlY3Rpb24gc2hlbGwpIGNvdmVycyB0aGUgdG9wIG9mIHRoZSB2aWV3cG9ydCwgc29cbiAgLy8gdGhlIGNhcmQgbmVlZHMgZXh0cmEgdG9wIGNsZWFyYW5jZSBiZXlvbmQgdGhlIHN5bW1ldHJpYyBjZW50ZXJpbmcsIHBsdXNcbiAgLy8gYSBzbWFsbGVyIGdhcCBhdCB0aGUgYm90dG9tLlxuICBtYXJnaW4tYmxvY2s6IGNhbGModmFyKC0tc24taGRyLCA5MnB4KSArICN7aWItcmVtKDI0cHgpfSkgaWItcmVtKDQ4cHgpO1xuICB0cmFuc2l0aW9uOiBhbGwgLjhzIGN1YmljLWJlemllciguMTYsIDEsIC4zLCAxKTtcblxuICAmX19leWVicm93IHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIEBpbmNsdWRlIGliLXR5cGUoXCJsYWJlbC1zbWFsbFwiKTtcbiAgICBjb2xvcjogJGliLXJlZC1kZXNpcmU7XG4gICAgbWFyZ2luOiAwIDAgaWItcmVtKDI4cHgpO1xuICB9XG5cbiAgJl9fc2xpZGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAvLyBGaWxsIHRoZSB2aWV3cG9ydCBsZWZ0IG92ZXIgYWZ0ZXIgdGhlIGhlYWRlciBjbGVhcmFuY2UsIHRoZSBjYXJkJ3Mgb3duXG4gICAgLy8gbWFyZ2lucy9wYWRkaW5nIGFuZCB0aGUgcGFuZWwgcGFkZGluZyDigJQgc28gdGhlIGNhcmQgcmVhZHMgdGFsbCB3aXRoXG4gICAgLy8gdmlzaWJsZSBzcGFjZSBhYm92ZSBhbmQgYmVsb3csIG5ldmVyIHRvdWNoaW5nIHRoZSBoZWFkZXIgb3IgZm9sZCBlZGdlLlxuICAgIG1pbi1oZWlnaHQ6IG1heChpYi1yZW0oMzgwcHgpLCBjYWxjKDEwMHZoIC0gdmFyKC0tc24taGRyLCA5MnB4KSAtICN7aWItcmVtKDI0MHB4KX0pKTtcbiAgfVxuXG4gIC8vIFRleHQtb25seSBjYXJkIOKAlCBjb250ZW50IGJsb2NrIGh1Z3MgdGhlIGxlZnQgd2l0aCBhIGdlbmVyb3VzIGluc2V0IGFuZFxuICAvLyBjYXBzIGl0cyB3aWR0aCBzbyB0aGUgcXVvdGUvZGl2aWRlciBzdG9wIH4yLzMgYWNyb3NzLCBwZXIgdGhlIG1vY2t1cC5cbiAgJl9fdGV4dC1jb2wge1xuICAgIGZsZXg6IDE7XG4gICAgbWF4LXdpZHRoOiBjbGFtcCg2NDBweCwgNjAuNzV2dywgMTA1MHB4KTsgLy8gY29udGVudCB6b25lIGluY2wuIGxlZnQgaW5zZXRcbiAgICBwYWRkaW5nOiBjbGFtcCg0MHB4LCA0LjYzdncsIDgwcHgpIC8vIHRvcFxuICAgICAgY2xhbXAoMjRweCwgMi43OHZ3LCA0OHB4KSAvLyByaWdodFxuICAgICAgY2xhbXAoNDBweCwgNC42M3Z3LCA4MHB4KSAvLyBib3R0b21cbiAgICAgIGNsYW1wKDMycHgsIDguMXZ3LCAxNDBweCk7IC8vIGxlZnRcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gICZfX2hlYWRpbmcge1xuICAgIEBpbmNsdWRlIGliLXR5cGUoXCJoZWFkbGluZS13ZWItbGFyZ2VcIiwgJGliLWZvbnQtaGVhZGluZyk7XG4gICAgY29sb3I6ICRpYi10ZXh0LXByaW1hcnk7XG4gICAgbWFyZ2luLWJvdHRvbTogaWItcmVtKDQwcHgpO1xuICAgIG1heC13aWR0aDogMjZjaDtcblxuICAgIGVtIHtcbiAgICAgIGNvbG9yOiAkaWItcmVkLWRlc2lyZTtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICB9XG4gIH1cblxuICAmX19xdW90ZSB7XG4gICAgQGluY2x1ZGUgaWItdHlwZShcImJvZHktbGFyZ2VcIiwgJGliLWZvbnQtYm9keSk7XG4gICAgY29sb3I6ICRpYi10ZXh0LXByaW1hcnk7XG4gICAgbWF4LXdpZHRoOiA2NWNoO1xuICB9XG5cbiAgLy8gRGl2aWRlciArIG5hbWUvcm9sZSBiZWxvdyB0aGUgcXVvdGVcbiAgJl9fcGVyc29uLW1ldGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDRweDtcbiAgICBtYXJnaW4tdG9wOiBpYi1yZW0oNDBweCk7XG4gICAgcGFkZGluZy10b3A6IGliLXJlbSg0MHB4KTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGliLXJlZC1wZWFjaDtcbiAgICBmb250LWZhbWlseTogJGliLWZvbnQtYm9keTtcbiAgfVxuXG4gICZfX21ldGEtbmFtZSB7XG4gICAgQGluY2x1ZGUgaWItdHlwZShcImxhYmVsLW1lZGl1bVwiKTtcbiAgICBjb2xvcjogJGliLXRleHQtcHJpbWFyeTtcbiAgfVxuXG4gICZfX21ldGEtcm9sZSB7XG4gICAgQGluY2x1ZGUgaWItdHlwZShcImNhcHRpb24tbGFyZ2VcIik7XG4gICAgY29sb3I6ICRpYi10ZXh0LXByaW1hcnk7XG4gIH1cblxuICAvLyDilIDilIAgU2NyZWVuICjiiaQxNDAwcHgpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICBAaW5jbHVkZSByZXNwb25kLXRvKCRpYi1icC1kZXNrdG9wKSB7XG4gICAgJl9fdGV4dC1jb2wge1xuICAgICAgbWF4LXdpZHRoOiBjbGFtcCg1NjBweCwgNjJ2dywgOTAwcHgpO1xuICAgICAgcGFkZGluZzogY2xhbXAoMjhweCwgMy41dncsIDU2cHgpIGNsYW1wKDE4cHgsIDIuMDl2dywgMzBweClcbiAgICAgICAgY2xhbXAoMjhweCwgMy41dncsIDU2cHgpIGNsYW1wKDI0cHgsIDUuNXZ3LCA4MHB4KTtcbiAgICB9XG4gIH1cblxuICAvLyDilIDilIAgU2NyZWVuICjiiaQxMjAwcHgpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICBAaW5jbHVkZSByZXNwb25kLXRvKCRpYi1icC1sYXB0b3ApIHtcbiAgICBmbGV4OiBub25lOyAvLyBkb24ndCBzdHJldGNoIHRvIGZpbGwgdGhlIDEwMHZoIHBhbmVsIOKAlCBzaXplIHRvIGNvbnRlbnRcblxuICAgICZfX3NsaWRlIHtcbiAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLy8g4pSA4pSAIFNjcmVlbiAo4omkMTAyNHB4KSDigJQgc3RhY2tlZCBzdGF0aWMgY2FyZCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgQGluY2x1ZGUgcmVzcG9uZC10bygkaWItYnAtdGFibGV0KSB7XG4gICAgLy8gTW9iaWxlIGRyb3BzIHRoZSBub3RjaC4gVGhpcyB1c2VkIHRvIGJlIGBjbGlwLXBhdGg6IG5vbmVgOyBub3cgdGhhdCB0aGVcbiAgICAvLyBjaGFtZmVyIGlzIHBhaW50ZWQgYXMgdHdvIGNvcm5lciBncmFkaWVudHMgaW5zdGVhZCwgcmVzZXR0aW5nIHRoZVxuICAgIC8vIGJhY2tncm91bmQgdG8gdGhlIGZsYXQgZmlsbCBpcyB3aGF0IHJlbW92ZXMgaXQuXG4gICAgYmFja2dyb3VuZDogJGliLWJnLXNlY29uZGFyeTtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHBhZGRpbmc6IDI0cHggMjBweDtcbiAgICBtYXJnaW46IDQ4cHggMDtcblxuICAgICZfX2V5ZWJyb3cge1xuICAgICAgbWFyZ2luOiAwIDAgMjRweDtcbiAgICB9XG5cbiAgICAmX190ZXh0LWNvbCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgICZfX2hlYWRpbmcge1xuICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDM4cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLS4wNGVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDI1MDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgfVxuXG4gICAgJl9fcXVvdGUge1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG5cbiAgICAgIC8vICY6OmJlZm9yZSB7XG4gICAgICAvLyAgIGNvbnRlbnQ6IFwiXFwyMDFDXCI7XG4gICAgICAvLyB9XG5cbiAgICAgIC8vICY6OmFmdGVyIHtcbiAgICAgIC8vICAgY29udGVudDogXCJcXDIwMURcIjtcbiAgICAgIC8vIH1cbiAgICB9XG5cbiAgICAvLyBObyBkaXZpZGVyIG9uIG1vYmlsZSDigJQgbmFtZS9yb2xlIHNpdHMgcmlnaHQgYmVsb3cgdGhlIHF1b3RlXG4gICAgJl9fcGVyc29uLW1ldGEge1xuICAgICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICB9XG5cbiAgICAmX19tZXRhLW5hbWUge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIH1cbiAgfVxufVxuXG4vLyDilIDilIAgVGFiIDQ6IEVudGVycHJpc2UgY2FyZHMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBPbmx5IGNhcmQgMSAoZ3JpZCB0b3AtbGVmdCkgYW5kIGNhcmQgNCAoZ3JpZCBib3R0b20tcmlnaHQpIGhhdmUgYSBjaGFtZmVyZWRcbi8vIGNvcm5lciAodG9wLWxlZnQgLyBib3R0b20tcmlnaHQgcmVzcGVjdGl2ZWx5KSDigJQgY2FyZHMgMiAmIDMgc3RheSBwbGFpblxuLy8gcmVjdGFuZ2xlcy4gY2xpcC1wYXRoIHdvdWxkIGNsaXAgYSByZWFsIGBib3JkZXJgL2Bib3gtc2hhZG93YCBhdCB0aGVcbi8vIGNoYW1mZXIsIHNvIHRoZSB0d28gbm90Y2ggbW9kaWZpZXJzIG1vdmUgYm9yZGVyICsgc2hhZG93IGludG8gcHNldWRvLVxuLy8gZWxlbWVudCBsYXllcnMgKGZyYW1lIGRvbnV0ICsgc2hhZG93IHBsYXRlKTsgcGxhaW4gY2FyZHMgdXNlIHJlYWwgQ1NTLlxuJF9jYXJkLWN1dDogMjRweDsgLy8gY29ybmVyIGNoYW1mZXIgc2l6ZVxuJF9jYXJkLXNoYWRvdzogNHB4OyAvLyBGaWdtYTogNHB4IDRweCAwIDAgI0ZGRDBEOCwgMXB4IHNvbGlkIGJvcmRlci1zZWNvbmRhcnlcblxuQG1peGluIF9jYXJkLW5vdGNoLXRsKCRjdXQpIHtcbiAgY2xpcC1wYXRoOiBwb2x5Z29uKCN7JGN1dH0gMCwgMTAwJSAwLCAxMDAlIDEwMCUsIDAgMTAwJSwgMCAjeyRjdXR9KTtcbn1cblxuQG1peGluIF9jYXJkLW5vdGNoLWJyKCRjdXQpIHtcbiAgY2xpcC1wYXRoOiBwb2x5Z29uKFxuICAgIDAgMCxcbiAgICAxMDAlIDAsXG4gICAgMTAwJSBjYWxjKDEwMCUgLSAjeyRjdXR9KSxcbiAgICBjYWxjKDEwMCUgLSAjeyRjdXR9KSAxMDAlLFxuICAgIDAgMTAwJVxuICApO1xufVxuXG4vLyBEb251dCBib3JkZXIgZnJhbWUsIHNpbmdsZSBjb3JuZXIgY3V0LiBEaWFnb25hbCBpcyBpbnNldCDiiJoyw5cgZGVlcGVyIHRoYW5cbi8vIHRoZSBzdHJhaWdodCBlZGdlcyBzbyBpdCByZWFkcyBhcyBhIHRydWUgJHQgc3Ryb2tlIChzZWUgcGFyYWxsYXgtY2FyZHMpLlxuQG1peGluIF9jYXJkLWZyYW1lLXRsKCRjdXQsICR0KSB7XG4gICRkaWFnOiAkdCAqIC40MTQyO1xuICBjbGlwLXBhdGg6IHBvbHlnb24oXG4gICAgLy8gb3V0ZXIgKGNsb2Nrd2lzZSkgKyBicmlkZ2UgYmFjayB0byBzdGFydFxuICAgICN7JGN1dH0gMCxcbiAgICAxMDAlIDAsXG4gICAgMTAwJSAxMDAlLFxuICAgIDAgMTAwJSxcbiAgICAwICN7JGN1dH0sXG4gICAgI3skY3V0fSAwLFxuICAgIC8vIGlubmVyIChjb3VudGVyLWNsb2Nrd2lzZSkg4oCUIGRpYWdvbmFsIGNvcnJlY3Rpb24gb25seSBhdCB0aGUgY3V0IGNvcm5lclxuICAgIGNhbGMoI3skY3V0fSArICN7JGRpYWd9KSAjeyR0fSxcbiAgICAjeyR0fSBjYWxjKCN7JGN1dH0gKyAjeyRkaWFnfSksXG4gICAgI3skdH0gY2FsYygxMDAlIC0gI3skdH0pLFxuICAgIGNhbGMoMTAwJSAtICN7JHR9KSBjYWxjKDEwMCUgLSAjeyR0fSksXG4gICAgY2FsYygxMDAlIC0gI3skdH0pICN7JHR9LFxuICAgIGNhbGMoI3skY3V0fSArICN7JGRpYWd9KSAjeyR0fVxuICApO1xufVxuXG5AbWl4aW4gX2NhcmQtZnJhbWUtYnIoJGN1dCwgJHQpIHtcbiAgJGRpYWc6ICR0ICogLjQxNDI7XG4gIGNsaXAtcGF0aDogcG9seWdvbihcbiAgICAvLyBvdXRlciAoY2xvY2t3aXNlKSArIGJyaWRnZSBiYWNrIHRvIHN0YXJ0XG4gICAgMCAwLFxuICAgIDEwMCUgMCxcbiAgICAxMDAlIGNhbGMoMTAwJSAtICN7JGN1dH0pLFxuICAgIGNhbGMoMTAwJSAtICN7JGN1dH0pIDEwMCUsXG4gICAgMCAxMDAlLFxuICAgIDAgMCxcbiAgICAvLyBpbm5lciAoY291bnRlci1jbG9ja3dpc2Ug4oCUIHJldmVyc2VkIHZzLiBvdXRlciwgb3IgdGhlIFwiaG9sZVwiIGZpbGxzIHNvbGlkXG4gICAgLy8gaW5zdGVhZCBvZiBjYXJ2aW5nIG91dCkg4oCUIGRpYWdvbmFsIGNvcnJlY3Rpb24gb25seSBhdCB0aGUgY3V0IGNvcm5lclxuICAgICN7JHR9IGNhbGMoMTAwJSAtICN7JHR9KSxcbiAgICBjYWxjKDEwMCUgLSAjeyRjdXR9IC0gI3skZGlhZ30pIGNhbGMoMTAwJSAtICN7JHR9KSxcbiAgICBjYWxjKDEwMCUgLSAjeyR0fSkgY2FsYygxMDAlIC0gI3skY3V0fSAtICN7JGRpYWd9KSxcbiAgICBjYWxjKDEwMCUgLSAjeyR0fSkgI3skdH0sXG4gICAgI3skdH0gI3skdH0sXG4gICAgI3skdH0gY2FsYygxMDAlIC0gI3skdH0pXG4gICk7XG59XG5cbi8vIE5vIGNsaXAtcGF0aCDigJQgc2FtZSByZWFzb25pbmcgYXMgLnNuLWFjY29yZGlvbiBhYm92ZTogdGhpcyBjb250YWluZXIgaGFzIG5vXG4vLyBiYWNrZ3JvdW5kIG9mIGl0cyBvd24gKHRoZSBub3RjaGVzIHlvdSBzZWUgaW4gdGhpcyB0YWIgYmVsb25nIHRvIHRoZVxuLy8gaW5kaXZpZHVhbCBfX2NhcmQtaW5uZXIgZWxlbWVudHMsIHdoaWNoIGRvIHRoZWlyIG93biBjbGlwcGluZyBhdCBjYXJkIHNpemUpLFxuLy8gc28gdGhlIHBvbHlnb24gcGFpbnRlZCBub3RoaW5nIGFuZCBvbmx5IGNsaXBwZWQgaXRzIGNoaWxkcmVuIGF3YXkuXG4uc24tZW50ZXJwcmlzZS1jYXJkcyB7XG4gIHBhZGRpbmc6IGNsYW1wKDE2cHgsIDEuNzR2dywgMzBweCk7IC8vIDMwLzE3MjhcbiAgdHJhbnNpdGlvbjogYWxsIC44cyBjdWJpYy1iZXppZXIoLjE2LCAxLCAuMywgMSk7XG5cbiAgJl9fZXllYnJvdyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBAaW5jbHVkZSBpYi10eXBlKFwibGFiZWwtc21hbGxcIik7XG4gICAgY29sb3I6ICRpYi1yZWQtZGVzaXJlO1xuICAgIG1hcmdpbi1ib3R0b206IGNsYW1wKDhweCwgLjkzdncsIDE2cHgpO1xuICB9XG5cbiAgJl9faGVhZGluZyB7XG4gICAgZm9udC1mYW1pbHk6ICRpYi1mb250LWhlYWRpbmc7XG4gICAgZm9udC1zaXplOiBjbGFtcChcbiAgICAgIDEuNXJlbSxcbiAgICAgIDIuMzF2dyxcbiAgICAgIDIuNXJlbVxuICAgICk7IC8vIDQwLzE3Mjgg4oaSIDIuNXJlbSBhdCBkZXNpZ24gd2lkdGhcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0uMDRlbTtcbiAgICBjb2xvcjogJGliLXRleHQtcHJpbWFyeTtcbiAgICBtYXgtd2lkdGg6IGNsYW1wKDM2MHB4LCAzMy41NnZ3LCA1ODBweCk7IC8vIDU4MC8xNzI4XG4gICAgbWFyZ2luLWJvdHRvbTogY2xhbXAoMjhweCwgMy40N3Z3LCA2MHB4KTsgLy8gNjAvMTcyOFxuICB9XG5cbiAgJl9fZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIGdhcDogY2xhbXAoMTBweCwgMS4wNHZ3LCAxOHB4KTsgLy8gMTgvMTcyOFxuICB9XG5cbiAgLy8gT3V0ZXIgaG9zdCDigJQgcG9zaXRpb25zIHRoZSBzaGFkb3cgcGxhdGUgKG5vdGNoIHZhcmlhbnRzIG9ubHkpIGFuZCBvd25zXG4gIC8vIHRoZSBzY3JvbGwtcmV2ZWFsIHRyYW5zaXRpb247IGxheW91dC9iYWNrZ3JvdW5kL2JvcmRlciBsaXZlIG9uIF9fY2FyZC1pbm5lci5cbiAgJl9fY2FyZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLy8gdmggZmxvb3IgcHJldmVudHMgY2FyZHMgZnJvbSBiZWluZyBzcXVhc2hlZCBvbiBzaG9ydC12aWV3cG9ydCBzY3JlZW5zXG4gICAgbWluLWhlaWdodDogY2xhbXAoMTgwcHgsIDIydmgsIDMwOHB4KTtcbiAgICB3aWxsLWNoYW5nZTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI0cHgpO1xuICAgIHRyYW5zaXRpb246XG4gICAgICBvcGFjaXR5IC42NXMgZWFzZSxcbiAgICAgIHRyYW5zZm9ybSAuOHMgY3ViaWMtYmV6aWVyKC4yNSwgLjQ2LCAuNDUsIC45NCk7XG5cbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDQge1xuICAgICAgJjpudGgtY2hpbGQoI3skaX0pIHtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogI3soJGkgLSAxKSAqIC4xfXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2hhZG93IHBsYXRlIOKAlCBvbmx5IG5vdGNoIHZhcmlhbnRzIG5lZWQgaXQ6IGNsaXAtcGF0aCB3b3VsZCBvdGhlcndpc2VcbiAgLy8gY2xpcCBhIHJlYWwgYm94LXNoYWRvdyBvZmYgYXQgdGhlIGNoYW1mZXIuIFBsYWluIGNhcmRzIHVzZSBDU1MgYm94LXNoYWRvd1xuICAvLyBkaXJlY3RseSBvbiBfX2NhcmQtaW5uZXIgKHNlZSBiZWxvdykg4oCUIG5vIHBzZXVkby1lbGVtZW50IHJlcXVpcmVkLlxuICAmX19jYXJkLS1ub3RjaC10bCxcbiAgJl9fY2FyZC0tbm90Y2gtYnIge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgaW5zZXQ6ICRfY2FyZC1zaGFkb3cgKC0kX2NhcmQtc2hhZG93KSAoLSRfY2FyZC1zaGFkb3cpICRfY2FyZC1zaGFkb3c7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIGJhY2tncm91bmQ6ICRpYi1yZWQtcGVhY2g7XG4gICAgfVxuICB9XG5cbiAgJl9fY2FyZC0tbm90Y2gtdGw6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgX2NhcmQtbm90Y2gtdGwoJF9jYXJkLWN1dCk7XG4gIH1cblxuICAmX19jYXJkLS1ub3RjaC1icjo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBfY2FyZC1ub3RjaC1icigkX2NhcmQtY3V0KTtcbiAgfVxuXG4gIC8vIENhcmQgZmFjZSDigJQgYmFja2dyb3VuZCwgbGF5b3V0LCBhbmQgKGZvciBwbGFpbiBjYXJkcykgcmVhbCBib3JkZXIgKyBzaGFkb3dcbiAgJl9fY2FyZC1pbm5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmc6IGNsYW1wKDE2cHgsIDEuNjJ2dywgMjhweCkgLy8gdG9wL3NpZGVzIDI4LzE3MjhcbiAgICAgIGNsYW1wKDE2cHgsIDEuNjJ2dywgMjhweCkgY2xhbXAoMjRweCwgMi4zMXZ3LCA0MHB4KTsgLy8gYm90dG9tIDQwLzE3MjhcbiAgICBiYWNrZ3JvdW5kOiAkaWItY3JlYW0tbWlzdDtcblxuICAgIC8vIDEuNXB4IHRvIG1hdGNoIHRoZSBub3RjaCB2YXJpYW50cycgZnJhbWUgc3Ryb2tlIGJlbG93IOKAlCBrZWVwcyBib3JkZXJcbiAgICAvLyB3ZWlnaHQgY29uc2lzdGVudCBhY3Jvc3MgYWxsIDQgY2FyZHNcbiAgICBib3JkZXI6IDEuNXB4IHNvbGlkICRpYi1ib3JkZXItc2Vjb25kYXJ5O1xuICAgIGJveC1zaGFkb3c6ICRfY2FyZC1zaGFkb3cgJF9jYXJkLXNoYWRvdyAwICRpYi1yZWQtcGVhY2g7XG4gIH1cblxuICAvLyBOb3RjaCB2YXJpYW50czogcmVhbCBib3JkZXIvc2hhZG93IG9mZiwgY2xpcHBlZCBmaWxsICsgZG9udXQgZnJhbWUgcHNldWRvIG9uXG4gICZfX2NhcmQtLW5vdGNoLXRsICZfX2NhcmQtaW5uZXIsXG4gICZfX2NhcmQtLW5vdGNoLWJyICZfX2NhcmQtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBpbnNldDogMDtcbiAgICAgIGJhY2tncm91bmQ6ICRpYi1ib3JkZXItc2Vjb25kYXJ5O1xuICAgIH1cbiAgfVxuXG4gICZfX2NhcmQtLW5vdGNoLXRsICZfX2NhcmQtaW5uZXIge1xuICAgIEBpbmNsdWRlIF9jYXJkLW5vdGNoLXRsKCRfY2FyZC1jdXQpO1xuXG4gICAgLy8gMS41cHggKG5vdCAxcHgpIOKAlCBhIHRydWUgMXB4IGhhaXJsaW5lIGluIHRoaXMgZ3JleSByZWFkcyBhcyBpbnZpc2libGVcbiAgICAvLyBvbiB0aGUgY3JlYW0gYmcgb25jZSBhbnRpLWFsaWFzaW5nIHNvZnRlbnMgaXQgKHNhbWUgZml4IGFzIHRoZVxuICAgIC8vIHBhcmFsbGF4LWNhcmRzIGZyYW1lKS5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgX2NhcmQtZnJhbWUtdGwoJF9jYXJkLWN1dCwgMS41cHgpO1xuICAgIH1cbiAgfVxuXG4gICZfX2NhcmQtLW5vdGNoLWJyICZfX2NhcmQtaW5uZXIge1xuICAgIEBpbmNsdWRlIF9jYXJkLW5vdGNoLWJyKCRfY2FyZC1jdXQpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIF9jYXJkLWZyYW1lLWJyKCRfY2FyZC1jdXQsIDEuNXB4KTtcbiAgICB9XG4gIH1cblxuICAmX19jYXJkLW51bSB7XG4gICAgZm9udC1mYW1pbHk6ICRpYi1mb250LWFjY2VudDtcbiAgICBmb250LXNpemU6IGNsYW1wKFxuICAgICAgMTJweCxcbiAgICAgIC45M3Z3LFxuICAgICAgMXJlbVxuICAgICk7IC8vIHB4IGZsb29yIGtlZXBzIDEycHggbWluIHVuZGVyIHRoZSBmbHVpZCByb290XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogJGliLXRleHQtZGlzYWJsZWQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxuXG4gICZfX2NhcmQtdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiAkaWItZm9udC1ib2R5O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiBjbGFtcChcbiAgICAgIDEycHgsXG4gICAgICAuODF2dyxcbiAgICAgIC44NzVyZW1cbiAgICApOyAvLyBweCBmbG9vciBrZWVwcyAxMnB4IG1pbiB1bmRlciB0aGUgZmx1aWQgcm9vdFxuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogJGliLXRleHQtZGFyaztcbiAgICBtYXJnaW4tYm90dG9tOiBjbGFtcCg4cHgsIC43dncsIDEycHgpO1xuICB9XG5cbiAgJl9fY2FyZC1kZXNjIHtcbiAgICBAaW5jbHVkZSBpYi10eXBlKFwiYm9keS1zbWFsbFwiLCAkaWItZm9udC1ib2R5KTtcblxuICAgIGNvbG9yOiByZ2IoMjgsIDI4LCAyOCwgLjgpO1xuICAgIGhlaWdodDogNzRweDsgLy8gdmgtYmFzZWQgc28gaXQgZml0cyB3aXRoaW4gY2FyZCBtaW4taGVpZ2h0XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIOKUgOKUgCBTY3JlZW4gKOKJpDEwMjRweCkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8oJGliLWJwLXRhYmxldCkge1xuICAgIGNsaXAtcGF0aDogbm9uZTtcbiAgICBwYWRkaW5nOiA0OHB4IDIwcHg7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiAgICAmX19leWVicm93IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgfVxuXG4gICAgJl9faGVhZGluZyB7XG4gICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICBsaW5lLWhlaWdodDogMzhweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtLjA0ZW07XG4gICAgICBmb250LXdlaWdodDogMjUwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgICB9XG5cbiAgICAmX19ncmlkIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgZ2FwOiAxNnB4O1xuICAgIH1cblxuICAgICZfX2NhcmQge1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHMgIWltcG9ydGFudDtcbiAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgJl9fY2FyZC1pbm5lciB7XG4gICAgICBwYWRkaW5nOiAyOHB4IDI4cHggNDBweDsgLy8gY2xhbXAgbWluICgxNnB4LzI0cHgpIDwgb3JpZ2luYWwg4oCUIHJlc3RvcmVcbiAgICB9XG5cbiAgICAmX19jYXJkLW51bSB7XG4gICAgICBmb250LXNpemU6IC44NzVyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cblxuICAgICZfX2NhcmQtdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDsgLy8gY2xhbXAgbWluICg4cHgpIDwgb3JpZ2luYWwg4oCUIHJlc3RvcmVcbiAgICB9XG5cbiAgICAvLyBTaW5nbGUtY29sdW1uIGNhcmRzIGhhdmUgcm9vbSB0byBydW4g4oCUIGxldCB0aGUgY29weSBzZXQgaXRzIG93biBoZWlnaHRcbiAgICAvLyBpbnN0ZWFkIG9mIGJlaW5nIGNyb3BwZWQgdG8gdGhlIGRlc2t0b3AgdHdvLXVwIHRyYWNrLlxuICAgICZfX2NhcmQtZGVzYyB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG59IiwiLy8gYXNzZXRzL3Njc3MvcGFnZXMvc2VydmljZW5vdy9fc2hvd2Nhc2Utc2VjdGlvbi5zY3NzXG4vLyBFc3RyZWxhLXN0eWxlIHNob3djYXNlIGhlcm86IHN0YXRpYyBsZWZ0LWFsaWduZWQgaGVhZGluZyArIGJvdHRvbS1hbmNob3JlZFxuLy8gaW1hZ2Ugc3RyaXAuIEl0ZW0gc2l6aW5nIGlzIGRyaXZlbiBieSBjdXJzb3IgWCBwb3NpdGlvbiAoc2hvd2Nhc2Utc2VjdGlvbi5qc1xuLy8gd3JpdGVzIC0tc24tZ3JvdyAvIC0tc24taCBwZXIgaXRlbSwgbGVycGVkIG9uIHJBRikg4oCUIG1vdmluZyB0aGUgY3Vyc29yIGFjcm9zc1xuLy8gdGhlIHNlY3Rpb24gaGFuZHMgc2l6ZSBvdmVyIGJldHdlZW4gbmVpZ2hib3JzIHByb3BvcnRpb25hbGx5LiBUaGUgc3RyaXAgaXNcbi8vIGFic29sdXRlbHkgcG9zaXRpb25lZCBzbyBpdHMgZ3Jvd3RoIGNhbiBuZXZlciByZWZsb3cgdGhlIGhlYWRpbmcuXG5AdXNlIFwic2FzczptYXRoXCI7XG5AdXNlIFwiLi4vdXRpbHNcIiBhcyAqO1xuXG4vLyBTdHJpcCBnZW9tZXRyeSAoZGVza3RvcCkuICRfc2hvd2Nhc2UtaC1taW4gbXVzdCBtYXRjaCBIRUlHSFRfTUlOIGluXG4vLyBzaG93Y2FzZS1zZWN0aW9uLmpzIOKAlCBpdCdzIHRoZSBjb21wYWN0LWl0ZW0gaGVpZ2h0IGZyYWN0aW9uLlxuJF9zaG93Y2FzZS1zdHJpcC1oZWlnaHQ6IGNsYW1wKDMwMHB4LCA0NHZoLCA1MjBweCk7XG4kX3Nob3djYXNlLWgtbWluOiAuNTg7XG5cbi8vIFVuaWZvcm0gem9vbTogd2lkdGggZ3Jvd3MgYnkgZXhhY3RseSB0aGUgc2FtZSBmYWN0b3IgYXMgaGVpZ2h0ICgxL2gtbWluKSxcbi8vIHNvIGV2ZXJ5IGl0ZW0gYm94IGtlZXBzIE9ORSBjb25zdGFudCBhc3BlY3QgcmF0aW8gdGhyb3VnaCB0aGUgd2hvbGUgem9vbSDigJRcbi8vIGNvbnRhaW4gbmV2ZXIgaGFzIHRvIHJlLWZpdCwgYW5kIG5vdGhpbmcgaXMgZXZlciBjcm9wcGVkIG1pZC1hbmltYXRpb24uXG4vLyBNdXN0IG1hdGNoIEdST1dfTUFYIGluIHNob3djYXNlLXNlY3Rpb24uanMuXG4kX3Nob3djYXNlLWdyb3ctbWF4OiBtYXRoLmRpdigxLCAkX3Nob3djYXNlLWgtbWluKTtcblxuLnNuLXNob3djYXNlLXNlY3Rpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMTAwdmg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICRpYi1jcmVhbS1taXN0O1xuXG4gIC8vIOKUgOKUgCBIZWFkaW5nIOKAlCBzdGF0aWMgaW4gdGhlIGJhbmQgYWJvdmUgdGhlIGV4cGFuZGVkIHN0cmlwIGhlaWdodCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgJl9fY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDAgMCAkX3Nob3djYXNlLXN0cmlwLWhlaWdodDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogaWItc3BhY2UoOTYpIGliLXNwYWNlKDMyKSAwOyAvLyB0b3AgY2xlYXJzIHRoZSBmaXhlZCBoZWFkZXJcbiAgfVxuXG4gICZfX2hlYWRpbmcge1xuICAgIG1heC13aWR0aDogMjRjaDtcblxuICAgIEBpbmNsdWRlIGliLXR5cGUoXCJkaXNwbGF5LXdlYi1zbWFsbFwiKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICRpYi1ncmF5LWNoYXJjb2FsO1xuICB9XG5cbiAgJl9faGlnaGxpZ2h0IHtcbiAgICBiYWNrZ3JvdW5kOiAkaWItZ3JhZGllbnQtdGV4dDtcbiAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDJweDtcbiAgfVxuXG4gIC8vIOKUgOKUgCBJbWFnZSBzdHJpcCDigJQgYW5jaG9yZWQgZmx1c2ggdG8gdGhlIGJvdHRvbSBlZGdlIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAmX19zdHJpcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IGliLXNwYWNlKDMyKTtcbiAgICByaWdodDogaWItc3BhY2UoMzIpO1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6ICRfc2hvd2Nhc2Utc3RyaXAtaGVpZ2h0O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGdhcDogaWItc3BhY2UoMTYpO1xuICB9XG5cbiAgLy8gU2l6aW5nIGNvbWVzIGZyb20gdHdvIEpTLWRyaXZlbiBjdXN0b20gcHJvcGVydGllczsgdGhlIHN0eWxlc2hlZXQgb25seVxuICAvLyBvd25zIHRoZSBmb3JtdWxhLiBObyBDU1MgdHJhbnNpdGlvbiBoZXJlIOKAlCB0aGUgSlMgckFGIGxlcnAgaXMgdGhlIGVhc2luZy5cbiAgJl9faXRlbSB7XG4gICAgZmxleDogdmFyKC0tc24tZ3JvdywgMSkgMSAwJTtcbiAgICBoZWlnaHQ6IGNhbGModmFyKC0tc24taCwgI3skX3Nob3djYXNlLWgtbWlufSkgKiAxMDAlKTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgbWFyZ2luOiAwOyAvLyA8ZmlndXJlPiByZXNldFxuXG4gICAgLy8gUHJlLWluaXQgLyBuby1KUyBkZWZhdWx0IG1pcnJvcnMgdGhlIHJlZmVyZW5jZTogZmlyc3QgaW1hZ2UgZXhwYW5kZWRcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIC0tc24tZ3JvdzogI3skX3Nob3djYXNlLWdyb3ctbWF4fTtcbiAgICAgIC0tc24taDogMTtcbiAgICB9XG4gIH1cblxuICAmX19tZWRpYSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gICZfX2ltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgLy8gY29udGFpbiDigJQgdGhlIGZ1bGwgaW1hZ2UgaXMgYWx3YXlzIHZpc2libGUsIG5ldmVyIGNyb3BwZWQgZnJvbSBhbnlcbiAgICAvLyBzaWRlLCBhdCBldmVyeSB6b29tIHN0YXRlLiBMZWZ0b3ZlciBib3ggc3BhY2UgcmVuZGVycyBhcyB0aGUgcGFnZVxuICAgIC8vIGJhY2tncm91bmQgKGludmlzaWJsZSk7IGJvdHRvbSBhbmNob3Jpbmcga2VlcHMgZXZlcnkgaW1hZ2UgZmx1c2ggd2l0aFxuICAgIC8vIHRoZSBzdHJpcCdzIGJvdHRvbSBlZGdlIHNvIHRoZSBiYXNlbGluZSBzdGF5cyBhbGlnbmVkLlxuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgb2JqZWN0LXBvc2l0aW9uOiBib3R0b20gY2VudGVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi8vIOKUgOKUgCBNb2JpbGUgLyB0YWJsZXQgKHBhZ2UgY29udmVudGlvbjogbW9iaWxlIFVJIG93bnMg4omkMTAyNHB4KSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIENlbnRlcmVkIGNvbXBvc2l0aW9uOiBwaW5uZWQgaGVhZGluZyBvbiB0b3AsIG9uZSBpbWFnZSBmcmFtZSBjZW50ZXJlZCBiZWxvd1xuLy8gaXQgd2l0aCBicmVhdGhpbmcgcm9vbSB1bmRlcm5lYXRoLiBBbGwgaW1hZ2VzIHNoYXJlIHRoZSBTQU1FIHN0aWNreSBwaW5cbi8vIHBvc2l0aW9uLCBzbyB0aGUgZGVjayBvdmVybGFwcyBpbiBvbmUgZnJhbWUg4oCUIGVhY2ggbmV3IGltYWdlIHJpc2VzIGZyb21cbi8vIGJlbG93IHRoZSBmb2xkIGFuZCBzbGlkZXMgdXAgT1ZFUiB0aGUgcGlubmVkIG9uZSwgdGhlbiBwaW5zIHRoZXJlIGl0c2VsZi5cbi8vIFB1cmUgQ1NTIOKAlCB0aGUgZGVza3RvcCBKUyBlZmZlY3QgdGVhcnMgaXRzZWxmIGRvd24gYXQgdGhpcyBicmVha3BvaW50LCBhbmRcbi8vIHRoZSBmaXhlZCBoZWlnaHQgYmVsb3cgbmV1dHJhbGl6ZXMgdGhlIGN1c3RvbS1wcm9wZXJ0eSBmb3JtdWxhIChpbmNsdWRpbmdcbi8vIHRoZSA6Zmlyc3QtY2hpbGQgZGVmYXVsdCkuXG5AbWVkaWEgKG1heC13aWR0aDogJGliLWJwLXRhYmxldCkge1xuICAvLyBTaGFyZWQgZ2VvbWV0cnk6IGhlYWRpbmcgYmFuZCArIGZyYW1lICsgYm90dG9tIGdhcCA9IG9uZSB2aWV3cG9ydC5cbiAgLy8gbWluKCkgaXMgaW50ZXJwb2xhdGVkIHNvIGl0IHNoaXBzIGFzIHBsYWluIENTUy5cbiAgJHNob3djYXNlLW0tZnJhbWU6IG1pbig1MHN2aCwgI3tpYi1yZW0oNDIwcHgpfSk7XG4gICRzaG93Y2FzZS1tLWdhcDogaWItc3BhY2UoNDApOyAvLyBzcGFjZSBiZWxvdyB0aGUgcGlubmVkIGltYWdlXG5cbiAgLnNuLXNob3djYXNlLXNlY3Rpb24ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIC8vIGhpZGRlbiB3b3VsZCB0dXJuIHRoZSBzZWN0aW9uIGludG8gdGhlIHN0aWNreSBpdGVtcycgc2Nyb2xsIGNvbnRleHQgYW5kXG4gICAgLy8ga2lsbCB0aGUgcGlubmluZyDigJQgdmlzaWJsZSBrZWVwcyB0aGVtIHN0aWNraW5nIGFnYWluc3QgdGhlIHZpZXdwb3J0XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgICAvLyBQaW4tcmFuZ2Ugd3JhcHBlciDigJQgaXRzIENPTlRFTlQgYm94IGlzIHRoZSBoZWFkaW5nJ3Mgc3RpY2t5IHJhbmdlLlxuICAgIC8vIFRoZSBoZWFkaW5nIHJlbGVhc2VzIHdoZW4gdGhlIGNvbnRhaW5lcidzIGJvdHRvbSBoaXRzIHRoaXMgYm94J3MgZW5kLFxuICAgIC8vIHNpemVkIHRvIGxhbmQgZXhhY3RseSB3aGVuIHRoZSBMQVNUICg1dGgpIGNhcmQgRklOSVNIRVMgY292ZXJpbmcgdGhlXG4gICAgLy8gNHRoOiB3aXRoIG4gY2FyZHMgdGhhdCdzIChu4oiSMSkgZnJhbWUtdHJhdmVscyBvZiBzY3JvbGwsIHNvIHJhbmdlID1cbiAgICAvLyBiYW5kICsgNMOXZnJhbWUuIEF0IHRoYXQgaW5zdGFudCB0aGUgbGFzdCBjYXJkIHNpdHMgZmx1c2ggYmVsb3cgdGhlXG4gICAgLy8gaGVhZGluZyBiYW5kLCBzbyBoZWFkaW5nLCBmaWd1cmUsIGFuZCB0aGUgdHJhaWxpbmcgbWFzayBhbGwgcmVsZWFzZVxuICAgIC8vIHRvZ2V0aGVyIGFuZCBzY3JvbGwgaW50byB0aGUgbmV4dCBzZWN0aW9uIGFzIG9uZSBjb21wb3NpdGlvbi4gVGhlXG4gICAgLy8gbmVnYXRpdmUgbWFyZ2luIHJlbW92ZXMgdGhlIGV4dHJhIGZsb3cgZm9vdHByaW50IHNvIHRoZSBzdHJpcCBzdGlsbFxuICAgIC8vIHN0YXJ0cyByaWdodCBiZWxvdyB0aGUgaGVhZGluZyBiYW5kIChzdGlja3kgY2xhbXBzIGlnbm9yZSBtYXJnaW5zIOKAlFxuICAgIC8vIG9ubHkgdGhlIGNvbnRlbnQgYm94IGNvdW50cykuXG4gICAgJl9fcGluLXJhbmdlIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtICN7JHNob3djYXNlLW0tZ2FwfSArICgzICogI3skc2hvd2Nhc2UtbS1mcmFtZX0pKTsgLy8gc3ZoIGZhbGxiYWNrXG4gICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKC00ICogI3skc2hvd2Nhc2UtbS1mcmFtZX0pO1xuXG4gICAgICAvLyBTZXBhcmF0ZSBydWxlIChub3QgYSAybmQgYGhlaWdodGAgaW4gdGhpcyBibG9jaykg4oCUIGF2b2lkcyBkdXBsaWNhdGUtXG4gICAgICAvLyBwcm9wZXJ0eSBsaW50IGVudGlyZWx5LCBubyBpZ25vcmUtY29uZmlnIGRlcGVuZGVuY3lcbiAgICAgIEBzdXBwb3J0cyAoaGVpZ2h0OiAxMDBzdmgpIHtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMHN2aCAtICN7JHNob3djYXNlLW0tZ2FwfSArICgzICogI3skc2hvd2Nhc2UtbS1mcmFtZX0pKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIZWFkaW5nIHBpbnMgYXQgdGhlIHRvcCwgc2l6ZWQgdG8gZXhhY3RseSB0aGUgYmFuZCBhYm92ZSB0aGUgaW1hZ2VcbiAgICAvLyBmcmFtZSwgaGVhZGluZyBjZW50ZXJlZCBpbnNpZGUgaXQuIFdoZW4gdGhlIHBpbi1yYW5nZSBydW5zIG91dCBpdFxuICAgIC8vIHJlbGVhc2VzIGFuZCBzY3JvbGxzIGF3YXkgbmF0dXJhbGx5IHdpdGggdGhlIHBhZ2Ug4oCUIHRoZSByZWFsIFwidW5waW5cIlxuICAgIC8vIGFzIHRoZSBsYXN0IGNhcmQgYXJyaXZlcy5cbiAgICAmX19jb250YWluZXIge1xuICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgIGluc2V0OiBhdXRvOyAvLyBjbGVhciB0aGUgZGVza3RvcCBpbnNldCDigJQgYm90dG9tIHdvdWxkIGFjdCBhcyBhIHN0aWNreSBjb25zdHJhaW50XG4gICAgICB0b3A6IDA7XG4gICAgICB6LWluZGV4OiAzOyAvLyBhYm92ZSB0aGUgbWFzayArIHRoZSBsYXN0IGNhcmQgcGFzc2luZyB0aHJvdWdoIG9uIGV4aXRcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtICN7JHNob3djYXNlLW0tZnJhbWV9IC0gI3skc2hvd2Nhc2UtbS1nYXB9KTsgLy8gc3ZoIGZhbGxiYWNrXG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgcGFkZGluZzogaWItc3BhY2UoOTYpIGliLXNwYWNlKDI0KSBpYi1zcGFjZSgyNCk7XG5cbiAgICAgIEBzdXBwb3J0cyAoaGVpZ2h0OiAxMDBzdmgpIHtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMHN2aCAtICN7JHNob3djYXNlLW0tZnJhbWV9IC0gI3skc2hvd2Nhc2UtbS1nYXB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19oZWFkaW5nIHtcbiAgICAgIEBpbmNsdWRlIGliLXR5cGUoXCJkaXNwbGF5LW1vYmlsZS1sYXJnZVwiKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAvLyBBIGZsYXQgdmggcGVyY2VudGFnZSBjYW4ndCB0cmFjayB0aGlzIGNvcnJlY3RseSAoZS5nLiBhbiBpUGhvbmUgU0VcbiAgICAgIC8vIHN0aWxsIG1lYXN1cmVzIHRhbGxlciB0aGFuIHRoZSBwb2ludCBhICUgZ3Vlc3Mgd291bGQgc3RhcnQgc2hyaW5raW5nXG4gICAgICAvLyBpdCwgc28gdGhlIGZpeGVkIDQ4cHggc3RheWVkIGF0IG1heCBhbmQga2VwdCBjbGlwcGluZykg4oCUIGluc3RlYWRcbiAgICAgIC8vIGRlcml2ZSBmb250LXNpemUgZGlyZWN0bHkgZnJvbSB0aGUgcGlubmVkIGJhbmQncyBvd24gYWN0dWFsXG4gICAgICAvLyBhdmFpbGFibGUgaGVpZ2h0OiBjb250YWluZXIgaGVpZ2h0ICgxMDB2aCAtIGZyYW1lIC0gZ2FwLCBzYW1lXG4gICAgICAvLyBmb3JtdWxhIGFzICZfX2NvbnRhaW5lciBhYm92ZSkgbWludXMgaXRzIG93biB0b3AvYm90dG9tIHBhZGRpbmcsXG4gICAgICAvLyBkaXZpZGVkIGJ5IGFuIGFzc3VtZWQgd29yc3QtY2FzZSB3cmFwIG9mICRfc2hvd2Nhc2UtbS1oZWFkaW5nLWxpbmVzXG4gICAgICAvLyBsaW5lcyBhdCB0aGUgZGlzcGxheS1tb2JpbGUtbGFyZ2UgbGluZS1oZWlnaHQgcmF0aW8gKDUyLzQ4KS4gNDhweFxuICAgICAgLy8gc3RheXMgdGhlIGNlaWxpbmcgb24gdGFsbCB2aWV3cG9ydHMgd2hlcmUgdGhhdCBlYXNpbHkgY2xlYXJzIGl0O1xuICAgICAgLy8gMjhweCBpcyB0aGUgbGVnaWJpbGl0eSBmbG9vci4gaWItdHlwZSBhbHJlYWR5IGVtaXRzIGxpbmUtaGVpZ2h0IGFzXG4gICAgICAvLyBhIHVuaXRsZXNzIHJhdGlvLCBzbyBpdCBrZWVwcyBzY2FsaW5nIHdpdGggdGhpcyBjbGFtcGVkIGZvbnQtc2l6ZS5cbiAgICAgICRfc2hvd2Nhc2UtbS1oZWFkaW5nLWxpbmVzOiA1OyAvLyBjb25zZXJ2YXRpdmUg4oCUIGFjdHVhbCBjb3B5IHdyYXBzIHRvIH4z4oCTNCBhdCBmaXR0ZWQgc2l6ZXNcbiAgICAgICRfc2hvd2Nhc2UtbS1oZWFkaW5nLWxpbmUtcmF0aW86IDEuMDgzMzsgLy8gNTIgLyA0OCwgbWF0Y2hlcyBkaXNwbGF5LW1vYmlsZS1sYXJnZVxuICAgICAgJF9zaG93Y2FzZS1tLWhlYWRpbmctZGl2aXNvcjogJF9zaG93Y2FzZS1tLWhlYWRpbmctbGluZXMgKiAkX3Nob3djYXNlLW0taGVhZGluZy1saW5lLXJhdGlvO1xuICAgICAgJF9zaG93Y2FzZS1tLWhlYWRpbmctYXZhaWw6IGNhbGMoMTAwdmggLSAjeyRzaG93Y2FzZS1tLWZyYW1lfSAtICN7JHNob3djYXNlLW0tZ2FwfSAtICN7aWItc3BhY2UoOTYpfSAtICN7aWItc3BhY2UoMjQpfSk7IC8vIHN2aCBmYWxsYmFja1xuXG4gICAgICBmb250LXNpemU6IGNsYW1wKCN7aWItcmVtKDI4cHgpfSwgY2FsYygjeyRfc2hvd2Nhc2UtbS1oZWFkaW5nLWF2YWlsfSAvICN7JF9zaG93Y2FzZS1tLWhlYWRpbmctZGl2aXNvcn0pLCAje2liLXJlbSg0OHB4KX0pO1xuXG4gICAgICBAc3VwcG9ydHMgKGhlaWdodDogMTAwc3ZoKSB7XG4gICAgICAgICRfc2hvd2Nhc2UtbS1oZWFkaW5nLWF2YWlsLXN2aDogY2FsYygxMDBzdmggLSAjeyRzaG93Y2FzZS1tLWZyYW1lfSAtICN7JHNob3djYXNlLW0tZ2FwfSAtICN7aWItc3BhY2UoOTYpfSAtICN7aWItc3BhY2UoMjQpfSk7XG5cbiAgICAgICAgZm9udC1zaXplOiBjbGFtcCgje2liLXJlbSgyOHB4KX0sIGNhbGMoI3skX3Nob3djYXNlLW0taGVhZGluZy1hdmFpbC1zdmh9IC8gI3skX3Nob3djYXNlLW0taGVhZGluZy1kaXZpc29yfSksICN7aWItcmVtKDQ4cHgpfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fc3RyaXAge1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgcGFkZGluZzogMCBpYi1zcGFjZSgyNCk7XG5cbiAgICAgIC8vIE1hc2sg4oCUIGJvdHRvbS1zdGlja3ksIG9wYXF1ZSBiZy1jb2xvcmVkIGNvdmVyIG92ZXIgdGhlIGJhbmQgYmVsb3cgdGhlXG4gICAgICAvLyBmcmFtZTogaW5jb21pbmcgaW1hZ2VzIHRyYXZlbCBCRUhJTkQgaXQgYW5kIG9ubHkgYXBwZWFyIG9uY2UgaW5zaWRlXG4gICAgICAvLyB0aGUgZnJhbWUsIHNvIHRoZXkgZW1lcmdlIGZyb20gdGhlIGZpZ3VyZSdzIGJvdHRvbSBlZGdlLCBuZXZlciBmcm9tXG4gICAgICAvLyB0aGUgdmlld3BvcnQgZWRnZS4gSXQgcmVsZWFzZXMgZXhhY3RseSB3aGVuIHRoZSBsYXN0IGNhcmQgcmVhY2hlcyB0aGVcbiAgICAgIC8vIGZyYW1lIChpdHMgbmF0dXJhbCBmbG93IHNsb3QgY2F0Y2hlcyB0aGUgcGluIGxpbmUpLCB0aGVuIHNjcm9sbHMgb3V0XG4gICAgICAvLyB3aXRoIHRoZSBzZWN0aW9uIOKAlCBpdCBjYW4gbmV2ZXIgaGFuZyBvdmVyIHRoZSBuZXh0IHNlY3Rpb24sIGFuZCBpdHNcbiAgICAgIC8vIHNtYWxsIGZsb3cgaGVpZ2h0IGFkZHMgYWxtb3N0IG5vIHNjcm9sbCBhZnRlciB0aGUgZGVjayBmaW5pc2hlcy5cbiAgICAgIC8vXG4gICAgICAvLyBIZWlnaHQgaXMgZXhhY3RseSB0aGUgZ2FwIGJhbmQg4oCUIG5vIGRlZXBlci4gVGhlIG1hc2sgaXMgYSByZWFsIGZsb3dcbiAgICAgIC8vIGVsZW1lbnQsIHNvIGV2ZXJ5IHB4IG9mIGhlaWdodCBpdCBjYXJyaWVzIGlzIGRlYWQgY3JlYW0gbGVmdCBiZXR3ZWVuXG4gICAgICAvLyB0aGUgbGFzdCBpbWFnZSBhbmQgdGhlIG5leHQgc2VjdGlvbiBvbmNlIGl0IHJlbGVhc2VzLiBBbmNob3JpbmcgaXRcbiAgICAgIC8vIHdpdGggYm90dG9tOjAgYXQgZ2FwIGhlaWdodCBwdXRzIGl0cyB0b3Agb24gdGhlIHNhbWUgZnJhbWUtYm90dG9tXG4gICAgICAvLyBsaW5lIHRoZSB0YWxsZXIgdmVyc2lvbiBkaWQsIGFuZCB0aGUgc3RpY2t5IHJlbGVhc2UgZmlyZXMgYXQgdGhlXG4gICAgICAvLyBzYW1lIHNjcm9sbCBwb2ludCAoYm90aCBjbGFtcCBhdCBuYXR1cmFsLXRvcCA9PSBzY3JvbGxwb3J0LWJvdHRvbSDiiJJcbiAgICAgIC8vIGdhcCkg4oCUIHRoZSBvbmx5IHRoaW5nIGRyb3BwZWQgaXMgcGFpbnQgYmVsb3cgdGhlIHNjcm9sbHBvcnQgbGluZSxcbiAgICAgIC8vIHdoaWNoIGlzIG9mZi1zY3JlZW4gd2hpbGUgcGlubmVkIGFuZCBjcmVhbS1vbi1jcmVhbSBhZnRlciByZWxlYXNlLlxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IHN0aWNreTtcblxuICAgICAgICAvLyBwaW5zIGl0cyB0b3AgYXQgdGhlIGZyYW1lJ3MgYm90dG9tIGxpbmUgKDEwMHN2aCDiiJIgZ2FwKVxuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGhlaWdodDogJHNob3djYXNlLW0tZ2FwO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkaWItY3JlYW0tbWlzdDtcbiAgICAgICAgei1pbmRleDogMjsgLy8gYWJvdmUgdGhlICh6LWluZGV4OiBhdXRvKSBmaWd1cmVzXG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTm8gaW50ZXItaXRlbSBtYXJnaW5zOiBjYXJkcyBxdWV1ZSBiYWNrLXRvLWJhY2ssIHNvIGVhY2ggaW1hZ2UncyB0cmF2ZWxcbiAgICAvLyBpcyBleGFjdGx5IG9uZSBmcmFtZSBoZWlnaHQgYW5kIHRoZSBuZXh0IGNhcmQgYWx3YXlzIHdhaXRzIGRpcmVjdGx5XG4gICAgLy8gYmVoaW5kIHRoZSBtYXNrLlxuICAgICZfX2l0ZW0ge1xuICAgICAgcG9zaXRpb246IHN0aWNreTtcblxuICAgICAgLy8gUGluIGJlbG93IHRoZSBoZWFkaW5nIGJhbmQsIGxlYXZpbmcgJHNob3djYXNlLW0tZ2FwIG9mIGFpciB1bmRlciB0aGVcbiAgICAgIC8vIGltYWdlIOKAlCB0aGUgcXVldWVkIGNhcmRzIGJlaGluZCB0aGUgbWFzayBrZWVwIHRoZSBkZWNrIHJlYWRpbmcgYXMgYVxuICAgICAgLy8gc2luZ2xlIGNlbnRlcmVkIGZyYW1lLlxuICAgICAgdG9wOiBjYWxjKDEwMHZoIC0gI3skc2hvd2Nhc2UtbS1mcmFtZX0gLSAjeyRzaG93Y2FzZS1tLWdhcH0pOyAvLyBzdmggZmFsbGJhY2tcbiAgICAgIGhlaWdodDogJHNob3djYXNlLW0tZnJhbWU7XG5cbiAgICAgIEBzdXBwb3J0cyAodG9wOiAxMDBzdmgpIHtcbiAgICAgICAgdG9wOiBjYWxjKDEwMHN2aCAtICN7JHNob3djYXNlLW0tZnJhbWV9IC0gI3skc2hvd2Nhc2UtbS1nYXB9KTtcbiAgICAgIH1cblxuICAgICAgLy8gVGhlIExBU1QgY2FyZCBuZXZlciBwaW5zOiBpdCBzbGlkZXMgdXAgb3ZlciB0aGUgcGlubmVkIGNhcmQgbGlrZSB0aGVcbiAgICAgIC8vIG90aGVycywgdGhlbiBzaW1wbHkga2VlcHMgc2Nyb2xsaW5nIOKAlCBjYXJyeWluZyB0aGUgcGFnZSBzdHJhaWdodCBpbnRvXG4gICAgICAvLyB0aGUgbmV4dCBzZWN0aW9uIHdpdGggbm8gZHdlbGwgYW5kIG5vIGRlYWQgc2Nyb2xsIGFmdGVyIHRoZSBkZWNrLlxuICAgICAgLy8gcG9zaXRpb246IHJlbGF0aXZlIChub3Qgc3RhdGljKSBrZWVwcyBpdCBwYWludGVkIGFib3ZlIHRoZSBzdGlja3lcbiAgICAgIC8vIHNpYmxpbmdzIGl0IHBhc3NlcyAocG9zaXRpb25lZCwgbGF0ZXIgaW4gdHJlZSBvcmRlcikuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIGFzc2V0cy9zY3NzL3BhZ2VzL3NlcnZpY2Vub3cvX3RhbGstZHJhd2VyLnNjc3Ncbi8vIFwiTGV0J3MgVGFsa1wiIGRyYXdlciDigJQgZml4ZWQgcmlnaHQtc2lkZSBzbGlkZS1pbiBwYW5lbCB3aXRoIHRoZSBjb250YWN0XG4vLyBmb3JtLiBQYW5lbCByZXVzZXMgdGhlIGliLW5vdGNoIGNsaXBwZWQtY29ybmVyIGNhcmQgc2hhcGUgKHRvcC1sZWZ0ICtcbi8vIGJvdHRvbS1yaWdodCBjdXRzKSBvdmVyIGEgZGFyayBzY3JpbS4gT3BlbmVkL2Nsb3NlZCBieSB0YWxrLWRyYXdlci5qc1xuLy8gdG9nZ2xpbmcgLmlzLW9wZW47IG1vdGlvbiBpcyB0cmFuc2Zvcm0vb3BhY2l0eSBvbmx5LlxuXG5AdXNlIFwiLi4vdXRpbHNcIiBhcyAqO1xuXG4uc24tdGFsay1kcmF3ZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGluc2V0OiAwO1xuICB6LWluZGV4OiAxMjAwO1xuXG4gIC8vIEdhdGUg4oCUIGludmlzaWJsZSBhbmQgbm9uLWludGVyYWN0aXZlIHVudGlsIG9wZW5lZC4gVmlzaWJpbGl0eSBmbGlwc1xuICAvLyBhZnRlciB0aGUgcGFuZWwgZmluaXNoZXMgc2xpZGluZyBvdXQgc28gdGhlIGV4aXQgbW90aW9uIHN0YXlzIHZpc2libGUuXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogdmlzaWJpbGl0eSAwcyBsaW5lYXIgLjVzO1xuXG4gICYuaXMtb3BlbiB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbiAgfVxuXG4gIC8vIOKUgOKUgCBEYXJrIHNjcmltIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAmX19vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgYmFja2dyb3VuZDogcmdiYSgkaWItZGFyaywgLjc1KTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjVzIGN1YmljLWJlemllciguMTYsIDEsIC4zLCAxKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAmLmlzLW9wZW4gJl9fb3ZlcmxheSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC8vIOKUgOKUgCBTbGlkaW5nIHBhbmVsIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAvLyBBbmNob3JlZCB0byB0aGUgcmlnaHQgZWRnZSAoMzBweCBpbnNldCk7IHdpZHRoIGlzIGZsdWlkIHVwIHRvIGEgOTAwcHhcbiAgLy8gY2FwIHJhdGhlciB0aGFuIGZpbGxpbmcgdGhlIHJlbWFpbmluZyBzcGFjZSwgc28gaXQgcmVhZHMgYXMgYSBmbG9hdGVkXG4gIC8vIHBhbmVsIHJhdGhlciB0aGFuIGFuIGVkZ2UtdG8tZWRnZSBkcmF3ZXIuXG4gICZfX3BhbmVsIHtcbiAgICBAaW5jbHVkZSBpYi1ub3RjaCgyNHB4LCAyNHB4KTsgLy8gY2xpcHBlZCB0b3AtbGVmdCArIGZvbGRlZCBib3R0b20tcmlnaHRcblxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGliLXJlbSgzMHB4KTtcbiAgICByaWdodDogaWItcmVtKDMwcHgpO1xuICAgIGJvdHRvbTogaWItcmVtKDMwcHgpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogaWItcmVtKDkwMHB4KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiBpYi1zcGFjZSgzMik7XG4gICAgcGFkZGluZzogaWItc3BhY2UoNjQpIGliLXNwYWNlKDY0KSBpYi1zcGFjZSg0OCk7XG4gICAgYmFja2dyb3VuZDogJGliLWJnLXByaW1hcnk7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNXMgY3ViaWMtYmV6aWVyKC4xNiwgMSwgLjMsIDEpO1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gIH1cblxuICAmLmlzLW9wZW4gJl9fcGFuZWwge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAvLyDilIDilIAgQ2xvc2UgYnV0dG9uIOKAlCBiYXJlIGNoYXJjb2FsIFggcGlubmVkIHRvcC1yaWdodFxuICAmX19jbG9zZS5pYi1idG4ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGliLXNwYWNlKDI0KTtcbiAgICByaWdodDogaWItc3BhY2UoMjQpO1xuXG4gICAgLy8gQmFyZSB2YXJpYW50IHRva2VucyDigJQgbm8gZmlsbCwgbm8gYm9yZGVyLCBubyBwZWFjaCBkZXB0aCBibG9ja1xuICAgIC0tX2JnOiB0cmFuc3BhcmVudDtcbiAgICAtLV9iZy1wcmVzczogdHJhbnNwYXJlbnQ7XG4gICAgLS1fY29sb3I6ICN7JGliLWZpbGwtcHJpbWFyeX07XG4gICAgLS1fYm9yZGVyOiB0cmFuc3BhcmVudDtcbiAgICAtLV9zaGFkb3c6IHRyYW5zcGFyZW50O1xuXG4gICAgLy8gUmF3IHB4LCBub3QgaWItcmVtIOKAlCB0aGUgc2hhcmVkIGJ1dHRvbiBzeXN0ZW0gaXMgYSBmaXhlZCBjb250cm9sIHNpemVcbiAgICAvLyBwZXIgRmlnbWEgc3BlYyBhbmQgbXVzdCBub3QgcmlkZSB0aGUgcGFnZSdzIHJvb3QtZm9udCBjbGFtcC5cbiAgICB3aWR0aDogNDhweDsgLy8gLS1pY29uLW9ubHkgc3F1YXJlOyBsYWJlbC1mcmVlLCBzbyBubyB0ZXh0IHBhZGRpbmdcbiAgICBoZWlnaHQ6IDQ4cHg7XG5cbiAgICAmOjphZnRlciB7IGRpc3BsYXk6IG5vbmU7IH0gLy8gZGVwdGggYmxvY2tcblxuICAgIC5pYi1idG5fX2lubmVyIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGNsaXAtcGF0aDogbm9uZTsgLy8gbm90aGluZyB0byBub3RjaCB3aXRob3V0IGEgZmlsbFxuXG4gICAgICAmOjpiZWZvcmUgeyBkaXNwbGF5OiBub25lOyB9IC8vIGJvcmRlciBmcmFtZVxuICAgIH1cblxuICAgIC8vIENocm9tZS1sZXNzIG9uIGZvY3VzL3ByZXNzIHRvbyDigJQgdGhlIGljb24gb3BhY2l0eSBiZWxvdyBpcyB0aGUgb25seVxuICAgIC8vIHN0YXRlIGNoYW5nZS4gV2l0aG91dCB0aGlzIHRoZSBiYXNlIC5pYi1idG4gcHJlc3MgY29sb3VyIGJsZWVkcyB0aHJvdWdoLlxuICAgICY6Zm9jdXMtdmlzaWJsZSAuaWItYnRuX19pbm5lcixcbiAgICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSAuaWItYnRuX19pbm5lciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAvLyAjaWNvbi1tZW51LW9wZW4gaGFyZGNvZGVzIHN0cm9rZT1cIiNFNkU2RURcIiBvbiBpdHMgPGxpbmU+cywgYW5kIGFcbiAgICAvLyBwcmVzZW50YXRpb24gYXR0cmlidXRlIGluc2lkZSBhIDx1c2U+IHNoYWRvdyB0cmVlIGlzIG91dCBvZiByZWFjaCBmb3JcbiAgICAvLyBDU1Mg4oCUIGBjb2xvcmAgY2FuJ3QgdG91Y2ggaXQuIEZpbHRlciBpcyB0aGUgb25seSBsZXZlcjogMC4yNCBicmlnaHRuZXNzXG4gICAgLy8gbWFwcyAjRTZFNkVEIHRvIH4jMzczNzM5LCBtYXRjaGluZyB0aGUgIzM3Mzc0MiBzcGVjIGF0IHRoaXMgc2l6ZS5cbiAgICAuaWItaWNvbiB7XG4gICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoLjI0KTtcbiAgICAgIG9wYWNpdHk6IC42O1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMjVzIGN1YmljLWJlemllciguMTYsIDEsIC4zLCAxKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIC5pYi1pY29uLFxuICAgICY6Zm9jdXMtdmlzaWJsZSAuaWItaWNvbiB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxuXG4gIC8vIOKUgOKUgCBIZWFkaW5nIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAmX190aXRsZSB7XG4gICAgQGluY2x1ZGUgaWItdHlwZShcImhlYWRsaW5lLW1vYmlsZS1tZWRpdW1cIik7XG5cbiAgICBjb2xvcjogJGliLXRleHQtcHJpbWFyeTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBpYi1zcGFjZSg5Nik7IC8vIGNsZWFyIHRoZSBDTE9TRSBidXR0b25cbiAgfVxuXG4gIC8vIOKUgOKUgCBGb3JtIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAmX19mb3JtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiBpYi1zcGFjZSgzMik7XG4gIH1cblxuICAmX19ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICBnYXA6IGliLXNwYWNlKDI0KSBpYi1yZW0oNDRweCk7XG4gIH1cblxuICAmX19maWVsZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogaWItc3BhY2UoOCk7XG5cbiAgICAmLS1mdWxsIHtcbiAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgfVxuICB9XG5cbiAgJl9fbGFiZWwge1xuICAgIEBpbmNsdWRlIGliLXR5cGUoXCJib2R5LXNtYWxsXCIpO1xuXG4gICAgY29sb3I6ICRpYi10ZXh0LXByaW1hcnk7XG4gIH1cblxuICAmX19yZXF1aXJlZCB7XG4gICAgY29sb3I6ICRpYi10ZXh0LXByaW1hcnk7XG4gIH1cblxuICAmX19pbnB1dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBpYi1yZW0oNTZweCk7XG4gICAgcGFkZGluZzogaWItc3BhY2UoMTYpO1xuICAgIGJhY2tncm91bmQ6ICRpYi1iZy1pbnZlcnQ7XG4gICAgYm9yZGVyOiAuNjNweCBzb2xpZCAkaWItYm9yZGVyLXRlcnRpYXJ5O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgb3V0bGluZTogbm9uZTtcblxuICAgIEBpbmNsdWRlIGliLXR5cGUoXCJib2R5LXNtYWxsXCIsICRpYi1mb250LWJvZHkpO1xuXG4gICAgY29sb3I6ICRpYi10ZXh0LXByaW1hcnk7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIC4yNXMgZWFzZTtcblxuICAgICY6OnBsYWNlaG9sZGVyIHsgY29sb3I6ICRpYi10ZXh0LXNlY29uZGFyeTsgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICRpYi10ZXh0LXByaW1hcnk7XG4gICAgfVxuICB9XG5cbiAgJl9fdGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bzsgLy8gZml4ZWQgNTZweCBoZWlnaHQgYXBwbGllcyB0byBzaW5nbGUtbGluZSBpbnB1dHMgb25seVxuICAgIG1pbi1oZWlnaHQ6IGliLXJlbSgxMjBweCk7XG4gICAgcmVzaXplOiB2ZXJ0aWNhbDtcbiAgfVxuXG4gICZfX2hpbnQge1xuICAgIG1hcmdpbjogMDtcblxuICAgIEBpbmNsdWRlIGliLXR5cGUoXCJjYXB0aW9uLWxhcmdlXCIsICRpYi1mb250LWJvZHkpO1xuICAgIGNvbG9yOiAkaWItdGV4dC1zZWNvbmRhcnk7XG5cbiAgICBpIHsgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cbiAgfVxuXG4gIC8vIOKUgOKUgCBDb25zZW50IGNoZWNrYm94IOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAmX19jb25zZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogaWItc3BhY2UoMTIpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gICZfX2NoZWNrYm94IHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB3aWR0aDogaWItcmVtKDE4cHgpO1xuICAgIGhlaWdodDogaWItcmVtKDE4cHgpO1xuICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkaWItYm9yZGVyLXRlcnRpYXJ5O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYmFja2dyb3VuZDogJGliLWJnLWludmVydDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogJGliLXRyYW5zaXRpb24tc21vb3RoO1xuXG4gICAgJjpjaGVja2VkIHtcbiAgICAgIGJhY2tncm91bmQ6ICRpYi1yZWQtYnJhbmQ7XG4gICAgICBib3JkZXItY29sb3I6ICRpYi1yZWQtYnJhbmQ7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDQ1JTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB3aWR0aDogaWItcmVtKDRweCk7XG4gICAgICAgIGhlaWdodDogaWItcmVtKDhweCk7XG4gICAgICAgIGJvcmRlcjogc29saWQgJGliLWJnLWludmVydDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDEuNXB4IDEuNXB4IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSg0NWRlZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fY29uc2VudC10ZXh0IHtcbiAgICBAaW5jbHVkZSBpYi10eXBlKFwiYm9keS1zbWFsbFwiLCAkaWItZm9udC1ib2R5KTtcblxuICAgIGNvbG9yOiAkaWItdGV4dC1wcmltYXJ5O1xuICB9XG5cbiAgJl9fc3VibWl0IHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgIG1pbi13aWR0aDogaWItcmVtKDIzOHB4KTtcbiAgfVxuXG4gIC8vIOKUgOKUgCBNb2JpbGUgLyB0YWJsZXQgKOKJpDEwMjRweCDigJQgdGhpcyBwYWdlJ3MgbW9iaWxlIGJvdW5kYXJ5KSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgQGluY2x1ZGUgcmVzcG9uZC10bygkaWItYnAtdGFibGV0KSB7XG4gICAgJl9fcGFuZWwge1xuICAgICAgQGluY2x1ZGUgaWItbm90Y2goMjBweCwgMjBweCk7XG5cbiAgICAgIGluc2V0OiAwO1xuICAgICAgZ2FwOiBpYi1zcGFjZSgyNCk7XG4gICAgICBwYWRkaW5nOiBpYi1zcGFjZSg4MCkgaWItc3BhY2UoMjQpIGliLXNwYWNlKDQwKTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAvLyBNYXRjaGVzIHRoZSBzaGFyZWQgLmliLWJ0biBtb2JpbGUgY29udHJvbCBzaXplICg0NHB4IOKJpDEwMjRweCkuIFJlc3RhdGVkXG4gICAgLy8gaGVyZSBmb3IgdGhlIHNhbWUgcmVhc29uIGFzIHRoZSBkZXNrdG9wIGJsb2NrIOKAlCB0aGUgbWFya3VwIG1heSBub3QgY2FycnlcbiAgICAvLyAuaWItYnRuLS1pY29uLW9ubHksIGFuZCBzb3VyY2Ugb3JkZXIgYmV0d2VlbiB0aGUgdHdvIGZpbGVzIGlzbid0IGZpeGVkLlxuICAgICZfX2Nsb3NlLmliLWJ0biB7XG4gICAgICB3aWR0aDogNDRweDtcbiAgICAgIGhlaWdodDogNDRweDtcbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICBAaW5jbHVkZSBpYi10eXBlKFwiaGVhZGxpbmUtbW9iaWxlLXNtYWxsXCIpO1xuXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgICZfX2dyaWQge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICBnYXA6IGliLXNwYWNlKDE2KTtcbiAgICB9XG5cbiAgICAmX19zdWJtaXQge1xuICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcblxuICAgICAgLmliLWJ0bl9faW5uZXIgeyB3aWR0aDogMTAwJTsgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBTY3JvbGwgbG9jayB3aGlsZSB0aGUgZHJhd2VyIGlzIG9wZW4gKGFkZGVkL3JlbW92ZWQgYnkgdGFsay1kcmF3ZXIuanMpLlxuLy8gTXVzdCBsaXZlIG9uIDxodG1sPiwgbm90IDxib2R5PjogdGhpcyBwYWdlIHNldHMgb3ZlcmZsb3cteDogY2xpcCBvbiA8aHRtbD5cbi8vIChzZXJ2aWNlbm93LnNjc3MpLCBzbyBib2R5IG92ZXJmbG93IG5vIGxvbmdlciBwcm9wYWdhdGVzIHRvIHRoZSB2aWV3cG9ydCDigJRcbi8vIGBib2R5IHsgb3ZlcmZsb3c6IGhpZGRlbiB9YCBpbnN0ZWFkIGNsaXBzIHRoZSAxMDAlLWhlaWdodCBib2R5IGJveCBpdHNlbGYsXG4vLyBjb2xsYXBzaW5nIHRoZSBkb2N1bWVudCB0byBvbmUgdmlld3BvcnQsIGZvcmNpbmcgc2Nyb2xsWSB0byAwIChwYWdlIHNuYXBzXG4vLyB0byB0aGUgaGVybykgYW5kIGZlZWRpbmcgc2Nyb2xsZWQ9MCBpbnRvIHRoZSBwYXJhbGxheC1icmlkZ2Ugc2Nyb2xsIGRyaXZlci5cbi8vIEhpZGluZyBvdmVyZmxvdyBvbiB0aGUgcmVhbCBzY3JvbGxlciBwcmVzZXJ2ZXMgc2Nyb2xsVG9wIGFuZCBsYXlvdXQsIHNvXG4vLyBub3RoaW5nIG1vdmVzIGFuZCBubyBzY3JvbGwgZXZlbnQgZmlyZXMuXG5odG1sLnNuLXRhbGstZHJhd2VyLWxvY2sge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuIiwiLy8gYXNzZXRzL3Njc3MvcGFnZXMvZW50ZXJwcmlzZS1yZWFkaW5lc3MvX2hlcm8tc2VjdGlvbi5zY3NzXG4vLyBIZXJvIOKAlCBwaW5uZWQgc2Nyb2xsLXNjcnViLiBIZWFkaW5nIGFuZCBzdWJ0ZXh0IHN0YXkgbG9ja2VkIGluIHBsYWNlIHdoaWxlXG4vLyB0aGUgbWVkaWEgYmxvY2sgc2xpZGVzIHVwIGZyb20gYmVsb3cgdGhlIGZvbGQgYXMgdGhlIHVzZXIgc2Nyb2xscyB0aHJvdWdoXG4vLyB0aGUgc2VjdGlvbidzIGJ1ZGdldCAoSlMgZHJpdmVzIHRyYW5zbGF0ZVkpLiBNb2JpbGUgaXMgc3RhdGljLlxuXG5AdXNlIFwiLi4vdXRpbHNcIiBhcyAqO1xuXG4uZXItaGVyby1zZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogJGliLWJnLXByaW1hcnk7XG5cbiAgLy8gbWluLWhlaWdodCAoMTAwdmggKyBzY3JvbGwgYnVkZ2V0KSBzZXQgYnkgSlMgb24gZGVza3RvcFxuXG4gIC8vIFN0aWNreSBwaW4g4oCUIGNvcHkgc3RheXMgcHV0IHdoaWxlIHRoZSBtZWRpYSBzY3J1YnMgdW5kZXJuZWF0aFxuICAmX19waW4ge1xuICAgIHBhZGRpbmc6IGliLXJlbSgyMjBweCkgaWItcmVtKDI0cHgpIDA7XG4gICAgbWFyZ2luLWJvdHRvbTogaWItcmVtKDY0cHgpO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IGNhbGMoJGliLWJwLXRhYmxldCArIDFweCkpIHtcbiAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICB0b3A6IDA7XG4gICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgb3ZlcmZsb3c6IGNsaXA7IC8vIGhpZGVzIHRoZSBtZWRpYSB3aGlsZSBpdCB3YWl0cyBiZWxvdyB0aGUgZm9sZFxuICAgIH1cbiAgfVxuXG4gICZfX2NvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiBpYi1yZW0oMTI4N3B4KTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAvLyDilIDilIAgRm91bmRhdGlvbiBicmFuZCBsb2NrdXAg4oCUIGluZm9iZWFucy1mb3VuZGF0aW9uLmh0bWwgb25seSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgLy8gVGhlIEVSIG1hcmt1cCBoYXMgbm8gX19icmFuZC1yb3cgLyBfX2JyYW5kIC8gX19oZWFkaW5nLWFjY2VudCBlbGVtZW50LCBzb1xuICAvLyBub25lIG9mIHRoZXNlIHJ1bGVzIGNhbiBtYXRjaCBvbiB0aGF0IHBhZ2UuIE5vIHBhZ2UtY2xhc3Mgc2NvcGUgbmVlZGVkLlxuXG4gIC8vIE1hcmsgYW5kIGhlYWRpbmcgb24gb25lIHJvdywgY2VudHJlZCBhcyBhIHBhaXIuXG4gIC8vXG4gIC8vIEdhdGVkIG9uIDpoYXMoJl9fYnJhbmQpIG9uIHB1cnBvc2UuIFRoZSBsb2NrdXAgdHJlYXRtZW50IG9ubHkgbWFrZXMgc2Vuc2VcbiAgLy8gd2hlbiBhIG1hcmsgaXMgYWN0dWFsbHkgYmVzaWRlIHRoZSBoZWFkaW5nIOKAlCB3aXRoIHRoZSA8aW1nPiBkZWxldGVkLCBhXG4gIC8vIGZ1bGwtbGVuZ3RoIGhlYWRpbmcgKFwiSWYgeW91J3JlIGV2YWx1YXRpbmcgdXPigKZcIikgaW5zaWRlIGEgYmFyZSByb3cgd291bGRcbiAgLy8ga2VlcCB0aGUgbGVmdC1hbGlnbmVkLCB1bmNvbnN0cmFpbmVkIHdvcmRtYXJrIHN0eWxpbmcgYmVsb3cgYW5kIHJ1biB0aGVcbiAgLy8gZnVsbCB3aWR0aCBvZiB0aGUgY29udGFpbmVyLiBXaXRoIHRoZSBnYXRlLCByZW1vdmluZyB0aGUgPGltZz4gKG9yIHRoZVxuICAvLyB3cmFwcGVyIGl0c2VsZikgZHJvcHMgdGhlIGhlYWRpbmcgc3RyYWlnaHQgYmFjayB0byBzdG9jayBFUiBiZWhhdmlvdXI6XG4gIC8vIGNlbnRyZWQsIG1heC13aWR0aCBjYXBwZWQuIEJvdGggaGVhZGluZ3MgYXJlIGludGVyY2hhbmdlYWJsZSBlaXRoZXIgd2F5LlxuICAvLyA6aGFzKCkgaXMgYWxyZWFkeSBsb2FkLWJlYXJpbmcgaW4gdGhpcyBjb2RlYmFzZSAoc2VlIGhlYWRlci5jc3MpLlxuICAmX19icmFuZC1yb3c6aGFzKCZfX2JyYW5kKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogaWItcmVtKDQ0cHgpO1xuICB9XG5cbiAgLy8gQ2lyY3VsYXItYXJyb3dzIG1hcmsuIFNvdXJjZSBQTkcgaXMgYSAxNjB4MTYwIHNxdWFyZS5cbiAgJl9fYnJhbmQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiBpYi1yZW0oMTQwcHgpO1xuICAgIGhlaWdodDogaWItcmVtKDE0MHB4KTtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICB9XG5cbiAgLy8gQmVzaWRlIGEgbWFyayB0aGUgaGVhZGluZyBpcyBhIHR3by13b3JkIHdvcmRtYXJrLCBub3QgYSBjZW50cmVkIHBhcmFncmFwaFxuICAvLyBvZiBjb3B5IOKAlCBkcm9wIHRoZSBhdXRvLWNlbnRyaW5nIGFuZCBtYXgtd2lkdGggaXQgY2FycmllcyBvbiB0aGUgRVIgcGFnZS5cbiAgJl9fYnJhbmQtcm93OmhhcygmX19icmFuZCkgJl9faGVhZGluZyB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG5cbiAgJl9faGVhZGluZy1hY2NlbnQge1xuICAgIGNvbG9yOiAkaWItcmVkLWJyYW5kO1xuICB9XG5cbiAgJl9faGVhZGluZyB7XG4gICAgQGluY2x1ZGUgaWItdHlwZShcImRpc3BsYXktd2ViLXNtYWxsXCIpO1xuXG4gICAgY29sb3I6ICRpYi10ZXh0LXByaW1hcnk7XG4gICAgbWF4LXdpZHRoOiBpYi1yZW0oMTA2M3B4KTtcbiAgICBtYXJnaW46IDAgYXV0bztcblxuICAgIEBpbmNsdWRlIGliLXJldmVhbChpYi1yZW0oNDBweCksICRpYi1icC10YWJsZXQpO1xuICB9XG5cbiAgJl9faGlnaGxpZ2h0IHtcbiAgICBiYWNrZ3JvdW5kOiAkaWItZ3JhZGllbnQtdGV4dDtcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJl9fc3VidGV4dCB7XG4gICAgQGluY2x1ZGUgaWItdHlwZShcImJvZHktZXh0cmEtbGFyZ2VcIiwgJGliLWZvbnQtYm9keSk7XG5cbiAgICBjb2xvcjogJGliLXRleHQtc2Vjb25kYXJ5O1xuICAgIG1heC13aWR0aDogaWItcmVtKDEwMzhweCk7XG4gICAgbWFyZ2luOiBpYi1yZW0oNDhweCkgYXV0byAwO1xuXG4gICAgQGluY2x1ZGUgaWItcmV2ZWFsKGliLXJlbSgzMnB4KSwgJGliLWJwLXRhYmxldCk7XG5cbiAgICAvLyBTdWJ0ZXh0IHRyYWlscyB0aGUgaGVhZGluZyBzbGlnaHRseVxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAuMTVzO1xuICAgIH1cbiAgfVxuXG4gIC8vIE1lZGlhIHBsYWNlaG9sZGVyIOKAlCBmbGF0IGNyaW1zb24gYmxvY2sgaW4gdGhlIGRlc2lnbiAodmlkZW8vdmlzdWFsIHNsb3QpLlxuICAvLyBTaXRzIG9uIGEgaGlnaGVyIGxheWVyIHNvIGl0IHNsaWRlcyBPVkVSIHRoZSBoZWFkaW5nL3N1YnRleHQgYXMgSlMgc2NydWJzXG4gIC8vIHRyYW5zbGF0ZVkg4oCUIG5vIENTUyB0cmFuc2l0aW9uIGhlcmUsIHRoZSBzY3JvbGwgaXMgdGhlIHRpbWVsaW5lLlxuICAmX19tZWRpYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYXNwZWN0LXJhdGlvOiAxMjg3IC8gNzc5O1xuICAgIGJhY2tncm91bmQ6ICRpYi1oZXJvLW1lZGlhO1xuICAgIG1hcmdpbi10b3A6IGliLXJlbSgxMjBweCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICB9XG5cbiAgJl9fbWVkaWEtaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gIH1cblxuICAvLyDilIDilIAgTGFwdG9wICjiiaQxMjAwcHgpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICBAaW5jbHVkZSByZXNwb25kLXRvKCRpYi1icC1sYXB0b3ApIHtcbiAgICAmX19waW4ge1xuICAgICAgcGFkZGluZy10b3A6IGliLXJlbSgxODBweCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiBpYi1yZW0oNDhweCk7XG4gICAgfVxuXG4gICAgJl9faGVhZGluZyB7XG4gICAgICBmb250LXNpemU6IGliLXJlbSg1NnB4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBpYi1yZW0oNjhweCk7XG4gICAgfVxuXG4gICAgJl9fc3VidGV4dCB7XG4gICAgICBmb250LXNpemU6IGliLXJlbSgyMHB4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBpYi1yZW0oMzRweCk7XG4gICAgICBtYXgtd2lkdGg6IGliLXJlbSg4NjBweCk7XG4gICAgfVxuXG4gICAgJl9fbWVkaWEge1xuICAgICAgbWFyZ2luLXRvcDogaWItcmVtKDk2cHgpO1xuICAgIH1cbiAgfVxuXG4gIC8vIOKUgOKUgCBNb2JpbGUgKyB0YWJsZXQgKOKJpDEwMjRweCkg4oCUIHN0YXRpYywgbm8gcGlubmluZywgbm8gc2NydWIg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8oJGliLWJwLXRhYmxldCkge1xuICAgIG1pbi1oZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcblxuICAgICZfX3BpbiB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICBwYWRkaW5nOiBpYi1yZW0oMTU2cHgpIGliLXJlbSgyMHB4KSAwO1xuICAgIH1cblxuICAgIC8vIEhlcm8gY29weSBnb2VzIGxlZnQtYWxpZ25lZCBoZXJlIOKAlCB0aGUgbG9ja3VwIGZvbGxvd3MgaXRcbiAgICAmX19icmFuZC1yb3c6aGFzKCZfX2JyYW5kKSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBnYXA6IGliLXJlbSgxNnB4KTtcbiAgICB9XG5cbiAgICAmX19icmFuZCB7XG4gICAgICB3aWR0aDogaWItcmVtKDg4cHgpO1xuICAgICAgaGVpZ2h0OiBpYi1yZW0oODhweCk7XG4gICAgfVxuXG4gICAgJl9faGVhZGluZyB7XG4gICAgICBAaW5jbHVkZSBpYi10eXBlKFwiZGlzcGxheS1tb2JpbGUtbGFyZ2VcIik7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuXG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgICZfX3N1YnRleHQge1xuICAgICAgQGluY2x1ZGUgaWItdHlwZShcImJvZHktc21hbGxcIiwgJGliLWZvbnQtYm9keSk7XG5cbiAgICAgIG1hcmdpbi10b3A6IGliLXJlbSgzMnB4KTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG4gICAgJl9fbWVkaWEge1xuICAgICAgYXNwZWN0LXJhdGlvOiAzNTQgLyAyMTk7XG4gICAgICBtYXJnaW4tdG9wOiBpYi1yZW0oNzJweCk7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBhc3NldHMvc2Nzcy9wYWdlcy9lbnRlcnByaXNlLXJlYWRpbmVzcy9fbWV0cmljcy1zZWN0aW9uLnNjc3Ncbi8vIE1ldHJpY3Mg4oCUIGZvdXIgbGVkZ2VyIHJvd3MuIERlc2t0b3A6IHRpdGxlIGxlZnQsIGRlc2NyaXB0aW9uIHJpZ2h0O1xuLy8gZGVzY3JpcHRpb24gd2lwZXMgaW4gKG1hc2tlZCB0cmFuc2xhdGVZKSB3aGVuIHRoZSByb3cgc2Nyb2xscyBpbi5cbi8vIE1vYmlsZTogc3RhdGljIHN0YWNrZWQgcm93cyB3aXRoIGEgcmVkLWZhZGUgZGl2aWRlci5cblxuQHVzZSBcIi4uL3V0aWxzXCIgYXMgKjtcblxuLmVyLW1ldHJpY3Mtc2VjdGlvbiB7XG4gIGJhY2tncm91bmQ6ICRpYi1iZy1wcmltYXJ5O1xuICBwYWRkaW5nOiBpYi1yZW0oMTUwcHgpIGliLXJlbSgyNHB4KTtcblxuICAmX19jb250YWluZXIge1xuICAgIG1heC13aWR0aDogaWItcmVtKDEzMDFweCk7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cblxuICAmX19oZWFkaW5nIHtcbiAgICBAaW5jbHVkZSBpYi10eXBlKFwiZGlzcGxheS1tb2JpbGUtbGFyZ2VcIik7XG5cbiAgICBjb2xvcjogJGliLXRleHQtcHJpbWFyeTtcbiAgICBtYXJnaW46IDAgMCBpYi1yZW0oNDBweCk7XG4gIH1cblxuICAmX19saXN0IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgJl9fcm93IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpIG1pbm1heCgwLCAje2liLXJlbSg3MDBweCl9KTtcbiAgICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gICAgcGFkZGluZzogaWItcmVtKDI4cHgpIGliLXJlbSgyMHB4KTtcbiAgICBtaW4taGVpZ2h0OiBpYi1yZW0oMTI3cHgpO1xuXG4gICAgLy8gUmVzdGluZyB0b3AgZGl2aWRlciDigJQgRmlnbWEgbGluZSBzcGFucyB+NDAlIG9mIHRoZSByb3cgd2lkdGhcbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogaWItcmVtKDUyOXB4KTtcbiAgICAgIG1heC13aWR0aDogNDIlO1xuICAgICAgaGVpZ2h0OiBpYi1yZW0oMnB4KTtcbiAgICAgIGJhY2tncm91bmQ6ICRpYi1ib3JkZXI7XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIGRpdmlkZXIg4oCUIGZ1bGwtd2lkdGggcmVkLWZhZGUgZ3JhZGllbnQgKHNhbWUgYXMgbW9iaWxlKSxcbiAgICAvLyBncm93cyBmcm9tIHRoZSBsZWZ0IG92ZXIgdGhlIHJlc3RpbmcgbGluZS4gRGVza3RvcCBvbmx5IOKAlCBtb2JpbGVcbiAgICAvLyByZXB1cnBvc2VzIDo6YWZ0ZXIgYXMgaXRzIHN0YXRpYyBib3R0b20gZGl2aWRlci5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogY2FsYygkaWItYnAtdGFibGV0ICsgMXB4KSkge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogaWItcmVtKDJweCk7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgICA5MGRlZyxcbiAgICAgICAgICByZ2JhKCRpYi1yZWQtYnJhbmQsIC4wNSkgMCUsXG4gICAgICAgICAgcmdiYSgkaWItcmVkLWJyYW5kLCAuNTUpIDIyJSxcbiAgICAgICAgICAkaWItYm9yZGVyIDMwJSxcbiAgICAgICAgICAkaWItYm9yZGVyIDEwMCVcbiAgICAgICAgKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSBpYi10eXBlKFwiZGlzcGxheS1tb2JpbGUtbWVkaXVtXCIpO1xuXG4gICAgY29sb3I6ICRpYi10ZXh0LXByaW1hcnk7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gTWFza2VkIHdyYXBwZXIg4oCUIGNoaWxkIHRyYW5zbGF0ZXMgdXAgZnJvbSBiZWhpbmQgdGhlIHJvdyAoRmlnbWEgY292ZXIgcmVjdClcbiAgJl9fZGVzYyB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IGliLXJlbSg0cHgpIDAgMDtcblxuICAgICYtaW5uZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICBAaW5jbHVkZSBpYi10eXBlKFwiYm9keS1sYXJnZVwiLCAkaWItZm9udC1ib2R5KTtcblxuICAgICAgY29sb3I6ICRpYi10ZXh0LXByaW1hcnk7XG4gICAgfVxuICB9XG5cbiAgLy8g4pSA4pSAIERlc2t0b3Ag4oCUIGRlc2NyaXB0aW9uIGhpZGRlbiB1bnRpbCB0aGUgcm93IHNjcm9sbHMgdG8gdGhlIGNlbnRlciDilIDilIBcbiAgLy8gb2YgdGhlIHZpZXdwb3J0OyBKUyB0b2dnbGVzIGBpcy1hY3RpdmVgIChhc3NldHMvanMvLi4uL21ldHJpY3Mtc2VjdGlvbi5qcylcbiAgQG1lZGlhIChtaW4td2lkdGg6IGNhbGMoJGliLWJwLXRhYmxldCArIDFweCkpIHtcbiAgICAmX19kZXNjLWlubmVyIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMTAlKTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIC42cyBjdWJpYy1iZXppZXIoLjI1LCAuNDYsIC40NSwgLjk0KTtcbiAgICB9XG5cbiAgICAmX19yb3c6OmFmdGVyIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuN3MgY3ViaWMtYmV6aWVyKC4yNSwgLjQ2LCAuNDUsIC45NCk7XG4gICAgfVxuXG4gICAgJl9fcm93LmlzLWFjdGl2ZSB7XG4gICAgICAvLyBHcmFkaWVudCBkaXZpZGVyIHN3ZWVwcyB0byBmdWxsIHdpZHRoXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICAgICAgfVxuXG4gICAgICAuZXItbWV0cmljcy1zZWN0aW9uX19kZXNjLWlubmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cbiAgICAvLyBIb3ZlcmluZyBhIHJvdyByZXZlYWxzIGl0cyBkZXNjcmlwdGlvbiB0b28g4oCUIHNhbWUgd2lwZSBhcyBpcy1hY3RpdmUsIHNvXG4gICAgLy8gdGhlIHJlYWRlciBjYW4ganVtcCBzdHJhaWdodCB0byBhbnkgcm93IHdpdGhvdXQgc2Nyb2xsaW5nIGl0IHRvIGNlbnRyZS5cbiAgICAvLyBQb2ludGVyIGRldmljZXMgb25seTogYSB0b3VjaCB0YXAgd291bGQgbGVhdmUgdGhlIHJvdyBzdHVjayBvcGVuLlxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAvLyBXaGlsZSB0aGUgY3Vyc29yIGlzIG92ZXIgdGhlIGxpc3QsIG9ubHkgdGhlIGhvdmVyZWQgcm93IHNob3dzIGNvbnRlbnQg4oCUXG4gICAgICAvLyB0aGUgc2Nyb2xsZWQtdG8tY2VudHJlIHJvdyBkcm9wcyBiYWNrIHRvIHJlc3QgdW50aWwgdGhlIGN1cnNvciBsZWF2ZXMuXG4gICAgICAmX19saXN0OmhvdmVyICZfX3Jvdy5pcy1hY3RpdmU6bm90KDpob3Zlcikge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAuZXItbWV0cmljcy1zZWN0aW9uX19kZXNjLWlubmVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTEwJSk7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmX19yb3c6aG92ZXIge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gICAgICAgIH1cblxuICAgICAgICAuZXItbWV0cmljcy1zZWN0aW9uX19kZXNjLWlubmVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIOKUgOKUgCBMYXB0b3AgKOKJpDEyMDBweCkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8oJGliLWJwLWxhcHRvcCkge1xuICAgICZfX3JvdyB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpIG1pbm1heCgwLCAje2liLXJlbSg1MDBweCl9KTtcbiAgICB9XG4gIH1cblxuICAvLyDilIDilIAgTW9iaWxlICsgdGFibGV0ICjiiaQxMDI0cHgpIOKAlCBzdGF0aWMsIHN0YWNrZWQsIHJlZC1mYWRlIGRpdmlkZXIg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8oJGliLWJwLXRhYmxldCkge1xuICAgIHBhZGRpbmc6IGliLXJlbSg0OHB4KSBpYi1yZW0oMjBweCk7XG5cbiAgICAmX19yb3cge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICBwYWRkaW5nOiBpYi1yZW0oMzBweCkgMDtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLy8gUmVkLWZhZGUgZGl2aWRlciBzaXRzIGJlbG93IGVhY2ggcm93IG9uIG1vYmlsZVxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogaWItcmVtKDJweCk7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgICA5MGRlZyxcbiAgICAgICAgICByZ2JhKCRpYi1yZWQtYnJhbmQsIC4wNSkgMCUsXG4gICAgICAgICAgcmdiYSgkaWItcmVkLWJyYW5kLCAuNTUpIDIyJSxcbiAgICAgICAgICAkaWItYm9yZGVyIDMwJSxcbiAgICAgICAgICAkaWItYm9yZGVyIDEwMCVcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICBAaW5jbHVkZSBpYi10eXBlKFwiaGVhZGxpbmUtbW9iaWxlLXNtYWxsXCIpO1xuXG4gICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJl9faGVhZGluZyB7XG4gICAgICBAaW5jbHVkZSBpYi10eXBlKFwiaGVhZGxpbmUtbW9iaWxlLW1lZGl1bVwiKTtcblxuICAgICAgbWFyZ2luLWJvdHRvbTogaWItcmVtKDI0cHgpO1xuICAgIH1cblxuICAgICZfX2Rlc2Mge1xuICAgICAgbWFyZ2luLXRvcDogaWItcmVtKDE2cHgpO1xuXG4gICAgICAmLWlubmVyIHtcbiAgICAgICAgQGluY2x1ZGUgaWItdHlwZShcImJvZHktc21hbGxcIik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBhc3NldHMvc2Nzcy9wYWdlcy9lbnRlcnByaXNlLXJlYWRpbmVzcy9fY29uZmlkZW5jZS1zZWN0aW9uLnNjc3Ncbi8vIENvbmZpZGVuY2Ug4oCUIGhlYWRpbmcgKyBzY3JvbGwtZHJpdmVuIGFjY29yZGlvbi4gRWFjaCByb3cgcGFpcnMgYW4gYXdhcmRcbi8vIGJhZGdlIHdpdGggYSB0aXRsZTsgdGhlIHJvdyBhdCB0aGUgdmlld3BvcnQgY2VudGVyIGV4cGFuZHMgdG8gcmV2ZWFsIGl0c1xuLy8gZGVzY3JpcHRpb24gYW5kIGEgbGFyZ2VyIGJhZGdlLiBSb3dzIGFyZSBmdWxsLWJsZWVkIHdpdGggaGFpcmxpbmUgYm9yZGVycy5cblxuQHVzZSBcIi4uL3V0aWxzXCIgYXMgKjtcblxuLmVyLWNvbmZpZGVuY2Utc2VjdGlvbiB7XG4gIGJhY2tncm91bmQ6ICRpYi1iZy1wcmltYXJ5O1xuICBwYWRkaW5nOiBpYi1yZW0oOTZweCkgMCBpYi1yZW0oMTQwcHgpO1xuXG4gICZfX2hlYWQge1xuICAgIG1heC13aWR0aDogaWItcmVtKCRpYi1jb250YWluZXItbWF4KTtcbiAgICBtYXJnaW46IDAgYXV0byBpYi1yZW0oMTEwcHgpO1xuICAgIHBhZGRpbmc6IDAgaWItcmVtKDQwcHgpO1xuICB9XG5cbiAgJl9faGVhZGluZyB7XG4gICAgQGluY2x1ZGUgaWItdHlwZShcImRpc3BsYXktbW9iaWxlLWxhcmdlXCIpO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG5cbiAgICBjb2xvcjogJGliLXRleHQtcHJpbWFyeTtcbiAgICBtYXgtd2lkdGg6IGliLXJlbSg4ODNweCk7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgQGluY2x1ZGUgaWItcmV2ZWFsKGliLXJlbSgzMnB4KSwgJGliLWJwLXRhYmxldCk7XG4gIH1cblxuICAmX19hY2NlbnQge1xuICAgIGNvbG9yOiAkaWItcmVkLWJyYW5kO1xuICB9XG5cbiAgJl9fbGlzdCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gICZfX2l0ZW0ge1xuICAgIGJvcmRlci1ib3R0b206IGliLXJlbSgxcHgpIHNvbGlkICRpYi1ib3JkZXI7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gY2xpcHMgdGhlIHRpbHRlZCBiYWRnZSBwb2tpbmcgcGFzdCB0aGUgcm93J3MgYm90dG9tIGVkZ2VcbiAgfVxuXG4gIC8vIFRyaWdnZXIgc3BhbnMgdGhlIHJvdyDigJQga2V5Ym9hcmQgZnJpZW5kbHksIG5vIGRlZmF1bHQgYnV0dG9uIGNocm9tZVxuICAmX190cmlnZ2VyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogI3tpYi1yZW0oMTgwcHgpfSBtaW5tYXgoMCwgI3tpYi1yZW0oNjk5cHgpfSk7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgLy8gY2VudGVyIHRoZSBmaXhlZCBjb2x1bW4gdHJhY2tzIGluIHRoZSByb3dcbiAgICBjb2x1bW4tZ2FwOiBpYi1yZW0oNjRweCk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogaWItcmVtKDE0cHgpIGliLXJlbSg0MHB4KTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IC8vIHNjcm9sbC1kcml2ZW4g4oCUIHJvd3MgYXJlIG5vdCBjbGlja2FibGVcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGZvbnQ6IGluaGVyaXQ7XG4gIH1cblxuICAmX19iYWRnZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGhlaWdodDogaWItcmVtKDEwMHB4KTsgLy8gY29sbGFwc2VkIHJvdyBoZWlnaHQgZHJpdmVyXG4gICAgdHJhbnNpdGlvbjogaGVpZ2h0IC41cyBjdWJpYy1iZXppZXIoLjI1LCAuNDYsIC40NSwgLjk0KTtcblxuICAgIC8vIEluYWN0aXZlOiBiYWRnZSB0aWx0cyBhbmQgc2lua3MgcGFzdCB0aGUgcm93J3MgYm90dG9tIGVkZ2UgKGNsaXBwZWQgYnkgdGhlIGl0ZW0pXG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiBpYi1yZW0oMTgwcHgpO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUyJSkgcm90YXRlKC0xNGRlZykgc2NhbGUoLjg1KTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNnMgY3ViaWMtYmV6aWVyKC4yNSwgLjQ2LCAuNDUsIC45NCk7XG4gICAgfVxuICB9XG5cbiAgJl9fY29udGVudCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBAaW5jbHVkZSBpYi10eXBlKFwiaGVhZGxpbmUtbW9iaWxlLXNtYWxsXCIpO1xuXG4gICAgY29sb3I6ICRpYi10ZXh0LXNlY29uZGFyeTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAuM3MgZWFzZTtcbiAgfVxuXG4gIC8vIEV4cGFuZC9jb2xsYXBzZSB2aWEgZ3JpZC1yb3dzIOKAlCBhbmltYXRlcyB3aXRob3V0IGxheW91dCBtYWdpYyBudW1iZXJzXG4gICZfX2Rlc2Mge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAwZnI7XG4gICAgdHJhbnNpdGlvbjogZ3JpZC10ZW1wbGF0ZS1yb3dzIC41cyBjdWJpYy1iZXppZXIoLjI1LCAuNDYsIC40NSwgLjk0KTtcblxuICAgICYtaW5uZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICBAaW5jbHVkZSBpYi10eXBlKFwiYm9keS1tZWRpdW1cIiwgJGliLWZvbnQtYm9keSk7XG5cbiAgICAgIGNvbG9yOiAkaWItdGV4dC1wcmltYXJ5O1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAvLyBtYXJnaW4tdG9wIG11c3QgZWFzZSBpbiBzdGVwIHdpdGggdGhlIHJvdyBleHBhbnNpb24g4oCUIHNuYXBwaW5nIGl0XG4gICAgICAvLyBpbnN0YW50bHkgcmVmbG93cyB0aGUgY2VudHJlZCBjb250ZW50IGJsb2NrIGFuZCBudWRnZXMgdGhlIHRpdGxlLlxuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNHMgZWFzZSxcbiAgICAgICAgbWFyZ2luLXRvcCAuNXMgY3ViaWMtYmV6aWVyKC4yNSwgLjQ2LCAuNDUsIC45NCk7XG4gICAgfVxuICB9XG5cbiAgLy8g4pSA4pSAIEFjdGl2ZSByb3cgKGRlc2t0b3Agb25seSDigJQgbW9iaWxlIGlzIGFsd2F5cyBleHBhbmRlZCkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIEBtZWRpYSAobWluLXdpZHRoOiBjYWxjKCRpYi1icC10YWJsZXQgKyAxcHgpKSB7XG4gICAgLy8gQW5jaG9yIHRoZSB0aXRsZSB0byB0aGUgdG9wIG9mIHRoZSBjb2xsYXBzZWQgYmFkZ2UgYW5kIGhvbGQgaXQgdGhlcmVcbiAgICAvLyB0aHJvdWdoIGV4cGFuZC9jb2xsYXBzZS4gTGV0dGluZyBpdCByZS1jZW50cmUgYWdhaW5zdCB0aGUgZ3Jvd2luZyByb3dcbiAgICAvLyBtYWRlIGl0IGRyaWZ0IHVuZGVyIHRoZSBjdXJzb3Igb24gaG92ZXIgKHJlYWQgYXMgaml0dGVyKS5cbiAgICAmX19jb250ZW50IHtcbiAgICAgIGFsaWduLXNlbGY6IHN0YXJ0O1xuICAgICAgcGFkZGluZy10b3A6IGliLXJlbSgzNnB4KTsgLy8gKDEwMHB4IGNvbGxhcHNlZCBiYWRnZSDiiJIgMjhweCB0aXRsZSBsaW5lKSAvIDJcbiAgICB9XG4gICAgJl9faXRlbS0tYWN0aXZlIHtcbiAgICAgIC5lci1jb25maWRlbmNlLXNlY3Rpb25fX2JhZGdlIHtcbiAgICAgICAgaGVpZ2h0OiBpYi1yZW0oMTc2cHgpO1xuXG4gICAgICAgIC8vIEFjdGl2ZTogYmFkZ2UgcmlnaHRzIGl0c2VsZiBhbmQgc2l0cyBmdWxseSBpbnNpZGUgdGhlIHJvd1xuICAgICAgICBpbWcge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSByb3RhdGUoMCkgc2NhbGUoMSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmVyLWNvbmZpZGVuY2Utc2VjdGlvbl9fdGl0bGUge1xuICAgICAgICBjb2xvcjogJGliLXRleHQtcHJpbWFyeTtcbiAgICAgIH1cblxuICAgICAgLmVyLWNvbmZpZGVuY2Utc2VjdGlvbl9fZGVzYyB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyO1xuXG4gICAgICAgICYtaW5uZXIge1xuICAgICAgICAgIG9wYWNpdHk6IC41O1xuICAgICAgICAgIG1hcmdpbi10b3A6IGliLXJlbSgxNnB4KTtcbiAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAuMTVzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8g4pSA4pSAIEhvdmVyLWRyaXZlbiBvcGVuIChkZXNrdG9wLCBwb2ludGVyIGRldmljZXMgb25seSkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIEBtZWRpYSAobWluLXdpZHRoOiBjYWxjKCRpYi1icC10YWJsZXQgKyAxcHgpKSB7XG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgIC8vIEhvdmVyaW5nIGEgcm93IG9wZW5zIGl0IGp1c3QgbGlrZSB0aGUgc2Nyb2xsLWFjdGl2YXRlZCByb3cg4oCUIGJhZGdlXG4gICAgICAvLyBsaWZ0LCB0aXRsZSBjb2xvdXIsIGRlc2NyaXB0aW9uIHJldmVhbCDigJQgc28gYW55IHJvdyBjYW4gYmUgb3BlbmVkXG4gICAgICAvLyB3aXRob3V0IHNjcm9sbGluZyBpdCB0byBjZW50cmUuXG4gICAgICAmX19pdGVtOmhvdmVyIHtcbiAgICAgICAgLmVyLWNvbmZpZGVuY2Utc2VjdGlvbl9fYmFkZ2Uge1xuICAgICAgICAgIGhlaWdodDogaWItcmVtKDE3NnB4KTtcblxuICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgcm90YXRlKDApIHNjYWxlKDEpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5lci1jb25maWRlbmNlLXNlY3Rpb25fX3RpdGxlIHtcbiAgICAgICAgICBjb2xvcjogJGliLXRleHQtcHJpbWFyeTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5lci1jb25maWRlbmNlLXNlY3Rpb25fX2Rlc2Mge1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyO1xuXG4gICAgICAgICAgJi1pbm5lciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAuNTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGliLXJlbSgxNnB4KTtcbiAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IC4xNXM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFdoaWxlIHRoZSBjdXJzb3IgaXMgb3ZlciB0aGUgbGlzdCwgdGhlIHNjcm9sbC1hY3RpdmF0ZWQgcm93IGNvbGxhcHNlc1xuICAgICAgLy8gYmFjayB0byByZXN0IHVubGVzcyBpdCBpcyB0aGUgb25lIGJlaW5nIGhvdmVyZWQg4oCUIGtlZXBzIGZvY3VzIG9uIHRoZVxuICAgICAgLy8gcm93IHVuZGVyIHRoZSBjdXJzb3IuXG4gICAgICAmX19saXN0OmhvdmVyICZfX2l0ZW0tLWFjdGl2ZTpub3QoOmhvdmVyKSB7XG4gICAgICAgIC5lci1jb25maWRlbmNlLXNlY3Rpb25fX2JhZGdlIHtcbiAgICAgICAgICBoZWlnaHQ6IGliLXJlbSgxMDBweCk7XG5cbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUyJSkgcm90YXRlKC0xNGRlZykgc2NhbGUoLjg1KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZXItY29uZmlkZW5jZS1zZWN0aW9uX190aXRsZSB7XG4gICAgICAgICAgY29sb3I6ICRpYi10ZXh0LXNlY29uZGFyeTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5lci1jb25maWRlbmNlLXNlY3Rpb25fX2Rlc2Mge1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMGZyO1xuXG4gICAgICAgICAgJi1pbm5lciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyDilIDilIAgTW9iaWxlICsgdGFibGV0ICjiiaQxMDI0cHgpIOKAlCBzdGF0aWMsIGFsbCBpdGVtcyBleHBhbmRlZCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgQGluY2x1ZGUgcmVzcG9uZC10bygkaWItYnAtdGFibGV0KSB7XG4gICAgcGFkZGluZzogaWItcmVtKDQ4cHgpIGliLXJlbSgyMHB4KTtcblxuICAgICZfX2hlYWQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogaWItcmVtKDEwcHgpO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAmX19oZWFkaW5nIHtcbiAgICAgIEBpbmNsdWRlIGliLXR5cGUoXCJoZWFkbGluZS1tb2JpbGUtbGFyZ2VcIik7XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAmX190cmlnZ2VyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogaWItcmVtKDIwcHgpIDAgaWItcmVtKDQwcHgpO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cblxuICAgICZfX2JhZGdlIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIG1hcmdpbi1ib3R0b206IGliLXJlbSgyNHB4KTtcbiAgICAgIHBhZGRpbmc6IDAgaWItcmVtKDEwcHgpO1xuXG4gICAgICBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IGliLXJlbSgxMjBweCk7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICBAaW5jbHVkZSBpYi10eXBlKFwibGFiZWwtbWVkaXVtXCIpO1xuXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgY29sb3I6ICRpYi10ZXh0LXByaW1hcnk7XG4gICAgfVxuXG4gICAgLy8gQWx3YXlzIGV4cGFuZGVkIOKAlCBubyBhY2NvcmRpb24gb24gbW9iaWxlXG4gICAgJl9fZGVzYyB7XG4gICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmcjtcblxuICAgICAgJi1pbm5lciB7XG4gICAgICAgIG9wYWNpdHk6IC41O1xuICAgICAgICBtYXJnaW4tdG9wOiBpYi1yZW0oMTJweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgaWItdHlwZShcImNhcHRpb24tbGFyZ2VcIik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8g4pSA4pSAIFNtYWxsIG1vYmlsZSAo4omkNTc2cHgpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICBAaW5jbHVkZSByZXNwb25kLXRvKCRpYi1icC1zbSkge1xuICAgICZfX2JhZGdlIHtcbiAgICAgIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogaWItcmVtKDgwcHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gYXNzZXRzL3Njc3MvcGFnZXMvZW50ZXJwcmlzZS1yZWFkaW5lc3MvX2Rpc2NpcGxpbmVzLXNlY3Rpb24uc2Nzc1xuLy8gRGlzY2lwbGluZXMg4oCUIGRhcmsgcGlubmVkIHNlY3Rpb24uIFRpdGxlIHNpdHMgbGVmdDsgYSBkZWNrIG9mIG5vdGNoZWQgY3JlYW1cbi8vIGNhcmRzIHN0YWNrcyBvbiB0aGUgcmlnaHQgYW5kIHNsaWRlcyB1cCBjYXJkLWJ5LWNhcmQgd2hpbGUgcGlubmVkXG4vLyAoc2FtZSBzdGFjay1jYXJkIHBhdHRlcm4gYXMgdGhlIFNlcnZpY2VOb3cgcGFyYWxsYXggY2FyZHMpLlxuXG5AdXNlIFwiLi4vdXRpbHNcIiBhcyAqO1xuXG4uZXItZGlzY2lwbGluZXMtc2VjdGlvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogJGliLWRhcms7XG4gIGlzb2xhdGlvbjogaXNvbGF0ZTtcblxuICAvLyBtaW4taGVpZ2h0IChzY3JvbGwgYnVkZ2V0KSBzZXQgYnkgSlMgb24gZGVza3RvcCDigJQgY2FuIHJ1biB0byBzZXZlcmFsXG4gIC8vIHRob3VzYW5kIHB4LlxuXG4gICZfX3BpbiB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDA7IC8vIGZsdXNoIHdpdGggdmlld3BvcnQgdG9wIOKAlCBncmFpbiBiZWxvdyBuZWVkcyB6ZXJvIGdhcCB0byBjb3ZlclxuICAgIGhlaWdodDogY2FsYygxMDB2aCArICN7aWItcmVtKDgwcHgpfSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG92ZXJmbG93OiBjbGlwO1xuXG4gICAgLy8gRmlsbS1ncmFpbiB0ZXh0dXJlLCBzY29wZWQgdG8gJl9fcGluIChub3QgdGhlIHNlY3Rpb24pIHNvIGl0IHN0YXlzXG4gICAgLy8gc3RpY2t5L3ZpZXdwb3J0LWxvY2tlZCBhbG9uZyB3aXRoIHRoZSBwaW5uZWQgY29udGVudCBpbnN0ZWFkIG9mXG4gICAgLy8gc2Nyb2xsaW5nIHBhc3QgaXQg4oCUIG1hdGNoZXMgdGhlIG1lZ2EtbWVudSBncmFpbidzIGZpeGVkIGZlZWwuXG4gICAgLy8gU2l6ZWQgYWdhaW5zdCAmX19waW4gKH52aWV3cG9ydCBoZWlnaHQpIHJhdGhlciB0aGFuIHRoZSBzZWN0aW9uJ3NcbiAgICAvLyBtdWx0aS10aG91c2FuZC1weCBzY3JvbGwgYnVkZ2V0LCBzbyBgYmFja2dyb3VuZC1zaXplOiBjb3ZlcmAgc3RheXNcbiAgICAvLyBzaGFycCBpbnN0ZWFkIG9mIHN0cmV0Y2hpbmcgb25lIGNvcHkgYW5kIHBpeGVsYXRpbmcuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBpbnNldDogMDtcbiAgICAgIHotaW5kZXg6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi8uLi8uLi9zdGF0aWMvYXNzZXRzL2ltYWdlcy9sYXRlc3QvZ3JhaW4ucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBtaXgtYmxlbmQtbW9kZTogbm9ybWFsO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICZfX2NvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogaWItcmVtKDY0cHgpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogaWItcmVtKCRpYi1jb250YWluZXItbWF4KTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nOiAwIGliLXJlbSg0MHB4KTtcbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSBpYi10eXBlKFwiZGlzcGxheS1tb2JpbGUtbGFyZ2VcIik7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcblxuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZsZXg6IDE7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgQGluY2x1ZGUgaWItcmV2ZWFsKGliLXJlbSgzMnB4KSwgJGliLWJwLXRhYmxldCk7XG4gIH1cblxuICAmX190aXRsZS1hY2NlbnQge1xuICAgIGNvbG9yOiAkaWItcmVkLXBlYWNoO1xuICB9XG5cbiAgLy8g4pSA4pSAIE9wdGlvbmFsIGxlZnQtY29sdW1uIHdyYXBwZXIg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIC8vIEFueSBwYWdlIG1heSB3cmFwIHRoZSB0aXRsZSBpbiB0aGlzIHRvIGhhbmcgYSBwYXJhZ3JhcGggYW5kIGEgQ1RBIHVuZGVyIGl0XG4gIC8vIChJbmZvQmVhbnMgRm91bmRhdGlvbiBkb2VzKS4gV2l0aG91dCBpdCB0aGUgdGl0bGUgaXMgaXRzZWxmIHRoZSBmbGV4IGl0ZW1cbiAgLy8gdGhhdCBvd25zIHRoZSBsZWZ0IGNvbHVtbiDigJQgdGhhdCBpcyB3aGF0IHRoZSBgZmxleDogMWAgYWJvdmUgaXMgZm9yLiBXaXRoXG4gIC8vIGl0IHRoZSB3cmFwcGVyIG93bnMgdGhlIGNvbHVtbiBhbmQgdGhlIHRpdGxlIGhhcyB0byBnaXZlIHRoYXQgYmFjazogbGVmdFxuICAvLyBvbiBmbGV4OiAxIGluc2lkZSBhICpjb2x1bW4qIGZsZXggY29udGFpbmVyIGl0IGdyb3dzIGRvd24gdGhlIGNvbHVtblxuICAvLyBpbnN0ZWFkIG9mIGFjcm9zcywgc3RyZXRjaGluZyB0aGUgaDIgYW5kIHB1c2hpbmcgdGhlIGNvcHkgdG8gdGhlIGJvdHRvbS5cbiAgJl9faW50cm8ge1xuICAgIGZsZXg6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIG1pbi13aWR0aDogMDtcblxuICAgIC5lci1kaXNjaXBsaW5lcy1zZWN0aW9uX190aXRsZSB7XG4gICAgICBmbGV4OiBub25lO1xuXG4gICAgICAvLyBPbmx5IHdoZW4gc29tZXRoaW5nIGFjdHVhbGx5IGZvbGxvd3MuIFdyYXBwaW5nIGEgbG9uZSB0aXRsZSBoYXMgdG9cbiAgICAgIC8vIHN0YXkgYSB2aXN1YWwgbm8tb3Ag4oCUIHRoZSByb3cgaXMgY2VudHJlLWFsaWduZWQsIHNvIGEgdHJhaWxpbmcgbWFyZ2luXG4gICAgICAvLyBvbiB0aGUgbGFzdCBjaGlsZCB3b3VsZCBzaGlmdCB0aGUgd2hvbGUgY29sdW1uIHVwIGJ5IGhhbGYgb2YgaXQuXG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBpYi1yZW0oMjRweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9faW50cm8tdGV4dCB7XG4gICAgQGluY2x1ZGUgaWItdHlwZShcImJvZHktc21hbGxcIiwgJGliLWZvbnQtYm9keSk7XG5cbiAgICBjb2xvcjogcmdiYSgkaWItZ3JheS13aGl0ZSwgLjgpO1xuICAgIG1heC13aWR0aDogaWItcmVtKDUyM3B4KTtcbiAgICBtYXJnaW46IDAgMCBpYi1yZW0oMzJweCk7XG5cbiAgICAvLyBTdGFnZ2VyZWQgYmVoaW5kIHRoZSB0aXRsZSwgd2hpY2ggY2FycmllcyBpdHMgb3duIGliLXJldmVhbCBhYm92ZS4gVGhlXG4gICAgLy8gZGVsYXkgaGFzIHRvIHJpZGUgb24gLmlzLXZpc2libGU6IGliLXJldmVhbCBzZXRzIGB0cmFuc2l0aW9uYCB0aGVyZSBhcyBhXG4gICAgLy8gc2hvcnRoYW5kLCB3aGljaCByZXNldHMgYW55IGRlbGF5IGRlY2xhcmVkIG9uIHRoZSBlbGVtZW50IGl0c2VsZi5cbiAgICBAaW5jbHVkZSBpYi1yZXZlYWwoaWItcmVtKDMycHgpLCAkaWItYnAtdGFibGV0KTtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiBjYWxjKCRpYi1icC10YWJsZXQgKyAxcHgpKSB7XG4gICAgICAmLmlzLXZpc2libGUge1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAuMDhzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2ludHJvLWN0YSB7XG4gICAgQGluY2x1ZGUgaWItcmV2ZWFsKGliLXJlbSgzMnB4KSwgJGliLWJwLXRhYmxldCk7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogY2FsYygkaWItYnAtdGFibGV0ICsgMXB4KSkge1xuICAgICAgJi5pcy12aXNpYmxlIHtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogLjE2cztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBEZWNrIOKAlCBhIHBsYWluIGNvbHVtbiBieSBkZWZhdWx0LiBUaGUgYWJzb2x1dGVseS1wb3NpdGlvbmVkIGNhc2NhZGUgaXNcbiAgLy8gb3B0LWluICgmLS1zdGFja2VkLCBhZGRlZCBieSBKUykgYmVjYXVzZSBpdCBvbmx5IHdvcmtzIG9uY2UgSlMgaGFzIHdyaXR0ZW5cbiAgLy8gdGhlIGRlY2sgaGVpZ2h0IGFuZCBwZXItY2FyZCB0cmFuc2Zvcm1zOiB3aXRob3V0IHRoYXQsIGFic29sdXRlIGNhcmRzXG4gIC8vIGNvbGxhcHNlIHRoZSBkZWNrIHRvIHplcm8gaGVpZ2h0IGFuZCBwaWxlIG9uIHRvcCBvZiBlYWNoIG90aGVyLiBFdmVyeXRoaW5nXG4gIC8vIHRoYXQgaXNuJ3QgYSBKUy1kcml2ZW4gZGVza3RvcCBzdGFjayDigJQgYSBzaW5nbGUtY2FyZCBkZWNrIChub3RoaW5nIHRvXG4gIC8vIGNhc2NhZGUpLCDiiaQxMDI0cHgsIGFuZCBuby1KUyDigJQgcmVuZGVycyBmcm9tIHRoaXMgc3RhdGljIHN0YXRlIGluc3RlYWQuXG4gIC8vIEZsdWlkIHdpZHRoOiBjYXBzIGF0IHRoZSBkZXNpZ24gc2l6ZSAoNjUxcHggY2FyZCArIDMgw5cgNTRweCBjYXNjYWRlKSBhbmRcbiAgLy8gc2NhbGVzIHdpdGggdGhlIHZpZXdwb3J0IHNvIHRoZSB0aXRsZSBjb2x1bW4gYWx3YXlzIGtlZXBzIGl0cyByb29tLlxuICAmX19kZWNrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IG1pbigje2liLXJlbSg4MTNweCl9LCA1MnZ3KTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiBpYi1yZW0oMTZweCk7XG4gIH1cblxuICAmX19jYXJkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiBpYi1yZW0oNDQwcHgpO1xuICAgIGJhY2tncm91bmQ6ICNmZWVmZDA7IC8vIGRlcHRoIDAg4oCUIGJhc2UgY29sb3VyXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuNHMgZWFzZTtcblxuICAgIC8vIEZsdWlkIHBhZGRpbmcgc2NhbGVzIHRoZSBjYXJkIGRvd24gc21vb3RobHkgdGhyb3VnaCBsYXB0b3Ag4oaSIHRhYmxldFxuICAgIHBhZGRpbmc6IGNsYW1wKCN7aWItcmVtKDI0cHgpfSwgMi40dncsICN7aWItcmVtKDI4cHgpfSkgY2xhbXAoI3tpYi1yZW0oNDBweCl9LCA1dncsICN7aWItcmVtKDcwcHgpfSlcbiAgICAgIGNsYW1wKCN7aWItcmVtKDM2cHgpfSwgMy42dncsICN7aWItcmVtKDQ4cHgpfSkgY2xhbXAoI3tpYi1yZW0oMzZweCl9LCA0dncsICN7aWItcmVtKDU0cHgpfSk7XG5cbiAgICBAaW5jbHVkZSBpYi1ub3RjaChpYi1yZW0oMjRweCksIGliLXJlbSgyNHB4KSk7XG5cbiAgICAvLyBKUyBzZXRzIGRhdGEtY292ZXItZGVwdGggPSBob3cgbWFueSBjYXJkcyBhcmUgY3VycmVudGx5IHN0YWNrZWQgb24gdG9wLFxuICAgIC8vIGNsYW1wZWQgdG8gdGhlIGRlZXBlc3Qgc3RlcCBiZWxvdyDigJQgYSBkZWNrIHdpdGggbW9yZSBjYXJkcyB0aGFuIHRoZVxuICAgIC8vIGRlc2lnbiByYW1wIGtlZXBzIHRoZSBsaWdodGVzdCBjcmVhbSBpbnN0ZWFkIG9mIHNuYXBwaW5nIGJhY2sgdG8gYmFzZS5cbiAgICAmW2RhdGEtY292ZXItZGVwdGg9XCIxXCJdIHsgYmFja2dyb3VuZDogI2ZmZjRlMjsgfVxuICAgICZbZGF0YS1jb3Zlci1kZXB0aD1cIjJcIl0geyBiYWNrZ3JvdW5kOiAjZmZmOWVkOyB9XG4gICAgJltkYXRhLWNvdmVyLWRlcHRoPVwiM1wiXSB7IGJhY2tncm91bmQ6ICNmZmZjZjU7IH1cbiAgfVxuXG4gIC8vIOKUgOKUgCBTdGFja2VkIGNhc2NhZGUg4oCUIGRlc2t0b3Agb25seSwgSlMtYXBwbGllZCwg4omlMiBjYXJkcyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgLy8gU2NvcGVkIHRvIHRoZSBkZXNrdG9wIHF1ZXJ5IGFzIHdlbGwgYXMgdGhlIG1vZGlmaWVyIHNvIGEgY2xhc3MgbGVmdCBvdmVyXG4gIC8vIGZyb20gYSByZXNpemUgY2FuIG5ldmVyIGhhbmQgbW9iaWxlIHRoZSBhYnNvbHV0ZSBnZW9tZXRyeSBpdCBjYW4ndCBkcml2ZS5cbiAgQG1lZGlhIChtaW4td2lkdGg6IGNhbGMoJGliLWJwLXRhYmxldCArIDFweCkpIHtcbiAgICAvLyBEZXNpZ24gY2FyZCB3aWR0aC4gQSBjYXAsIG5vdCBhIHdpZHRoLCBzbyB0aGUgY2FyZCBzdGlsbCBzY2FsZXMgZG93blxuICAgIC8vIHdpdGggdGhlIGZsdWlkIGRlY2sgKG1pbig4MTNweCwgNTJ2dykpIG9uIG5hcnJvd2VyIHNjcmVlbnMg4oCUIGl0IG9ubHlcbiAgICAvLyBiaW5kcyBvbmNlIHRoZSBkZWNrIHJlYWNoZXMgaXRzIGZ1bGwgc2l6ZS4gS2VlcHMgYSBjYXJkIHRoZSBzYW1lIHNpemVcbiAgICAvLyB3aGF0ZXZlciB0aGUgZGVjayBob2xkczogd2l0aCBmZXdlciBjYXJkcyB0aGUgY2FzY2FkZSByZXNlcnZlIHNocmlua3MsXG4gICAgLy8gYW5kIHdpdGhvdXQgdGhpcyB0aGUgcmVtYWluaW5nIGNhcmRzIHdvdWxkIGdyb3cgdG8gc3dhbGxvdyBpdC5cbiAgICAmX19jYXJkIHtcbiAgICAgIG1heC13aWR0aDogaWItcmVtKDY1MXB4KTtcbiAgICB9XG5cbiAgICAmLS1zdGFja2VkICZfX2RlY2sge1xuICAgICAgZGlzcGxheTogYmxvY2s7IC8vIEpTIHdyaXRlcyBhbiBleHBsaWNpdCBoZWlnaHQgZm9yIHRoZSBhYnNvbHV0ZSBjYXJkc1xuICAgIH1cblxuICAgICYtLXN0YWNrZWQgJl9fY2FyZCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuXG4gICAgICAvLyBKUyBzZXRzIC0tZXItY2FzY2FkZS1yZXNlcnZlIHRvIChOIC0gMSkgw5cgY2FzY2FkZSBzdGVwLCBzY2FsZWQgcGVyXG4gICAgICAvLyBzY3JlZW4g4oCUIHRoZSByb29tIHRoZSBjYXNjYWRlIG5lZWRzIHRvIHBlZWsgb3V0IG9uIHRoZSByaWdodC5cbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSB2YXIoLS1lci1jYXNjYWRlLXJlc2VydmUsIDBweCkpO1xuICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsgLy8gb25seSB0aGUgc3RhY2tlZCBjYXJkcyBhY3R1YWxseSBhbmltYXRlXG4gICAgfVxuICB9XG5cbiAgJl9fY2FyZC10aXRsZSB7XG4gICAgQGluY2x1ZGUgaWItdHlwZShcImJvZHktZXh0cmEtbGFyZ2VcIik7XG5cbiAgICBjb2xvcjogJGliLXRleHQtcHJpbWFyeTtcbiAgICBtYXJnaW46IDAgMCBjbGFtcCgje2liLXJlbSgzMnB4KX0sIDR2dywgI3tpYi1yZW0oNTBweCl9KTtcbiAgfVxuXG4gICZfX2NhcmQtdGV4dCB7XG4gICAgQGluY2x1ZGUgaWItdHlwZShcImJvZHktc21hbGxcIiwgJGliLWZvbnQtYm9keSk7XG5cbiAgICBjb2xvcjogJGliLXRleHQtcHJpbWFyeTtcbiAgICBtYXgtd2lkdGg6IGliLXJlbSg1MjNweCk7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgcCArIHAge1xuICAgICAgbWFyZ2luLXRvcDogaWItcmVtKDI2cHgpO1xuICAgIH1cbiAgfVxuXG4gIC8vIOKUgOKUgCBMYXB0b3AgKOKJpDEyMDBweCkg4oCUIHBhZGRpbmcvbWFyZ2lucyBub3cgc2NhbGUgZmx1aWRseSB2aWEgY2xhbXAg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8oJGliLWJwLWxhcHRvcCkge1xuICAgICZfX2NhcmQge1xuICAgICAgbWluLWhlaWdodDogaWItcmVtKDQwMHB4KTtcbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICBmb250LXNpemU6IGliLXJlbSg0MHB4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBpYi1yZW0oNDZweCk7XG4gICAgfVxuICB9XG5cbiAgLy8g4pSA4pSAIE1vYmlsZSArIHRhYmxldCAo4omkMTAyNHB4KSDigJQgc3RhdGljIHN0YWNrZWQgY2FyZHMsIG5vIHBpbm5pbmcg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8oJGliLWJwLXRhYmxldCkge1xuICAgIG1pbi1oZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiBpYi1yZW0oNDhweCkgaWItcmVtKDIwcHgpO1xuXG4gICAgJl9fcGluIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAmX19jb250YWluZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgZ2FwOiBpYi1yZW0oMjRweCk7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgIEBpbmNsdWRlIGliLXR5cGUoXCJoZWFkbGluZS1tb2JpbGUtbGFyZ2VcIik7XG4gICAgfVxuXG4gICAgJl9faW50cm8gLmVyLWRpc2NpcGxpbmVzLXNlY3Rpb25fX3RpdGxlOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogaWItcmVtKDE2cHgpO1xuICAgIH1cblxuICAgICZfX2ludHJvLXRleHQge1xuICAgICAgQGluY2x1ZGUgaWItdHlwZShcImNhcHRpb24tbGFyZ2VcIiwgJGliLWZvbnQtYm9keSk7XG5cbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IGliLXJlbSgyNHB4KTtcbiAgICB9XG5cbiAgICAmX19kZWNrIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBnYXA6IGliLXJlbSgxNnB4KTtcbiAgICB9XG5cbiAgICAmX19jYXJkIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1pbi1oZWlnaHQ6IGliLXJlbSgzNDBweCk7XG4gICAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIHotaW5kZXg6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmc6IGliLXJlbSgyNHB4KTtcblxuICAgICAgLy8gTGlnaHQtdG8tZGFyayBjcmVhbSByYW1wIGRvd24gdGhlIGNvbHVtbi4gbnRoLWNoaWxkKG4gKyA0KSByYXRoZXIgdGhhblxuICAgICAgLy8gYW4gZXhhY3QgOm50aC1jaGlsZCg0KSBzbyBhIGZpZnRoIGNhcmQgYW5kIGJleW9uZCBrZWVwIHRoZSBsYXN0IHN0ZXBcbiAgICAgIC8vIGluc3RlYWQgb2YgZmFsbGluZyBiYWNrIHRvIHRoZSBiYXNlIGNvbG91ci5cbiAgICAgICY6bnRoLWNoaWxkKDEpIHsgYmFja2dyb3VuZDogI2ZmZmNmNjsgfVxuICAgICAgJjpudGgtY2hpbGQoMikgeyBiYWNrZ3JvdW5kOiAjZmZmOWVkOyB9XG4gICAgICAmOm50aC1jaGlsZCgzKSB7IGJhY2tncm91bmQ6ICNmZmY0ZTE7IH1cbiAgICAgICY6bnRoLWNoaWxkKG4gKyA0KSB7IGJhY2tncm91bmQ6ICNmZmVmZDE7IH1cbiAgICB9XG5cbiAgICAmX19jYXJkLXRpdGxlIHtcbiAgICAgIEBpbmNsdWRlIGliLXR5cGUoXCJsYWJlbC1tZWRpdW1cIik7XG5cbiAgICAgIG1hcmdpbi1ib3R0b206IGliLXJlbSgyNHB4KTtcbiAgICB9XG5cbiAgICAmX19jYXJkLXRleHQge1xuICAgICAgQGluY2x1ZGUgaWItdHlwZShcImNhcHRpb24tbGFyZ2VcIik7XG5cbiAgICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICAgcCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIE1FRElBIFZBUklBTlQg4oCUIC5lci1kaXNjaXBsaW5lcy1zZWN0aW9uLS1tZWRpYSAoSW5mb0JlYW5zIEZvdW5kYXRpb24pXG4vL1xuLy8gU2FtZSBwaW5uZWQgY2FzY2FkZSBhcyBhYm92ZSAoc2FtZSBtYXJrdXAgaG9va3MsIHNhbWUgSlMgbW9kdWxlLCBzYW1lIGNhcmRcbi8vIGNvdW50IG1hdGgpIOKAlCB3aGF0IGNoYW5nZXMgaXMgd2hlcmUgdGhlIHdvcmRzIGxpdmUuIFRoZSBiYXNlIHZhcmlhbnQgY2Fycmllc1xuLy8gaXRzIGNvcHkgaW5zaWRlIHRoZSBjcmVhbSBjYXJkczsgaGVyZSB0aGUgY29weSBpcyBzZWN0aW9uLWxldmVsIGFuZCBzaXRzIGluXG4vLyB0aGUgbGVmdCBjb2x1bW4gdW5kZXIgdGhlIHRpdGxlLCBhbmQgdGhlIGRlY2sgY2FzY2FkZXMgcGhvdG9ncmFwaHMgb25seTpcbi8vXG4vLyAgIF9faW50cm8gICB0aXRsZSDihpIgX19pbnRyby10ZXh0IOKGkiBfX2ludHJvLWN0YSAgICAgIChsZWZ0KVxuLy8gICBfX2RlY2sgICAgX19jYXJkID4gX19jYXJkLWltZyAgw5cgTiAgICAgICAgICAgICAgICAocmlnaHQpXG4vL1xuLy8gX19pbnRybyBhbmQgaXRzIHR3byBjaGlsZHJlbiBhcmUgTk9UIHBhcnQgb2YgdGhpcyB2YXJpYW50IOKAlCB0aGV5IGxpdmUgaW4gdGhlXG4vLyBiYXNlIGJsb2NrLCBzbyBhbnkgcGFnZSAoRW50ZXJwcmlzZSBSZWFkaW5lc3MgaW5jbHVkZWQpIGNhbiB3cmFwIGl0cyB0aXRsZSBpblxuLy8gX19pbnRybyBhbmQgaGFuZyBjb3B5IHVuZGVyIGl0IHdpdGhvdXQgb3B0aW5nIGludG8gdGhlIG1lZGlhIGNhcmRzLiBBbGwgdGhpc1xuLy8gYmxvY2sgb3ducyBpcyB0aGUgZGVjazogYSBjYXJkIHdpdGggbm8gZmlsbCBhbmQgbm8gcGFkZGluZywgaG9sZGluZyBhIHBob3RvLlxuLy9cbi8vIFdyaXR0ZW4gYXMgaXRzIG93biB0b3AtbGV2ZWwgYmxvY2ssIGxheWVyZWQgKmFmdGVyKiB0aGUgYmFzZSwgc28gbm90aGluZyBpblxuLy8gdGhlIGJsb2NrIGFib3ZlIGlzIHRvdWNoZWQg4oCUIHRoZSBlbnRlcnByaXNlLXJlYWRpbmVzcy9Xb3JkUHJlc3MgYnVpbGQga2VlcHNcbi8vIGJ5dGUtaWRlbnRpY2FsIGNyZWFtLWNhcmQgb3V0cHV0IGFuZCBvbmx5IHBhZ2VzIHRoYXQgb3B0IGluIHdpdGggdGhlXG4vLyBtb2RpZmllciBjbGFzcyBzZWUgYW55IG9mIHRoaXMuXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi5lci1kaXNjaXBsaW5lcy1zZWN0aW9uLS1tZWRpYSB7XG4gIC8vIOKUgOKUgCBMZWZ0IGNvbHVtbiDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgLy8gTGF5b3V0LCBjb2xvdXIsIG1lYXN1cmUgYW5kIHRoZSBzdGFnZ2VyZWQgcmV2ZWFsIGFsbCBjb21lIGZyb20gdGhlIGJhc2VcbiAgLy8gYmxvY2sncyAmX19pbnRybyAvICZfX2ludHJvLXRleHQgLyAmX19pbnRyby1jdGEg4oCUIHRoZSBvbmx5IHRoaW5nIHRoaXMgcGFnZVxuICAvLyBkaWZmZXJzIG9uIGlzIHRoZSBzaXplIG9mIHRoZSBjb3B5LCB3aGljaCBydW5zIGEgc3RlcCB1cCBmcm9tIHRoZSBiYXNlLlxuICAvLyBTY29wZWQgdG8gZGVza3RvcCBzbyDiiaQxMDI0cHggc3RpbGwgZmFsbHMgdGhyb3VnaCB0byB0aGUgYmFzZSdzXG4gIC8vIGNhcHRpb24tbGFyZ2UgaW5zdGVhZCBvZiBob2xkaW5nIGEgMjQvNDAgcGFyYWdyYXBoIG9uIGEgcGhvbmUuXG4gIEBtZWRpYSAobWluLXdpZHRoOiBjYWxjKCRpYi1icC10YWJsZXQgKyAxcHgpKSB7XG4gICAgLmVyLWRpc2NpcGxpbmVzLXNlY3Rpb25fX2ludHJvLXRleHQge1xuICAgICAgQGluY2x1ZGUgaWItdHlwZShcImJvZHktZXh0cmEtbGFyZ2VcIiwgJGliLWZvbnQtYm9keSk7XG4gICAgfVxuICB9XG5cbiAgLy8g4pSA4pSAIERlY2sg4oCUIHRoZSBjYXJkICppcyogdGhlIHBob3RvZ3JhcGgg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIC8vIE5vIGNyZWFtIGZpbGwsIG5vIHBhZGRpbmcgYW5kIG5vIGRlcHRoIHRpbnQ6IG5vdGhpbmcgb2YgdGhlIGNhcmQgc2hvd3NcbiAgLy8gYmVoaW5kIGEgZnVsbC1ibGVlZCBpbWFnZSwgc28gdGhvc2Ugd291bGQgb25seSBwYWludCBlZGdlcy4gVGhlIG5vdGNoZWRcbiAgLy8gY29ybmVycyBmcm9tIHRoZSBiYXNlIGNhcmQgc3Vydml2ZSDigJQgdGhlIGNsaXAtcGF0aCBjdXRzIHRoZSBpbWFnZSBpdHNlbGYuXG4gIC8vIG1pbi1oZWlnaHQgaXMgcmVsZWFzZWQgYmVjYXVzZSB0aGUgaW1hZ2UncyBvd24gYXNwZWN0LXJhdGlvIHNldHMgdGhlIGNhcmRcbiAgLy8gaGVpZ2h0OyB0aGUgYmFzZSA0NDBweCBmbG9vciB3b3VsZCBvdGhlcndpc2UgcGFkIGRhcmsgc3BhY2UgdW5kZXIgYSBwaG90b1xuICAvLyBvbmNlIHRoZSBmbHVpZCBkZWNrIGRyb3BzIGJlbG93IH41NDBweCB3aWRlLlxuICAuZXItZGlzY2lwbGluZXMtc2VjdGlvbl9fY2FyZCB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICZbZGF0YS1jb3Zlci1kZXB0aF0geyBiYWNrZ3JvdW5kOiBub25lOyB9XG4gIH1cblxuICAvLyBhc3BlY3QtcmF0aW8gKyBvYmplY3QtZml0IGtlZXBzIGV2ZXJ5IGNhcmQgdGhlIHNhbWUgaGVpZ2h0IHdoYXRldmVyIHRoZVxuICAvLyBzb3VyY2UgaW1hZ2UncyBvd24gcmF0aW8gaXMg4oCUIHRoZSBjYXNjYWRlIG1hdGggbWVhc3VyZXMgY2FyZCAxIG9ubHkuXG4gIC5lci1kaXNjaXBsaW5lcy1zZWN0aW9uX19jYXJkLWltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGFzcGVjdC1yYXRpbzogNjUxIC8gNTMxO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICB9XG5cbiAgLy8g4pSA4pSAIE1vYmlsZSArIHRhYmxldCAo4omkMTAyNHB4KSDigJQgaW50cm8gb24gdG9wLCBwaG90b3Mgc3RhY2tlZCBiZWxvdyDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgLy8gVGhlIGludHJvIGNvbHVtbidzIG1vYmlsZSBzaXppbmcgaXMgdGhlIGJhc2UgYmxvY2snczsgb25seSB0aGUgY2FyZHMgbmVlZFxuICAvLyBzYXlpbmcgYWdhaW4gaGVyZS5cbiAgQGluY2x1ZGUgcmVzcG9uZC10bygkaWItYnAtdGFibGV0KSB7XG4gICAgLy8gVGhlIGJhc2UgdmFyaWFudCByZXBhaW50cyBpdHMgbW9iaWxlIGNhcmRzIG9uIGEgY3JlYW0gcmFtcCBhbmQgcmUtcGFkc1xuICAgIC8vIHRoZW0g4oCUIG5laXRoZXIgYXBwbGllcyB0byBhIHBob3RvZ3JhcGguXG4gICAgLmVyLWRpc2NpcGxpbmVzLXNlY3Rpb25fX2NhcmQge1xuICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICY6bnRoLWNoaWxkKG4pIHsgYmFja2dyb3VuZDogbm9uZTsgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gYXNzZXRzL3Njc3MvcGFnZXMvZW50ZXJwcmlzZS1yZWFkaW5lc3MvX2RlbGl2ZXJ5LXNlY3Rpb24uc2Nzc1xuLy8gRGVsaXZlcnkg4oCUIHppZ3phZyB0aW1lbGluZS4gTWlsZXN0b25lcyBhbHRlcm5hdGUgYXJvdW5kIGEgY2VudGVyIG1hcmtlclxuLy8gY29sdW1uICg0OHB4IGJveCB3aXRoIHJlZCBkb3QpLiBJdGVtcyBmYWRlIHVwIGFzIHRoZXkgZW50ZXIgdGhlIHZpZXdwb3J0LlxuXG5AdXNlIFwiLi4vdXRpbHNcIiBhcyAqO1xuXG4uZXItZGVsaXZlcnktc2VjdGlvbiB7XG4gIGJhY2tncm91bmQ6ICRpYi1iZy1wcmltYXJ5O1xuICBwYWRkaW5nOiBpYi1yZW0oMTI4cHgpIGliLXJlbSg0MHB4KTtcblxuICAmX19jb250YWluZXIge1xuICAgIG1heC13aWR0aDogaWItcmVtKCRpYi1jb250YWluZXItbWF4KTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuXG4gICZfX2hlYWRpbmcge1xuICAgIEBpbmNsdWRlIGliLXR5cGUoXCJkaXNwbGF5LW1vYmlsZS1sYXJnZVwiKTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuXG4gICAgY29sb3I6ICRpYi10ZXh0LXByaW1hcnk7XG4gICAgbWFyZ2luOiAwIDAgaWItcmVtKDEzNnB4KTtcblxuICAgIEBpbmNsdWRlIGliLXJldmVhbChpYi1yZW0oMzJweCksICRpYi1icC10YWJsZXQpO1xuICB9XG5cbiAgJl9faGVhZGluZy1hY2NlbnQge1xuICAgIGNvbG9yOiAkaWItcmVkLWJyYW5kO1xuICB9XG5cbiAgJl9fdGltZWxpbmUge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1heC13aWR0aDogaWItcmVtKDEyMDBweCk7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiBpYi1yZW0oOTZweCk7XG5cbiAgICAvLyBEZXNrdG9wLW9ubHkgY29ubmVjdG9yIGxpbmUgdGhyb3VnaCB0aGUgY2VudGVyIG1hcmtlcnMuXG4gICAgLy8gR2VvbWV0cnkgKC0tZXItZGVsaXZlcnktbGluZS10b3AvLWhlaWdodCwgZmlyc3Qg4oaSIGxhc3QgbWFya2VyIGNlbnRlcilcbiAgICAvLyBpcyBtZWFzdXJlZCBieSBKUzsgdGhlIHJlZCBsaW5lIGRyYXdzIGluIHZpYSBzY2FsZVkgYXMgdGhlIHVzZXJcbiAgICAvLyBzY3JvbGxzICgtLWVyLWRlbGl2ZXJ5LXByb2dyZXNzLCBzY3J1YmJlZCAw4oaSMSwgZnVsbHkgcmV2ZXJzaWJsZSkuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IGNhbGMoJGliLWJwLXRhYmxldCArIDFweCkpIHtcbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogaWItcmVtKDJweCk7XG4gICAgICB9XG5cbiAgICAgIC8vIFJlc3RpbmcgdHJhY2tcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRpYi1ib3JkZXI7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgIH1cblxuICAgICAgLy8gU2Nyb2xsLWRyYXduIHJlZCBsaW5lXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRpYi1yZWQtcGVhY2g7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZVkodmFyKC0tZXItZGVsaXZlcnktcHJvZ3Jlc3MsIDApKTtcbiAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19taWxlc3RvbmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxOyAvLyBtYXJrZXJzIHBhaW50IGFib3ZlIHRoZSBjb25uZWN0b3IgbGluZVxuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICBAaW5jbHVkZSBpYi1yZXZlYWwoaWItcmVtKDQ4cHgpLCAkaWItYnAtdGFibGV0KTtcblxuICAgIC8vIENlbnRlciBtYXJrZXIg4oCUIDQ4cHggYm94IHdpdGggYW4gOHB4IHJlZCBzcXVhcmVcbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogaWItcmVtKDhweCk7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiBpYi1yZW0oNDhweCk7XG4gICAgICBoZWlnaHQ6IGliLXJlbSg0OHB4KTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgIGJhY2tncm91bmQ6ICRpYi1iZy1wcmltYXJ5O1xuICAgICAgYm9yZGVyOiBpYi1yZW0oMXB4KSBzb2xpZCAkaWItYm9yZGVyO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHdpZHRoOiBpYi1yZW0oOHB4KTtcbiAgICAgIGhlaWdodDogaWItcmVtKDhweCk7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCBpYi1yZW0oMjBweCkpO1xuICAgICAgYmFja2dyb3VuZDogJGliLXJlZC1icmFuZDtcbiAgICB9XG4gIH1cblxuICAmX19jb250ZW50IHtcbiAgICB3aWR0aDogNTAlO1xuICAgIHBhZGRpbmctcmlnaHQ6IGliLXJlbSg2NHB4KTtcbiAgfVxuXG4gICZfX21pbGVzdG9uZS0tcmlnaHQgJl9fY29udGVudCB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogaWItcmVtKDY0cHgpO1xuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIEBpbmNsdWRlIGliLXR5cGUoXCJib2R5LWxhcmdlXCIpO1xuXG4gICAgY29sb3I6ICRpYi10ZXh0LXByaW1hcnk7XG4gICAgbWFyZ2luOiAwIDAgaWItcmVtKDE2cHgpO1xuICB9XG5cbiAgJl9fdGV4dCB7XG4gICAgQGluY2x1ZGUgaWItdHlwZShcImJvZHktbWVkaXVtXCIsICRpYi1mb250LWJvZHkpO1xuXG4gICAgY29sb3I6ICRpYi10ZXh0LXNlY29uZGFyeTtcbiAgICBtYXgtd2lkdGg6IGliLXJlbSg1MzZweCk7XG4gICAgbWFyZ2luOiAwIDAgaWItcmVtKDE2cHgpO1xuICB9XG5cbiAgJl9fdGFncyB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IGliLXJlbSg4cHgpO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiBpYi1yZW0oOHB4KSAwIDA7XG4gIH1cblxuICAmX190YWcge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiBpYi1yZW0oNHB4KSBpYi1yZW0oMTJweCk7XG4gICAgYmFja2dyb3VuZDogJGliLWJnLXNlY29uZGFyeTtcbiAgICBib3JkZXI6IGliLXJlbSgxcHgpIHNvbGlkIHJnYmEoJGliLWdyYXktY2hhcmNvYWwsIC4xOCk7XG5cbiAgICBAaW5jbHVkZSBpYi10eXBlKFwibGFiZWwtZXh0cmEtc21hbGxcIiwgJGliLWZvbnQtYWNjZW50KTtcblxuICAgIGNvbG9yOiAkaWItdGV4dC1zZWNvbmRhcnk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC41cyBjdWJpYy1iZXppZXIoLjM0LCAxLjU2LCAuNjQsIDEpO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IGNhbGMoJGliLWJwLXRhYmxldCArIDFweCkpIHtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoaWItcmVtKC0zcHgpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyDilIDilIAgTW9iaWxlICsgdGFibGV0ICjiiaQxMDI0cHgpIOKAlCBzdGF0aWMgc2luZ2xlIGNvbHVtbiwgcmVkIHNxdWFyZSBidWxsZXRzIOKUgOKUgOKUgOKUgFxuICBAaW5jbHVkZSByZXNwb25kLXRvKCRpYi1icC10YWJsZXQpIHtcbiAgICBwYWRkaW5nOiBpYi1yZW0oNDhweCkgaWItcmVtKDIwcHgpO1xuXG4gICAgJl9faGVhZGluZyB7XG4gICAgICBAaW5jbHVkZSBpYi10eXBlKFwiaGVhZGxpbmUtbW9iaWxlLWxhcmdlXCIpO1xuXG4gICAgICBtYXJnaW4tYm90dG9tOiBpYi1yZW0oMzhweCk7XG4gICAgfVxuXG4gICAgJl9fdGltZWxpbmUge1xuICAgICAgZ2FwOiBpYi1yZW0oODBweCk7XG4gICAgICBwYWRkaW5nLXRvcDogaWItcmVtKDY0cHgpO1xuICAgIH1cblxuICAgICZfX21pbGVzdG9uZSB7XG4gICAgICAvLyBCdWxsZXQgcmVwbGFjZXMgdGhlIGNlbnRlciBtYXJrZXIgYm94XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRvcDogaWItcmVtKDEwcHgpO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGVudCxcbiAgICAmX19taWxlc3RvbmUtLXJpZ2h0IC5lci1kZWxpdmVyeS1zZWN0aW9uX19jb250ZW50IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nOiAwIDAgMCBpYi1yZW0oMThweCk7XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgQGluY2x1ZGUgaWItdHlwZShcImxhYmVsLWxhcmdlXCIpO1xuXG4gICAgICBtYXJnaW46IDAgMCBpYi1yZW0oMTJweCk7XG4gICAgfVxuXG4gICAgJl9fdGV4dCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgJl9fdGFncyB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gYXNzZXRzL3Njc3MvcGFnZXMvZW50ZXJwcmlzZS1yZWFkaW5lc3MvX3RlYW0tc2VjdGlvbi5zY3NzXG4vLyBUZWFtIOKAlCBoZWFkaW5nICsgaG9yaXpvbnRhbCBjYXJkIGNhcm91c2VsLiBEZXNrdG9wIHNob3dzIH4zLjUgY2FyZHMgd2l0aCB0aGVcbi8vIGxhc3Qgb25lIGNyb3BwZWQgYXQgdGhlIHZpZXdwb3J0IGVkZ2U7IG5vdGNoZWQgYXJyb3cgYnV0dG9ucyBzdGVwIHRoZSB0cmFjay5cbi8vIE1vYmlsZTogc3RhdGljIDItY29sdW1uIGdyaWQsIG5vIGNhcm91c2VsLlxuLy9cbi8vIFNpemluZyBydW5zIHRocm91Z2ggaWItcmVtKCkgdGhyb3VnaG91dCDigJQgdGhpcyBwYXJ0aWFsIGlzIHNoYXJlZCB3aXRoIHRoZVxuLy8gdHJ1ZS1zdG9yeS1kZXRhaWwgcGFnZSAoQHVzZSdkIHRoZXJlIGFzLWlzLCBzZWUgdHJ1ZS1zdG9yeS1kZXRhaWwuc2NzcykuXG4vLyBpYi1yZW0oKSBpcyBhIHB1cmUgcHgvMTYgY29udmVyc2lvbiwgc28gYXQgZW50ZXJwcmlzZS1yZWFkaW5lc3MncyBmaXhlZFxuLy8gMTZweCByb290IGV2ZXJ5IHZhbHVlIGJlbG93IHN0aWxsIHJlbmRlcnMgcGl4ZWwtaWRlbnRpY2FsIHRvIHRoZSBvcmlnaW5hbFxuLy8gcmF3IHB4OyBvbiB0cnVlLXN0b3J5LWRldGFpbCdzIGZsdWlkIGNsYW1wKCkgcm9vdCBpdCBub3cgc2NhbGVzIGRvd25cbi8vIHByb3BvcnRpb25hbGx5IGFsb25nIHdpdGggdGhlIHJlc3Qgb2YgdGhhdCBwYWdlLCBpbnN0ZWFkIG9mIHN0YXlpbmcgYVxuLy8gZml4ZWQgbGl0ZXJhbCBzaXplIHdoaWxlIGl0cyBzdXJyb3VuZGluZ3Mgc2hyaW5rLlxuXG5AdXNlIFwiLi4vdXRpbHNcIiBhcyAqO1xuXG4uZXItdGVhbS1zZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogJGliLWJnLXByaW1hcnk7XG4gIHBhZGRpbmc6IGliLXJlbSgxNjBweCkgMCBpYi1yZW0oMTIwcHgpO1xuICBvdmVyZmxvdzogY2xpcDsgLy8gNHRoIGNhcmQgaW50ZW50aW9uYWxseSBjcm9wcyBhdCB0aGUgcmlnaHQgZWRnZVxuXG4gICZfX2NvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiBpYi1yZW0oJGliLWNvbnRhaW5lci1tYXgpO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmc6IDAgaWItcmVtKDQwcHgpO1xuICB9XG5cbiAgJl9faGVhZGluZyB7XG4gICAgQGluY2x1ZGUgaWItdHlwZShcImRpc3BsYXktbW9iaWxlLWxhcmdlXCIpO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgY29sb3I6ICRpYi10ZXh0LXByaW1hcnk7XG4gICAgbWFyZ2luOiAwIDAgaWItcmVtKDk2cHgpO1xuXG4gICAgQGluY2x1ZGUgaWItcmV2ZWFsKGliLXJlbSgzMnB4KSwgJGliLWJwLXRhYmxldCk7XG4gIH1cblxuICAmX19hY2NlbnQge1xuICAgIGNvbG9yOiAkaWItcmVkLWJyYW5kO1xuICB9XG5cbiAgJl9fdmlld3BvcnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgJl9fdHJhY2sge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiBpYi1yZW0oMzJweCk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC43cyBjdWJpYy1iZXppZXIoLjI1LCAuNDYsIC40NSwgLjk0KTtcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICB9XG5cbiAgJl9fY2FyZCB7XG4gICAgZmxleDogMCAwIGliLXJlbSgzOTVweCk7XG5cbiAgICBAaW5jbHVkZSBpYi1yZXZlYWwoaWItcmVtKDQ4cHgpLCAkaWItYnAtdGFibGV0KTtcblxuICAgIC8vIFN0YWdnZXJlZCBlbnRyYW5jZSBmb3IgdGhlIGZpcnN0IHZpc2libGUgY2FyZHNcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDYge1xuICAgICAgJjpudGgtY2hpbGQoI3skaX0pLmlzLXZpc2libGUge1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAjeygkaSAtIDEpICogLjEyfXM7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUGhvdG8gcGxhY2Vob2xkZXIg4oCUIGZsYXQgY2hhcmNvYWwgYmxvY2sgd2l0aCBub3RjaGVkIGNvcm5lcnMgaW4gdGhlIGRlc2lnblxuICAmX19waG90byB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYXNwZWN0LXJhdGlvOiAzOTMgLyA0OTE7XG4gICAgYmFja2dyb3VuZDogJGliLXRleHQtcHJpbWFyeTtcblxuICAgIEBpbmNsdWRlIGliLW5vdGNoKGliLXJlbSg0NHB4KSwgaWItcmVtKDM0cHgpKTtcblxuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNnMgY3ViaWMtYmV6aWVyKC4yNSwgLjQ2LCAuNDUsIC45NCk7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IGNhbGMoJGliLWJwLXRhYmxldCArIDFweCkpIHtcbiAgICAmX19jYXJkOmhvdmVyIC5lci10ZWFtLXNlY3Rpb25fX3Bob3RvIGltZyB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuICAgIH1cbiAgfVxuXG4gICZfX25hbWUge1xuICAgIEBpbmNsdWRlIGliLXR5cGUoXCJoZWFkbGluZS1tb2JpbGUtbWVkaXVtXCIpO1xuXG4gICAgY29sb3I6ICRpYi10ZXh0LXByaW1hcnk7XG4gICAgbWFyZ2luOiBpYi1yZW0oMjRweCkgMCBpYi1yZW0oOHB4KTtcbiAgfVxuXG4gICZfX3JvbGUge1xuICAgIEBpbmNsdWRlIGliLXR5cGUoXCJsYWJlbC1leHRyYS1zbWFsbFwiLCAkaWItZm9udC1hY2NlbnQpO1xuXG4gICAgY29sb3I6ICRpYi10ZXh0LXNlY29uZGFyeTtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyDilIDilIAgQXJyb3dzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAmX19hcnJvd3Mge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBnYXA6IGliLXJlbSg2cHgpO1xuICAgIG1hcmdpbi10b3A6IGliLXJlbSg0OHB4KTtcbiAgfVxuXG4gICZfX2J0biB7XG4gICAgd2lkdGg6IGliLXJlbSg0OHB4KTtcbiAgICBoZWlnaHQ6IGliLXJlbSg0OHB4KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogJGliLWJnLXNlY29uZGFyeTtcbiAgICBib3JkZXI6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiAkaWItcmVkLWJyYW5kO1xuXG4gICAgQGluY2x1ZGUgaWItbm90Y2goaWItcmVtKDE0cHgpLCBpYi1yZW0oMTFweCkpO1xuXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgZWFzZSwgdHJhbnNmb3JtIC41cyBjdWJpYy1iZXppZXIoLjM0LCAxLjU2LCAuNjQsIDEpO1xuXG4gICAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoaWItcmVtKC0zcHgpKTtcbiAgICB9XG5cbiAgICAmOmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAkaWItdGV4dC1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG5cbiAgICBzdmcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLy8g4pSA4pSAIExhcHRvcCAo4omkMTIwMHB4KSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgQGluY2x1ZGUgcmVzcG9uZC10bygkaWItYnAtbGFwdG9wKSB7XG4gICAgcGFkZGluZzogaWItcmVtKDEyMHB4KSAwIGliLXJlbSg5NnB4KTtcblxuICAgICZfX2NhcmQge1xuICAgICAgZmxleC1iYXNpczogaWItcmVtKDM0MHB4KTtcbiAgICB9XG4gIH1cblxuICAvLyDilIDilIAgTW9iaWxlICsgdGFibGV0ICjiiaQxMDI0cHgpIOKAlCBzdGF0aWMgMi1jb2x1bW4gZ3JpZCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgQGluY2x1ZGUgcmVzcG9uZC10bygkaWItYnAtdGFibGV0KSB7XG4gICAgcGFkZGluZzogaWItcmVtKDY0cHgpIDA7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgICAmX19jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMCBpYi1yZW0oMjBweCk7XG4gICAgfVxuXG4gICAgJl9faGVhZGluZyB7XG4gICAgICBAaW5jbHVkZSBpYi10eXBlKFwiaGVhZGxpbmUtbW9iaWxlLWxhcmdlXCIpO1xuXG4gICAgICBtYXJnaW4tYm90dG9tOiBpYi1yZW0oNDBweCk7XG4gICAgfVxuXG4gICAgJl9fdHJhY2sge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICAgIGdhcDogaWItcmVtKDQwcHgpIGliLXJlbSgzMnB4KTtcbiAgICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICZfX2NhcmQge1xuICAgICAgZmxleC1iYXNpczogYXV0bztcblxuICAgICAgLy8gT25seSB0aGUgZmlyc3QgZm91ciBjYXJkcyBzaG93IG9uIG1vYmlsZSAoMsOXMiBncmlkIHBlciB0aGUgZGVzaWduKVxuICAgICAgJjpudGgtY2hpbGQobiArIDUpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19waG90byB7XG4gICAgICAvLyBiYWNrZ3JvdW5kOiAkaWItZ3JheS1tZWRpdW07XG4gICAgICBhc3BlY3QtcmF0aW86IDE2NCAvIDE2MTtcblxuICAgICAgQGluY2x1ZGUgaWItbm90Y2goaWItcmVtKDI1cHgpLCBpYi1yZW0oMTlweCkpO1xuICAgIH1cblxuICAgICZfX25hbWUge1xuICAgICAgQGluY2x1ZGUgaWItdHlwZShcImhlYWRsaW5lLW1vYmlsZS1zbWFsbFwiKTtcblxuICAgICAgbWFyZ2luLXRvcDogaWItcmVtKDI0cHgpO1xuICAgIH1cblxuICAgICZfX3JvbGUge1xuICAgICAgQGluY2x1ZGUgaWItdHlwZShcImxhYmVsLWV4dHJhLXNtYWxsXCIpO1xuXG4gICAgICBtYXJnaW4tYm90dG9tOiBpYi1yZW0oMzJweCk7XG4gICAgfVxuXG4gICAgJl9fYXJyb3dzIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBhc3NldHMvc2Nzcy9wYWdlcy9lbnRlcnByaXNlLXJlYWRpbmVzcy5zY3NzXG4vLyBFbnRyeSBwb2ludCDigJQgaW1wb3J0cyBhbGwgRW50ZXJwcmlzZSBSZWFkaW5lc3MgcGFnZSBzZWN0aW9uIHBhcnRpYWxzLlxuLy8gQ29tcGlsZTogbnBtIHJ1biBzYXNzOmJ1aWxkICB8ICBXYXRjaDogbnBtIHJ1biBzYXNzXG5cbi8vIEB1c2UgbXVzdCBjb21lIGZpcnN0IOKAlCBhbGwgcnVsZXMgZ28gaW5zaWRlIHRoZSBwYXJ0aWFsc1xuLy8gVGhpcyBwYWdlJ3MgbW9iaWxlIGRlc2lnbiBvd25zIGV2ZXJ5dGhpbmcgdXAgdG8gYW5kIGluY2x1ZGluZyB0YWJsZXRzXG4vLyAo4omkMTAyNHB4KTogZXZlcnkgbW9iaWxlIGJsb2NrIGluIHRoZSBlci0gcGFydGlhbHMga2V5cyBvZmYgJGliLWJwLXRhYmxldC5cbi8vIE5vIGB3aXRoICguLi4pYCBjb25maWd1cmF0aW9uIGFueXdoZXJlLCBzbyBhbGwgcGFnZXMgY2FuIHNhZmVseSBjb21waWxlIGFzXG4vLyBvbmUgYnVpbGQgKFdvcmRQcmVzcykuXG5AdXNlIFwiLi4vX3V0aWxzXCI7ICAgLy8gc2hhcmVkIGliLSBkZXNpZ24gdG9rZW5zICsgYnJlYWtwb2ludCB0b2tlbnNcbkB1c2UgXCIuLi9fYmFzZVwiOyAgICAvLyBnbG9iYWwgcmVzZXQgKyBodG1sL2JvZHkgYmFzZSBzdHlsZXNcbkB1c2UgXCIuLi9faGVscGVyc1wiOyAvLyAuaWItbW9iaWxlLW9ubHkgLyAuaWItdGFibGV0LW9ubHkgLyAuaWItbW9iaWxlLXRhYmxldC1vbmx5IC8gLmliLWRlc2t0b3Atb25seSAvIC5pYi1tLXJldmVhbFxuQHVzZSBcIi4uL19idXR0b25zXCI7IC8vIHNoYXJlZCBidXR0b24gc3lzdGVtIChtb2JpbGUgc2l6aW5nIOKJpDEwMjRweClcbkB1c2UgXCIuLi9zZXJ2aWNlbm93L2xldHMtdGFsay1zZWN0aW9uXCI7IC8vIHNoYXJlZCBzZWN0aW9uIOKAlCBzYW1lIGZpeGVkIHRhYmxldCBib3VuZGFyeVxuQHVzZSBcIi4uL2VudGVycHJpc2UtcmVhZGluZXNzL19oZXJvLXNlY3Rpb25cIjtcbkB1c2UgXCIuLi9lbnRlcnByaXNlLXJlYWRpbmVzcy9tZXRyaWNzLXNlY3Rpb25cIjtcbkB1c2UgXCIuLi9lbnRlcnByaXNlLXJlYWRpbmVzcy9jb25maWRlbmNlLXNlY3Rpb25cIjtcbkB1c2UgXCIuLi9lbnRlcnByaXNlLXJlYWRpbmVzcy9kaXNjaXBsaW5lcy1zZWN0aW9uXCI7XG5AdXNlIFwiLi4vZW50ZXJwcmlzZS1yZWFkaW5lc3MvZGVsaXZlcnktc2VjdGlvblwiO1xuQHVzZSBcIi4uL2VudGVycHJpc2UtcmVhZGluZXNzL3RlYW0tc2VjdGlvblwiO1xuXG4vLyDilIDilIAgUGFnZS1sZXZlbCBvdmVycmlkZXMgKGFmdGVyIEB1c2UpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gU2NvcGVkIHRvIC5wYWdlLWVudGVycHJpc2UtcmVhZGluZXNzIHNvIG90aGVyIHBhZ2VzIGtlZXAgdGhlaXIgZ2xvYmFsXG4vLyBzY3JvbGwtc25hcCAvIG92ZXJmbG93IGJlaGF2aW9yLiBvdmVyZmxvdy14OiBjbGlwIHByZXZlbnRzIGhvcml6b250YWxcbi8vIG92ZXJmbG93IHdpdGhvdXQgY3JlYXRpbmcgYSBzY3JvbGwgY29udGFpbmVyLCBzbyBwb3NpdGlvbjpzdGlja3kgd29ya3MuXG5ib2R5LnBhZ2UtZW50ZXJwcmlzZS1yZWFkaW5lc3Mge1xuICBvdmVyZmxvdy14OiBjbGlwO1xufVxuXG4vLyBGbHVpZCByb290IGZvbnQtc2l6ZSBjb21lcyBmcm9tIF9iYXNlLnNjc3MgKGdsb2JhbCwgYWxsIGliLSBwYWdlcykuXG5odG1sOmhhcyhib2R5LnBhZ2UtZW50ZXJwcmlzZS1yZWFkaW5lc3MpIHtcbiAgb3ZlcmZsb3cteDogY2xpcDtcbiAgc2Nyb2xsLXNuYXAtdHlwZTogbm9uZTtcbn1cbiIsIi8vIGFzc2V0cy9zY3NzL3BhZ2VzL2NhcmVlci1kZXRhaWwvX2hlcm8tc2VjdGlvbi5zY3NzXG4vLyBIZXJvIOKAlCBicmVhZGNydW1iIGJhY2stbGluaywgcm9sZSB0aXRsZSAoMm5kIGxpbmUgZ3JhZGllbnQsIG1hdGNoZXMgdGhlXG4vLyBjYXJlZXJzLXBhZ2UgdHJlYXRtZW50KSwgZGVwYXJ0bWVudC9sb2NhdGlvbi90eXBlIHBpbGxzLCBhbmQgYSBub3RjaGVkXG4vLyBBcHBseSBOb3cgQ1RBIChGaWdtYSBub2RlIDExMDk1OjIwOTQyKS5cblxuQHVzZSBcIi4uL3V0aWxzXCIgYXMgKjtcblxuLmNkLWhlcm8tc2VjdGlvbiB7XG4gIGJhY2tncm91bmQ6ICRpYi1iZy1wcmltYXJ5O1xuICBcbiAgLy8gMTYwcHggYWNjb3VudHMgZm9yIHRoZSBmaXhlZCBoZWFkZXIgKyBBc2sgRXhwb25hIHRvcGJhciAobWF0Y2hlc1xuICAvLyBjci1oZXJvLXNlY3Rpb24gb24gdGhlIENhcmVlcnMgbGlzdGluZyBwYWdlKS4gSG9yaXpvbnRhbCBlZGdlcyBhcmUgb3duZWRcbiAgLy8gYnkgJl9fdG9wIHNvIHRoZSBjb250ZW50IGxpbmVzIHVwIHdpdGggdGhlIGhlYWRlciBsb2dvIOKAlCBzZWUgYmVsb3cuXG4gIHBhZGRpbmc6IGliLXJlbSgxNjBweCkgMCBpYi1yZW0oNjRweCk7XG5cbiAgJl9fYnJlYWRjcnVtYiB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IGliLXJlbSg4cHgpO1xuICAgIG1hcmdpbi1ib3R0b206IGliLXJlbSg4cHgpO1xuXG4gICAgQGluY2x1ZGUgaWItdHlwZShcImJvZHktc21hbGxcIiwgJGliLWZvbnQtYm9keSk7XG5cbiAgICBjb2xvcjogJGliLXRleHQtcHJpbWFyeTtcblxuICAgICYtaWNvbiB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIHRyYW5zZm9ybTogc2NhbGVYKC0xKTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMjVzIGVhc2U7XG4gICAgfVxuXG4gICAgJjpob3ZlciAmLWljb24ge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoLTEpIHRyYW5zbGF0ZVgoaWItcmVtKDNweCkpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNhbWUgYm94IG1vZGVsIGFzIC5oZWFkZXItY29udGFpbmVyICgxNTc2cHggYm94LCA0MHB4IGd1dHRlciBlYXRlbiBmcm9tXG4gIC8vIGluc2lkZSA9IDE0OTZweCBlZmZlY3RpdmUgY29udGVudCB3aWR0aCkgc28gdGhlIGJyZWFkY3J1bWIvaGVhZGluZyBlZGdlXG4gIC8vIGxhbmRzIGV4YWN0bHkgb24gdGhlIGhlYWRlciBsb2dvIGVkZ2UuXG4gICZfX3RvcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGdhcDogaWItcmVtKDMycHgpO1xuICAgIG1heC13aWR0aDogdmFyKC0tY29udGFpbmVyLXdpZHRoLXBhZGQpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctaW5saW5lOiB2YXIoLS1ndXR0ZXIpO1xuICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gIH1cblxuICAmX19pbnRybyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogaWItcmVtKDI0cHgpO1xuICB9XG5cbiAgJl9faGVhZGluZyB7XG4gICAgQGluY2x1ZGUgaWItdHlwZShcImRpc3BsYXktd2ViLXNtYWxsXCIsICRpYi1mb250LWhlYWRpbmcpO1xuXG4gICAgbWFyZ2luOiAwO1xuICAgIG1heC13aWR0aDogODAwcHg7XG4gICAgY29sb3I6ICRpYi10ZXh0LXByaW1hcnk7XG4gIH1cblxuICAvLyAybmQgcGhyYXNlIHVzZXMgdGhlIGJyYW5kIGJsdWXihpJyZWQgZ3JhZGllbnQgdGV4dCB0cmVhdG1lbnRcbiAgJl9faGlnaGxpZ2h0IHtcbiAgICBiYWNrZ3JvdW5kOiAkaWItZ3JhZGllbnQtdGV4dDtcbiAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICB9XG5cbiAgJl9fdGFncyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiBpYi1yZW0oMTJweCk7XG4gIH1cblxuICAmX190YWcge1xuICAgIHBhZGRpbmc6IGliLXJlbSg4cHgpIGliLXJlbSgxNnB4KTtcbiAgICBiYWNrZ3JvdW5kOiAkaWItY3JlYW0tbGlnaHQ7XG4gICAgY29sb3I6ICRpYi10ZXh0LXByaW1hcnk7XG5cbiAgICBAaW5jbHVkZSBpYi10eXBlKFwibGFiZWwtbWVkaXVtXCIsICRpYi1mb250LWJvZHkpO1xuICB9XG5cbiAgJl9fYXBwbHkge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuXG4gICAgLmliLWJ0bl9faW5uZXIgeyBnYXA6IGliLXJlbSgyNHB4KTsgfVxuICB9XG5cbiAgLy8g4pSA4pSAIE1vYmlsZSArIHRhYmxldCAo4omkMTAyNHB4KSDigJQgbW9iaWxlIGxheW91dCwgc2FtZSBoYW5kb2ZmIGFzIG90aGVyIHBhZ2VzIOKUgOKUgFxuICBAaW5jbHVkZSByZXNwb25kLXRvKCRpYi1icC10YWJsZXQpIHtcbiAgICAvLyBUaGUgZml4ZWQgLm1haW4taGVhZGVyIG9ubHkgc2hyaW5rcyB0byBpdHMgY29tcGFjdCBiYXIgYXQg4omkNzY4cHggKHNlZVxuICAgIC8vIGNzcy9oZWFkZXIuY3NzKSDigJQgdGhlIHRvcCBvZmZzZXQgc3RheXMgZ2VuZXJvdXMgdGhyb3VnaCB0aGUgdGFibGV0IGJhbmRcbiAgICAvLyBhbmQgb25seSBzaHJpbmtzIG9uY2UgdGhlIGhlYWRlciBpdHNlbGYgZG9lcy5cbiAgICBwYWRkaW5nOiBpYi1yZW0oMTQwcHgpIDAgaWItcmVtKDMycHgpO1xuXG4gICAgJl9fYnJlYWRjcnVtYiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgICZfX3RvcCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICBnYXA6IGliLXJlbSgyNHB4KTtcblxuICAgICAgLy8gMjBweCBndXR0ZXIgaG9sZHMgYWxsIHRoZSB3YXkgZG93biDigJQgbWF0Y2hlcyAuY2Qtc2lkZWJhciBhbmQgdGhlXG4gICAgICAvLyB0YWIgcGFuZWxzIGJlbG93LlxuICAgICAgcGFkZGluZy1pbmxpbmU6IGliLXJlbSgyMHB4KTtcbiAgICB9XG5cbiAgICAmX19oZWFkaW5nIHtcbiAgICAgIEBpbmNsdWRlIGliLXR5cGUoXCJkaXNwbGF5LW1vYmlsZS1sYXJnZVwiLCAkaWItZm9udC1oZWFkaW5nKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG5cbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG5cbiAgICAmX19hcHBseSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogaWItcmVtKDQ4cHgpO1xuXG4gICAgICAuaWItYnRuX19pbm5lciB7IHdpZHRoOiAxMDAlOyB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRpYi1icC1tb2JpbGUpIHtcbiAgICAgIHBhZGRpbmc6IGliLXJlbSgxMjBweCkgMCBpYi1yZW0oNDBweCk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBhc3NldHMvc2Nzcy9wYWdlcy9jYXJlZXItZGV0YWlsL19zaWRlYmFyLXNlY3Rpb24uc2Nzc1xuLy8gSm9iIGJvZHkgbGF5b3V0IChzaWRlYmFyICsgbWFpbikgYW5kIHRoZSBzaWRlYmFyIG1ldGEgbGlzdCDigJQgTG9jYXRpb24sXG4vLyBFbXBsb3ltZW50IFR5cGUsIExvY2F0aW9uIFR5cGUsIERlcGFydG1lbnQsIENvbXBlbnNhdGlvbiDigJQgZWFjaCByb3cgY2xvc2VkXG4vLyBieSBhIGhhaXJsaW5lIGRpdmlkZXIgKEZpZ21hIG5vZGUgMTEwOTU6MjE3NjIpLlxuXG5AdXNlIFwiLi4vdXRpbHNcIiBhcyAqO1xuXG4uY2Qtam9iLXNlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiAkaWItYmctcHJpbWFyeTtcbiAgcGFkZGluZzogMCAwIGliLXJlbSgxMjBweCk7XG5cbiAgLy8gU2FtZSBib3ggbW9kZWwgYXMgLmhlYWRlci1jb250YWluZXIgKDE1NzZweCBib3gsIDQwcHggZ3V0dGVyIGVhdGVuIGZyb21cbiAgLy8gaW5zaWRlID0gMTQ5NnB4IGVmZmVjdGl2ZSBjb250ZW50IHdpZHRoKSDigJQga2VlcHMgdGhlIHNpZGViYXIncyBsZWZ0IGVkZ2VcbiAgLy8gYWxpZ25lZCB3aXRoIHRoZSBoZWFkZXIgbG9nbyBhbmQgdGhlIGhlcm8gYWJvdmUuXG4gICZfX2NvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBnYXA6IGliLXJlbSg4MHB4KTtcbiAgICBtYXgtd2lkdGg6IHZhcigtLWNvbnRhaW5lci13aWR0aC1wYWRkKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLWlubGluZTogdmFyKC0tZ3V0dGVyKTtcbiAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICB9XG59XG5cbi5jZC1zaWRlYmFyIHtcbiAgZmxleDogMCAwIGliLXJlbSgzMDBweCk7XG4gIHdpZHRoOiBpYi1yZW0oMzAwcHgpO1xuICBwYWRkaW5nLXRvcDogaWItcmVtKDEyMHB4KTtcblxuICAmX19saXN0IHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAmX19pdGVtIHtcbiAgICBwYWRkaW5nOiBpYi1yZW0oMTZweCkgMDtcbiAgICBib3JkZXItYm90dG9tOiBpYi1yZW0oMXB4KSBzb2xpZCAkaWItYm9yZGVyLXRlcnRpYXJ5O1xuXG4gICAgJjpmaXJzdC1jaGlsZCB7IHBhZGRpbmctdG9wOiAwOyB9XG4gIH1cblxuICAmX19pdGVtLS1sYXN0IHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICB9XG5cbiAgJl9fbGFiZWwge1xuICAgIG1hcmdpbjogMCAwIGliLXJlbSg1cHgpO1xuXG4gICAgQGluY2x1ZGUgaWItdHlwZShcImNhcHRpb24tbGFyZ2VcIiwgJGliLWZvbnQtYm9keSk7XG5cbiAgICBjb2xvcjogJGliLXRleHQtcHJpbWFyeTtcbiAgfVxuXG4gICZfX3ZhbHVlIHtcbiAgICBtYXJnaW46IDA7XG5cbiAgICBAaW5jbHVkZSBpYi10eXBlKFwiaGVhZGxpbmUtbW9iaWxlLXNtYWxsXCIsICRpYi1mb250LWJvZHkpO1xuICAgIGNvbG9yOiAkaWItdGV4dC1wcmltYXJ5O1xuICB9XG5cbiAgLy8g4pSA4pSAIE1vYmlsZSArIHRhYmxldCAo4omkMTAyNHB4KSDigJQgZnVsbC13aWR0aCwgc2FtZSBoYW5kb2ZmIGFzIG90aGVyIHBhZ2VzIOKUgOKUgOKUgOKUgOKUgFxuICBAaW5jbHVkZSByZXNwb25kLXRvKCRpYi1icC10YWJsZXQpIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogMDtcblxuICAgICZfX2xhYmVsIHtcbiAgICAgIEBpbmNsdWRlIGliLXR5cGUoXCJjYXB0aW9uLWxhcmdlXCIsICRpYi1mb250LWJvZHkpO1xuICAgIH1cblxuICAgICZfX3ZhbHVlIHtcbiAgICAgIEBpbmNsdWRlIGliLXR5cGUoXCJoZWFkbGluZS1tb2JpbGUtc21hbGxcIiwgJGliLWZvbnQtYm9keSk7XG4gICAgfVxuICB9XG59XG5cbi8vIOKUgOKUgCBKb2IgYm9keSByZXNwb25zaXZlIHN0YWNraW5nICjiiaQxMDI0cHgpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuQGluY2x1ZGUgcmVzcG9uZC10bygkaWItYnAtdGFibGV0KSB7XG4gIC5jZC1qb2Itc2VjdGlvbiB7XG4gICAgcGFkZGluZzogMDtcblxuICAgIC8vIEJlbG93IDEwMjRweCB0aGUgc2lkZWJhciBhbmQgdGFiIHBhbmVscyBjYXJyeSB0aGVpciBvd24gMjBweCBndXR0ZXJzLFxuICAgIC8vIHNvIHRoZSBjb250YWluZXIgaXRzZWxmIGdvZXMgZWRnZS10by1lZGdlLlxuICAgICZfX2NvbnRhaW5lciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgZ2FwOiAwO1xuICAgICAgcGFkZGluZy1pbmxpbmU6IDA7XG4gICAgfVxuXG4gIH1cblxuICAuY2Qtc2lkZWJhciB7XG4gICAgcGFkZGluZzogaWItcmVtKDI0cHgpIGliLXJlbSgyMHB4KTtcbiAgfVxufVxuIiwiLy8gYXNzZXRzL3Njc3MvcGFnZXMvY2FyZWVyLWRldGFpbC9fdGFicy1zZWN0aW9uLnNjc3Ncbi8vIE1haW4gY29sdW1uIOKAlCBPdmVydmlldy9BcHBsaWNhdGlvbiB0YWIgc3dpdGNoZXIgKEZpZ21hIG5vZGUgMTEwOTU6MjI5NzcpXG4vLyBhbmQgdGhlIE92ZXJ2aWV3IHBhbmVsJ3Mgcm9sZS1kZXNjcmlwdGlvbiBibG9ja3MgKEFib3V0IHRoZSBSb2xlLCBXaGF0XG4vLyBZb3UnbGwgRG8sIFdoYXQgV2UncmUgTG9va2luZyBGb3IsIE5pY2UgdG8gSGF2ZSkuXG5cbkB1c2UgXCIuLi91dGlsc1wiIGFzICo7XG5cbi5jZC1tYWluIHtcbiAgZmxleDogMSAxIGF1dG87XG4gIG1pbi13aWR0aDogMDtcbiAgbWF4LXdpZHRoOiBpYi1yZW0oODAwcHgpO1xuXG4gIHBhZGRpbmctdG9wOiBpYi1yZW0oMTIwcHgpOyAvLyBGaWdtYTogQ29udGFpbmVyIHN0YXJ0cyAxMjBweCBiZWxvdyB0aGUgc2lkZWJhciB0b3BcblxuICAuY2Qtc2lkZWJhciB+ICYge1xuICAgIHBhZGRpbmctdG9wOiBpYi1yZW0oMTIwcHgpO1xuICB9XG59XG5cbi8vIOKUgOKUgCBUYWJzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLmNkLXRhYnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IGliLXJlbSg0MnB4KTtcbiAgbWFyZ2luLWJvdHRvbTogaWItcmVtKDY0cHgpO1xuXG4gICZfX3RhYiB7XG4gICAgcGFkZGluZzogMCAwIGliLXJlbSgxNnB4KTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItYm90dG9tOiBpYi1yZW0oMXB4KSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICBAaW5jbHVkZSBpYi10eXBlKFwiaGVhZGxpbmUtbW9iaWxlLWxhcmdlXCIsICRpYi1mb250LWhlYWRpbmcpO1xuXG4gICAgY29sb3I6ICRpYi10ZXh0LXByaW1hcnk7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgLjI1cyBlYXNlLCBib3JkZXItY29sb3IgLjI1cyBlYXNlO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGliLWdyYXktZGVlcDtcbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICBjb2xvcjogJGliLWdyYXktZGVlcDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRpYi1ib3JkZXItcHJpbWFyeTtcbiAgICB9XG4gIH1cbn1cblxuLy8g4pSA4pSAIFRhYiBwYW5lbHMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4uY2QtcGFuZWwge1xuICAmW2hpZGRlbl0geyBkaXNwbGF5OiBub25lOyB9XG59XG5cbi8vIOKUgOKUgCBPdmVydmlldyBjb250ZW50IOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLmNkLW92ZXJ2aWV3IHtcbiAgLy8gRWFjaCBcIkFib3V0IHRoZSBSb2xlXCIgLyBcIldoYXQgWW91J2xsIERvXCIgLyBldGMuIGdyb3VwIGlzIGp1c3QgYSBiYXJlXG4gIC8vIGhlYWRpbmcgKyB0ZXh0L2xpc3QgcnVuIOKAlCBub3RoaW5nIHdyYXBzIHRoZW0sIHNvIHRoZSBnYXAgYmVmb3JlIHRoZSBuZXh0XG4gIC8vIGhlYWRpbmcgaGFzIHRvIGxpdmUgb24gX190ZXh0L19fbGlzdCBkaXJlY3RseSAoYSBoZWFkaW5nJ3Mgb3duIHRvcCBtYXJnaW5cbiAgLy8gd291bGQgZG91YmxlIHVwIGJldHdlZW4gdHdvIGNvbnNlY3V0aXZlIGxpc3RzIG90aGVyd2lzZSkuXG4gICZfX2hlYWRpbmcge1xuICAgIG1hcmdpbjogMCAwIGliLXJlbSgyNHB4KTtcblxuICAgIEBpbmNsdWRlIGliLXR5cGUoXCJoZWFkbGluZS1tb2JpbGUtbWVkaXVtXCIsICRpYi1mb250LWhlYWRpbmcpO1xuXG4gICAgY29sb3I6ICRpYi10ZXh0LXByaW1hcnk7XG4gIH1cblxuICAmX190ZXh0IHtcbiAgICBtYXJnaW46IDAgMCBpYi1yZW0oNjRweCk7XG5cbiAgICBAaW5jbHVkZSBpYi10eXBlKFwiYm9keS1sYXJnZVwiLCAkaWItZm9udC1ib2R5KTtcblxuICAgIGNvbG9yOiAkaWItdGV4dC1zZWNvbmRhcnk7XG4gIH1cblxuICAmX19saXN0IHtcbiAgICBtYXJnaW46IDAgMCBpYi1yZW0oNjRweCk7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IGliLXJlbSgxMnB4KTtcblxuICAgIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmctbGVmdDogaWItcmVtKDE5cHgpO1xuXG4gICAgICBAaW5jbHVkZSBpYi10eXBlKFwiYm9keS1tZWRpdW1cIiwgJGliLWZvbnQtYm9keSk7XG5cbiAgICAgIGNvbG9yOiAkaWItdGV4dC1zZWNvbmRhcnk7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwi4oCiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgY29sb3I6ICRpYi1yZWQtZGFyaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBBcHBseSBOb3cgQ1RBIGFuZCB0aGUgc2hhcmUgYmxvY2sgc2l0IG9uIG9uZSByb3cgYXQgdGhlIHBhbmVsJ3MgZW5kLlxuICAmX19mb290ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZ2FwOiBpYi1yZW0oMjRweCk7XG4gICAgbWFyZ2luLXRvcDogaWItcmVtKDhweCk7XG4gIH1cblxuICAmX19hcHBseSB7XG4gICAgLmliLWJ0bl9faW5uZXIgeyBnYXA6IGliLXJlbSgyNHB4KTsgfVxuICB9XG5cbiAgLy8gTGFiZWwgc3RhY2tzIGFib3ZlIHRoZSBpY29uIHJvdzsgYm90aCBodWcgdGhlIHJpZ2h0IGVkZ2Ugb2YgdGhlIGZvb3Rlci5cbiAgJl9fc2hhcmUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgZ2FwOiBpYi1yZW0oOHB4KTtcbiAgfVxuXG4gICZfX3NoYXJlLWxhYmVsIHtcbiAgICBAaW5jbHVkZSBpYi10eXBlKFwibGFiZWwtc21hbGxcIiwgJGliLWZvbnQtYm9keSk7XG5cbiAgICBjb2xvcjogJGliLXRleHQtcHJpbWFyeTsgLy8gIzM3Mzc0MlxuICB9XG5cbiAgJl9fc2hhcmUtaWNvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IGliLXJlbSgxNnB4KTtcbiAgfVxuXG4gICZfX3NoYXJlLWljb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGNvbG9yOiAkaWItZ3JheS1tZWRpdW07IC8vICM2NzY3NzUg4oCUIGljb25zIGluaGVyaXQgdmlhIGN1cnJlbnRDb2xvclxuICAgIHRyYW5zaXRpb246IGNvbG9yIC4yNXMgZWFzZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRpYi1ncmF5LWRlZXA7XG4gICAgfVxuXG4gICAgc3ZnIHtcbiAgICAgIHdpZHRoOiBpYi1yZW0oMjRweCk7XG4gICAgICBoZWlnaHQ6IGliLXJlbSgyNHB4KTtcbiAgICB9XG4gIH1cbn1cblxuLy8g4pSA4pSAIE1vYmlsZSArIHRhYmxldCAo4omkMTAyNHB4KSDigJQgbW9iaWxlIGxheW91dCwgc2FtZSBoYW5kb2ZmIGFzIG90aGVyIHBhZ2VzIOKUgOKUgOKUgFxuQGluY2x1ZGUgcmVzcG9uZC10bygkaWItYnAtdGFibGV0KSB7XG4gIC5jZC1tYWluIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAuY2Qtc2lkZWJhciB+ICYgeyBwYWRkaW5nLXRvcDogMDsgfVxuICB9XG5cbiAgLmNkLXRhYnMge1xuICAgIGdhcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6IGliLXJlbSg0MnB4KSBpYi1yZW0oMjBweCkgaWItcmVtKDApO1xuICAgIGJvcmRlci1ib3R0b206IGliLXJlbSgxcHgpIHNvbGlkICRpYi1ncmF5LW1pc3Q7XG5cbiAgICAmX190YWIge1xuICAgICAgQGluY2x1ZGUgaWItdHlwZShcImhlYWRsaW5lLW1vYmlsZS1zbWFsbFwiLCAkaWItZm9udC1oZWFkaW5nKTtcblxuICAgICAgZmxleDogMSAxIDA7XG5cbiAgICAgIC8vIEJ1dHRvbnMgZGVmYXVsdCB0byBjZW50ZXJlZCB0ZXh0IGluIG1vc3QgYnJvd3NlcnMg4oCUIHdpdGggdHdvIGVxdWFsLXdpZHRoXG4gICAgICAvLyBmbGV4IGl0ZW1zIHRoYXQgcmVhZHMgYXMgYm90aCBsYWJlbHMgY3Jvd2RpbmcgdGhlIHNoYXJlZCBtaWRkbGUgZWRnZVxuICAgICAgLy8gKFwiT3ZlcnZpZXdcIiAvIFwiQXBwbGljYXRpb25cIiBtZXJnaW5nIHRvZ2V0aGVyKS4gRmlnbWEgaGFzIGVhY2ggbGFiZWxcbiAgICAgIC8vIHN0YXJ0IGF0IGl0cyBvd24gY29sdW1uJ3MgbGVmdCBlZGdlIGluc3RlYWQuXG4gICAgICBwYWRkaW5nLWJvdHRvbTogaWItcmVtKDEycHgpO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRpYi1yZWQtYnJhbmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIFxuICAuY2QtcGFuZWwge1xuICAgIHBhZGRpbmc6IGliLXJlbSg0MnB4KSBpYi1yZW0oMjBweCkgaWItcmVtKDY0cHgpO1xuICB9XG5cbiAgLmNkLW92ZXJ2aWV3IHtcbiAgICAmX190ZXh0LFxuICAgICZfX2xpc3Qge1xuICAgICAgbWFyZ2luLWJvdHRvbTogaWItcmVtKDQwcHgpO1xuXG4gICAgICBAaW5jbHVkZSBpYi10eXBlKFwiYm9keS1zbWFsbFwiKTtcbiAgICB9XG5cbiAgICAmX19saXN0IHtcbiAgICAgIGxpIHtcbiAgICAgICAgQGluY2x1ZGUgaWItdHlwZShcImJvZHktc21hbGxcIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9faGVhZGluZyB7XG4gICAgICBAaW5jbHVkZSBpYi10eXBlKFwiaGVhZGxpbmUtbW9iaWxlLW1lZGl1bVwiKTtcblxuICAgICAgbWFyZ2luLWJvdHRvbTogaWItcmVtKDE2cHgpO1xuICAgIH1cblxuICAgIC8vIFNoYXJlIGJsb2NrIGlzIGRlc2t0b3Atb25seSDigJQgdGhlIEFwcGx5IE5vdyBDVEEgc3RhbmRzIGFsb25lIG9uIG1vYmlsZS5cbiAgICAmX19zaGFyZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8vIFRoZSBib3R0b20tb2Ytb3ZlcnZpZXcgQXBwbHkgTm93IENUQSBpcyB0aGUgcGFnZSdzIGZpbmFsIGNhbGwgdG8gYWN0aW9uIOKAlFxuICAgIC8vIEZpZ21hIHNpemVzIGl0IHVwIChmdWxsLXdpZHRoLCB0YWxsZXIpIHJhdGhlciB0aGFuIG1hdGNoaW5nIHRoZSBzbWFsbGVyXG4gICAgLy8gQXBwbHkgTm93IGJ1dHRvbnMgdXNlZCBlbHNld2hlcmUgKGhlcm8sIHNpZGViYXIpLlxuICAgICZfX2FwcGx5IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBpYi1yZW0oNDhweCk7XG5cbiAgICAgIC5pYi1idG5fX2lubmVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBhc3NldHMvc2Nzcy9wYWdlcy9jYXJlZXItZGV0YWlsL19hcHBsaWNhdGlvbi1zZWN0aW9uLnNjc3Ncbi8vIEFwcGxpY2F0aW9uIHBhbmVsIOKAlCB0d28tY29sdW1uIHBlcnNvbmFsLWRldGFpbHMgZm9ybSwgcmVzdW1lIGRyb3B6b25lLFxuLy8gZGF0YS1jb2xsZWN0aW9uIG5vdGljZSwgYW5kIFN1Ym1pdCBDVEEuIE5vdCBwcmVzZW50IGluIHRoZSBleHBvcnRlZCBGaWdtYVxuLy8gbm9kZSAoT3ZlcnZpZXcgb25seSk7IHN0eWxlZCB0byBtYXRjaCB0aGUgc2l0ZSdzIGV4aXN0aW5nIGJvcmRlcmVkLWZpZWxkXG4vLyBsYW5ndWFnZSAoY3Itb3BlbmluZ3Mtc2VjdGlvbl9fc2VsZWN0KSBhbmQgdGhlIGliLSBkZXNpZ24gdG9rZW5zLlxuXG5AdXNlIFwiLi4vdXRpbHNcIiBhcyAqO1xuXG5Aa2V5ZnJhbWVzIGNkLWFwcGxpY2F0aW9uLXNwaW4ge1xuICB0byB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH1cbn1cblxuLmNkLWFwcGxpY2F0aW9uLWZvcm0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IGliLXJlbSgzNnB4KTtcblxuICAmX19ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICBnYXA6IGliLXJlbSgyNHB4KSBpYi1yZW0oNDRweCk7XG4gIH1cblxuICAmX19maWVsZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogaWItcmVtKDhweCk7XG4gIH1cblxuICAmX19sYWJlbCB7XG4gICAgQGluY2x1ZGUgaWItdHlwZShcImJvZHktc21hbGxcIiwgJGliLWZvbnQtYm9keSk7XG5cbiAgICBjb2xvcjogJGliLXRleHQtcHJpbWFyeTtcbiAgfVxuXG4gICZfX3JlcXVpcmVkIHtcbiAgICBjb2xvcjogJGliLXRleHQtcHJpbWFyeTtcbiAgfVxuXG4gICZfX2lucHV0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGliLXJlbSg1NnB4KTtcbiAgICBwYWRkaW5nOiBpYi1yZW0oMTZweCk7XG4gICAgYmFja2dyb3VuZDogJGliLWJnLWludmVydDtcbiAgICBib3JkZXI6IC42M3B4IHNvbGlkICRpYi1ib3JkZXItdGVydGlhcnk7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBvdXRsaW5lOiBub25lO1xuXG4gICAgQGluY2x1ZGUgaWItdHlwZShcImJvZHktc21hbGxcIiwgJGliLWZvbnQtYm9keSk7XG5cbiAgICBjb2xvcjogJGliLXRleHQtcHJpbWFyeTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgLjI1cyBlYXNlO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIgeyBjb2xvcjogJGliLXRleHQtc2Vjb25kYXJ5OyB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGliLXRleHQtcHJpbWFyeTtcbiAgICB9XG5cbiAgICAmOmludmFsaWQuaXMtdG91Y2hlZCB7XG4gICAgICBib3JkZXItY29sb3I6ICRpYi1yZWQtYnJhbmQ7XG4gICAgfVxuXG4gICAgLy8gSGlkZSBuYXRpdmUgbnVtYmVyIHNwaW5uZXJzIHNvIHRoZSBmaWVsZCByZWFkcyBsaWtlIGEgcGxhaW4gdGV4dCBpbnB1dFxuICAgICZbdHlwZT1cIm51bWJlclwiXSB7XG4gICAgICBhcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG5cbiAgICAgICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sXG4gICAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcbiAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIOKUgOKUgCBSZXN1bWUgdXBsb2FkIGRyb3B6b25lIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAmX19maWVsZC0tdXBsb2FkIHtcbiAgICBnYXA6IGliLXJlbSgxMnB4KTtcbiAgfVxuXG4gICZfX3VwbG9hZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IGliLXJlbSgxMHB4KTtcbiAgICBwYWRkaW5nOiBpYi1yZW0oMjBweCkgaWItcmVtKDE2cHgpO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogLjYzcHggc29saWQgJGliLWJvcmRlci1wcmltYXJ5O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAuMjVzIGVhc2UsIGJhY2tncm91bmQgLjI1cyBlYXNlO1xuXG4gICAgJi1pY29uIHtcbiAgICAgIGNvbG9yOiAkaWItdGV4dC1wcmltYXJ5O1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJi5pcy1kcmFnb3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6ICRpYi1yZWQtYnJhbmQ7XG4gICAgICBiYWNrZ3JvdW5kOiAkaWItY3JlYW0tbGlnaHQ7XG4gICAgfVxuICB9XG5cbiAgJl9fdXBsb2FkLXRleHQge1xuICAgIEBpbmNsdWRlIGliLXR5cGUoXCJsYWJlbC1tZWRpdW1cIiwgJGliLWZvbnQtYm9keSk7XG5cbiAgICBjb2xvcjogJGliLXRleHQtcHJpbWFyeTtcbiAgfVxuXG4gICZfX3VwbG9hZC1pbnB1dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gICZfX3VwbG9hZC1oaW50IHtcbiAgICBtYXJnaW46IDA7XG5cbiAgICBAaW5jbHVkZSBpYi10eXBlKFwiY2FwdGlvbi1sYXJnZVwiLCAkaWItZm9udC1ib2R5KTtcbiAgICBjb2xvcjogJGliLXRleHQtc2Vjb25kYXJ5O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC8vIOKUgOKUgCBDb25zZW50IGNoZWNrYm94ICsgcG9saWN5IG5vdGljZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgJl9fY29uc2VudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBnYXA6IGliLXJlbSgxMnB4KTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAmX19jb25zZW50LWlucHV0IHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB3aWR0aDogaWItcmVtKDE4cHgpO1xuICAgIGhlaWdodDogaWItcmVtKDE4cHgpO1xuICAgIG1hcmdpbi10b3A6IGliLXJlbSgycHgpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRpYi1ib3JkZXItdGVydGlhcnk7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBiYWNrZ3JvdW5kOiAkaWItYmctaW52ZXJ0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiAkaWItdHJhbnNpdGlvbi1zbW9vdGg7XG5cbiAgICAmOmNoZWNrZWQge1xuICAgICAgYmFja2dyb3VuZDogJGliLXJlZC1icmFuZDtcbiAgICAgIGJvcmRlci1jb2xvcjogJGliLXJlZC1icmFuZDtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNDUlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHdpZHRoOiBpYi1yZW0oNHB4KTtcbiAgICAgICAgaGVpZ2h0OiBpYi1yZW0oOHB4KTtcbiAgICAgICAgYm9yZGVyOiBzb2xpZCAkaWItYmctaW52ZXJ0O1xuICAgICAgICBib3JkZXItd2lkdGg6IDAgMS41cHggMS41cHggMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19wb2xpY3kge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXgtd2lkdGg6IDc0Y2g7XG5cbiAgICBAaW5jbHVkZSBpYi10eXBlKFwiYm9keS1zbWFsbFwiLCAkaWItZm9udC1ib2R5KTtcblxuICAgIGNvbG9yOiAkaWItdGV4dC1wcmltYXJ5O1xuXG4gICAgYSB7XG4gICAgICBjb2xvcjogJGliLXJlZC1icmFuZDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiBpYi1yZW0oMnB4KTtcbiAgICB9XG4gIH1cblxuICAvLyBMYXJnZXIgdGhhbiB0aGUgc3RhbmRhcmQgNDhweCAuaWItYnRuIOKAlCB0aGUgZm9ybSdzIHRlcm1pbmFsIENUQSBpcyBtZWFudFxuICAvLyB0byByZWFkIGFzIG1vcmUgcHJvbWluZW50IHRoYW4gdGhlIHNtYWxsZXIgQXBwbHkgTm93IGJ1dHRvbnMgZWxzZXdoZXJlIG9uXG4gIC8vIHRoZSBwYWdlIChGaWdtYSBzaXplcyBpdCB1cCwgbm90IHRvIHRoZSBzaGFyZWQgYnV0dG9uLXN5c3RlbSBkZWZhdWx0KS5cbiAgJl9fc3VibWl0IHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgIG1pbi13aWR0aDogaWItcmVtKDIzOHB4KTtcbiAgICBtYXgtd2lkdGg6IGliLXJlbSgyMzhweCk7XG4gICAgbWFyZ2luLXRvcDogaWItcmVtKDEycHgpO1xuICB9XG5cbiAgJl9fc3VjY2VzcyB7XG4gICAgbWFyZ2luOiBpYi1yZW0oLThweCkgMCAwO1xuXG4gICAgQGluY2x1ZGUgaWItdHlwZShcImJvZHktbWVkaXVtXCIsICRpYi1mb250LWJvZHkpO1xuXG4gICAgY29sb3I6ICRpYi10ZXh0LXN1Y2Nlc3M7XG5cbiAgICAmW2hpZGRlbl0geyBkaXNwbGF5OiBub25lOyB9XG4gIH1cblxuICAvLyBTcGlubmVyIHNob3duIGluc2lkZSB0aGUgU3VibWl0IGJ1dHRvbidzIGxhYmVsIHdoaWxlIHRoZSAoc2ltdWxhdGVkKVxuICAvLyBhcHBsaWNhdGlvbiBzdWJtaXNzaW9uIGlzIGluIGZsaWdodCDigJQgd2l0aG91dCBpdCB0aGUgYnV0dG9uIGp1c3QgcmVhZFxuICAvLyBcIkFwcGx5aW5n4oCmXCIgd2l0aCBubyB2aXN1YWwgbW90aW9uLCB3aGljaCB1c2VycyBtaXN0b29rIGZvciBhIHN0YWxsZWQgY2xpY2suXG4gICZfX3NwaW5uZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogaWItcmVtKDE0cHgpO1xuICAgIGhlaWdodDogaWItcmVtKDE0cHgpO1xuICAgIGJvcmRlcjogaWItcmVtKDJweCkgc29saWQgcmdiYSgkaWItZ3JheS13aGl0ZSwgLjQpO1xuICAgIGJvcmRlci10b3AtY29sb3I6IGN1cnJlbnRjb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYW5pbWF0aW9uOiBjZC1hcHBsaWNhdGlvbi1zcGluIC43cyBsaW5lYXIgaW5maW5pdGU7XG4gICAgdmVydGljYWwtYWxpZ246IGliLXJlbSgtMnB4KTtcbiAgfVxuXG4gIC8vIOKUgOKUgCBNb2JpbGUgKyB0YWJsZXQgKOKJpDEwMjRweCkg4oCUIHNpbmdsZSBjb2x1bW4sIHNhbWUgaGFuZG9mZiBhcyBvdGhlciBwYWdlcyDilIDilIBcbiAgQGluY2x1ZGUgcmVzcG9uZC10bygkaWItYnAtdGFibGV0KSB7XG4gICAgZ2FwOiBpYi1yZW0oMjRweCk7XG5cbiAgICAmX19ncmlkIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgZ2FwOiBpYi1yZW0oMjBweCk7XG4gICAgfVxuXG4gICAgJl9fc3VibWl0IHtcbiAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIGhlaWdodDogaWItcmVtKDQ4cHgpO1xuICAgIH1cblxuICAgICZfX3VwbG9hZCB7XG4gICAgICBwYWRkaW5nOiAuODVyZW0gMXJlbTtcbiAgICB9XG5cbiAgICAmX191cGxvYWQtaGludCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgIC8vICZfX2NvbnNlbnQtaW5wdXQge1xuICAgIC8vICAgZGlzcGxheTogbm9uZTtcbiAgICAvLyB9XG4gIH1cbn1cbiIsIi8vIGFzc2V0cy9zY3NzL3BhZ2VzL2NhcmVlci1kZXRhaWwuc2Nzc1xuLy8gRW50cnkgcG9pbnQg4oCUIGltcG9ydHMgYWxsIENhcmVlciBEZXRhaWwgcGFnZSBzZWN0aW9uIHBhcnRpYWxzLlxuLy8gQ29tcGlsZTogbnBtIHJ1biBzYXNzOmJ1aWxkICB8ICBXYXRjaDogbnBtIHJ1biBzYXNzXG5cbi8vIEB1c2UgbXVzdCBjb21lIGZpcnN0IOKAlCBhbGwgcnVsZXMgZ28gaW5zaWRlIHRoZSBwYXJ0aWFsc1xuQHVzZSBcInV0aWxzXCI7ICAgLy8gc2hhcmVkIGliLSBkZXNpZ24gdG9rZW5zICsgYnJlYWtwb2ludCB0b2tlbnNcbkB1c2UgXCJiYXNlXCI7ICAgIC8vIGdsb2JhbCByZXNldCArIGh0bWwvYm9keSBiYXNlIHN0eWxlc1xuQHVzZSBcImhlbHBlcnNcIjsgLy8gLmliLW1vYmlsZS1vbmx5IC8gLmliLXRhYmxldC1vbmx5IC8gLmliLW1vYmlsZS10YWJsZXQtb25seSAvIC5pYi1kZXNrdG9wLW9ubHkgLyAuaWItbS1yZXZlYWxcbkB1c2UgXCJidXR0b25zXCI7IC8vIHNoYXJlZCBidXR0b24gc3lzdGVtIChtb2JpbGUgc2l6aW5nIOKJpDEwMjRweClcbkB1c2UgXCJjYXJlZXItZGV0YWlscy9oZXJvLXNlY3Rpb25cIjtcbkB1c2UgXCJjYXJlZXItZGV0YWlscy9zaWRlYmFyLXNlY3Rpb25cIjtcbkB1c2UgXCJjYXJlZXItZGV0YWlscy90YWJzLXNlY3Rpb25cIjtcbkB1c2UgXCJjYXJlZXItZGV0YWlscy9hcHBsaWNhdGlvbi1zZWN0aW9uXCI7XG5cbi8vIOKUgOKUgCBQYWdlLWxldmVsIG92ZXJyaWRlcyAoYWZ0ZXIgQHVzZSkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5ib2R5LnBhZ2UtY2FyZWVyLWRldGFpbCB7XG4gIG92ZXJmbG93LXg6IGNsaXA7XG59XG5cbi8vIFNoYXJlZCBDVEEgd2lkdGggKEFwcGx5IE5vdyDigJQgaGVybyArIG92ZXJ2aWV3LCBTdWJtaXQg4oCUIGFwcGxpY2F0aW9uIGZvcm0pLlxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLWNsYXNzLXBhdHRlcm4gLS0gcHJlLWV4aXN0aW5nIGNsYXNzIG5hbWUsIHNoYXJlZCB3aXRoIDMgbWFya3VwIHVzYWdlcyBpbiBjYXJlZXItZGV0YWlscy5odG1sXG4uY2FycmVyX2RldGFpbHNfYnRuLmliLWJ0bl9faW5uZXIge1xuICB3aWR0aDogdXRpbHMuaWItcmVtKDI2OHB4KTtcbn1cblxuLy8gVGFibGV0IG9ubHk6IHJlLWRlY2xhcmVkIHNvIHRoZSBmaXhlZCB3aWR0aCBzdGlsbCBhcHBsaWVzIGF0IHRoYXRcbi8vIGJyZWFrcG9pbnQgaWYgYSBmdXR1cmUgcnVsZSBuYXJyb3dzIHRoZSBiYXNlIHNlbGVjdG9yJ3Mgc2NvcGUuXG5AaW5jbHVkZSB1dGlscy5yZXNwb25kLXRvKHV0aWxzLiRpYi1icC10YWJsZXQpIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLWNsYXNzLXBhdHRlcm4gLS0gcHJlLWV4aXN0aW5nIGNsYXNzIG5hbWUsIHNoYXJlZCB3aXRoIDMgbWFya3VwIHVzYWdlcyBpbiBjYXJlZXItZGV0YWlscy5odG1sXG4gIC5jYXJyZXJfZGV0YWlsc19idG4uaWItYnRuX19pbm5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn0iLCIvLyBhc3NldHMvc2Nzcy9wYWdlcy9jYXJlZXJzL19oZXJvLXNlY3Rpb24uc2Nzc1xuLy8gSGVybyDigJQgY2VudGVyZWQgaGVhZGxpbmUgKDJuZCBsaW5lIGdyYWRpZW50KSwgbm90Y2hlZCBDVEEsIGFuZCBhIGhhbmQtZHJhd25cbi8vIHJlZCBkb29kbGUgYXJyb3cgdGhhdCBcImRyYXdzIGluXCIgb24gbG9hZCAoU1ZHIHN0cm9rZS1kYXNob2Zmc2V0KS4gU3RhdGljIG9uXG4vLyBtb2JpbGU7IHRoZSBhcnJvdyBzY2FsZXMgZG93biBhbmQgdGhlIGRyYXcgc3RpbGwgcGxheXMuXG5cbkB1c2UgXCIuLi91dGlsc1wiIGFzICo7XG5cbi5jci1oZXJvLXNlY3Rpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6ICRpYi1iZy1wcmltYXJ5O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIHBhZGRpbmc6IGliLXJlbSgxNjBweCkgaWItcmVtKDI0cHgpIDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJl9faW5uZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IGliLXJlbSg5MDBweCk7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgJl9faGVhZGluZyB7XG4gICAgQGluY2x1ZGUgaWItdHlwZShcImRpc3BsYXktd2ViLXNtYWxsXCIpO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogMTRjaDtcblxuICAgIC8vIExDUCBlbGVtZW50IOKAlCBtdXN0IG5ldmVyIHN0YXJ0IGhpZGRlbiAobm8gcmV2ZWFsIGFuaW1hdGlvbilcbiAgfVxuXG4gIC8vIDJuZCBsaW5lIHVzZXMgdGhlIGJyYW5kIGJsdWXihpJyZWQgZ3JhZGllbnQgdGV4dCB0cmVhdG1lbnRcbiAgJl9faGlnaGxpZ2h0IHtcbiAgICBiYWNrZ3JvdW5kOiAkaWItZ3JhZGllbnQtdGV4dDtcbiAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICB9XG5cbiAgLy8gVmlzdWFscyBjb21lIGZyb20gdGhlIHNoYXJlZCAuaWItYnRuIHN5c3RlbSDigJQgdGhpcyBvbmx5IG93bnMgc3BhY2luZy5cbiAgJl9fY3RhIHtcbiAgICBtYXJnaW4tdG9wOiBpYi1yZW0oNDBweCk7XG4gIH1cblxuICAvLyDilIDilIAgSGFuZC1kcmF3biBkb29kbGUgYXJyb3cg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIC8vIFNpdHMgYmVsb3cgdGhlIENUQSBhbmQgc3dlZXBzIGRvd24tcmlnaHQuIFRoZSBwYXRoIGRyYXdzIGl0c2VsZiBpbiBvbmNlIHRoZVxuICAvLyBoZXJvIGVudGVycyB0aGUgdmlld3BvcnQgKEpTIGFkZHMgLmlzLWRyYXduKS4gRGVjb3JhdGl2ZSBvbmx5LlxuICAmX19hcnJvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IGNhbGMoMTAwJSAtICN7aWItcmVtKDI0cHgpfSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zMCUpO1xuICAgIHdpZHRoOiBpYi1yZW0oMzYwcHgpO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgcGF0aCB7XG4gICAgICBmaWxsOiBub25lO1xuICAgICAgc3Ryb2tlOiAkaWItcmVkLWJyYW5kO1xuICAgICAgc3Ryb2tlLXdpZHRoOiAyO1xuICAgICAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kO1xuICAgICAgc3Ryb2tlLWxpbmVqb2luOiByb3VuZDtcblxuICAgICAgLy8gRHJhdy1pbjogZGFzaGFycmF5IGNvdmVycyB0aGUgd2hvbGUgcGF0aCwgb2Zmc2V0IGhpZGVzIGl0IHVudGlsIHNob3duXG4gICAgICBzdHJva2UtZGFzaGFycmF5OiAxNjAwO1xuICAgICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDE2MDA7XG4gICAgICB0cmFuc2l0aW9uOiBzdHJva2UtZGFzaG9mZnNldCAxLjZzIGN1YmljLWJlemllciguMTYsIDEsIC4zLCAxKTtcbiAgICB9XG4gIH1cblxuICAmX19hcnJvdy5pcy1kcmF3biBwYXRoIHtcbiAgICBzdHJva2UtZGFzaG9mZnNldDogMDtcbiAgfVxuXG4gIC8vIOKUgOKUgCBNb2JpbGUgKyB0YWJsZXQgKOKJpDEwMjRweCkg4oCUIG1vYmlsZSBsYXlvdXQsIHNhbWUgaGFuZG9mZiBhcyBvdGhlciBwYWdlcyDilIDilIBcbiAgQGluY2x1ZGUgcmVzcG9uZC10bygkaWItYnAtdGFibGV0KSB7XG4gICAgbWluLWhlaWdodDogYXV0bztcblxuICAgIC8vIFRoZSBmaXhlZCAubWFpbi1oZWFkZXIgb25seSBzaHJpbmtzIHRvIGl0cyBjb21wYWN0IGJhciBhdCDiiaQ3NjhweCAoc2VlXG4gICAgLy8gY3NzL2hlYWRlci5jc3MpIOKAlCBkb3duIHRvIDc2OXB4IGl0J3Mgc3RpbGwgdGhlIGZ1bGwgZGVza3RvcCBoZWFkZXIsIHNvXG4gICAgLy8gdGhlIHRvcCBvZmZzZXQgc3RheXMgZ2VuZXJvdXMgdGhyb3VnaCB0aGUgdGFibGV0IGJhbmQgYW5kIG9ubHkgc2hyaW5rc1xuICAgIC8vIG9uY2UgdGhlIGhlYWRlciBpdHNlbGYgZG9lcy5cbiAgICBwYWRkaW5nOiBpYi1yZW0oMTUwcHgpIGliLXJlbSgyNHB4KSBpYi1yZW0oNTZweCk7XG5cbiAgICAmX19oZWFkaW5nIHtcbiAgICAgIEBpbmNsdWRlIGliLWRpc3BsYXktaGVhZGluZyhpYi1yZW0oNDBweCksIGliLXJlbSg0NnB4KSk7XG5cbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgfVxuXG4gICAgJl9fY3RhIHtcbiAgICAgIG1hcmdpbi10b3A6IGliLXJlbSgyOHB4KTtcbiAgICB9XG5cbiAgICAmX19hcnJvdyB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgd2lkdGg6IGliLXJlbSgyMDBweCk7XG4gICAgICBtYXJnaW46IGliLXJlbSgzNnB4KSBhdXRvIDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGliLWJwLW1vYmlsZSkge1xuICAgICAgcGFkZGluZy10b3A6IGliLXJlbSgxMzBweCk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBhc3NldHMvc2Nzcy9wYWdlcy9jYXJlZXJzL19jdWx0dXJlLXNlY3Rpb24uc2Nzc1xuLy8gQ3VsdHVyZSDigJQgc2VjdGlvbiAxIGlzIGEgc2Nyb2xsLWRyaXZlbiBoZXJvOiBhIHBpbm5lZCByZWQgYXJyb3cgb3V0bGluZSB0aGF0XG4vLyBwbGF5cyBhIHZpZGVvIGluc2lkZSBpdHMgc2lsaG91ZXR0ZSwgdGhlbiBzbW9vdGhseSB6b29tcyBpbnRvIGEgZnVsbC1ibGVlZCB2aWRlb1xuLy8gYXMgdGhlIHVzZXIgc2Nyb2xscyAoYW5kIHpvb21zIGJhY2sgb3V0IG9uIHNjcm9sbC11cCkuIFNlY3Rpb24gMiBpcyB0aGUgY2VudGVyZWRcbi8vIHN0YXRlbWVudCB3aXRoIHRoZSBhd2FyZCBiYWRnZSArIHRpbHRlZCBcInBvbGFyb2lkXCIgY29sbGFnZSB0aGF0IGRyaWZ0cyBpbiB3aXRoIGFcbi8vIGdlbnRsZSBzY3JvbGwgcGFyYWxsYXggKEpTIHNldHMgLS1jci1wYXJhbGxheCkuXG5cbkB1c2UgXCIuLi91dGlsc1wiIGFzICo7XG5cbi5jci1jdWx0dXJlLXNlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiAkaWItYmctcHJpbWFyeTtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAvLyBOb3cgdGhlIGZpcnN0IGl0ZW0gaW5zaWRlIF9fd2hlZWwtcGluIChhIHN0aWNreSwgaGVhZGVyLWxpa2Ugc3RhZ2UpIHJhdGhlclxuICAvLyB0aGFuIGZsb3cgY29udGVudCBhaGVhZCBvZiB0aGUgcnVud2F5IOKAlCBtYXJnaW4gaXMganVzdCB0aGUgZ2FwIGRvd24gdG8gdGhlXG4gIC8vIHNob3djYXNlIGJlbG93IGl0LiBTaXplIGNsYW1wcyBieSB2aWV3cG9ydCBoZWlnaHQgKGNlaWxpbmcgPSBvcmlnaW5hbFxuICAvLyBkZXNrdG9wIHZhbHVlcykgc28gc2hvcnQgXCJsYXB0b3AtaGVpZ2h0XCIgc2NyZWVucyBzaHJpbmsgaXQgaW5zdGVhZCBvZlxuICAvLyBvdmVyZmxvd2luZyB0aGUgcGlubmVkIDEwMHZoIHN0YWdlLlxuICAmX19oZWFkaW5nIHtcbiAgICBAaW5jbHVkZSBpYi1kaXNwbGF5LWhlYWRpbmcoaWItcmVtKDQ4cHgpLCBpYi1yZW0oNjBweCkpO1xuXG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWF4LXdpZHRoOiAyNWNoO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgLy8gQ2VpbGluZyAoNDhweC82MHB4KSBpcyB0aGUgZGVmYXVsdCBkZXNrdG9wIHNpemUg4oCUIHdhcyBvbmx5IHJlYWNoYWJsZVxuICAgIC8vIGFib3ZlIH45NjAvMTAwMHB4IHZpZXdwb3J0IGhlaWdodCwgc28gbW9zdCBsYXJnZSBzY3JlZW5zICg5MDBweC10YWxsXG4gICAgLy8gbGFwdG9wcy9kZXNrdG9wcyBpbmNsdWRlZCkgcmVhZCBzbWFsbGVyIHRoYW4gdGhlIGludGVuZGVkIDQ4cHggZGVmYXVsdC5cbiAgICAvLyBVcHBlZCB0aGUgbXVsdGlwbGllciBzbyB0aGUgY2VpbGluZyBsYW5kcyBhdCB0aGUgbW9yZSBjb21tb24gfjkwMHB4LlxuICAgIGZvbnQtc2l6ZTogY2xhbXAoI3tpYi1yZW0oMjRweCl9LCA1LjMzdmgsICN7aWItcmVtKDQ4cHgpfSk7XG4gICAgbGluZS1oZWlnaHQ6IGNsYW1wKCN7aWItcmVtKDMwcHgpfSwgNi42N3ZoLCAje2liLXJlbSg2MHB4KX0pO1xuXG4gICAgLy8gVGhlIHZpc2libGUgZ2FwIGRvd24gdG8gdGhlIGNhcmRzIG5vdyByZWFkcyBlbnRpcmVseSBvZmYgdGhpcyB2YWx1ZVxuICAgIC8vIChqdXN0aWZ5LWNvbnRlbnQgaXMgZmxleC1zdGFydCwgbm90IGNlbnRlcikg4oCUIHNpemVkIHVwIGZyb20gdGhlIG9sZFxuICAgIC8vIDE24oCTMzJweCBzbyB0aGUgaGVhZGluZyBhbmQgdGhlIHdoZWVsIGRvbid0IGZlZWwgbGlrZSB0aGV5J3JlIHRvdWNoaW5nLlxuICAgIC8vIEJ1bXBlZCBhZ2FpbiAod2FzIDI0LzV2aC80OCkg4oCUIF9fd2hlZWwgc2l0cyBhdCB0b3A6IC0yMHB4IHJlbGF0aXZlIHRvXG4gICAgLy8gX19zaG93Y2FzZSByaWdodCBiZWxvdywgd2hpY2ggd2FzIGVhdGluZyBpbnRvIHRoZSBtYXJnaW4gYW5kIHJlYWRpbmdcbiAgICAvLyBhcyBhbG1vc3Qgbm8gZ2FwIGF0IGFsbC5cbiAgICBtYXJnaW4tYm90dG9tOiBjbGFtcCgje2liLXJlbSgzMnB4KX0sIDh2aCwgI3tpYi1yZW0oODBweCl9KTtcbiAgfVxuXG4gICZfX2FjY2VudCB7XG4gICAgY29sb3I6ICRpYi1yZWQtYnJhbmQ7XG4gIH1cblxuICAvLyBTY3JvbGwtcGluIHdyYXBwZXIgZm9yIHRoZSBzaG93Y2FzZSByb3cgKGJhZGdlIGNhcmQgKyB3aGVlbCArIGNvbGxhZ2UpIOKAlFxuICAvLyBtaXJyb3JzIHRoZSBfX3pvb20tcnVud2F5L19fem9vbS1waW4gcGF0dGVybiBiZWxvdywgcGlucyB0aGUgcm93IGZ1bGwtaGVpZ2h0XG4gIC8vIHdoaWxlIHRoZSBydW53YXkgc3VwcGxpZXMgc2Nyb2xsIGRpc3RhbmNlIGZvciB0aGUgd2hlZWwncyByb3RhdGlvbi5cbiAgJl9fd2hlZWwtcnVud2F5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiA0MDB2aDtcbiAgfVxuXG4gIC8vIFN0aWNreSBsaWtlIHRoZSBmaXhlZCBoZWFkZXIg4oCUIGhlYWRpbmcgKyBzaG93Y2FzZSBhcmUgYm90aCBpbnNpZGUgdGhpcyBvbmVcbiAgLy8gcGlubmVkIGJveCwgc28gdGhleSBob2xkIG9uIHNjcmVlbiB0b2dldGhlciBmb3IgdGhlIHdob2xlIHdoZWVsIGN5Y2xlXG4gIC8vIGluc3RlYWQgb2YgdGhlIGhlYWRpbmcgc2Nyb2xsaW5nIGF3YXkgYmVmb3JlIHRoZSBjYXJkcyBldmVyIHBpbi5cbiAgJl9fd2hlZWwtcGluIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgLy8gZmxleC1zdGFydCAobm90IGNlbnRlcik6IHRoZSBoZWFkaW5nICsgc2hvd2Nhc2UgYXJlIGZhciBzaG9ydGVyIHRoYW5cbiAgICAvLyAxMDB2aCwgYW5kIGNlbnRlcmluZyB0aGUgd2hvbGUgZ3JvdXAgc3BsaXQgdGhlIGxlZnRvdmVyIHNwYWNlIGV2ZW5seVxuICAgIC8vIHRvcCBBTkQgYm90dG9tIOKAlCByZWFkaW5nIGFzIGEgaHVnZSBnYXAgYWJvdmUgdGhlIGhlYWRpbmcgYmVmb3JlIGFueVxuICAgIC8vIGNvbnRlbnQgYXBwZWFycy4gSHVnZ2luZyB0aGUgdG9wIG1lYW5zIHBhZGRpbmctdG9wIGlzIHRoZSBvbmx5IHRvcFxuICAgIC8vIG9mZnNldCAoc2l6ZWQgZm9yIGhlYWRlciBjbGVhcmFuY2UsIG5vdCBpbmZsYXRlZCBieSBjZW50ZXJpbmcgc2xhY2spLlxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQ6ICRpYi1iZy1wcmltYXJ5O1xuXG4gICAgLy8gU2FtZSBoZWFkZXItY2xlYXJhbmNlIGZsb29yIGFzIF9fem9vbS1waW4gKHJlYWwgZml4ZWQgaGVhZGVyIOKJiCA5MnB4KTtcbiAgICAvLyBzY2FsZXMgZG93biB3aXRoIHZpZXdwb3J0IGhlaWdodCBzbyBzaG9ydCBcImxhcHRvcC1oZWlnaHRcIiBzY3JlZW5zIGRvbid0XG4gICAgLy8gcHVzaCB0aGUgaGVhZGluZyArIGNhcmRzIHBhc3QgdGhlIDEwMHZoIGJveC4gUmFpc2VkIHRvIG1hdGNoIF9fem9vbS1waW4nc1xuICAgIC8vIDE2dmgvMTYwcHggKHdhcyAxNHZoLzE0MHB4KSDigJQgbGFwdG9wLWhlaWdodCB2aWV3cG9ydHMgKH44MDAtOTAwcHgpIHdlcmVcbiAgICAvLyBsYW5kaW5nIGNsb3NlIHRvIHRoZSBvbGQgZmxvb3IsIHJlYWRpbmcgYXMgdGhlIGhlYWRpbmcgc2l0dGluZyByaWdodFxuICAgIC8vIHVuZGVyIHRoZSBoZWFkZXIgd2l0aCBubyBicmVhdGhpbmcgcm9vbS5cbiAgICBwYWRkaW5nOiBjbGFtcCgje2liLXJlbSgxMjBweCl9LCAxOHZoLCAje2liLXJlbSgxNjBweCl9KSBpYi1yZW0oMjRweCkgaWItcmVtKDI0cHgpO1xuICB9XG5cbiAgLy8gU2hvd2Nhc2Ugcm93IOKAlCBiYWRnZSBjYXJkIHNpdHMgbGVmdC1vZi1jZW50cmUsIGNvbGxhZ2UgYmxlZWRzIG9mZiB0aGUgcmlnaHRcbiAgJl9fc2hvd2Nhc2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtd2lkdGg6IGliLXJlbSgkaWItY29udGFpbmVyLW1heCk7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWluLWhlaWdodDogaWItcmVtKDM2MHB4KTtcbiAgfVxuXG4gICZfX2JhZGdlLWNhcmQge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IGliLXJlbSgzMjBweCk7XG4gICAgaGVpZ2h0OiBpYi1yZW0oNDAwcHgpO1xuICAgIG1hcmdpbi1sZWZ0OiAxOCU7XG4gICAgYmFja2dyb3VuZDogJGliLWJnLXNlY29uZGFyeTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKHZhcigtLWNyLXBhcmFsbGF4LCAwKSkgcm90YXRlKC0uMzJkZWcpO1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG5cbiAgICBpbWcge1xuICAgICAgd2lkdGg6IGliLXJlbSgxODBweCk7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgIH1cbiAgfVxuXG4gICZfX3doZWVsIHtcbiAgICAvLyBDYXJkcyBhcmUgYWJzb2x1dGVseSBwb3NpdGlvbmVkIChub3QgY2xpcHBlZCBieSBfX3Nob3djYXNlJ3Mgb3duIGJveCksXG4gICAgLy8gc28gb24gYSBzaG9ydCBcImxhcHRvcC1oZWlnaHRcIiB2aWV3cG9ydCBub3RoaW5nIGVsc2Ugc2hyaW5rcyB0aGVtIOKAlCBjYXBcbiAgICAvLyB0aGUgaGVpZ2h0IGJ5IHZoIGRpcmVjdGx5IChhc3BlY3QgcmF0aW8gMC44IHByZXNlcnZlZCB2aWEgY2FsYykgc28gdGhlXG4gICAgLy8gd2hvbGUgZmFuIGZpdHMgaW5zaWRlIF9fd2hlZWwtcGluJ3MgYnVkZ2V0IGluc3RlYWQgb2Ygc3BpbGxpbmcgcGFzdCBpdC5cbiAgICAtLWNyLWNhcmQtaDogbWluKCN7aWItcmVtKDQwMHB4KX0sIDQydmgpO1xuICAgIC0tY3ItY2FyZC13OiBjYWxjKHZhcigtLWNyLWNhcmQtaCkgKiAuOCk7XG4gICAgLS1jci1yYWRpdXM6IDI2MDBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IGliLXJlbSgtMjBweCk7XG4gICAgei1pbmRleDogMjtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGNhbGModmFyKC0tY3ItY2FyZC1oKSArICN7aWItcmVtKDYwcHgpfSk7XG4gICAgcGVyc3BlY3RpdmU6IDIwMDBweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoY2FsYyh2YXIoLS1jci1wYXJhbGxheCwgMHB4KSAqIC0xLjQpKTtcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICAgIG9wYWNpdHk6IDA7IC8vIEpTIHJldmVhbHMgYWZ0ZXIgaW5pdGlhbCBsYXlvdXQgdG8gcHJldmVudCBmbGFzaCBvZiB1bi1wb3NpdGlvbmVkIGNhcmRzXG4gIH1cblxuICAmX193aGVlbC1zdGFnZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiB2YXIoLS1jci1yYWRpdXMpO1xuICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gIH1cblxuICAmX193aGVlbC1jYXJkIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IHZhcigtLWNyLWNhcmQtdyk7XG4gICAgaGVpZ2h0OiB2YXIoLS1jci1jYXJkLWgpO1xuICAgIG1hcmdpbjogMCAwIDAgY2FsYyh2YXIoLS1jci1jYXJkLXcpIC8gLTIpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSB2YXIoLS1jci1yYWRpdXMpO1xuICAgIHBlcnNwZWN0aXZlOiAxNDAwcHg7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgfVxuXG4gIC8vIDNEIGZsaXAgd3JhcHBlciDigJQgb3ZlcmZsb3cgTVVTVCBzdGF5IHZpc2libGUgaGVyZSAob3ZlcmZsb3c6aGlkZGVuIHdvdWxkXG4gIC8vIGZsYXR0ZW4gdGhlIDNEIGNvbnRleHQgYW5kIGtpbGwgdGhlIGZsaXApLCBzbyB0aGUgcm91bmRpbmcvY2xpcCBsaXZlcyBvbiB0aGUgZmFjZXMuXG4gICZfX3doZWVsLWlubmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgfVxuXG4gICZfX3doZWVsLWZhY2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAvLyBib3JkZXItcmFkaXVzOiAxNnB4OyAtLSBkaXNhYmxlZDogY2xpcHMgb2RkbHkgZHVyaW5nIHRoZSAzRCBmbGlwLCBtYXRjaGVzIGxpdmUgQ1NTXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kOiAkaWItYmctc2Vjb25kYXJ5O1xuXG4gICAgLy8gYm94LXNoYWRvdzogMCAyMnB4IDQ4cHggcmdiYSgwLCAwLCAwLCAwLjIyKTsgLS0gZGlzYWJsZWQsIG1hdGNoZXMgbGl2ZSBDU1NcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICAvLyBTb3VyY2UgaW1hZ2VzIGFyZSBwcmUtc2l6ZWQgdG8gdGhlIGNhcmQgYm94LCBzbyBjb250YWluIGp1c3QgZ3VhcmFudGVlc1xuICAgIC8vIHRoZXkgbmV2ZXIgc3RyZXRjaC9jcm9wIGlmIGEgc3RyYXkgYXNzZXQgY29tZXMgaW4gYSBkaWZmZXJlbnQgcmF0aW8uXG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gICZfX3doZWVsLWZhY2UtLWJhY2sge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWSgxODBkZWcpO1xuICAgIHBhZGRpbmc6IGliLXNwYWNlKDMyKTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG5cbiAgLy8gRmxleCBpdGVtICsgc3Bhbjogd2l0aG91dCBhbiBleHBsaWNpdCB3aWR0aC9taW4td2lkdGggdGhlIHRleHQgd291bGRcbiAgLy8gc2l6ZSB0byBpdHMgdW53cmFwcGVkIGNvbnRlbnQgaW5zdGVhZCBvZiB3cmFwcGluZyBpbnNpZGUgdGhlIGNhcmQuXG4gICZfX3doZWVsLWJhY2stdGV4dCB7XG4gICAgQGluY2x1ZGUgaWItdHlwZShcImJvZHktbWVkaXVtXCIpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIGNvbG9yOiAkaWItdGV4dC1wcmltYXJ5O1xuICAgIG1heC13aWR0aDogaWItcmVtKDIwNHB4KTtcbiAgfVxuXG4gICZfX2NvbGxhZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogaWItcmVtKC00MHB4KTtcbiAgICB0b3A6IGliLXJlbSgtMjBweCk7XG4gICAgd2lkdGg6IGliLXJlbSg2MjBweCk7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWShjYWxjKHZhcigtLWNyLXBhcmFsbGF4LCAwcHgpICogLTEuNCkpO1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gIH1cblxuICAmX19tZWRpYSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiBpYi1yZW0oLTQwcHgpO1xuICAgIHRvcDogaWItcmVtKC0yMHB4KTtcbiAgICB3aWR0aDogaWItcmVtKDU5MXB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoY2FsYyh2YXIoLS1jci1wYXJhbGxheCwgMHB4KSAqIC0xLjQpKTtcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICB9XG5cbiAgLy8g4pSA4pSAIE1hc2tlZCB2aWRlbyBib3gg4oCUIGFycm93IHNpbGhvdWV0dGUgdGhhdCBhdXRvLXpvb21zIHRvIGZ1bGwgdmlkZW8g4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gICZfX21lZGlhLWJveCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDU7XG5cbiAgICAvLyBQdXJlbHkgZGVjb3JhdGl2ZSAoYXV0b3BsYXlpbmcsIGNvbnRyb2xzPTAsIG5vIGNsaWNrIHN1cmZhY2UpIOKAlCBidXQgaXRzXG4gICAgLy8gc2Nyb2xsLWRyaXZlbiBpbmxpbmUgYHRyYW5zZm9ybTogc2NhbGUoKWAgZ3Jvd3MgaXQgd2VsbCBiZXlvbmQgaXRzIHJlc3RpbmdcbiAgICAvLyBib3gsIHNvIHdpdGhvdXQgdGhpcyBpdCBwaHlzaWNhbGx5IG92ZXJsYXBzIGFuZCBzdGVhbHMgY2xpY2tzIGZyb21cbiAgICAvLyBfX3pvb20taW50cm8ncyBoZWFkaW5nL0NUQSBhYm92ZSBpdCBvbiBzY3JvbGwtdXAsIGV2ZW4gb25jZSB0aGUgaW50cm8nc1xuICAgIC8vIG93biBvcGFjaXR5L3BvaW50ZXItZXZlbnRzIGhhdmUgYWxyZWFkeSByZXZlcnRlZCAodGhlIENTUyBmYWRlIGlzIHRpbWUtXG4gICAgLy8gYmFzZWQ7IHRoZSBhcnJvdydzIHNpemUgaXMgc2Nyb2xsLXBvc2l0aW9uLWJhc2VkLCBzbyBvbiByZXZlcnNlIHNjcm9sbCBpdCdzXG4gICAgLy8gc3RpbGwgbGFyZ2Ug4oCUIHN0aWxsIGNvdmVyaW5nIHRoZSBDVEEg4oCUIHRoZSBpbnN0YW50IGlzLXpvb21lZCBpcyByZW1vdmVkKS5cbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgIC8vIENlaWxpbmcgaXMgdGhlIGFydHdvcmsncyBvd24gbmF0dXJhbCBzaXplICg1OTHDlzMzOSwgbWF0Y2hpbmcgdGhlXG4gICAgLy8gYXNwZWN0LXJhdGlvIGJlbG93KSDigJQgb24gdGFsbC1lbm91Z2ggdmlld3BvcnRzIChyb3VnaGx5IOKJpTkyNHB4LCB3aGVyZVxuICAgIC8vIDY0dmggYWxvbmUgYWxyZWFkeSBleGNlZWRzIDU5MXB4KSB0aGlzIGlzIHRoZSBiaW5kaW5nIGJvdW5kLCBzbyBsYXJnZVxuICAgIC8vIGRlc2t0b3BzIHJlbmRlciB0aGUgYXJyb3cgYXQgaXRzIG9yaWdpbmFsIGZ1bGwgc2l6ZS5cbiAgICAvL1xuICAgIC8vIFRoaXJkIGJvdW5kICg2NHZoLCB3YXMgNzh2aCkgaXMgd2hhdCBhY3R1YWxseSBnaXZlcyB0aGUgZXh0cmEgYnJlYXRoaW5nXG4gICAgLy8gcm9vbTogb24gbW9yZSB0eXBpY2FsIFwibGFwdG9wLWhlaWdodFwiIGRlc2t0b3BzICh+NzAw4oCTODUwcHgpIGl0IGNhcHMgdGhlXG4gICAgLy8gYm94IHNtYWxsZXIgdGhhbiB0aGUgNTkxcHggY2VpbGluZyB3b3VsZCBhbG9uZSwgc28gdGhlIGFycm93IHJlYWRzXG4gICAgLy8gc21hbGxlciB0aGVyZSBhbmQgc3RvcHMgY3Jvd2RpbmcgdGhlIGhlYWRpbmcvQ1RBIGFib3ZlIGl0LCB3aXRob3V0XG4gICAgLy8gc2hyaW5raW5nIHRoZSBhbHJlYWR5LXNwYWNpb3VzIGxhcmdlLWRlc2t0b3AgY2FzZS5cbiAgICB3aWR0aDogbWluKCN7aWItcmVtKDU5MXB4KX0sIDkydncsIDY0dmgpO1xuICAgIGFzcGVjdC1yYXRpbzogNTkxIC8gMzM5O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcblxuICAgIC8vIHRoZSB6b29tIHRyYW5zaXRpb24gaXRzZWxmIGlzIGFwcGxpZWQgaW5saW5lIGJ5IEpTXG4gIH1cblxuICAvLyBIaWRkZW4gY2FycmllciBmb3IgdGhlIGRlc2t0b3AgYXJyb3cgPGNsaXBQYXRoPiAoc2VlIGNhcmVlcnMuaHRtbCkuIFplcm8tc2l6ZWRcbiAgLy8gKyBvdmVyZmxvdzogaGlkZGVuIHNvIGl0IHRha2VzIG5vIGxheW91dCBzcGFjZSDigJQgbmV2ZXIgYGRpc3BsYXk6IG5vbmVgLCB3aGljaFxuICAvLyBtYWtlcyBTYWZhcmkgZHJvcCB0aGUgY2xpcFBhdGggaXQgY29udGFpbnMuXG4gICZfX2NsaXAtZGVmcyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgLy8gVGhlIHZpZGVvIGxheWVyIOKAlCBhIHJlYWwgRE9NIDxkaXY+IGhvbGRpbmcgYSByZWFsIERPTSA8aWZyYW1lPiAoYW4gaWZyYW1lXG4gIC8vIGluc2lkZSBTVkcgPGZvcmVpZ25PYmplY3Q+IGlzIGJsYW5rIG9uIGlPUyBTYWZhcmkgYW5kIHBvaXNvbnMgdGhlIHJlc3Qgb2ZcbiAgLy8gdGhhdCA8c3ZnPikuIERlc2t0b3AgY2xpcHMgaXQgdG8gdGhlIGFycm93IHNpbGhvdWV0dGUgZm9yIHJlYWw7IOKJpDEwMjRweCB0aGVcbiAgLy8gY2xpcCBpcyBkcm9wcGVkIGVudGlyZWx5IChzZWUgdGhlIHRhYmxldCBibG9jaykgYW5kIF9fYXJyb3ctZnJhbWUgZHJhd3MgdGhlXG4gIC8vIGFycm93IGluc3RlYWQsIGJlY2F1c2UgTk8gc2Nyb2xsLWRyaXZlbiBjbGlwIOKAlCBjbGlwLXBhdGgsIFNWRyBtYXNrLCBhXG4gIC8vIHBlci1mcmFtZSBwYXRoKCksIG9yIHNjYWxpbmcgYSBjbGlwcGVkIGVsZW1lbnQg4oCUIHJlcGFpbnRzIG9uIGEgbW9iaWxlXG4gIC8vIHNjcm9sbC1VUDogdGhlIHZpZGVvIGdvZXMgYmxhbmsgb24gdGhlIHdheSBiYWNrIHVwLiBPbmx5IG9wYWNpdHkgYW5kIHRoZVxuICAvLyBib3gncyBvd24gdHJhbnNmb3JtIHN1cnZpdmUgYSByZXZlcnNlIHNjcm9sbCB0aGVyZS5cbiAgJl9fdmlkZW8tY2xpcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgY2xpcC1wYXRoOiB1cmwoXCIjY3ItY3VsdHVyZS1hcnJvdy1jbGlwXCIpO1xuXG4gICAgLy8gSWRsZSA9IHJlZCBvdXRsaW5lIG9ubHk7IGZhZGVzIGluIG9uY2UgdGhlIHN0YWdlIHN0YXJ0cyBwbGF5aW5nLiAwLjRzIHRvXG4gICAgLy8gbWF0Y2ggX19hcnJvdy1vdXRsaW5lJ3Mgb3duIGR1cmF0aW9uIGJlbG93IOKAlCBzYW1lIGNsYXNzIChpcy1wbGF5aW5nKSBkcml2ZXNcbiAgICAvLyBib3RoLCBvbmUgZmFkaW5nIGluIGFzIHRoZSBvdGhlciBmYWRlcyBvdXQsIHNvIGEgbWF0Y2hlZCBkdXJhdGlvbiBpcyB3aGF0XG4gICAgLy8gbWFrZXMgdGhhdCBoYW5kb2ZmIHJlYWQgYXMgYSBzaW5nbGUgY3Jvc3NmYWRlIGluc3RlYWQgb2YgdHdvIGluZGVwZW5kZW50bHktXG4gICAgLy8gdGltZWQgZmFkZXMgbGFuZGluZyBhdCBkaWZmZXJlbnQgbW9tZW50cy5cbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjRzIGVhc2U7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICAvLyBUaGUgWW91VHViZSBlbWJlZC4gSlMgb3ducyBsZWZ0L3RvcC93aWR0aC9oZWlnaHQg4oCUIHJlYWwgbGF5b3V0IGdlb21ldHJ5LCBuZXZlclxuICAvLyBhIGNlbnRyaW5nIHRyYW5zZm9ybSwgYW5kIGRlbGliZXJhdGVseSBubyBgd2lsbC1jaGFuZ2VgLiBBIFlvdVR1YmUgZW1iZWQgaXMgYW5cbiAgLy8gb3V0LW9mLXByb2Nlc3MgaWZyYW1lOiBnaXZlIGl0IGEgdHJhbnNmb3JtIG9mIGl0cyBvd24gYW5kIGl0cyBsYXlvdXQgYm94IG5vXG4gIC8vIGxvbmdlciBjb2luY2lkZXMgd2l0aCB3aGVyZSBpdCBwYWludHMsIGF0IHdoaWNoIHBvaW50IENocm9tZSdzIG9mZnNjcmVlblxuICAvLyB0aHJvdHRsaW5nIGNhbiBsZWF2ZSBpdHMgcmVuZGVyZXIgcGFya2VkIHdoZW4gdGhlIHBpbm5lZCBzdGFnZSBzY3JvbGxzIGJhY2tcbiAgLy8gaW50byB2aWV3ICh0aGUgdmlkZW8gcmVhZHMgYXMgYmxhbmsgc3BhY2UgdW50aWwgYW4gdW5yZWxhdGVkIHNjcm9sbCBmb3JjZXMgYVxuICAvLyBsaWZlY3ljbGUgdXBkYXRlKS4g4omkMTAyNHB4IGl0IHRoZXJlZm9yZSBoYXMgbm8gdHJhbnNmb3JtIGF0IGFsbCBhbmQgc2ltcGx5XG4gIC8vIHJpZGVzIHRoZSBtZWRpYSBib3g7IGRlc2t0b3AgY291bnRlci1zY2FsZXMgaXQgYWdhaW5zdCB0aGUgYm94IHpvb20gc28gdGhlXG4gIC8vIGZyYW1pbmcgbmV2ZXIgbW92ZXMgd2hpbGUgdGhlIGFycm93IHdpbmRvdyBncm93cyBhcm91bmQgaXQuXG4gICZfX3ZpZGVvLWZyYW1lIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyOiAwO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICAvLyBTVkcgb3ZlcmxheSDigJQgY3JlYW0gYXJyb3cgc2hlZXQgKG1vYmlsZSksIHJlZCBvdXRsaW5lLCBhcnJvdyBoaXQgdGFyZ2V0LlxuICAvLyBObyA8bWFzaz4sIG5vIDxmb3JlaWduT2JqZWN0PjogZXZlcnl0aGluZyBpbiBoZXJlIGhhcyB0byBwYWludCBvbiBpT1MuXG4gICZfX3ZpZGVvLXNoYXBlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgei1pbmRleDogMjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cblxuICAvLyDiiaQxMDI0cHggc3RhbmQtaW4gZm9yIHRoZSBkZXNrdG9wIGNsaXA6IGEgY3JlYW0gc2hlZXQgd2l0aCBhbiBhcnJvdy1zaGFwZWRcbiAgLy8gaG9sZS4gU2FtZSBjb2xvdXIgYXMgdGhlIHBpbm5lZCBzdGFnZSBiZWhpbmQgaXQsIHNvIGF0IHJlc3QgaXQgcmVhZHMgYXNcbiAgLy8gXCJub3RoaW5nIHRoZXJlIGJ1dCB0aGUgb3V0bGluZVwiLiBKUyBzY2FsZXMgaXQgYWJvdXQgYW4gaW50ZXJpb3IgYW5jaG9yXG4gIC8vIChPUklHSU5fVSkgd2l0aCBzY3JvbGwgc28gdGhlIGFycm93IGhvbGUgb3BlbnMgb3V0IGxlZnQvcmlnaHQgKyB1cC9kb3duIGludG9cbiAgLy8gdGhlIGZ1bGwgdmlkZW8g4oCUIG5vIGZhZGUsIG1hdGNoaW5nIHRoZSBkZXNrdG9wIHJldmVhbCwganVzdCBib3VuZGVkIHRvIHRoZVxuICAvLyBib3ggaW5zdGVhZCBvZiB0aGUgdmlld3BvcnQuIEhpZGRlbiBvbiBkZXNrdG9wLCB3aGljaCBjbGlwcyBmb3IgcmVhbCBpbnN0ZWFkLlxuICAmX19hcnJvdy1mcmFtZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBmaWxsOiAkaWItYmctcHJpbWFyeTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB0cmFuc2Zvcm0tYm94OiBmaWxsLWJveDsgLy8gSlMgYWxzbyBzZXRzIHRoaXMgaW5saW5lOyBkZWNsYXJlZCBoZXJlIHNvIHRoZVxuICAgIC8vIGZpcnN0IHNjYWxlZCBmcmFtZSBjYW4ndCByYWNlIHRoZSBpbmxpbmUgd3JpdGVcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICB9XG5cbiAgJl9fYXJyb3ctb3V0bGluZSB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNHMgZWFzZTtcbiAgfVxuXG4gIC8vIEFycm93LXNoYXBlZCBjbGljayB0YXJnZXQg4oCUIG11dGUvdW5tdXRlIHdvcmtzIGFueXdoZXJlIE9OIHRoZSBhcnJvd1xuICAvLyBzaWxob3VldHRlIChzbWFsbCwgYW5kIGV2ZXJ5IHNjYWxlZCBzdGVwIG9mIHRoZSB6b29tKSwgYnV0IE5PVCB0aGUgYmxhbmtcbiAgLy8gY29ybmVycyBvZiB0aGUgYm94IGFyb3VuZCBpdC4gUGFpbnRlZCAoZmlsbDogIzAwMCBpbiBtYXJrdXApIHNvIHRoZSBoaXRcbiAgLy8gdGVzdCBpcyBzb2xpZCwgdGhlbiBoaWRkZW4gd2l0aCBvcGFjaXR5IOKAlCBhbiBvcGFjaXR5OiAwIGVsZW1lbnQgaXMgc3RpbGxcbiAgLy8gY2xpY2thYmxlLCB1bmxpa2UgdmlzaWJpbGl0eTogaGlkZGVuLiBgcG9pbnRlci1ldmVudHM6IGZpbGxgIHJlLW9wdHMgaW5cbiAgLy8gdW5kZXIgX19tZWRpYS1ib3gncyBgcG9pbnRlci1ldmVudHM6IG5vbmVgIGFuZCBoaXQtdGVzdHMgdGhlIHdob2xlIGZpbGxcbiAgLy8gcmVnaW9uIHJlZ2FyZGxlc3Mgb2YgcGFpbnQuIEpTIGRyaXZlcyBpdHMgdHJhbnNmb3JtIChzY2FsZSBhYm91dCB0aGUgc2FtZVxuICAvLyBpbnRlcmlvciBhbmNob3IgYXMgdGhlIG1hc2sgd2luZG93KSBzbyBpdCBhbHdheXMgdHJhY2tzIHRoZSB2aXNpYmxlIHZpZGVvLlxuICAmX192aWRlby1oaXQge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IGZpbGw7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgLy8gRnVsbC12aWRlbyBjbGljayB0YXJnZXQg4oCUIG11dGUvdW5tdXRlIGFueXdoZXJlIE9OQ0UgdGhlIHZpZGVvIGhhcyByZWFjaGVkXG4gIC8vIGZ1bGwtYmxlZWQgXCJmdWxsc2NyZWVuXCIgKC5pcy1mdWxsLWJsZWVkKS4gQmVmb3JlIHRoYXQgdGhlIGFycm93LXNoYXBlZFxuICAvLyBfX3ZpZGVvLWhpdCBwYXRoIG93bnMgdGhlIGNsaWNrcy4gX19tZWRpYS1ib3ggaXRzZWxmIHN0YXlzXG4gIC8vIHBvaW50ZXItZXZlbnRzOiBub25lIChzZWUgaXRzIG93biBjb21tZW50IGFib3ZlLCBuZWVkZWQgc28gaXRzIGRlY29yYXRpdmVcbiAgLy8gYnVsayBuZXZlciBibG9ja3MgdGhlIF9fem9vbS1pbnRybyBDVEEpIOKAlCB0aGlzIHNoaWVsZCBvcHRzIGJhY2sgaW4gb24gaXRzXG4gIC8vIG93biwgYW5kIG9ubHkgd2hpbGUgZnVsbC1ibGVlZC5cbiAgJl9fdmlkZW8tc2hpZWxkIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgei1pbmRleDogMzsgLy8gYWJvdmUgX192aWRlby1jbGlwICgxKSBhbmQgX192aWRlby1zaGFwZSAoMilcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gICYtLXpvb20uaXMtZnVsbC1ibGVlZCAmX192aWRlby1zaGllbGQge1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICB9XG5cbiAgLy8gQXVkaW8gY29udHJvbCDigJQgYXV0aG9yZWQgYXMgYSBjaGlsZCBvZiBfX3pvb20tcGluIChzZWUgY2FyZWVycy5odG1sKSwgaXRzIGhvbWVcbiAgLy8gaW4gREVTS1RPUCAvIGNvdmVyIG1vZGU6IF9fbWVkaWEtYm94IGlzIHNjYWxlZCAyeCsgYnkgSlMgdGhlcmUsIGFuZCBhXG4gIC8vIGNvdW50ZXItc2NhbGVkIGNoaWxkIG9mIGl0IHN0aWxsIHJhc3Rlcml6ZXMgc29mdCAodGhlIHN1YnRyZWUgaXMgcmFzdGVyaXplZFxuICAvLyBvbmNlIGF0IHRoZSBvdXRlciwgYmxvd24tdXAgc2NhbGUgYmVmb3JlIHRoZSBpbm5lciBjb3VudGVyLXNjYWxlIHNhbXBsZXMgaXRcbiAgLy8gYmFjayBkb3duIOKAlCBuZXN0ZWQgb3Bwb3NpdGUtZGlyZWN0aW9uIHRyYW5zZm9ybXMgYmx1ciBpbiBldmVyeSBlbmdpbmUpLiBMaXZpbmdcbiAgLy8gb3V0c2lkZSB0aGF0IHRyYW5zZm9ybSBrZWVwcyB0aGUgaWNvbiBwaXhlbC1zaGFycCwgYW5kIF9fem9vbS1waW4gYmVpbmcgdGhlXG4gIC8vIHBpbm5lZCB2aWV3cG9ydC1maWxsaW5nIHN0YWdlIHRoZSBib3ggem9vbXMgSU5UTywgYSBwbGFpbiBib3R0b20tcmlnaHQgaW5zZXRcbiAgLy8gYWxyZWFkeSBsYW5kcyBpbiB0aGUgY29ybmVyIG9uY2UgdGhlIHZpZGVvIGlzIGZ1bGwtYmxlZWQuXG4gIC8vXG4gIC8vIOKJpDEwMjRweCAoZml0IG1vZGUpIGN1bHR1cmUtc2VjdGlvbi5qcyByZS1wYXJlbnRzIHRoaXMgYnV0dG9uIElOVE8gX19tZWRpYS1ib3g6XG4gIC8vIHRoZXJlIHRoZSBib3ggZ3Jvd3MgYnkgcmVhbCBgd2lkdGhgIHdpdGggTk8gdHJhbnNmb3JtLCBzbyBuZXN0aW5nIGlzIHNhZmUsIGFuZFxuICAvLyB0aGUgc2FtZSBib3R0b20vcmlnaHQgaW5zZXQgbm93IGFuY2hvcnMgdG8gdGhlIGJveCBpdHNlbGYg4oCUIHdoaWNoIGluIGZpdCBtb2RlXG4gIC8vIElTIHRoZSB2aXNpYmxlIHZpZGVvICh0aGUgMTY6OSBlbWJlZCBjb3ZlcnMgdGhlIDU5MTozMzkgYm94IHRvIGZ1bGwgaGVpZ2h0KSDigJRcbiAgLy8gc28gdGhlIHRvZ2dsZSB0cmFja3MgdGhlIHZpZGVvJ3MgcmVhbCBib3R0b20tcmlnaHQgY29ybmVyIGF0IGV2ZXJ5IHpvb20gc3RlcFxuICAvLyB3aXRoIHplcm8gdmlld3BvcnQgbWF0aCB0byBoYW5kLXR1bmUuIF9fbWVkaWEtYm94IGlzIHBvaW50ZXItZXZlbnRzOiBub25lLCBidXRcbiAgLy8gdGhlIGlzLWZ1bGwtYmxlZWQgcnVsZSBiZWxvdyBmbGlwcyB0aGlzIGJ1dHRvbiBiYWNrIHRvIHBvaW50ZXItZXZlbnRzOiBhdXRvLlxuICAvL1xuICAvLyBTaG93biBvbmx5IG9uY2UgdGhlIHZpZGVvIGhhcyBnZW51aW5lbHkgcmVhY2hlZCB0aGUgdmlld3BvcnQgY29ybmVyIChzZWVcbiAgLy8gJi0tem9vbS5pcy1mdWxsLWJsZWVkIGJlbG93IOKAlCBhIHN0cmljdGVyLCBsYXRlciB0aHJlc2hvbGQgdGhhbiBpcy16b29tZWRcbiAgLy8gYWJvdmUsIHdoaWNoIGZhZGVzIHRoZSBDVEEgb3V0IGEgYml0IGVhcmxpZXIpLiBCZWZvcmUgdGhhdCB0aGUgdmlkZW8gaXNcbiAgLy8gc3RpbGwgYXJyb3ctc2hhcGVkL21pZC16b29tIGFuZCB0aGlzIGZpeGVkIGNvcm5lciB3b3VsZG4ndCBzaXQgb24gaXQsIHNvXG4gIC8vIF9fdmlkZW8tc2hpZWxkIGFib3ZlIGlzIHRoZSBvbmx5IGNvbnRyb2wgb24gc2NyZWVuLiBObyB0cmFuc2l0aW9uIG9uXG4gIC8vIG9wYWNpdHkvdmlzaWJpbGl0eSDigJQgaXQgc25hcHMgaW4vb3V0IHRoZSBpbnN0YW50IHRoZSBjb3JuZXIgaXMgdG91Y2hlZCxcbiAgLy8gcmF0aGVyIHRoYW4gZmFkaW5nOyBwb2ludGVyLWV2ZW50cyBhbmQgdmlzaWJpbGl0eSBmbGlwIGluIHRoYXQgc2FtZVxuICAvLyBpbnN0YW50IHNvIGl0J3MgbmV2ZXIgdGFiYmFibGUgb3IgY2xpY2thYmxlIHdoaWxlIGludmlzaWJsZS5cbiAgJl9fYXVkaW8tdG9nZ2xlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IGliLXJlbSgyNHB4KTtcbiAgICBib3R0b206IGliLXJlbSgyNHB4KTtcbiAgICB6LWluZGV4OiAxMDsgLy8gYWJvdmUgdGhlIHdob2xlIF9fem9vbS1zdGFnZSBzdWJ0cmVlLCBpbmNsLiB0aGUgem9vbWVkIHZpZGVvXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiBpYi1yZW0oNDRweCk7XG4gICAgaGVpZ2h0OiBpYi1yZW0oNDRweCk7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKCRpYi1kYXJrLCAuNTUpO1xuICAgIGNvbG9yOiAkaWItY3JlYW0tbWlzdDtcbiAgICBmb250LXNpemU6IGliLXJlbSgxNnB4KTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuM3MgZWFzZTsgLy8gaG92ZXIvZm9jdXMgb25seSDigJQgc2hvdy9oaWRlIGlzIGluc3RhbnRcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGliLWRhcmssIC43OCk7XG4gICAgfVxuXG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IDJweCBzb2xpZCAkaWItY3JlYW0tbWlzdDtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gICAgfVxuICB9XG5cbiAgJi0tem9vbS5pcy1mdWxsLWJsZWVkICZfX2F1ZGlvLXRvZ2dsZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICB9XG5cbiAgJl9fYXVkaW8taWNvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgLmZhLXZvbHVtZS1oaWdoIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJl9fYXVkaW8tdG9nZ2xlOm5vdCguaXMtbXV0ZWQpICZfX2F1ZGlvLWljb24ge1xuICAgIC5mYS12b2x1bWUtaGlnaCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuZmEtdm9sdW1lLXhtYXJrIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gRGVjb3JhdGl2ZSBkYXJrIGdyYWRpZW50IHRoYXQgdXNlZCB0byBzaXQgb3ZlciB0aGUgYm90dG9tIG9mIHRoZSBzdGFnZVxuICAvLyAoYmVoaW5kIHRoZSBhcnJvdykg4oCUIGRyb3BwZWQgcGVyIHJlcXVlc3QsIG5vIHNoYWRvdyB3YW50ZWQgb3ZlciB0aGUgYXJyb3cuXG4gIC8vIExlZnQgaW4gdGhlIERPTSAoYXJpYS1oaWRkZW4pIGJ1dCB2aXN1YWxseSBpbmVydC5cbiAgJl9fem9vbS12aWduZXR0ZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIOKUgOKUgCBab29tIHN0YWdlIChzZWN0aW9uIDEpIOKAlCBzY3JvbGwtZHJpdmVuIGFycm93IOKGkiBmdWxsIHZpZGVvIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAmLS16b29tIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAvLyBUYWxsIHJ1bndheSBnaXZlcyB0aGUgc2Nyb2xsIGRpc3RhbmNlIHRoZSBwaW5uZWQgc3RhZ2Ugc2NydWJzIGFjcm9zcyDigJQgdGhlXG4gIC8vIGFycm93J3Mgc2NhbGUtdG8tY292ZXIgYW5pbWF0aW9uIGlzIHRpbWVkIHRvIGNvbXBsZXRlIGV4YWN0bHkgYXQgdGhlIHJ1bndheSdzXG4gIC8vIGxhc3QgcGl4ZWwgKHNlZSBjdWx0dXJlLXNlY3Rpb24uanMpLCBzbyBubyBzY3JvbGwgcm9vbSBpcyBzcGVudCBcImhlbGRcIiBhdFxuICAvLyBmdWxsLWJsZWVkIGJlZm9yZSB0aGUgcGluIHJlbGVhc2VzIGludG8gdGhlIG5leHQgc2VjdGlvbi5cbiAgJl9fem9vbS1ydW53YXkge1xuICAgIGhlaWdodDogMjUwdmg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgJl9fem9vbS1waW4ge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiAwO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC8vIFJlYWwgZml4ZWQgaGVhZGVyIGlzIH45MnB4ICgxMnB4IHRvcGJhciArIDgwcHggbmF2KSDigJQgMTAwcHggaXMgdGhlIGhhcmRcbiAgICAvLyBmbG9vciB0aGF0IGd1YXJhbnRlZXMgY2xlYXJhbmNlLiBBYm92ZSB0aGF0IGl0IHNjYWxlcyB3aXRoIHZpZXdwb3J0XG4gICAgLy8gaGVpZ2h0ICgxNnZoKSB1cCB0byB0aGUgc3BhY2lvdXMgMTYwcHggZGVza3RvcCBkZWZhdWx0LCBzbyBvbiBzaG9ydFxuICAgIC8vIFwibGFwdG9wLWhlaWdodFwiIHZpZXdwb3J0cyAofjcwMOKAkzg1MHB4KSB0aGUgcmVzZXJ2ZWQgYmFuZCBzaHJpbmtzIGluc3RlYWRcbiAgICAvLyBvZiBsZWF2aW5nIHRoZSBjZW50ZXJlZCBzdGFnZSBiZWxvdyB0b28gbGl0dGxlIHJvb20gYW5kIG92ZXJmbG93aW5nXG4gICAgLy8gdXB3YXJkIGludG8gdGhlIGhlYWRlciAoc2VlIF9fem9vbS1zdGFnZSBmb3IgdGhlIG1hdGNoaW5nIGhlaWdodCBidWRnZXQpLlxuICAgIHBhZGRpbmc6IGNsYW1wKCN7aWItcmVtKDEwMHB4KX0sIDE2dmgsICN7aWItcmVtKDE2MHB4KX0pIGliLXJlbSgyNHB4KSBpYi1yZW0oMjRweCk7XG4gICAgYmFja2dyb3VuZDogJGliLWJnLXByaW1hcnk7XG4gIH1cblxuICAmX196b29tLXN0YWdlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IGliLXJlbSg5MDBweCk7XG4gIH1cblxuICAmX196b29tLWludHJvIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNXMgZWFzZTtcbiAgICB3aWxsLWNoYW5nZTogb3BhY2l0eTtcblxuICAgIC8vIFNjb3BlZCBvdmVycmlkZSBvZiAuY3ItaGVyby1zZWN0aW9uX19oZWFkaW5nL19fY3RhICh0aGF0IGNvbXBvbmVudCdzIG93blxuICAgIC8vIHdyYXBwZXIgaXNuJ3QgaW4gdGhlIERPTSBoZXJlIOKAlCBvbmx5IHRoZXNlIGNoaWxkIGNsYXNzZXMgYXJlIHJldXNlZCkuXG4gICAgLy8gRGVza3RvcCdzIDcycHgvODBweCBoZWFkaW5nICsgNDBweCBDVEEgZ2FwIGlzIHNpemVkIGZvciB0YWxsIHZpZXdwb3J0cztcbiAgICAvLyBvbiBzaG9ydCBcImxhcHRvcC1oZWlnaHRcIiBzY3JlZW5zIGl0J3MgdGFsbGVyIHRoYW4gdGhlIF9fem9vbS1waW4gY29udGVudFxuICAgIC8vIGJ1ZGdldCwgYW5kIGEgZmxleC1jZW50ZXJlZCBib3ggb3ZlcmZsb3dzIGVxdWFsbHkgdG9wIEFORCBib3R0b20gd2hlbiBpdHNcbiAgICAvLyBjb250ZW50IGlzIHRvbyB0YWxsIOKAlCBwdXNoaW5nIHRoZSBoZWFkaW5nIHVwIHVuZGVyIHRoZSBoZWFkZXIgd2hpbGUgdGhlXG4gICAgLy8gYXJyb3cgZ2V0cyBjbGlwcGVkIGF0IHRoZSBib3R0b20gYnkgX196b29tLXBpbidzIG92ZXJmbG93OiBoaWRkZW4uIFNjYWxpbmdcbiAgICAvLyBib3RoIGJ5IHZpZXdwb3J0IGhlaWdodCAod2l0aCB0aGUgb3JpZ2luYWwgZGVza3RvcCB2YWx1ZXMgYXMgdGhlIGNlaWxpbmcpXG4gICAgLy8ga2VlcHMgdG90YWwgc3RhZ2UgaGVpZ2h0IGluc2lkZSAxMDB2aCBhdCBldmVyeSBoZWlnaHQsIG5vdCBqdXN0IGV2ZXJ5IHdpZHRoLlxuICAgIC5jci1oZXJvLXNlY3Rpb25fX2hlYWRpbmcge1xuICAgICAgLy8gQ2VpbGluZyAoNzJweC84MHB4KSBtYXRjaGVzIHRoZSBiYXNlIC5jci1oZXJvLXNlY3Rpb25fX2hlYWRpbmcncyBmaXhlZFxuICAgICAgLy8gZGVza3RvcCBzaXplIOKAlCB3YXMgcmVhY2hhYmxlIG9ubHkgYWJvdmUgfjEwMjhweCB2aWV3cG9ydCBoZWlnaHQgKDd2aCksXG4gICAgICAvLyBzbyBtb3N0IFwibGFyZ2VcIiBzY3JlZW5zICg5MDBweC10YWxsIGxhcHRvcHMvZGVza3RvcHMgaW5jbHVkZWQpIG5ldmVyXG4gICAgICAvLyBhY3R1YWxseSBoaXQgNzJweCBhbmQgcmVhZCBzbWFsbGVyIHRoYW4gdGhlIGJhc2UgaGVybyBoZWFkaW5nLiBVcHBlZFxuICAgICAgLy8gdGhlIG11bHRpcGxpZXIgc28gdGhlIGNlaWxpbmcgbGFuZHMgYXQgdGhlIG1vcmUgY29tbW9uIH45MDBweCBoZWlnaHQuXG4gICAgICBmb250LXNpemU6IGNsYW1wKCN7aWItcmVtKDI4cHgpfSwgOHZoLCAje2liLXJlbSg3MnB4KX0pO1xuICAgICAgbGluZS1oZWlnaHQ6IGNsYW1wKCN7aWItcmVtKDM0cHgpfSwgOC44OXZoLCAje2liLXJlbSg4MHB4KX0pO1xuICAgIH1cblxuICAgIC5jci1oZXJvLXNlY3Rpb25fX2N0YSB7XG4gICAgICBtYXJnaW4tdG9wOiBjbGFtcCgje2liLXJlbSgzMnB4KX0sIDN2aCwgI3tpYi1yZW0oNDhweCl9KTtcbiAgICB9XG4gIH1cblxuICAmLS16b29tICZfX21lZGlhLWJveCB7XG4gICAgbWFyZ2luLXRvcDogY2xhbXAoI3tpYi1yZW0oMjRweCl9LCA1dmgsICN7aWItcmVtKDgwcHgpfSk7XG4gICAgbWFyZ2luLWJvdHRvbTogY2xhbXAoI3tpYi1yZW0oMjRweCl9LCA1dmgsICN7aWItcmVtKDgwcHgpfSk7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gIH1cblxuICAvLyBTdGVwIDIg4oCUIGFzIHRoZSBzdGFnZSBlbnRlcnMgdmlldzogdGhlIHZpZGVvIGZhZGVzIGluIGluc2lkZSB0aGUgYXJyb3csIGFuZFxuICAvLyB0aGUgcmVkIGFycm93IG91dGxpbmUgZmFkZXMgYXdheSBvbmNlIHBsYXliYWNrIGhhcyBzdGFydGVkLlxuICAmLS16b29tLmlzLXBsYXlpbmcgJl9fdmlkZW8tY2xpcCB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gICYtLXpvb20uaXMtcGxheWluZyAmX19hcnJvdy1vdXRsaW5lIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgLy8gU3RlcCAzIOKAlCBzY3JvbGwgcHJvZ3Jlc3Mgc2NhbGVzIHRoZSBtYXNrIChKUywgYWJvdXQgYW4gaW50ZXJpb3IgYW5jaG9yIHBvaW50KVxuICAvLyB1bnRpbCB0aGUgYXJyb3cgc2lsaG91ZXR0ZSBzd2VlcHMgcGFzdCBldmVyeSB2aWV3cG9ydCBlZGdlOyB0aGUgbWFza2VkIHZpZGVvXG4gIC8vIHN0YXlzIHBpbm5lZCB0byB0aGUgdmlld3BvcnQgdW5kZXJuZWF0aCwgc28gd2Ugb25seSBmYWRlIHRoZSBzdXJyb3VuZGluZyBjaHJvbWUuXG4gICYtLXpvb20uaXMtem9vbWVkIC5jci1jdWx0dXJlLXNlY3Rpb25fX3pvb20taW50cm8ge1xuICAgIG9wYWNpdHk6IDA7XG5cbiAgICAvLyBzdGVwLWVuZCBob2xkcyBwb2ludGVyLWV2ZW50cyBhdCBpdHMgcHJldmlvdXMgdmFsdWUgKGF1dG8pIGZvciB0aGUgZnVsbFxuICAgIC8vIG9wYWNpdHkgZmFkZSwgb25seSBzd2l0Y2hpbmcgdG8gbm9uZSBvbmNlIG9wYWNpdHkgaGFzIGFjdHVhbGx5IHJlYWNoZWRcbiAgICAvLyAwIOKAlCBvdGhlcndpc2UgdGhlIGhlYWRpbmcvQ1RBIGdvIHVuc2VsZWN0YWJsZS91bmNsaWNrYWJsZSB0aGUgaW5zdGFudFxuICAgIC8vIC5pcy16b29tZWQgaXMgYWRkZWQsIHdoaWxlIHN0aWxsIGZ1bGx5IHZpc2libGUgbWlkLWZhZGUuXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNXMgZWFzZSwgcG9pbnRlci1ldmVudHMgLjVzIHN0ZXAtZW5kO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgLy8g4pSA4pSAIENvbnRlbnQgcmV2ZWFsIChzZWN0aW9uIDIpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAmLS1jb250ZW50IHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoaWItcmVtKDMycHgpKTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC43cyBjdWJpYy1iZXppZXIoLjE2LCAxLCAuMywgMSksXG4gICAgICB0cmFuc2Zvcm0gLjdzIGN1YmljLWJlemllciguMTYsIDEsIC4zLCAxKSxcbiAgICAgIHZpc2liaWxpdHkgLjdzO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vIOKUgOKUgCBNb2JpbGUgKyB0YWJsZXQgKOKJpDEwMjRweCkg4oCUIG1vYmlsZSBsYXlvdXQsIHNhbWUgaGFuZG9mZiBhcyBvdGhlciBwYWdlcyDilIDilIBcbiAgQGluY2x1ZGUgcmVzcG9uZC10bygkaWItYnAtdGFibGV0KSB7XG4gICAgcGFkZGluZzogaWItcmVtKDI0cHgpIDAgaWItcmVtKDcycHgpO1xuXG4gICAgJi0tem9vbSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC8vIEtlZXAgdGhlIHNjcm9sbCBydW53YXkgdGFsbCBlbm91Z2ggZm9yIHRoZSBhbmltYXRpb24sIGJ1dCBzaG9ydGVyIHRoYW4gZGVza3RvcC5cbiAgICAvLyBXYXMgNDAwdmgg4oCUIHRyaW1tZWQgdG8gc2hvcnRlbiBob3cgbXVjaCBzY3JvbGwgdGhlIHJldmVhbCBkZW1hbmRzIGJlZm9yZVxuICAgIC8vIHJlbGVhc2luZyBpbnRvIHNlY3Rpb24gMjsgcmV0dW5lIGZyZWVseSwgaXQncyBpbmRlcGVuZGVudCBvZiBldmVyeXRoaW5nIGVsc2UuXG4gICAgJl9fem9vbS1ydW53YXkge1xuICAgICAgaGVpZ2h0OiAyODB2aDtcbiAgICB9XG5cbiAgICAvLyBLZWVwIHN0aWNreSBwaW5uaW5nIGFjdGl2ZSBvbiBtb2JpbGUgc28gc2Nyb2xsLWRyaXZlbiB6b29tIHdvcmtzLlxuICAgIC8vIDE0MHB4LzEyMHB4IG1pcnJvcnMgY2QtaGVyby1zZWN0aW9uJ3MgdGFibGV0L21vYmlsZSB0b3Agb2Zmc2V0cyDigJRcbiAgICAvLyA4MHB4IGxlZnQgdGhlIGhlYWRpbmcgc2l0dGluZyB1bmRlciB0aGUgZml4ZWQgaGVhZGVyIG9uIHRhYmxldHMvcGhvbmVzLlxuICAgICZfX3pvb20tcGluIHtcbiAgICAgIHBhZGRpbmc6IGliLXJlbSgxNDBweCkgaWItcmVtKDE2cHgpIGliLXJlbSgyNHB4KTtcbiAgICB9XG5cbiAgICAvLyBNaXJyb3JzIF9fem9vbS1waW4ncyB0YWJsZXQvbW9iaWxlIGhlYWRlci1jbGVhcmFuY2Ugb2Zmc2V0cyDigJQgdGhlIGhlYWRpbmdcbiAgICAvLyBub3cgbGl2ZXMgaW5zaWRlIHRoaXMgcGluIHRvbywgc28gaXQgbmVlZHMgdGhlIHNhbWUgdG9wIGNsZWFyYW5jZS5cbiAgICAvLyBTaWRlIHBhZGRpbmcgaXMgMjRweCAobm90IF9fem9vbS1waW4ncyAxNnB4KSDigJQgdGhlIGNhcmQgc2l0cyBpbnNpZGUgdGhpc1xuICAgIC8vIGJveCBlZGdlLXRvLWVkZ2UgdmlhIC53aGVlbCdzIGZ1bGwtYmxlZWQgbGVmdC9yaWdodDogMCwgc28gdGhpcyBpcyB0aGVcbiAgICAvLyBvbmx5IHRoaW5nIGdpdmluZyBpdCBicmVhdGhpbmcgcm9vbSBvZmYgdGhlIGFjdHVhbCBzY3JlZW4gZWRnZTsgMTZweFxuICAgIC8vIHJlYWQgYXMgZmx1c2gvbm8gcGFkZGluZyBhdCBhbGwuXG4gICAgJl9fd2hlZWwtcGluIHtcbiAgICAgIHBhZGRpbmc6IGliLXJlbSgxNDBweCkgaWItcmVtKDI0cHgpIGliLXJlbSgyNHB4KTtcbiAgICB9XG5cbiAgICAvLyBUaGUgYXVkaW8gdG9nZ2xlJ3Mg4omkMTAyNHB4IHBvc2l0aW9uIGlzIGhhbmRsZWQgYnkgcmUtcGFyZW50aW5nIGl0IGludG9cbiAgICAvLyBfX21lZGlhLWJveCAoY3VsdHVyZS1zZWN0aW9uLmpzIHN5bmNBdWRpb1RvZ2dsZUhvbWUpIHNvIHRoZXNlIGluc2V0cyBhbmNob3JcbiAgICAvLyB0byB0aGUgYm94LCBpLmUuIHRoZSB2aXNpYmxlIHZpZGVvJ3MgcmVhbCBjb3JuZXIg4oCUIG5vIHZpZXdwb3J0LXVuaXRcbiAgICAvLyBjb3JyZWN0aW9uIChhbiBlYXJsaWVyIGBjYWxjKE52aCAtIDI4LjY4dncg4oCmKWAgZ3Vlc3Mgd2FzIGJyaXR0bGUpLiBBIGxpdHRsZVxuICAgIC8vIHR1Y2tlZCB0aWdodCBpbnRvIHRoZSB2aWRlbydzIGJvdHRvbS1yaWdodCBjb3JuZXIgb24gc21hbGxlciBzY3JlZW5zLlxuICAgICZfX2F1ZGlvLXRvZ2dsZSB7XG4gICAgICByaWdodDogaWItcmVtKDEwcHgpO1xuICAgICAgYm90dG9tOiBpYi1yZW0oMTBweCk7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRpYi1icC1tb2JpbGUpIHtcbiAgICAgICZfX3pvb20tcGluIHtcbiAgICAgICAgcGFkZGluZy10b3A6IGliLXJlbSgxMjBweCk7XG4gICAgICB9XG5cbiAgICAgICZfX3doZWVsLXBpbiB7XG4gICAgICAgIHBhZGRpbmctdG9wOiBpYi1yZW0oMTIwcHgpO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX3pvb20tc3RhZ2Uge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgICAvLyBWZXJ0aWNhbCBjZW50cmluZyBmb3IgdGhlIGdyb3dpbmcgYm94LCBkb25lIEVOVElSRUxZIGluIENTUy4gQSBKUy1kcml2ZW5cbiAgICAgIC8vIGB0b3BgIHdyaXRlIG9uIF9fbWVkaWEtYm94ICh0cmllZCBhbmQgcmV2ZXJ0ZWQpIHJlY3JlYXRlZCB0aGUgZXhhY3Qgc2FtZVxuICAgICAgLy8gQW5kcm9pZCByZXBhaW50IGJ1ZyB0aGUgYHRyYW5zZm9ybWAtYmFzZWQgdmVyc2lvbiBoYWQg4oCUIGl0IHR1cm5zIG91dCBBTllcbiAgICAgIC8vIGFuaW1hdGVkIHBvc2l0aW9uaW5nIG9mIHRoZSB2aWRlbydzIGFuY2VzdG9yIGNhbiByZXRyaWdnZXIgaXQsIG5vdCBvbmx5XG4gICAgICAvLyBgdHJhbnNmb3JtYCBzcGVjaWZpY2FsbHkuIGp1c3RpZnktY29udGVudDogY2VudGVyIGluc3RlYWQgcmVjZW50cmVzIHRoZVxuICAgICAgLy8gd2hvbGUgaW50cm8rYm94IGdyb3VwIGFzIGEgc2lkZSBlZmZlY3Qgb2YgdGhlIHJlZmxvdyB0aGUgYm94J3MgT1dOIHdpZHRoXG4gICAgICAvLyBjaGFuZ2UgKHNlZSBfX21lZGlhLWJveCwgYW5kIGN1bHR1cmUtc2VjdGlvbi5qcykgYWxyZWFkeSBjYXVzZXMgb24gaXRzXG4gICAgICAvLyBvd24g4oCUIG5vdGhpbmcgZXh0cmEgZXZlciB0YXJnZXRzIHRoZSBib3gncyBwb3NpdGlvbi5cbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgICAvLyBDb2xsYXBzaWJsZSBpbnRybyDigJQgb24g4omkMTAyNHB4IChmaXQgbW9kZSkgdGhlIG1lZGlhIGJveCBncm93cyBieSByZWFsXG4gICAgLy8gYHdpZHRoYCBhbmQgaXMgcmUtY2VudHJlZCBwdXJlbHkgYnkgdGhlIHJlZmxvdyB0aGF0IGdyb3d0aCBjYXVzZXMuIFRoZVxuICAgIC8vIGludHJvIGZhZGVkIG91dCB3aXRoIG9wYWNpdHkgYWxvbmUgYnV0IGtlcHQgaXRzIGZ1bGwgbGF5b3V0IGhlaWdodCwgc29cbiAgICAvLyB0aGUgYm94IHN0YXllZCBwaW5uZWQgbG93IHdpdGggYSBibGFuayBiYW5kIHdoZXJlIHRoZSAobm93IGludmlzaWJsZSlcbiAgICAvLyBoZWFkaW5nIHN0aWxsIHNhdC4gV3JhcHBpbmcgdGhlIGhlYWRpbmcvQ1RBIGluIF9fem9vbS1pbnRyby1pbm5lciBhbmRcbiAgICAvLyBydW5uaW5nIF9fem9vbS1pbnRybyBhcyBhIGNvbGxhcHNpbmcgZ3JpZCByb3cgbGV0cyB0aGF0IGhlaWdodCBmYWxsIHRvIDBcbiAgICAvLyBhcyBpdCBmYWRlcyDigJQgdGhlIGJveCBzbGlkZXMgdXAgdG8gdGhlIHRydWUgY2VudHJlIG9mIHRoZSBwaW5uZWQgc3RhZ2Ugb25cbiAgICAvLyB0aGUgU0FNRSByZWZsb3csIHNvIG5vdGhpbmcgbmV3IGV2ZXIgdG91Y2hlcyB0aGUgdmlkZW8ncyBhbmNlc3RvcnMuXG4gICAgJl9fem9vbS1pbnRybyB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC41cyBlYXNlLCBncmlkLXRlbXBsYXRlLXJvd3MgLjVzIGVhc2U7XG4gICAgfVxuXG4gICAgJl9fem9vbS1pbnRyby1pbm5lciB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgbWluLWhlaWdodDogMDtcbiAgICB9XG5cbiAgICAmLS16b29tLmlzLXpvb21lZCAmX196b29tLWludHJvIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMGZyO1xuICAgICAgLy8gUmUtZGVjbGFyZSB0aGUgdHJhbnNpdGlvbiAodGhlIGJhc2UgLmlzLXpvb21lZCBydWxlIGRyb3BzXG4gICAgICAvLyBncmlkLXRlbXBsYXRlLXJvd3MgZnJvbSBpdHMgbGlzdCkgc28gdGhlIGNvbGxhcHNlIGVhc2VzIGluIHN0ZXAgd2l0aFxuICAgICAgLy8gdGhlIGZhZGUgaW5zdGVhZCBvZiBzbmFwcGluZyBzaHV0IHdoZW4gLmlzLXpvb21lZCBpcyBhZGRlZC5cbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjVzIGVhc2UsXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93cyAuNXMgZWFzZSxcbiAgICAgICAgcG9pbnRlci1ldmVudHMgLjVzIHN0ZXAtZW5kO1xuICAgIH1cblxuICAgIC8vIEtpbGwgdGhlIGdhcCBiZWxvdyB0aGUgY29sbGFwc2VkIGludHJvIHRvbywgb3IgaXQgc3RpbGwgbnVkZ2VzIHRoZSBib3hcbiAgICAvLyB+NXZoIGJlbG93IHRoZSBzdGFnZSBjZW50cmUuXG4gICAgJi0tem9vbS5pcy16b29tZWQgJl9fbWVkaWEtYm94IHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBtYXJnaW4tdG9wIC41cyBlYXNlO1xuICAgIH1cblxuICAgICZfX21lZGlhLWJveCB7XG4gICAgICAvLyBTY2FsZWQgZG93biB0byBtYXRjaCB0aGUgZGVza3RvcCByZWR1Y3Rpb24gYWJvdmUgKHdhcyAzNDBweC85MnZ3KS5cbiAgICAgIHdpZHRoOiBtaW4oI3tpYi1yZW0oMjgwcHgpfSwgNzh2dyk7XG4gICAgICBtYXJnaW4tdG9wOiBpYi1yZW0oMjRweCk7XG5cbiAgICAgIC8vIEtpbGwgdGhlIGJhc2UgYG1hcmdpbjogMCBhdXRvYC4gT25jZSBKUyBncm93cyB0aGlzIGJveCdzIGB3aWR0aGAgcGFzdCB0aGVcbiAgICAgIC8vIHBhZGRlZCBzdGFnZSBpdCBiZWNvbWVzIGEgZmxleCBpdGVtIFdJREVSIHRoYW4gaXRzIGNvbnRhaW5lciwgYW5kIHdpdGhcbiAgICAgIC8vIGF1dG8gY3Jvc3MtYXhpcyBtYXJnaW5zIHN0aWxsIGluIHBsYXkgQ2hyb21lL1NhZmFyaSByZXNvbHZlIHRoYXQgb3ZlcmZsb3dcbiAgICAgIC8vIHRvIGZsZXgtU1RBUlQg4oCUIHRoZSBib3ggcGlucyB0byB0aGUgc3RhZ2UncyBsZWZ0IGVkZ2UgYW5kIHNwaWxscyBvZmYgdGhlXG4gICAgICAvLyBSSUdIVCBvbmx5ICh2aWRlbyBmbHVzaCByaWdodCwgZ2FwIG9uIHRoZSBsZWZ0KS4gWmVyb2luZyB0aGUgaW5saW5lXG4gICAgICAvLyBtYXJnaW5zIGhhbmRzIGNlbnRyaW5nIGJhY2sgdG8gYC56b29tLXN0YWdlYCdzIGFsaWduLWl0ZW1zOiBjZW50ZXIsIHdoaWNoXG4gICAgICAvLyBzcGxpdHMgdGhlIG92ZXJmbG93IGVxdWFsbHkgYm90aCBzaWRlcyBzbyB0aGUgYm94IHJlYWNoZXMgdHJ1ZSBmdWxsLWJsZWVkLlxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG5cbiAgICAgIC8vIE5vIGxpdmUgdHJhbnNmb3JtLCBubyBgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybWAsIGFyb3VuZCB0aGUgdmlkZW8gb24gbW9iaWxlXG4gICAgICAvLyBBVCBBTEwg4oCUIHRoYXQncyB0aGUgc2Nyb2xsLVVQIGZpeC4gSlMgZ3Jvd3MgdGhpcyBib3ggd2l0aCByZWFsIGB3aWR0aGBcbiAgICAgIC8vIChjdWx0dXJlLXNlY3Rpb24uanMpIGluc3RlYWQgb2YgYHRyYW5zZm9ybTogc2NhbGUoKWA7IGEgbGl2ZSB0cmFuc2Zvcm0gb25cbiAgICAgIC8vIEFOWSBhbmNlc3RvciBvZiB0aGUgZW1iZWRkZWQgWW91VHViZSBpZnJhbWUgaXMgd2hhdCBtYWtlcyBBbmRyb2lkIENocm9tZVxuICAgICAgLy8gc3RvcCByZXBhaW50aW5nIGl0IG9uIGEgcmV2ZXJzZSBzY3JvbGwgKHNlZSB0aGUgZmlsZS1oZWFkZXIgY29tbWVudCkuXG4gICAgICB3aWxsLWNoYW5nZTogYXV0bztcbiAgICB9XG5cbiAgICAvLyBNb2JpbGUgcmV2ZWFsOiB0aGUgdmlkZW8gaXMgYSBwbGFpbiB1bmNsaXBwZWQgcmVjdGFuZ2xlIHRoYXQgc2ltcGx5IHJpZGVzXG4gICAgLy8gdGhlIGJveCB6b29tOyB0aGUgYXJyb3cgb3BlbnMgYnkgU0NBTElORyB0aGUgb3BhcXVlIF9fYXJyb3ctZnJhbWUgY3JlYW1cbiAgICAvLyBzaGVldCBPTiBUT1Agb2YgaXQgKEpTKSwgbmV2ZXIgYnkgY2xpcHBpbmcgdGhlIHZpZGVvLiBFdmVyeSBjbGlwLWJhc2VkXG4gICAgLy8gYWx0ZXJuYXRpdmUgKHRoaXMgY2xpcC1wYXRoLCBhbiBTVkcgbWFzayBvbiB0aGUgdmlkZW8sIGEgcGVyLWZyYW1lIHBhdGgoKSxcbiAgICAvLyBjbGlwcGluZyB0aGUgYm94IGl0c2VsZikgcmVuZGVycyBvbiB0aGUgd2F5IERPV04gYW5kIHRoZW4gZ29lcyBibGFuayBvbiB0aGVcbiAgICAvLyB3YXkgYmFjayBVUCBvbiBBbmRyb2lkL2lPUyDigJQgdGhlIGNvbXBvc2l0b3IgbmV2ZXIgcmUtcmFzdGVyaXNlcyB0aGUgY2xpcHBlZFxuICAgIC8vIGlmcmFtZSBsYXllciBpbiByZXZlcnNlLiBEbyBub3QgcmVpbnN0YXRlIGEgY2xpcCBoZXJlIOKAlCBzY2FsZSB0aGUgb3ZlcmxheVxuICAgIC8vIHNoZWV0IGluc3RlYWQuXG4gICAgJl9fdmlkZW8tY2xpcCB7XG4gICAgICBjbGlwLXBhdGg6IG5vbmU7XG4gICAgfVxuXG4gICAgJl9fYXJyb3ctZnJhbWUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJi0tY29udGVudCB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG5cbiAgICAmX19oZWFkaW5nIHtcbiAgICAgIEBpbmNsdWRlIGliLXR5cGUoXCJoZWFkbGluZS13ZWItc21hbGxcIik7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogaWItcmVtKDQwcHgpO1xuICAgIH1cblxuICAgIC8vIFpvb20tc3RhZ2UgaGVhZGluZyAoc2VjdGlvbiAxKSByZXVzZXMgLmNyLWhlcm8tc2VjdGlvbl9faGVhZGluZyDigJQgc2NvcGVkXG4gICAgLy8gb3ZlcnJpZGUgZm9yIGl0cyBtb2JpbGUgc2l6ZSwgZGlzdGluY3QgZnJvbSBfX2hlYWRpbmcgYWJvdmUgKHNlY3Rpb24gMikuXG4gICAgJl9fem9vbS1pbnRybyAuY3ItaGVyby1zZWN0aW9uX19oZWFkaW5nIHtcbiAgICAgIEBpbmNsdWRlIGliLXR5cGUoXCJkaXNwbGF5LW1vYmlsZS1sYXJnZVwiKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgfVxuXG4gICAgLy8gUnVud2F5L3BpbiBzdGF5IHN0aWNreSBvbiBtb2JpbGUgdG9vIOKAlCB0aGUgc2Nyb2xsLWRyaXZlbiB3aGVlbCByb3RhdGlvblxuICAgIC8vIChhc3NldHMvanMvcGFnZXMvY2FyZWVycy9jdWx0dXJlLXNlY3Rpb24uanMgb25TY3JvbGxXaGVlbCkgbmVlZHMgdGhlXG4gICAgLy8gcnVud2F5IHRhbGxlciB0aGFuIHRoZSB2aWV3cG9ydCB0byBjb21wdXRlIHNjcm9sbCBwcm9ncmVzcywgYW5kIHRoZSBwaW5cbiAgICAvLyBuZWVkcyB0byBzdGF5IGBwb3NpdGlvbjogc3RpY2t5YCBmb3IgdGhlIGZhbiB0byBob2xkIGluIHBsYWNlIHdoaWxlIGl0XG4gICAgLy8gY3ljbGVzLiBGYWxsaW5nIGJhY2sgdG8gYHN0YXRpY2AvYGF1dG9gIGhlcmUgYnJlYWtzIHRoZSBpbnRlcmFjdGlvblxuICAgIC8vIGVudGlyZWx5IChwcm9ncmVzcyBpcyBhbHdheXMgcmVhZCBhcyAwKS5cblxuICAgIC8vIC5zaG93Y2FzZSBpcyBhIGZsZXggaXRlbSBpbnNpZGUgLndoZWVsLXBpbiwgbm93IHNoYXJpbmcgdGhhdCBjb2x1bW4gd2l0aFxuICAgIC8vIHRoZSBoZWFkaW5nIGFib3ZlIGl0LiBXaXRoIC53aGVlbCBhYnNvbHV0ZWx5IHBvc2l0aW9uZWQsIC5zaG93Y2FzZSBoYXMgbm9cbiAgICAvLyBpbi1mbG93IGNvbnRlbnQgb2YgaXRzIG93biwgc28gYXMgYSBmbGV4IGl0ZW0gaXQgc2hyaW5rcyB0byAww5cwIHVubGVzc1xuICAgIC8vIGdpdmVuIGFuIGV4cGxpY2l0IHNpemUg4oCUIHRoYXQgaW4gdHVybiBjb2xsYXBzZXMgLndoZWVsJ3MgYGxlZnQvcmlnaHRgLVxuICAgIC8vIHN0cmV0Y2hlZCB3aWR0aCwgc2luY2UgaXQgdXNlcyAuc2hvd2Nhc2UgYXMgaXRzIGNvbnRhaW5pbmcgYmxvY2suXG4gICAgLy8gZmxleDogMSAxIGF1dG8gKG5vdCBoZWlnaHQ6IDEwMCUpIGxldHMgaXQgY2xhaW0gdGhlIHNwYWNlIGxlZnQgb3ZlclxuICAgIC8vIGFmdGVyIHRoZSBoZWFkaW5nLCBpbnN0ZWFkIG9mIG92ZXJsYXBwaW5nIGl0LlxuICAgICZfX3Nob3djYXNlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICBtaW4taGVpZ2h0OiAwO1xuICAgIH1cblxuICAgICZfX2JhZGdlLWNhcmQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gU2hvcnRlciB0aGFuIHRoZSBkZXNrdG9wL2Jhc2UgNDAwdmgg4oCUIG1vYmlsZSBvbmx5IGV2ZXIgc2hvd3Mgb25lIGNhcmQgYXRcbiAgICAvLyBhIHRpbWUgKHRoZSBmYW4ncyBzaWRlIGNhcmRzIHN3aW5nIG9mZi1zY3JlZW4gYWxtb3N0IGltbWVkaWF0ZWx5IG9uIGFcbiAgICAvLyBuYXJyb3cgdmlld3BvcnQpLCBzbyB0aGUgZnVsbCBzY3JvbGwgZGlzdGFuY2UgaXNuJ3QgbmVlZGVkIHRvIHJlYWQgdGhlXG4gICAgLy8gY3ljbGUuIDE4MHZoICjiiYgzMHZoL2NhcmQpIHdhcyB0b28gZmFzdCB0byBjYXRjaCB0aGUgYmFjay1mYWNlIGZsaXA7IDI0MHZoXG4gICAgLy8gKOKJiDQwdmgvY2FyZCkgc3RpbGwgcmVhZCBhcyB0b28gZmFzdCB0byByZWdpc3RlciBlYWNoIGNhcmQuIDMwMHZoXG4gICAgLy8gKOKJiDUwdmgvY2FyZCkgZ2l2ZXMgbW9yZSBkd2VsbCBwZXIgY2FyZCDigJQgdGhlIGZhbidzIGFuZ3VsYXIgc3RlcCBhbHNvXG4gICAgLy8gZHJvcHBlZCBmcm9tIGEgZmxhdCAxMcKwIHRvIGEgbWVhc3VyZWQtZ2FwIHN0ZXAgKH40wrAgYXQgbW9iaWxlJ3MgMTc0cHhcbiAgICAvLyBjYXJkLCBzZWUgY3VsdHVyZS1zZWN0aW9uLmpzKSwgc28gY2FyZHMgdHJhdmVsIGxlc3MgZGlzdGFuY2UgYmV0d2VlblxuICAgIC8vIHNsb3RzIHRvbywgYW5kIG5vIGxvbmdlciBuZWVkIHRoZSBzYW1lIGZhc3QgY2FkZW5jZSAyNDB2aCBnYXZlIHRoZW0uXG4gICAgJl9fd2hlZWwtcnVud2F5IHtcbiAgICAgIGhlaWdodDogMzAwdmg7XG4gICAgfVxuXG4gICAgLy8gTW9iaWxlIGNhcmQgc2l6ZSBwZXIgc3BlYyAo4omIMC44IGFzcGVjdCByYXRpbywgbWF0Y2hpbmcgdGhlIGRlc2t0b3BcbiAgICAvLyAzMjDDlzQwMCBjYXJkKS4gVGhlIHdoZWVsIGJveCBpdHNlbGYgbXVzdCBzdGF5IGZ1bGwtYmxlZWQgKGxlZnQvcmlnaHQ6IDAsXG4gICAgLy8gd2lkdGg6IGF1dG8pIGxpa2UgZGVza3RvcCDigJQgY2xhbXBpbmcgaXQgdG8gYSBzaW5nbGUgY2FyZCdzIHdpZHRoIGJyZWFrc1xuICAgIC8vIHRoZSBmYW4gbWF0aCAoY2FyZHMgc3dpbmcgYXJvdW5kIGEgfjI2MDBweCByYWRpdXMgdmlhIF9fd2hlZWwtc3RhZ2Unc1xuICAgIC8vIGxlZnQ6IDUwJSwgc28gYSBuYXJyb3cgYm94IGNvbWJpbmVkIHdpdGggLndoZWVsLXBpbidzIG92ZXJmbG93OiBoaWRkZW5cbiAgICAvLyBjaG9wcyB0aGUgY2FyZCBtaWQtc3dpbmcgaW50byBhIHNrZXdlZCBzbGl2ZXIgaW5zdGVhZCBvZiBhIGNsZWFuIHNsaWRlKS5cbiAgICAvLyBWZXJ0aWNhbGx5IGNlbnRyZWQgKHRvcDogNTAlICsgbmVnYXRpdmUgbWFyZ2luKSByYXRoZXIgdGhhbiB0b3AtYW5jaG9yZWRcbiAgICAvLyBzbyB0aGUgcGlubmVkIDEwMHZoIGZyYW1lIGRvZXNuJ3Qgc2hvdyBhIGxhcmdlIGVtcHR5IGJhbmQgdW5kZXIgdGhlIGNhcmQuXG4gICAgJl9fd2hlZWwge1xuICAgICAgLS1jci1jYXJkLXc6IDE3NHB4O1xuICAgICAgLS1jci1jYXJkLWg6IDIxOHB4O1xuXG4gICAgICAvLyBUaWdodGVyIHBpdm90IHRoYW4gZGVza3RvcCdzIDI2MDBweCDigJQgbXVzdCBtaXJyb3IgTU9CSUxFX1JBRElVU19QWCBpblxuICAgICAgLy8gY3VsdHVyZS1zZWN0aW9uLmpzLCB3aGljaCBkZXJpdmVzIHRoZSByb3RhdGlvbiBhbmdsZSBhc3N1bWluZyB0aGlzXG4gICAgICAvLyByYWRpdXMuIEEgdGlnaHRlciBjdXJ2ZSBtYWtlcyB0aGUgZmFuIHJlYWQgYXMgdmlzaWJseSBza2V3ZWQvYXJjZWRcbiAgICAgIC8vIGluc3RlYWQgb2YgbmVhci1mbGF0IGNhcmRzIHNsaWRpbmcgc2lkZXdheXMuXG4gICAgICAtLWNyLXJhZGl1czogMTAwMHB4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLWNyLWNhcmQtaCkgLyAtMik7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGhlaWdodDogdmFyKC0tY3ItY2FyZC1oKTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWShjYWxjKHZhcigtLWNyLXBhcmFsbGF4LCAwcHgpICogLTEuNCkpIHJvdGF0ZSgtLjMyZGVnKTtcbiAgICB9XG5cbiAgICAvLyBEZXNrdG9wJ3MgMzJweCBwYWRkaW5nICsgMThweCBib2R5IGNvcHkgb3ZlcndoZWxtIHRoZSBtdWNoIHNtYWxsZXJcbiAgICAvLyAxNzTDlzIxOCBtb2JpbGUgY2FyZCDigJQgdGlnaHRlciBwYWRkaW5nIGFuZCBhIHNtYWxsZXIgc2l6ZSBrZWVwIHRoZVxuICAgIC8vIGF3YXJkIGNvcHkgcmVhZGFibGUgd2l0aG91dCBvdmVyZmxvd2luZyB0aGUgZmFjZS5cbiAgICAmX193aGVlbC1mYWNlLS1iYWNrIHtcbiAgICAgIHBhZGRpbmc6IGliLXJlbSgxNnB4KTtcbiAgICB9XG5cbiAgICAmX193aGVlbC1iYWNrLXRleHQge1xuICAgICAgZm9udC1zaXplOiBpYi1yZW0oMTRweCk7XG4gICAgfVxuXG4gICAgJl9fY29sbGFnZSB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IGliLXJlbSgzNjBweCk7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICAgJl9fbWVkaWEge1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiBpYi1yZW0oMzYwcHgpO1xuICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gYXNzZXRzL3Njc3MvcGFnZXMvY2FyZWVycy9fdmFsdWVzLXNlY3Rpb24uc2Nzc1xuLy8gQ29yZSBWYWx1ZXMg4oCUIGRlc2t0b3A6IGEgcmlnaHQtYWxpZ25lZCBhY2NvcmRpb24gKG9uZSBvcGVuIGF0IGEgdGltZSwgc21vb3RoXG4vLyBncmlkLXJvd3MgZXhwYW5kKS4gTW9iaWxlOiBhIHN0YXRpYyBsZWRnZXIgd2l0aCBldmVyeSBkZXNjcmlwdGlvbiBzaG93bi5cblxuQHVzZSBcIi4uL3V0aWxzXCIgYXMgKjtcblxuLmNyLXZhbHVlcy1zZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogJGliLWJnLXByaW1hcnk7XG4gIHBhZGRpbmc6IGliLXJlbSg0MHB4KSBpYi1yZW0oMjRweCkgaWItcmVtKDE0MHB4KTtcblxuICAmX19oZWFkaW5nIHtcbiAgICBAaW5jbHVkZSBpYi1kaXNwbGF5LWhlYWRpbmcoaWItcmVtKDQ4cHgpLCBpYi1yZW0oNjBweCkpO1xuXG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIGF1dG8gaWItcmVtKDgwcHgpO1xuICB9XG5cbiAgJl9fYWNjZW50IHtcbiAgICBjb2xvcjogJGliLXJlZC1icmFuZDtcbiAgfVxuXG4gIC8vIENlbnRlcmVkIGNvbHVtbiBiZWxvdyAxMTAwcHggKHJpZ2h0LWFsaWduZWQgYWNjb3JkaW9uIGtpY2tzIGluIGFib3ZlIHRoYXQpXG4gICZfX2xpc3Qge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXgtd2lkdGg6IGliLXJlbSgxMzAxcHgpO1xuICB9XG5cbiAgJl9faXRlbSB7XG4gICAgYm9yZGVyLXRvcDogaWItcmVtKDFweCkgc29saWQgJGliLWJvcmRlcjtcbiAgfVxuXG4gICZfX3RyaWdnZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgZ2FwOiBpYi1yZW0oMTZweCk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogaWItcmVtKDI4cHgpIDA7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIC8vIE5PVEU6IGxpbmUtaGVpZ2h0IDRweCBvbiA0MHB4IHRleHQgbWF0Y2hlcyBsaXZlIENTUyBleGFjdGx5IGJ1dCBsb29rc1xuICAgIC8vIGxpa2UgYW4gdW5pbnRlbnRpb25hbCB0eXBvICh2ZXJpZnkgYWdhaW5zdCBGaWdtYSBiZWZvcmUgdHJ1c3RpbmcgdGhpcykuXG4gICAgQGluY2x1ZGUgaWItZGlzcGxheS1oZWFkaW5nKGliLXJlbSg0MHB4KSwgaWItcmVtKDRweCkpO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIC4zcyBlYXNlO1xuICB9XG5cbiAgLy8gUmVkIGhvdmVyL2FjdGl2ZSBjb2xvciBpcyBkaXNhYmxlZCDigJQgbWF0Y2hlcyBsaXZlIENTUywgd2hpY2ggY29tbWVudHNcbiAgLy8gdGhpcyBydWxlIG91dCAodGl0bGUgc3RheXMgJGliLXRleHQtcHJpbWFyeSBvbiBob3Zlci9hY3RpdmUgaGVyZSkuXG4gIC8vICZfX2l0ZW0uaXMtYWN0aXZlICZfX3RpdGxlLFxuICAvLyAmX190cmlnZ2VyOmhvdmVyICZfX3RpdGxlIHtcbiAgLy8gICBjb2xvcjogJGliLXJlZC1icmFuZDtcbiAgLy8gfVxuXG4gIC8vIENvbGxhcHNpYmxlIGRlc2NyaXB0aW9uIOKAlCBncmlkLXJvd3MgMGZy4oaSMWZyIGlzIEdQVS1jaGVhcCBhbmQgYW5pbWF0ZXMgaGVpZ2h0XG4gIC8vIHNtb290aGx5IHdpdGhvdXQgbWVhc3VyaW5nIHBpeGVscy5cbiAgJl9fcGFuZWwge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAwZnI7XG4gICAgdHJhbnNpdGlvbjogZ3JpZC10ZW1wbGF0ZS1yb3dzIC41cyBjdWJpYy1iZXppZXIoLjE2LCAxLCAuMywgMSk7XG4gIH1cblxuICAmX19pdGVtLmlzLWFjdGl2ZSAmX19wYW5lbCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7XG4gIH1cblxuICAmX19kZXNjIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gIH1cblxuICAmX19kZXNjLWlubmVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwIDAgaWItcmVtKDI4cHgpO1xuXG4gICAgQGluY2x1ZGUgaWItdHlwZShcImJvZHktbGFyZ2VcIiwgJGliLWZvbnQtYm9keSk7XG5cbiAgICBjb2xvcjogJGliLXRleHQtcHJpbWFyeTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgIC8vIG1heC13aWR0aDogNTJjaDsgLS0gZGlzYWJsZWQsIG1hdGNoZXMgbGl2ZSBDU1NcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWShpYi1yZW0oOHB4KSk7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNXMgZWFzZSAuMDVzLCB0cmFuc2Zvcm0gLjVzIGVhc2UgLjA1cztcbiAgfVxuXG4gICZfX2l0ZW0uaXMtYWN0aXZlICZfX2Rlc2MtaW5uZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG5cbiAgLy8g4pSA4pSAIERlc2t0b3AgKD4xMDI0cHgpIOKAlCBlYWNoIHJvdyBpcyBhIDItY29sdW1uIGdyaWQ6IHRoZSBkZXNjcmlwdGlvbiBsaXZlcyBpbiBhXG4gIC8vIGxlZnQgY29sdW1uIChmYXIgbGVmdCBvZiB0aGUgc2VjdGlvbiksIHRoZSB3b3JkIGluIGEgcmlnaHQgY29sdW1uLiBDbGlja2luZyBhXG4gIC8vIHdvcmQgKGlzLWFjdGl2ZSkgcmV2ZWFscyBpdHMgbnVtYmVyLCBsaWZ0cyB0aGUgd29yZCwgYW5kIHJpc2VzIGl0cyBkZXNjcmlwdGlvbiB1cC5cbiAgLy8gTm8gaG92ZXIgZWZmZWN0IOKAlCBzdGF0ZSBvbmx5IGNoYW5nZXMgb24gY2xpY2suXG4gIC8vIEJvdW5kYXJ5IG1hdGNoZXMgJGliLWJwLXRhYmxldCBleGFjdGx5IChzYW1lIGN1dG9mZiB0aGUgbW9iaWxlIGJsb2NrIGJlbG93XG4gIC8vIHVzZXMpIOKAlCBwcmV2aW91c2x5IHRoaXMgd2FzIGEgaGFyZGNvZGVkIDExMDBweCwgbGVhdmluZyBhIDEwMjXigJMxMDk5cHggZ2FwXG4gIC8vIHdoZXJlIG5laXRoZXIgbGF5b3V0J3MgcnVsZXMgYXBwbGllZCBhbmQgdGhlIHJhdyA0OHB4IGRlc2t0b3AgaGVhZGluZy9cbiAgLy8gcmlnaHQtYWxpZ25lZC1hY2NvcmRpb24gY29sdW1ucyByZW5kZXJlZCBjcmFtcGVkIGludG8gYSB0b28tbmFycm93IHZpZXdwb3J0LiDilIDilIDilIBcbiAgQG1lZGlhIChtaW4td2lkdGg6IGNhbGMoJGliLWJwLXRhYmxldCArIDFweCkpIHtcbiAgICAvLyBGaWdtYSBmcmFtZSBzcGVjIOKAlCBwYWRkaW5nIDEwMCAvIDE1NiAvIDE2MCAvIDE1NiAoVC9SL0IvTCksIGdhcCAxMzMuXG4gICAgcGFkZGluZzogaWItcmVtKDEwMHB4KSBpYi1yZW0oMTU2cHgpIGliLXJlbSgxNjBweCk7XG5cbiAgICAmX19saXN0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC8vIEVhY2ggdmFsdWUgcm93IGlzIDE3MHB4IHRhbGwgcGVyIHRoZSBGaWdtYSBmcmFtZS4gVGhlIGRpdmlkZXIgbGluZSBpcyBkcmF3blxuICAgIC8vIG9ubHkgdW5kZXIgdGhlIHRpdGxlIChyaWdodCkgY29sdW1uIHZpYSA6OmJlZm9yZSwgc28gcmVtb3ZlIHRoZSBmdWxsLXdpZHRoIG9uZS5cbiAgICAmX19pdGVtIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpICN7aWItcmVtKDUwMHB4KX07XG4gICAgICBjb2x1bW4tZ2FwOiBpYi1yZW0oMTBweCk7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbWluLWhlaWdodDogaWItcmVtKDE3MHB4KTtcbiAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gR3JleSBkaXZpZGVyIOKAlCBvbmx5IHRoZSByaWdodCBzaWRlLCB1bmRlciB0aGUgdGl0bGUgY29sdW1uXG4gICAgJl9faXRlbTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHdpZHRoOiBpYi1yZW0oNDAwcHgpO1xuICAgICAgaGVpZ2h0OiBpYi1yZW0oMXB4KTtcbiAgICAgIGJhY2tncm91bmQ6ICRpYi1ib3JkZXI7XG4gICAgfVxuXG4gICAgLy8gT24gaG92ZXIvYWN0aXZlIHRoZSBkaXZpZGVyIGV4dGVuZHMgc3RyYWlnaHQgYWNyb3NzIHRoZSB3aG9sZSByb3cg4oCUIGEgZnVsbC13aWR0aFxuICAgIC8vIGdyZXkgbGluZSB3aXRoIGEgcmVkIGdsb3cgdG93YXJkIHRoZSBjZW50cmUtcmlnaHQuIEl0IGdyb3dzIGluIGZyb20gdGhlIHJpZ2h0LlxuICAgICZfX2l0ZW06OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBoZWlnaHQ6IGliLXJlbSgxcHgpO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICA5MGRlZyxcbiAgICAgICAgJGliLWJvcmRlciAwJSxcbiAgICAgICAgJGliLWJvcmRlciA0MiUsXG4gICAgICAgICRpYi1yZWQtYnJhbmQgNjYlLFxuICAgICAgICAkaWItYm9yZGVyIDg2JSxcbiAgICAgICAgJGliLWJvcmRlciAxMDAlXG4gICAgICApO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNXMgY3ViaWMtYmV6aWVyKC4yNSwgLjQ2LCAuNDUsIC45NCk7XG4gICAgfVxuXG4gICAgJl9faXRlbS5pcy1hY3RpdmU6OmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICAgIH1cblxuICAgIC8vIFdvcmQgY29sdW1uIG9uIHRoZSByaWdodCDigJQgdGV4dCBsZWZ0LWFsaWduZWQgd2l0aGluIHRoZSBjb2x1bW5cbiAgICAmX190cmlnZ2VyIHtcbiAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICBnYXA6IGliLXJlbSgyNHB4KTtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG5cbiAgICAvLyBUaGUgd29yZCBsaWZ0cyAoYm90dG9tLXRvLXRvcCkgYW5kIHR1cm5zIHJlZCBvbiBob3Zlci9hY3RpdmVcbiAgICAmX190aXRsZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAuM3MgZWFzZSxcbiAgICAgICAgdHJhbnNmb3JtIC40NXMgY3ViaWMtYmV6aWVyKC4yNSwgLjQ2LCAuNDUsIC45NCk7XG4gICAgfVxuXG4gICAgLy8gUmVkIGFjdGl2ZSBjb2xvciBkaXNhYmxlZCDigJQgbWF0Y2hlcyBsaXZlIENTUyAoY29tbWVudGVkIHRoZXJlIHRvbykuXG4gICAgJl9faXRlbS5pcy1hY3RpdmUgJl9fdGl0bGUge1xuICAgICAgLy8gY29sb3I6ICRpYi1yZWQtYnJhbmQ7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKGliLXJlbSgtNHB4KSk7XG4gICAgfVxuXG4gICAgLy8gRGVzY3JpcHRpb24gY29sdW1uIG9uIHRoZSBmYXIgbGVmdCDigJQgYW5pbWF0ZXMgdXAgaW50byBwbGFjZSB3aGVuIGFjdGl2ZVxuICAgICZfX3BhbmVsIHtcbiAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogbm9uZTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoaWItcmVtKDI4cHgpKTtcbiAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG5cbiAgICAgIC8vIE9uZSBzaGFyZWQgY3VydmUgKyBkdXJhdGlvbiBmb3Igb3BhY2l0eSBhbmQgdHJhbnNmb3JtICh3YXMgMC4zcyBlYXNlICtcbiAgICAgIC8vIDAuNHMgY3ViaWMpIHNvIHRoZSBmYWRlIGFuZCB0aGUgbGlmdCBhcnJpdmUgdG9nZXRoZXIgYW5kIHJlYWQgc21vb3RoLlxuICAgICAgLy8gS2VwdCDiiaQwLjQ1czogdGhlIHNjcm9sbCBzY3J1YiBzdGVwcyB+MC4xOXMgcGVyIGl0ZW0sIGEgbG9uZ2VyIGZhZGVcbiAgICAgIC8vIHdvdWxkIGJlIGN1dCBvZmYgYmVmb3JlIGEgdmFsdWUgZmluaXNoZXMgc2hvd2luZyBvbiBhIGZhc3Qgc2Nyb2xsLlxuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNDVzIGN1YmljLWJlemllciguMjUsIC40NiwgLjQ1LCAuOTQpLFxuICAgICAgICB0cmFuc2Zvcm0gLjQ1cyBjdWJpYy1iZXppZXIoLjI1LCAuNDYsIC40NSwgLjk0KSxcbiAgICAgICAgdmlzaWJpbGl0eSAuNDVzO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgJl9faXRlbS5pcy1hY3RpdmUgJl9fcGFuZWwge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxuXG4gICAgLy8gSG92ZXJpbmcgYSByb3cgcmV2ZWFscyBpdHMgdmFsdWUgdG9vIOKAlCBzYW1lIHRyZWF0bWVudCBhcyBpcy1hY3RpdmVcbiAgICAvLyAoZGl2aWRlciBzd2VlcHMgYWNyb3NzLCB3b3JkIGxpZnRzLCBkZXNjcmlwdGlvbiByaXNlcyBpbiksIHNvIHRoZSByZWFkZXJcbiAgICAvLyBjYW4gb3BlbiBhbnkgdmFsdWUgd2l0aG91dCBzY3JvbGxpbmcgaXQgdG8gdGhlIGFjdGl2YXRpb24gbGluZS4gUG9pbnRlclxuICAgIC8vIGRldmljZXMgb25seSDigJQgYSB0b3VjaCB0YXAgd291bGQgbGVhdmUgaXQgc3R1Y2sgb3Blbi5cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgLy8gV2hpbGUgdGhlIGN1cnNvciBpcyBvdmVyIHRoZSBsaXN0LCBvbmx5IHRoZSBob3ZlcmVkIHJvdyBzaG93cyBpdHMgdmFsdWUg4oCUXG4gICAgICAvLyB0aGUgc2Nyb2xsLWFjdGl2YXRlZCByb3cgZHJvcHMgYmFjayB0byByZXN0IHVudGlsIHRoZSBjdXJzb3IgbGVhdmVzLlxuICAgICAgJl9fbGlzdDpob3ZlciAmX19pdGVtLmlzLWFjdGl2ZTpub3QoOmhvdmVyKSB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jci12YWx1ZXMtc2VjdGlvbl9fdGl0bGUge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jci12YWx1ZXMtc2VjdGlvbl9fcGFuZWwge1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWShpYi1yZW0oMjhweCkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX2l0ZW06aG92ZXIge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gICAgICAgIH1cblxuICAgICAgICAuY3ItdmFsdWVzLXNlY3Rpb25fX3RpdGxlIHtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWShpYi1yZW0oLTRweCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNyLXZhbHVlcy1zZWN0aW9uX19wYW5lbCB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZfX2Rlc2Mge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG4gICAgJl9fZGVzYy1pbm5lciB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIFxuICAgICAgLy8gbWF4LXdpZHRoOiAzMGNoOyAtLSBkaXNhYmxlZCwgbWF0Y2hlcyBsaXZlIENTU1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBmb250LXNpemU6IGliLXJlbSgyMHB4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vIOKUgOKUgCBNb2JpbGUgKyB0YWJsZXQgKOKJpDEwMjRweCkg4oCUIHN0YXRpYyBudW1iZXJlZCBsZWRnZXIsIGFsbCBkZXNjcmlwdGlvbnNcbiAgLy8gc2hvd247IHNhbWUgbW9iaWxlIGhhbmRvZmYgYXMgdGhlIG90aGVyIHBhZ2VzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICBAaW5jbHVkZSByZXNwb25kLXRvKCRpYi1icC10YWJsZXQpIHtcbiAgICBwYWRkaW5nOiBpYi1yZW0oODBweCkgaWItcmVtKDIwcHgpO1xuXG4gICAgJl9faGVhZGluZyB7XG4gICAgICBAaW5jbHVkZSBpYi10eXBlKFwiaGVhZGxpbmUtd2ViLXNtYWxsXCIpO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBtYXJnaW46IDAgMCBpYi1yZW0oNDBweCk7XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgcGFkZGluZzogMCAwIGliLXJlbSgxNnB4KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX190cmlnZ2VyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBnYXA6IGliLXJlbSg4cHgpO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICBAaW5jbHVkZSBpYi10eXBlKFwiaGVhZGxpbmUtbW9iaWxlLW1lZGl1bVwiLCAkaWItZm9udC1oZWFkaW5nKTtcblxuICAgICAgY29sb3I6ICRpYi1ncmF5LWRlZXA7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cblxuICAgIC8vIEFsbCBwYW5lbHMgb3BlbiBvbiBtb2JpbGUg4oCUIG5vIGFjY29yZGlvblxuICAgICZfX3BhbmVsIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyO1xuICAgIH1cblxuICAgICZfX2Rlc2MtaW5uZXIge1xuICAgICAgcGFkZGluZzogaWItcmVtKDE2cHgpIDAgaWItcmVtKDI4cHgpO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgQGluY2x1ZGUgaWItdHlwZShcImJvZHktbGFyZ2VcIiwgJGliLWZvbnQtYm9keSk7XG5cbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBhc3NldHMvc2Nzcy9wYWdlcy9jYXJlZXJzL190ZWFtLXBob3RvLXNlY3Rpb24uc2Nzc1xuLy8gRnVsbC1ibGVlZCB0ZWFtIHBob3RvLiBBIHNsb3cgc2NydWIgc2NhbGVzL3BhbnMgdGhlIGltYWdlIGFzIGl0IHBhc3NlcyB0aGVcbi8vIHZpZXdwb3J0IChKUyBzZXRzIC0tY3Itc2NhbGUgLyAtLWNyLXNoaWZ0KSBmb3IgYSBjYWxtIHBhcmFsbGF4LiBTdGF0aWMgZmFsbGJhY2tcbi8vIG9uIG1vYmlsZS5cblxuQHVzZSBcIi4uL3V0aWxzXCIgYXMgKjtcblxuLy8gV3JhcHBlciBhcm91bmQgc2VjdGlvbnMgNCArIDUg4oCUIGJvdW5kcyBob3cgbG9uZyB0aGUgcGhvdG8gc3RheXMgcGlubmVkLCBzbyBpdFxuLy8gb25seSBzdGlja3Mgd2hpbGUgdGhlIHJvbGVzIHNlY3Rpb24gc2Nyb2xscyBvdmVyIGl0LCB0aGVuIHJlbGVhc2VzIGFmdGVyd2FyZHMuXG4uY3ItdGVhbS1vdmVybGFwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY3ItdGVhbS1waG90by1zZWN0aW9uIHtcbiAgLy8gUGlubmVkIGJlaGluZCB0aGUgcm9sZXMgc2VjdGlvbjsgcm9sZXMgKGhpZ2hlciB6LWluZGV4LCBvcGFxdWUpIHNjcm9sbHMgdXAgYW5kXG4gIC8vIGNvdmVycyBpdCBhcyB5b3Ugc2Nyb2xsLCBzbyB0aGUgcGhvdG8gcmV2ZWFscyBvdXQgb2Ygdmlldy5cbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAwO1xuICBiYWNrZ3JvdW5kOiAkaWItYmctcHJpbWFyeTtcbiAgcGFkZGluZzogMDtcblxuICAvLyBGdWxsLXdpZHRoIGZyYW1lIOKAlCBubyBwYWRkaW5nLCBubyBib3JkZXItcmFkaXVzIChtYXRjaGVzIEZpZ21hKVxuICAmX19mcmFtZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAmX19pbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBhc3BlY3QtcmF0aW86IGF1dG87IC8vIHVzZSB0aGUgaW1hZ2UncyByZWFsIHJhdGlvLCBpZ25vcmUgd2lkdGgvaGVpZ2h0IGF0dHJzXG4gIH1cblxuICAvLyDilIDilIAgTW9iaWxlICsgdGFibGV0ICjiiaQxMDI0cHgpIOKAlCBzdGF0aWMgaW1hZ2UsIHBhcmFsbGF4IEpTIGlzIGRlc2t0b3Atb25seSDilIDilIDilIBcbiAgQGluY2x1ZGUgcmVzcG9uZC10bygkaWItYnAtdGFibGV0KSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuIiwiLy8gYXNzZXRzL3Njc3MvcGFnZXMvY2FyZWVycy9fcm9sZXMtc2VjdGlvbi5zY3NzXG4vLyBcIkEgZmV3IHJvbGVzIHdlJ3JlIGV4Y2l0ZWQgYWJvdXRcIiDigJQgdGhyZWUgbm90Y2hlZCBwZWFjaCBjYXJkcywgZWFjaCB3aXRoIGFcbi8vIGNhdGVnb3J5IGxhYmVsLCByb2xlIHRpdGxlLCBsb2NhdGlvbiBtZXRhIGFuZCBhIG5vdGNoZWQgcmVkIEFQUExZIGJ1dHRvbi5cbi8vIERlc2t0b3AgY2FyZHMgc3RhZ2dlciBpbiBvbiBzY3JvbGwgKGliLXJldmVhbCk7IG1vYmlsZSBzdGFja3MgKG1vYmlsZS1yZXZlYWwpLlxuXG5AdXNlIFwiLi4vdXRpbHNcIiBhcyAqO1xuXG4uY3Itcm9sZXMtc2VjdGlvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTsgLy8gc2Nyb2xscyB1cCBvdmVyIHRoZSBzdGlja3kgdGVhbSBwaG90byAoc2VjdGlvbiA0KVxuICBiYWNrZ3JvdW5kOiAkaWItYmctcHJpbWFyeTtcbiAgcGFkZGluZzogaWItcmVtKDE0MHB4KSAwIGliLXJlbSgxMjBweCk7XG5cbiAgJl9fY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IGliLXJlbSgkaWItY29udGFpbmVyLW1heCk7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZy1pbmxpbmU6IHZhcigtLWd1dHRlcik7XG4gIH1cblxuICAmX19oZWFkaW5nIHtcbiAgICBAaW5jbHVkZSBpYi1kaXNwbGF5LWhlYWRpbmcoaWItcmVtKDQ4cHgpLCBpYi1yZW0oNjBweCkpO1xuXG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBtYXJnaW46IDAgMCBpYi1yZW0oNDBweCk7XG4gICAgbWF4LXdpZHRoOiAxOGNoO1xuICB9XG5cbiAgJl9fYWNjZW50IHtcbiAgICBjb2xvcjogJGliLXJlZC1icmFuZDtcbiAgfVxuXG4gICZfX2dyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgICBnYXA6IGliLXJlbSgzOHB4KTtcbiAgfVxuXG4gICZfX2NhcmQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWluLWhlaWdodDogaWItcmVtKDQwMnB4KTtcbiAgICBwYWRkaW5nOiBpYi1yZW0oMjhweCkgaWItcmVtKDI4cHgpIGliLXJlbSg0MHB4KTtcbiAgICBiYWNrZ3JvdW5kOiAkaWItYmctc2Vjb25kYXJ5O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICBAaW5jbHVkZSBpYi1ub3RjaChpYi1yZW0oMjVweCksIGliLXJlbSgxOXB4KSk7XG4gICAgQGluY2x1ZGUgaWItcmV2ZWFsKGliLXJlbSg0MHB4KSwgJGliLWJwLXRhYmxldCk7IC8vIGhpZGUtc3RhdGUgZGVza3RvcC1vbmx5ICg+MTAyNHB4KVxuICB9XG5cbiAgJl9fY2FyZC1sYWJlbCB7XG4gICAgQGluY2x1ZGUgaWItdHlwZShcImJvZHktbGFyZ2VcIiwgJGliLWZvbnQtYm9keSk7XG4gICAgY29sb3I6ICRpYi10ZXh0LXByaW1hcnk7XG4gICAgbWFyZ2luLWJvdHRvbTogaWItcmVtKDI0cHgpO1xuICB9XG5cbiAgJl9fY2FyZC10aXRsZSB7XG4gICAgQGluY2x1ZGUgaWItZGlzcGxheS1oZWFkaW5nKGliLXJlbSgyNHB4KSwgaWItcmVtKDM0cHgpKTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIG1hcmdpbjogMCAwIGliLXJlbSgxMnB4KTtcbiAgfVxuXG4gICZfX2NhcmQtbWV0YSB7XG4gICAgQGluY2x1ZGUgaWItdHlwZShcImJvZHktbWVkaXVtXCIsICRpYi1mb250LWJvZHkpO1xuICAgIGNvbG9yOiAkaWItdGV4dC1wcmltYXJ5O1xuICAgIG1hcmdpbjogMCAwIGliLXJlbSgxMnB4KTtcbiAgfVxuXG4gIC8vIFNlY29uZCBtZXRhIGxpbmUg4oCUIGtlcHQgdmlzdWFsbHkgZGlzdGluY3QgZnJvbSB0aGUgcm9sZSB0eXBlL2xvY2F0aW9uXG4gIC8vIGxpbmUgYWJvdmUgaXQgKEZpZ21hOiBcIkV4cGVyaWVuY2UgOiB7bn0rXCIgc2l0cyBvbiBpdHMgb3duIHJvdykuXG4gICZfX2NhcmQtZXhwZXJpZW5jZSB7XG4gICAgQGluY2x1ZGUgaWItdHlwZShcImJvZHktbWVkaXVtXCIsICRpYi1mb250LWJvZHkpO1xuICAgIGNvbG9yOiAkaWItdGV4dC1wcmltYXJ5O1xuICB9XG5cbiAgLy8gUHVzaCB0aGUgYXBwbHkgYnV0dG9uIHRvIHRoZSBjYXJkIGJvdHRvbSDigJQgdmlzdWFsIHN0eWxpbmcgKGZpbGwsIG5vdGNoLFxuICAvLyBob3ZlciBkZXB0aC1ibG9jaywgYXJyb3cgYW5pbWF0aW9uKSBjb21lcyBmcm9tIHRoZSBzaGFyZWQgLmliLWJ0blxuICAvLyBjb21wb25lbnQgKGFzc2V0cy9zY3NzL3BhZ2VzL19idXR0b25zLnNjc3MpOyB0aGlzIG9ubHkgcG9zaXRpb25zIGl0LlxuICAmX19hcHBseSB7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICB9XG5cbiAgLy8gRGVza3RvcCBzdGFnZ2VyIOKAlCBzZWNvbmQvdGhpcmQgY2FyZHMgdHJhaWwgdGhlIGZpcnN0XG4gIEBtZWRpYSAobWluLXdpZHRoOiBjYWxjKCRpYi1icC10YWJsZXQgKyAxcHgpKSB7XG4gICAgJl9fY2FyZDpudGgtY2hpbGQoMikuaXMtdmlzaWJsZSB7IHRyYW5zaXRpb24tZGVsYXk6IC4xczsgfVxuICAgICZfX2NhcmQ6bnRoLWNoaWxkKDMpLmlzLXZpc2libGUgeyB0cmFuc2l0aW9uLWRlbGF5OiAuMnM7IH1cbiAgfVxuXG4gIC8vIOKUgOKUgCBNb2JpbGUgKyB0YWJsZXQgKOKJpDEwMjRweCkg4oCUIHNpbmdsZSBjb2x1bW4sIHNhbWUgaGFuZG9mZiBhcyBvdGhlciBwYWdlcyDilIDilIBcbiAgQGluY2x1ZGUgcmVzcG9uZC10bygkaWItYnAtdGFibGV0KSB7XG4gICAgcGFkZGluZzogaWItcmVtKDgwcHgpIDA7XG5cbiAgICAmX19jb250YWluZXIge1xuICAgICAgcGFkZGluZy1pbmxpbmU6IGliLXJlbSgyMHB4KTtcbiAgICB9XG5cbiAgICAmX19oZWFkaW5nIHtcbiAgICAgIEBpbmNsdWRlIGliLXR5cGUoXCJkaXNwbGF5LW1vYmlsZS1sYXJnZVwiKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiBpYi1yZW0oNDhweCk7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG5cbiAgICAgIGJyIHsgZGlzcGxheTogbm9uZTsgfVxuICAgIH1cblxuICAgICZfX2dyaWQge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICBnYXA6IGliLXJlbSgyNHB4KTtcbiAgICB9XG5cbiAgICAmX19jYXJkIHtcbiAgICAgIG1pbi1oZWlnaHQ6IGliLXJlbSgzODBweCk7XG4gICAgICBwYWRkaW5nOiBpYi1yZW0oMjhweCkgaWItcmVtKDI4cHgpIGliLXJlbSg0MHB4KTtcblxuICAgICAgLy8gQXN5bW1ldHJpYyBub3RjaCAoZG9lcyBub3QgZml0IHRoZSBpYi1ub3RjaCgpIG1peGluJ3Mgc3ltbWV0cmljIGZvcm11bGEpXG4gICAgICBjbGlwLXBhdGg6IHBvbHlnb24oMjVweCAwLCAxMDAlIDAsIDEwMCUgY2FsYygxMDAlIC0gMjZweCksIGNhbGMoMTAwJSAtIDI2cHgpIDEwMCUsIDAgMTAwJSwgMCAyMHB4KTtcbiAgICB9XG5cbiAgICAmX19jYXJkLW1ldGEsXG4gICAgJl9fY2FyZC1leHBlcmllbmNlIHtcbiAgICAgIGNvbG9yOiAkaWItdGV4dC1wcmltYXJ5O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gYXNzZXRzL3Njc3MvcGFnZXMvY2FyZWVycy9fb3BlbmluZ3Mtc2VjdGlvbi5zY3NzXG4vLyBcIkZpbmQgdGhlIHJvbGUgdGhhdCBmZWVscyByaWdodCBmb3IgeW91XCIg4oCUIFRlYW0vTG9jYXRpb24gZHJvcGRvd25zICsgc2VhcmNoLFxuLy8gdGhlbiB0ZWFtLWdyb3VwZWQgbGlzdGluZyBibG9ja3MgKEVuZ2luZWVyaW5nIC8gU2FsZXMpLiBFYWNoIGdyb3VwIHNob3dzIG9uZVxuLy8gc3RpY2t5IHRlYW0gbGFiZWwgb24gdGhlIGxlZnQgYW5kIGl0cyByb2xlcyBzdGFja2VkIG9uIHRoZSByaWdodCwgY2xvc2VkIGJ5IGFcbi8vIHNpbmdsZSBoYWlybGluZSBkaXZpZGVyIChGaWdtYSBub2RlIDEwNDUwOjEyMzUwKS4gSlMgZmlsdGVycyByb3dzIGxpdmUgYW5kXG4vLyBoaWRlcyBhbnkgZ3JvdXAgbGVmdCBlbXB0eS5cblxuQHVzZSBcIi4uL3V0aWxzXCIgYXMgKjtcblxuLmNyLW9wZW5pbmdzLXNlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiAkaWItYmctcHJpbWFyeTtcbiAgcGFkZGluZzogaWItcmVtKDgwcHgpIDAgaWItcmVtKDEwMHB4KTtcblxuICAmX19jb250YWluZXIge1xuICAgIG1heC13aWR0aDogaWItcmVtKCRpYi1jb250YWluZXItbWF4KTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nLWlubGluZTogdmFyKC0tZ3V0dGVyKTtcbiAgfVxuXG4gICZfX2hlYWRpbmcge1xuICAgIEBpbmNsdWRlIGliLXR5cGUoXCJkaXNwbGF5LW1vYmlsZS1sYXJnZVwiKTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIG1hcmdpbjogMCAwIGliLXJlbSg0MHB4KTtcbiAgICBtYXgtd2lkdGg6IDE2Y2g7XG4gIH1cblxuICAmX19hY2NlbnQge1xuICAgIGNvbG9yOiAkaWItcmVkLWJyYW5kO1xuICB9XG5cbiAgLy8g4pSA4pSAIEZpbHRlcnMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gICZfX2ZpbHRlcnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGdhcDogaWItcmVtKDI0cHgpO1xuICAgIG1hcmdpbi1ib3R0b206IGliLXJlbSg0MHB4KTtcbiAgfVxuXG4gICZfX2ZpZWxkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiBpYi1yZW0oMTVweCk7XG4gICAgbWluLXdpZHRoOiBpYi1yZW0oMzAwcHgpO1xuICB9XG5cbiAgJl9fZmllbGQtbGFiZWwge1xuICAgIEBpbmNsdWRlIGliLXR5cGUoXCJib2R5LWxhcmdlXCIsICRpYi1mb250LWJvZHkpO1xuXG4gICAgY29sb3I6ICRpYi10ZXh0LXNlY29uZGFyeTtcbiAgfVxuXG4gICZfX3NlbGVjdCB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiBpYi1yZW0oOHB4KSBpYi1yZW0oNDRweCkgaWItcmVtKDhweCkgaWItcmVtKDE2cHgpO1xuICAgIGJhY2tncm91bmQ6ICRpYi1iZy1zZWNvbmRhcnk7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IGliLXJlbSgxcHgpIHNvbGlkICRpYi1ncmF5LW1lZGl1bTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgQGluY2x1ZGUgaWItdHlwZShcImJvZHktbGFyZ2VcIiwgJGliLWZvbnQtYm9keSk7XG5cbiAgICBjb2xvcjogJGliLXRleHQtcHJpbWFyeTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAvLyBjaGV2cm9uXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxNicgaGVpZ2h0PScxNicgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9JyUyMzM3Mzc0Micgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDcG9seWxpbmUgcG9pbnRzPSc2IDkgMTIgMTUgMTggOScvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGliLXJlbSgxOHB4KSBjZW50ZXI7XG4gIH1cblxuICAmX19zZWFyY2gge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICBtaW4td2lkdGg6IGliLXJlbSgzMjdweCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogaWItcmVtKDEycHgpO1xuICAgIHBhZGRpbmc6IGliLXJlbSgxMnB4KSBpYi1yZW0oNHB4KTtcbiAgICBib3JkZXItYm90dG9tOiBpYi1yZW0oMXB4KSBzb2xpZCAgJGliLXRleHQtc2Vjb25kYXJ5O1xuXG4gIH1cblxuICAmX19zZWFyY2gtaWNvbiB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gIH1cblxuICAmX19zZWFyY2gtaW5wdXQge1xuICAgIGZsZXg6IDE7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcblxuICAgIEBpbmNsdWRlIGliLXR5cGUoXCJib2R5LW1lZGl1bVwiLCAkaWItZm9udC1ib2R5KTtcblxuICAgIGNvbG9yOiAkaWItdGV4dC1wcmltYXJ5O1xuXG4gICAgJjo6cGxhY2Vob2xkZXIgeyBjb2xvcjogJGliLXRleHQtc2Vjb25kYXJ5OyB9XG4gIH1cblxuICAvLyDilIDilIAgTGlzdGluZyDigJQgdGVhbS1ncm91cGVkIGJsb2NrcyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgLy8gVGhlIGxpc3QgaXMgYSB2ZXJ0aWNhbCBzdGFjayBvZiB0ZWFtIGdyb3Vwcy4gQSBoYWlybGluZSBydW5zIGFsb25nIHRoZSB0b3Agb2ZcbiAgLy8gdGhlIGZpcnN0IGdyb3VwOyBldmVyeSBncm91cCBpcyB0aGVuIGNsb3NlZCBieSBpdHMgb3duIGJvdHRvbSBoYWlybGluZS5cbiAgJl9fbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogaWItcmVtKDQwcHgpO1xuICB9XG5cbiAgLy8gT25lIHRlYW0gZ3JvdXA6IHN0aWNreSBsYWJlbCBvbiB0aGUgbGVmdCwgcm9sZSByb3dzIG9uIHRoZSByaWdodCwgY2xvc2VkIGJ5XG4gIC8vIGEgYm90dG9tIGhhaXJsaW5lIHdpdGggNDJweCBvZiBicmVhdGhpbmcgcm9vbSAoRmlnbWEgQ29tcG9uZW50IDExIC8gMTIpLlxuICAmX19ncm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZ2FwOiBpYi1yZW0oMjRweCk7XG4gICAgcGFkZGluZy1ib3R0b206IGliLXJlbSg0MnB4KTtcbiAgICBib3JkZXItYm90dG9tOiBpYi1yZW0oMXB4KSBzb2xpZCAkaWItYm9yZGVyO1xuICB9XG5cbiAgLy8gSGlkZGVuIGJ5IGZpbHRlciB3aGVuIGEgd2hvbGUgdGVhbSBoYXMgbm8gbWF0Y2hpbmcgcm9sZXMgKEpTIHRvZ2dsZXMgW2hpZGRlbl0pXG4gICZfX2dyb3VwW2hpZGRlbl0geyBkaXNwbGF5OiBub25lOyB9XG5cbiAgJl9fZ3JvdXBfZmlyc3Qge1xuICAgIHBhZGRpbmctdG9wOiBpYi1yZW0oNDBweCk7XG4gIH1cblxuICAvLyBDYXRlZ29yeSBsYWJlbCDigJQgc2hvd24gb25jZSBwZXIgZ3JvdXAuIFN0aWNrcyB3aGlsZSBpdHMgcm9sZXMgc2Nyb2xsIHBhc3QuXG4gICZfX2dyb3VwLWxhYmVsIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiBpYi1yZW0oMTIwcHgpO1xuICAgIHBhZGRpbmctdG9wOiBpYi1yZW0oMjRweCk7XG5cbiAgICBAaW5jbHVkZSBpYi10eXBlKFwiYm9keS1sYXJnZVwiLCAkaWItZm9udC1ib2R5KTtcbiAgICBjb2xvcjogJGliLXRleHQtcHJpbWFyeTtcbiAgfVxuXG4gICZfX2dyb3VwLXJvd3Mge1xuICAgIGZsZXg6IDAgMSBpYi1yZW0oOTYzcHgpO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IGliLXJlbSgyNHB4KTtcbiAgfVxuXG4gICZfX3JvdyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyBWZXJ0aWNhbGx5IGNlbnRlciB0aGUgcm93IGNvbnRlbnRzXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGdhcDogaWItcmVtKDEwcHgpO1xuICAgIHBhZGRpbmc6IGliLXJlbSgzMnB4KSBpYi1yZW0oMjRweCk7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgLy8gRmlnbWEgaGFzIHNoYXJwIDkwLWRlZ3JlZSBjb3JuZXJzXG4gICAgLy8gR3JhZGllbnQgYW5kIGZhY2V0cyBhcmUgYXBwbGllZCBkaXJlY3RseSBvbiBob3ZlclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjM1cyBlYXNlO1xuXG4gICAgQGluY2x1ZGUgaWItcmV2ZWFsKGliLXJlbSgyNHB4KSwgJGliLWJwLXRhYmxldCk7IC8vIGhpZGUtc3RhdGUgZGVza3RvcC1vbmx5ICg+MTAyNHB4KVxuXG4gICAgLy8gQXVyb3JhIGdyYWRpZW50IGRpc2FibGVkIOKAlCBtYXRjaGVzIGxpdmUgQ1NTLCB3aGljaCBjb21tZW50cyB0aGlzIG91dFxuICAgIC8vIGluIGZhdm91ciBvZiBqdXN0IHRoZSByb3ctdmlkZW8gcGxheWluZyBhdCBmdWxsIG9wYWNpdHkgb24gaG92ZXIuXG4gICAgLy8gJjpob3ZlcixcbiAgICAvLyAmLmlzLWFjdGl2ZSB7XG4gICAgLy8gICAvLyA1LXN0b3AgZ3JhZGllbnQgbWF0Y2hpbmcgRmlnbWEgKGJsdWUgLT4gcHVycGxlIC0+IG1hZ2VudGEgLT4gcmVkIC0+IG9yYW5nZSlcbiAgICAvLyAgIC8vIHdpdGggZ2VvbWV0cmljIGZhY2V0IG92ZXJsYXlzIHNpbXVsYXRlZCB2aWEgbGF5ZXJlZCBsaW5lYXItZ3JhZGllbnRzXG4gICAgLy8gICBiYWNrZ3JvdW5kOlxuICAgIC8vICAgICAvLyBEYXJrIGRpYWdvbmFsIHNsYW50cyBvbiB0aGUgbGVmdCAob3ZlcmxheSlcbiAgICAvLyAgICAgbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiKDAsIDAsIDAsIDAuMTQpIDE1JSwgdHJhbnNwYXJlbnQgMTUuMSUpLFxuICAgIC8vICAgICBsaW5lYXItZ3JhZGllbnQoMTUwZGVnLCByZ2IoMCwgMCwgMCwgMC4wOCkgMjUlLCB0cmFuc3BhcmVudCAyNS4xJSksXG4gICAgLy8gICAgIC8vIExpZ2h0IGdlb21ldHJpYyB0cmlhbmdsZXMgcG9pbnRpbmcgdXAgaW4gdGhlIGNlbnRlci1yaWdodFxuICAgIC8vICAgICBsaW5lYXItZ3JhZGllbnQoNTVkZWcsIHRyYW5zcGFyZW50IDQ2JSwgcmdiKDI1NSwgMjU1LCAyNTUsIDAuMDgpIDQ2LjElLCByZ2IoMjU1LCAyNTUsIDI1NSwgMC4wOCkgNzAlLCB0cmFuc3BhcmVudCA3MC4xJSksXG4gICAgLy8gICAgIGxpbmVhci1ncmFkaWVudCgxMjVkZWcsIHRyYW5zcGFyZW50IDU4JSwgcmdiKDI1NSwgMjU1LCAyNTUsIDAuMTIpIDU4LjElLCByZ2IoMjU1LCAyNTUsIDI1NSwgMC4xMikgODAlLCB0cmFuc3BhcmVudCA4MC4xJSksXG4gICAgLy8gICAgIGxpbmVhci1ncmFkaWVudCgxMDBkZWcsIHRyYW5zcGFyZW50IDcyJSwgcmdiKDI1NSwgMjU1LCAyNTUsIDAuMDUpIDcyLjElLCByZ2IoMjU1LCAyNTUsIDI1NSwgMC4wNSkgOTQlLCB0cmFuc3BhcmVudCA5NC4xJSksXG4gICAgLy8gICAgIC8vIEJhc2UgbXVsdGktc3RvcCBBdXJvcmEgZ3JhZGllbnRcbiAgICAvLyAgICAgbGluZWFyLWdyYWRpZW50KDk1ZGVnLCAjMGMyMzdhIDAlLCAjNTcyMDg4IDM4JSwgI2I1MWM1YiA2MiUsICNlYTJmNDMgODUlLCAjZjE2NDNjIDEwMCUpO1xuICAgIC8vIH1cblxuICAgIC8vIFJvdy1sZXZlbCBob3ZlciAvIGFjdGl2ZSByZXBhaW50IChpbnZlcnRlZCB0ZXh0LCBjaGlwIGZsaXAsIGFuZCB0aGUgdmlkZW9cbiAgICAvLyByZXZlYWwgYmVsb3cpIGlzIGEgREVTS1RPUC1vbmx5IGFmZm9yZGFuY2UuIE9uIG1vYmlsZS90YWJsZXQgYSB0YXAgbXVzdFxuICAgIC8vIGxlYXZlIHRoZSByb3cgZmxhdCDigJQgb25seSB0aGUgQVBQTFkgYXJyb3cga2VlcHMgbWFyY2hpbmcgKGdsb2JhbCBydWxlXG4gICAgLy8gZnVydGhlciBkb3duKS4gU2NvcGVkIHRvID4xMDI0cHggc28gdGhlIFdvcmRQcmVzcyBzaW5nbGUtYnVpbGQgY2FuJ3RcbiAgICAvLyByZW9yZGVyIGFuIGVxdWFsLXNwZWNpZmljaXR5IG1vYmlsZSBvdmVycmlkZSBvdXQgb2YgdGhlIGNhc2NhZGUuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IGNhbGMoJGliLWJwLXRhYmxldCArIDFweCkpIHtcbiAgICAgIC8vIFJlY29sb3VyIHRleHQgb24gaG92ZXIgLyBhY3RpdmVcbiAgICAgICY6aG92ZXIgJi10aXRsZSxcbiAgICAgICY6aG92ZXIgJi1tZXRhLFxuICAgICAgJi5pcy1hY3RpdmUgJi10aXRsZSxcbiAgICAgICYuaXMtYWN0aXZlICYtbWV0YSB7IGNvbG9yOiAkaWItdGV4dC1pbnZlcnQ7IH1cblxuICAgICAgLy8gQ2hpcHMgZ2V0IHRoZWlyIG93biBiZyArIHRleHQgc3dhcCAobWF0Y2hlcyB0cy1wcm9qZWN0cy1zZWN0aW9uX19jYXJkLWNoaXAnc1xuICAgICAgLy8gaG92ZXIgdHJlYXRtZW50KSByYXRoZXIgdGhhbiBqdXN0IHRoZSB0ZXh0LWNvbG91ciBmbGlwIGFib3ZlIOKAlCB0aGV5IGNhcnJ5XG4gICAgICAvLyB0aGVpciBvd24gYmFja2dyb3VuZCBib3gsIG5vdCBiYXJlIHRleHQgb3ZlciB0aGUgdmlkZW8uXG4gICAgICAmOmhvdmVyICYtY2hpcCxcbiAgICAgICYuaXMtYWN0aXZlICYtY2hpcCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRpYi1ncmF5LXdoaXRlO1xuICAgICAgICBjb2xvcjogJGliLXRleHQtcHJpbWFyeTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBCYWNrZ3JvdW5kIHZpZGVvIOKAlCBmaWxscyB0aGUgcm93IG9uIGhvdmVyL2FjdGl2ZVxuICAmX19yb3ctdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC41cyBlYXNlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICAvLyBEZXNrdG9wLW9ubHkg4oCUIHNlZSB0aGUgbm90ZSBvbiB0aGUgdGV4dC9jaGlwIHJlcGFpbnQgYWJvdmUuXG4gIEBtZWRpYSAobWluLXdpZHRoOiBjYWxjKCRpYi1icC10YWJsZXQgKyAxcHgpKSB7XG4gICAgJl9fcm93OmhvdmVyICZfX3Jvdy12aWRlbyxcbiAgICAmX19yb3cuaXMtYWN0aXZlICZfX3Jvdy12aWRlbyB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxuXG4gIC8vIEVuc3VyZSB0ZXh0L2FwcGx5IHNpdCBhYm92ZSB0aGUgdmlkZW9cbiAgJl9fcm93LWluZm8sXG4gICZfX3Jvdy1hcHBseSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gIH1cblxuICAvLyBTdHJldGNoZWQgbGluayDigJQgbWFrZXMgdGhlIHdob2xlIHJvdyAobm90IGp1c3QgdGhlIEFQUExZIHBpbGwpIHRoZSBjbGlja1xuICAvLyB0YXJnZXQuIFNpdHMgYWJvdmUgZXZlcnl0aGluZyAodmlkZW8gaW5jbC4pIHNvIGEgY2xpY2svdGFwIGFueXdoZXJlIGluXG4gIC8vIHRoZSByb3cgYWN0aXZhdGVzIGl0OyB0aGUgdmlzdWFsIEFQUExZIHBpbGwgKCZfX3Jvdy1hcHBseSkgaXMgYSBwbGFpbixcbiAgLy8gbm9uLWludGVyYWN0aXZlIHNwYW4gbm93LCBwdXJlbHkgZGVjb3JhdGl2ZS5cbiAgJl9fcm93LWxpbmsge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICB6LWluZGV4OiAyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gIC8vIFRoZSBBUFBMWSBwaWxsJ3MgbWFyY2hpbmctYXJyb3cgaG92ZXIgYW5pbWF0aW9uIGNhbiBubyBsb25nZXIga2V5IG9mZiBpdHNcbiAgLy8gb3duIDpob3ZlciAodGhlIHN0cmV0Y2hlZCBsaW5rIGFib3ZlIGl0IGNhcHR1cmVzIHRoZSBwb2ludGVyIGluc3RlYWQpIOKAlFxuICAvLyB0cmlnZ2VyIGl0IG9mZiByb3ctbGV2ZWwgaG92ZXIvYWN0aXZlIGxpa2UgdGhlIHJlc3Qgb2YgdGhlIHJvdydzIHN0YXRlcy5cbiAgJl9fcm93OmhvdmVyICZfX3Jvdy1hcHBseSAuaWItYnRuX19hcnJvdyxcbiAgJl9fcm93LmlzLWFjdGl2ZSAmX19yb3ctYXBwbHkgLmliLWJ0bl9fYXJyb3cge1xuICAgIGFuaW1hdGlvbjogaWItYXJyb3ctc2xpZGUgLjdzIGN1YmljLWJlemllciguMTYsIDEsIC4zLCAxKSBpbmZpbml0ZTtcbiAgfVxuXG4gIC8vIEhpZGRlbiBieSBmaWx0ZXJcbiAgJl9fcm93W2hpZGRlbl0geyBkaXNwbGF5OiBub25lOyB9XG5cbiAgJl9fcm93LWluZm8ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxuXG4gICZfX3Jvdy10aXRsZSB7XG4gICAgQGluY2x1ZGUgaWItdHlwZShcImhlYWRsaW5lLW1vYmlsZS1tZWRpdW1cIik7XG4gICAgbWFyZ2luOiAwIDAgaWItcmVtKDEycHgpO1xuICB9XG5cbiAgJl9fcm93LW1ldGEge1xuICAgIEBpbmNsdWRlIGliLXR5cGUoXCJib2R5LW1lZGl1bVwiKTtcbiAgICBjb2xvcjogJGliLXRleHQtcHJpbWFyeTtcbiAgICBtYXJnaW46IDAgMCBpYi1yZW0oMTJweCk7XG4gIH1cblxuICAvLyBUYWcgY2hpcHMgYmVsb3cgdGhlIG1ldGEgbGluZSDigJQgc2FtZSBwaWxsIHRyZWF0bWVudCBhc1xuICAvLyB0cy1wcm9qZWN0cy1zZWN0aW9uX19jYXJkLWNoaXAgKGNyZWFtIGZpbGwsIGhhaXJsaW5lIGJvcmRlciwgb2Zmc2V0IHJlZCBzaGFkb3cpLlxuICAmX19yb3ctY2hpcHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogaWItc3BhY2UoOCk7XG4gIH1cblxuICAmX19yb3ctY2hpcCB7XG4gICAgYmFja2dyb3VuZDogJGliLWNyZWFtLWxpZ2h0O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgZm9udC1mYW1pbHk6ICRpYi1mb250LWhlYWRpbmc7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXNpemU6IGliLXJlbSgxNHB4KTtcbiAgICBsaW5lLWhlaWdodDogaWItcmVtKDI0cHgpO1xuICAgIGNvbG9yOiAkaWItdGV4dC1zZWNvbmRhcnk7XG4gICAgcGFkZGluZzogMCBpYi1zcGFjZSgxMik7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBib3JkZXI6IC41cHggc29saWQgJGliLWdyYXktbWVkaXVtO1xuICAgIGJveC1zaGFkb3c6IDFweCAxcHggMCAwICRpYi1yZWQtcGVhY2g7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuM3MgZWFzZSwgYm9yZGVyLWNvbG9yIC4zcyBlYXNlLCBjb2xvciAuM3MgZWFzZTtcbiAgfVxuXG4gIC8vIERlc2t0b3Atb25seSDigJQgdGhlIG1hcmt1cCBhbHNvIGNhcnJpZXMgdGhlIHNoYXJlZCAuaWItYnRuIC8gLmliLWJ0bi0tcHJpbWFyeVxuICAvLyAvIC5pYi1idG4tLXdpdGgtaWNvbiBjbGFzc2VzIChmb3IgdGhlIHJlYWwgY29tcG9uZW50IGxvb2sgKyBob3ZlciBtYXJjaGluZ1xuICAvLyBhcnJvdyBvbiBtb2JpbGUsIHNlZSBiZWxvdyksIHNvIHRoaXMgd2hvbGUgYmxvY2sgaXMgc2NvcGVkIHRvIGRlc2t0b3AgYW5kXG4gIC8vIGV4cGxpY2l0bHkgbmV1dHJhbGl6ZXMgdGhlIHNoYXJlZCBjb21wb25lbnQncyBvd24gZmlsbC9ub3RjaC9ob3ZlciBzbyB0aGVcbiAgLy8gZXhpc3RpbmcgY3JlYW0tbm90Y2ggKyBwaW5rLWJhY2twbGF0ZSB0cmVhdG1lbnQgcmVuZGVycyB1bmNoYW5nZWQuXG4gIEBtZWRpYSAobWluLXdpZHRoOiBjYWxjKCRpYi1icC10YWJsZXQgKyAxcHgpKSB7XG4gICAgJl9fcm93LWFwcGx5LmliLWJ0biB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IGliLXJlbSgxMnB4KSBpYi1yZW0oMzJweCk7XG5cbiAgICAgIEBpbmNsdWRlIGliLXR5cGUoXCJsYWJlbC1zbWFsbFwiKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLjFlbTtcbiAgICAgIGNvbG9yOiAkaWItdGV4dC1wcmltYXJ5O1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgLjNzIGVhc2U7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAvLyBOZXV0cmFsaXplIHRoZSBzaGFyZWQgY29tcG9uZW50J3Mgb3duIHZpc2libGUgZmlsbCBvbiB0aGUgaW5uZXIgc3BhbiDigJRcbiAgICAgIC8vIGRlc2t0b3Aga2VlcHMgYSB0cmFuc3BhcmVudCBsYWJlbCB3aXRoIHRoZSBiYWNrcGxhdGUgcHNldWRvLWVsZW1lbnRzXG4gICAgICAvLyBiZWxvdyBkb2luZyB0aGUgd29yayBpbnN0ZWFkLlxuICAgICAgLmliLWJ0bl9faW5uZXIge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY2xpcC1wYXRoOiBub25lO1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IGluaGVyaXQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIGNsaXAtcGF0aDogcG9seWdvbihcbiAgICAgICAgICAxMnB4IDAsXG4gICAgICAgICAgMTAwJSAwLFxuICAgICAgICAgIDEwMCUgY2FsYygxMDAlIC0gMTJweCksXG4gICAgICAgICAgY2FsYygxMDAlIC0gMTJweCkgMTAwJSxcbiAgICAgICAgICAwIDEwMCUsXG4gICAgICAgICAgMCAxMnB4XG4gICAgICAgICk7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjM1cyBlYXNlLCB0cmFuc2Zvcm0gLjM1cyBlYXNlO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBpbnNldDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogJGliLWNyZWFtLW1pc3Q7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgei1pbmRleDogLTI7XG4gICAgICAgIGluc2V0OiBpYi1yZW0oNHB4KSBpYi1yZW0oLTRweCkgaWItcmVtKC00cHgpIGliLXJlbSg0cHgpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkaWItcmVkLXBlYWNoO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE9uIHJvdyBob3Zlci9hY3RpdmUgdGhlIEFQUExZIGxpbmsgYmVjb21lcyBhIGNyZWFtIG5vdGNoZWQgYnV0dG9uIHdpdGggYSBoYXJkXG4gICAgLy8gcGluayBcImJhY2sgcGxhdGVcIiBvZmZzZXQgZG93bi1yaWdodCBiZWhpbmQgaXQgKEZpZ21hIG5vZGUgMTAxODE6MjcxMTcpLlxuICAgIC8vIFdlIHVzZSBwc2V1ZG8tZWxlbWVudHMgc28gdGhlIHNoYWRvdyBpcyBub3QgY2xpcHBlZCBvZmYgYnkgY2xpcC1wYXRoLlxuICAgICZfX3Jvdzpob3ZlciAmX19yb3ctYXBwbHksXG4gICAgJl9fcm93LmlzLWFjdGl2ZSAmX19yb3ctYXBwbHkge1xuICAgICAgY29sb3I6ICRpYi10ZXh0LXByaW1hcnk7XG5cbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lOyAvLyBuZXV0cmFsaXplIC5pYi1idG4ncyBvd24gaG92ZXIgZGVwdGgtYmxvY2sgc2hpZnRcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBFbXB0eS1zdGF0ZSB3aGVuIGZpbHRlcnMgbWF0Y2ggbm90aGluZyAoSlMgdG9nZ2xlcyBbaGlkZGVuXSlcbiAgJl9fZW1wdHkge1xuICAgIHBhZGRpbmc6IGliLXJlbSg0OHB4KSAwO1xuXG4gICAgQGluY2x1ZGUgaWItdHlwZShcImJvZHktbGFyZ2VcIiwgJGliLWZvbnQtYm9keSk7XG5cbiAgICBjb2xvcjogJGliLXRleHQtc2Vjb25kYXJ5O1xuICB9XG5cbiAgLy8g4pSA4pSAIFJlY3J1aXRpbmcgbm90ZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgJl9fbm90ZSB7XG4gICAgbWFyZ2luLXRvcDogaWItcmVtKDQwcHgpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiBpYi1yZW0oNTBweCkgMDtcblxuICAgIEBpbmNsdWRlIGliLXR5cGUoXCJib2R5LW1lZGl1bVwiLCAkaWItZm9udC1ib2R5KTtcblxuICAgIGNvbG9yOiAkaWItdGV4dC1wcmltYXJ5O1xuXG4gICAgYSB7XG4gICAgICBjb2xvcjogJGliLXJlZC1icmFuZDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiBpYi1yZW0oMnB4KTtcbiAgICB9XG4gIH1cblxuICAvLyDilIDilIAgTW9iaWxlICsgdGFibGV0ICjiiaQxMDI0cHgpIOKAlCBtb2JpbGUgbGF5b3V0LCBzYW1lIGhhbmRvZmYgYXMgb3RoZXIgcGFnZXMg4pSA4pSAXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8oJGliLWJwLXRhYmxldCkge1xuICAgIHBhZGRpbmc6IGliLXJlbSg4MHB4KSAwO1xuXG4gICAgJl9fY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctaW5saW5lOiBpYi1yZW0oMjBweCk7XG4gICAgfVxuXG4gICAgJl9faGVhZGluZyB7XG4gICAgICBAaW5jbHVkZSBpYi10eXBlKFwiaGVhZGxpbmUtd2ViLXNtYWxsXCIpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogaWItcmVtKDMycHgpO1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cblxuICAgICZfX2ZpbHRlcnMge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgZ2FwOiBpYi1yZW0oMjRweCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiBpYi1yZW0oMzJweCk7XG4gICAgfVxuXG4gICAgJl9fZmllbGQge1xuICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgZ2FwOiBpYi1yZW0oOHB4KTtcbiAgICB9XG5cbiAgICAmX19maWVsZC1sYWJlbCB7XG4gICAgICBmb250LXNpemU6IGliLXJlbSgyMHB4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBpYi1yZW0oMzRweCk7XG4gICAgfVxuXG4gICAgJl9fc2VsZWN0IHtcbiAgICAgIGZvbnQtc2l6ZTogaWItcmVtKDIwcHgpO1xuICAgICAgbGluZS1oZWlnaHQ6IGliLXJlbSgzNHB4KTtcbiAgICAgIHBhZGRpbmc6IGliLXJlbSgxMnB4KSBpYi1yZW0oNDRweCkgaWItcmVtKDEycHgpIGliLXJlbSgxNnB4KTtcbiAgICB9XG5cbiAgICAmX19zZWFyY2gge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgIHBhZGRpbmc6IGliLXJlbSgxM3B4KSBpYi1yZW0oMTZweCk7XG4gICAgICBib3JkZXItYm90dG9tOiBpYi1yZW0oMXB4KSBzb2xpZCAkaWItZ3JheS1tZWRpdW07XG4gICAgfVxuXG4gICAgJl9fc2VhcmNoLWlucHV0IHtcbiAgICAgIGZvbnQtc2l6ZTogaWItcmVtKDE4cHgpO1xuICAgICAgbGluZS1oZWlnaHQ6IGliLXJlbSgzMHB4KTtcbiAgICAgIGNvbG9yOiAkaWItZ3JheS1tZWRpdW07XG4gICAgfVxuXG4gICAgJl9fbGlzdCB7XG4gICAgICBnYXA6IGliLXJlbSg0MHB4KTtcbiAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gU3RhY2sgdGhlIHRlYW0gbGFiZWwgYWJvdmUgaXRzIHJvbGVzOyBkcm9wIHN0aWNreSBvbiBzbWFsbCBzY3JlZW5zLlxuICAgICZfX2dyb3VwIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBnYXA6IGliLXJlbSgxNnB4KTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG5cbiAgICAmX19ncm91cF9maXJzdCB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG5cbiAgICAmX19ncm91cC1sYWJlbCB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgcGFkZGluZy10b3A6IDA7XG5cbiAgICAgIEBpbmNsdWRlIGliLXR5cGUoXCJsYWJlbC1sYXJnZVwiKTtcbiAgICAgIGNvbG9yOiAkaWItcmVkLWRhcms7XG4gICAgfVxuXG4gICAgJl9fZ3JvdXAtcm93cyB7XG4gICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZ2FwOiBpYi1yZW0oMTZweCk7XG4gICAgfVxuXG4gICAgJl9fcm93IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGdhcDogaWItcmVtKDRweCk7XG4gICAgICBwYWRkaW5nOiBpYi1yZW0oMTZweCk7XG4gICAgICBib3JkZXItYm90dG9tOiBpYi1yZW0oMXB4KSBzb2xpZCAkaWItYm9yZGVyLXRlcnRpYXJ5O1xuICAgICAgYmFja2dyb3VuZDogJGliLWJnLXByaW1hcnk7XG4gICAgfVxuXG4gICAgJl9fcm93LWluZm8geyB3aWR0aDogMTAwJTsgfVxuXG4gICAgJl9fcm93LXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogaWItcmVtKDI0cHgpO1xuICAgICAgbGluZS1oZWlnaHQ6IGliLXJlbSgzNHB4KTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtLjA0ZW07XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogaWItcmVtKDRweCk7XG4gICAgfVxuXG4gICAgJl9fcm93LW1ldGEge1xuICAgICAgZm9udC1zaXplOiBpYi1yZW0oMThweCk7XG4gICAgICBsaW5lLWhlaWdodDogaWItcmVtKDMwcHgpO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGNvbG9yOiAkaWItdGV4dC1wcmltYXJ5O1xuICAgIH1cblxuICAgICZfX3Jvdy1jaGlwcyB7XG4gICAgICBtYXJnaW4tdG9wOiBpYi1yZW0oNHB4KTtcbiAgICB9XG5cbiAgICAvLyBPbiBtb2JpbGUgdGhlIEFQUExZIGxpbmsgZHJvcHMgdGhlIHJlZCBwaWxsIGVudGlyZWx5IOKAlCB0cmFuc3BhcmVudCxcbiAgICAvLyBicmFuZC1yZWQgdW5kZXJsaW5lZCBsYWJlbCArIHRoZSBtYXJjaGluZyBhcnJvdy4gUXVhbGlmaWVkIHdpdGggYC5pYi1idG5gXG4gICAgLy8gKGFscmVhZHkgb24gdGhlIG1hcmt1cCkgc28gdGhlIGNvbXBvdW5kIHNlbGVjdG9yIG91dC1zcGVjaWZpZXMgdGhlIHNoYXJlZFxuICAgIC8vIGNvbXBvbmVudCdzIG93biBgLmliLWJ0bi0tcHJpbWFyeSAuaWItYnRuX19pbm5lcmAgZmlsbCBhbmQgc3Vydml2ZXMgdGhlXG4gICAgLy8gV29yZFByZXNzIHNpbmdsZS1idWlsZCdzIG1lZGlhLXJ1bGUgcmVvcmRlciB3aXRob3V0IGEgc291cmNlLW9yZGVyIHRpZS5cbiAgICAmX19yb3ctYXBwbHkuaWItYnRuIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1hcmdpbi10b3A6IGliLXJlbSgxNnB4KTtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgICAuaWItYnRuX19pbm5lciB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBjbGlwLXBhdGg6IG5vbmU7XG4gICAgICAgIGNvbG9yOiAkaWItcmVkLWJyYW5kO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiBpYi1yZW0oM3B4KTtcblxuICAgICAgICAmOjpiZWZvcmUgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgICB9XG5cbiAgICAgIC5pYi1idG5fX2Fycm93IHtcbiAgICAgICAgY29sb3I6ICRpYi1yZWQtYnJhbmQ7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19ub3RlIHtcbiAgICAgIG1hcmdpbi10b3A6IGliLXJlbSgzMnB4KTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogaWItcmVtKDE2cHgpO1xuICAgICAgbGluZS1oZWlnaHQ6IGliLXJlbSgyNnB4KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBjb2xvcjogJGliLXRleHQtcHJpbWFyeTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBhc3NldHMvc2Nzcy9wYWdlcy9jYXJlZXJzLnNjc3Ncbi8vIEVudHJ5IHBvaW50IOKAlCBpbXBvcnRzIGFsbCBDYXJlZXJzIHBhZ2Ugc2VjdGlvbiBwYXJ0aWFscy5cbi8vIENvbXBpbGU6IG5wbSBydW4gc2FzczpidWlsZCAgfCAgV2F0Y2g6IG5wbSBydW4gc2Fzc1xuXG4vLyBAdXNlIG11c3QgY29tZSBmaXJzdCDigJQgYWxsIHJ1bGVzIGdvIGluc2lkZSB0aGUgcGFydGlhbHNcbkB1c2UgXCJ1dGlsc1wiOyAgIC8vIHNoYXJlZCBpYi0gZGVzaWduIHRva2VucyArIGJyZWFrcG9pbnQgdG9rZW5zXG5AdXNlIFwiYmFzZVwiOyAgICAvLyBnbG9iYWwgcmVzZXQgKyBodG1sL2JvZHkgYmFzZSBzdHlsZXNcbkB1c2UgXCJoZWxwZXJzXCI7IC8vIC5pYi1tb2JpbGUtb25seSAvIC5pYi10YWJsZXQtb25seSAvIC5pYi1tb2JpbGUtdGFibGV0LW9ubHkgLyAuaWItZGVza3RvcC1vbmx5IC8gLmliLW0tcmV2ZWFsXG5AdXNlIFwiYnV0dG9uc1wiOyAvLyBzaGFyZWQgYnV0dG9uIHN5c3RlbSAobW9iaWxlIHNpemluZyDiiaQxMDI0cHgpXG5AdXNlIFwiY2FyZWVycy9oZXJvLXNlY3Rpb25cIjtcbkB1c2UgXCJjYXJlZXJzL2N1bHR1cmUtc2VjdGlvblwiO1xuQHVzZSBcImNhcmVlcnMvdmFsdWVzLXNlY3Rpb25cIjtcbkB1c2UgXCJjYXJlZXJzL3RlYW0tcGhvdG8tc2VjdGlvblwiO1xuQHVzZSBcImNhcmVlcnMvcm9sZXMtc2VjdGlvblwiO1xuQHVzZSBcImNhcmVlcnMvb3BlbmluZ3Mtc2VjdGlvblwiO1xuXG4vLyDilIDilIAgUGFnZS1sZXZlbCBvdmVycmlkZXMgKGFmdGVyIEB1c2UpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gU2NvcGVkIHRvIC5wYWdlLWNhcmVlcnMgc28gb3RoZXIgcGFnZXMga2VlcCB0aGVpciBnbG9iYWwgc2Nyb2xsLXNuYXAgL1xuLy8gb3ZlcmZsb3cgYmVoYXZpb3IuIG92ZXJmbG93LXg6IGNsaXAgcHJldmVudHMgaG9yaXpvbnRhbCBvdmVyZmxvdyAodGhlIGhlcm9cbi8vIGFycm93ICsgY3VsdHVyZSBjb2xsYWdlIGJsZWVkIHBhc3QgdGhlIGVkZ2UpIHdpdGhvdXQgY3JlYXRpbmcgYSBzY3JvbGxcbi8vIGNvbnRhaW5lciwgc28gcG9zaXRpb246c3RpY2t5IHN0aWxsIHdvcmtzLlxuYm9keS5wYWdlLWNhcmVlcnMge1xuICBvdmVyZmxvdy14OiBjbGlwO1xufVxuXG5odG1sOmhhcyhib2R5LnBhZ2UtY2FyZWVycykge1xuICBvdmVyZmxvdy14OiBjbGlwO1xuICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbiAgc2Nyb2xsLXNuYXAtdHlwZTogbm9uZTtcbn1cbiIsIi8vIGFzc2V0cy9zY3NzL3BhZ2VzL3RydWUtc3Rvcmllcy9faGVyby1zZWN0aW9uLnNjc3Ncbi8vIFNlY3Rpb246IEhlcm9cbi8vIEhlYWRsaW5lICsgdHdvIHN0YXQgYmxvY2tzIChsZWZ0KSAvIHN1cHBvcnRpbmcgY29weSAocmlnaHQpLiBMQ1AtYWRqYWNlbnQg4oCUXG4vLyByZXZlYWwgaXMgaW5zdGFudCBDU1MsIG5vIHNjcm9sbC1kcml2ZW4gSlMgaGVyZS5cblxuQHVzZSBcIi4uL3V0aWxzXCIgYXMgKjtcblxuLnRzLWhlcm8tc2VjdGlvbiB7XG4gIGJhY2tncm91bmQ6ICRpYi1iZy1wcmltYXJ5O1xuICBwYWRkaW5nLXRvcDogaWItcmVtKDIwNHB4KTtcbiAgcGFkZGluZy1ib3R0b206IGliLXJlbSgxNTZweCk7XG5cbiAgLy8gSG9yaXpvbnRhbCBlZGdlcyBtYXRjaCB0aGUgaGVhZGVyL2Zvb3RlciBjb250YWluZXIgZXhhY3RseSDigJQgc2FtZSBib3hcbiAgLy8gbW9kZWwgYXMgLmhlYWRlci1jb250YWluZXIgKDE1NzZweCBib3gsIDQwcHggZ3V0dGVyIGVhdGVuIGZyb20gaW5zaWRlXG4gIC8vID0gMTQ5NnB4IGVmZmVjdGl2ZSBjb250ZW50IHdpZHRoKS5cbiAgJl9faW5uZXIge1xuICAgIG1heC13aWR0aDogdmFyKC0tY29udGFpbmVyLXdpZHRoLXBhZGQpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctaW5saW5lOiB2YXIoLS1ndXR0ZXIpO1xuICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGdhcDogaWItc3BhY2UoODApO1xuICB9XG5cbiAgJl9fbGVmdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogaWItc3BhY2UoNjQpO1xuICAgIG1heC13aWR0aDogaWItcmVtKDkwMHB4KTtcbiAgfVxuXG4gICZfX2hlYWRpbmcge1xuICAgIEBpbmNsdWRlIGliLXR5cGUoXCJkaXNwbGF5LXdlYi1zbWFsbFwiKTtcblxuICAgIGNvbG9yOiAkaWItdGV4dC1wcmltYXJ5O1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gICZfX2hpZ2hsaWdodCB7XG4gICAgYmFja2dyb3VuZDogJGliLWdyYWRpZW50LXRleHQ7XG4gICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgfVxuXG4gIC8vIERlc2t0b3Atb25seSBmYWRlLXVwIHJldmVhbCAoSlMgdG9nZ2xlcyAuaXMtdmlzaWJsZSkg4oCUIGhlYWRpbmcgKyBzdXBwb3J0XG4gIC8vIGNvcHkgc3RheSBzdGF0aWMvaW5zdGFudCBzaW5jZSB0aGUgaGVhZGluZyBpcyBMQ1AtYWRqYWNlbnQuXG4gICZfX3N0YXRzLFxuICAmX19zdXBwb3J0IHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogY2FsYygjeyRpYi1icC10YWJsZXR9ICsgMXB4KSkge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWShpYi1yZW0oNDBweCkpO1xuICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjZzIGN1YmljLWJlemllciguMjUsIC40NiwgLjQ1LCAuOTQpLCB0cmFuc2Zvcm0gLjZzIGN1YmljLWJlemllciguMjUsIC40NiwgLjQ1LCAuOTQpO1xuXG4gICAgICAmLmlzLXZpc2libGUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fc3RhdHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IGliLXNwYWNlKDI0KTtcbiAgfVxuXG4gICZfX3N0YXQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IGliLXNwYWNlKDQpO1xuICB9XG5cbiAgJl9fc3RhdC12YWx1ZSB7XG4gICAgLy8gRmlnbWEgdGV4dCBzdHlsZSBhcHBsaWVkIGhlcmUgaXMgbGl0ZXJhbGx5IFwiaGVhZGxpbmUvbW9iaWxlL2xhcmdlXCIg4oCUXG4gICAgLy8gYW4gZXhhY3QgbWF0Y2ggZm9yICRpYi10eXBlLXNjYWxlJ3MgaGVhZGxpbmUtbW9iaWxlLWxhcmdlIGtleSwgZXZlblxuICAgIC8vIHRob3VnaCB0aGlzIGlzIHRoZSBkZXNrdG9wIHN0YXQgbnVtYmVyIChGaWdtYSdzIG93biBzdHlsZSBuYW1pbmdcbiAgICAvLyBkb2Vzbid0IGFsd2F5cyB0cmFjayBpdHMgdXNhZ2UgYnJlYWtwb2ludCkuXG4gICAgQGluY2x1ZGUgaWItdHlwZShcImhlYWRsaW5lLW1vYmlsZS1sYXJnZVwiKTtcblxuICAgIGNvbG9yOiAkaWItdGV4dC1wcmltYXJ5O1xuICB9XG5cbiAgJl9fc3RhdC1sYWJlbCB7XG4gICAgQGluY2x1ZGUgaWItdHlwZShcImxhYmVsLW1lZGl1bVwiKTtcblxuICAgIGNvbG9yOiAkaWItdGV4dC1zZWNvbmRhcnk7XG4gIH1cblxuICAmX19zdGF0LWRpdmlkZXIge1xuICAgIHdpZHRoOiBpYi1yZW0oMXB4KTtcbiAgICBoZWlnaHQ6IGliLXJlbSg0OHB4KTtcbiAgICBiYWNrZ3JvdW5kOiAkaWItYm9yZGVyLXRlcnRpYXJ5O1xuICB9XG5cbiAgJl9fc3VwcG9ydCB7XG4gICAgQGluY2x1ZGUgaWItdHlwZShcImJvZHktbWVkaXVtXCIpO1xuXG4gICAgY29sb3I6ICRpYi10ZXh0LXNlY29uZGFyeTtcbiAgICBtYXgtd2lkdGg6IGliLXJlbSg0MjBweCk7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8g4pSA4pSAIE1vYmlsZSAo4omkMTAyNHB4IGhhbmRvZmYgcGVyIGJyaWVmKSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgLy8gVGhlIGZpeGVkIC5tYWluLWhlYWRlciBvbmx5IHNocmlua3MgdG8gaXRzIGNvbXBhY3QgYmFyIGF0IOKJpDc2OHB4IChzZWVcbiAgLy8gY3NzL2hlYWRlci5jc3MpIOKAlCBkb3duIHRvIDc2OXB4IGl0J3Mgc3RpbGwgdGhlIGZ1bGwgZGVza3RvcCBoZWFkZXJcbiAgLy8gKHRvcGJhciAxMnB4ICsgODBweCBiYXIgPSA5MnB4KS4gVGhpcyBpcyB0aGUgZmlyc3Qgc2VjdGlvbiBpbiA8bWFpbj4sIHNvXG4gIC8vIGl0cyB0b3AgcGFkZGluZyBpcyB0aGUgb25seSB0aGluZyBrZWVwaW5nIGl0IGZyb20gcmVuZGVyaW5nIHVuZGVybmVhdGhcbiAgLy8gdGhlIGZpeGVkIGhlYWRlciDigJQgdG9wIG9mZnNldCBtdXN0IHN0YXkgZ2VuZXJvdXMgdGhyb3VnaCB0aGF0IHdob2xlXG4gIC8vIHJhbmdlIGFuZCBjYW4gb25seSBzaHJpbmsgb25jZSB0aGUgaGVhZGVyIGl0c2VsZiBhY3R1YWxseSBzaHJpbmtzIGF0XG4gIC8vIOKJpDc2OHB4LiBCb3R0b20gcGFkZGluZyBoYXMgbm8gc3VjaCBjb25zdHJhaW50IGFuZCBjYW4gc2hyaW5rIHJpZ2h0IGF3YXkuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8oJGliLWJwLXRhYmxldCkge1xuICAgIHBhZGRpbmctdG9wOiBpYi1yZW0oMTUwcHgpO1xuICAgIHBhZGRpbmctYm90dG9tOiBpYi1yZW0oNjRweCk7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIHBhZGRpbmctdG9wOiBpYi1yZW0oMTMwcHgpO1xuICAgIH1cblxuICAgIC8vIEZpZ21hIG1vYmlsZSBmcmFtZSBtZWFzdXJlcyB+MjBweCBzaWRlIGluc2V0IChub3QgdGhlIGRlc2t0b3AgNDBweFxuICAgIC8vIGd1dHRlcikg4oCUIG92ZXJyaWRlIHRoZSBjb250YWluZXIgbWl4aW4ncyBwYWRkaW5nLWlubGluZSBmb3IgdGhpcyBwYWdlLlxuICAgICZfX2lubmVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgIGdhcDogaWItc3BhY2UoNDApO1xuICAgICAgcGFkZGluZy1pbmxpbmU6IGliLXJlbSgyMHB4KTtcbiAgICB9XG5cbiAgICAmX19sZWZ0IHtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIGdhcDogaWItc3BhY2UoMzIpO1xuICAgIH1cblxuICAgICZfX2hlYWRpbmcge1xuICAgICAgQGluY2x1ZGUgaWItdHlwZShcImRpc3BsYXktbW9iaWxlLWxhcmdlXCIpO1xuXG4gICAgICAvLyBGaWdtYSBtb2JpbGUgaGVhZGxpbmUgaXMgd2VpZ2h0IDMwMDsgdGhlIHRva2VuJ3MgZGVmYXVsdCBpcyA0MDAg4oCUXG4gICAgICAvLyBzaXplL2xpbmUvdHJhY2tpbmcgbWF0Y2ggZXhhY3RseSwgd2VpZ2h0IGRvZXMgbm90LlxuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICB9XG5cbiAgICAmX19zdGF0LXZhbHVlIHtcbiAgICAgIEBpbmNsdWRlIGliLXR5cGUoXCJib2R5LWxhcmdlXCIpO1xuICAgIH1cblxuICAgICZfX3N0YXQtbGFiZWwge1xuICAgICAgQGluY2x1ZGUgaWItdHlwZShcImxhYmVsLWV4dHJhLXNtYWxsXCIpO1xuICAgIH1cblxuICAgICZfX3N1cHBvcnQge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gYXNzZXRzL3Njc3MvcGFnZXMvdHJ1ZS1zdG9yaWVzL190ZXN0aW1vbmlhbC1zZWN0aW9uLnNjc3Ncbi8vIFNlY3Rpb246IFRlc3RpbW9uaWFsIG9ubHkgc2luZ2xlIHF1b3RlIChubyBjYXJvdXNlbCkuXG5cbkB1c2UgXCIuLi91dGlsc1wiIGFzICo7XG5cbi50cy10ZXN0aW1vbmlhbC1zZWN0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyAvLyBhbmNob3JzIHRoZSBncmFpbiBvdmVybGF5IGJlbG93XG4gIG92ZXJmbG93OiBoaWRkZW47IC8vIEpTIHNjcnVicyBgd2lkdGhgIG9wZW4g4oCUIGtlZXAgdGhlIGdyYWluIGNsaXBwZWQgdG8gdGhlIGJsb2NrXG4gIGJhY2tncm91bmQ6ICRpYi1yZWQtZGFyaztcbiAgd2lkdGg6IG1pbihpYi1yZW0oMTA1MHB4KSwgMTAwJSk7XG4gIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gIHBhZGRpbmctYmxvY2s6IGliLXJlbSgxODhweCk7XG4gIHBhZGRpbmctaW5saW5lOiB2YXIoLS1ndXR0ZXIpOyAvLyBpbnRlcm5hbCBicmVhdGhpbmcgcm9vbSwgaW5kZXBlbmRlbnQgb2YgYmxvY2sgd2lkdGhcblxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vLi4vLi4vc3RhdGljL2Fzc2V0cy9pbWFnZXMvbGF0ZXN0L2dyYWluLXRpbGUucG5nXCIpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQ7XG4gICAgbWl4LWJsZW5kLW1vZGU6IG5vcm1hbDtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHotaW5kZXg6IDE7XG4gIH1cblxuICAmX19pbm5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiBpYi1zcGFjZSg0MCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgJl9fY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiBpYi1yZW0oNjBweCk7IC8vIEZpZ21hOiA2MHB4IGJldHdlZW4gcXVvdGUgYmxvY2ssIGRpdmlkZXIsIGFuZCBjaXRlIChubyBtYXRjaGluZyAkaWItc3BhY2luZyB0b2tlbilcbiAgICBtYXgtd2lkdGg6IGliLXJlbSg2NzRweCk7IC8vIEpTIHNjcnVicyB0aGlzIG9wZW4gYXMgdGhlIHNlY3Rpb24gZXhwYW5kcyDigJQgc2VlIHRlc3RpbW9uaWFsLXNlY3Rpb24uanNcbiAgfVxuXG4gIC8vIExvZ28gKyBxdW90ZSB0cmF2ZWwgYXMgb25lIHVuaXQsIDQwcHggYXBhcnQsIGluc2lkZSB0aGUgNjBweCBjb250ZW50IHJoeXRobVxuICAmX19xdW90ZS13cmFwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IGliLXNwYWNlKDQwKTtcbiAgfVxuICAmX19sb2dvLWJhZGdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiBpYi1yZW0oMTk1cHgpO1xuICAgIGhlaWdodDogaWItcmVtKDEyMHB4KTtcbiAgICBwYWRkaW5nOiBpYi1yZW0oMTBweCk7XG4gICAgYmFja2dyb3VuZDogJGliLWdyYXktd2hpdGU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgYm90dG9tOiBpYi1yZW0oLTE1cHgpO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogaWItcmVtKC0yMHB4KTtcbiAgICAgIGJvcmRlci1sZWZ0OiBpYi1yZW0oMjBweCkgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmlnaHQ6IGliLXJlbSgyMHB4KSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci10b3A6IGliLXJlbSgyM3B4KSBzb2xpZCAkaWItZ3JheS13aGl0ZTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxuICAmX19sb2dvIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgfVxuXG4gICZfX3F1b3RlIHtcbiAgICBAaW5jbHVkZSBpYi10eXBlKFwiaGVhZGxpbmUtd2ViLWxhcmdlXCIpO1xuXG4gICAgY29sb3I6ICRpYi10ZXh0LWludmVydDtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAmX19kaXZpZGVyIHtcbiAgICB3aWR0aDogaWItcmVtKDE1MXB4KTtcbiAgICBoZWlnaHQ6IGliLXJlbSg2cHgpO1xuICAgIGJhY2tncm91bmQ6ICRpYi1yZWQtYnJhbmQ7XG4gICAgYm9yZGVyOiBub25lO1xuICB9XG5cbiAgJl9fY2l0ZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogaWItc3BhY2UoOCk7XG4gIH1cblxuICAmX19jaXRlLW5hbWUge1xuICAgIC8vIE5vIGV4YWN0ICRpYi10eXBlLXNjYWxlIG1hdGNoIGZvciBGaWdtYSdzIDMycHgvNDhweC93ZWlnaHQtNTAwIOKAlFxuICAgIC8vIG5lYXJlc3QgdG9rZW4gKGhlYWRsaW5lLXdlYi1zbWFsbCkgaXMgd2VpZ2h0IDQwMC5cbiAgICAvLyBUT0RPOiBjb25maXJtIGFnYWluc3QgJGliLXR5cGUtc2NhbGUgb25jZSBhIG1hdGNoaW5nIGtleSBleGlzdHMuXG4gICAgZm9udC1mYW1pbHk6ICRpYi1mb250LWhlYWRpbmc7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IGliLXJlbSgzMnB4KTtcbiAgICBsaW5lLWhlaWdodDogaWItcmVtKDQ4cHgpO1xuICAgIGNvbG9yOiAkaWItdGV4dC1pbnZlcnQ7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgJl9fY2l0ZS1jb21wYW55IHtcbiAgICAvLyBObyBleGFjdCAkaWItdHlwZS1zY2FsZSBtYXRjaCBmb3IgRmlnbWEncyAyNHB4LzM2cHgvd2VpZ2h0LTMwMC5cbiAgICAvLyBUT0RPOiBjb25maXJtIGFnYWluc3QgJGliLXR5cGUtc2NhbGUgb25jZSBhIG1hdGNoaW5nIGtleSBleGlzdHMuXG4gICAgZm9udC1mYW1pbHk6ICRpYi1mb250LWhlYWRpbmc7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXNpemU6IGliLXJlbSgyNHB4KTtcbiAgICBsaW5lLWhlaWdodDogaWItcmVtKDM2cHgpO1xuICAgIGNvbG9yOiAkaWItdGV4dC1pbnZlcnQ7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8g4pSA4pSAIE1vYmlsZSAo4omkMTAyNHB4IGhhbmRvZmYgcGVyIGJyaWVmKSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgQGluY2x1ZGUgcmVzcG9uZC10bygkaWItYnAtdGFibGV0KSB7XG4gICAgcGFkZGluZy1ibG9jazogaWItcmVtKDY0cHgpO1xuICAgIHBhZGRpbmctaW5saW5lOiBpYi1yZW0oMzBweCk7IC8vIEZpZ21hIG1vYmlsZSBmcmFtZSBtZWFzdXJlcyB+MzBweCBzaWRlIGluc2V0XG5cbiAgICAvLyBGaWdtYSBtb2JpbGU6IHRoZSB3aG9sZSBzdGFjayByaHl0aG0gdGlnaHRlbnMgdG8gMjRweCAoZGVza3RvcCA2MC80MClcbiAgICAmX19jb250ZW50LFxuICAgICZfX3F1b3RlLXdyYXAge1xuICAgICAgZ2FwOiBpYi1zcGFjZSgyNCk7XG4gICAgfVxuXG4gICAgJl9fbG9nby1iYWRnZSB7XG4gICAgICB3aWR0aDogaWItcmVtKDE0MHB4KTtcbiAgICAgIGhlaWdodDogaWItcmVtKDg2cHgpO1xuICAgICAgcGFkZGluZzogaWItcmVtKDhweCk7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgYm90dG9tOiBpYi1yZW0oLTExcHgpO1xuICAgICAgICBtYXJnaW4tbGVmdDogaWItcmVtKC0xNHB4KTtcbiAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IGliLXJlbSgxNHB4KTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiBpYi1yZW0oMTRweCk7XG4gICAgICAgIGJvcmRlci10b3Atd2lkdGg6IGliLXJlbSgxNnB4KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19xdW90ZSB7XG4gICAgICAvLyBUT0RPOiBjb25maXJtIGFnYWluc3QgJGliLXR5cGUtc2NhbGUg4oCUIG5lYXJlc3QgKGhlYWRsaW5lLW1vYmlsZS1zbWFsbClcbiAgICAgIC8vIGlzIHdlaWdodCA0MDAvbGluZSAyOHB4IHZzIEZpZ21hJ3Mgd2VpZ2h0IDQwMC9saW5lIDMycHguXG4gICAgICBmb250LXdlaWdodDogNDAwOyAvLyBGaWdtYSBtb2JpbGUgcXVvdGUgaXMgd2VpZ2h0IDQwMCwgbm90IHRoZSBkZXNrdG9wIDMwMFxuICAgICAgZm9udC1zaXplOiBpYi1yZW0oMjRweCk7XG4gICAgICBsaW5lLWhlaWdodDogaWItcmVtKDMycHgpO1xuICAgIH1cblxuICAgICZfX2NpdGUtbmFtZSB7XG4gICAgICBmb250LXNpemU6IGliLXJlbSgxOHB4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBpYi1yZW0oNDBweCk7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cblxuICAgICZfX2NpdGUtY29tcGFueSB7XG4gICAgICBmb250LXNpemU6IGliLXJlbSgxNHB4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBpYi1yZW0oMjhweCk7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gYXNzZXRzL3Njc3MvcGFnZXMvdHJ1ZS1zdG9yaWVzL19wcm9qZWN0cy1zZWN0aW9uLnNjc3Ncbi8vIFNlY3Rpb246IEZpbHRlcmFibGUgcHJvamVjdCBncmlkIChcIkZJTFRFUiBTRUxFQ1RJT05cIiArIFwiTWFpblwiKVxuLy8gSGVhZGluZyArIGxpdmUgY291bnRlciwgMyBmaWx0ZXIgZHJvcGRvd25zICsgc2VhcmNoLCBhIHZlcnRpY2FsIHN0YWNrIG9mXG4vLyBwcm9qZWN0LWNhcmQgcm93cyAobm90IGEgZ3JpZCksIGFuZCBkYXRhLWRyaXZlbiBwYWdpbmF0aW9uLiBDb3VudGVyIGFuZFxuLy8gcGFnaW5hdGlvbiByZWZsZWN0IHRoZSBhY3R1YWwgPGFydGljbGU+IGNhcmRzIGluIHRoZSBET00g4oCUIHNlZVxuLy8gdHJ1ZS1zdG9yaWVzL3Byb2plY3RzLXNlY3Rpb24uanMuXG5cbkB1c2UgXCIuLi91dGlsc1wiIGFzICo7XG5cbi8vIFNoYXJlZCBwaWxsIGxvb2sgZm9yIGZpbHRlciBzZWxlY3RzICsgY2F0ZWdvcnkgY2hpcHMgKyBhY3RpdmUgcGFnZSBudW1iZXIuXG5AbWl4aW4gdHMtcGlsbCB7XG4gIGJhY2tncm91bmQ6ICRpYi1jcmVhbS1saWdodDtcbiAgYm9yZGVyLXJhZGl1czogaWItcmVtKDApO1xuICBib3JkZXI6IG5vbmU7XG59XG5cbi50cy1wcm9qZWN0cy1zZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogJGliLWJnLXByaW1hcnk7XG4gIHBhZGRpbmctYmxvY2s6IGliLXJlbSg5NnB4KSBpYi1yZW0oMTU2cHgpO1xuXG4gIC8vIEhvcml6b250YWwgZWRnZXMgbWF0Y2ggdGhlIGhlYWRlci9mb290ZXIgY29udGFpbmVyIGV4YWN0bHkg4oCUIHNhbWUgYm94XG4gIC8vIG1vZGVsIGFzIC5oZWFkZXItY29udGFpbmVyICgxNTc2cHggYm94LCA0MHB4IGd1dHRlciBlYXRlbiBmcm9tIGluc2lkZVxuICAvLyA9IDE0OTZweCBlZmZlY3RpdmUgY29udGVudCB3aWR0aCkuXG4gICZfX2lubmVyIHtcbiAgICBtYXgtd2lkdGg6IHZhcigtLWNvbnRhaW5lci13aWR0aC1wYWRkKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLWlubGluZTogdmFyKC0tZ3V0dGVyKTtcbiAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuXG4gICAgLy8gT2Zmc2V0cyB0aGUgcGFnaW5hdGlvbiBzY3JvbGwtaW50by12aWV3IChzZWUgcHJvamVjdHMtc2VjdGlvbi5qc1xuICAgIC8vIGdvVG9QYWdlKSBiZWxvdyB0aGUgZml4ZWQgLm1haW4taGVhZGVyICg4MHB4KSBwbHVzIGJyZWF0aGluZyByb29tIOKAlFxuICAgIC8vIHdpdGhvdXQgaXQsIHRoZSBoZWFkaW5nL2ZpbHRlciB0b29sYmFyIGxhbmRzIGRpcmVjdGx5IHVuZGVyIHRoZSBoZWFkZXIuXG4gICAgc2Nyb2xsLW1hcmdpbi10b3A6IGliLXJlbSgxMjBweCk7XG4gIH1cblxuICAmX19oZWFkaW5nIHtcbiAgICAvLyBGaWdtYSB0ZXh0IHN0eWxlIGFwcGxpZWQgaGVyZSBpcyBsaXRlcmFsbHkgXCJkaXNwbGF5L21vYmlsZS9tZWRpdW1cIiDigJRcbiAgICAvLyBhbiBleGFjdCBtYXRjaCBmb3IgJGliLXR5cGUtc2NhbGUncyBkaXNwbGF5LW1vYmlsZS1tZWRpdW0ga2V5LCBldmVuXG4gICAgLy8gdGhvdWdoIHRoaXMgaXMgdGhlIGRlc2t0b3AgaGVhZGluZy5cbiAgICBAaW5jbHVkZSBpYi10eXBlKFwiZGlzcGxheS1tb2JpbGUtbWVkaXVtXCIpO1xuXG4gICAgY29sb3I6ICRpYi10ZXh0LXByaW1hcnk7XG4gICAgbWFyZ2luOiAwIDAgaWItc3BhY2UoMjQpO1xuICB9XG5cbiAgJl9faGVhZGluZy1oaWdobGlnaHQge1xuICAgIGNvbG9yOiAkaWItcmVkLWJyYW5kO1xuICB9XG5cbiAgLy8g4pSA4pSAIFRvb2xiYXI6IGNvdW50ZXIgKyBmaWx0ZXIgcGlsbHMgKyBzZWFyY2gg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gICZfX3Rvb2xiYXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogaWItc3BhY2UoMTYpO1xuICAgIG1hcmdpbi1ib3R0b206IGliLXNwYWNlKDQwKTtcbiAgICAvLyBMYW5ndWFnZSBwaWNrZXIgKFdvcmRQcmVzcyBidWlsZCBvbmx5IOKAlCBzYW1lIG1hcmt1cCBhcyB0aGUgaGVhZGVyJ3NcbiAgICAvLyAubGFuZy1waWNrZXIsIHdob3NlIGJhc2Ugc3R5bGVzIGZyb20gaGVhZGVyLmNzcyBhbHJlYWR5IGFwcGx5IGhlcmUpLiBJdFxuICAgIC8vIGlzIGEgZml4ZWQgY29udHJvbDogbmV2ZXIgbGV0IHRoZSBmbGV4IHJvdyBzaHJpbmsgaXQuIFRoZSBtb2JpbGUgYmxvY2tcbiAgICAvLyB0aWdodGVucyBpdHMgdHJpZ2dlciBmdXJ0aGVyIGZvciB0aGUgdGlnaHRlciBzaW5nbGUgcm93LlxuICAgIC5sYW5nLXBpY2tlciB7XG4gICAgICBmbGV4OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICZfX21ldGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiBpYi1zcGFjZSgxMik7XG5cbiAgICBAaW5jbHVkZSBpYi10eXBlKFwiYm9keS1sYXJnZVwiKTtcblxuICAgIGNvbG9yOiAkaWItdGV4dC1zZWNvbmRhcnk7XG4gIH1cblxuICAvLyDilIDilIAgRGVza3RvcCBmaWx0ZXIgZHJvcGRvd25zIChjaGVja2JveCBtdWx0aS1zZWxlY3QgcGFuZWxzKSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgLy8gRWFjaCBwaWxsIGJ1dHRvbiB0b2dnbGVzIGl0cyBvd24gYWJzb2x1dGVseS1wb3NpdGlvbmVkIGNoZWNrYm94IHBhbmVsIOKAlFxuICAvLyBvbmUgb3BlbiBhdCBhIHRpbWUgKEpTIGNsb3NlcyBzaWJsaW5ncyBvbiB0cmlnZ2VyIGNsaWNrIC8gb3V0c2lkZSBjbGljaykuXG4gICZfX2ZpbHRlci1kcm9wZG93biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJi5pcy1vcGVuIHtcbiAgICAgIC50cy1wcm9qZWN0cy1zZWN0aW9uX19maWx0ZXItZHJvcGRvd24taWNvbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoMTgwZGVnKTtcbiAgICAgIH1cblxuICAgICAgLnRzLXByb2plY3RzLXNlY3Rpb25fX2ZpbHRlci1kcm9wZG93bi1wYW5lbCB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19maWx0ZXItZHJvcGRvd24tdHJpZ2dlciB7XG4gICAgQGluY2x1ZGUgdHMtcGlsbDtcbiAgICBAaW5jbHVkZSBpYi10eXBlKFwiYm9keS1sYXJnZVwiKTtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkaWItYm9yZGVyLXByaW1hcnk7XG4gICAgY29sb3I6ICRpYi10ZXh0LXByaW1hcnk7XG4gICAgcGFkZGluZzogaWItc3BhY2UoOCkgaWItc3BhY2UoMzIpIGliLXNwYWNlKDgpIGliLXNwYWNlKDE2KTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAmX19maWx0ZXItZHJvcGRvd24tY291bnQge1xuICAgIGNvbG9yOiAkaWItdGV4dC1wcmltYXJ5O1xuICAgIG1hcmdpbi1sZWZ0OiBpYi1zcGFjZSg0KTtcbiAgfVxuXG4gICZfX2ZpbHRlci1kcm9wZG93bi1pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IGliLXNwYWNlKDEyKTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgY29sb3I6ICRpYi10ZXh0LXByaW1hcnk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycyBlYXNlO1xuICB9XG5cbiAgJl9fZmlsdGVyLWRyb3Bkb3duLXBhbmVsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBjYWxjKDEwMCUgKyAje2liLXNwYWNlKDgpfSk7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiA1MDtcbiAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgbWluLXdpZHRoOiBpYi1yZW0oMjYwcHgpO1xuICAgIGJhY2tncm91bmQ6ICRpYi1ncmF5LXdoaXRlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRpYi1ib3JkZXI7XG4gICAgYm94LXNoYWRvdzogMCBpYi1yZW0oMTJweCkgaWItcmVtKDMycHgpIHJnYmEoJGliLWdyYXktY2hhcmNvYWwsIC4xMik7XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpO1xuICAgIHRyYW5zaXRpb246ICRpYi10cmFuc2l0aW9uLXNtb290aDtcblxuICAgICYuaXMtbG9hZGluZyB7XG4gICAgICBvcGFjaXR5OiAuNjtcbiAgICAgIGN1cnNvcjogd2FpdDtcbiAgICB9XG4gIH1cblxuICAmX19maWx0ZXItZHJvcGRvd24tb3B0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBhZGRpbmc6IGliLXNwYWNlKDQpIGliLXNwYWNlKDE2KTtcbiAgICBtYXgtaGVpZ2h0OiBpYi1yZW0oMjgwcHgpO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cblxuICAmX19maWx0ZXItZHJvcGRvd24tY2xlYXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICRpYi1ncmF5LW1pc3Q7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkaWItYm9yZGVyO1xuICAgIHBhZGRpbmc6IGliLXNwYWNlKDEyKSBpYi1zcGFjZSgxNik7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAkaWItdGV4dC1wcmltYXJ5O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIEBpbmNsdWRlIGliLXR5cGUoXCJsYWJlbC1tZWRpdW1cIik7XG4gIH1cblxuICAmX19zZWFyY2gge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiBpYi1zcGFjZSgxMik7XG4gICAgd2lkdGg6IGliLXJlbSgzOTdweCk7XG4gICAgaGVpZ2h0OiBpYi1yZW0oNTBweCk7XG4gICAgcGFkZGluZzogaWItc3BhY2UoMTIpIGliLXNwYWNlKDE2KTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGliLWJvcmRlci1wcmltYXJ5O1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAmX19zZWFyY2gtaWNvbiB7XG4gICAgY29sb3I6ICRpYi10ZXh0LXNlY29uZGFyeTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgfVxuXG4gIC8vIEZpZ21hIGhhcyBkaWZmZXJlbnQgcGxhY2Vob2xkZXIgY29weSBwZXIgYnJlYWtwb2ludCAoXCJTZWFyY2ggVHJ1ZVxuICAvLyBTdG9yaWVzXCIgZGVza3RvcCAvIFwiU2VhcmNoIFByb2plY3RzXCIgbW9iaWxlKSDigJQgdHdvIGlucHV0cywgb25lIHZpc2libGVcbiAgLy8gYXQgYSB0aW1lLCBib3RoIHdpcmVkIHRvIHRoZSBzYW1lIGZpbHRlcmluZyBsb2dpYy5cbiAgJl9fc2VhcmNoLS1tb2JpbGUtb25seSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICZfX3NlYXJjaC1pbnB1dCB7XG4gICAgZmxleDogMTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuXG4gICAgQGluY2x1ZGUgaWItdHlwZShcImJvZHktbWVkaXVtXCIpO1xuXG4gICAgY29sb3I6ICRpYi10ZXh0LXByaW1hcnk7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGliLXRleHQtZGlzYWJsZWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gU2hvd24gb25seSDiiaQxMDI0cHggKHNlZSBtb2JpbGUgYmxvY2spIOKAlCBvcGVucyBfX2ZpbHRlci1tb2RhbFxuICAmX19maWx0ZXItdG9nZ2xlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IGliLXJlbSg1MHB4KTtcbiAgICBoZWlnaHQ6IGliLXJlbSg1MHB4KTtcbiAgICBib3JkZXItcmFkaXVzOiAwOyAvLyBGaWdtYTogc3F1YXJlLCBub3QgYSBjaXJjbGVcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkaWItYm9yZGVyLXRlcnRpYXJ5O1xuICAgIGJhY2tncm91bmQ6ICRpYi1iZy1wcmltYXJ5O1xuICAgIGNvbG9yOiAkaWItdGV4dC1wcmltYXJ5O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gIC8vIERlc2t0b3Agb25seTogdGhlIDMgZmlsdGVyIHNlbGVjdHMgc2l0IGlubGluZSBpbiB0aGUgdG9vbGJhci4gTW9iaWxlIHVzZXNcbiAgLy8gdGhlIGNoZWNrYm94IGJvdHRvbSBzaGVldCAoX19maWx0ZXItbW9kYWwpIGluc3RlYWQg4oCUIHNlZSBtb2JpbGUgYmxvY2suXG4gICZfX2ZpbHRlci1zaGVldCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IGliLXNwYWNlKDE2KTtcbiAgfVxuXG4gIC8vIOKUgOKUgCBNb2JpbGUgZmlsdGVyIGJvdHRvbSBzaGVldCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgLy8gSGlkZGVuIGVudGlyZWx5IG9uIGRlc2t0b3AgKHNlZSBtb2JpbGUgYmxvY2sgZm9yIHRoZSDiiaQxMDI0cHggcmV2ZWFsKS5cbiAgLy8gSlMgdG9nZ2xlcyBbaGlkZGVuXSArIC5pcy1vcGVuICh0aGUgbGF0dGVyIGRyaXZlcyB0aGUgdHJhbnNpdGlvbikuXG4gICZfX2ZpbHRlci1tb2RhbCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGluc2V0OiAwO1xuICAgIHotaW5kZXg6IDIyMDA7XG5cbiAgICAmW2hpZGRlbl0ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmX19maWx0ZXItbW9kYWwtYmFja2Ryb3Age1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKCRpYi1ncmF5LWNoYXJjb2FsLCAuNSk7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zcyBlYXNlO1xuICB9XG5cbiAgJl9fZmlsdGVyLW1vZGFsLXBhbmVsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbWF4LWhlaWdodDogODV2aDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYmFja2dyb3VuZDogJGliLWJnLXByaW1hcnk7XG4gICAgYm9yZGVyLXJhZGl1czogaWItcmVtKDI0cHgpIGliLXJlbSgyNHB4KSAwIDA7XG4gICAgcGFkZGluZzogaWItc3BhY2UoMTIpIGliLXNwYWNlKDI0KSBpYi1zcGFjZSgyNCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICAgIHRyYW5zaXRpb246ICRpYi10cmFuc2l0aW9uLXNsb3c7XG4gIH1cblxuICAmX19maWx0ZXItbW9kYWwuaXMtb3BlbiB7XG4gICAgLnRzLXByb2plY3RzLXNlY3Rpb25fX2ZpbHRlci1tb2RhbC1iYWNrZHJvcCB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIC50cy1wcm9qZWN0cy1zZWN0aW9uX19maWx0ZXItbW9kYWwtcGFuZWwge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbiAgfVxuXG4gICZfX2ZpbHRlci1tb2RhbC1oYW5kbGUge1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICB3aWR0aDogaWItcmVtKDEwMnB4KTtcbiAgICBoZWlnaHQ6IGliLXJlbSg0cHgpO1xuICAgIGJvcmRlci1yYWRpdXM6IGliLXJlbSgycHgpO1xuICAgIGJhY2tncm91bmQ6ICNhN2E3YjA7XG4gICAgbWFyZ2luLWJvdHRvbTogaWItc3BhY2UoMTYpO1xuICB9XG5cbiAgLy8gTmVnYXRpdmUgaW5saW5lIG1hcmdpbiBjYW5jZWxzIHRoZSBwYW5lbCdzIG93biAyNHB4IGlubGluZSBwYWRkaW5nIHNvXG4gIC8vIHRoZSBib3JkZXItYm90dG9tIHNwYW5zIGVkZ2UtdG8tZWRnZTsgcGFkZGluZy1pbmxpbmUgcmUtYWRkcyB0aGUgMTZweFxuICAvLyAoRmlnbWEgXCJCb2R5L0I0XCIpIGluc2V0IGZvciB0aGUgdGV4dCBpdHNlbGYuXG4gICZfX2ZpbHRlci1tb2RhbC10aXRsZSB7XG4gICAgQGluY2x1ZGUgaWItdHlwZShcImhlYWRsaW5lLW1vYmlsZS1zbWFsbFwiKTtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgY29sb3I6ICRpYi10ZXh0LXByaW1hcnk7XG4gICAgbWFyZ2luOiAwIDAgaWItc3BhY2UoMTYpO1xuICAgIG1hcmdpbi1pbmxpbmU6IC0je2liLXNwYWNlKDI0KX07XG4gICAgcGFkZGluZzogMCBpYi1zcGFjZSgxNikgaWItc3BhY2UoMTYpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkaWItZ3JheS1taXN0O1xuICB9XG5cbiAgJl9fZmlsdGVyLW1vZGFsLWJvZHkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogaWItc3BhY2UoMjQpO1xuICB9XG5cbiAgJl9fZmlsdGVyLWdyb3VwIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMCBpYi1zcGFjZSgyNCk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRpYi1ib3JkZXI7XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cblxuICAgIGxlZ2VuZCB7XG4gICAgICBAaW5jbHVkZSBpYi10eXBlKFwibGFiZWwtbWVkaXVtXCIpO1xuXG4gICAgICBjb2xvcjogJGliLXRleHQtc2Vjb25kYXJ5O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHBhZGRpbmc6IDAgMCBpYi1zcGFjZSgxMik7XG4gICAgfVxuICB9XG5cbiAgJl9fZmlsdGVyLW9wdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogaWItc3BhY2UoMTIpO1xuICAgIHBhZGRpbmc6IGliLXNwYWNlKDEyKSAwO1xuXG4gICAgQGluY2x1ZGUgaWItdHlwZShcImJvZHktc21hbGxcIik7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcblxuICAgIGNvbG9yOiAkaWItdGV4dC1wcmltYXJ5O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gICZfX2ZpbHRlci1jaGVja2JveC1pbnB1dCB7XG4gICAgLy8gVmlzdWFsbHkgaGlkZGVuLCBub3QgZGlzcGxheTpub25lIOKAlCBrZWVwcyBpdCBrZXlib2FyZC9BVCByZWFjaGFibGVcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGJvcmRlcjogMDtcblxuICAgICY6Y2hlY2tlZCB+IC50cy1wcm9qZWN0cy1zZWN0aW9uX19maWx0ZXItY2hlY2tib3gge1xuICAgICAgYmFja2dyb3VuZDogJGliLXJlZC1icmFuZDtcbiAgICAgIGJvcmRlci1jb2xvcjogJGliLXJlZC1icmFuZDtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Zm9jdXMtdmlzaWJsZSB+IC50cy1wcm9qZWN0cy1zZWN0aW9uX19maWx0ZXItY2hlY2tib3gge1xuICAgICAgb3V0bGluZTogMnB4IHNvbGlkICRpYi1yZWQtYnJhbmQ7XG4gICAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2ZpbHRlci1jaGVja2JveCB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiBpYi1yZW0oMjJweCk7XG4gICAgaGVpZ2h0OiBpYi1yZW0oMjJweCk7XG4gICAgYm9yZGVyLXJhZGl1czogaWItcmVtKDApO1xuICAgIGJvcmRlcjogMS41cHggc29saWQgI2QwZDVkZDtcbiAgICBiYWNrZ3JvdW5kOiAkaWItZ3JheS13aGl0ZTtcbiAgICB0cmFuc2l0aW9uOiAkaWItdHJhbnNpdGlvbi1zbW9vdGg7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA0NSU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB3aWR0aDogaWItcmVtKDVweCk7XG4gICAgICBoZWlnaHQ6IGliLXJlbSg5cHgpO1xuICAgICAgYm9yZGVyOiBzb2xpZCAkaWItZ3JheS13aGl0ZTtcbiAgICAgIGJvcmRlci13aWR0aDogMCAycHggMnB4IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoNDVkZWcpO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjJzIGVhc2U7XG4gICAgfVxuICB9XG5cbiAgLy8gU2FtZSBlZGdlLXRvLWVkZ2UgYm9yZGVyIHRlY2huaXF1ZSBhcyBfX2ZpbHRlci1tb2RhbC10aXRsZSAoc2VlIGNvbW1lbnQgdGhlcmUpLlxuICAmX19maWx0ZXItbW9kYWwtZm9vdGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGdhcDogaWItc3BhY2UoMTIpO1xuICAgIG1hcmdpbi1pbmxpbmU6IC0je2liLXNwYWNlKDI0KX07XG4gICAgcGFkZGluZzogaWItc3BhY2UoMTYpO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkaWItYm9yZGVyLXRlcnRpYXJ5O1xuICB9XG5cbiAgJl9fZmlsdGVyLWNsZWFyIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjb2xvcjogJGliLXRleHQtcHJpbWFyeTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIEBpbmNsdWRlIGliLXR5cGUoXCJsYWJlbC1tZWRpdW1cIik7XG4gIH1cblxuICAvLyDilIDilIAgQ2FyZCBsaXN0IOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAmX19saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAvLyBnYXAgKG5vdCBlYWNoIGNhcmQncyBvd24gbWFyZ2luLXRvcCkgc28gaXQgY29sbGFwc2VzIGNvcnJlY3RseSBhcm91bmRcbiAgICAvLyB3aGljaGV2ZXIgY2FyZCBpcyBmaXJzdC9sYXN0IG9uY2UgZmlsdGVyaW5nIGhpZGVzIHRoZSByZXN0IHZpYSBbaGlkZGVuXVxuICAgIGdhcDogaWItc3BhY2UoMTYpO1xuICB9XG5cbiAgJl9fY2FyZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IC8vIGNsaXBzIHRoZSB2aWRlby9zY3JpbSB0byB0aGUgcm93J3Mgb3duIGJveFxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZ2FwOiBpYi1zcGFjZSgyNCk7XG4gICAgcGFkZGluZzogaWItc3BhY2UoNDApIGliLXNwYWNlKDI0KTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGliLWJvcmRlcjtcblxuICAgICZbaGlkZGVuXSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhvdmVyLW9ubHkgYmFja2dyb3VuZCByZWVsICsgc2NyaW0gKGRlc2t0b3AgcG9pbnRlciBkZXZpY2VzIG9ubHkg4oCUIHNlZVxuICAvLyBob3Zlci1jYXBhYmxlIG1lZGlhIHF1ZXJ5KS4gUGF1c2VkL3Jld291bmQgYnkgSlMgb24gbW91c2VsZWF2ZSBzbyBpdFxuICAvLyBuZXZlciBwbGF5cyB1bnNlZW47IG9wYWNpdHktb25seSB0cmFuc2l0aW9uIGtlZXBzIGl0IGNvbXBvc2l0b3ItY2hlYXAuXG4gICZfX2NhcmQtdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICB6LWluZGV4OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjRzIGVhc2U7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICAmX19jYXJkOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKCRpYi1ncmF5LWNoYXJjb2FsLCAuNTUpLCByZ2JhKCRpYi1ncmF5LWNoYXJjb2FsLCAuMTUpKTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjRzIGVhc2U7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICBAbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gICAgLy8gUmVzdCBzdGF0ZSBvbiBwb2ludGVyIGRldmljZXM6IHRoZSBsaW5rIGlzIG91dCBvZiB0aGUgd2F5IGVudGlyZWx5IGFuZFxuICAgIC8vIG9ubHkgcmlkZXMgaW4gd2l0aCB0aGUgY2FyZCdzIHZpZGVvL3NjcmltLiBPcGFjaXR5ICsgdHJhbnNmb3JtIG9ubHksIHNvXG4gICAgLy8gdGhlIHJldmVhbCBzdGF5cyBvbiB0aGUgY29tcG9zaXRvci4gTW9iaWxlIHJlLXNob3dzIGl0ICh0YWJsZXQgYmxvY2spLlxuICAgICZfX2N0YSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCBpYi1yZW0oOHB4KSwgMCk7XG4gICAgfVxuXG4gICAgJl9fY2FyZDpob3ZlcixcbiAgICAmX19jYXJkOmZvY3VzLXdpdGhpbiB7XG4gICAgICAudHMtcHJvamVjdHMtc2VjdGlvbl9fY3RhIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgY29sb3I6ICRpYi1ncmF5LXdoaXRlO1xuICAgICAgfVxuXG4gICAgICAudHMtcHJvamVjdHMtc2VjdGlvbl9fY2FyZC12aWRlbyB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG5cbiAgICAgIC50cy1wcm9qZWN0cy1zZWN0aW9uX19jYXJkLXRhZyxcbiAgICAgIC50cy1wcm9qZWN0cy1zZWN0aW9uX19jYXJkLWRlc2Mge1xuICAgICAgICBjb2xvcjogJGliLWdyYXktd2hpdGU7XG4gICAgICB9XG5cbiAgICAgIC50cy1wcm9qZWN0cy1zZWN0aW9uX19jYXJkLWRlc2Mgc3Ryb25nIHtcbiAgICAgICAgY29sb3I6ICRpYi1ncmF5LXdoaXRlO1xuICAgICAgfVxuXG4gICAgICAudHMtcHJvamVjdHMtc2VjdGlvbl9fY2FyZC1jaGlwIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19jYXJkLWNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IGliLXNwYWNlKDE2KTtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxuXG4gICZfX2NhcmQtdGFnIHtcbiAgICBmb250LWZhbWlseTogJGliLWZvbnQtaGVhZGluZztcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGZvbnQtc2l6ZTogaWItcmVtKDE0cHgpO1xuICAgIGxpbmUtaGVpZ2h0OiBpYi1yZW0oMjRweCk7XG4gICAgY29sb3I6ICRpYi10ZXh0LXNlY29uZGFyeTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAuM3MgZWFzZTtcbiAgfVxuXG4gICZfX2NhcmQtZGVzYyB7XG4gICAgQGluY2x1ZGUgaWItdHlwZShcImJvZHktZXh0cmEtbGFyZ2VcIik7XG5cbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGNvbG9yOiAkaWItdGV4dC1wcmltYXJ5O1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXgtd2lkdGg6IDYwY2g7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgLjNzIGVhc2U7XG5cbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGNvbG9yOiAkaWItcmVkLWJyYW5kO1xuICAgIH1cbiAgfVxuXG4gICZfX2NhcmQtY2hpcHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogaWItc3BhY2UoOCk7XG4gIH1cblxuICAmX19jYXJkLWNoaXAge1xuICAgIEBpbmNsdWRlIHRzLXBpbGw7XG5cbiAgICBmb250LWZhbWlseTogJGliLWZvbnQtaGVhZGluZztcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGZvbnQtc2l6ZTogaWItcmVtKDE0cHgpO1xuICAgIGxpbmUtaGVpZ2h0OiBpYi1yZW0oMjRweCk7XG4gICAgY29sb3I6ICRpYi10ZXh0LXNlY29uZGFyeTtcbiAgICBwYWRkaW5nOiAwIGliLXNwYWNlKDEyKTtcbiAgICBiYWNrZ3JvdW5kOiAkaWItY3JlYW0tbGlnaHQ7XG4gICAgYm9yZGVyOiAuNXB4IHNvbGlkICRpYi1ncmF5LW1lZGl1bTtcbiAgICBib3gtc2hhZG93OiAxcHggMXB4IDAgMCAkaWItcmVkLXBlYWNoO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjNzIGVhc2UsIGJvcmRlci1jb2xvciAuM3MgZWFzZSwgY29sb3IgLjNzIGVhc2U7XG4gIH1cblxuICAvLyBVbmRlcmxpbmVkIHRleHQgbGluayArIGFycm93LCBzYW1lIHBhdHRlcm4gYXMgdGhlIFNlcnZpY2VOb3cgc2xpZGVyJ3NcbiAgLy8gc24tY29udGVudC1zbGlkZXJfX3N0b3J5LWxpbmsuIERlY29yYXRpdmUgb25seSAoYXJpYS1oaWRkZW4pIOKAlCB0aGUgY2FyZCdzXG4gIC8vIHN0cmV0Y2hlZCBfX2NhcmQtbGluayBvdmVybGF5IGJlbG93IG93bnMgdGhlIGhyZWYgYW5kIGFjY2Vzc2libGUgbmFtZSwgc29cbiAgLy8gdGhlcmUncyBubyBzZWNvbmQgdGFiIHN0b3Agb3IgZHVwbGljYXRlIGxpbmsgdGV4dCBwZXIgY2FyZC5cbiAgJl9fY3RhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogaWItcmVtKDE2cHgpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuXG4gICAgQGluY2x1ZGUgaWItdHlwZShcImxhYmVsLW1lZGl1bVwiKTtcblxuICAgIGNvbG9yOiAkaWItdGV4dC1wcmltYXJ5O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjM1cyBlYXNlLFxuICAgICAgdHJhbnNmb3JtIC4zNXMgY3ViaWMtYmV6aWVyKC4yNSwgLjQ2LCAuNDUsIC45NCksXG4gICAgICBjb2xvciAuM3MgZWFzZTtcbiAgfVxuXG4gICZfX2N0YS10ZXh0IHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDVweDtcbiAgICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAxcHg7XG4gIH1cblxuICAmX19jdGEtYXJyb3cge1xuICAgIGZsZXg6IG5vbmU7XG4gICAgZmlsbDogY3VycmVudGNvbG9yO1xuICB9XG5cbiAgLy8gU3RyZXRjaGVkIGxpbmsg4oCUIHRoZSB3aG9sZSBjYXJkIGlzIG9uZSBjbGljayB0YXJnZXQgZm9yIHRoZSBjYXNlIHN0dWR5LlxuICAvLyBUaGUgYXJyb3cgY2hpcCAoX19jdGEpIGlzIG5vdyBhIGRlY29yYXRpdmUgYXJpYS1oaWRkZW4gc3BhbjsgdGhpcyBvdmVybGF5XG4gIC8vIGFuY2hvciBjYXJyaWVzIHRoZSBocmVmICsgYWNjZXNzaWJsZSBuYW1lIGFuZCBzaXRzIGFib3ZlIGV2ZXJ5dGhpbmcgaW5cbiAgLy8gdGhlIGNhcmQgKG5vdGhpbmcgZWxzZSBpbnNpZGUgaXMgaW50ZXJhY3RpdmUpLlxuICAmX19jYXJkLWxpbmsge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICB6LWluZGV4OiAzO1xuXG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IDJweCBzb2xpZCAkaWItcmVkLWJyYW5kO1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gICAgfVxuICB9XG5cbiAgLy8g4pSA4pSAIFBhZ2luYXRpb24g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gICZfX3BhZ2luYXRpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogaWItc3BhY2UoMTYpO1xuICAgIG1hcmdpbi10b3A6IGliLXNwYWNlKDQ4KTtcbiAgfVxuXG4gICZfX3BhZ2UtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiBpYi1zcGFjZSgxNik7XG4gIH1cblxuICAmX19wYWdlLWxhYmVsIHtcbiAgICBjb2xvcjogJGliLXRleHQtcHJpbWFyeTtcbiAgfVxuXG4gICZfX3BhZ2UtbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogaWItc3BhY2UoNCk7XG4gIH1cblxuICAmX19wYWdlLWJ0biB7XG4gICAgbWluLXdpZHRoOiBpYi1yZW0oNDJweCk7XG4gICAgaGVpZ2h0OiBpYi1yZW0oNDJweCk7XG4gICAgcGFkZGluZzogMCBpYi1zcGFjZSg4KTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICRpYi10ZXh0LXByaW1hcnk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IC8vIEZpZ21hOiBhY3RpdmUgcGFnZSBpcyBhIHNxdWFyZSwgbm90IGEgcGlsbFxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogJGliLWNyZWFtLWxpZ2h0O1xuICAgIH1cbiAgfVxuXG4gICZfX3BhZ2UtZWxsaXBzaXMge1xuICAgIGNvbG9yOiAkaWItdGV4dC1wcmltYXJ5O1xuICAgIHBhZGRpbmc6IDAgaWItc3BhY2UoNCk7XG4gIH1cblxuICAvLyBGaWdtYSB0ZXh0IHN0eWxlIGFwcGxpZWQgdG8gXCJQYWdlXCIgLyAxIC8gMiAvIDMgLyDigKYgLyA2IGlzIGxpdGVyYWxseVxuICAvLyBcIk1vYmlsZS9UZXN0aW1vbmlhbC9DbGllbnQgTmFtZSAtIExhcmdlXCIg4oCUIGEgY29tcG9uZW50LXNwZWNpZmljIHN0eWxlLFxuICAvLyBubyBtYXRjaGluZyAkaWItdHlwZS1zY2FsZSBrZXkgKHdlaWdodCA1MDAvbGluZSA0MHB4IHZzIHRpdGxlLW1lZGl1bSdzXG4gIC8vIHdlaWdodCA2MDAvbGluZSAzMHB4KS5cbiAgJl9fcGFnZS1sYWJlbCxcbiAgJl9fcGFnZS1idG4sXG4gICZfX3BhZ2UtZWxsaXBzaXMge1xuICAgIGZvbnQtZmFtaWx5OiAkaWItZm9udC1oZWFkaW5nO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiBpYi1yZW0oMThweCk7XG4gICAgbGluZS1oZWlnaHQ6IGliLXJlbSg0MHB4KTtcbiAgfVxuXG4gICZfX25hdiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogaWItc3BhY2UoMjQpO1xuICB9XG5cbiAgJl9fcHJldixcbiAgJl9fbmV4dCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IGliLXJlbSgxMzJweCk7XG4gICAgaGVpZ2h0OiBpYi1yZW0oNDJweCk7XG4gICAgZ2FwOiBpYi1zcGFjZSg4KTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjb2xvcjogJGliLXRleHQtcHJpbWFyeTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgIC8vIEZpZ21hIHRleHQgc3R5bGUgaGVyZSBpcyBcIkRlc2t0b3AvTGFiZWwvTWVkaXVtIFVwcGVyY2FzZVwiIOKAlCBhXG4gICAgLy8gY29tcG9uZW50LXNwZWNpZmljIHN0eWxlLCBubyBtYXRjaGluZyAkaWItdHlwZS1zY2FsZSBrZXkgKGFjdHVhbFxuICAgIC8vIHdlaWdodCA0MDAvc2l6ZSAxNnB4L2xpbmUgMTZweCwgdnMgbGFiZWwtbGFyZ2UncyA1MDAvMTgvMzAvdXBwZXJjYXNlKS5cbiAgICBmb250LWZhbWlseTogJGliLWZvbnQtaGVhZGluZztcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogaWItcmVtKDE2cHgpO1xuICAgIGxpbmUtaGVpZ2h0OiBpYi1yZW0oMTZweCk7XG5cbiAgICBzdmcge1xuICAgICAgd2lkdGg6IGliLXJlbSgyMHB4KTtcbiAgICAgIGhlaWdodDogaWItcmVtKDIwcHgpO1xuICAgIH1cblxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgb3BhY2l0eTogLjI1O1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gMXB4IHZlcnRpY2FsIGRpdmlkZXIgY2VudGVyZWQgaW4gX19uYXYncyAyNHB4IGdhcCwgYmV0d2VlbiBQcmV2IGFuZCBOZXh0LlxuICAmX19uZXh0OjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IC0je2liLXNwYWNlKDEyKX07XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICRpYi1ncmF5LW1pc3Q7XG4gIH1cblxuICAvLyBpY29uLWFycm93LXByZXYvLW5leHQgaW4gdGhlIHNoYXJlZCBzcHJpdGUgYXJlIGN1cnJlbnRDb2xvci1iYXNlZCDigJQgcGluXG4gIC8vIHRoZW0gdG8gdGhlIGJyYW5kIHJlZCB3aGlsZSBlbmFibGVkIChzY29wZWQgdG8gdGhlIHN2Zywgbm90IHRoZSBidXR0b24sXG4gIC8vIHNvIHRoZSBQcmV2L05leHQgdGV4dCBsYWJlbCBzdGF5cyAkaWItdGV4dC1wcmltYXJ5KTsgZGlzYWJsZWQgYnV0dG9uc1xuICAvLyByZXZlcnQgdGhlIGljb24gdG8gbmV1dHJhbCBncmF5IGluc3RlYWQgb2YgYSBkaW1tZWQgcmVkLlxuICAmX19wcmV2IHN2ZyxcbiAgJl9fbmV4dCBzdmcge1xuICAgIGNvbG9yOiAkaWItcmVkLWJyYW5kO1xuICB9XG5cbiAgJl9fcHJldjpkaXNhYmxlZCBzdmcsXG4gICZfX25leHQ6ZGlzYWJsZWQgc3ZnIHtcbiAgICBjb2xvcjogJGliLWdyYXktbWlzdDtcbiAgfVxuXG4gIC8vIOKUgOKUgCBNb2JpbGUgKOKJpDEwMjRweCBoYW5kb2ZmIHBlciBicmllZikg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8oJGliLWJwLXRhYmxldCkge1xuICAgIHBhZGRpbmctYmxvY2s6IGliLXJlbSg2NHB4KTtcblxuICAgIC8vIEZpZ21hIG1vYmlsZSBmcmFtZSBtZWFzdXJlcyB+MjBweCBzaWRlIGluc2V0IChub3QgdGhlIGRlc2t0b3AgNDBweFxuICAgIC8vIGd1dHRlcikg4oCUIG92ZXJyaWRlIHRoZSBjb250YWluZXIgbWl4aW4ncyBwYWRkaW5nLWlubGluZSBmb3IgdGhpcyBwYWdlLlxuICAgICZfX2lubmVyIHtcbiAgICAgIHBhZGRpbmctaW5saW5lOiBpYi1yZW0oMjBweCk7XG4gICAgICBzY3JvbGwtbWFyZ2luLXRvcDogaWItcmVtKDEwMHB4KTtcbiAgICB9XG5cbiAgICAmX19oZWFkaW5nIHtcbiAgICAgIGZvbnQtc2l6ZTogaWItcmVtKDI4cHgpO1xuICAgICAgbGluZS1oZWlnaHQ6IGliLXJlbSgzNnB4KTtcbiAgICB9XG5cbiAgICAvLyBTaW5nbGUgcm93OiBzZWFyY2ggYm94IChsZWZ0LCBmaWxscykgKyBmaWx0ZXIgdG9nZ2xlICsgbGFuZ3VhZ2UgcGlja2VyXG4gICAgLy8gKGJvdGggcmlnaHQsIGZpeGVkIHdpZHRoKS4gVGhlIHJvdyBpcyBub3dyYXAsIHNvIGFueXRoaW5nIHdpdGhvdXQgYW5cbiAgICAvLyBleHBsaWNpdCBmbGV4LXNocmluazowIGdldHMgc3F1ZWV6ZWQg4oCUIHRoYXQgaXMgd2h5IHRoZSBnbG9iZS9FTiBwaWNrZXJcbiAgICAvLyAoYWRkZWQgb24gdGhlIFdvcmRQcmVzcyBidWlsZCwgc2FtZSBtYXJrdXAgYXMgdGhlIGhlYWRlcidzIC5sYW5nLXBpY2tlcilcbiAgICAvLyB3YXMgY2xpcHBpbmcgb2ZmIHRoZSByaWdodCBlZGdlIGFuZCB0aGUgZmlsdGVyIGljb24gd2FzIG5hcnJvd2luZy4gRXZlcnlcbiAgICAvLyBmaXhlZCBjb250cm9sIGJlbG93IGlzIHBpbm5lZDsgdGhlIHNlYXJjaCBmaWVsZCAobWluLXdpZHRoOjApIGFic29yYnMgYWxsXG4gICAgLy8gdGhlIGdpdmUuXG4gICAgJl9fdG9vbGJhciB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGdhcDogaWItc3BhY2UoMTIpO1xuICAgICAgLy8gLmxhbmctcGlja2VyIGl0c2VsZiBpcyBhbHJlYWR5IGZsZXg6bm9uZSAoYmFzZSBydWxlIGFib3ZlKS4gSGVyZSBqdXN0XG4gICAgICAvLyB0aWdodGVuIHRoZSB0cmlnZ2VyIHNvIGl0IGNvc3RzIHRoZSByb3cgYXMgbGl0dGxlIGFzIHBvc3NpYmxlLlxuICAgICAgLmxhbmctcGlja2VyX190cmlnZ2VyIHtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IDA7XG4gICAgICAgIGdhcDogaWItc3BhY2UoOCk7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIC8vIEtlZXAgdGhlIEVOL0RFIG1lbnUgcGlubmVkIHRvIHRoZSBwaWNrZXIncyByaWdodCBlZGdlIHNvIGl0IG5ldmVyXG4gICAgICAvLyBzcGlsbHMgcGFzdCB0aGUgdmlld3BvcnQgd2hlbiB0aGUgcGlja2VyIHNpdHMgZmx1c2ggdG8gdGhlIGd1dHRlci5cbiAgICAgIC5sYW5nLXBpY2tlcl9fZHJvcGRvd24ge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDb3VudGVyICsgXCJFeHBsb3JlIGJ5XCIgKGFuZCB0aGUgZGVza3RvcCBzZWxlY3RzIGluc2lkZSkgZG9uJ3QgZXhpc3Qgb25cbiAgICAvLyB0aGUgRmlnbWEgbW9iaWxlIGZyYW1lIOKAlCB0aGUgYm90dG9tLXNoZWV0IHRvZ2dsZSByZXBsYWNlcyB0aGVtLlxuICAgICZfX21ldGEge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmX19zZWFyY2gge1xuICAgICAgZmxleDogMSAxIDA7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIC8vIFdpdGhvdXQgdGhpcyBhIGZsZXggaXRlbSB3b24ndCBzaHJpbmsgYmVsb3cgaXRzIGNvbnRlbnQncyBpbnRyaW5zaWNcbiAgICAgIC8vIHdpZHRoICh0aGUgcGxhY2Vob2xkZXIpLCB3aGljaCBmb3JjZWQgdGhlIGZpeGVkIGNvbnRyb2xzIGJlc2lkZSBpdCBvZmZcbiAgICAgIC8vIHRoZSBlZGdlLiBtaW4td2lkdGg6MCBsZXRzIHRoZSBmaWVsZCBnaXZlIHdheSBpbnN0ZWFkLlxuICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGliLWJvcmRlci1wcmltYXJ5O1xuICAgICAgYm9yZGVyLXJhZGl1czogaWItcmVtKDApO1xuICAgIH1cblxuICAgICZfX3NlYXJjaC0tZGVza3RvcC1vbmx5IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJl9fc2VhcmNoLS1tb2JpbGUtb25seSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgb3JkZXI6IC0xOyAvLyBET00gaGFzIHRoZSB0b2dnbGUgZmlyc3Q7IEZpZ21hIHdhbnRzIHNlYXJjaCBvbiB0aGUgbGVmdFxuICAgIH1cblxuICAgICZfX2ZpbHRlci10b2dnbGUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBiYWNrZ3JvdW5kOiAkaWItY3JlYW0tbGlnaHQ7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBmbGV4OiBub25lOyAvLyBob2xkIHRoZSA1MHg1MCBzcXVhcmUg4oCUIG5ldmVyIGxldCB0aGUgcm93IHNxdWVlemUgaXRcbiAgICB9XG5cbiAgICAvLyBSZXBsYWNlZCBieSB0aGUgY2hlY2tib3ggYm90dG9tIHNoZWV0IChfX2ZpbHRlci1tb2RhbCkgb24gbW9iaWxlLlxuICAgICZfX2ZpbHRlci1zaGVldCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8vIEZpZ21hIG1vYmlsZSBzZWFyY2ggcGxhY2Vob2xkZXIgdGV4dCBpcyAxNnB4LzE2cHggdnMgZGVza3RvcCdzIDE4cHgvMzBweFxuICAgICZfX3NlYXJjaC1pbnB1dCB7XG4gICAgICBmb250LXNpemU6IGliLXJlbSgxNnB4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBpYi1yZW0oMTZweCk7XG4gICAgICBtaW4td2lkdGg6IDA7IC8vIHNocmluayB3aXRoIGl0cyBjb250YWluZXIgaW5zdGVhZCBvZiBmb3JjaW5nIGl0IHdpZGVyXG4gICAgfVxuXG4gICAgLy8gU3RhY2tzOiBjb250ZW50IGNvbHVtbiBmaXJzdCwgQ1RBIGxpbmsgYmVsb3cgaXQgYW5kIGxlZnQtYWxpZ25lZFxuICAgICZfX2NhcmQge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgZ2FwOiBpYi1zcGFjZSgxNik7XG4gICAgICBwYWRkaW5nOiBpYi1zcGFjZSgyNCkgaWItc3BhY2UoMTYpO1xuICAgIH1cblxuICAgIC8vIE5vIGhvdmVyIG9uIHRvdWNoIOKAlCB0aGUgbGluayBpcyBhbHdheXMgb24gc2hvdyBoZXJlLCBzbyBpdCBtdXN0IHVuZG8gdGhlXG4gICAgLy8gcG9pbnRlci1kZXZpY2UgaGlkZSBzdGF0ZSAobGF0ZXIgaW4gc291cmNlLCBzbyBpdCB3aW5zIGF0IGVxdWFsIHdlaWdodCkuXG4gICAgJl9fY3RhIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICBmb250LXNpemU6IGliLXJlbSgxNHB4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBpYi1yZW0oMjJweCk7XG4gICAgICBnYXA6IGliLXJlbSgxMnB4KTtcbiAgICB9XG5cbiAgICAvLyBGaWdtYSBtb2JpbGUgY2FyZCB0YWcvY2hpcHMgYXJlIDEycHgvMTZweCB2cyBkZXNrdG9wJ3MgMTRweC8yNHB4XG4gICAgJl9fY2FyZC10YWcsXG4gICAgJl9fY2FyZC1jaGlwIHtcbiAgICAgIGZvbnQtc2l6ZTogaWItcmVtKDEycHgpO1xuICAgICAgbGluZS1oZWlnaHQ6IGliLXJlbSgxNnB4KTtcbiAgICB9XG5cbiAgICAvLyBGaWdtYSB0ZXh0IHN0eWxlIGhlcmUgaXMgXCJib2R5L3NtYWxsXCIg4oCUIGFuIGV4YWN0ICRpYi10eXBlLXNjYWxlIG1hdGNoXG4gICAgLy8gKHdlaWdodCAzMDAvMTZweC8yNnB4KSwgdW5saWtlIHRoZSBkZXNrdG9wIGNhcmQtZGVzYydzIGN1c3RvbSBvdmVycmlkZS5cbiAgICAmX19jYXJkLWRlc2Mge1xuICAgICAgQGluY2x1ZGUgaWItdHlwZShcImJvZHktc21hbGxcIik7XG4gICAgfVxuXG4gICAgLy8gRmlnbWEgbW9iaWxlIHBhZ2luYXRpb246IGJhcmUgbnVtYmVycyBsZWZ0LCBwcmV2L25leHQgYXJyb3dzIHJpZ2h0IOKAlFxuICAgIC8vIG5vIFwiUGFnZVwiIGxhYmVsLCBhbmQgdGhlIGJhc2Ugc3BhY2UtYmV0d2VlbiBhbHJlYWR5IHNwbGl0cyB0aGUgcm93LlxuICAgICZfX3BhZ2UtbGFiZWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBBcnJvdy1vbmx5IHByZXYvbmV4dDogemVybyB0aGUgZm9udCBzbyB0aGUgdGV4dCBub2RlcyBjb2xsYXBzZSB3aGlsZVxuICAgIC8vIHRoZSBzdmcgKHNpemVkIGluIHJlbSwgbm90IGVtKSBrZWVwcyByZW5kZXJpbmcuIEZpZ21hIG1vYmlsZSBzaHJpbmtzXG4gICAgLy8gdGhlIGJ1dHRvbnMgdG8gYSAzMnB4IGljb24tb25seSBzcXVhcmUgd2l0aCBhIHRpZ2h0ZXIgMTZweCBuYXYgZ2FwXG4gICAgLy8gYW5kIGRyb3BzIHRoZSBkZXNrdG9wIGRpdmlkZXIgYmV0d2VlbiB0aGVtLlxuICAgICZfX25hdiB7XG4gICAgICBnYXA6IGliLXNwYWNlKDE2KTtcbiAgICB9XG5cbiAgICAmX19wcmV2LFxuICAgICZfX25leHQge1xuICAgICAgd2lkdGg6IGliLXJlbSgzMnB4KTtcbiAgICAgIGhlaWdodDogaWItcmVtKDMycHgpO1xuICAgICAgZm9udC1zaXplOiAwO1xuXG4gICAgICAvLyBEZXNrdG9wJ3MgMC4yNSBkaXNhYmxlZCBkaW0gcmVhZHMgYXMgYmFyZWx5LXRoZXJlIGF0IHRoaXMgc2l6ZSDigJRcbiAgICAgIC8vIHRoZSBkaXNhYmxlZCBzdmcgY29sb3Igc3dhcCAoZ3JheS1taXN0LCBzZXQgYXQgZGVza3RvcCBzY29wZSkgaXNcbiAgICAgIC8vIGVub3VnaCBvZiBhIGN1ZSBvbiBtb2JpbGUsIHNvIGtlZXAgZnVsbCBvcGFjaXR5IGhlcmUuXG4gICAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19uZXh0OjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBGaWdtYSBtb2JpbGUgcGFnaW5hdGlvbiBudW1iZXJzIGFyZSAxNnB4LzMycHggd2VpZ2h0IDQwMCB2cyBkZXNrdG9wJ3NcbiAgICAvLyAxOHB4LzMwcHggd2VpZ2h0IDYwMC4gRmlnbWEncyBtb2JpbGUgZnJhbWUgb25seSBleHBvc2VkIG51bWJlcmVkIHBhZ2VcbiAgICAvLyBpdGVtcyDigJQgbm8gc2VwYXJhdGUgUHJldi9OZXh0IHRleHQgc3R5bGUgd2FzIHZpc2libGUgdGhlcmUsIHNvIFByZXYvTmV4dFxuICAgIC8vIHNpemluZyBpcyBsZWZ0IGFzLWlzICh1bmNvbmZpcm1lZCkgcmF0aGVyIHRoYW4gZ3Vlc3NlZC5cbiAgICAmX19wYWdlLWxhYmVsLFxuICAgICZfX3BhZ2UtYnRuLFxuICAgICZfX3BhZ2UtZWxsaXBzaXMge1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtc2l6ZTogaWItcmVtKDE2cHgpO1xuICAgICAgbGluZS1oZWlnaHQ6IGliLXJlbSgzMnB4KTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIGFzc2V0cy9zY3NzL3BhZ2VzL3RydWUtc3Rvcmllcy5zY3NzXG4vLyBFbnRyeSBwb2ludCDigJQgaW1wb3J0cyBhbGwgVHJ1ZSBTdG9yaWVzIHBhZ2Ugc2VjdGlvbiBwYXJ0aWFscy5cbi8vIENvbXBpbGU6IG5wbSBydW4gc2FzczpidWlsZCAgfCAgV2F0Y2g6IG5wbSBydW4gc2Fzc1xuXG4vLyBAdXNlIG11c3QgY29tZSBmaXJzdCDigJQgYWxsIHJ1bGVzIGdvIGluc2lkZSB0aGUgcGFydGlhbHNcbkB1c2UgXCIuLi91dGlsc1wiOyAgIC8vIHNoYXJlZCBpYi0gZGVzaWduIHRva2VucyArIGJyZWFrcG9pbnQgdG9rZW5zXG5AdXNlIFwiLi4vYmFzZVwiOyAgICAvLyBnbG9iYWwgcmVzZXQgKyBodG1sL2JvZHkgYmFzZSBzdHlsZXNcbkB1c2UgXCIuLi9oZWxwZXJzXCI7IC8vIC5pYi1tb2JpbGUtb25seSAvIC5pYi10YWJsZXQtb25seSAvIC5pYi1tb2JpbGUtdGFibGV0LW9ubHkgLyAuaWItZGVza3RvcC1vbmx5IC8gLmliLW0tcmV2ZWFsXG5AdXNlIFwiLi4vYnV0dG9uc1wiOyAvLyBzaGFyZWQgYnV0dG9uIHN5c3RlbSAobW9iaWxlIHNpemluZyDiiaQxMDI0cHgpXG5AdXNlIFwiLi4vdHJ1ZS1zdG9yaWVzL2hlcm8tc2VjdGlvblwiO1xuQHVzZSBcIi4uL3RydWUtc3Rvcmllcy90ZXN0aW1vbmlhbC1zZWN0aW9uXCI7XG5AdXNlIFwiLi4vdHJ1ZS1zdG9yaWVzL3Byb2plY3RzLXNlY3Rpb25cIjtcblxuLy8g4pSA4pSAIFBhZ2UtbGV2ZWwgb3ZlcnJpZGVzIChhZnRlciBAdXNlKSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIENvbnRhaW5lciB0b2tlbnMgKHJlbSkgKyBhIHNpbmdsZSBmbHVpZCByb290IGZvbnQtc2l6ZSBrbm9iLCBzY29wZWQgdG8gdGhpc1xuLy8gcGFnZSBvbmx5IHZpYSBodG1sOmhhcygpIOKAlCB0aGUgc2FtZSBzYWZlIHNjb3BpbmcgcGF0dGVyblxuLy8gZW50ZXJwcmlzZS1yZWFkaW5lc3Muc2NzcyB1c2VzIGZvciBpdHMgb3duIHBhZ2UtbGV2ZWwgb3ZlcnJpZGVzLiBpYi10eXBlKCkgL1xuLy8gaWItc3BhY2UoKSAvIGliLXNpemUoKSBpbiBfdXRpbHMuc2NzcyBhbGwgZW1pdCByZW0gKG5vdCBweCksIHNvIHRoZSBjbGFtcCgpXG4vLyBoZXJlIHNjYWxlcyBldmVyeSB0b2tlbi1kcml2ZW4gdmFsdWUgb24gdGhpcyBwYWdlIGF1dG9tYXRpY2FsbHkg4oCUIGV2ZXJ5XG4vLyBvdGhlciBwYWdlIHN0aWxsIHJlbmRlcnMgaWRlbnRpY2FsbHkgc2luY2Ugbm9uZSBvZiB0aGVtIG92ZXJyaWRlIHRoZSByb290XG4vLyBmb250LXNpemUgKDFyZW0gc3RheXMgMTZweCB0aGVyZSkuXG4vLyBGbHVpZCByb290IGZvbnQtc2l6ZSArIGNvbnRhaW5lciB0b2tlbnMgY29tZSBmcm9tIF9iYXNlLnNjc3MgKGdsb2JhbCkuXG5cbmJvZHkucGFnZS10cnVlLXN0b3JpZXMge1xuICBvdmVyZmxvdy14OiBjbGlwO1xuXG4gIC8vIE1hdGNoZXMgY3NzL2N1c3RvbS5jc3MncyAuY3VzdG9tLWNvbnRhaW5lciBleGFjdGx5OiAxNTc2cHggYm94IHdpdGggNDBweFxuICAvLyBwYWRkaW5nLWlubGluZSBlYXRlbiBmcm9tIGluc2lkZSBsZWF2ZXMgMTQ5NnB4IG9mIGNvbnRlbnQg4oCUIHNhbWUgZWRnZXNcbiAgLy8gYXMgLmhlYWRlci1jb250YWluZXIsIHNvIHNlY3Rpb24gY29udGVudCBhbGlnbnMgd2l0aCB0aGUgaGVhZGVyLlxuICAuY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IHZhcigtLWNvbnRhaW5lci13aWR0aC1wYWRkKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLWlubGluZTogdmFyKC0tZ3V0dGVyKTtcbiAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICB9XG59XG4vLyDilIDilIAgU2VjdGlvbiBzcGFjaW5nIG92ZXJyaWRlc1xuLnRzLXRlc3RpbW9uaWFsLXNlY3Rpb24gKyAuc24tc2Nyb2xsLXRhYnMtc2VjdGlvbiB7XG4gIHBhZGRpbmctdG9wOiBjbGFtcCgxMDBweCwgNi45NHZ3LCAxMjBweCk7XG59IiwiLy8gYXNzZXRzL3Njc3MvcGFnZXMvdHJ1ZS1zdG9yeS1kZXRhaWwvX2hlcm8tc2VjdGlvbi5zY3NzXG4vLyBTZWN0aW9uOiBIZXJvIOKAlCBjbGllbnQgbG9nbyArIGhlYWRsaW5lICsgdGFnIGNoaXBzIG92ZXIgZnVsbC1ibGVlZFxuLy8gYmFja2dyb3VuZCBhcnQuIFRoZSBhcnQgaXMgZWl0aGVyIGEgdmlkZW8gb3IgYSBwaG90bywgcGVyIGNhc2Ugc3R1ZHksIGFuZFxuLy8gZWFjaCB2YXJpYW50IGlzIG9uZSAmX19tZWRpYSBibG9jayDigJQgc28gYSB0ZW1wbGF0ZSBicmFuY2hlcyBvbmNlLCBhcm91bmQgYVxuLy8gc2luZ2xlIGVsZW1lbnQsIGFuZCBuZXZlciBoYXMgdG8gcmVhc29uIGFib3V0IHdoYXQncyBpbnNpZGUgaXQ6XG4vL1xuLy8gICA8ZGl2IGNsYXNzPVwidHNkLWhlcm8tc2VjdGlvbl9fYXJ0XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4vLyAgICAgPGRpdiBjbGFzcz1cInRzZC1oZXJvLXNlY3Rpb25fX21lZGlhXCI+XG4vLyAgICAgICA8dmlkZW8gY2xhc3M9XCJ0c2QtaGVyby1zZWN0aW9uX192aWRlb1wiIHNyYz1cIuKAplwiIGF1dG9wbGF5IG11dGVkIGxvb3AgcGxheXNpbmxpbmU+PC92aWRlbz5cbi8vICAgICA8L2Rpdj5cbi8vICAgPC9kaXY+XG4vL1xuLy8gICA8ZGl2IGNsYXNzPVwidHNkLWhlcm8tc2VjdGlvbl9fYXJ0XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4vLyAgICAgPGRpdiBjbGFzcz1cInRzZC1oZXJvLXNlY3Rpb25fX21lZGlhXCI+XG4vLyAgICAgICA8aW1nIGNsYXNzPVwidHNkLWhlcm8tc2VjdGlvbl9faW1hZ2VcIiBzcmM9XCLigKZcIiBhbHQ9XCJcIiB3aWR0aD1cIuKAplwiIGhlaWdodD1cIuKAplwiIGZldGNocHJpb3JpdHk9XCJoaWdoXCIgLz5cbi8vICAgICAgIDxzcGFuIGNsYXNzPVwidHNkLWhlcm8tc2VjdGlvbl9fc2NyaW1cIj48L3NwYW4+XG4vLyAgICAgPC9kaXY+XG4vLyAgIDwvZGl2PlxuLy9cbi8vIEJvdGggZmlsbCB0aGUgc2FtZSBib3guIEEgcGhvdG8gbmVlZHMgdGhlIHNjcmltIHRvIGhvbGQgdGhlIGhlYWRsaW5lJ3Ncbi8vIGNvbnRyYXN0IOKAlCBpdCBjYXJyaWVzIHRoZSBzYW1lIGJyYW5kIGdyYWRpZW50IGFuZCBncmFpbiB0aGUgU2VydmljZU5vd1xuLy8gc3RvcnkgY2FyZHMgdXNlICguc24tY29udGVudC1zbGlkZXJfX3NjcmltICsgLnNuLWNvbnRlbnQtc2xpZGVyX19zbGlkZTo6YWZ0ZXIpLlxuLy8gSXQncyBhIHNlcGFyYXRlIGVsZW1lbnQgcmF0aGVyIHRoYW4gYXV0b21hdGljLCBzbyBpdCBjYW4gYmUgZHJvcHBlZCBvdmVyXG4vLyB0aGUgdmlkZW8gdG9vLCBvciBsZWZ0IG9mZiBhIHBob3RvIHRoYXQgaXMgYWxyZWFkeSBkYXJrIGVub3VnaC5cbi8vXG4vLyBMQ1A6IHRoZSBoZXJvIGFydCBsb2FkcyBvbiBmaXJzdCBwYWludCDigJQgbmV2ZXIgbWFyayBpdCBsb2FkaW5nPVwibGF6eVwiLCBhbmRcbi8vIGtlZXAgZmV0Y2hwcmlvcml0eT1cImhpZ2hcIiBvbiB0aGUgaW1nLlxuXG5AdXNlIFwiLi4vdXRpbHNcIiBhcyAqO1xuXG4vLyBIZXJvLW9ubHkgcGFsZXR0ZSBzYW1wbGVkIGZyb20gdGhlIEZpZ21hIHJlbmRlciDigJQgbm90IGRlc2lnbi1zeXN0ZW0gdG9rZW5zLlxuJF90c2QtaGVyby1iYXNlOiAjMDYwOTE0O1xuXG4udHNkLWhlcm8tc2VjdGlvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogJF90c2QtaGVyby1iYXNlO1xuICBtaW4taGVpZ2h0OiBpYi1yZW0oNzQ1cHgpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG5cbiAgJl9fYXJ0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICAvLyBUaGUgc3dhcHBhYmxlIGJsb2NrOiB3aGljaGV2ZXIgdmFyaWFudCB0aGUgdGVtcGxhdGUgZW1pdHMsIGl0IGZpbGxzIHRoZVxuICAvLyBhcnQgYm94LiBFdmVyeSBsYXllciBpbnNpZGUgcG9zaXRpb25zIGFnYWluc3QgdGhpcywgc28gdGhlIHZpZGVvIGFuZCB0aGVcbiAgLy8gaW1hZ2UgKyBzY3JpbSBwYWlyIGFyZSBpbnRlcmNoYW5nZWFibGUgd2l0aG91dCB0b3VjaGluZyBhbnl0aGluZyBlbHNlLlxuICAmX19tZWRpYSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICB9XG5cbiAgLy8gQmFja2dyb3VuZCBtZWRpYSDigJQgdmlkZW8gb3IgcGhvdG8sIHdoaWNoZXZlciB0aGUgY2FzZSBzdHVkeSBzaGlwcy4gQm90aFxuICAvLyBjYXJyeSB0aGVpciBvd24gcG9zaXRpb24sIHNvIHRoZXkgd29yayBpbnNpZGUgJl9fbWVkaWEgb3IsIGFzIG9sZGVyXG4gIC8vIG1hcmt1cCBoYXMgaXQsIGRpcmVjdGx5IGluc2lkZSAmX19hcnQuXG4gICZfX3ZpZGVvLFxuICAmX19pbWFnZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgfVxuXG4gIC8vIE9wdGlvbmFsIG92ZXJsYXkgYWJvdmUgdGhlIGFydCAodHJlZSBvcmRlciBwdXRzIGl0IG92ZXIgdGhlIG1lZGlhLCBhbmRcbiAgLy8gJl9faW5uZXIncyB6LWluZGV4IGtlZXBzIHRoZSBjb250ZW50IGFib3ZlIGJvdGgpLiBTYW1lIHRyZWF0bWVudCBhcyB0aGVcbiAgLy8gU2VydmljZU5vdyBzdG9yeSBjYXJkczogYnJhbmQgZ3JhZGllbnQgc2FtcGxlZCBmcm9tIEZpZ21hLCBuYXZ5IOKGkiBwbHVtIOKGklxuICAvLyBjb3JhbCBhdCA0MCUsIHdpdGggdGhlIGdyYWluIHRpbGUgb3ZlciBpdC5cbiAgJl9fc2NyaW0ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgLy8gc3RhdGVkIG91dHJpZ2h0LCBub3QgaW5oZXJpdGVkIGZyb20gJl9fYXJ0ID4gKlxuICAgIGluc2V0OiAwO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAgIDkwZGVnLFxuICAgICAgcmdiKDI3LCA2NSwgMTYxLCAuNCkgMCUsXG4gICAgICByZ2IoMTI1LCA1NCwgMTQxLCAuNCkgNTYuMTglLFxuICAgICAgcmdiKDIxNywgNzQsIDEzMSwgLjQpIDEwMCVcbiAgICApO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgLy8gZ3JhaW4tdGlsZS5wbmcgKDI1NsOXMjU2KSwgbm90IHRoZSBmdWxsLXNpemUgZ3JhaW4ucG5nIOKAlCBzZWUgdGhlIG5vdGUgaW5cbiAgICAvLyBzZXJ2aWNlbm93L19zY3JvbGwtdGFicy1zZWN0aW9uLnNjc3M6IHRoZSBiaWcgZmlsZSBkZWNvZGVzIHRvIH4xMSBNaUIgb2ZcbiAgICAvLyBSR0JBIGFuZCBpcyB0aGUgd3JvbmcgdG9vbCBmb3IgYSBmdWxsLWJsZWVkIGxheWVyLiBiYWNrZ3JvdW5kLXNpemUgc3RheXNcbiAgICAvLyBgYXV0b2Agc28gYHJlcGVhdGAgYWN0dWFsbHkgdGlsZXMuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGluc2V0OiAwO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vLi4vLi4vc3RhdGljL2Fzc2V0cy9pbWFnZXMvbGF0ZXN0L2dyYWluLXRpbGUucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICZfX2lubmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBtYXgtd2lkdGg6IHZhcigtLWNvbnRhaW5lci13aWR0aC1wYWRkKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLWlubGluZTogdmFyKC0tZ3V0dGVyKTtcbiAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgIHBhZGRpbmctYm90dG9tOiBpYi1yZW0oMTEycHgpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBnYXA6IGliLXNwYWNlKDQ4KTtcbiAgfVxuXG4gICZfX2xvZ28ge1xuICAgIGhlaWdodDogaWItcmVtKDQ1cHgpO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgJl9faGVhZGluZyB7XG4gICAgQGluY2x1ZGUgaWItdHlwZShcImRpc3BsYXktbW9iaWxlLWxhcmdlXCIpO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgY29sb3I6ICRpYi10ZXh0LWludmVydDtcbiAgICBtYXgtd2lkdGg6IGliLXJlbSg4NjBweCk7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgJl9fY2hpcHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogaWItc3BhY2UoOCk7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gICZfX2NoaXAge1xuICAgIEBpbmNsdWRlIGliLXR5cGUoXCJib2R5LW1lZGl1bVwiKTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuXG4gICAgY29sb3I6ICRpYi10ZXh0LWludmVydDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKCNmZmYsIC4yKTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogaWItcmVtKDIuNXB4KTtcbiAgICBwYWRkaW5nOiBpYi1zcGFjZSg0KSBpYi1zcGFjZSgxNik7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDZweCk7XG4gIH1cblxuICAvLyBFbnRyYW5jZSBpcyBDU1Mtb25seSAoa2V5ZnJhbWVzIG9uIGxvYWQpIHNvIHRoZSBoZXJvIG5ldmVyIGRlcGVuZHMgb24gSlMuXG4gIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogbm8tcHJlZmVyZW5jZSkge1xuICAgICZfX2xvZ28sXG4gICAgJl9faGVhZGluZyxcbiAgICAmX19jaGlwcyB7XG4gICAgICBhbmltYXRpb246IHRzZC1oZXJvLXJpc2UgLjlzIGN1YmljLWJlemllciguMjUsIC40NiwgLjQ1LCAuOTQpIGJvdGg7XG4gICAgfVxuXG4gICAgJl9faGVhZGluZyB7IGFuaW1hdGlvbi1kZWxheTogLjEyczsgfVxuICAgICZfX2NoaXBzIHsgYW5pbWF0aW9uLWRlbGF5OiAuMjRzOyB9XG4gIH1cblxuICAvLyDilIDilIAgTW9iaWxlICjiiaQgJGliLWJwLXRhYmxldDogdGhpcyBwYWdlJ3MgbW9iaWxlIGRlc2lnbiBvd25zIHRhYmxldHMgdG9vKSDilIDilIDilIDilIBcbiAgQGluY2x1ZGUgcmVzcG9uZC10bygkaWItYnAtdGFibGV0KSB7XG4gICAgbWluLWhlaWdodDogaWItcmVtKDYyMHB4KTtcblxuICAgICZfX2lubmVyIHtcbiAgICAgIHBhZGRpbmctaW5saW5lOiBpYi1yZW0oMjBweCk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogaWItc3BhY2UoNDgpO1xuICAgICAgZ2FwOiBpYi1zcGFjZSgxNik7XG4gICAgfVxuXG4gICAgJl9fbG9nbyB7XG4gICAgICBoZWlnaHQ6IGliLXJlbSgzNnB4KTtcbiAgICB9XG5cbiAgICAmX19oZWFkaW5nIHtcbiAgICAgIEBpbmNsdWRlIGliLXR5cGUoXCJoZWFkbGluZS13ZWItc21hbGxcIik7XG4gICAgfVxuXG4gICAgJl9fY2hpcCB7XG4gICAgICBAaW5jbHVkZSBpYi10eXBlKFwidGl0bGUtc21hbGxcIik7XG4gICAgfVxuICB9XG59XG5cbkBrZXlmcmFtZXMgdHNkLWhlcm8tcmlzZSB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCBpYi1yZW0oMzJweCksIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuIiwiLy8gYXNzZXRzL3Njc3MvcGFnZXMvdHJ1ZS1zdG9yeS1kZXRhaWwvX21hcnF1ZWUtc2VjdGlvbi5zY3NzXG4vLyBTZWN0aW9uOiBNYXJxdWVlIHRpY2tlciDigJQgcmVkIHVwcGVyY2FzZSBlbmdhZ2VtZW50IGhpZ2hsaWdodHMuXG4vL1xuLy8gVGhlIHN0eWxlc2hlZXQgb25seSBsYXlzIHRoZSB0cmFjayBvdXQ7IG1vdGlvbiBsaXZlcyBlbnRpcmVseSBpblxuLy8gbWFycXVlZS1zZWN0aW9uLmpzIChHU0FQLXRpY2tlci1kcml2ZW4sIHNjcm9sbC12ZWxvY2l0eSByZWFjdGl2ZSDigJQgYSBDU1Ncbi8vIGtleWZyYW1lIGxvb3AgY2FuJ3QgdGFrZSB2ZWxvY2l0eSBpbnB1dCwgYW5kIHdvdWxkIG92ZXJyaWRlIHRoZSBpbmxpbmVcbi8vIHRyYW5zZm9ybSB0aGUgSlMgd3JpdGVzKS4gTm8gb2ZmLXNjcmVlbiBoaWRlIGhlcmUgZWl0aGVyOiBKUyBhcHBsaWVzIGl0LFxuLy8gc28gbm8tSlMgLyByZWR1Y2VkLW1vdGlvbiB2aXNpdG9ycyBhbHdheXMgc2VlIHRoZSBzdGF0aWMsIHZpc2libGUgcm93LlxuLy8gRGVza3RvcC1vbmx5ICguaWItZGVza3RvcC1vbmx5IGluIEhUTUwpIOKAlCB0aGUgbW9iaWxlIGRlc2lnbiBvbWl0cyBpdC5cblxuQHVzZSBcIi4uL3V0aWxzXCIgYXMgKjtcblxuLnRzZC1tYXJxdWVlLXNlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiAkaWItYmctcHJpbWFyeTtcbiAgcGFkZGluZy1ibG9jazogaWItc3BhY2UoMjQpO1xuICBvdmVyZmxvdzogaGlkZGVuOyAvLyBjbGlwcyB0aGUgb2ZmLXNjcmVlbiBzdGFydCBhbmQgdGhlIGxvb3BcblxuICAmX190cmFjayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsgLy8gSlMgd3JpdGVzIHRyYW5zbGF0ZTNkIGhlcmUgZXZlcnkgZnJhbWVcblxuICAgIC8vIFBhcmtlZCBzdGFydCBwb3NpdGlvbjogZmlyc3QgaXRlbSBiZWdpbnMgYXQgdGhlIENFTlRFUiBvZiB0aGUgc2NyZWVuLlxuICAgIC8vIFNldCBoZXJlIChub3QgaW4gSlMpIHNvIHRoZSB2ZXJ5IGZpcnN0IHBhaW50IGlzIGFscmVhZHkgY29ycmVjdCDigJQgbm9cbiAgICAvLyBmbGFzaCBvZiB0aGUgdHJhY2sgYXQgaXRzIG5hdHVyYWwgbGVmdCBlZGdlIGJlZm9yZSBET00gcmVhZHkuIFNjb3BlZFxuICAgIC8vIHRvIGRlc2t0b3AgKyBtb3Rpb24tYWxsb3dlZDogcmVkdWNlZC1tb3Rpb24gdmlzaXRvcnMga2VlcCB0aGUgcGxhaW4sXG4gICAgLy8gZnVsbC13aWR0aCBzdGF0aWMgcm93LlxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAoJGliLWJwLXRhYmxldCArIDEpKSBhbmQgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IG5vLXByZWZlcmVuY2UpIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNTB2dywgMCwgMCk7XG4gICAgfVxuICB9XG5cbiAgJl9fZ3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgJl9faXRlbSB7XG4gICAgZm9udC1mYW1pbHk6ICRpYi1mb250LWhlYWRpbmc7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IGliLXJlbSgyNHB4KTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBsZXR0ZXItc3BhY2luZzogaWItcmVtKDJweCk7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGNvbG9yOiAkaWItcmVkLWRlc2lyZTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgLy8gU21hbGwgc3F1YXJlIGJ1bGxldCBiZXR3ZWVuIGl0ZW1zXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHdpZHRoOiBpYi1yZW0oNnB4KTtcbiAgICAgIGhlaWdodDogaWItcmVtKDZweCk7XG4gICAgICBiYWNrZ3JvdW5kOiAkaWItdGV4dC1wcmltYXJ5O1xuICAgICAgbWFyZ2luLWlubGluZTogaWItcmVtKDQ4cHgpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gYXNzZXRzL3Njc3MvcGFnZXMvdHJ1ZS1zdG9yeS1kZXRhaWwvX3N0YXRzLXNlY3Rpb24uc2Nzc1xuLy8gU2VjdGlvbjogUmVzdWx0cyBhdCBhIGdsYW5jZSDigJQgYm9yZGVyZWQgY2FyZCB3aXRoIGFuIGludHJvIGxpbmUgKyBhIHN0YXRcbi8vIHJvdyAoZGVza3RvcCkgLyBib3JkZXJlZCBtaW5pLWNhcmRzIChtb2JpbGUgZGVzaWduKS5cbi8vXG4vLyBUaGUgc3RhdCBjb3VudCBpcyBub3QgZml4ZWQ6IHRoZSBzYW1lIGJsb2NrIGlzIHJldXNlZCBhY3Jvc3MgY2FzZSBzdHVkaWVzXG4vLyB3aXRoIGFueXdoZXJlIGZyb20gb25lIHN0YXQgdG8gbW9yZSB0aGFuIGZvdXIuIEJvdGggZ3JpZHMgYmVsb3cgZGVyaXZlXG4vLyB0aGVpciB0cmFjayBjb3VudCBmcm9tIHRoZSBtYXJrdXAg4oCUIGRlc2t0b3AgZml0cyB1cCB0byBmb3VyIHBlciByb3cgYW5kXG4vLyB3cmFwcyB0aGUgcmVzdCBvbnRvIHRoZSBuZXh0IGxpbmUsIG1vYmlsZSBmaXRzIGFzIG1hbnkgbWluaS1jYXJkcyBhcyB0aGVcbi8vIHNjcmVlbiBhbGxvd3MuIE5vdGhpbmcgaGVyZSBtYXkgaGFyZGNvZGUgYSBjb3VudC5cblxuQHVzZSBcIi4uL3V0aWxzXCIgYXMgKjtcblxuLy8gTW9iaWxlIG1pbmktY2FyZCBndXR0ZXIuIFNoYXJlZCBieSB0aGUgZmxleCBnYXAgYW5kIHRoZSBmbGV4LWJhc2lzIG1hdGhcbi8vIGJlbG93IHNvIHRoZSB0d28gY2FuIG5ldmVyIGRyaWZ0IG91dCBvZiBzdGVwLlxuJF90c2Qtc3RhdC1nYXA6IGliLXNwYWNlKDE2KTtcblxuLnRzZC1zdGF0cy1zZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogJGliLWJnLXByaW1hcnk7XG4gIHBhZGRpbmctYmxvY2s6IGliLXJlbSgxMDRweCk7XG5cbiAgJl9faW5uZXIge1xuICAgIG1heC13aWR0aDogdmFyKC0tY29udGFpbmVyLXdpZHRoLXBhZGQpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctaW5saW5lOiB2YXIoLS1ndXR0ZXIpO1xuICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gIH1cblxuICAvLyBDb2x1bW4gZmxleCBwdXJlbHkgdG8gb3duIHRoZSBzcGFjaW5nIGJldHdlZW4gdGhlIGNhcmQncyBjaGlsZHJlbi4gVGhlXG4gIC8vIGludHJvIGxpbmUgaXMgb3B0aW9uYWwg4oCUIHNvbWUgY2FzZSBzdHVkaWVzIHNoaXAgdGhlIGNhcmQgd2l0aCBzdGF0cyBvbmx5IOKAlFxuICAvLyBhbmQgZ2FwIGlzIG9ubHkgZXZlciBkcmF3biAqYmV0d2VlbiogY2hpbGRyZW4sIHNvIGEgY2FyZCB3aXRob3V0IGFuIGludHJvXG4gIC8vIG9wZW5zIGZsdXNoIGluc3RlYWQgb2Ygb24gODBweCBvZiBkZWFkIHNwYWNlLiBEb2luZyB0aGlzIHdpdGggYSBtYXJnaW4gb25cbiAgLy8gX19ncmlkIHdvdWxkIG1lYW4gYSBcIuKApnVubGVzcyA6Zmlyc3QtY2hpbGRcIiBleGNlcHRpb24sIGFuZCB0aGUg4omkMTAyNHB4XG4gIC8vIG92ZXJyaWRlIHdvdWxkIHRoZW4gaGF2ZSB0byByZXBlYXQgdGhhdCA6bm90KCkganVzdCB0byBrZWVwIGl0c1xuICAvLyBzcGVjaWZpY2l0eS4gX19pbnRybyBrZWVwcyBpdHMgY2VudHJpbmc6IGF1dG8gaW5saW5lIG1hcmdpbnMgYWJzb3JiIHRoZVxuICAvLyBjcm9zcy1heGlzIGZyZWUgc3BhY2UsIHNvIG1heC13aWR0aCArIG1hcmdpbi1pbmxpbmU6IGF1dG8gc3RpbGwgY2VudHJlIGl0LlxuICAmX19jYXJkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiBpYi1zcGFjZSg4MCk7XG4gICAgbWF4LXdpZHRoOiBpYi1yZW0oMTA4MHB4KTtcbiAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgIGJhY2tncm91bmQ6ICRpYi1iZy1wcmltYXJ5O1xuICAgIGJvcmRlcjogaWItcmVtKDFweCkgc29saWQgcmdiYSgkaWItZ3JheS1tZWRpdW0sIC4zNSk7XG4gICAgYm94LXNoYWRvdzogaWItcmVtKDRweCkgaWItcmVtKDRweCkgMCByZ2JhKCRpYi1yZWQtcGVhY2gsIC44KTtcbiAgICBwYWRkaW5nOiBpYi1yZW0oODhweCkgaWItc3BhY2UoNjQpO1xuICB9XG5cbiAgJl9faW50cm8ge1xuICAgIEBpbmNsdWRlIGliLXR5cGUoXCJoZWFkbGluZS13ZWItc21hbGxcIik7XG4gICAgY29sb3I6ICRpYi10ZXh0LXByaW1hcnk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1heC13aWR0aDogaWItcmVtKDgwMHB4KTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuXG4gIC8vIFNwYWNpbmcgYWJvdmUgdGhlIGdyaWQgYmVsb25ncyB0byB0aGUgY2FyZCdzIGdhcCDigJQgc2VlICZfX2NhcmQuXG4gICZfX2dyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gIH1cblxuICAmX19zdGF0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IGliLXNwYWNlKDEyKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZy1pbmxpbmU6IGliLXNwYWNlKDE2KTtcbiAgfVxuXG4gIC8vIOKUgOKUgCBEZXNrdG9wICg+MTAyNHB4KSDigJQgdXAgdG8gZm91ciBzdGF0cyBwZXIgcm93LCBkaXZpZGVycyBiZXR3ZWVuIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAvLyBDb3VudC1kcml2ZW4sIG5ldmVyIGEgaGFyZGNvZGVkIGZvdXIgY29sdW1ucy4gQSAyNSUgZmxleCBiYXNpcyBwdXRzIGZvdXJcbiAgLy8gc3RhdHMgb24gYSByb3cgYW5kIHdyYXBzIHRoZSBmaWZ0aCBvbnRvIHRoZSBuZXh0IGxpbmU7IGZsZXgtZ3JvdyB0aGVuXG4gIC8vIHNoYXJlcyBlYWNoIHJvdydzIHdpZHRoIGV2ZW5seSBiZXR3ZWVuIHdoYXRldmVyIGxhbmRlZCBvbiBpdCwgc28gYSBzaG9ydFxuICAvLyByb3cgKDHigJMzIHN0YXRzLCBvciB0aGUgdGFpbCBvZiBhIHdyYXBwZWQgc2V0KSBzdGF5cyBjZW50cmVkIGFjcm9zcyB0aGVcbiAgLy8gY2FyZCBpbnN0ZWFkIG9mIGhhbmdpbmcgb2ZmIHRoZSBsZWZ0IGVkZ2UuIGp1c3RpZnktY29udGVudCBiYWNrcyB0aGF0IHVwXG4gIC8vIGZvciBhbnkgY2FzZSB3aGVyZSBncm93dGggaXMgY2FwcGVkLlxuICBAbWVkaWEgKG1pbi13aWR0aDogY2FsYygkaWItYnAtdGFibGV0ICsgMXB4KSkge1xuICAgICZfX2dyaWQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgZ2FwOiBpYi1zcGFjZSg0OCkgMDsgLy8gZGl2aWRlcnMgc2l0IGZsdXNoIGJldHdlZW4gc3RhdHMgLy8gYnJlYXRoaW5nIHJvb20gYmV0d2VlbiB3cmFwcGVkIHJvd3NcbiAgICB9XG5cbiAgICAmX19zdGF0IHtcbiAgICAgIC8vIEJhc2lzIDI1JSAoYm9yZGVyLWJveCkgPSBleGFjdGx5IGZvdXIgcGVyIHJvdzsgbWluLXdpZHRoOiAwIGxldHMgYSBsb25nXG4gICAgICAvLyBsYWJlbCB3cmFwIGluc3RlYWQgb2YgcHVzaGluZyBpdHMgbmVpZ2hib3VycyBvdXQgb2YgdGhlIHJvdy5cbiAgICAgIGZsZXg6IDEgMSAyNSU7XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgICBib3JkZXItbGVmdDogaWItcmVtKDFweCkgc29saWQgJGliLWJvcmRlci10ZXJ0aWFyeTtcblxuICAgICAgLy8gTm8gZGl2aWRlciBvbiB0aGUgc3RhdCB0aGF0IHN0YXJ0cyBhIHJvdy4gVGhlIDI1JSBiYXNpcyBmaXhlcyB0aGUgcm93XG4gICAgICAvLyBsZW5ndGggYXQgZm91ciwgc28gNG4gKyAxIGlzIGV4YWN0bHkgXCJmaXJzdCBpbiBpdHMgcm93XCIgZm9yIGV2ZXJ5XG4gICAgICAvLyBjb3VudCDigJQgaW5jbHVkaW5nIHNpbmdsZS1yb3cgbGF5b3V0cyAoMeKAkzQgc3RhdHMpLCB3aGVyZSBvbmx5IHRoZSBmaXJzdFxuICAgICAgLy8gc3RhdCBtYXRjaGVzLlxuICAgICAgJjpudGgtY2hpbGQoNG4gKyAxKSB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3ZhbHVlIHtcbiAgICBAaW5jbHVkZSBpYi10eXBlKFwiZGlzcGxheS1tb2JpbGUtbWVkaXVtXCIpO1xuICAgIGZvbnQtd2VpZ2h0OiAyNTA7XG4gICAgY29sb3I6ICRpYi1yZWQtYnJhbmQ7XG4gIH1cblxuICAmX191bml0IHtcbiAgICBAaW5jbHVkZSBpYi10eXBlKFwiaGVhZGxpbmUtbW9iaWxlLWxhcmdlXCIpO1xuICB9XG5cbiAgJl9fbGFiZWwge1xuICAgIGZvbnQtZmFtaWx5OiAkaWItZm9udC1oZWFkaW5nO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiBpYi1yZW0oMTRweCk7XG4gICAgbGluZS1oZWlnaHQ6IGliLXJlbSgyMnB4KTtcbiAgICBsZXR0ZXItc3BhY2luZzogLjAyZW07IC8vIDIlIHRyYWNraW5nIHBlciBzcGVjXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgIGNvbG9yOiAkaWItdGV4dC1zZWNvbmRhcnk7XG4gIH1cblxuICAmX19sYWJlbC1ub3RlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC8vIOKUgOKUgCBNb2JpbGUgKOKJpDEwMjRweCkg4oCUIGludHJvIGxvc2VzIHRoZSBjYXJkIGZyYW1lLCBzdGF0cyBiZWNvbWUgbWluaS1jYXJkcyDilIDilIBcbiAgQGluY2x1ZGUgcmVzcG9uZC10bygkaWItYnAtdGFibGV0KSB7XG4gICAgcGFkZGluZy1ibG9jazogaWItc3BhY2UoNDgpO1xuXG4gICAgJl9faW5uZXIge1xuICAgICAgcGFkZGluZy1pbmxpbmU6IGliLXJlbSgyMHB4KTtcbiAgICB9XG5cbiAgICAvLyBTYW1lIHNlbGVjdG9yIGFzIHRoZSBkZXNrdG9wIHJ1bGUsIHNvIHRoaXMgc2ltcGx5IHdpbnMg4oCUIG5vIDpub3QoKSB0b1xuICAgIC8vIHJlcGVhdCBhbmQgbm8gc3BlY2lmaWNpdHkgdG8gbWF0Y2guXG4gICAgJl9fY2FyZCB7XG4gICAgICBnYXA6IGliLXNwYWNlKDQwKTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgICZfX2ludHJvIHtcbiAgICAgIEBpbmNsdWRlIGliLXR5cGUoXCJoZWFkbGluZS1tb2JpbGUtbGFyZ2VcIik7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgIC8vIE1pbmktY2FyZHMsIHNvIG5vIHNoYXJlZCBkaXZpZGVycy4gRmxleC13cmFwIHJhdGhlciB0aGFuIGFuIGF1dG8tZml0XG4gICAgLy8gZ3JpZDogdGhlc2UgYXJlIGJvcmRlcmVkIGJveGVzLCBzbyBhbiBvcnBoYW4gb24gYSBzaG9ydCByb3cgaGFzIHRvIGtlZXBcbiAgICAvLyB0aGUgc2FtZSB3aWR0aCBhcyBpdHMgbmVpZ2hib3VycyDigJQgYSBncmlkIGNhbiBvbmx5IGVpdGhlciBzdHJldGNoIGl0XG4gICAgLy8gYWNyb3NzIHRoZSByb3cgb3Igc3RyYW5kIGl0IGFnYWluc3QgdGhlIGxlZnQgZWRnZSB3aXRoIGEgZGVhZCBjZWxsXG4gICAgLy8gYmVzaWRlIGl0LiBqdXN0aWZ5LWNvbnRlbnQgY2VudHJlcyB3aGF0ZXZlciBsYW5kcyBvbiBhIHNob3J0IHJvdy5cbiAgICAvLyBUd28gdXAgb24gcGhvbmVzLCBvbmUgdXAgb24gdGhlIG5hcnJvd2VzdCBzY3JlZW5zLCB3aXRoIG5vIGFzc3VtcHRpb25cbiAgICAvLyBhYm91dCBob3cgbWFueSBzdGF0cyB0aGVyZSBhcmUuXG4gICAgJl9fZ3JpZCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBnYXA6ICRfdHNkLXN0YXQtZ2FwO1xuICAgIH1cblxuICAgICZfX3N0YXQge1xuICAgICAgLy8gVHdvIHBlciByb3csIGFuZCBmbGV4LWdyb3c6IDAgc28gYSBsb25lIHRyYWlsaW5nIGNhcmQgc3RheXMgY2FyZC1zaXplZFxuICAgICAgLy8gaW5zdGVhZCBvZiBzdHJldGNoaW5nLiBtaW4td2lkdGggZHJvcHMgdGhlIGxheW91dCB0byBvbmUgdXAgb25jZSBoYWxmXG4gICAgICAvLyBhIHJvdyBjYW4gbm8gbG9uZ2VyIGhvbGQgYSBjYXJkOyBtaW4oKSBrZWVwcyB0aGF0IGZyb20gb3ZlcmZsb3dpbmcgdGhlXG4gICAgICAvLyBuYXJyb3dlc3Qgc2NyZWVucy5cbiAgICAgIGZsZXg6IDAgMSBjYWxjKDUwJSAtICN7JF90c2Qtc3RhdC1nYXB9IC8gMik7XG4gICAgICBtaW4td2lkdGg6IG1pbihpYi1yZW0oMTUwcHgpLCAxMDAlKTtcbiAgICAgIGJvcmRlcjogaWItcmVtKDFweCkgc29saWQgcmdiYSgkaWItZ3JheS1tZWRpdW0sIC4zKTtcbiAgICAgIGJveC1zaGFkb3c6IGliLXJlbSgzcHgpIGliLXJlbSgzcHgpIDAgcmdiYSgkaWItcmVkLXBlYWNoLCAuOCk7XG4gICAgICBwYWRkaW5nOiBpYi1zcGFjZSgyNCkgaWItc3BhY2UoMTIpO1xuICAgIH1cblxuICAgICZfX3ZhbHVlIHtcbiAgICAgIGZvbnQtc2l6ZTogaWItcmVtKDMycHgpO1xuICAgIH1cblxuICAgICZfX3VuaXQge1xuICAgICAgZm9udC1zaXplOiBpYi1yZW0oMThweCk7XG4gICAgfVxuXG4gICAgJl9fbGFiZWwge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgIGZvbnQtc2l6ZTogaWItcmVtKDEzcHgpO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGNvbG9yOiAkaWItdGV4dC1wcmltYXJ5O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gYXNzZXRzL3Njc3MvcGFnZXMvdHJ1ZS1zdG9yeS1kZXRhaWwvX3RoZW1lLnNjc3Ncbi8vIFNoYXJlZCBwYWxldHRlIGZvciB0aGUgdHJ1ZS1zdG9yeS1kZXRhaWwgc2VjdGlvbnMuXG4vL1xuLy8gV0hZIFRISVMgRVhJU1RTXG4vLyBUaGUgc3RhdGVtZW50IGFuZCBkZXZpY2VzIHNlY3Rpb25zIGFyZSByZXVzZWQgb24gb3RoZXIgcGFnZXMgd2l0aCBhXG4vLyBkaWZmZXJlbnQgcGFuZWwgY29sb3VyLiBTYXNzIHZhcmlhYmxlcyBjYW4ndCBjYXJyeSB0aGF0OiBldmVyeSBwYWdlIGNvbXBpbGVzXG4vLyBpbnRvIE9ORSBXb3JkUHJlc3MgYnVpbGQsIHNvIGBAdXNlIC4uLiB3aXRoICguLi4pYCBpcyB1bmF2YWlsYWJsZSAoYSBtb2R1bGVcbi8vIG1heSBiZSBjb25maWd1cmVkIG9ubHkgb25jZSkgYW5kIGEgc2Vjb25kIGNvbG91ciB3b3VsZCBtZWFuIGEgc2Vjb25kIGNvcHkgb2Zcbi8vIGVhY2ggcGFydGlhbC4gQSBDU1MgY3VzdG9tIHByb3BlcnR5IHJlLXRoZW1lcyB0aGVtIGF0IHJ1biB0aW1lIGluc3RlYWQg4oCUXG4vLyBvbmUgY2xhc3MsIG5vIGR1cGxpY2F0ZWQgQ1NTLCBubyBKUyBjaGFuZ2UuXG4vL1xuLy8gSE9XIFNFQ1RJT05TIFJFQUQgSVRcbi8vICAgYmFja2dyb3VuZDogdmFyKC0tdHNkLXBhbmVsLCAjeyR0c2QtcGFuZWx9KTtcbi8vXG4vLyBUaGUgZGVmYXVsdCBsaXZlcyBpbiB0aGUgdmFyKCkgRkFMTEJBQ0ssIG5ldmVyIGFzIGEgZGVjbGFyYXRpb24gb24gdGhlXG4vLyBibG9jay4gVGhhdCBkaXN0aW5jdGlvbiBpcyB0aGUgd2hvbGUgdHJpY2s6IGEgYC0tdHNkLXBhbmVsOiDigKZgIGRlY2xhcmVkIG9uXG4vLyAudHNkLXN0YXRlbWVudC1zZWN0aW9uIHdvdWxkIGJlYXQgYW55dGhpbmcgYW4gYW5jZXN0b3Igc2V0cywgc28gYSBwYWdlLWxldmVsXG4vLyBvdmVycmlkZSB3b3VsZCBzaWxlbnRseSBkbyBub3RoaW5nLiBBcyBhIGZhbGxiYWNrIGl0IHlpZWxkcyB0byBhbiBvdmVycmlkZVxuLy8gZnJvbSBhbnl3aGVyZSDigJQgYW4gYW5jZXN0b3IsIG9yIHRoZSBibG9jayBpdHNlbGYuXG4vL1xuLy8gSE9XIEEgUEFHRSBPUFRTIElOIOKAlCBhZGQgb25lIGNsYXNzLCBlaXRoZXIgc2NvcGUgd29ya3M6XG4vLyAgIHdob2xlIHBhZ2U6ICAgICA8Ym9keSBjbGFzcz1cInBhZ2Ut4oCmIHRzZC10aGVtZS0tY3JpbXNvblwiPlxuLy8gICBzaW5nbGUgc2VjdGlvbjogPHNlY3Rpb24gY2xhc3M9XCJ0c2Qtc3RhdGVtZW50LXNlY3Rpb24gdHNkLXRoZW1lLS1jcmltc29uXCI+XG5cbkB1c2UgXCIuLi91dGlsc1wiIGFzICo7XG5cbi8vIFByZWZpeGVzIGFyZSBsb2FkLWJlYXJpbmcsIG5vdCBjb3NtZXRpYy4gU2FzcyB0cmVhdHMgYSBsZWFkaW5nIHVuZGVyc2NvcmUgYXNcbi8vIG1vZHVsZS1QUklWQVRFIOKAlCB1bnJlYWRhYmxlIGZyb20gYW5vdGhlciBmaWxlIOKAlCBzbyB0aGUgZGVmYXVsdCwgd2hpY2ggYm90aFxuLy8gc2VjdGlvbiBwYXJ0aWFscyByZWFkIGZvciB0aGVpciB2YXIoKSBmYWxsYmFjaywgY2FycmllcyB0aGUgcHVibGljIGliLVxuLy8gbmFtZXNwYWNlLCB3aGlsZSB0aGUgdmFyaWFudCBjb2xvdXIgdXNlZCBvbmx5IGluc2lkZSB0aGlzIGZpbGUgc3RheXNcbi8vIHByaXZhdGUuIEJvdGggc2F0aXNmeSBzY3NzL2RvbGxhci12YXJpYWJsZS1wYXR0ZXJuLlxuLy9cbi8vIE5vICFkZWZhdWx0IG9uIGVpdGhlcjogaXQgd291bGQgYWR2ZXJ0aXNlIGEgY29uZmlndXJhYmlsaXR5IHRoYXQgZG9lcyBub3Rcbi8vIGV4aXN0IGhlcmUsIHNpbmNlIGBAdXNlIC4uLiB3aXRoICguLi4pYCBpcyB1bmF2YWlsYWJsZSBpbiBhIHNpbmdsZSBidWlsZC5cblxuLy8gRGVmYXVsdCBwYW5lbCDigJQgdHJ1ZS1zdG9yeS1kZXRhaWwuaHRtbFxuJGliLXRzZC1wYW5lbDogIzA0MmE1OTtcblxuLy8gQ3JpbXNvbiB2YXJpYW50LiAjN2MyMjM1IGlzIGFscmVhZHkgYSBkZXNpZ24tc3lzdGVtIHByaW1pdGl2ZVxuLy8gKCRpYi1yZWQtZGVlcCBpbiBfdXRpbHMuc2NzcyksIHNvIGl0IGlzIHJlZmVyZW5jZWQgcmF0aGVyIHRoYW4gcmUtdHlwZWQuXG4kX3RzZC1wYW5lbC1jcmltc29uOiAkaWItcmVkLWRlZXA7XG5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gVmFyaWFudCBob29rcy4gRW1pdHRlZCBvbmNlIGZvciB0aGUgd2hvbGUgYnVpbGQg4oCUIGJvdGggc2VjdGlvbnMgcGljayB0aGVcbi8vIGNoYW5nZSB1cCB0b2dldGhlciwgd2hpY2ggaXMgdGhlIHBvaW50OiB0aGV5IHdlcmUgZHVwbGljYXRpbmcgdGhlIHNhbWUgaGV4XG4vLyBhbmQgd291bGQgb3RoZXJ3aXNlIGRyaWZ0LlxuLy9cbi8vIFRoZSBjYXJkIHNoYWRvdyBpcyBkZWxpYmVyYXRlbHkgTk9UIHRoZW1lZC4gSXQgaXMgcmdiYSgjMDIxMzJhLCAwLjM1KSDigJRcbi8vIG5lYXItYmxhY2sgYW5kIGVmZmVjdGl2ZWx5IGh1ZS1uZXV0cmFsIGF0IHRoYXQgYWxwaGEsIHNvIGl0IHJlYWRzIGNvcnJlY3RseVxuLy8gdW5kZXIgYSBuYXZ5IG9yIGEgY3JpbXNvbiBwYW5lbC4gVGhlbWFibGUgb25seSBpZiBhIHZhcmlhbnQgZXZlciBuZWVkcyBhXG4vLyBnZW51aW5lbHkgdGludGVkIGdsb3cuXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi50c2QtdGhlbWUtLWNyaW1zb24ge1xuICAtLXRzZC1wYW5lbDogI3skX3RzZC1wYW5lbC1jcmltc29ufTtcbn1cbiIsIi8vIGFzc2V0cy9zY3NzL3BhZ2VzL3RydWUtc3RvcnktZGV0YWlsL19kZXZpY2VzLXNlY3Rpb24uc2Nzc1xuLy8gU2VjdGlvbjogRGV2aWNlIHNob3djYXNlIOKAlCBuYXZ5IGJhbmQgd2l0aCBnbG93aW5nIGxhcHRvcCArIHBob25lIG1vY2t1cHNcbi8vIChibGFuayBzY3JlZW5zLCBwZXIgZGVzaWduKS4gSlMgYWRkcyBhIGdlbnRsZSBzY3J1YmJlZCBwYXJhbGxheCBkcmlmdCBvblxuLy8gZGVza3RvcDsgdGhlIHNlY3Rpb24gaXMgZnVsbHkgc3RhdGljIHdpdGhvdXQgaXQuXG5cbkB1c2UgXCIuLi91dGlsc1wiIGFzICo7XG5cbi8vIFBhbmVsIGNvbG91ciBpcyB0aGVtZWFibGUgYW5kIHNoYXJlZCB3aXRoIHRoZSBzdGF0ZW1lbnQgc2VjdGlvbiDigJQgdGhlIHR3b1xuLy8gd2VyZSBkdXBsaWNhdGluZyB0aGUgc2FtZSBoZXguIFNlZSBfdGhlbWUuc2Nzcy5cbkB1c2UgXCJ0aGVtZVwiIGFzICo7XG5cbi50c2QtZGV2aWNlcy1zZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tdHNkLXBhbmVsLCAjeyRpYi10c2QtcGFuZWx9KTtcbiAgcGFkZGluZy1ibG9jazogaWItcmVtKDEyMHB4KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAmX19pbm5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1heC13aWR0aDogdmFyKC0tY29udGFpbmVyLXdpZHRoLXBhZGQpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctaW5saW5lOiB2YXIoLS1ndXR0ZXIpO1xuICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgaGVpZ2h0OiBpYi1yZW0oNzYwcHgpO1xuICB9XG5cbiAgJl9fbGFwdG9wLFxuICAmX19waG9uZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICB9XG5cbiAgJl9fc2NyZWVuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gIH1cblxuICAmX19sYXB0b3Age1xuICAgIGxlZnQ6IGliLXJlbSgxNTBweCk7XG4gICAgdG9wOiBpYi1yZW0oNDBweCk7XG4gICAgd2lkdGg6IGliLXJlbSgxMTAwcHgpO1xuICAgIGhlaWdodDogaWItcmVtKDY0MHB4KTtcbiAgICBib3JkZXItcmFkaXVzOiBpYi1yZW0oMjhweCk7XG4gICAgYm94LXNoYWRvdzpcbiAgICAgIC0xMS4wN3B4IC0xMS4wN3B4IDQxLjUxcHggMCByZ2IoMTIxLCAxMzUsIDE3NiwgLjI1KSBpbnNldCxcbiAgICAgIDguM3B4IDguM3B4IDE2LjZweCAwIHJnYigxMjEsIDEzNSwgMTc2LCAuMDgpIGluc2V0LFxuICAgICAgMTEuMDdweCAxMS4wN3B4IDI3LjY3cHggMCByZ2IoODAsIDg4LCAxMTMsIC4wOCksXG4gICAgICAyLjc3cHggMi43N3B4IDguM3B4IDAgcmdiKDgwLCA4OCwgMTEzLCAuMjUpO1xuICB9XG5cbiAgJl9fcGhvbmUge1xuICAgIHJpZ2h0OiBpYi1yZW0oMTcwcHgpO1xuICAgIGJvdHRvbTogaWItcmVtKDMwcHgpO1xuICAgIHdpZHRoOiBpYi1yZW0oMjY1cHgpO1xuICAgIGhlaWdodDogaWItcmVtKDU2MHB4KTtcbiAgICBib3JkZXItcmFkaXVzOiBpYi1yZW0oMzZweCk7XG4gICAgYm94LXNoYWRvdzpcbiAgICAgIC0xMS4xMnB4IC0xMS4xMnB4IDQxLjdweCAwIHJnYigxMjEsIDEzNSwgMTc2LCAuMjUpIGluc2V0LFxuICAgICAgOC4zNHB4IDguMzRweCAxNi42OHB4IDAgcmdiKDEyMSwgMTM1LCAxNzYsIC4wOCkgaW5zZXQsXG4gICAgICAxMS4xMnB4IDExLjEycHggMjcuOHB4IDAgcmdiKDgwLCA4OCwgMTEzLCAuMDgpLFxuICAgICAgMi43OHB4IDIuNzhweCA4LjM0cHggMCByZ2IoODAsIDg4LCAxMTMsIC4yNSk7XG4gIH1cblxuICAvLyDilIDilIAgTW9iaWxlICjiiaQxMDI0cHgpIOKAlCBzaW5nbGUgY2VudGVyZWQgbGFwdG9wIGNhcmQsIHNob3J0ZXIgYmFuZCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgQGluY2x1ZGUgcmVzcG9uZC10bygkaWItYnAtdGFibGV0KSB7XG4gICAgcGFkZGluZy1ibG9jazogaWItc3BhY2UoNDgpO1xuXG4gICAgJl9faW5uZXIge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgcGFkZGluZy1pbmxpbmU6IGliLXJlbSgyMHB4KTtcbiAgICB9XG5cbiAgICAmX19sYXB0b3Age1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgYm9yZGVyLXJhZGl1czogaWItcmVtKDE2cHgpO1xuICAgIH1cblxuICAgICZfX3Bob25lIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBhc3NldHMvc2Nzcy9wYWdlcy90cnVlLXN0b3J5LWRldGFpbC9fY2hhbGxlbmdlLXNlY3Rpb24uc2Nzc1xuLy8gU2VjdGlvbjogQ2hhbGxlbmdlIG5hcnJhdGl2ZSDigJQgQ2hhbGxlbmdlIC8gV2h5IGl0IG1hdHRlcmVkIC8gT3V0Y29tZSAvIEltcGFjdC5cbi8vXG4vLyBEZXNrdG9wIChKUy1lbmhhbmNlZCk6IHRoZSBzZWN0aW9uIHBpbnM7IGJsb2NrcyByZXZlYWwgb25lIGF0IGEgdGltZSB3aGlsZVxuLy8gcmVkIGRpYW1vbmRzIGFjY3VtdWxhdGUgb24gdGhlIGxlZnQgcmFpbC4gVGhlIGhpZGRlbiBzdGF0ZXMgbGl2ZSBiZWhpbmQgdGhlXG4vLyAtLWVuaGFuY2VkIG1vZGlmaWVyIHRoYXQgSlMgYWRkcyBvbmx5IHdoZW4gR1NBUCBpcyBhdmFpbGFibGUsIHNvIG5vLUpTXG4vLyB1c2VycyBhbHdheXMgc2VlIHRoZSBmdWxsIHN0YXRpYyBzdGFjay5cbi8vIE1vYmlsZTogc3RhdGljIHN0YWNrLCBlYWNoIGJsb2NrIGNhcnJpZXMgaXRzIG93biBkaWFtb25kIChwZXIgZGVzaWduKS5cblxuQHVzZSBcIi4uL3V0aWxzXCIgYXMgKjtcblxuLy8gR1NBUCBwaW5zIF9fcGluIOKAlCBzZWUgaWItcGluLWhvc3QgaW4gX3V0aWxzLnNjc3MuIERlY2xhcmVkIGhlcmUgcmF0aGVyIHRoYW5cbi8vIGluIGEgcGFnZSBlbnRyeSBiZWNhdXNlIHRoaXMgc2VjdGlvbiBpcyByZXVzZWQgYWNyb3NzIGVudHJpZXMgYW5kIHRoZVxuLy8gV29yZFByZXNzIGJ1aWxkIHNlcnZlcyBwYWdlcyB3aG9zZSA8Ym9keT4gY2FycmllcyBubyBwYWdlLSogY2xhc3MuXG5AaW5jbHVkZSBpYi1waW4taG9zdChcIi50c2QtY2hhbGxlbmdlLXNlY3Rpb25cIik7XG5cbi50c2QtY2hhbGxlbmdlLXNlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiAkaWItYmctcHJpbWFyeTtcblxuICAmX19waW4ge1xuICAgIHBhZGRpbmctYmxvY2s6IGliLXJlbSgxMjBweCk7XG4gIH1cblxuICAmX19pbm5lciB7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS1jb250YWluZXItd2lkdGgtcGFkZCk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1pbmxpbmU6IHZhcigtLWd1dHRlcik7XG4gICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIC45ZnIpIG1pbm1heCgwLCAxLjRmcik7XG4gICAgZ2FwOiBpYi1zcGFjZSg4MCk7XG4gICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICB9XG5cbiAgLy8gQWNjdW11bGF0aW5nIGRpYW1vbmQgcmFpbCDigJQgZGVza3RvcCBvbmx5OyBibG9ja3Mgb3duIHRoZWlyIGRpYW1vbmQgb24gbW9iaWxlXG4gICZfX3JhaWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZy10b3A6IGliLXNwYWNlKDgpO1xuICB9XG5cbiAgJl9fZGlhbW9uZCxcbiAgJl9fYmxvY2stZGlhbW9uZCB7XG4gICAgd2lkdGg6IGliLXJlbSg0MnB4KTtcbiAgICBoZWlnaHQ6IGliLXJlbSg0MnB4KTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG5cbiAgICAmLS0xIHsgYmFja2dyb3VuZDogJGliLXJlZC1kYXJrOyB9XG4gICAgJi0tMiB7IGJhY2tncm91bmQ6ICRpYi1yZWQtYnJhbmQ7IH1cbiAgICAmLS0zIHsgYmFja2dyb3VuZDogJGliLXJlZC1kZXNpcmU7IH1cbiAgICAmLS00IHsgYmFja2dyb3VuZDogJGliLXJlZC1wZWFjaDsgfVxuICB9XG5cbiAgJl9fZGlhbW9uZCB7XG4gICAgJiArICYge1xuICAgICAgbWFyZ2luLWxlZnQ6IGliLXJlbSgtOHB4KTtcbiAgICB9XG4gIH1cblxuICAmX19ibG9jay1kaWFtb25kIHtcbiAgICBkaXNwbGF5OiBub25lOyAvLyBtb2JpbGUtb25seSBtYXJrZXJcbiAgfVxuXG4gICZfX2Jsb2NrcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG5cbiAgJl9fYmxvY2sge1xuICAgIHBhZGRpbmctYmxvY2s6IGliLXNwYWNlKDI0KTtcblxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBib3JkZXItYm90dG9tOiBpYi1yZW0oMXB4KSBzb2xpZCAkaWItYm9yZGVyLXRlcnRpYXJ5O1xuICAgIH1cbiAgfVxuXG4gICZfX2Jsb2NrLXRpdGxlIHtcbiAgICBAaW5jbHVkZSBpYi10eXBlKFwiaGVhZGxpbmUtd2ViLXNtYWxsXCIpO1xuICAgIGNvbG9yOiAkaWItdGV4dC1wcmltYXJ5O1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIEV4cGFuZC9jb2xsYXBzZSB2aWEgZ3JpZC10ZW1wbGF0ZS1yb3dzIOKAlCBhIG9uZS1zaG90IGNsYXNzIHRvZ2dsZSBwZXIgc3RlcFxuICAvLyAoQ1NTIHRyYW5zaXRpb24pLCBuZXZlciBzY3J1YmJlZCBwZXIgZnJhbWUuXG4gICZfX2Jsb2NrLWJvZHkge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7XG4gICAgdHJhbnNpdGlvbjogZ3JpZC10ZW1wbGF0ZS1yb3dzIC41cyBjdWJpYy1iZXppZXIoLjI1LCAuNDYsIC40NSwgLjk0KTtcbiAgfVxuXG4gICZfX2Jsb2NrLXRleHQge1xuICAgIEBpbmNsdWRlIGliLXR5cGUoXCJib2R5LW1lZGl1bVwiKTtcblxuICAgIGNvbG9yOiAkaWItdGV4dC1zZWNvbmRhcnk7XG4gICAgbWFyZ2luOiBpYi1zcGFjZSgxNikgMCAwO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXgtd2lkdGg6IGliLXJlbSg3NjBweCk7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNHMgY3ViaWMtYmV6aWVyKC4yNSwgLjQ2LCAuNDUsIC45NCk7XG4gIH1cblxuICAmX19ibG9jay1jdGEtd3JhcCB7XG4gICAgbWFyZ2luLXRvcDogaWItc3BhY2UoMjQpO1xuICB9XG5cbiAgLy8gTWVhc3VyZW1lbnQgZ3VhcmQg4oCUIGNoYWxsZW5nZS1zZWN0aW9uLmpzIGhvbGRzIHRoaXMgZm9yIGEgc2luZ2xlIGZyYW1lXG4gIC8vIHdoaWxlIGl0IGFwcGxpZXMgdGhlIC0tZW5oYW5jZWQgaW5pdGlhbCBzdGF0ZSwgc28gdGhlIGJsb2NrLWJvZHkgY29sbGFwc2VcbiAgLy8gYmVsb3cgKGEgdHJhbnNpdGlvbmVkIExBWU9VVCBwcm9wZXJ0eSkgbGFuZHMgaW5zdGFudGx5IGFuZCBTY3JvbGxUcmlnZ2VyXG4gIC8vIG1lYXN1cmVzIHRoZSBzZXR0bGVkIGhlaWdodCBpbnN0ZWFkIG9mIHRoZSBtaWQtdHJhbnNpdGlvbiBvbmUuIERyb3BwZWQgb25cbiAgLy8gdGhlIG5leHQgZnJhbWU7IGV2ZXJ5IHN0ZXAgdHJhbnNpdGlvbiBhZnRlciB0aGF0IHJ1bnMgbm9ybWFsbHkuXG4gICYtLW1lYXN1cmluZyxcbiAgJi0tbWVhc3VyaW5nICoge1xuICAgIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8vIOKUgOKUgCBEZXNrdG9wIGVuaGFuY2VkIHN0YXRlIChKUyArIEdTQVAgcHJlc2VudCwgPjEwMjRweCBvbmx5KSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgQG1lZGlhIChtaW4td2lkdGg6IGNhbGMoJGliLWJwLXRhYmxldCArIDFweCkpIHtcbiAgICAmLS1lbmhhbmNlZCAmX19waW4ge1xuICAgICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgPiAqIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQmxvY2tzIHN0YXJ0IGhpZGRlbiBhbmQgcmV2ZWFsIGluIHNlcXVlbmNlIChKUyB0b2dnbGVzIC5pcy1yZXZlYWxlZClcbiAgICAmLS1lbmhhbmNlZCAmX19ibG9jayB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCBpYi1yZW0oMjRweCksIDApO1xuICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgb3BhY2l0eSAuNXMgY3ViaWMtYmV6aWVyKC4yNSwgLjQ2LCAuNDUsIC45NCksXG4gICAgICAgIHRyYW5zZm9ybSAuNXMgY3ViaWMtYmV6aWVyKC4yNSwgLjQ2LCAuNDUsIC45NCk7XG4gICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuXG4gICAgICAmLmlzLXJldmVhbGVkIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgIH1cblxuICAgICAgLy8gT25seSB0aGUgYWN0aXZlIGJsb2NrIGtlZXBzIGl0cyBwYXJhZ3JhcGggb3BlblxuICAgICAgJjpub3QoLmlzLWFjdGl2ZSkgLnRzZC1jaGFsbGVuZ2Utc2VjdGlvbl9fYmxvY2stYm9keSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMGZyO1xuICAgICAgfVxuXG4gICAgICAmOm5vdCguaXMtYWN0aXZlKSAudHNkLWNoYWxsZW5nZS1zZWN0aW9uX19ibG9jay10ZXh0IHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaWFtb25kcyBwb3AgaW4gb25lIHBlciBzdGVwXG4gICAgJi0tZW5oYW5jZWQgJl9fZGlhbW9uZCB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHNjYWxlKC40KTtcbiAgICAgIHRyYW5zaXRpb246XG4gICAgICAgIG9wYWNpdHkgLjRzIGN1YmljLWJlemllciguMzQsIDEuNTYsIC42NCwgMSksXG4gICAgICAgIHRyYW5zZm9ybSAuNHMgY3ViaWMtYmV6aWVyKC4zNCwgMS41NiwgLjY0LCAxKTtcbiAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG5cbiAgICAgICYuaXMtcmV2ZWFsZWQge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgc2NhbGUoMSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8g4pSA4pSAIE1vYmlsZSAo4omkMTAyNHB4KSDigJQgc3RhdGljIHN0YWNrIHdpdGggcGVyLWJsb2NrIGRpYW1vbmRzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICBAaW5jbHVkZSByZXNwb25kLXRvKCRpYi1icC10YWJsZXQpIHtcbiAgICAmX19waW4ge1xuICAgICAgcGFkZGluZy1ibG9jazogaWItc3BhY2UoNDgpO1xuICAgIH1cblxuICAgICZfX2lubmVyIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgZ2FwOiAwO1xuICAgICAgcGFkZGluZy1pbmxpbmU6IGliLXJlbSgyMHB4KTtcbiAgICB9XG5cbiAgICAmX19yYWlsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJl9fYmxvY2stZGlhbW9uZCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiBpYi1yZW0oMzJweCk7XG4gICAgICBoZWlnaHQ6IGliLXJlbSgzMnB4KTtcbiAgICAgIG1hcmdpbjogaWItc3BhY2UoNCkgaWItc3BhY2UoNCkgaWItc3BhY2UoMjQpO1xuICAgIH1cblxuICAgICZfX2Jsb2NrIHtcbiAgICAgIHBhZGRpbmctYmxvY2s6IGliLXNwYWNlKDMyKTtcblxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19ibG9jay1jdGEtd3JhcCB7XG4gICAgICBtYXJnaW4tdG9wOiBpYi1zcGFjZSgyMCk7XG4gICAgfVxuXG4gICAgJl9fYmxvY2stdGl0bGUge1xuICAgICAgZm9udC1zaXplOiBpYi1yZW0oMjRweCk7XG4gICAgICBsaW5lLWhlaWdodDogaWItcmVtKDMycHgpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gYXNzZXRzL3Njc3MvcGFnZXMvdHJ1ZS1zdG9yeS1kZXRhaWwvX2Rpc2NvdmVyeS1zZWN0aW9uLnNjc3Ncbi8vIFNlY3Rpb246IFwiVGhlIERpc2NvdmVyeSBCZWZvcmUgdGhlIERlc2lnblwiIOKAlCBudW1iZXJlZCByZXNlYXJjaCBzdGVwcy4gVGhlXG4vLyBzdGVwIGNvdW50IGlzIHdoYXRldmVyIHRoZSBtYXJrdXAgaG9sZHMgKG9uZSB0byBtYW55KTsgbm90aGluZyBoZXJlIG9yIGluXG4vLyBkaXNjb3Zlcnktc2VjdGlvbi5qcyBtYXkgYXNzdW1lIGEgcGFydGljdWxhciBudW1iZXIuXG4vL1xuLy8gRGVza3RvcCAoSlMtZW5oYW5jZWQsID4xMDI0cHgpOiBzZWN0aW9uIHBpbnMsIHN0ZXBzIHN0YWNrIGluIG9uZSBncmlkIGNlbGxcbi8vIGFuZCBjcm9zc2ZhZGUgYXMgdGhlIHNjcnViIGFkdmFuY2VzIFswMS9OTl0g4oaSIFtOTi9OTl0uIFRoZSBzdGFja2VkL2hpZGRlblxuLy8gc3RhdGUgbGl2ZXMgYmVoaW5kIHRoZSAtLWVuaGFuY2VkIG1vZGlmaWVyIChhZGRlZCBvbmx5IHdoZW4gR1NBUCBsb2FkcyBhbmRcbi8vIHRoZXJlIGFyZSBhdCBsZWFzdCB0d28gc3RlcHMpLCBzbyBuby1KUyB1c2VycyByZWFkIGV2ZXJ5IHN0ZXAgaW4gbm9ybWFsXG4vLyBmbG93IOKAlCBhcyBkb2VzIGEgc2luZ2xlLXN0ZXAgc2VjdGlvbiwgd2hpY2ggaGFzIG5vdGhpbmcgdG8gY3Jvc3NmYWRlLlxuLy8gTW9iaWxlICsgdGFibGV0ICjiiaQxMDI0cHgsIHRoaXMgcGFnZSdzIG1vYmlsZSBib3VuZGFyeSk6IGhvcml6b250YWwgc3dpcGVcbi8vIHRyYWNrLCBvbmUgc3RlcCBwZXIgc2NyZWVuIOKAlCB0aGUgZGl2aWRlciB0cmFja3MgdGhlIHN3aXBlIHBvc2l0aW9uLlxuXG5AdXNlIFwiLi4vdXRpbHNcIiBhcyAqO1xuXG4vLyBHU0FQIHBpbnMgX19waW4g4oCUIHNlZSBpYi1waW4taG9zdCBpbiBfdXRpbHMuc2Nzcy4gRGVjbGFyZWQgaGVyZSByYXRoZXIgdGhhblxuLy8gaW4gYSBwYWdlIGVudHJ5IGJlY2F1c2UgdGhpcyBzZWN0aW9uIGlzIHJldXNlZCBhY3Jvc3MgZW50cmllcyBhbmQgdGhlXG4vLyBXb3JkUHJlc3MgYnVpbGQgc2VydmVzIHBhZ2VzIHdob3NlIDxib2R5PiBjYXJyaWVzIG5vIHBhZ2UtKiBjbGFzcy5cbkBpbmNsdWRlIGliLXBpbi1ob3N0KFwiLnRzZC1kaXNjb3Zlcnktc2VjdGlvblwiKTtcblxuLy8gUGFnZSBpbnNldHMg4oCUIHRoZSBzZWN0aW9uIHJ1bnMgZnVsbC1ibGVlZCBhbmQgc2V0cyBpdHMgb3duIGVkZ2VzIHJhdGhlciB0aGFuXG4vLyBjZW50cmluZyBhIG1heC13aWR0aCBib3gsIGJlY2F1c2UgdGhlIGVkZ2VzIGFyZSBhc3ltbWV0cmljICg2MCAvIDgwKSBhbmQgYVxuLy8gY2VudHJlZCBib3ggY2FuIG9ubHkgZXZlciBwcm9kdWNlIGVxdWFsIGluc2V0cyBvbiBib3RoIHNpZGVzLlxuLy9cbi8vIFRoZSBpbnNldCB0cmFja3MgdGhlIGhlYWRlcjogLmhlYWRlci1jb250YWluZXIgaXMgYSAtLWNvbnRhaW5lci13aWR0aC1wYWRkXG4vLyBib3ggY2VudHJlZCBpbiB0aGUgcGFnZSB3aXRoIGEgZmxhdCA0MHB4IGd1dHRlciBlYXRlbiBmcm9tIGluc2lkZSwgc28gdGhlXG4vLyBsb2dvIChhbmQgdGhlIENUQSBvbiB0aGUgcmlnaHQpIHNpdHMgYXRcbi8vICgxMDAlIOKIkiAtLWNvbnRhaW5lci13aWR0aC1wYWRkKSAvIDIgKyA0MHB4LiBUaGF0IGV4cHJlc3Npb24gaXMgdGhlIG1pZGRsZVxuLy8gdGVybSBvZiBlYWNoIGNsYW1wIGJlbG93IOKAlFxuLy8gICDCtyBmbG9vciAgNDBweCAgIOKAlCBvbmNlIHRoZSBwYWdlIG5hcnJvd3MgcGFzdCAtLWNvbnRhaW5lci13aWR0aC1wYWRkIHRoZVxuLy8gICAgIGhlYWRlciBjb250YWluZXIgZ29lcyBmdWxsLXdpZHRoIG9uIGEgZmxhdCA0MHB4IGd1dHRlciwgYW5kIHNvIGRvZXMgdGhpc1xuLy8gICDCtyBtaWRkbGUgICAgICAgIOKAlCBmb2xsb3dzIHRoZSBsb2dvIGV4YWN0bHkgdGhyb3VnaCB0aGUgYmFuZCB3aGVyZSB0aGVcbi8vICAgICBoZWFkZXIncyBvd24gaW5zZXQgaXMgYmV0d2VlbiB0aGUgZmxvb3IgYW5kIHRoZSBjYXBcbi8vICAgwrcgY2FwICAgIDYwLzgwcHgg4oCUIHRoZSBGaWdtYSBpbnNldHMsIGhlbGQgZnJvbSB0aGVyZSB1cCBvbiB3aWRlIHNjcmVlbnNcbiRfdHNkLWd1dHRlcjogNDBweDtcbiRfdHNkLWluc2V0LWxlZnQ6IDYwcHg7XG4kX3RzZC1pbnNldC1yaWdodDogODBweDtcbiRfdHNkLWluc2V0LW1vYmlsZTogMjBweDtcblxuLnRzZC1kaXNjb3Zlcnktc2VjdGlvbiB7XG4gIGJhY2tncm91bmQ6ICRpYi1iZy1wcmltYXJ5O1xuXG4gIC8vIFBvc2l0aW9uZWQgc28gdGhpcyBzZWN0aW9uIGFsd2F5cyB3aW5zIHRoZSBwYWludCBvcmRlciBhZ2FpbnN0IHdoYXRldmVyXG4gIC8vIHNpdHMgYWJvdmUgaXQuIFdoaWxlIEdTQVAgaG9sZHMgX19waW4sIHRoZSBwaW5uZWQgYm94IGJyaWVmbHkgb3ZlcmxhcHMgdGhlXG4gIC8vIHByZWNlZGluZyBzZWN0aW9uIOKAlCBhbmQgQ1NTIHBhaW50cyBwb3NpdGlvbmVkIGVsZW1lbnRzIGluIGEgbGF0ZXIgbGF5ZXJcbiAgLy8gdGhhbiBzdGF0aWMgb25lcyByZWdhcmRsZXNzIG9mIERPTSBvcmRlciwgc28gYSBgcG9zaXRpb246IHJlbGF0aXZlYFxuICAvLyBuZWlnaGJvdXIgKHRlY2hub2xvZ3kuaHRtbCdzIC50ZWNoLXByb2plY3QtdHlwZXMtc2VjdGlvbikgd291bGQgZHJhdyBpdHNcbiAgLy8gZGFyayBwYW5lbCBzdHJhaWdodCBvdmVyIHRoaXMgc2VjdGlvbidzIGhlYWRpbmcgYW5kIGRpdmlkZXIuIFRoZSBjYXNlXG4gIC8vIHN0dWR5IHBhZ2UgbmV2ZXIgc2hvd2VkIGl0IG9ubHkgYmVjYXVzZSAudHNkLWNoYWxsZW5nZS1zZWN0aW9uIGFib3ZlIGl0XG4gIC8vIGhhcHBlbnMgdG8gYmUgc3RhdGljLlxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7IC8vIGhlYWRlci5jc3Mgb3ducyAxMDAwIOKAlCBub3RoaW5nIGhlcmUgY2FuIGNvdmVyIHRoZSBuYXZcblxuICAvLyBSZXBlYXRzIHRoZSBzZWN0aW9uJ3Mgb3duIGJhY2tncm91bmQgcmF0aGVyIHRoYW4gaW5oZXJpdGluZyBpdC4gV2hpbGUgR1NBUFxuICAvLyBob2xkcyB0aGlzIGVsZW1lbnQgaXQgaXMgcG9zaXRpb246Zml4ZWQg4oCUIG91dCBvZiBmbG93LCBhbmQgdGhlcmVmb3JlIG9mZlxuICAvLyB0aGUgc2VjdGlvbidzIHBhaW50ZWQgYmFja2dyb3VuZCBib3guIEFueSBvdmVybGFwIGludG8gdGhlIHNlY3Rpb24gYWJvdmVcbiAgLy8gKGEgcGluIGVuZ2FnaW5nIGEgZnJhbWUgZWFybHksIHN1Yi1waXhlbCByb3VuZGluZyBhdCB0aGUgYm91bmRhcnkpIHdvdWxkXG4gIC8vIG90aGVyd2lzZSBzaG93IHRoYXQgc2VjdGlvbiBzdHJhaWdodCB0aHJvdWdoIHRoZSBwaW5uZWQgY29udGVudC4gQ2FycnlpbmdcbiAgLy8gdGhlIGdyb3VuZCB3aXRoIHRoZSBwaW4gbWFrZXMgdGhlIHNlYW0gaW1wb3NzaWJsZSB0byBzZWUuXG4gICZfX3BpbiB7XG4gICAgcGFkZGluZy1ibG9jazogaWItcmVtKDEyMHB4KTtcbiAgICBiYWNrZ3JvdW5kOiAkaWItYmctcHJpbWFyeTtcbiAgfVxuXG4gIC8vIEhlbGQgYXMgY3VzdG9tIHByb3BlcnRpZXMsIG5vdCB3cml0dGVuIHN0cmFpZ2h0IG9udG8gcGFkZGluZzogX19kaXZpZGVyXG4gIC8vIGJlbG93IGNhbmNlbHMgdGhlc2UgZXhhY3QgdmFsdWVzIHRvIGJyZWFrIGl0c2VsZiBvdXQgdG8gdGhlIGZ1bGwgd2lkdGgsIHNvXG4gIC8vIHRoZSB0d28gbXVzdCBuZXZlciBiZSBhYmxlIHRvIGRyaWZ0IGFwYXJ0LiBSZWRlZmluaW5nIHRoZSBwYWlyIGluIHRoZVxuICAvLyBtb2JpbGUgYmxvY2sgcmUtcG9pbnRzIGJvdGggYXQgb25jZS5cbiAgLy9cbiAgLy8gRmxhdCBweCB0aHJvdWdob3V0LCBOT1QgdmFyKC0tZ3V0dGVyKSDigJQgdGhlIGhlYWRlciBlYXRzIGEgZmxhdCA0MHB4LCB3aGlsZVxuICAvLyAtLWd1dHRlciBpcyAyLjVyZW0gYW5kIHRoaXMgcGFnZSBydW5zIHRoZSBmbHVpZCByb290IChfYmFzZS5zY3NzOlxuICAvLyBjbGFtcCgxNHB4LCAxMDB2dy8xMDgsIDE2cHgpKS4gQmVsb3cgYSAxNTEycHggdmlld3BvcnQgdGhhdCByb290IHNpdHMgYXRcbiAgLy8gMTRweCwgc28gLS1ndXR0ZXIgd291bGQgcmVzb2x2ZSB0byAzNXB4IGFuZCBsYW5kIHRoZSBjb250ZW50IDVweCBvdXRzaWRlXG4gIC8vIHRoZSBsb2dvIGl0IGlzIHN1cHBvc2VkIHRvIGxpbmUgdXAgd2l0aC5cbiAgJl9faW5uZXIge1xuICAgIC0tdHNkLWRpc2NvdmVyeS1pbnNldC1sZWZ0OiBjbGFtcChcbiAgICAgICN7JF90c2QtZ3V0dGVyfSxcbiAgICAgIGNhbGMoKDEwMCUgLSB2YXIoLS1jb250YWluZXItd2lkdGgtcGFkZCkpIC8gMiArICN7JF90c2QtZ3V0dGVyfSksXG4gICAgICAjeyRfdHNkLWluc2V0LWxlZnR9XG4gICAgKTtcbiAgICAtLXRzZC1kaXNjb3ZlcnktaW5zZXQtcmlnaHQ6IGNsYW1wKFxuICAgICAgI3skX3RzZC1ndXR0ZXJ9LFxuICAgICAgY2FsYygoMTAwJSAtIHZhcigtLWNvbnRhaW5lci13aWR0aC1wYWRkKSkgLyAyICsgI3skX3RzZC1ndXR0ZXJ9KSxcbiAgICAgICN7JF90c2QtaW5zZXQtcmlnaHR9XG4gICAgKTtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tdHNkLWRpc2NvdmVyeS1pbnNldC1sZWZ0KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS10c2QtZGlzY292ZXJ5LWluc2V0LXJpZ2h0KTtcbiAgfVxuXG4gICZfX2hlYWRpbmcge1xuICAgIEBpbmNsdWRlIGliLXR5cGUoXCJkaXNwbGF5LW1vYmlsZS1sYXJnZVwiKTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGNvbG9yOiAkaWItdGV4dC1wcmltYXJ5O1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gICZfX2hlYWRpbmctYWNjZW50IHtcbiAgICBjb2xvcjogJGliLXJlZC1icmFuZDtcbiAgfVxuXG4gICZfX2RpdmlkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IGliLXJlbSgxcHgpO1xuICAgIG1hcmdpbi1ibG9jazogaWItc3BhY2UoNDgpIGliLXNwYWNlKDU2KTtcblxuICAgIC8vIEZ1bGwtYmxlZWQgYnkgZGVzaWduOiB0aGUgcnVsZSBzcGFucyB0aGUgdmlld3BvcnQgZWRnZSB0byBlZGdlIHdoaWxlIHRoZVxuICAgIC8vIGhlYWRpbmcsIGNvdW50ZXIgYW5kIHN0ZXAgY29udGVudCBzdGF5IG9uIHRoZSBoZWFkZXItYWxpZ25lZCBpbnNldHMuXG4gICAgLy8gQ2FuY2VsbGluZyBfX2lubmVyJ3Mgb3duIHR3byBpbnNldHMgaXMgd2hhdCBkb2VzIGl0IOKAlCB0aGUgc2VjdGlvbiBpc1xuICAgIC8vIGFscmVhZHkgZnVsbC13aWR0aCwgc28gdW5kb2luZyBpdHMgcGFkZGluZyBsYW5kcyB0aGUgYmFyIGV4YWN0bHkgb24gYm90aFxuICAgIC8vIGVkZ2VzLiBEZWxpYmVyYXRlbHkgbm90IHRoZSBgNTAlIC0gNTB2d2AgY2VudHJpbmcgdHJpY2s6IHRoYXQgYXNzdW1lc1xuICAgIC8vIGVxdWFsIGluc2V0cyAoaXQgd291bGQgc2l0IHRoaXMgYmFyIDEwcHggbGVmdCBvZiBjZW50cmUgYWdhaW5zdCB0aGVcbiAgICAvLyA2MC84MCBwYWlyKSBhbmQgaXRzIHZ3IGNvdW50cyB0aGUgc2Nyb2xsYmFyLCBvdmVyaGFuZ2luZyB0aGUgdmlzaWJsZVxuICAgIC8vIGFyZWEuIFBlcmNlbnRhZ2VzIG9mIHRoZSBpbnNldCBwYWlyIGhhdmUgbmVpdGhlciBwcm9ibGVtLlxuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogdmFyKC0tdHNkLWRpc2NvdmVyeS1pbnNldC1sZWZ0KSk7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0xICogdmFyKC0tdHNkLWRpc2NvdmVyeS1pbnNldC1yaWdodCkpO1xuXG4gICAgLy8gUGVhY2ggdHJhY2sgdW5kZXIgdGhlIGNyaW1zb24gcHJvZ3Jlc3MgZmlsbFxuICAgIGJhY2tncm91bmQ6ICRpYi1yZWQtcGVhY2g7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gICZfX2RpdmlkZXItZmlsbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuXG4gICAgLy8gSlMgc2V0cyAtLXRzZC1kaXNjb3ZlcnktcHJvZ3Jlc3MgdG8gKGFjdGl2ZVN0ZXAgKyAxKSAvIHN0ZXBDb3VudC4gVGhlXG4gICAgLy8gZmFsbGJhY2sgaXMgYSBmdWxsIGJhciwgbm90IGEgZnJhY3Rpb24gb2YgYW55IHBhcnRpY3VsYXIgY291bnQ6IGl0IG9ubHlcbiAgICAvLyBhcHBsaWVzIGJlZm9yZSBKUyBydW5zIG9yIHdpdGhvdXQgaXQsIHdoZXJlIGV2ZXJ5IHN0ZXAgaXMgb24gc2NyZWVuIGF0XG4gICAgLy8gb25jZSBhbmQgdGhlIHByb2Nlc3MgcmVhZHMgYXMgY29tcGxldGUuXG4gICAgdHJhbnNmb3JtOiBzY2FsZVgodmFyKC0tdHNkLWRpc2NvdmVyeS1wcm9ncmVzcywgMSkpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC41cyBjdWJpYy1iZXppZXIoLjI1LCAuNDYsIC40NSwgLjk0KTtcbiAgICAvLyAtOTBkZWcgcG9pbnRzIHRoZSBncmFkaWVudCBsaW5lIGxlZnR3YXJkLCBhbmQgQ1NTIHB1dHMgdGhlIDAlIHN0b3AgYXQgdGhlXG4gICAgLy8gZW5kIG9wcG9zaXRlIHRoYXQgZGlyZWN0aW9uIOKAlCBzbyB0aGUgc29saWQgc3RvcHMgc2l0IG9uIHRoZSBiYXIncyByaWdodFxuICAgIC8vIChsZWFkaW5nKSBlZGdlIGFuZCBpdCB0aGlucyBvdXQgdG93YXJkIHRoZSBsZWZ0LiBUaGUgZ3JhZGllbnQgaXMgbGFpZFxuICAgIC8vIGFjcm9zcyB0aGUgZWxlbWVudCdzIGZ1bGwgd2lkdGggYW5kIHRoZW4gc3F1YXNoZWQgYnkgdGhlIHNjYWxlWCBhYm92ZSxcbiAgICAvLyBzbyB0aGUgZmFkZSByaWRlcyB3aXRoIHRoZSBiYXIgYXQgZXZlcnkgcHJvZ3Jlc3MgdmFsdWUuXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgICAgLTkwZGVnLFxuICAgICAgJGliLXJlZC1icmFuZCAwJSxcbiAgICAgICRpYi1yZWQtYnJhbmQgMTklLFxuICAgICAgcmdiYSgkaWItcmVkLWJyYW5kLCAuMTUpIDEwMCVcbiAgICApO1xuICB9XG5cbiAgJl9fc3RlcCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAuOGZyKSBtaW5tYXgoMCwgMS40ZnIpO1xuICAgIGdhcDogaWItc3BhY2UoNjQpO1xuICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgfVxuXG4gIC8vIE5vLUpTIC8gZGVmYXVsdDogc3RlcHMgZmxvdyBub3JtYWxseSB3aXRoIGJyZWF0aGluZyByb29tIGJldHdlZW4gdGhlbVxuICAmX19zdGVwICsgJl9fc3RlcCB7XG4gICAgbWFyZ2luLXRvcDogaWItc3BhY2UoOTYpO1xuICB9XG5cbiAgJl9fY291bnRlciB7XG4gICAgQGluY2x1ZGUgaWItdHlwZShcImhlYWRsaW5lLW1vYmlsZS1sYXJnZVwiKTtcbiAgICBjb2xvcjogJGliLXRleHQtc2Vjb25kYXJ5O1xuICAgIG1hcmdpbjogaWItc3BhY2UoOCkgMCAwO1xuICAgIGxldHRlci1zcGFjaW5nOiBpYi1yZW0oMnB4KTtcbiAgfVxuXG4gIC8vIE1lYXN1cmUgY2FwIGZvciB0aGUgd2hvbGUgcmlnaHQtaGFuZCBjb2x1bW4gKHRpdGxlLCBsaXN0LCBvdXRjb21lIGJveCkuXG4gIC8vIFRoZSAxLjRmciB0cmFjayBpdCBzaXRzIGluIGlzIHdpZGVyIHRoYW4gdGhpcyBvbmNlIHRoZSBzZWN0aW9uIHJlYWNoZXMgdGhlXG4gIC8vIDYwLzgwIGluc2V0cyBvbiBsYXJnZSBzY3JlZW5zLCBzbyB0aGUgY2FwIGlzIHdoYXQgc3RvcHMgdGhlIGJvZHkgY29weSBmcm9tXG4gIC8vIHJ1bm5pbmcgdG8gYW4gdW5yZWFkYWJsZSBsaW5lIGxlbmd0aCB0aGVyZS5cbiAgJl9fc3RlcC1jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IGliLXJlbSg4NDJweCk7XG4gIH1cblxuICAmX19zdGVwLXRpdGxlIHtcbiAgICBAaW5jbHVkZSBpYi10eXBlKFwiaGVhZGxpbmUtbW9iaWxlLWxhcmdlXCIpO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIG1hcmdpbjogMCAwIGliLXNwYWNlKDMyKTtcbiAgfVxuXG4gICZfX3N0ZXAtc3VidGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiAkaWItZm9udC1oZWFkaW5nO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiBpYi1yZW0oMjBweCk7XG4gICAgbGluZS1oZWlnaHQ6IGliLXJlbSgyOHB4KTtcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICBjb2xvcjogJGliLWdyYXktZGFyaztcbiAgICBtYXJnaW46IDAgMCBpYi1zcGFjZSgxNik7XG4gIH1cbiAgLy8gQSBzZWNvbmQgc3VidGl0bGUgZm9sbG93aW5nIHRoZSBmaXJzdCAoZS5nLiBhbiBpbnRybyBsaW5lIHRoZW4gYSBcIndoYXQgd2VcbiAgLy8gbG9va2VkIGF0XCIgbGluZSkgbmVlZHMgYSBjbGVhciBicmVhayBmcm9tIHRoZSBibG9jayBhYm92ZSBpdCwgbm90IGp1c3QgdGhlXG4gIC8vIDE2cHggaXQgY2FycmllcyBiZWxvdyBpdHNlbGYuXG4gICZfX3N0ZXAtY29udGVudCAmX19zdGVwLXN1YnRpdGxlIH4gJl9fc3RlcC1zdWJ0aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogaWItc3BhY2UoMjQpO1xuICB9XG4gICZfX2xpc3Qge1xuICAgIGZvbnQtZmFtaWx5OiAkaWItZm9udC1oZWFkaW5nO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgZm9udC1zaXplOiBpYi1yZW0oMjBweCk7XG4gICAgbGluZS1oZWlnaHQ6IGliLXJlbSgyOHB4KTtcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICBjb2xvcjogJGliLWdyYXktbWVkaXVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IGliLXJlbSgyMnB4KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiBpYi1zcGFjZSg4KTtcblxuICAgIGxpOjptYXJrZXIge1xuICAgICAgY29sb3I6ICRpYi10ZXh0LXNlY29uZGFyeTtcbiAgICAgIGZvbnQtc2l6ZTogaWItcmVtKDE0cHgpO1xuICAgIH1cbiAgfVxuXG4gIC8vIE9wdGlvbmFsIHBlci1zdGVwIENUQSDigJQgdGhlIGNhc2Utc3R1ZHkgcGFnZSdzIHN0ZXBzIGVuZCBvbiB0aGUgb3V0Y29tZSBib3hcbiAgLy8gaW5zdGVhZCwgc28gdGhpcyBvbmx5IHJlbmRlcnMgd2hlcmUgdGhlIG1hcmt1cCBhc2tzIGZvciBpdC4gU2FtZSBzaGFwZSBhc1xuICAvLyAuc24tY29udGVudC1zbGlkZXJfX3N0b3J5LWxpbmsgKHVuZGVybGluZWQgbGFiZWwgKyBudWRnaW5nIGFycm93KSwgaW5cbiAgLy8gY3JpbXNvbiBmb3IgdGhlIGNyZWFtIGJhY2tncm91bmQuXG4gICZfX2xpbmsge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiBpYi1yZW0oMTZweCk7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgIG1hcmdpbi10b3A6IGliLXNwYWNlKDQwKTtcblxuICAgIEBpbmNsdWRlIGliLXR5cGUoXCJsYWJlbC1tZWRpdW1cIik7XG5cbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAkaWItcmVkLWJyYW5kO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICY6aG92ZXIgLnRzZC1kaXNjb3Zlcnktc2VjdGlvbl9fbGluay1hcnJvdyB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDRweCwgMCwgMCk7XG4gICAgfVxuXG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IDJweCBzb2xpZCAkaWItcmVkLWJyYW5kO1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDRweDtcbiAgICB9XG4gIH1cblxuICAmX19saW5rLXRleHQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogNXB4O1xuICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IDFweDtcbiAgfVxuXG4gICZfX2xpbmstYXJyb3cge1xuICAgIGZsZXg6IG5vbmU7XG4gICAgZmlsbDogY3VycmVudGNvbG9yO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKC4yNSwgLjQ2LCAuNDUsIC45NCk7XG4gIH1cblxuICAmX19vdXRjb21lIHtcbiAgICBiYWNrZ3JvdW5kOiAkaWItYmctc2Vjb25kYXJ5O1xuICAgIGJvcmRlcjogaWItcmVtKC4yNXB4KSBzb2xpZCAkaWItZ3JheS1jaGFyY29hbDtcbiAgICBib3gtc2hhZG93OiBpYi1yZW0oNHB4KSBpYi1yZW0oNHB4KSAwIDAgJGliLXJlZC1wZWFjaDtcbiAgICBwYWRkaW5nOiBpYi1zcGFjZSgyNCk7XG4gICAgbWFyZ2luLXRvcDogaWItc3BhY2UoMzIpO1xuICB9XG5cbiAgJl9fb3V0Y29tZS10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6ICRpYi1mb250LWhlYWRpbmc7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IGliLXJlbSgyMHB4KTtcbiAgICBsaW5lLWhlaWdodDogaWItcmVtKDI4cHgpO1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgIGNvbG9yOiAkaWItZ3JheS1kYXJrO1xuICAgIG1hcmdpbjogMCAwIGliLXNwYWNlKDI0KTtcbiAgfVxuXG4gICZfX291dGNvbWUtdGV4dCB7XG4gICAgZm9udC1mYW1pbHk6ICRpYi1mb250LWhlYWRpbmc7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXNpemU6IGliLXJlbSgyMHB4KTtcbiAgICBsaW5lLWhlaWdodDogaWItcmVtKDI4cHgpO1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgIGNvbG9yOiAkaWItZ3JheS1tZWRpdW07XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8g4pSA4pSAIERlc2t0b3AgZW5oYW5jZWQgc3RhdGUgKEpTICsgR1NBUCBwcmVzZW50LCA+MTAyNHB4KSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgLy8gTWF0Y2hlcyBldmVyeSBvdGhlciBtb2R1bGUgb24gdGhpcyBwYWdlOiAxMDI0cHggaXMgdGhlIG1vYmlsZSBib3VuZGFyeSxcbiAgLy8gc28gdGFibGV0IHN3aXBlcyAoc2VlIHRoZSB0cmFjayBibG9jayBiZWxvdykgcmF0aGVyIHRoYW4gcGlubmluZy5cbiAgQG1lZGlhIChtaW4td2lkdGg6IGNhbGMoJGliLWJwLXRhYmxldCArIDFweCkpIHtcbiAgICAmLS1lbmhhbmNlZCAmX19waW4ge1xuICAgICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cbiAgICAgID4gKiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFN0ZXBzIHN0YWNrIGluIG9uZSBncmlkIGNlbGwgYW5kIGZhZGUgYmV0d2VlbiBlYWNoIG90aGVyIOKAlCBvcGFjaXR5IG9ubHksXG4gICAgLy8gbm8gdHJhdmVsOiBhbnkgdHJhbnNsYXRlIHJlYWRzIGFzIHRoZSBjb250ZW50IGp1bXBpbmcgYXMgaXQgc3dhcHMuXG4gICAgLy8gYGlzb2xhdGlvbmAga2VlcHMgdGhlIHotaW5kZXggc2h1ZmZsZSBiZWxvdyBzY29wZWQgdG8gdGhpcyBzdGFjay5cbiAgICAmLS1lbmhhbmNlZCAmX19zdGVwcyB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgaXNvbGF0aW9uOiBpc29sYXRlO1xuICAgIH1cblxuICAgICYtLWVuaGFuY2VkICZfX3N0ZXAge1xuICAgICAgZ3JpZC1hcmVhOiAxIC8gMTtcbiAgICAgIG9wYWNpdHk6IDA7XG5cbiAgICAgIC8vIEZ1bGx5IG91dCBvZiB0aGUgcGFpbnQgQU5EIG91dCBvZiB0aGUgYTExeSB0cmVlIG9uY2UgZmFkZWQg4oCUIGFuXG4gICAgICAvLyBvcGFjaXR5LTAgc3RlcCBpcyBzdGlsbCBhIGhpdC10ZXN0YWJsZSwgc2NyZWVuLXJlYWRlci12aXNpYmxlIGNvcHkgb2ZcbiAgICAgIC8vIHRoZSB0ZXh0IHNpdHRpbmcgb24gdG9wIG9mIHRoZSBsaXZlIG9uZS5cbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIHotaW5kZXg6IDA7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xuXG4gICAgICAvLyDilIDilIAgT3V0Z29pbmcgc3RlcCDilIDilIBcbiAgICAgIC8vIFN5bW1ldHJpYyBjcm9zc2ZhZGVzIGdob3N0OiBib3RoIHN0ZXBzIHNpdCBhdCBwYXJ0aWFsIG9wYWNpdHkgb3ZlciB0aGVcbiAgICAgIC8vIHNhbWUgZ3JpZCBjZWxsIGZvciBtb3N0IG9mIHRoZSB0cmFuc2l0aW9uLCBzbyB0aGUgcHJldmlvdXMgdGV4dCByZWFkc1xuICAgICAgLy8gdGhyb3VnaCB0aGUgaW5jb21pbmcgb25lLiBTdGFnZWQgaW5zdGVhZCDigJQgdGhlIG91dGdvaW5nIGxlYXZlcyBmaXJzdFxuICAgICAgLy8gYW5kIHF1aWNrbHksIGFuZCBgLmlzLWFjdGl2ZWAgYmVsb3cgZGVsYXlzIHRoZSBpbmNvbWluZyB1bnRpbCB0aGF0XG4gICAgICAvLyBleGl0IGhhcyBmaW5pc2hlZC4gYHZpc2liaWxpdHlgIGZsaXBzIG9ubHkgYXQgdGhlIGVuZCBvZiB0aGUgZmFkZS5cbiAgICAgIHRyYW5zaXRpb246XG4gICAgICAgIG9wYWNpdHkgLjJzIGVhc2UsXG4gICAgICAgIHZpc2liaWxpdHkgMHMgbGluZWFyIC4ycztcblxuICAgICAgJiArIC50c2QtZGlzY292ZXJ5LXNlY3Rpb25fX3N0ZXAge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICAvLyDilIDilIAgSW5jb21pbmcgc3RlcCDilIDilIBcbiAgICAgIC8vIERlbGF5ID0gdGhlIGV4aXQgZHVyYXRpb24sIHNvIGl0IHN0YXJ0cyBvbiBhbiBlbXB0eSBjZWxsLiBQYWludGVkXG4gICAgICAvLyBhYm92ZSB0aGUgb3V0Z29pbmcgb25lIGZvciB0aGUgc2xpdmVyIG9mIG92ZXJsYXAgZWl0aGVyIHNpZGUuXG4gICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgIG9wYWNpdHkgLjNzIGVhc2UgLjJzLFxuICAgICAgICAgIHZpc2liaWxpdHkgMHMgbGluZWFyIDBzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIOKUgOKUgCBNb2JpbGUgKyB0YWJsZXQgKOKJpDEwMjRweCkg4oCUIHR5cG9ncmFwaHksIHNwYWNpbmcgKyBzd2lwZSB0cmFjayDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgQGluY2x1ZGUgcmVzcG9uZC10bygkaWItYnAtdGFibGV0KSB7XG4gICAgJl9fcGluIHtcbiAgICAgIHBhZGRpbmctYmxvY2s6IGliLXNwYWNlKDQ4KTtcbiAgICB9XG5cbiAgICAvLyBSZS1wb2ludCB0aGUgaW5zZXQgcGFpciByYXRoZXIgdGhhbiBvdmVycmlkaW5nIHBhZGRpbmcgZGlyZWN0bHksIHNvIHRoZVxuICAgIC8vIGRpdmlkZXIncyBicmVhay1vdXQgZm9sbG93cyB0byAyMHB4IHdpdGggaXQuIE1hdGNoZXMgLmhlYWRlci1jb250YWluZXIsXG4gICAgLy8gd2hpY2ggZHJvcHMgdG8gYSBmbGF0IDIwcHggZ3V0dGVyIGF0IHRoaXMgc2FtZSDiiaQxMDI0cHggYm91bmRhcnkuXG4gICAgJl9faW5uZXIge1xuICAgICAgLS10c2QtZGlzY292ZXJ5LWluc2V0LWxlZnQ6ICN7JF90c2QtaW5zZXQtbW9iaWxlfTtcbiAgICAgIC0tdHNkLWRpc2NvdmVyeS1pbnNldC1yaWdodDogI3skX3RzZC1pbnNldC1tb2JpbGV9O1xuICAgIH1cblxuICAgICZfX2hlYWRpbmcge1xuICAgICAgQGluY2x1ZGUgaWItdHlwZShcImRpc3BsYXktbW9iaWxlLXNtYWxsXCIpO1xuICAgIH1cblxuICAgIC8vIG1hcmdpbi1ibG9jayBvbmx5IOKAlCB0aGUgc2hvcnRoYW5kIHdvdWxkIHJlc2V0IHRoZSBpbmxpbmUgbWFyZ2lucyBhbmRcbiAgICAvLyB1bmRvIHRoZSBmdWxsLWJsZWVkIGJyZWFrLW91dCBhYm92ZS4gRWRnZS10by1lZGdlIGlzIHJpZ2h0IGhlcmUgdG9vOiB0aGVcbiAgICAvLyBzd2lwZSB0cmFjayBiZWxvdyBhbHJlYWR5IGJsZWVkcyBwYXN0IHRoZSAyMHB4IGluc2V0LlxuICAgICZfX2RpdmlkZXIge1xuICAgICAgbWFyZ2luLWJsb2NrOiBpYi1zcGFjZSgyNCk7XG4gICAgfVxuXG4gICAgLy8gSG9yaXpvbnRhbCBzd2lwZSB0cmFjayDigJQgb25lIHN0ZXAgcGVyIHNjcmVlblxuICAgICZfX3N0ZXBzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgIC8vIENhcmRzIHNpemUgdG8gdGhlaXIgb3duIGNvbnRlbnQgaW5zdGVhZCBvZiBzdHJldGNoaW5nIHRvIHRoZSB0YWxsZXN0XG4gICAgICAvLyBvbmUgaW4gdGhlIHRyYWNrIOKAlCBvdGhlcndpc2UgdGhlIHNob3J0IGNhcmRzIGdhaW4gZGVhZCBzcGFjZS5cbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgIHNjcm9sbC1zbmFwLXR5cGU6IHggbWFuZGF0b3J5O1xuICAgICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuICAgICAgZ2FwOiBpYi1zcGFjZSgyNCk7XG5cbiAgICAgIC8vIExldCBjYXJkcyBibGVlZCB0byB0aGUgc2NyZWVuIGVkZ2UgYXMgYSBzd2lwZSBhZmZvcmRhbmNlXG4gICAgICBtYXJnaW4taW5saW5lOiBpYi1yZW0oLTIwcHgpO1xuICAgICAgcGFkZGluZy1pbmxpbmU6IGliLXJlbSgyMHB4KTtcblxuICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX3N0ZXAge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG5cbiAgICAgIC8vIFJvd3MgaHVnIHRoZWlyIGNvbnRlbnQgYW5kIHN0YXkgdG9wLWFsaWduZWQg4oCUIGF1dG8gcm93cyB3b3VsZFxuICAgICAgLy8gb3RoZXJ3aXNlIHN0cmV0Y2ggYW5kIG9wZW4gYSBmYWxzZSBnYXAgdW5kZXIgdGhlIGNvdW50ZXIuXG4gICAgICBhbGlnbi1jb250ZW50OiBzdGFydDtcbiAgICAgIGdhcDogaWItc3BhY2UoMjQpO1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBzY3JvbGwtc25hcC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAmICsgLnRzZC1kaXNjb3Zlcnktc2VjdGlvbl9fc3RlcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTm8gY2FwIG9uIHRoZSBzd2lwZSBjYXJkcyDigJQgZWFjaCBpcyBhbHJlYWR5IHNpemVkIHRvIG9uZSBzY3JlZW4gYnkgdGhlXG4gICAgLy8gdHJhY2ssIGFuZCA4NDJweCB3b3VsZCBsZWF2ZSBkZWFkIHNwYWNlIG9uIGEgMTAyNHB4IHRhYmxldC5cbiAgICAmX19zdGVwLWNvbnRlbnQge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cblxuICAgICZfX2NvdW50ZXIge1xuICAgICAgQGluY2x1ZGUgaWItdHlwZShcInRpdGxlLWxhcmdlXCIpO1xuICAgICAgY29sb3I6ICRpYi10ZXh0LWRpc2FibGVkO1xuICAgIH1cblxuICAgICZfX2NvdW50ZXItY3VycmVudCB7XG4gICAgICBjb2xvcjogJGliLXJlZC1icmFuZDtcbiAgICB9XG5cbiAgICAmX19zdGVwLXRpdGxlIHtcbiAgICAgIEBpbmNsdWRlIGliLXR5cGUoXCJoZWFkbGluZS1tb2JpbGUtbWVkaXVtXCIpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogaWItc3BhY2UoMzIpO1xuICAgIH1cblxuICAgICZfX3N0ZXAtc3VidGl0bGUge1xuICAgICAgQGluY2x1ZGUgaWItdHlwZShcInRpdGxlLW1lZGl1bVwiKTtcbiAgICB9XG5cbiAgICAmX19saXN0IHtcbiAgICAgIEBpbmNsdWRlIGliLXR5cGUoXCJib2R5LXNtYWxsXCIpO1xuXG4gICAgICBsaTo6bWFya2VyIHtcbiAgICAgICAgZm9udC1zaXplOiBpYi1yZW0oMTJweCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fb3V0Y29tZSB7XG4gICAgICBwYWRkaW5nOiBpYi1zcGFjZSgyNCk7XG4gICAgfVxuXG4gICAgJl9fb3V0Y29tZS10aXRsZSB7XG4gICAgICBAaW5jbHVkZSBpYi10eXBlKFwidGl0bGUtc21hbGxcIik7XG4gICAgICBtYXJnaW46IDAgMCBpYi1zcGFjZSgxNik7XG4gICAgfVxuXG4gICAgJl9fb3V0Y29tZS10ZXh0IHtcbiAgICAgIEBpbmNsdWRlIGliLXR5cGUoXCJib2R5LXNtYWxsXCIpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gYXNzZXRzL3Njc3MvcGFnZXMvdHJ1ZS1zdG9yeS1kZXRhaWwvX3F1b3RlLXNlY3Rpb24uc2Nzc1xuLy8gU2VjdGlvbjogQ2xpZW50IHF1b3RlIOKAlCBub3RjaGVkIHBob3RvIGNhcmQgYmVzaWRlIGEgcmVkLWFjY2VudGVkIGhlYWRpbmcsXG4vLyBzdXBwb3J0aW5nIGNvcHksIGFuZCBhIGNpdGF0aW9uIChuYW1lICsgcm9sZSkgYmVsb3cgdGhlIHRleHQuXG5cbkB1c2UgXCIuLi91dGlsc1wiIGFzICo7XG5cbi50c2QtcXVvdGUtc2VjdGlvbiB7XG4gIGJhY2tncm91bmQ6ICRpYi1iZy1wcmltYXJ5O1xuICBwYWRkaW5nLWJsb2NrOiBpYi1yZW0oMTQwcHgpO1xuXG4gICZfX2lubmVyIHtcbiAgICBtYXgtd2lkdGg6IGliLXJlbSgxMjQwcHgpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IGliLXJlbSg0MHB4KTtcbiAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgaWItcmVtKDUwMHB4KSkgbWlubWF4KDAsIDFmcik7XG4gICAgZ2FwOiBpYi1zcGFjZSg5Nik7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gICZfX21lZGlhIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAmX19waG90byB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgQGluY2x1ZGUgaWItbm90Y2goMjRweCwgMjRweCk7XG4gIH1cblxuICAmX19jb250ZW50IHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAmX19oZWFkaW5nIHtcbiAgICBAaW5jbHVkZSBpYi10eXBlKFwiaGVhZGxpbmUtd2ViLWxhcmdlXCIpO1xuICAgIGNvbG9yOiAkaWItdGV4dC1wcmltYXJ5O1xuICAgIG1heC13aWR0aDogaWItcmVtKDU2MHB4KTtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAmX19oZWFkaW5nLWFjY2VudCB7XG4gICAgY29sb3I6ICRpYi1yZWQtYnJhbmQ7XG4gIH1cblxuICAmX190ZXh0IHtcbiAgICBAaW5jbHVkZSBpYi10eXBlKFwiYm9keS1tZWRpdW1cIik7XG5cbiAgICBjb2xvcjogJGliLXRleHQtc2Vjb25kYXJ5O1xuICAgIG1heC13aWR0aDogaWItcmVtKDU2MHB4KTtcbiAgICBtYXJnaW46IGliLXNwYWNlKDMyKSAwIDA7XG4gIH1cblxuICAmX19jaXRlIHtcbiAgICBtYXJnaW4tdG9wOiBpYi1zcGFjZSg0MCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogaWItc3BhY2UoNCk7XG4gIH1cblxuICAmX19jaXRlLW5hbWUge1xuICAgIEBpbmNsdWRlIGliLXR5cGUoXCJsYWJlbC1tZWRpdW1cIik7XG5cbiAgICBsZXR0ZXItc3BhY2luZzogaWItcmVtKDFweCk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogJGliLXRleHQtcHJpbWFyeTtcbiAgfVxuXG4gICZfX2NpdGUtcm9sZSB7XG4gICAgQGluY2x1ZGUgaWItdHlwZShcImNhcHRpb24tbGFyZ2VcIik7XG5cbiAgICBjb2xvcjogJGliLXRleHQtc2Vjb25kYXJ5O1xuICB9XG5cbiAgLy8g4pSA4pSAIE1vYmlsZSAo4omkMTAyNHB4KSDigJQgc2luZ2xlIGNvbHVtbiwgcGhvdG8gZmlyc3Qg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8oJGliLWJwLXRhYmxldCkge1xuICAgIHBhZGRpbmctYmxvY2s6IGliLXNwYWNlKDQ4KTtcblxuICAgICZfX2lubmVyIHtcbiAgICAgIG1heC13aWR0aDogMzVyZW07XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgIGdhcDogaWItc3BhY2UoMzIpO1xuICAgICAgcGFkZGluZzogMCBpYi1yZW0oMjBweCk7IC8vIHJlc2V0IHRoZSBkZXNrdG9wIHBhZGRpbmc6IGliLXJlbSg0MHB4KSB0b3AvYm90dG9tIOKAlCBzZWN0aW9uJ3Mgb3duIHBhZGRpbmctYmxvY2sgYWxyZWFkeSBjb3ZlcnMgdGhhdFxuICAgIH1cblxuICAgICZfX2hlYWRpbmcge1xuICAgICAgQGluY2x1ZGUgaWItdHlwZShcImhlYWRsaW5lLW1vYmlsZS1sYXJnZVwiKTtcbiAgICB9XG5cbiAgICAmX190ZXh0IHtcbiAgICAgIEBpbmNsdWRlIGliLXR5cGUoXCJib2R5LXNtYWxsXCIpO1xuXG4gICAgICBjb2xvcjogJGliLXRleHQtc2Vjb25kYXJ5O1xuICAgICAgbWFyZ2luLXRvcDogaWItc3BhY2UoMjQpO1xuICAgIH1cblxuICAgICZfX2NpdGUge1xuICAgICAgbWFyZ2luLXRvcDogaWItc3BhY2UoMjQpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gYXNzZXRzL3Njc3MvcGFnZXMvdHJ1ZS1zdG9yeS1kZXRhaWwvX3N0YXRlbWVudC1zZWN0aW9uLnNjc3Ncbi8vIFNlY3Rpb246IFN0YXRlbWVudCArIGNhcmQgZGVjayAocGlubmVkIHNjcm9sbCBzdG9yeSkuXG4vL1xuLy8gRGVza3RvcCAoSlMgLS1lbmhhbmNlZCk6IEdTQVAgcGlucyBfX3N0YWdlIGZvciBvbmUgc2NydWJiZWQgbWFzdGVyXG4vLyB0aW1lbGluZSAoc2NydWI6IDEsIG5vIGZpeGVkIGR1cmF0aW9ucykg4oCUIHRoZSBzZW50ZW5jZSBcInR5cGVzIG9uXCJcbi8vIGNoYXJhY3RlciBieSBjaGFyYWN0ZXIsIHRoZSBmdWxsLWJsZWVkIG5hdnkgcGFuZWwgY29sbGFwc2VzIGludG8gY2FyZCAxLFxuLy8gdGhlbiBjYXJkcyAyIGFuZCAzIHNsaWRlIHVwIGZyb20gYmVsb3cgYW5kIHN0YWNrIG9uIHRvcC4gRXZlcnkgcGhhc2UgaXMgYVxuLy8gcHVyZSBmdW5jdGlvbiBvZiBzY3JvbGwgcHJvZ3Jlc3MsIHNvIHJldmVyc2Ugc2Nyb2xsIHVud2luZHMgaXQgYWxsXG4vLyBleGFjdGx5IChzZWUgc3RhdGVtZW50LXNlY3Rpb24uanMpLlxuLy9cbi8vIE5vLUpTIC8gbW9iaWxlICjiiaQxMDI0cHgpOiBldmVyeXRoaW5nIHN0YWNrcyBzdGF0aWNhbGx5IOKAlCBzZW50ZW5jZSwgdGhlblxuLy8gdGhlIHRocmVlIGNvbXBsZXRlIGNhcmRzLiBFdmVyeSBoaWRlLXN0YXRlIGxpdmVzIGJlaGluZCAtLWVuaGFuY2VkIElOU0lERVxuLy8gdGhlIGRlc2t0b3AgbWVkaWEgcXVlcnksIHNvIG1vYmlsZSBjYW4gbmV2ZXIgc3RyYW5kIGhpZGRlbiBjb250ZW50LlxuXG5AdXNlIFwiLi4vdXRpbHNcIiBhcyAqO1xuXG4vLyBQYW5lbCBjb2xvdXIgaXMgdGhlbWVhYmxlIOKAlCBzZWUgX3RoZW1lLnNjc3MgZm9yIHdoeSBpdCdzIGEgY3VzdG9tIHByb3BlcnR5XG4vLyBhbmQgaG93IGEgcGFnZSBvcHRzIGludG8gYSB2YXJpYW50LlxuQHVzZSBcInRoZW1lXCIgYXMgKjtcblxuJF90c2QtY2FyZC1yYWRpdXM6IGliLXJlbSgwKTtcbiRfdHNkLWNhcmQtc2hhZG93OiAwIGliLXJlbSgzMHB4KSBpYi1yZW0oODBweCkgcmdiYSgjMDIxMzJhLCAuMzUpO1xuXG4vLyBHU0FQIHBpbnMgX19zdGFnZSDigJQgc2VlIGliLXBpbi1ob3N0IGluIF91dGlscy5zY3NzIGZvciB3aGF0IHRoaXMgYXNzZXJ0cyBvblxuLy8gdGhlIHBhZ2Ugcm9vdCBhbmQgd2h5IHRoZSBzZWN0aW9uIGRlY2xhcmVzIGl0IHJhdGhlciB0aGFuIHRoZSBwYWdlIGVudHJ5LlxuLy8gVGhlIG92ZXJmbG93LXggaGFsZiBtYXR0ZXJzIGRvdWJseSBoZXJlOiB3aGlsZSBwaW5uZWQsIF9fc3RhZ2UgaXNcbi8vIHBvc2l0aW9uOmZpeGVkIGFuZCBlc2NhcGVzIHRoaXMgc2VjdGlvbidzIG93biBvdmVyZmxvdzpoaWRkZW4sIGFuZCBjYXJkIDEnc1xuLy8gcGFuZWwgaXMgc2NhbGVkIH4wLjUlIHBhc3QgdGhlIHZpZXdwb3J0IChDT1ZFUl9PVkVSU0NBTiBpblxuLy8gc3RhdGVtZW50LXNlY3Rpb24uanMpIHNvIHJvdW5kaW5nIG5ldmVyIGxlYXZlcyBhIHNlYW0uXG5AaW5jbHVkZSBpYi1waW4taG9zdChcIi50c2Qtc3RhdGVtZW50LXNlY3Rpb25cIik7XG5cbi50c2Qtc3RhdGVtZW50LXNlY3Rpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6IHZhcigtLXRzZC1wYW5lbCwgI3skaWItdHNkLXBhbmVsfSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgLy8gRmlsbS1ncmFpbiB0ZXh0dXJlIG92ZXIgdGhlIHdob2xlIHNlY3Rpb24g4oCUIHNhbWUgcGF0dGVybiBhc1xuICAvLyAmX19jYXJkLWlubmVyOjphZnRlciBiZWxvdy4gU2l0cyBhYm92ZSB0aGUgbmF2eSBiZy9jb250ZW50IChncmFpbi5wbmdcbiAgLy8gaXMgYSBtb3N0bHktdHJhbnNwYXJlbnQgbm9pc2UgdGV4dHVyZSwgc28gaXQgbmV2ZXIgYmxvY2tzIGxlZ2liaWxpdHkpLlxuICAvLyBUYWJsZXQvbW9iaWxlICjiiaQxMDI0cHgpIG9ubHkg4oCUIGRlc2t0b3Aga2VlcHMgdGhlIHBlci1jYXJkIGdyYWluIGluc3RlYWQuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8oJGliLWJwLXRhYmxldCkge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBpbnNldDogMDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uLy4uLy4uL3N0YXRpYy9hc3NldHMvaW1hZ2VzL2xhdGVzdC9ncmFpbi5wbmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIG1peC1ibGVuZC1tb2RlOiBub3JtYWw7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB6LWluZGV4OiA0O1xuICAgIH1cbiAgfVxuXG4gIC8vIOKUgOKUgCBTdGF0aWMgYmFzZSAobW9iaWxlICsgbm8tSlMpOiB2ZXJ0aWNhbCBzdGFjayDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgJl9fc3RhZ2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IGliLXNwYWNlKDY0KTtcbiAgICBtYXgtd2lkdGg6IHZhcigtLWNvbnRhaW5lci13aWR0aC1wYWRkKTtcbiAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgIHBhZGRpbmc6IGliLXNwYWNlKDk2KSB2YXIoLS1ndXR0ZXIpO1xuICB9XG5cbiAgJl9fc2VudGVuY2Uge1xuICAgIC8vIEZpZ21hOiBMZXhlbmQgMzAwIH42NC84MCwgd2hpdGUsIGNlbnRlcmVkIHdoaWxlIHBpbm5lZC5cbiAgICAvLyBUT0RPOiBjb25maXJtIGFnYWluc3QgJGliLXR5cGUtc2NhbGUgb25jZSBhIG1hdGNoaW5nIGtleSBleGlzdHMuXG4gICAgZm9udC1mYW1pbHk6ICRpYi1mb250LWhlYWRpbmc7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXNpemU6IGliLXJlbSg2NHB4KTtcbiAgICBsaW5lLWhlaWdodDogaWItcmVtKDgwcHgpO1xuICAgIGxldHRlci1zcGFjaW5nOiBpYi1yZW0oLTEuMnB4KTtcbiAgICBjb2xvcjogJGliLXRleHQtaW52ZXJ0O1xuICAgIG1heC13aWR0aDogaWItcmVtKDk4MHB4KTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAvLyDilIDilIAgQ2FyZHMgKHNoYXJlZCBzaGFwZSkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gICZfX2NhcmQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogbWluKGliLXJlbSgxMTYwcHgpLCAxMDAlKTtcbiAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICB9XG5cbiAgLy8gU2VwYXJhdGUgYmcgbGF5ZXI6IG9uIGRlc2t0b3AgY2FyZCAxIHNjYWxlcyBUSElTIHRvIGZ1bGwtYmxlZWQgYW5kIGJhY2sg4oCUXG4gIC8vIGEgZmxhdCBwYW5lbCBzY2FsZXMgaW52aXNpYmx5LCB3aGlsZSB0aGUgY29udGVudCBsYXllciBuZXZlciBkaXN0b3J0cy5cbiAgJl9fY2FyZC1iZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRzZC1wYW5lbCwgI3skaWItdHNkLXBhbmVsfSk7XG4gICAgYm9yZGVyOiBpYi1yZW0oMXB4KSBzb2xpZCByZ2JhKCRpYi1ncmF5LXdoaXRlLCAuMTQpOyAvLyBsaWZ0cyBuYXZ5IGNhcmRzIG9mZiB0aGUgbmF2eSBtb2JpbGUgYmdcbiAgICBib3JkZXItcmFkaXVzOiAkX3RzZC1jYXJkLXJhZGl1cztcbiAgICBib3gtc2hhZG93OiAkX3RzZC1jYXJkLXNoYWRvdztcblxuICAgIEBpbmNsdWRlIGliLW5vdGNoKDI0cHgsIDI0cHgpO1xuICB9XG5cbiAgJl9fY2FyZC1pbm5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyAvLyBzdGFja3MgYWJvdmUgdGhlIGJnIGxheWVyXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogaWItc3BhY2UoMjQpO1xuICAgIHBhZGRpbmc6IGliLXNwYWNlKDMyKTtcblxuICAgIC8vIEZpbG0tZ3JhaW4gdGV4dHVyZSBvdmVyIHRoZSB3aG9sZSBjYXJkIOKAlCBzYW1lIHBhdHRlcm4gYXNcbiAgICAvLyBzbi1jb250ZW50LXNsaWRlcl9fc2xpZGU6OmFmdGVyLiBoZWFkaW5nL21lZGlhL2Zvb3RlciBiZWxvdyBhcmUgYWxsXG4gICAgLy8gei1pbmRleDphdXRvLCBzbyB6LWluZGV4OjIgaGVyZSBpcyBlbm91Z2ggdG8gcGFpbnQgYWJvdmUgdGhlbSB3aXRob3V0XG4gICAgLy8gbmVlZGluZyB0byBjb29yZGluYXRlIHdpdGggdGhlIF9fY2FyZC0tMS8yLzMgc3RhY2sgei1pbmRleCAoMS8yLzMpOlxuICAgIC8vIHRob3NlIGxpdmUgb25lIGxldmVsIHVwLCBvbiB0aGUgc2libGluZyA8YXJ0aWNsZT4gZWxlbWVudHMsIGVhY2ggaXRzXG4gICAgLy8gb3duIHN0YWNraW5nIGNvbnRleHQg4oCUIHRoaXMgcHNldWRvIGNhbiBuZXZlciBibGVlZCBpbnRvIGFub3RoZXIgY2FyZC5cbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgaW5zZXQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi8uLi8uLi9zdGF0aWMvYXNzZXRzL2ltYWdlcy9sYXRlc3QvZ3JhaW4ucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBtaXgtYmxlbmQtbW9kZTogbm9ybWFsO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgei1pbmRleDogMjtcblxuICAgICAgQGluY2x1ZGUgaWItbm90Y2goMjRweCwgMjRweCk7XG4gICAgfVxuICB9XG5cbiAgJl9fY2FyZC1oZWFkaW5nIHtcbiAgICBAaW5jbHVkZSBpYi10eXBlKFwiZGlzcGxheS1tb2JpbGUtc21hbGxcIik7XG5cbiAgICAvLyBmb250LWZhbWlseTogJGliLWZvbnQtaGVhZGluZztcbiAgICAvLyBmb250LXdlaWdodDogMzAwO1xuICAgIC8vIGZvbnQtc2l6ZTogaWItcmVtKDMycHgpO1xuICAgIC8vIGxpbmUtaGVpZ2h0OiBpYi1yZW0oNDRweCk7XG4gICAgY29sb3I6ICRpYi10ZXh0LWludmVydDtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuXG4gIC8vIENvbnRhaW5lciBhbHdheXMgd3JhcHMgdGhlIGltYWdlIOKAlCBjbGlwcGluZyBsaXZlcyBoZXJlLCBub3Qgb24gdGhlIGltYWdlXG4gICZfX2NhcmQtbWVkaWEge1xuICAgIEBpbmNsdWRlIGliLW5vdGNoKDE2cHgsIDEycHgpO1xuICB9XG5cbiAgJl9fY2FyZC1zY3JlZW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gICZfX2NhcmQtZm9vdGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IGliLXNwYWNlKDI0KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAmX19jYXJkLWJvZHkge1xuICAgIEBpbmNsdWRlIGliLXR5cGUoXCJib2R5LW1lZGl1bVwiKTtcblxuICAgIGNvbG9yOiAkaWItdGV4dC1pbnZlcnQ7XG4gICAgbWF4LXdpZHRoOiBpYi1yZW0oNjgwcHgpO1xuICAgIG1hcmdpbjogMDtcbiAgXG4gICAgJjpvbmx5LWNoaWxkIHtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gICZfX2NhcmQtcGlsbCB7XG4gICAgQGluY2x1ZGUgaWItdHlwZShcInRpdGxlLWV4dHJhLXNtYWxsXCIpO1xuICAgIGNvbG9yOiAkaWItdGV4dC1pbnZlcnQ7XG4gICAgYmFja2dyb3VuZDogcmdiYSgkaWItZ3JheS13aGl0ZSwgLjEpO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nOiBpYi1zcGFjZSgxNik7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8g4pSA4pSAIERlc2t0b3AgZW5oYW5jZWQgc3RhdGUgKEpTICsgR1NBUCBwcmVzZW50LCA+MTAyNHB4IG9ubHkpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICBAbWVkaWEgKG1pbi13aWR0aDogY2FsYygkaWItYnAtdGFibGV0ICsgMXB4KSkge1xuICAgIC8vIENyZWFtIGZyYW1lcyB0aGUgY29sbGFwc2VkIGNhcmRzOyB0aGUgZnVsbC1ibGVlZCBwYW5lbCBjb3ZlcnMgaXQgYXQgcmVzdFxuICAgICYtLWVuaGFuY2VkIHtcbiAgICAgIGJhY2tncm91bmQ6ICRpYi1iZy1wcmltYXJ5O1xuICAgIH1cblxuICAgIC8vIEdTQVAgcGlucyB0aGlzIGF0IGhlaWdodDoxMDB2aCBhbmQgcmVzZXJ2ZXMgdGhlIHNjcm9sbCBkaXN0YW5jZSBpdHNlbGZcbiAgICAvLyAocGluLXNwYWNlcikg4oCUIG5vIHNlcGFyYXRlIHRhbGwgdHJhY2sgZWxlbWVudCBuZWVkZWQuXG4gICAgJi0tZW5oYW5jZWQgJl9fc3RhZ2Uge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBnYXA6IDA7XG4gICAgfVxuXG4gICAgLy8gU2VudGVuY2Ugb3ZlcmxheSDigJQgY2VudGVyZWQgYWJvdmUgY2FyZCAxJ3MgZnVsbC1ibGVlZCBwYW5lbFxuICAgICYtLWVuaGFuY2VkICZfX2ludHJvIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGluc2V0OiAwO1xuICAgICAgei1pbmRleDogNTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBwYWRkaW5nLWlubGluZTogdmFyKC0tZ3V0dGVyKTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG5cbiAgICAvLyBKUy1zcGxpdCBzcGFuczogd29yZCB3cmFwcGVycyBrZWVwIGxpbmUtYnJlYWtzIGJldHdlZW4gd29yZHMgb25seTtcbiAgICAvLyBjaGFycyBjYXJyeSB0aGUgcGVyLWNoYXJhY3RlciBoaWRlLXN0YXRlIHRoZSBzY3J1YiByZXZlYWxzIGZyb21cbiAgICAmLS1lbmhhbmNlZCAmX193b3JkIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAmLS1lbmhhbmNlZCAmX19jaGFyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIGliLXJlbSgxMHB4KSwgMCk7XG4gICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cblxuICAgIC8vIENhcmRzIGNlbnRlciBpbiB0aGUgcGlubmVkIHN0YWdlLiBEZWZpbml0ZSBzaXplICsgaW5zZXQ6MCArIG1hcmdpbjphdXRvXG4gICAgLy8gY2VudGVycyBXSVRIT1VUIHRyYW5zZm9ybXMg4oCUIEdTQVAgb3ducyB0aGUgdHJhbnNmb3JtIGNoYW5uZWwgZW50aXJlbHkuXG4gICAgJi0tZW5oYW5jZWQgJl9fY2FyZCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBpbnNldDogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIHdpZHRoOiBtaW4oaWItcmVtKDExNjBweCksIGNhbGMoMTAwdncgLSBpYi1yZW0oOTZweCkpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1jYWxjLW5vLXVuc3BhY2VkLW9wZXJhdG9yXG4gICAgICBoZWlnaHQ6IG1pbihpYi1yZW0oNzAwcHgpLCBjYWxjKDEwMHZoIC0gaWItcmVtKDk2cHgpKSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tY2FsYy1uby11bnNwYWNlZC1vcGVyYXRvclxuICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgICB9XG5cbiAgICAvLyBMYXRlciBjYXJkcyBzdGFjayBBQk9WRSBlYXJsaWVyIG9uZXMgYXMgdGhleSBhcnJpdmUuIE9uZSBzaGFyZWQgei1pbmRleFxuICAgIC8vIHJhdGhlciB0aGFuIGEgcGVyLWNhcmQgbGFkZGVyICgxLzIvMyk6IHNpYmxpbmdzIG9uIHRoZSBzYW1lIGxldmVsIHBhaW50XG4gICAgLy8gaW4gdHJlZSBvcmRlciwgc28gRE9NIG9yZGVyIGFsb25lIGdpdmVzIHRoZSBhcnJpdmFsIG9yZGVyIGZvciBhIGRlY2sgb2ZcbiAgICAvLyBhbnkgc2l6ZS4gVGhlIHZhbHVlIHN0aWxsIGhhcyB0byBiZSBzZXQg4oCUIGl0J3Mgd2hhdCBtYWtlcyBlYWNoIGNhcmQgaXRzXG4gICAgLy8gb3duIHN0YWNraW5nIGNvbnRleHQsIHdoaWNoICZfX2NhcmQtaW5uZXI6OmFmdGVyJ3Mgei1pbmRleCByZWxpZXMgb24gdG9cbiAgICAvLyBzdGF5IGluc2lkZSBpdHMgY2FyZCAoc2VlIHRoZSBiYXNlIHJ1bGUgYWJvdmUpLlxuICAgICYtLWVuaGFuY2VkICZfX2NhcmQge1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICAvLyBFdmVyeSBjYXJkIGFmdGVyIHRoZSBmaXJzdCByZXN0cyBiZWxvdyB0aGUgdmlld3BvcnQgdW50aWwgaXRzIHNsaWRlLWluXG4gICAgLy8gc2VnbWVudCAoSlMgcmUtYXBwbGllcyB0aGlzIGlubGluZSBhdCBpbml0OyB0aGlzIGlzIHRoZSBuby1mbGFzaFxuICAgIC8vIGJhc2VsaW5lKS4gXCJBIGNhcmQgcHJlY2VkZWQgYnkgYW5vdGhlciBjYXJkXCIgY292ZXJzIGhvd2V2ZXIgbWFueSB0aGVcbiAgICAvLyBkZWNrIGhvbGRzIOKAlCBOT1QgOm5vdCg6Zmlyc3QtY2hpbGQpLCB3aGljaCB3b3VsZCBjYXRjaCBjYXJkIDEgdG9vOiB0aGVcbiAgICAvLyBzZW50ZW5jZSBvdmVybGF5ICgmX19pbnRybykgaXMgdGhlIHN0YWdlJ3MgYWN0dWFsIGZpcnN0IGNoaWxkLlxuICAgICYtLWVuaGFuY2VkICZfX2NhcmQgfiAmX19jYXJkIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTEwdmgsIDApO1xuICAgIH1cblxuICAgIC8vIENhcmQgMSBvbmx5OiBzdXBwcmVzcyB0aGUgbm90Y2ggKyBncmFpbiAoYm90aCBiZWxvdywgYmFzZSBydWxlcykgd2hpbGVcbiAgICAvLyBpdCdzIHN0aWxsIHRoZSBmdWxsLWJsZWVkIGludHJvIHBhbmVsIOKAlCBhIGNvcm5lciBjdXQgYW5kIGFcbiAgICAvLyBjYXJkLXNpemVkIGdyYWluIHBhdGNoIGJvdGggbG9vayB3cm9uZyBzaXR0aW5nIGluc2lkZSBhIHZpZXdwb3J0LVxuICAgIC8vIGNvdmVyaW5nIHBhbmVsLCBhbmQgdGhlIGdyYWluIGluIHBhcnRpY3VsYXIgZG9lc24ndCBzY2FsZSB3aXRoIHRoZVxuICAgIC8vIGNvbGxhcHNlIChvbmx5IF9fY2FyZC1iZydzIHRyYW5zZm9ybSBkb2VzKSwgc28gaXQgcmVhZCBhcyBhIHNlY29uZCxcbiAgICAvLyBtaXNtYXRjaGVkIGxheWVyIGZsb2F0aW5nIG92ZXIgdGhlIGludHJvLiBKUyBhZGRzIC5pcy1jb2xsYXBzZWQgb25jZVxuICAgIC8vIHRoZSBzaHJpbmsgZmluaXNoZXMgKHNlZSBzdGF0ZW1lbnQtc2VjdGlvbi5qcyksIHdoaWNoIGxldHMgdGhlc2UgdHdvXG4gICAgLy8gcnVsZXMgc3RvcCBtYXRjaGluZyBhbmQgaGFuZHMgdGhlIGNhcmQgYmFjayB0byB0aGUgYmFzZSBhbHdheXMtb25cbiAgICAvLyBub3RjaC9ncmFpbiBydWxlcyDigJQgc2FtZSBtb21lbnQsIHNhbWUgcmV2ZXJzaWJsZSBzY3J1YiBwb2ludC5cbiAgICAvLyBLZXllZCBvbiB0aGUgLS0xIG1vZGlmaWVyOiB0aGlzIGlzIGFib3V0IHRoZSBvbmUgY2FyZCB0aGF0IHN0YXJ0cyBhcyB0aGVcbiAgICAvLyBmdWxsLWJsZWVkIHBhbmVsLCBub3QgYWJvdXQgaG93IG1hbnkgY2FyZHMgZm9sbG93IGl0LCBzbyB0aGUgZGVjayBjYW5cbiAgICAvLyBncm93IGZyZWVseS4gVGhlIGxlYWQgY2FyZCBtdXN0IGtlZXAgdGhhdCBjbGFzcy5cbiAgICAmLS1lbmhhbmNlZCAmX19jYXJkLS0xOm5vdCguaXMtY29sbGFwc2VkKSAmX19jYXJkLWJnIHtcbiAgICAgIGNsaXAtcGF0aDogbm9uZTtcbiAgICB9XG5cbiAgICAmLS1lbmhhbmNlZCAmX19jYXJkLS0xOm5vdCguaXMtY29sbGFwc2VkKSAmX19jYXJkLWlubmVyOjphZnRlciB7XG4gICAgICBjb250ZW50OiBub25lO1xuICAgIH1cblxuICAgIC8vIENhcmQgMSdzIHBhbmVsIGlzIHNjYWxlZCB0byBmdWxsLWJsZWVkIGJ5IEpTLCB0aGVuIGNvbGxhcHNlcyB0byAxOjFcbiAgICAmLS1lbmhhbmNlZCAmX19jYXJkLWJnIHtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICAgIH1cblxuICAgICYtLWVuaGFuY2VkICZfX2NhcmQtaW5uZXIge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcGFkZGluZzogaWItc3BhY2UoNDgpO1xuICAgIH1cblxuICAgIC8vIE1lZGlhIGZpbGxzIHRoZSBzcGFjZSBiZXR3ZWVuIGhlYWRpbmcgYW5kIGZvb3Rlci4gRGVza3RvcCBzd2FwcyB0aGVcbiAgICAvLyBtb2JpbGUgbm90Y2ggZm9yIGEgcGxhaW4gcm91bmRlZCByZWN0IOKAlCBvdmVyZmxvdzpoaWRkZW4gcmUtY2xpcHMgdGhlXG4gICAgLy8gaW1hZ2UgdG8gaXQgc2luY2UgYm9yZGVyLXJhZGl1cyBhbG9uZSBjYW4ndCB1bmRvIHRoZSBpbmhlcml0ZWQgY2xpcC1wYXRoLlxuICAgICYtLWVuaGFuY2VkICZfX2NhcmQtbWVkaWEge1xuICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgY2xpcC1wYXRoOiBub25lO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgJi0tZW5oYW5jZWQgJl9fY2FyZC1zY3JlZW4ge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICBvYmplY3QtcG9zaXRpb246IHRvcCBjZW50ZXI7XG4gICAgfVxuXG4gICAgJi0tZW5oYW5jZWQgJl9fY2FyZC1mb290ZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBnYXA6IGliLXNwYWNlKDMyKTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG4gICAgLy8gSGlkZS1zdGF0ZSBmb3IgdGhlIHN0YWdnZXJlZCBoZWFkaW5nIOKGkiBtZWRpYSDihpIgZm9vdGVyIHJldmVhbCAoZXZlcnlcbiAgICAvLyBjYXJkIGdldHMgdGhpcyDigJQgY2FyZCAxIGFsb25nc2lkZSBpdHMgY29sbGFwc2UsIGNhcmRzIDIvMyByaWdodCBhZnRlclxuICAgIC8vIHRoZXkgYXJyaXZlKS4gRGVza3RvcC1zY29wZWQgb24gcHVycG9zZTogbW9iaWxlIC8gbm8tSlMgbmV2ZXIgaW5oZXJpdHMgaXQuXG4gICAgJi0tZW5oYW5jZWQgJl9fY2FyZC1oZWFkaW5nLFxuICAgICYtLWVuaGFuY2VkICZfX2NhcmQtbWVkaWEsXG4gICAgJi0tZW5oYW5jZWQgJl9fY2FyZC1mb290ZXIge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgaWItcmVtKDI0cHgpLCAwKTtcbiAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuXG4gICAgLy8gQXQgMTAyNHB4IHRoaXMgc2VjdGlvbiBpcyBkZXNrdG9wLWVuaGFuY2VkLCBzbyBrZWVwIGZpcnN0LWNhcmQgaGVhZGluZ1xuICAgIC8vIHZpc2liaWxpdHkgYWxpZ25lZCB3aXRoIHRoZSBkZXNrdG9wIGFuaW1hdGlvbiBpbnRlbnQuXG4gICAgJi0tZW5oYW5jZWQgJl9fY2FyZC1oZWFkaW5nLmliLWRlc2t0b3Atb25seSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICYtLWVuaGFuY2VkICZfX2NhcmQtaGVhZGluZy5pYi1tb2JpbGUtdGFibGV0LW9ubHkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIOKUgOKUgCBNb2JpbGUgKOKJpDEwMjRweCkg4oCUIHN0YXRpYyBzdGFjaywgY2FyZCAxIG9ubHkgKG1hdGNoZXMgdGhlIG1vYmlsZSBkZXNpZ24pIOKUgFxuICBAbWVkaWEgKHdpZHRoIDwgJGliLWJwLXRhYmxldCkge1xuICAgICZfX3N0YWdlIHtcbiAgICAgIGdhcDogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLy8gSW50cm8gb3ducyBpdHMgb3duIGZpeGVkLWhlaWdodCBibG9jayBhYm92ZSB0aGUgY2FyZCDigJQgbm90IGp1c3QgYVxuICAgIC8vIGZsZXggZ2FwIOKAlCBzbyBpdCByZWFkcyBhcyBhIGRpc3RpbmN0IHNlY3Rpb24sIG5vdCBnbHVlZCB0byB0aGUgY2FyZFxuICAgIC8vIGJlbG93LiBUZXh0IGNlbnRlcnMgdmVydGljYWxseSBpbnNpZGUgdGhhdCBzcGFjZSBpbnN0ZWFkIG9mIHJlbHlpbmdcbiAgICAvLyBvbiBhc3ltbWV0cmljIHRvcC9ib3R0b20gcGFkZGluZy5cbiAgICAmX19pbnRybyB7XG4gICAgICBtaW4taGVpZ2h0OiBpYi1yZW0oNTA5cHgpO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmctYmxvY2s6IGliLXNwYWNlKDQ4KTtcbiAgICAgIHBhZGRpbmctaW5saW5lOiBpYi1yZW0oMjBweCk7XG4gICAgfVxuXG4gICAgLy8gU3RhZ2UgcGFkZGluZyBtb3ZlZCBpbnRvICZfX2ludHJvIGFib3ZlLCBzbyB0aGUgY2FyZCBuZWVkcyBpdHMgb3duXG4gICAgLy8gc2lkZSBpbnNldCB0byBtYXRjaCDigJQgb3RoZXJ3aXNlIGl0IGdvZXMgZWRnZS10by1lZGdlIHdpdGggbm8gbWFyZ2luLlxuICAgICZfX2NhcmQge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW46IDAgaWItcmVtKDIwcHgpO1xuICAgICAgcGFkZGluZy1ibG9jazogaWItc3BhY2UoNDgpO1xuICAgIH1cblxuICAgICZfX3NlbnRlbmNlIHtcbiAgICAgIEBpbmNsdWRlIGliLXR5cGUoXCJkaXNwbGF5LW1vYmlsZS1zbWFsbFwiKTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAvLyBTZWN0aW9uLXdpZGUgZ3JhaW4gKGFib3ZlKSByZXBsYWNlcyB0aGUgcGVyLWNhcmQgdGV4dHVyZSBvbiBtb2JpbGUg4oCUXG4gICAgLy8gdGhlIGJvcmRlcmVkIG5hdnkgcGFuZWwgaXNuJ3QgbmVlZGVkIGVpdGhlciBvbmNlIHRoZSBjYXJkIHNpdHNcbiAgICAvLyBkaXJlY3RseSBvbiB0aGUgc2VjdGlvbidzIG93biBuYXZ5IGJhY2tncm91bmQuXG4gICAgJl9fY2FyZC1iZyxcbiAgICAmX19jYXJkLWlubmVyOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICZfX2NhcmQtaW5uZXIge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAmX19jYXJkLWhlYWRpbmcge1xuICAgICAgZm9udC1zaXplOiBpYi1yZW0oMjRweCk7XG4gICAgICBsaW5lLWhlaWdodDogaWItcmVtKDMycHgpO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG5cbiAgICAmX19jYXJkLWZvb3RlciB7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG4gICAgJl9fY2FyZC1waWxsIHtcbiAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IGliLXJlbSgxOHB4KTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIGFzc2V0cy9zY3NzL3BhZ2VzL3RydWUtc3RvcnktZGV0YWlsL190aW1lbGluZS1zZWN0aW9uLnNjc3Ncbi8vIFNlY3Rpb246IFwiSG93IHRoZSB3b3JrIGNhbWUgdG9nZXRoZXJcIiDigJQgZml2ZSBkYXRlZCBtaWxlc3RvbmVzLlxuLy8gRGVza3RvcDogZml4ZWQtd2lkdGggY29sdW1ucyBpbnNpZGUgYSBjbGljay1kcmFnIHNjcm9sbGFibGUgdHJhY2tcbi8vIChhc3NldHMvanMvLi4uL3RpbWVsaW5lLXNlY3Rpb24uanMpIOKAlCBncmFiIGN1cnNvciwgMToxIGRyYWcsIG1vbWVudHVtXG4vLyBnbGlkZSBvbiByZWxlYXNlLCBubyBzbmFwLiBDb2x1bW5zIGFyZSB3aWRlciB0aGFuIHRoZSB2aWV3cG9ydCBvblxuLy8gcHVycG9zZSBzbyB0aGVyZSdzIGFsd2F5cyBzb21ldGhpbmcgdG8gZHJhZyB0aHJvdWdoLlxuLy8gTW9iaWxlOiB2ZXJ0aWNhbCBsaXN0IHdpdGggcmVkIGRvdCBtYXJrZXJzIChwZXIgZGVzaWduKSwgbm8gZHJhZy5cbi8vXG4vLyBDb250aW51b3VzIHdhdmVmb3JtIChkZXNrdG9wLCBob3Zlci1jYXBhYmxlLCBKUy1lbmhhbmNlZCk6IE9ORSB1bmJyb2tlbixcbi8vIGV2ZW5seS1zcGFjZWQgc3RyaXAgb2YgYmFycyAoYSBmdWxsLWJsZWVkIGJyZWFrLW91dCwgbG9uZyBlbm91Z2ggdG8gY292ZXJcbi8vIHRoZSB0cmFjaydzIHdob2xlIHNjcm9sbGFibGUgd2lkdGg7IEpTIHRyYW5zbGF0ZXMgaXQgYnkgLXNjcm9sbExlZnQgc28gaXRcbi8vIG1vdmVzIDE6MSB3aXRoIHRoZSBkcmFnIGFuZCBiYXJzIHN0YXkgbG9ja2VkIHRvIHRoZSBkaXZpZGVycykg4oCUIG5vdFxuLy8gb25lIHdhdmVmb3JtIHBlciBtaWxlc3RvbmUuIEJhcnMgc2l0IGF0IGEgc3RhdGljIGRlZmF1bHQgaGVpZ2h0OyBtb3Zpbmdcbi8vIHRoZSBjdXJzb3IgcmFpc2VzIGEgR2F1c3NpYW4gYnVtcCBjZW50cmVkIG9uIHRoZSBuZWFyZXN0IGJhciAoYmFycyBvbmx5XG4vLyBldmVyIGdyb3cg4oCUIHRoZSByZXN0aW5nIGhlaWdodCBpcyBhIGZsb29yLCBuZXZlciBhIGNlaWxpbmcpIGFuZCB0aGUgYnVtcFxuLy8gZm9sbG93cyB0aGUgY3Vyc29yLCBuZXZlciBtb3JlIHRoYW4gb25lIGF0IGEgdGltZS4gQWxsIEdTQVAtZHJpdmVuXG4vLyAoc2NhbGVZKSwgbm8gQ1NTIHRyYW5zaXRpb25zIOKAlCBzZWUgdGltZWxpbmUtc2VjdGlvbi5qcy5cbi8vXG4vLyBTZWN0aW9uIGRpc2Nsb3N1cmUgKGluZGVwZW5kZW50IG9mIHRoZSB3YXZlZm9ybSk6IGVhY2ggbWlsZXN0b25lIG93bnMgYVxuLy8gZGl2aWRlciAoYCZfX2RpdmlkZXJgLCBKUy1idWlsdCkgYW5kIGEgY29udGVudCBibG9jayAoYCZfX2V2ZW50YCkuXG4vLyBNaWxlc3RvbmUgMSBpcyBleHBhbmRlZCBieSBkZWZhdWx0OyBob3ZlcmluZy9mb2N1c2luZyBhbm90aGVyIGdyb3dzIGl0c1xuLy8gZGl2aWRlciBhbmQgcmV2ZWFscyBpdHMgY29udGVudCB3aGlsZSB0aGUgcHJldmlvdXMgb25lIGNvbGxhcHNlczsgbGVhdmluZ1xuLy8gdGhlIHRyYWNrIHJlc2V0cyB0byB0aGUgZmlyc3QgbWlsZXN0b25lIHN0aWxsIGluIHZpZXcgKHRoZSB0cmFjayBtYXkgaGF2ZVxuLy8gYmVlbiBkcmFnZ2VkIHBhc3QgbWlsZXN0b25lIDEpLiBBbHNvIGZ1bGx5IEdTQVAtZHJpdmVuLiBCb3RoXG4vLyBzeXN0ZW1zIGxpdmUgdW5kZXIgYC0tZW5oYW5jZWRgL2AtLXdhdmVmb3JtYCAoYWRkZWQgYnkgSlMpIHNvIG5vLUpTXG4vLyB1c2VycyBhbmQgdG91Y2ggZGV2aWNlcyBzZWUgZXZlcnkgbWlsZXN0b25lIHZpc2libGUgYnkgZGVmYXVsdC5cblxuQHVzZSBcIi4uL3V0aWxzXCIgYXMgKjtcblxuLy8gTk9URSDigJQgZml4ZWQgcHggb24gcHVycG9zZSwgbm90IGliLXJlbSgpOiB0aGUgd2F2ZWZvcm0gZ3JpZCAoYmFyIHdpZHRoICtcbi8vIGdhcCkgbXVzdCBkaXZpZGUgdGhlIG1pbGVzdG9uZSBjb2x1bW4gd2lkdGggRVhBQ1RMWSAoMzAwcHggw7cgMTUgYmFycyA9XG4vLyAyMHB4IHBlcmlvZCkuIFdpdGggdGhlIGZsdWlkIHJlbSByb290LCBldmVyeSByZW0gdmFsdWUgc2NhbGVzIGFuZCB0aGVcbi8vIGJyb3dzZXIgcm91bmRzIGVhY2ggZmxleCBnYXAvYm9yZGVyIGluZGVwZW5kZW50bHksIHNvIHRoZSBiYXJzIGRyaWZ0IG9mZlxuLy8gdGhlIGRpdmlkZXJzLiBFdmVyeXRoaW5nIGdlb21ldHJpYyBpbiB0aGlzIHNlY3Rpb24gaXMgdGhlcmVmb3JlIGZpeGVkIHB4O1xuLy8gb25seSB0aGUgaGVhZGluZyB0eXBvZ3JhcGh5IHN0YXlzIG9uIHRoZSByZW0gc2NhbGUuXG4udHNkLXRpbWVsaW5lLXNlY3Rpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIGNvbnRhaW5pbmcgYmxvY2sgZm9yIHRoZSBmdWxsLWJsZWVkICZfX3dhdmVmb3JtIHN0cmlwXG4gIG92ZXJmbG93LXg6IGhpZGRlbjsgLy8gdGhlIDEwMHZ3IGJyZWFrLW91dCBiZWxvdyBtdXN0IG5ldmVyIHdpZGVuIHRoZSBwYWdlXG4gIGJhY2tncm91bmQ6ICRpYi1iZy1wcmltYXJ5O1xuICBwYWRkaW5nLWJsb2NrOiAxNDBweDtcblxuICAmX19pbm5lciB7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS1jb250YWluZXItd2lkdGgtcGFkZCk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1pbmxpbmU6IHZhcigtLWd1dHRlcik7XG4gICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgfVxuXG4gICZfX2hlYWRpbmcge1xuICAgIEBpbmNsdWRlIGliLXR5cGUoXCJkaXNwbGF5LW1vYmlsZS1sYXJnZVwiKTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGNvbG9yOiAkaWItdGV4dC1wcmltYXJ5O1xuICAgIG1heC13aWR0aDogaWItcmVtKDQ4MHB4KTtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAmX19oZWFkaW5nLWFjY2VudCB7XG4gICAgY29sb3I6ICRpYi1yZWQtYnJhbmQ7XG4gIH1cblxuICAvLyBUaGUgc3RhbmRhbG9uZSBydWxlciBkaXYgaXMgYSBtb2JpbGUtb3JkZXIgaGVscGVyIG9ubHk7IG9uIGRlc2t0b3AgdGhlXG4gIC8vIGNvbnRpbnVvdXMgd2F2ZWZvcm0gc3RyaXAgKEpTKSB0YWtlcyBvdmVyIHRoZSBzYW1lIHZpc3VhbCByb2xlLlxuICAmX19ydWxlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIFBvc2l0aW9uaW5nIGNvbnRleHQgZm9yIHRoZSBKUy1idWlsdCAmX193YXZlZm9ybSBzdHJpcDogdGhlIHN0cmlwJ3NcbiAgLy8gYHRvcGAgaXMgYSBzdGF0aWMgc3R5bGVzaGVldCB2YWx1ZSByZWxhdGl2ZSB0byB0aGlzIHdyYXBwZXIgKHdoaWNoXG4gIC8vIHN0YXJ0cyBleGFjdGx5IGF0IHRoZSB0cmFjaydzIHRvcCBlZGdlKSwgc28gaXQgbmV2ZXIgc2hpZnRzIHdoZW4gdGhlXG4gIC8vIGhlYWRpbmcgd3JhcHMgb3IgYW55dGhpbmcgYWJvdmUgdGhlIHRyYWNrIGNoYW5nZXMgaGVpZ2h0LlxuICAmX190cmFjay13cmFwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLXRvcDogaWItc3BhY2UoMTEyKTtcbiAgfVxuXG4gICZfX3RyYWNrIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG92ZXJmbG93OiBhdXRvIGhpZGRlbjtcblxuICAgIC8vIEV4cGxpY2l0bHkgaGlkZGVuOiBgb3ZlcmZsb3cteDogYXV0b2AgYWxvbmUgZm9yY2VzIG92ZXJmbG93LXkgdG9cbiAgICAvLyBjb21wdXRlIHRvIGBhdXRvYCwgdHVybmluZyB0aGUgdHJhY2sgaW50byBhIFZFUlRJQ0FMIHNjcm9sbCBjb250YWluZXJcbiAgICAvLyB0b28g4oCUIEdTQVAgdHJhbnNmb3JtcyAoZW50cmFuY2UgeTo0MCwgaGlkZGVuIGV2ZW50cyB5OjE2KSB0aGVuIGNyZWF0ZVxuICAgIC8vIGEgZmV3IHB4IG9mIGlubmVyIG92ZXJmbG93IHRoYXQgc3dhbGxvdyB3aGVlbCBzY3JvbGxzIG1lYW50IGZvciB0aGVcbiAgICAvLyBwYWdlLiBgaGlkZGVuYCBjbGlwcyBpbnN0ZWFkLCBzbyB2ZXJ0aWNhbCB3aGVlbCBhbHdheXMgY2hhaW5zIHRvIHRoZVxuICAgIC8vIGRvY3VtZW50LlxuICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTtcbiAgICBjdXJzb3I6IGdyYWI7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teTsgLy8gdmVydGljYWwgcGFnZSBzY3JvbGwgc3RheXMgbmF0aXZlOyBob3Jpem9udGFsIGRyYWcgaXMgSlMtZHJpdmVuXG5cbiAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICYuaXMtZHJhZ2dpbmcge1xuICAgICAgY3Vyc29yOiBncmFiYmluZztcbiAgICB9XG4gIH1cblxuICAmX19taWxlc3RvbmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgLy8gY29udGFpbmluZyBibG9jayBmb3IgdGhlIEpTLWJ1aWx0ICZfX2RpdmlkZXJcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXg6IDAgMCAzMDBweDsgLy8gZml4ZWQgcHggd2lkdGggc28gdGhlIHN0cmlwIG92ZXJmbG93cyBhbmQgaGFzIHJvb20gdG8gZHJhZyDigJQgMTUgd2F2ZWZvcm0tYmFyIHBlcmlvZHMgcGVyIGNvbHVtbiwgc2VlIFdBVkUuYmFyc1Blckl0ZW0gaW4gSlNcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGliLWJvcmRlci10ZXJ0aWFyeTsgLy8gbm8tSlMvc3RhdGljIGRlZmF1bHQgZGl2aWRlclxuICAgIHBhZGRpbmctbGVmdDogMjRweDtcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICB9XG5cbiAgJl9fZGF0ZSB7XG4gICAgZm9udC1mYW1pbHk6ICRpYi1mb250LWhlYWRpbmc7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgY29sb3I6ICRpYi10ZXh0LXByaW1hcnk7XG4gICAgbWFyZ2luOiA4cHggMCAwO1xuICB9XG5cbiAgLy8g4pSA4pSAIENvbnRpbnVvdXMgd2F2ZWZvcm0gc3RyaXAg4oCUIG9uZSBwZXIgdHJhY2sgKGxpdmVzIGluICZfX3RyYWNrLXdyYXApIOKUgOKUgFxuICAvLyBGdWxsLWJsZWVkIGJyZWFrLW91dCBzbyBpdCBzdGFydHMgYXQgdGhlIHZpZXdwb3J0J3MgbGVmdCBlZGdlIHJlZ2FyZGxlc3NcbiAgLy8gb2YgdGhlIGAmX19pbm5lcmAgY29udGFpbmVyJ3MgbWF4LXdpZHRoLiBKUyBidWlsZHMgZW5vdWdoIGJhcnMgdG8gY292ZXJcbiAgLy8gdGhlIHRyYWNrJ3MgZnVsbCBzY3JvbGxhYmxlIHdpZHRoICh0aGV5IG92ZXJmbG93IHRoaXMgMTAwdncgYm94OyB0aGVcbiAgLy8gc2VjdGlvbidzIG92ZXJmbG93LXg6IGhpZGRlbiBjbGlwcyB0aGVtKSBhbmQgdHJhbnNsYXRlcyB0aGUgc3RyaXAgYnlcbiAgLy8gLXNjcm9sbExlZnQgb24gdHJhY2sgc2Nyb2xsLCBzbyB0aGUgYmFycyBtb3ZlIDE6MSB3aXRoIHRoZSBtaWxlc3RvbmVzLlxuICAvLyBUb3AgaXMgU1RBVElDIHJlbGF0aXZlIHRvICZfX3RyYWNrLXdyYXAg4oCUIGRhdGUgbWFyZ2luICg4KSArIGRhdGVcbiAgLy8gbGluZS1oZWlnaHQgKDMwKSArIDI0IGdhcCDigJQgbm8gSlMgbWVhc3VyaW5nLCBpdCBuZXZlciBtb3Zlcy4gSlNcbiAgLy8gcGhhc2UtYWxpZ25zIHRoZSBncmlkIHNvIGEgYmFyIGJvdW5kYXJ5IGxhbmRzIGV4YWN0bHkgb24gZXZlcnlcbiAgLy8gbWlsZXN0b25lJ3MgZGl2aWRlciDigJQgMzAwcHggY29sdW1uIMO3IFdBVkUuYmFyc1Blckl0ZW0gKDE1KSA9IDIwcHhcbiAgLy8gcGVyaW9kICgxcHggYmFyICsgMTlweCBnYXAgaGVyZSkuXG4gICZfX3dhdmVmb3JtIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA3MHB4OyAvLyBzdGF0aWMg4oCUIG1pcnJvcmVkIGFzIFNUUklQX1RPUCBpbiB0aW1lbGluZS1zZWN0aW9uLmpzXG4gICAgbGVmdDogNTAlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBoZWlnaHQ6IDUycHg7IC8vIGZpeGVkIHB4IOKAlCBtaXJyb3JlZCBhcyBTVFJJUF9IRUlHSFQgaW4gdGltZWxpbmUtc2VjdGlvbi5qc1xuICAgIG1hcmdpbi1sZWZ0OiAtNTB2dztcbiAgICBnYXA6IDE5cHg7IC8vIGZpeGVkIHB4IOKAlCAxcHggYmFyICsgMTlweCBnYXAgPSBleGFjdCAyMHB4IHBlcmlvZFxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyAvLyBkZWNvcmF0aXZlIOKAlCB0aGUgdHJhY2sgaXRzZWxmIG93bnMgdGhlIG1vdXNlbW92ZSBsaXN0ZW5lclxuICB9XG5cbiAgJl9fd2F2ZWZvcm0tYmFyIHtcbiAgICAvLyBmbGV4OiAwIDAgaWItcmVtKDFweCk7XG4gICAgLy8gaGVpZ2h0OiAxMDAlO1xuICAgIC8vIGJhY2tncm91bmQ6ICRpYi1ib3JkZXItc2Vjb25kYXJ5O1xuICAgIC8vIG9wYWNpdHk6IDAuNTU7XG4gICAgLy8gdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyOyAvLyBncm93cyB1cCBBTkQgZG93biBmcm9tIHRoZSByZXN0aW5nIGxpbmUg4oCUIG5ldmVyIHNocmlua3MgcGFzdCBpdFxuICAgIC8vIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG5cbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgLy8gZml4ZWQgcHgg4oCUIHJlbSBoZXJlIGJyZWFrcyB0aGUgMjBweCBiYXIgcGVyaW9kXG4gICAgYm9yZGVyLWltYWdlLXNvdXJjZTogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgI2E3YTdiMCAwJSwgcmdiKDEwMiwgMTAyLCAxMDIsIDApIDEwMCUpO1xuICAgIGJvcmRlci1pbWFnZS1zbGljZTogMTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgfVxuXG4gIC8vIOKUgOKUgCBKUy1idWlsdCBkaXZpZGVyIOKAlCByZXBsYWNlcyB0aGUgc3RhdGljIGJvcmRlci1sZWZ0IHdoZW4gZW5oYW5jZWQg4pSA4pSAXG4gIC8vIEZpZ21hIHNwZWM6IGEgemVyby13aWR0aCBib3ggZHJhd24gcHVyZWx5IHZpYSBhIHRvcC10by1ib3R0b20gZmFkaW5nXG4gIC8vIGdyYWRpZW50IGJvcmRlciAoI0E3QTdCMCDihpIgdHJhbnNwYXJlbnQpLCBub3QgYSBmbGF0IGZpbGwuIEhlaWdodCBpcyBzZXRcbiAgLy8gb25jZSBwZXIgbWlsZXN0b25lIGJ5IEpTIChtZWFzdXJlZCB0byB0aGF0IG1pbGVzdG9uZSdzIG93biBjb250ZW50IOKAlFxuICAvLyBzZWUgdGltZWxpbmUtc2VjdGlvbi5qcykgYW5kIGFuaW1hdGVkIHB1cmVseSB2aWEgYHNjYWxlWWAgZnJvbSBhXG4gIC8vIHJlc3RpbmcgcmF0aW8gKDYxcHggZGVzaWduLXB4KSB1cCB0byAxIChmdWxsIG1lYXN1cmVkIGhlaWdodCkg4oCUIHRoZVxuICAvLyBib3ggaGVpZ2h0IGl0c2VsZiBpcyBuZXZlciBhbmltYXRlZCwgb25seSB0aGUgdHJhbnNmb3JtLlxuICAmLS1lbmhhbmNlZCAmX19taWxlc3RvbmUge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gICZfX2RpdmlkZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIHdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWltYWdlLXNvdXJjZTogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgI2E3YTdiMCAwJSwgcmdiKDEwMiwgMTAyLCAxMDIsIDApIDEwMCUpO1xuICAgIGJvcmRlci1pbWFnZS1zbGljZTogMTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyOyAvLyBncm93cyBkb3dud2FyZCBmcm9tIHRoZSB0b3Agb24gYWN0aXZhdGVcbiAgfVxuXG4gICZfX2V2ZW50IHtcbiAgICBtYXJnaW4tdG9wOiAxMTJweDsgLy8gZ2VuZXJvdXMgZ2FwIHNvIHRoZSBkaXZpZGVyL3dhdmVmb3JtIG5ldmVyIG92ZXJsYXBzIHRoZSByZXZlYWxlZCBjb250ZW50XG4gICAgbWF4LXdpZHRoOiAzMzBweDtcbiAgfVxuXG4gICZfX2V2ZW50LXRpdGxlIHtcbiAgICBAaW5jbHVkZSBpYi10eXBlKFwidGl0bGUtbGFyZ2VcIik7XG5cbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiAkaWItdGV4dC1wcmltYXJ5O1xuICAgIG1hcmdpbjogMCAwIDhweDtcbiAgfVxuXG4gICZfX2V2ZW50LXRleHQge1xuICAgIEBpbmNsdWRlIGliLXR5cGUoXCJjYXB0aW9uLWxhcmdlXCIpO1xuXG4gICAgY29sb3I6ICRpYi10ZXh0LXNlY29uZGFyeTtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAmX19ldmVudC1waG90byB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDI0cHg7XG4gIH1cblxuICAvLyDilIDilIAgRGVza3RvcCBkaXNjbG9zdXJlIOKAlCBHU0FQIHNldHMvYW5pbWF0ZXMgJl9fZGl2aWRlciBhbmQgJl9fZXZlbnRcbiAgLy8gZGlyZWN0bHkgKGdzYXAuc2V0IG9uIGluaXQsIGdzYXAudG8gb24gYWN0aXZhdGUvZGVhY3RpdmF0ZSk7IG5vIENTU1xuICAvLyB0cmFuc2l0aW9uIGhlcmUgYnkgZGVzaWduIChzZWUgdGltZWxpbmUtc2VjdGlvbi5qcykuIGAuaXMtYWN0aXZlYCBpcyBhXG4gIC8vIGNsYXNzTGlzdCBob29rIGZvciBzdGF0ZS9RQSwgbm90IGFuIGFuaW1hdGlvbiBkcml2ZXIuXG4gIEBtZWRpYSAobWluLXdpZHRoOiBjYWxjKCRpYi1icC10YWJsZXQgKyAxcHgpKSBhbmQgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gICAgJi0tZW5oYW5jZWQgJl9fbWlsZXN0b25lOmZvY3VzLXZpc2libGUge1xuICAgICAgb3V0bGluZTogMnB4IHNvbGlkICRpYi1yZWQtYnJhbmQ7XG4gICAgICBvdXRsaW5lLW9mZnNldDogNHB4O1xuICAgIH1cblxuICAgICYtLWVuaGFuY2VkICZfX2V2ZW50IHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgICYtLWVuaGFuY2VkICZfX21pbGVzdG9uZS5pcy1hY3RpdmUgJl9fZXZlbnQge1xuICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLy8g4pSA4pSAIE1vYmlsZSAo4omkMTAyNHB4KSDigJQgdmVydGljYWwgbGlzdCB3aXRoIHJlZCBkb3RzLCBubyBydWxlci9waG90b3Mg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8oJGliLWJwLXRhYmxldCkge1xuICAgIHBhZGRpbmctYmxvY2s6IGliLXNwYWNlKDQ4KTtcblxuICAgICZfX2lubmVyIHtcbiAgICAgIHBhZGRpbmctaW5saW5lOiBpYi1yZW0oMjBweCk7XG4gICAgfVxuXG4gICAgJl9faGVhZGluZyB7XG4gICAgICBmb250LXNpemU6IGliLXJlbSgzMnB4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBpYi1yZW0oNDJweCk7XG4gICAgfVxuXG4gICAgJl9fdHJhY2std3JhcCB7XG4gICAgICBtYXJnaW4tdG9wOiBpYi1zcGFjZSg0OCk7XG4gICAgfVxuXG4gICAgJl9fdHJhY2sge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyAvLyBjb250YWluaW5nIGJsb2NrIGZvciB0aGUgY29udGludW91cyBjb25uZWN0b3IgbGluZSBiZWxvd1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGdhcDogaWItc3BhY2UoNDApO1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIGJvdGggYXhlcyDigJQgYSBsb25lIG92ZXJmbG93LXggd291bGQgY29tcHV0ZSBhZ2FpbnN0IHRoZSBkZXNrdG9wIG92ZXJmbG93LXk6IGhpZGRlbiBhbmQgcmUtY3JlYXRlIGEgc2Nyb2xsIGNvbnRhaW5lclxuICAgICAgY3Vyc29yOiBhdXRvO1xuICAgICAgdXNlci1zZWxlY3Q6IGF1dG87XG4gICAgICB0b3VjaC1hY3Rpb246IGF1dG87XG5cbiAgICAgIC8vIE9uZSBjb250aW51b3VzIHZlcnRpY2FsIGxpbmUgYmVoaW5kIGV2ZXJ5IGRvdCDigJQgYSBwZXItbWlsZXN0b25lXG4gICAgICAvLyBib3JkZXIgd291bGQgbGVhdmUgZ2FwcyBhdCBlYWNoIGl0ZW0ncyBvd24gbWFyZ2luL2dhcCBpbnN0ZWFkIG9mXG4gICAgICAvLyBvbmUgdW5icm9rZW4gc3Ryb2tlLCBzbyBpdCBsaXZlcyBvbiB0aGUgdHJhY2sgYW5kIHNwYW5zIGZ1bGwgaGVpZ2h0LlxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiBpYi1yZW0oM3B4KTsgLy8gY2VudGVycyBvbiB0aGUgaWItcmVtKDdweCkgZG90IGJlbG93XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB3aWR0aDogaWItcmVtKDFweCk7XG4gICAgICAgIGJhY2tncm91bmQ6ICRpYi1ib3JkZXItdGVydGlhcnk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fbWlsZXN0b25lIHtcbiAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IGliLXNwYWNlKDI0KTtcblxuICAgICAgLy8gUmVkIGRvdCBtYXJrZXIg4oCUIHBhaW50ZWQgYWZ0ZXIgdGhlIHRyYWNrJ3MgY29ubmVjdG9yIGxpbmUsIHNpdHMgb24gdG9wXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogaWItcmVtKDExcHgpO1xuICAgICAgICB3aWR0aDogaWItcmVtKDdweCk7XG4gICAgICAgIGhlaWdodDogaWItcmVtKDdweCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZDogJGliLXJlZC1icmFuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19kYXRlIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxuXG4gICAgLy8gRGVmZW5zaXZlOiB3YXZlZm9ybSBzdHJpcCArIGRpdmlkZXIgYXJlIGRlc2t0b3Atb25seSAoSlMgcmVtb3ZlcyB0aGVtXG4gICAgLy8gb24gYnJlYWtwb2ludCB0ZWFyZG93biwgdGhpcyBndWFyYW50ZWVzIHRoZXkgY2FuIG5ldmVyIGZsYXNoIG9uIG1vYmlsZSlcbiAgICAmX193YXZlZm9ybSxcbiAgICAmX19kaXZpZGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJl9fZXZlbnQge1xuICAgICAgbWFyZ2luLXRvcDogaWItc3BhY2UoOCk7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gVGl0bGUgZmxvd3MgaW5saW5lIHdpdGggaXRzIHRleHQgYXMgb25lIGxpbmUgKFwiU3RyYXRlZ3k6IERlZmluaW5n4oCmXCIpLFxuICAgIC8vIHJlc3R5bGVkIHRvIG1hdGNoIHRoZSBib2R5IGNvcHkgcGVyIGRlc2lnbi5cbiAgICAmX19ldmVudC10aXRsZSB7XG4gICAgICBAaW5jbHVkZSBpYi10eXBlKFwiYm9keS1zbWFsbFwiKTtcblxuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGNvbG9yOiAkaWItdGV4dC1zZWNvbmRhcnk7XG4gICAgICBtYXJnaW46IDA7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCI6XCI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fZXZlbnQtdGV4dCB7XG4gICAgICBAaW5jbHVkZSBpYi10eXBlKFwiYm9keS1zbWFsbFwiKTtcblxuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgY29sb3I6ICRpYi10ZXh0LXNlY29uZGFyeTtcbiAgICB9XG5cbiAgICAmX19ldmVudC1waG90byB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gYXNzZXRzL3Njc3MvcGFnZXMvdHJ1ZS1zdG9yeS1kZXRhaWwuc2Nzc1xuLy8gRW50cnkgcG9pbnQg4oCUIGltcG9ydHMgYWxsIFRydWUgU3RvcnkgRGV0YWlsIChjYXNlIHN0dWR5KSBwYWdlIHBhcnRpYWxzLlxuLy8gQ29tcGlsZTogbnBtIHJ1biBzYXNzOmJ1aWxkICB8ICBXYXRjaDogbnBtIHJ1biBzYXNzXG5cbi8vIEB1c2UgbXVzdCBjb21lIGZpcnN0IOKAlCBhbGwgcnVsZXMgZ28gaW5zaWRlIHRoZSBwYXJ0aWFsc1xuLy8gVGhpcyBwYWdlJ3MgbW9iaWxlIGRlc2lnbiBvd25zIGV2ZXJ5dGhpbmcgdXAgdG8gYW5kIGluY2x1ZGluZyB0YWJsZXRzOlxuLy8gZXZlcnkgbW9iaWxlIGJsb2NrIGluIHRoZSB0cnVlLXN0b3J5LWRldGFpbCBwYXJ0aWFscyBrZXlzIG9mZiAkaWItYnAtdGFibGV0XG4vLyAoMTAyNHB4KSBpbnN0ZWFkIG9mICRpYi1icC1tb2JpbGUgKDc2OHB4KS4gVGhlIHNoYXJlZCBwYXJ0aWFscyAoYnV0dG9ucyxcbi8vIGxldHMtdGFsay1zZWN0aW9uLCBoZWxwZXJzKSBhbHJlYWR5IGhhcmRjb2RlIHRoYXQgc2FtZSDiiaQxMDI0cHggYm91bmRhcnksXG4vLyBzbyB0aGV5IG5lZWQgbm8gY29uZmlndXJhdGlvbiBoZXJlIOKAlCBqdXN0IEB1c2UgdGhlbSBkaXJlY3RseS5cbkB1c2UgXCIuLi91dGlsc1wiIGFzICo7IC8vIHNoYXJlZCBpYi0gZGVzaWduIHRva2VucyArIGJyZWFrcG9pbnQgdG9rZW5zXG5AdXNlIFwiLi4vYmFzZVwiOyAgLy8gZ2xvYmFsIHJlc2V0ICsgaHRtbC9ib2R5IGJhc2Ugc3R5bGVzXG5AdXNlIFwiLi4vaGVscGVyc1wiOyAvLyAuaWItbW9iaWxlLW9ubHkgLyAuaWItdGFibGV0LW9ubHkgLyAuaWItbW9iaWxlLXRhYmxldC1vbmx5IC8gLmliLWRlc2t0b3Atb25seSAvIC5pYi1tLXJldmVhbFxuQHVzZSBcIi4uL2J1dHRvbnNcIjsgLy8gc2hhcmVkIGJ1dHRvbiBzeXN0ZW0g4oCUIG1vYmlsZSBzaXppbmcg4omkMTAyNHB4XG5AdXNlIFwiLi4vc2VydmljZW5vdy9sZXRzLXRhbGstc2VjdGlvblwiOyAvLyBzaGFyZWQgXCJGZWVscyBzaW1pbGFyP1wiIGNhcmQgKERoZWVyYWopXG5AdXNlIFwiLi9oZXJvLXNlY3Rpb25cIjtcbkB1c2UgXCIuL21hcnF1ZWUtc2VjdGlvblwiO1xuQHVzZSBcIi4vc3RhdHMtc2VjdGlvblwiO1xuQHVzZSBcIi4vZGV2aWNlcy1zZWN0aW9uXCI7XG5AdXNlIFwiLi9jaGFsbGVuZ2Utc2VjdGlvblwiO1xuQHVzZSBcIi4vZGlzY292ZXJ5LXNlY3Rpb25cIjtcbkB1c2UgXCIuL3F1b3RlLXNlY3Rpb25cIjtcbkB1c2UgXCIuL3N0YXRlbWVudC1zZWN0aW9uXCI7XG5AdXNlIFwiLi90aW1lbGluZS1zZWN0aW9uXCI7XG5AdXNlIFwiLi4vZW50ZXJwcmlzZS1yZWFkaW5lc3MvdGVhbS1zZWN0aW9uXCI7IC8vIHJldXNlZCBhcy1pcyBmb3IgdGhlIFdPVyB0ZWFtIGNhcm91c2VsXG5cbi8vIOKUgOKUgCBQYWdlLWxldmVsIG92ZXJyaWRlcyAoYWZ0ZXIgQHVzZSkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBTYW1lIGZsdWlkLXJvb3Qgc2NvcGluZyBwYXR0ZXJuIGFzIHRydWUtc3Rvcmllcy5zY3NzOiB0aGUgRmlnbWEgY2FudmFzIGlzXG4vLyAxNzI4cHggd2lkZSwgYWxsIHRva2VuIG91dHB1dCBpcyByZW0sIHNvIG9uZSByb290IGZvbnQtc2l6ZSBrbm9iIHNjYWxlcyB0aGVcbi8vIHdob2xlIHBhZ2UgcHJvcG9ydGlvbmFsbHkgYmVsb3cgdGhlIGNhbnZhcyB3aWR0aC4gT3RoZXIgcGFnZXMga2VlcCAxcmVtPTE2cHguXG4vLyBGbHVpZCByb290IGZvbnQtc2l6ZSArIGNvbnRhaW5lciB0b2tlbnMgY29tZSBmcm9tIF9iYXNlLnNjc3MgKGdsb2JhbCkuXG5cbmJvZHkucGFnZS10cnVlLXN0b3J5LWRldGFpbCB7XG4gIG92ZXJmbG93LXg6IGNsaXA7XG5cbiAgLy8gU2FtZSBlZGdlcyBhcyAuaGVhZGVyLWNvbnRhaW5lciAoMTU3NnB4IGJveCwgNDBweCBlYXRlbiBmcm9tIGluc2lkZSlcbiAgLy8gc28gc2VjdGlvbiBjb250ZW50IGFsaWducyB3aXRoIHRoZSBmaXhlZCBoZWFkZXIuXG4gIC5jb250YWluZXIge1xuICAgIG1heC13aWR0aDogdmFyKC0tY29udGFpbmVyLXdpZHRoLXBhZGQpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctaW5saW5lOiB2YXIoLS1ndXR0ZXIpO1xuICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gIH1cblxuICAvLyBcIkZlZWxzIHNpbWlsYXI/XCIgY2FyZCAoLnNuLWxldHMtdGFsay1zZWN0aW9uLCBzaGFyZWQgcGFydGlhbCkgZ2V0cyBhXG4gIC8vIHBhZ2Utc3BlY2lmaWMgeWVsbG93IGJhY2tkcm9wIG9uIG1vYmlsZSDigJQgdGhlIHNoYXJlZCBwYXJ0aWFsIGl0c2VsZlxuICAvLyBzdGF5cyB1bnRvdWNoZWQgc28gU2VydmljZU5vdy9FbnRlcnByaXNlIFJlYWRpbmVzcyBhcmUgdW5hZmZlY3RlZC5cbiAgLy8gdGFsay1zaGFwZS0xLy0yIHdlcmUgZGVzaWduZWQgdG8gYmxlbmQgaW50byB0aGUgcGFnZSdzIGNyZWFtIGJnXG4gIC8vIChtYXRjaGluZyAkaWItYmctcHJpbWFyeSBzbyB0aGV5IHJlYWQgYXMgY3V0LW91dHMgYXJvdW5kIHRoZSBwaG90byk7XG4gIC8vIG9uIHRoaXMgeWVsbG93IGJhY2tkcm9wIHRoZXkgbmVlZCB0byBtYXRjaCBpdCBpbnN0ZWFkLCBvciB0aGV5J2Qgc2hvd1xuICAvLyB1cCBhcyBtaXNtYXRjaGVkIGNyZWFtIHBhdGNoZXMuXG4gIC5zbi1sZXRzLXRhbGstc2VjdGlvbiB7XG4gICAgQGluY2x1ZGUgcmVzcG9uZC10bygkaWItYnAtdGFibGV0KSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkaWItYmctc2Vjb25kYXJ5O1xuXG4gICAgICAudGFsay1zaGFwZS0xLFxuICAgICAgLnRhbGstc2hhcGUtMiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRpYi1iZy1zZWNvbmRhcnk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gLmVyLXRlYW0tc2VjdGlvbiBpcyBzaGFyZWQgd2l0aCB0aGUgRW50ZXJwcmlzZSBSZWFkaW5lc3MgcGFnZSAocmV1c2VkXG4gIC8vIGFzLWlzIGZvciB0aGUgV09XIHRlYW0gY2Fyb3VzZWwpIOKAlCBvdmVycmlkZSBpdHMgdGFibGV0IHBhZGRpbmcgaGVyZSBzb1xuICAvLyBpdCBtYXRjaGVzIHRoaXMgcGFnZSdzIDQ4cHggc2VjdGlvbiByaHl0aG0gd2l0aG91dCB0b3VjaGluZyBFUidzLlxuICAuZXItdGVhbS1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKCRpYi1icC10YWJsZXQpIHtcbiAgICAgIHBhZGRpbmc6IGliLXNwYWNlKDQ4KSAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyBcIlNDUk9MTCBGT1IgRlVMTCBTVE9SWSDihpNcIiBjdWUgdW5kZXIgdGhlIEZlZWxzLXNpbWlsYXIgY2FyZC4gTGl2ZXMgaW5zaWRlXG4vLyAuc24tbGV0cy10YWxrLXNlY3Rpb24gKHNoYXJlZCBwYXJ0aWFsIG93bnMgdGhhdCBibG9jayksIHNvIGl0IGlzIHN0eWxlZFxuLy8gaGVyZSBhdCBwYWdlIGxldmVsIHdpdGggaXRzIG93biB0c2QtIGNsYXNzLlxuLnRzZC1zY3JvbGwtY3VlIHtcbiAgaGVpZ2h0OiBpYi1yZW0oNDhweCk7XG4gIGZvbnQtZmFtaWx5OiAkaWItZm9udC1oZWFkaW5nO1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXNpemU6IGliLXJlbSgxNHB4KTtcbiAgbGluZS1oZWlnaHQ6IGliLXJlbSgxMS41MXB4KTtcbiAgbGV0dGVyLXNwYWNpbmc6IGliLXJlbSguODZweCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICRpYi1ncmF5LW1lZGl1bTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IGliLXNwYWNlKDEyKTtcbiAgbWF4LXdpZHRoOiAxMjUwcHg7IC8vIG1hdGNoZXMgLnRhbGstY29udGFpbmVyIHNvIHRoZSBjdWUgYWxpZ25zIHdpdGggdGhlIGNhcmRcbiAgbWFyZ2luOiBpYi1zcGFjZSg0MCkgYXV0byAwO1xuICBwYWRkaW5nLWlubGluZTogaWItcmVtKDI0cHgpO1xufVxuXG4udHNkLXNjcm9sbC1jdWVfX2ljb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IGliLXJlbSg0OHB4KTtcbiAgaGVpZ2h0OiBpYi1yZW0oNDhweCk7XG4gIGNvbG9yOiAkaWItZ3JheS1tZWRpdW07XG5cbiAgc3ZnIHtcbiAgICB3aWR0aDogaWItcmVtKDE2cHgpO1xuICAgIGhlaWdodDogaWItcmVtKDEycHgpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgfVxufVxuIiwiLy8gYXNzZXRzL3Njc3MvcGFnZXMvY29udGFjdC11cy9faGVyby1zZWN0aW9uLnNjc3Ncbi8vIEhlcm8g4oCUIFwiU3RhcnQgdGhlIGNvbnZlcnNhdGlvbiB5b3VyIHdheS5cIiBpbnRybyBvbiB0aGUgbGVmdCAoZ3JhZGllbnQgMm5kXG4vLyBsaW5lLCBqdW1wIGxpbmsgdG8gdGhlIGxvY2F0aW9ucyBzZWN0aW9uKSBhbmQgYSBxdWljay1saW5rIGNhcmQgcGFuZWwgK1xuLy8gRXhwb25hLXN0eWxlIHNlYXJjaCBvbiB0aGUgcmlnaHQuIFN0YWNrcyB0byBhIHNpbmdsZSBjb2x1bW4gb24gbW9iaWxlLlxuXG5AdXNlIFwiLi4vdXRpbHNcIiBhcyAqO1xuXG4uY3UtaGVyby1zZWN0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAkaWItYmctcHJpbWFyeTtcblxuICAvLyBUb3AgY2xlYXJhbmNlID0gZml4ZWQgaGVhZGVyICgxMnB4IHRvcGJhciArIDgwcHggaGVhZGVyLWNvbnRhaW5lciA9IDkycHgpXG4gIC8vICsgMTEycHggYnJlYXRoaW5nIHJvb20gc28gdGhlIGhlYWRpbmcgbmV2ZXIgc2l0cyBmbHVzaCB1bmRlciB0aGUgaGVhZGVyLlxuICBwYWRkaW5nOiBpYi1yZW0oMjA0cHgpIDAgaWItcmVtKDgwcHgpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC8vIEhvcml6b250YWwgZWRnZXMgbWF0Y2ggdGhlIGhlYWRlci9mb290ZXIgY29udGFpbmVyIGV4YWN0bHkg4oCUIHNhbWUgYm94XG4gIC8vIG1vZGVsIGFzIC5oZWFkZXItY29udGFpbmVyICgxNTc2cHggYm94LCA0MHB4IGd1dHRlciBlYXRlbiBmcm9tIGluc2lkZVxuICAvLyA9IDE0OTZweCBlZmZlY3RpdmUgY29udGVudCB3aWR0aCksIGxpa2UgZXZlcnkgdHJ1ZS1zdG9yaWVzIHNlY3Rpb24uXG4gICZfX2NvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBnYXA6IGliLXJlbSg0MHB4KTtcbiAgICBtYXgtd2lkdGg6IHZhcigtLWNvbnRhaW5lci13aWR0aC1wYWRkKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLWlubGluZTogdmFyKC0tZ3V0dGVyKTtcbiAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICB9XG5cbiAgLy8g4pSA4pSAIExlZnQ6IGludHJvIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAvLyAmX19jb250YWluZXIncyBhbGlnbi1pdGVtczogc3RyZXRjaCBtYXRjaGVzIHRoaXMgY29sdW1uJ3MgaGVpZ2h0IHRvIHRoZVxuICAvLyByaWdodCBwYW5lbCDigJQgYW4gZXhwbGljaXQgaGVpZ2h0IGhlcmUgd291bGQgc2V0IGEgZGVmaW5pdGUgY3Jvc3Mtc2l6ZVxuICAvLyBhbmQgZGlzYWJsZSB0aGF0IHN0cmV0Y2ggKHBlcmNlbnRhZ2UgaGVpZ2h0IHJlc29sdmVzIHRvIGF1dG8gYWdhaW5zdFxuICAvLyB0aGUgZmxleCBjb250YWluZXIncyBvd24gYXV0byBoZWlnaHQpLCBzbyBoZWlnaHQgaXMgbGVmdCB1bnNldC5cbiAgJl9faW50cm8ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGdhcDogaWItcmVtKDIwcHgpO1xuICAgIHdpZHRoOiBpYi1yZW0oNzA4cHgpO1xuICAgIHBhZGRpbmctYm90dG9tOiBpYi1yZW0oMTEycHgpO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAmX19oZWFkaW5nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSBpYi10eXBlKFwiZGlzcGxheS13ZWItc21hbGxcIik7XG4gIH1cblxuICAmX19oaWdobGlnaHQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQ6ICRpYi1ncmFkaWVudC10ZXh0O1xuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gIH1cblxuICAmX19zdWJ0ZXh0IHtcbiAgICBAaW5jbHVkZSBpYi10eXBlKFwiYm9keS1tZWRpdW1cIik7XG5cbiAgICBjb2xvcjogJGliLXRleHQtc2Vjb25kYXJ5O1xuICAgIG1heC13aWR0aDogNDRjaDtcbiAgICBtYXJnaW4tdG9wOiBpYi1yZW0oMjRweCk7XG4gIH1cblxuICAvLyBtYXJnaW4tdG9wIGludGVudGlvbmFsbHkgb21pdHRlZCDigJQgJl9faW50cm8ncyBnYXAgcHJvdmlkZXMgdGhlIHNwYWNlXG4gIC8vIGFib3ZlIHRoaXMgYXQgZXZlcnkgYnJlYWtwb2ludC5cbiAgJl9fYW5jaG9yIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogaWItcmVtKDEwcHgpO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjRzIGN1YmljLWJlemllciguMTYsIDEsIC4zLCAxKTtcblxuICAgIEBpbmNsdWRlIGliLXR5cGUoXCJib2R5LWxhcmdlXCIpO1xuXG4gICAgY29sb3I6ICRpYi10ZXh0LWRpc2FibGVkO1xuXG4gICAgLmliLWljb24ge1xuICAgICAgY29sb3I6ICRpYi1yZWQtYnJhbmQ7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjNzIGVhc2U7XG4gICAgfVxuXG4gICAgJjpob3ZlciAuaWItaWNvbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTtcbiAgICB9XG5cbiAgICAvLyBIaWRkZW4gb25jZSB0aGUgZGVzdGluYXRpb24gKCNjdS1sb2NhdGlvbnMpIGl0c2VsZiBzY3JvbGxzIGludG8gdmlldyDigJRcbiAgICAvLyBzZWUgdGhlIEludGVyc2VjdGlvbk9ic2VydmVyIGluIGhlcm8tc2VjdGlvbi5qcy4gTm8gcG9pbnQgcG9pbnRpbmcgdGhlXG4gICAgLy8gdXNlciBmdXJ0aGVyIGRvd24gd2hlbiB0aGV5J3ZlIGFscmVhZHkgYXJyaXZlZC5cbiAgICAmLmlzLWhpZGRlbiB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8g4pSA4pSAIFJpZ2h0OiBjYXJkIHBhbmVsICsgc2VhcmNoIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAvLyBGaWxscyB0aGUgcmVtYWluaW5nIGNvbnRhaW5lciB3aWR0aCBpbnN0ZWFkIG9mIGEgZml4ZWQgNzIwcHgg4oCUIHRoZVxuICAvLyBmaXhlZCB3aWR0aCBwbHVzIHRoZSA3MDhweCBpbnRybyBjb2x1bW4gb25seSBzdW1tZWQgdG8gMTQ2OHB4IGluc2lkZSBhXG4gIC8vIDE1NjhweCBjb250YWluZXIsIGxlYXZpbmcgMTAwcHggb2YgZGVhZCBzcGFjZSBvbiB0aGUgcmlnaHQgdGhhdCB0aGVcbiAgLy8gbG9jYXRpb25zIHNlY3Rpb24gYmVsb3cgKHdoaWNoIGRvZXMgZmlsbCB0aGUgZnVsbCBjb250YWluZXIpIGRvZXNuJ3RcbiAgLy8gaGF2ZSwgc28gdGhlIHR3byBzZWN0aW9ucycgcmlnaHQgZWRnZXMgZGlkbid0IGxpbmUgdXAuXG4gIC8vIE1pcnJvcnMgJl9faW50cm8g4oCUIHN0cmV0Y2hlZCB0byB0aGUgc2FtZSBoZWlnaHQgYnkgJl9fY29udGFpbmVyJ3NcbiAgLy8gYWxpZ24taXRlbXM6IHN0cmV0Y2ggKG5vIGV4cGxpY2l0IGhlaWdodCBzZXQgaGVyZSwgZm9yIHRoZSBzYW1lIHJlYXNvbikuXG4gICZfX3BhbmVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiBpYi1yZW0oNDBweCk7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cblxuICAmX19jYXJkcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogaWItcmVtKDI0cHgpO1xuICB9XG5cbiAgJl9fY2FyZCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IGliLXJlbSg4cHgpO1xuICAgIHBhZGRpbmc6IGliLXJlbSgyMHB4KSBpYi1yZW0oMjRweCk7XG4gICAgYmFja2dyb3VuZDogJGliLWJnLXByaW1hcnk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGliLWJvcmRlci1zZWNvbmRhcnk7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3gtc2hhZG93OlxuICAgICAgMS4yNHB4IDEuMjRweCAwIDAgJGliLWJnLXByaW1hcnksXG4gICAgICA0LjE0cHggNC4xNHB4IDAgMCAkaWItcmVkLXBlYWNoO1xuICAgIHRyYW5zaXRpb246ICRpYi10cmFuc2l0aW9uLXNtb290aDtcblxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lOiBpYi1yZW0oMnB4KSBzb2xpZCAkaWItcmVkLWJyYW5kO1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IGliLXJlbSgycHgpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEljb24gKyB0aXRsZSBzaGFyZSBhIHJvdzsgZGVzY3JpcHRpb24gc2l0cyBvbiBpdHMgb3duIGxpbmUgYmVsb3cuXG4gICZfX2NhcmQtdG9wIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiBpYi1yZW0oMTBweCk7XG4gIH1cblxuICAmX19jYXJkLXRpdGxlIHtcbiAgICBAaW5jbHVkZSBpYi10eXBlKFwidGl0bGUtbGFyZ2VcIik7XG5cbiAgICBjb2xvcjogJGliLXRleHQtcHJpbWFyeTtcbiAgfVxuXG4gICZfX2NhcmQtZGVzYyB7XG4gICAgQGluY2x1ZGUgaWItdHlwZShcImJvZHktbWVkaXVtXCIpO1xuXG4gICAgY29sb3I6ICRpYi10ZXh0LXNlY29uZGFyeTtcbiAgfVxuXG4gIC8vIG1hcmdpbi10b3AgaW50ZW50aW9uYWxseSBvbWl0dGVkIOKAlCAmX19wYW5lbCdzIGdhcCBwcm92aWRlcyB0aGUgc3BhY2VcbiAgLy8gYWJvdmUgdGhpcyBhdCBldmVyeSBicmVha3BvaW50LlxuICAmX19zZWFyY2gge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC8vIHRleHRhcmVhLCBub3QgaW5wdXQg4oCUIG92ZXJmbG93IHRleHQgd3JhcHMgdG8gYSBzZWNvbmQgbGluZSAoSlMgZ3Jvd3NcbiAgLy8gdGhlIGhlaWdodCB2aWEgc2Nyb2xsSGVpZ2h0IG9uIGlucHV0KSBpbnN0ZWFkIG9mIGJlaW5nIGN1dCBvZmYvc2Nyb2xsZWRcbiAgLy8gaG9yaXpvbnRhbGx5LCBtYXRjaGluZyAuY2hhbGxlbmdlLWlucHV0IG9uIHRoZSBob21lcGFnZS5cbiAgJl9fc2VhcmNoLWlucHV0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcmVzaXplOiBub25lO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogaWItcmVtKDEycHgpIGliLXJlbSg0MHB4KSBpYi1yZW0oMTJweCkgMDtcbiAgICBoZWlnaHQ6IGNhbGMoI3tpYi1yZW0oMzBweCl9ICsgI3tpYi1yZW0oMTJweCl9ICogMik7IC8vIG9uZSBsaW5lICsgdmVydGljYWwgcGFkZGluZ1xuXG4gICAgQGluY2x1ZGUgaWItdHlwZShcImJvZHktbWVkaXVtXCIpO1xuXG4gICAgY29sb3I6ICRpYi10ZXh0LXByaW1hcnk7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGliLXRleHQtc2Vjb25kYXJ5O1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmX19zZWFyY2gtc3VibWl0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB3aWR0aDogaWItcmVtKDI4cHgpO1xuICAgIGhlaWdodDogaWItcmVtKDI4cHgpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgIGltZyB7XG4gICAgICB3aWR0aDogaWItcmVtKDIwcHgpO1xuICAgICAgaGVpZ2h0OiBpYi1yZW0oMjBweCk7XG4gICAgfVxuICB9XG5cbiAgJl9fc2VhcmNoLWJvcmRlciB7XG4gICAgaGVpZ2h0OiBpYi1yZW0oNXB4KTtcbiAgICBiYWNrZ3JvdW5kOiAkaWItZ3JhZGllbnQtYmc7XG4gICAgdHJhbnNpdGlvbjogaGVpZ2h0IC4ycyBlYXNlO1xuICB9XG5cbiAgJl9fc2VhcmNoLmlzLWZvY3VzZWQgJl9fc2VhcmNoLWJvcmRlciB7XG4gICAgaGVpZ2h0OiBpYi1yZW0oM3B4KTtcbiAgfVxuXG4gIC8vIOKUgOKUgCBNb2JpbGUgbGF5b3V0ICjiiaQxMDI0cHgpIOKAlCBtYXRjaGVzIHNuL2VyL3RzIGNvbnZlbnRpb24sIHN0YWNrcyB0aGVcbiAgLy8gY29udGFpbmVyIHRvIGEgc2luZ2xlIGNvbHVtbiBhdCB0YWJsZXQgd2lkdGggcmF0aGVyIHRoYW4gd2FpdGluZyBmb3JcbiAgLy8gcGhvbmUuIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICBAaW5jbHVkZSByZXNwb25kLXRvKCRpYi1icC10YWJsZXQpIHtcbiAgICBwYWRkaW5nOiBpYi1yZW0oMTcycHgpIDAgaWItcmVtKDgwcHgpO1xuXG4gICAgJl9fY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBnYXA6IGliLXJlbSg0OHB4KTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHBhZGRpbmctaW5saW5lOiBpYi1yZW0oMjBweCk7XG4gICAgfVxuXG4gICAgJl9faW50cm8ge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAmX19oZWFkaW5nIHtcbiAgICAgIEBpbmNsdWRlIGliLXR5cGUoXCJkaXNwbGF5LW1vYmlsZS1sYXJnZVwiKTtcblxuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICB9XG5cbiAgICAmX19zdWJ0ZXh0IHtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIG1hcmdpbi10b3A6IGliLXJlbSgxNnB4KTtcbiAgICB9XG5cbiAgICAmX19wYW5lbCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIGdhcDogaWItcmVtKDI0cHgpO1xuICAgIH1cblxuICAgICZfX2NhcmQge1xuICAgICAgcGFkZGluZzogaWItcmVtKDE2cHgpIGliLXJlbSgyMHB4KTtcbiAgICB9XG4gIH1cbn0iLCIvLyBhc3NldHMvc2Nzcy9wYWdlcy9jb250YWN0LXVzL19sb2NhdGlvbnMtc2VjdGlvbi5zY3NzXG4vLyBcIldoZXJlIHRvIGZpbmQgdXNcIiDigJQgb2ZmaWNlIGRpcmVjdG9yeSBhY2NvcmRpb24gKGhlYWRpbmcgKyBuYW1lL3RvZ2dsZVxuLy8gcm93cywgZWFjaCBleHBhbmRpbmcgdG8gYW4gYWRkcmVzcy9waG9uZSBwYW5lbCkgaW5zaWRlICZfX2xlZnQsIG5leHQgdG8gYVxuLy8gZGVjb3JhdGl2ZSBkb3R0ZWQgd29ybGQgbWFwLiAmX19sZWZ0IGlzIHZlcnRpY2FsbHkgY2VudGVyZWQgYWdhaW5zdCB0aGVcbi8vIGdsb2JlIChhbGlnbi1pdGVtczogY2VudGVyIG9uICZfX2NvbnRhaW5lcik7IG9uIG1vYmlsZSB0aGUgZ3JpZCBkcm9wcyB0b1xuLy8gYSBzaW5nbGUgY29sdW1uLCAmX19sZWZ0IHN0YWNrZWQgYWJvdmUgJl9fZ2xvYmUuIE9wZW4vY2xvc2UgaXMgZHJpdmVuIGJ5XG4vLyBKUyB0b2dnbGluZyAuaXMtb3BlbiBvbiBgJl9faXRlbWAg4oCUIHNlZSBjb250YWN0LXVzL2xvY2F0aW9ucy1zZWN0aW9uLmpzLlxuXG5AdXNlIFwiLi4vdXRpbHNcIiBhcyAqO1xuXG4vLyDilIDilIAgR2xvYmUgY2l0eS1jYXJkIGdlb21ldHJ5IOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gU2FtZSBsYXllcmVkLW5vdGNoIHRlY2huaXF1ZSBhcyAuc24tcGFyYWxsYXgtY2FyZHMtc2VjdGlvbl9faXRlbSAvXG4vLyBfX2l0ZW0taW5uZXIgKF9wYXJhbGxheC1jYXJkcy1zZWN0aW9uLnNjc3MpIOKAlCBzZWUgJl9fZ2xvYmUtbGFiZWwgYmVsb3cuXG4kX2dsb2JlLWNhcmQtY3V0OiAxMnB4OyAvLyBjb3JuZXIgY2hhbWZlciBzaXplICh0b3AtbGVmdCArIGJvdHRvbS1yaWdodClcbiRfZ2xvYmUtY2FyZC1wbGF0ZS1zaGlmdDogNXB4OyAvLyBwbGF0ZSBvZmZzZXQgZG93bi1yaWdodFxuJF9nbG9iZS1jYXJkLXBsYXRlLWdhcDogMS41cHg7IC8vIGJyZWF0aGluZyByb29tIGJldHdlZW4gcGhvdG8gYW5kIHBsYXRlXG5cbi8vIE5vdGNoZWQgYm9yZGVyIEZSQU1FIG9mIHRoaWNrbmVzcyAkdCDigJQgb3V0ZXIgbm90Y2ggd2l0aCBhbiBpbm5lciBub3RjaFxuLy8gY2FydmVkIG91dCAoc2luZ2xlLXBhdGggXCJkb251dFwiKSwgc28gdGhlIDFweCBzdHJva2UgZm9sbG93cyB0aGUgY2hhbWZlcnMuXG4vLyBBIHJlYWwgYGJvcmRlcmAgKyBjbGlwLXBhdGggd291bGQgYmUgY3V0IG9mZiBhbG9uZyB0aGUgZGlhZ29uYWxzIChzYW1lXG4vLyB0ZWNobmlxdWUgYXMgX2J1dHRvbnMuc2NzcyAvIF9wYXJhbGxheC1jYXJkcy1zZWN0aW9uLnNjc3MpLlxuQG1peGluIF9nbG9iZS1jYXJkLW5vdGNoLWZyYW1lKCRjdXQsICR0KSB7XG4gICRkaWFnOiAkdCAqIC40MTQyOyAvLyAo4oiaMiDiiJIgMSkgw5cgdCDigJQgZXh0cmEgaW5zZXQgZm9yIHRoZSBkaWFnb25hbCBzZWdtZW50c1xuXG4gIGNsaXAtcGF0aDogcG9seWdvbihcbiAgICAvLyBvdXRlciBub3RjaCAoY2xvY2t3aXNlKSArIGJyaWRnZSBiYWNrIHRvIHN0YXJ0XG4gICAgI3skY3V0fSAwLFxuICAgIDEwMCUgMCxcbiAgICAxMDAlIGNhbGMoMTAwJSAtICN7JGN1dH0pLFxuICAgIGNhbGMoMTAwJSAtICN7JGN1dH0pIDEwMCUsXG4gICAgMCAxMDAlLFxuICAgIDAgI3skY3V0fSxcbiAgICAjeyRjdXR9IDAsXG4gICAgLy8gaW5uZXIgbm90Y2ggKGluc2V0IGJ5ICR0KSDigJQgd291bmQgQ09VTlRFUi1jbG9ja3dpc2UgdG8gY2FydmUgdGhlIGhvbGVcbiAgICBjYWxjKCN7JGN1dH0gKyAjeyRkaWFnfSkgI3skdH0sXG4gICAgI3skdH0gY2FsYygjeyRjdXR9ICsgI3skZGlhZ30pLFxuICAgICN7JHR9IGNhbGMoMTAwJSAtICN7JHR9KSxcbiAgICBjYWxjKDEwMCUgLSAjeyRjdXR9IC0gI3skZGlhZ30pIGNhbGMoMTAwJSAtICN7JHR9KSxcbiAgICBjYWxjKDEwMCUgLSAjeyR0fSkgY2FsYygxMDAlIC0gI3skY3V0fSAtICN7JGRpYWd9KSxcbiAgICBjYWxjKDEwMCUgLSAjeyR0fSkgI3skdH0sXG4gICAgY2FsYygjeyRjdXR9ICsgI3skZGlhZ30pICN7JHR9XG4gICk7XG59XG5cbi5jdS1sb2NhdGlvbnMtc2VjdGlvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogJGliLWJnLXByaW1hcnk7XG4gIHBhZGRpbmc6IDAgMCBpYi1yZW0oODBweCk7XG5cbiAgLy8gSG9yaXpvbnRhbCBlZGdlcyBtYXRjaCB0aGUgaGVhZGVyL2Zvb3RlciBjb250YWluZXIgZXhhY3RseSDigJQgc2FtZSBib3hcbiAgLy8gbW9kZWwgYXMgLmhlYWRlci1jb250YWluZXIgKDE1NzZweCBib3gsIDQwcHggZ3V0dGVyIGVhdGVuIGZyb20gaW5zaWRlXG4gIC8vID0gMTQ5NnB4IGVmZmVjdGl2ZSBjb250ZW50IHdpZHRoKSwgbGlrZSBldmVyeSB0cnVlLXN0b3JpZXMgc2VjdGlvbi5cbiAgJl9fY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcImxlZnQgZ2xvYmVcIjtcbiAgICBnYXA6IGliLXJlbSgxMHB4KTtcbiAgICBtYXgtd2lkdGg6IHZhcigtLWNvbnRhaW5lci13aWR0aC1wYWRkKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLWlubGluZTogdmFyKC0tZ3V0dGVyKTtcbiAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICAvLyBXcmFwcyBoZWFkaW5nICsgbGlzdCBhcyBhIHNpbmdsZSB1bml0IHNvIGFsaWduLWl0ZW1zOiBjZW50ZXIgKGFib3ZlKVxuICAvLyBjZW50ZXJzIHRoZSB3aG9sZSBsZWZ0IGNvbHVtbiBhZ2FpbnN0IHRoZSBnbG9iZSdzIGhlaWdodC5cbiAgJl9fbGVmdCB7XG4gICAgZ3JpZC1hcmVhOiBsZWZ0O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IGliLXJlbSg1NnB4KTtcbiAgICBwYWRkaW5nLXRvcDogaWItcmVtKDgwcHgpO1xuICB9XG5cbiAgLy8gRmlnbWEgXCJDb250YWN0IFNlY3Rpb25cIjogTGV4ZW5kIExpZ2h0IDQ4LzUyLCB0cmFja2luZyAtMS45MnB4ICh0aGVcbiAgLy8gaWItZGlzcGxheS1oZWFkaW5nIG1peGluJ3MgLTAuMDRlbSBhbHJlYWR5IHJlc29sdmVzIHRvIC0xLjkycHggQCA0OHB4KS5cbiAgJl9faGVhZGluZyB7XG4gICAgQGluY2x1ZGUgaWItdHlwZShcImRpc3BsYXktbW9iaWxlLWxhcmdlXCIpO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIH1cblxuICAvLyDilIDilIAgQWNjb3JkaW9uIGxpc3Qg4oCUIEZpZ21hOiBmbGV4IGNvbHVtbiwgMjRweCBnYXAgYmV0d2VlbiByb3dzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAmX19saXN0IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDA7XG4gICAgbWF4LXdpZHRoOiBpYi1yZW0oNTM5cHgpO1xuICB9XG5cbiAgJl9faXRlbSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRpYi1ib3JkZXItdGVydGlhcnk7XG5cbiAgICAmOmZpcnN0LWNoaWxkICZfX3JvdyB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG4gIH1cblxuICAmX19yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogaWItcmVtKDI0cHgpIGliLXJlbSgxNnB4KSBpYi1yZW0oMjRweCkgMDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuXG4gIC8vIEZpZ21hOiBMZXhlbmQgTWVkaXVtIDE2LzI2LCB1cHBlcmNhc2UgKGxhYmVsLW1lZGl1bSwgbm90IGxhYmVsLXNtYWxsKVxuICAmX19uYW1lIHtcbiAgICBAaW5jbHVkZSBpYi10eXBlKFwibGFiZWwtbWVkaXVtXCIpO1xuXG4gICAgY29sb3I6ICRpYi10ZXh0LXByaW1hcnk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuXG4gIC8vIERhc2hlZCBwbHVzIC8gc2luZ2xlIGgtbGluZSBpY29uIHBhaXIgKGFzc2V0cy9pbWFnZXMvc3ByaXRlLnN2ZyDigJRcbiAgLy8gaWNvbi1wbHVzLWRhc2ggLyBpY29uLWgtbGluZSkg4oCUIGNyb3NzLWZhZGVzIGJldHdlZW4gdGhlIHR3byBvblxuICAvLyBgJl9faXRlbS5pcy1vcGVuYCwgc2FtZSBwYXR0ZXJuIGFzIC5zbi1hY2NvcmRpb25fX2ljb24tcGx1cy8tbWludXMuXG4gICZfX3RvZ2dsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXg6IG5vbmU7XG4gICAgd2lkdGg6IGliLXJlbSgyMnB4KTtcbiAgICBoZWlnaHQ6IGliLXJlbSgyMnB4KTtcbiAgICBjb2xvcjogJGliLXRleHQtcHJpbWFyeTtcbiAgfVxuXG4gICZfX3RvZ2dsZS1pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiBpYi1yZW0oMjRweCk7XG4gICAgaGVpZ2h0OiBpYi1yZW0oMjRweCk7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoMGRlZykgc2NhbGUoMSk7XG4gICAgdHJhbnNpdGlvbjogJGliLXRyYW5zaXRpb24tc21vb3RoO1xuXG4gICAgJi0tbWludXMge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSgtOTBkZWcpIHNjYWxlKC41KTtcbiAgICB9XG4gIH1cblxuICAmX19pdGVtLmlzLW9wZW4gJl9fdG9nZ2xlLWljb24ge1xuICAgICYtLXBsdXMge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSg5MGRlZykgc2NhbGUoLjUpO1xuICAgIH1cblxuICAgICYtLW1pbnVzIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoMGRlZykgc2NhbGUoMSk7XG4gICAgfVxuICB9XG5cbiAgLy8gUGFuZWwgaGVpZ2h0IGlzIHNldCBpbmxpbmUgYnkgSlMgKHNjcm9sbEhlaWdodCkgc28gdGhlIHNsaWRlIHdvcmtzXG4gIC8vIHdpdGhvdXQga25vd2luZyB0aGUgY29udGVudCBoZWlnaHQgdXAgZnJvbnQ7IDAgaXMgdGhlIENTUy1vbmx5IGZhbGxiYWNrLlxuICAvLyBTbG93LCBlYXNlZCBjdXJ2ZSAobWF0Y2hlcyAkaWItdHJhbnNpdGlvbi1zbG93KSDigJQgSlMgc2VxdWVuY2VzXG4gIC8vIGNsb3NlLXRoZW4tb3BlbiBvZmYgdGhpcyB2aWEgYHRyYW5zaXRpb25lbmRgLCBzbyB0aGlzIGR1cmF0aW9uIGFsc29cbiAgLy8gc2V0cyB0aGUgc2VxdWVuY2luZyBwYWNlLlxuICAmX19wYW5lbCB7XG4gICAgbWF4LWhlaWdodDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgLjhzIGN1YmljLWJlemllciguMTYsIDEsIC4zLCAxKTtcbiAgfVxuXG4gICZfX3BhbmVsLWlubmVyIHtcbiAgICBwYWRkaW5nOiAwIDAgaWItcmVtKDIwcHgpO1xuICB9XG5cbiAgLy8gU3ViLWhlYWRpbmcgZm9yIHBhbmVscyB3aXRoIG1vcmUgdGhhbiBvbmUgb2ZmaWNlIChlLmcuIFB1bmUncyBCYW5lciAvXG4gIC8vIFZpbWFuIE5hZ2FyIGFkZHJlc3Nlcykg4oCUIGlkZW50aWZpZXMgd2hpY2ggYWRkcmVzcyBmb2xsb3dzLlxuICAmX19hZGRyZXNzLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIEBpbmNsdWRlIGliLXR5cGUoXCJ0aXRsZS1zbWFsbFwiKTtcblxuICAgIGNvbG9yOiAkaWItdGV4dC1wcmltYXJ5O1xuICAgIG1hcmdpbi1ib3R0b206IGliLXJlbSg0cHgpO1xuICB9XG5cbiAgJl9fYWRkcmVzcyB7XG4gICAgQGluY2x1ZGUgaWItdHlwZShcImJvZHktc21hbGxcIik7XG5cbiAgICBjb2xvcjogJGliLXRleHQtc2Vjb25kYXJ5O1xuICAgIG1hcmdpbi1ib3R0b206IGliLXJlbSgxMnB4KTtcbiAgfVxuXG4gICZfX3Bob25lIHtcbiAgICBAaW5jbHVkZSBpYi10eXBlKFwidGl0bGUtc21hbGxcIik7XG5cbiAgICBjb2xvcjogJGliLXRleHQtcHJpbWFyeTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuXG4gIC8vIOKUgOKUgCBHbG9iZSDigJQgVGhyZWUuanMgcmVhbGlzdGljIEVhcnRoLCBzdGF0aWMgU1ZHIGRvdC1tYXAgYXMgYSBuby1KUy9uby1XZWJHTFxuICAvLyBmYWxsYmFjayAoYXNzZXRzL2pzL3BhZ2VzL2NvbnRhY3QtdXMvZ2xvYmUtc2VjdGlvbi5qcyB0b2dnbGVzIGlzLTNkLXJlYWR5XG4gIC8vIG9uY2UgdGhlIGNhbnZhcyBpcyBhY3R1YWxseSByZW5kZXJpbmcsIHdoaWNoIGhpZGVzIHRoZSBmYWxsYmFjayBpbWFnZSkuIOKUgOKUgFxuICAmX19nbG9iZSB7XG4gICAgZ3JpZC1hcmVhOiBnbG9iZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7XG4gICAgbWFyZ2luOiA0MHB4IGF1dG8gMDtcbiAgfVxuXG4gIC8vIHBhbi15IGtlZXBzIHZlcnRpY2FsIHBhZ2Ugc2Nyb2xsIHdvcmtpbmcgb24gdG91Y2gg4oCUIGhvcml6b250YWwgZHJhZ1xuICAvLyBpcyB3aGF0IHNwaW5zIHRoZSBnbG9iZSAoc2VlIHRoZSBwb2ludGVyIGhhbmRsZXJzIGluIGdsb2JlLXNlY3Rpb24uanMpLlxuICAvLyBTdGFydHMgdHJhbnNwYXJlbnQgYW5kIGZhZGVzIGluIG9uIGlzLTNkLXJlYWR5IChiZWxvdykgcmF0aGVyIHRoYW5cbiAgLy8gc25hcHBpbmcgc3RyYWlnaHQgdG8gYSBmdWxseS1yZW5kZXJlZCBmcmFtZSDigJQgcGFpcmVkIHdpdGggJl9fZ2xvYmUtaW1nJ3NcbiAgLy8gZmFkZS1vdXQgYXQgdGhlIHNhbWUgZHVyYXRpb24vZWFzaW5nLCBzbyB0aGUgc3dhcCByZWFkcyBhcyBvbmUgc21vb3RoXG4gIC8vIGNyb3NzZmFkZSBpbnN0ZWFkIG9mIHRoZSBzdGF0aWMgbWFwIHBvcHBpbmcgYXdheSB0byByZXZlYWwgYW4gYWxyZWFkeS1cbiAgLy8gb3BhcXVlIGNhbnZhcyB1bmRlcm5lYXRoLlxuICAmX19nbG9iZS1jYW52YXMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNnMgY3ViaWMtYmV6aWVyKC4yNSwgLjQ2LCAuNDUsIC45NCk7XG4gIH1cblxuICAmX19nbG9iZS5pcy0zZC1yZWFkeSAmX19nbG9iZS1jYW52YXMge1xuICAgIGN1cnNvcjogZ3JhYjtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJl9fZ2xvYmUuaXMtZHJhZ2dpbmcgJl9fZ2xvYmUtY2FudmFzIHtcbiAgICBjdXJzb3I6IGdyYWJiaW5nO1xuICB9XG5cbiAgJl9fZ2xvYmUtaW1nIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjZzIGN1YmljLWJlemllciguMjUsIC40NiwgLjQ1LCAuOTQpO1xuICB9XG5cbiAgLy8gT2ZmaWNlIG1hcmtlcnMg4oCUIERPTSBkb3RzLCBub3QgcGFydCBvZiB0aGUgM0Qgc2NlbmUsIHBvc2l0aW9uZWQgZXZlcnlcbiAgLy8gZnJhbWUgdmlhIC0tY3UtbWFya2VyLXgvLXkgKHNlZSB1cGRhdGVNYXJrZXJQb3NpdGlvbnMoKSBpblxuICAvLyBnbG9iZS1zZWN0aW9uLmpzKS4gS2VwdCBvdXQgb2YgdGhlIFdlYkdMIHNjZW5lIGVudGlyZWx5IHNvIHRoZSByZXN0aW5nL1xuICAvLyBhY3RpdmUgc2l6ZXMgYXJlIGV4YWN0IHBpeGVsIHZhbHVlcyBpbnN0ZWFkIG9mIGEgcGVyc3BlY3RpdmUtcHJvamVjdGVkXG4gIC8vIDNEIHNjYWxlIHRoYXQgZHJpZnRzIHdpdGggcm90YXRpb24uXG4gICZfX2dsb2JlLW1hcmtlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDI7XG4gICAgd2lkdGg6IGliLXJlbSgxMXB4KTtcbiAgICBoZWlnaHQ6IGliLXJlbSgxMXB4KTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogJGliLXJlZC1wZWFjaDtcblxuICAgIC8vIGF1dG8gKG5vdCBub25lKSDigJQgaG92ZXJpbmcgYSBkb3Qgc2hvd3MgaXRzIGxhYmVsLCBzZWUgZ2xvYmUtc2VjdGlvbi5qcy5cbiAgICAvLyAuaXMtYmVoaW5kIGJlbG93IHN0aWxsIG9wdHMgYmFjayBvdXQgc28gaGlkZGVuIGJhY2staGVtaXNwaGVyZSBkb3RzXG4gICAgLy8gY2FuJ3QgYmUgaG92ZXJlZC5cbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUodmFyKC0tY3UtbWFya2VyLXgsIDApLCB2YXIoLS1jdS1tYXJrZXIteSwgMCkpIHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAuM3MgZWFzZSwgaGVpZ2h0IC4zcyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIC4zcyBlYXNlLCBvcGFjaXR5IC4zcyBlYXNlO1xuXG4gICAgJi5pcy1iZWhpbmQge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIHdpZHRoOiBpYi1yZW0oMjVweCk7XG4gICAgICBoZWlnaHQ6IGliLXJlbSgyNXB4KTtcbiAgICAgIGJhY2tncm91bmQ6ICRpYi1yZWQtZGVzaXJlO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhpZGRlbiBvbmNlIHRoZSAzRCBnbG9iZSBpcyBhY3R1YWxseSByZW5kZXJpbmcgKGlzLTNkLXJlYWR5IGlzIGFkZGVkIHRvXG4gIC8vICZfX2dsb2JlIGl0c2VsZiBieSBnbG9iZS1zZWN0aW9uLmpzKTsgbGVmdCB2aXNpYmxlIGFzIHRoZSBmYWxsYmFjayBmb3JcbiAgLy8gbm8tSlMsIG5vLVdlYkdMLCBvciBhIHRleHR1cmUtZmV0Y2ggZmFpbHVyZS5cbiAgJl9fZ2xvYmUuaXMtM2QtcmVhZHkgJl9fZ2xvYmUtaW1nIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgLy8gRmxvYXRpbmcgY2l0eSBjYXJkIOKAlCBwb3NpdGlvbmVkIGV2ZXJ5IGZyYW1lIGJ5IEpTIHZpYSBhIHRyYW5zbGF0ZSgpXG4gIC8vIHRyYW5zZm9ybSBtYXRjaGluZyB0aGUgc2hvd24gbWFya2VyJ3MgcHJvamVjdGVkIHNjcmVlbiBwb3NpdGlvblxuICAvLyAodHJhbnNmb3JtLCBub3QgdG9wL2xlZnQsIHNvIGl0IHN0YXlzIG9mZiB0aGUgbGF5b3V0L3BhaW50IHBhdGgpLiBKU1xuICAvLyBhbHJlYWR5IHJlc29sdmVzIC0tY3UtbGFiZWwteC8tLWN1LWxhYmVsLXkgdG8gY2xhbXBlZC10by1ib3ggcGl4ZWxcbiAgLy8gdmFsdWVzIGZvciB0aGUgY2FyZCdzIHRvcC1sZWZ0IGNvcm5lciwgY2VudGVyZWQgdW5kZXIgYW5kIG9mZnNldCBiZWxvd1xuICAvLyB0aGUgZG90IChzZWUgdXBkYXRlTGFiZWxQb3NpdGlvbigpIGluIGdsb2JlLXNlY3Rpb24uanMpLlxuICAvLyBJbWFnZS1vbmx5IGNhcmQsIG5vIG5hbWUgdGV4dCDigJQgc2FtZSBsYXllcmVkLW5vdGNoIHRlY2huaXF1ZSBhc1xuICAvLyAuc24tcGFyYWxsYXgtY2FyZHMtc2VjdGlvbl9faXRlbSAvIF9faXRlbS1pbm5lciAoX3BhcmFsbGF4LWNhcmRzLXNlY3Rpb24uc2Nzcyk6XG4gIC8vIHRoZSBob3N0IGlzIE5PVCBjbGlwcGVkIChjbGlwLXBhdGggd291bGQgY3V0IG9mZiB0aGUgcGxhdGUpLCBzbyBlYWNoXG4gIC8vIHZpc3VhbCBsaXZlcyBvbiBpdHMgb3duIGxheWVyLCBib3R0b20g4oaSIHRvcDpcbiAgLy8gICAmX19nbG9iZS1sYWJlbCAoaG9zdCkgICAgICAg4oaSIGNhcmQgYmcsIHNob3dzIHRocm91Z2ggdGhlIG5vdGNoZXNcbiAgLy8gICA6OmJlZm9yZSAgICAgICAgICAgICAgICAgICAg4oaSIHBlYWNoIHBsYXRlLCBub3RjaGVkLCBzaGlmdGVkIGRvd24tcmlnaHRcbiAgLy8gICA6OmFmdGVyICAgICAgICAgICAgICAgICAgICAg4oaSIHBhZ2UtYmcgZ2FwIG1hc2ssIG5vdGNoZWQsIHNoaWZ0ZWQgbGVzcyDigJRcbiAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcmFzZXMgdGhlIHBsYXRlIG5lYXIgdGhlIHBob3RvIHNvIGl0IGZsb2F0cyBmcmVlXG4gIC8vICAgJl9fZ2xvYmUtbGFiZWwtaW5uZXIgICAgICAgIOKGkiBub3RjaGVkIGNyZWFtIGZhY2UgKyAxcHggYm9yZGVyIGZyYW1lXG4gIC8vICAgJl9fZ2xvYmUtbGFiZWwtaW1nIChpbnNpZGUpIOKGkiB0aGUgcGhvdG8gaXRzZWxmLCBmaWxscyAmLWlubmVyXG4gICZfX2dsb2JlLWxhYmVsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMztcbiAgICB3aWR0aDogaWItcmVtKDIwMnB4KTtcbiAgICBoZWlnaHQ6IGliLXJlbSgxMzRweCk7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgb3BhY2l0eTogMDtcblxuICAgIC8vIHRyYW5zZm9ybSBzdGF5cyBsaXZlIGV2ZW4gd2hpbGUgaGlkZGVuIChvcGFjaXR5OiAwKSDigJQgb25seSBvcGFjaXR5IGlzXG4gICAgLy8gdG9nZ2xlZCBieSAmLmlzLXZpc2libGUsIHNvIGEgaGlkZS9zaG93IGN5Y2xlIChlLmcuIHNldExhYmVsKG51bGwpIGF0XG4gICAgLy8gdGhlIHN0YXJ0IG9mIGV2ZXJ5IGZvY3VzT24oKSBjbGljaywgb3IgdGhlIGNyb3NzZmFkZSBiZXR3ZWVuIHR3b1xuICAgIC8vIG1hcmtlcnMgZHVyaW5nIGF1dG8tcm90YXRlKSBmYWRlcyBvdXQgaW4gcGxhY2UgaW5zdGVhZCBvZiBzbmFwcGluZ1xuICAgIC8vIHRvIHRoaXMgcnVsZSdzIHRvcDowL2xlZnQ6MCBjb3JuZXIgbWlkLWZhZGUuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUodmFyKC0tY3UtbGFiZWwteCwgMCksIHZhcigtLWN1LWxhYmVsLXksIDApKTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zNXMgZWFzZTtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICBAaW5jbHVkZSBpYi1ub3RjaCgkX2dsb2JlLWNhcmQtY3V0LCAkX2dsb2JlLWNhcmQtY3V0KTtcbiAgICB9XG5cbiAgICAvLyBQbGF0ZSDigJQgdGhlIFwiY2FyZCBiZWhpbmRcIiBkZXB0aCBmZWVsXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGluc2V0OiAkX2dsb2JlLWNhcmQtcGxhdGUtc2hpZnQgKC0kX2dsb2JlLWNhcmQtcGxhdGUtc2hpZnQpICgtJF9nbG9iZS1jYXJkLXBsYXRlLXNoaWZ0KSAkX2dsb2JlLWNhcmQtcGxhdGUtc2hpZnQ7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgYmFja2dyb3VuZDogJGliLXJlZC1wZWFjaDtcbiAgICB9XG5cbiAgICAvLyBHYXAgbWFzayDigJQgaW52aXNpYmxlIGFnYWluc3QgdGhlIHBhZ2UgYmc7IG9ubHkgaXRzIGVkZ2UgbWF0dGVyc1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGluc2V0OiAkX2dsb2JlLWNhcmQtcGxhdGUtZ2FwICgtJF9nbG9iZS1jYXJkLXBsYXRlLWdhcCkgKC0kX2dsb2JlLWNhcmQtcGxhdGUtZ2FwKSAkX2dsb2JlLWNhcmQtcGxhdGUtZ2FwO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIGJhY2tncm91bmQ6ICRpYi1jcmVhbS1taXN0O1xuICAgIH1cbiAgfVxuXG4gIC8vIENhcmQgZmFjZSDigJQgY2xpcHBlZCBmaWxsLCBob2xkcyB0aGUgcGhvdG8sIGFuZCB0aGUgYm9yZGVyIGZyYW1lXG4gICZfX2dsb2JlLWxhYmVsLWlubmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogJGliLWNyZWFtLWxpZ2h0O1xuICAgIHBhZGRpbmctdG9wOiBpYi1yZW0oNXB4KTtcblxuICAgIEBpbmNsdWRlIGliLW5vdGNoKCRfZ2xvYmUtY2FyZC1jdXQsICRfZ2xvYmUtY2FyZC1jdXQpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBpbnNldDogMDtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgICBAaW5jbHVkZSBfZ2xvYmUtY2FyZC1ub3RjaC1mcmFtZSgkX2dsb2JlLWNhcmQtY3V0LCAxcHgpO1xuICAgIH1cbiAgfVxuXG4gICZfX2dsb2JlLWxhYmVsLWltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuXG4gICAgJltoaWRkZW5dIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gTm8gbGFiZWwgdGV4dCBmb3Igbm93IOKAlCBjYXJkIGlzIGltYWdlLW9ubHkgKHNlZSAmX19nbG9iZS1sYWJlbCBhYm92ZSkuXG4gICZfX2dsb2JlLWxhYmVsLW5hbWUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyDilIDilIAgTW9iaWxlIGxheW91dCAo4omkMTAyNHB4KSDigJQgbWF0Y2hlcyBzbi9lci90cyBjb252ZW50aW9uLCBzdGFja3MgdGhlXG4gIC8vIGdyaWQgdG8gYSBzaW5nbGUgY29sdW1uIGF0IHRhYmxldCB3aWR0aCByYXRoZXIgdGhhbiB3YWl0aW5nIGZvciBwaG9uZS4g4pSA4pSAXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8oJGliLWJwLXRhYmxldCkge1xuICAgIHBhZGRpbmc6IGliLXJlbSg4MHB4KSAwO1xuXG4gICAgJl9fY29udGFpbmVyIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcbiAgICAgICAgXCJoZWFkaW5nXCJcbiAgICAgICAgXCJnbG9iZVwiXG4gICAgICAgIFwibGlzdFwiO1xuICAgICAgcm93LWdhcDogaWItcmVtKDU2cHgpO1xuICAgICAgcGFkZGluZy1pbmxpbmU6IGliLXJlbSgyMHB4KTtcbiAgICB9XG5cbiAgICAvLyBVbndyYXBzICZfX2xlZnQgc28gJl9faGVhZGluZy8mX19saXN0IGJlY29tZSBkaXJlY3QgZ3JpZCBpdGVtcyBhZ2FpblxuICAgIC8vIChlYWNoIGdldHMgaXRzIG93biBncmlkLWFyZWEgYmVsb3cpIGluc3RlYWQgb2Ygb25lIGNvbWJpbmVkIGJsb2NrIOKAlFxuICAgIC8vIHRoYXQncyBob3cgZ2xvYmUgY2FuIHNpdCBiZXR3ZWVuIHRoZW0gaW4gc291cmNlLWluZGVwZW5kZW50IG9yZGVyLlxuICAgICZfX2xlZnQge1xuICAgICAgZGlzcGxheTogY29udGVudHM7XG4gICAgfVxuXG4gICAgJl9faGVhZGluZyB7XG4gICAgICBncmlkLWFyZWE6IGhlYWRpbmc7XG5cbiAgICAgIEBpbmNsdWRlIGliLWRpc3BsYXktaGVhZGluZyhpYi1yZW0oMjhweCksIGliLXJlbSgzNHB4KSk7XG5cbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgfVxuXG4gICAgJl9fbGlzdCB7XG4gICAgICBncmlkLWFyZWE6IGxpc3Q7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJl9fcm93IHtcbiAgICAgIHBhZGRpbmc6IGliLXJlbSgxMnB4KSBpYi1yZW0oOHB4KSBpYi1yZW0oMTJweCkgMDtcbiAgICB9XG5cbiAgICAmX190b2dnbGUtaWNvbiB7XG4gICAgICB3aWR0aDogaWItcmVtKDIwcHgpO1xuICAgICAgaGVpZ2h0OiBpYi1yZW0oMjBweCk7XG4gICAgfVxuXG4gICAgJl9fZ2xvYmUge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxuXG4gICAgJl9fZ2xvYmUtbGFiZWwge1xuICAgICAgd2lkdGg6IGliLXJlbSgxODRweCk7XG4gICAgICBoZWlnaHQ6IGliLXJlbSgxMThweCk7XG4gICAgfVxuXG4gICAgJl9fbmFtZSB7XG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gYXNzZXRzL3Njc3MvcGFnZXMvY29udGFjdC11cy9fZW5xdWlyaWVzLXNlY3Rpb24uc2Nzc1xuLy8gXCJHZW5lcmFsIEVucXVpcmllc1wiIGJhciDigJQgYnJhbmQgbWFyayArIGhlYWRpbmcgb24gdGhlIGxlZnQsIGVtYWlsL3Bob25lXG4vLyBjb250YWN0IHBvaW50cyBvbiB0aGUgcmlnaHQuIFNpdHMgZGlyZWN0bHkgYWJvdmUgdGhlIHNoYXJlZCBFeHBvbmFcbi8vIFwiTGV0J3MgY3JlYXRlIHdvdyB0b2dldGhlclwiIGZvb3RlciBmb2xkLlxuXG5AdXNlIFwiLi4vdXRpbHNcIiBhcyAqO1xuXG4uY3UtZW5xdWlyaWVzLXNlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiAkaWItYmctc2Vjb25kYXJ5O1xuICBwYWRkaW5nOiBpYi1yZW0oODBweCkgMDtcblxuICAvLyBIb3Jpem9udGFsIGVkZ2VzIG1hdGNoIHRoZSBoZWFkZXIvZm9vdGVyIGNvbnRhaW5lciBleGFjdGx5IOKAlCBzYW1lIGJveFxuICAvLyBtb2RlbCBhcyAuaGVhZGVyLWNvbnRhaW5lciAoMTU3NnB4IGJveCwgNDBweCBndXR0ZXIgZWF0ZW4gZnJvbSBpbnNpZGVcbiAgLy8gPSAxNDk2cHggZWZmZWN0aXZlIGNvbnRlbnQgd2lkdGgpLCBsaWtlIGV2ZXJ5IHRydWUtc3RvcmllcyBzZWN0aW9uLlxuICAmX19jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiBpYi1yZW0oNDBweCk7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS1jb250YWluZXItd2lkdGgtcGFkZCk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1pbmxpbmU6IHZhcigtLWd1dHRlcik7XG4gICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgfVxuXG4gICZfX2JyYW5kIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiBpYi1yZW0oMTZweCk7XG4gIH1cblxuICAmX19oZWFkaW5nIHtcbiAgICBAaW5jbHVkZSBpYi10eXBlKFwiZGlzcGxheS1tb2JpbGUtbGFyZ2VcIik7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcblxuICAgIGNvbG9yOiAkaWItdGV4dC1wcmltYXJ5O1xuICB9XG5cbiAgJl9fZGV0YWlscyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IGliLXJlbSgzMnB4KTtcbiAgfVxuXG4gICZfX2ZpZWxkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiBpYi1yZW0oNHB4KTtcbiAgfVxuXG4gICZfX2xhYmVsIHtcbiAgICBAaW5jbHVkZSBpYi10eXBlKFwidGl0bGUtc21hbGxcIik7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcblxuICAgIGNvbG9yOiAkaWItdGV4dC1wcmltYXJ5O1xuICB9XG5cbiAgJl9fdmFsdWUge1xuICAgIEBpbmNsdWRlIGliLXR5cGUoXCJoZWFkbGluZS1tb2JpbGUtbGFyZ2VcIik7XG5cbiAgICBjb2xvcjogJGliLXRleHQtcHJpbWFyeTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuXG4gIC8vIOKUgOKUgCBNb2JpbGUgbGF5b3V0ICjiiaQxMDI0cHgpIOKAlCBtYXRjaGVzIHNuL2VyL3RzIGNvbnZlbnRpb24uIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICBAaW5jbHVkZSByZXNwb25kLXRvKCRpYi1icC10YWJsZXQpIHtcbiAgICBwYWRkaW5nOiBpYi1yZW0oMzJweCkgMCBpYi1yZW0oNDBweCk7XG5cbiAgICAmX19jb250YWluZXIge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIHBhZGRpbmctaW5saW5lOiBpYi1yZW0oMjRweCk7XG4gICAgfVxuXG4gICAgJl9fZGV0YWlscyB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogU2hhcmVkIGRyYXdlciBzdHJ1Y3R1cmUgZm9yIGNoYXQgZmVhdHVyZXMuXG4gKlxuICogVGhpcyBwYXJ0aWFsIHByb3ZpZGVzIHJldXNhYmxlIFNDU1MgbWl4aW5zIGFuZCBwbGFjZWhvbGRlcnMgZm9yIGNvbW1vblxuICogZHJhd2VyL2Z1bGxzY3JlZW4gcGF0dGVybnMgdXNlZCBieSBib3RoIEFzayBFeHBvbmEgYW5kIENvbnRhY3QgVXMgQ2hhdC5cbiAqIENvbnN1bWVycyBhcHBseSB2aWEgdGhlaXIgb3duIEJFTSBuYW1lc3BhY2VzIHRvIGVuc3VyZSBjb21wbGV0ZSBpc29sYXRpb24uXG4gKlxuICogQHBhY2thZ2UgaW5mb2JlYW5zLTIwMjNcbiAqL1xuXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIExheW91dCBNaXhpbnNcbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG5AbWl4aW4gZHJhd2VyLWZ1bGxzY3JlZW4tYmFzZSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwZHZoO1xuICB6LWluZGV4OiAyMDAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmc6IDQwcHggMDtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICB0cmFuc2l0aW9uOlxuICAgIG9wYWNpdHkgLjRzIGVhc2UsXG4gICAgdmlzaWJpbGl0eSAuNHMgZWFzZSxcbiAgICB0cmFuc2Zvcm0gLjVzIGN1YmljLWJlemllciguMTYsIDEsIC4zLCAxKTtcbn1cblxuQG1peGluIGRyYXdlci1vcGVuLXN0YXRlIHtcbiAgb3BhY2l0eTogMTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuXG5AbWl4aW4gZHJhd2VyLWhlYWRlci1sYXlvdXQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbkBtaXhpbiBkcmF3ZXItYm9keS1jZW50ZXJlZCB7XG4gIGZsZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1heC13aWR0aDogOTA0cHg7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG5AbWl4aW4gZHJhd2VyLWZvb3Rlci1sYXlvdXQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBJbnB1dCBNaXhpbnNcbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG5AbWl4aW4gZHJhd2VyLW1haW4taW5wdXQge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXByaW1hcnksIFwiTGV4ZW5kXCIsIHNhbnMtc2VyaWYpO1xuICByZXNpemU6IG5vbmU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIGhlaWdodDogMjhweDtcbiAgbWF4LWhlaWdodDogMTIwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEycHg7XG59XG5cbkBtaXhpbiBkcmF3ZXItaW5wdXQtcGxhY2Vob2xkZXIoJGNvbG9yOiAjZmZmLCAkb3BhY2l0eTogLjgpIHtcbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgb3BhY2l0eTogJG9wYWNpdHk7XG4gIH1cblxuICAmOmZvY3VzOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gQ2hhdCBJbnRlcmZhY2UgTWl4aW5zXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuQG1peGluIGNoYXQtaW50ZXJmYWNlLWxheW91dCB7XG4gIGZsZXg6IDE7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHdpZHRoOiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZy1ib3R0b206IDgwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmctdG9wOiAzMHB4O1xufVxuXG5AbWl4aW4gY2hhdC1jb250YWluZXItZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDQwcHggMWZyO1xuICBhbGlnbi1jb250ZW50OiBzdGFydDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgcGFkZGluZzogMCBtYXgoMjBweCwgY2FsYygoMTAwJSAtIDEwNzZweCkgLyAyKSkgMjRweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcm93LWdhcDogNjBweDtcbiAgZmxleDogMTtcbiAgbWluLWhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbiBhdXRvO1xuICBzY3JvbGxiYXItZ3V0dGVyOiBzdGFibGU7XG59XG5cbkBtaXhpbiBjaGF0LXNjcm9sbGJhcigkdGh1bWItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjIpLCAkdGh1bWItaG92ZXI6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjQpKSB7XG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICB3aWR0aDogNnB4O1xuICB9XG5cbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJhY2tncm91bmQ6ICR0aHVtYi1jb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICR0aHVtYi1ob3ZlcjtcbiAgICB9XG4gIH1cbn1cblxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBNZXNzYWdlIEJ1YmJsZSBNaXhpbnNcbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG5AbWl4aW4gbWVzc2FnZS1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbn1cblxuQG1peGluIG1lc3NhZ2UtcmlnaHQge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG59XG5cbkBtaXhpbiBtZXNzYWdlLWJ1YmJsZS1iYXNlIHtcbiAgYmFja2dyb3VuZDogIzJmMmYzOTtcbiAgY29sb3I6ICNmZmY7XG4gIHBhZGRpbmc6IDEycHggMTZweDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMjZweDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgYm94LXNoYWRvdzogMCAwIDJweCAwICMyZjJmMzkzMztcbn1cblxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBDaGlwL0J1dHRvbiBNaXhpbnNcbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG5AbWl4aW4gY2hpcC1iYXNlIHtcbiAgQGluY2x1ZGUgbWVzc2FnZS1idWJibGUtYmFzZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMjYyNjJlO1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG5cbiAgJjpkaXNhYmxlZCxcbiAgJi5kaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogLjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuXG4gICYuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMjYyNjJlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyMDgsIDIxNiwgLjMpO1xuICB9XG59XG5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gTG9hZGVyIEFuaW1hdGlvblxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbkBtaXhpbiBkb3QtbG9hZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiA2cHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgc3BhbiB7XG4gICAgd2lkdGg6IDhweDtcbiAgICBoZWlnaHQ6IDhweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC42KTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYW5pbWF0aW9uOiBkb3QtcHVsc2UgMS40cyBpbmZpbml0ZSBlYXNlLWluLW91dCBib3RoO1xuXG4gICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgYW5pbWF0aW9uLWRlbGF5OiAtLjMycztcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICBhbmltYXRpb24tZGVsYXk6IC0uMTZzO1xuICAgIH1cbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGRvdC1wdWxzZSB7XG4gIDAlLFxuICA4MCUsXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IC4zO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoLjgpO1xuICB9XG5cbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbn1cblxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBVdGlsaXR5IE1peGluc1xuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbkBtaXhpbiBsb2NrLWJvZHktc2Nyb2xsIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuQG1peGluIHBvd2VyZWQtYnktZm9vdGVyKCRjb2xvcjogIzdiN2I4NCkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICBjb2xvcjogJGNvbG9yO1xuICBmb250LXNpemU6IDEycHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNnB4O1xuXG4gIHN0cm9uZyB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuXG4gIGltZyB7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICB9XG59XG5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gUmVzcG9uc2l2ZSBNaXhpbnNcbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG5AbWl4aW4gbW9iaWxlLWJyZWFrcG9pbnQge1xuICBAbWVkaWEgKHdpZHRoIDw9IDc2N3B4KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIHRhYmxldC1icmVha3BvaW50IHtcbiAgQG1lZGlhICh3aWR0aCA8PSAxMDI0cHgpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLyoqXG4gKiBDb250YWN0IFVzIENoYXQgRHJhd2VyIFN0eWxlc1xuICpcbiAqIE5ldyB2MiBpbXBsZW1lbnRhdGlvbiBtYXRjaGluZyBBc2sgRXhwb25hIFVJIHBhdHRlcm4uXG4gKiBDb21wbGV0ZSBDU1MgaXNvbGF0aW9uIHVzaW5nIC5jdS1jaGF0LWRyYXdlciBCRU0gbmFtZXNwYWNlLlxuICpcbiAqIEBwYWNrYWdlIGluZm9iZWFucy0yMDIzXG4gKi9cblxuQHVzZSBcIi4uLy4uLy4uL2NvbW1vbi9jaGF0LWRyYXdlci9kcmF3ZXItY29tbW9uXCIgYXMgZHJhd2VyO1xuXG4vLyBDb250YWN0IFVzIENoYXQgc3BlY2lmaWMgdmFyaWFibGVzXG4kY3UtYmctY29sb3I6ICMzNzM3NDI7XG4kY3UtYmctZGFyazogIzM3Mzc0MjsgLy8gU2FtZSBhcyBiZy1jb2xvciBmb3Igbm9kZSBiYWNrZ3JvdW5kc1xuJGN1LWJnLWltYWdlOiB1cmwoXCIuLi8uLi8uLi8uLi9zdGF0aWMvYXNzZXRzL2ltYWdlcy9sYXRlc3QvZ3JhaW4ucG5nXCIpO1xuJGN1LWFjY2VudC1jb2xvcjogI2ZmZDBkODtcbiRjdS10ZXh0LWxpZ2h0OiByZ2JhKDI1NSwgMjU1LCAyNTUsIC41NSk7XG4kY3UtdGV4dC13aGl0ZTogI2ZmZjtcbiRjdS1ib3JkZXItZ3JhZGllbnQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgI2ZmZjllZCAwJSwgI2ZmZjllZCA5MS4xNSUpO1xuXG4vLyDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZBcbi8vIENvbnRhY3QgVXMgQ2hhdCBEcmF3ZXIgLSBNYWluIENvbnRhaW5lclxuLy8g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQXG5cbi5jdS1jaGF0LWRyYXdlciB7XG4gIEBpbmNsdWRlIGRyYXdlci5kcmF3ZXItZnVsbHNjcmVlbi1iYXNlO1xuICBiYWNrZ3JvdW5kOiAkY3UtYmctY29sb3IgJGN1LWJnLWltYWdlIGNlbnRlciBjZW50ZXI7XG5cbiAgJi5vcGVuIHtcbiAgICBAaW5jbHVkZSBkcmF3ZXIuZHJhd2VyLW9wZW4tc3RhdGU7XG4gICAgYm9yZGVyLWJvdHRvbTogMTBweCBzb2xpZDtcbiAgICBib3JkZXItaW1hZ2U6ICRjdS1ib3JkZXItZ3JhZGllbnQgMTtcbiAgfVxufVxuXG4vLyBMb2NrIGJvZHkgc2Nyb2xsIHdoZW4gQ29udGFjdCBVcyBkcmF3ZXIgaXMgb3BlblxuYm9keTpoYXMoLmN1LWNoYXQtZHJhd2VyLm9wZW4pIHtcbiAgQGluY2x1ZGUgZHJhd2VyLmxvY2stYm9keS1zY3JvbGw7XG59XG5cbi8vIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkFxuLy8gSGVhZGVyXG4vLyDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZBcblxuLmN1LWNoYXQtZHJhd2VyX19oZWFkZXIge1xuICBAaW5jbHVkZSBkcmF3ZXIuZHJhd2VyLWhlYWRlci1sYXlvdXQ7XG59XG5cbi5jdS1jaGF0LWRyYXdlcl9fbG9nbyB7XG4gIGhlaWdodDogMjRweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uY3UtY2hhdC1kcmF3ZXJfX2Nsb3NlLWJ0biB7XG4gIGRpc3BsYXk6IG5vbmU7IC8vIEhpZGRlbiBvbiBkZXNrdG9wLCBzaG93biBvbiBtb2JpbGVcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAzNnB4O1xuICBoZWlnaHQ6IDM2cHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDFweCBzb2xpZCAjNjc2Nzc1O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBjb2xvcjogJGN1LXRleHQtd2hpdGU7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4ycyBlYXNlO1xuICBib3gtc2hhZG93OiAwIDAgMnB4IDAgIzJmMmYzOTMzO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICM0YTRiNTc7XG4gIH1cblxuICAuaWItaWNvbiB7XG4gICAgY29sb3I6ICRjdS10ZXh0LXdoaXRlO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gIH1cbn1cblxuLy8g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQXG4vLyBCb2R5IC0gV2VsY29tZSBTdGF0ZVxuLy8g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQXG5cbi5jdS1jaGF0LWRyYXdlcl9fYm9keSB7XG4gIEBpbmNsdWRlIGRyYXdlci5kcmF3ZXItYm9keS1jZW50ZXJlZDtcbn1cblxuLmN1LWNoYXQtZHJhd2VyX190aXRsZSB7XG4gIGNvbG9yOiAkY3UtdGV4dC1saWdodDtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMzRweDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTtcbn1cblxuLmN1LWNoYXQtZHJhd2VyX19pbnB1dC13cmFwcGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jdS1jaGF0LWRyYXdlcl9faW5wdXQge1xuICBAaW5jbHVkZSBkcmF3ZXIuZHJhd2VyLW1haW4taW5wdXQ7XG4gIEBpbmNsdWRlIGRyYXdlci5kcmF3ZXItaW5wdXQtcGxhY2Vob2xkZXIoJGN1LXRleHQtd2hpdGUsIC44KTtcbn1cblxuLy8gUHJlc3MgUmV0dXJuIGhpbnQgKHNob3duIHdoZW4gdHlwaW5nKVxuLmN1LXByZXNzLXJldHVybi1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ2FwOiAxMnB4O1xuICBtYXJnaW46IDI0cHggYXV0byAwO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zcyBlYXNlO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5jdS1yZXR1cm4ta2V5LWljb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDMycHg7XG4gIGhlaWdodDogMzJweDtcbiAgYmFja2dyb3VuZDogIzM3Mzc0MjtcbiAgYm9yZGVyOiAxcHggc29saWQgIzY3Njc3NTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4ycyBlYXNlO1xuICBib3gtc2hhZG93OiAwIDAgMnB4IDAgIzJmMmYzOTMzO1xufVxuXG4uY3UtcHJlc3MtcmV0dXJuLXRleHQge1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogMzAwO1xufVxuXG4vLyBUeXBpbmcgQWN0aXZlIFN0YXRlIC0gc2hvdyBwcmVzcyByZXR1cm4gaGludFxuLmN1LWNoYXQtZHJhd2VyX19ib2R5LnR5cGluZy1hY3RpdmUgLmN1LXByZXNzLXJldHVybi1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi8vIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkFxuLy8gRm9vdGVyXG4vLyDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZBcblxuLmN1LWNoYXQtZHJhd2VyX19mb290ZXIge1xuICBAaW5jbHVkZSBkcmF3ZXIuZHJhd2VyLWZvb3Rlci1sYXlvdXQ7XG59XG5cbi5jdS1jaGF0LWRyYXdlcl9fcG93ZXJlZC1ieSB7XG4gIEBpbmNsdWRlIGRyYXdlci5wb3dlcmVkLWJ5LWZvb3Rlcjtcbn1cblxuLmN1LWNoYXQtZHJhd2VyX19jbG9zZS1idXR0b24ge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLWJvdHRvbTogLTUwcHg7XG4gIHdpZHRoOiAxODVweDtcbiAgaGVpZ2h0OiA1MnB4O1xuICBwYWRkaW5nOiAycHggMnB4IDA7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJhY2tncm91bmQ6XG4gICAgbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjMjg0Y2JhIDYlLCAjN2QzYmEyIDQ4JSwgI2VhMWIzZCA5NCUpXG4gICAgdG9wIC8gMTAwJSA0MnB4IG5vLXJlcGVhdCxcbiAgICAkY3UtYmctY29sb3I7XG4gIGNsaXAtcGF0aDogcGF0aChcIk0gMCA1MiBMIDE4LjkgNy40IFEgMjIgMCAzMCAwIEwgMTU1IDAgUSAxNjMgMCAxNjYuMSA3LjQgTCAxODUgNTIgWlwiKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMTIwcHg7XG4gIGJvdHRvbTogMDtcblxuICBidXR0b24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkY3UtYmctY29sb3I7XG4gICAgd2lkdGg6IDE4MXB4O1xuICAgIGhlaWdodDogNTBweDtcbiAgICBjbGlwLXBhdGg6IHBhdGgoXCJNIDAgNTAgTCAxOC42IDYuNCBRIDIxLjMgMCAyOC4zIDAgTCAxNTIuNyAwIFEgMTU5LjcgMCAxNjIuNCA2LjQgTCAxODEgNTAgWlwiKTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjNzIGVhc2U7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjdS1iZy1jb2xvcjtcblxuICAgICAgLmJ0bi10ZXh0IHtcbiAgICAgICAgY29sb3I6ICRjdS10ZXh0LXdoaXRlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5idG4tdGV4dCB7XG4gICAgICBjb2xvcjogI2ZmZjllZDtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLjdweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiAxMHB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtN3B4KTtcblxuICAgICAgLmliLWljb24ge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQXG4vLyBDaGF0IEludGVyZmFjZSAtIE5lc3RlZCB1bmRlciAuY3UtY2hhdC1kcmF3ZXJfX2NoYXQgKGxpa2UgLmV4cG9uYS1jaGF0LWludGVyZmFjZSlcbi8vIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkFxuXG4uY3UtY2hhdC1kcmF3ZXJfX2NoYXQge1xuICBAaW5jbHVkZSBkcmF3ZXIuY2hhdC1pbnRlcmZhY2UtbGF5b3V0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIEZvciBhYnNvbHV0ZSBwb3NpdGlvbmluZyBvZiB0eXBpbmcgaGludFxuICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gQWxsb3cgdHlwaW5nIGhpbnQgdG8gYmUgdmlzaWJsZVxuXG4gIC8vIE1lc3NhZ2VzIGNvbnRhaW5lciAoZ3JpZCBsYXlvdXQpIC0gbWF0Y2hlcyBKUyBzZWxlY3RvciAuY3UtY2hhdC1kcmF3ZXJfX21lc3NhZ2VzXG4gIC5jdS1jaGF0LWRyYXdlcl9fbWVzc2FnZXMge1xuICAgIEBpbmNsdWRlIGRyYXdlci5jaGF0LWNvbnRhaW5lci1ncmlkO1xuICAgIEBpbmNsdWRlIGRyYXdlci5jaGF0LXNjcm9sbGJhcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIEZvciB0aW1lbGluZSBsaW5lIHBvc2l0aW9uaW5nXG5cbiAgICAvKiBDaGF0IHRpbWVsaW5lIGxpbmUg4oCUIHR3byBwdXJlLUNTUyBsYXllcnMsIG5vIEpTIG1lYXN1cmVtZW50OlxuICAgICAgIDEuIEJhc2VsaW5lIG9uIHRoZSBjb250YWluZXI6IGZ1bGwgdmlzaWJsZSBoZWlnaHQgZnJvbSB0aGUgdmVyeSBzdGFydC5cbiAgICAgICAyLiBOb2RlIHNlZ21lbnRzOiBsaXZlIGluc2lkZSB0aGUgc2Nyb2xsZWQgY29udGVudCwgc28gdGhlIGxpbmUga2VlcHNcbiAgICAgICAgICBjb3ZlcmluZyByb3dzIHRoYXQgZ3JvdyBwYXN0IHRoZSBmaXJzdCB2aWV3cG9ydCAoc3RyZWFtZWQgYW5zd2VycykuXG4gICAgICAgQm90aCBsYXllcnMgdXNlIHRoZSBTQU1FIHByZS1ibGVuZGVkIHNvbGlkIGNvbG9yIOKAlCByZ2IoOTUsIDg2LCA5Nikg4oCUIHNvIG92ZXJsYXBzIGRvbid0IGJyaWdodGVuLiAqL1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgd2lkdGg6IDFweDtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gNHB4KTsgLyogZnVsbCB2aXNpYmxlIGNoYXQgaGVpZ2h0LCBtaW51cyB0aGUgNHB4IG9mZnNldCAqL1xuICAgICAgYmFja2dyb3VuZDogcmdiKDk1LCA4NiwgOTYpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgNHB4KTtcbiAgICAgIHotaW5kZXg6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29sdW1uIGFsaWdubWVudCBjbGFzc2VzIC0gdXNlZCBieSBncmlkIGxheW91dCAoY3UtIHByZWZpeGVkIHRvIG1hdGNoIEpTKVxuICAuY3UtY29sLWNvbnRlbnQsXG4gIC5jdS1jb2wtbm9kZSxcbiAgLmN1LWNvbC1lbXB0eSB7XG4gICAgbWluLXdpZHRoOiAwOyAvLyBQcmV2ZW50IG92ZXJmbG93XG4gIH1cblxuICAvLyBNZXNzYWdlIGJ1YmJsZXMgKGN1LSBwcmVmaXhlZCB0byBtYXRjaCBKUylcbiAgLmN1LWNoYXQtbWVzc2FnZS1sZWZ0IHtcbiAgICBAaW5jbHVkZSBkcmF3ZXIubWVzc2FnZS1sZWZ0O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgfVxuXG4gIC5jdS1jaGF0LW1lc3NhZ2UtcmlnaHQge1xuICAgIEBpbmNsdWRlIGRyYXdlci5tZXNzYWdlLXJpZ2h0O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICB9XG5cbiAgLy8gQ2hhdCB0ZXh0IGNvbnRlbnRcbiAgLmN1LWNoYXQtdGV4dCB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAjZmZkMGQ4O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuXG4gICAgQG1lZGlhICh3aWR0aCA8PSAxMDI0cHgpIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgIH1cbiAgfVxuXG4gIC8vIE1lc3NhZ2UgbWV0YWRhdGEgKFlPVSDCtyB0aW1lIC8gQUkgQVNTSVNUQU5UIMK3IHRpbWUpXG4gIC5jdS1jaGF0LW1ldGEge1xuICAgIGNvbG9yOiAkY3UtYWNjZW50LWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gIC8vIFRpbWVsaW5lIG5vZGVzIChjdS0gcHJlZml4ZWQgdG8gbWF0Y2ggSlMpXG4gIC5jdS1jaGF0LW5vZGUtY2VudGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8qIGFuY2hvciBmb3IgdGhlIDo6YmVmb3JlIGxpbmUgc2VnbWVudCAqL1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgei1pbmRleDogMTtcblxuICAgIC8qIFBlci1yb3cgc2VnbWVudCA9IG93biByb3cgKyByb3ctZ2FwLCBqb2luaW5nIHNlYW1sZXNzbHkgd2l0aCB0aGUgbmV4dCBub2RlICovXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDRweDtcbiAgICAgIGxlZnQ6IDIwcHg7XG4gICAgICB6LWluZGV4OiAtMTsgLyogYmVoaW5kIHRoZSBub2RlIGljb24sIGluc2lkZSB0aGUgY2VsbCdzIHN0YWNraW5nIGNvbnRleHQgKi9cbiAgICAgIHdpZHRoOiAxcHg7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSArIDYwcHgpOyAvKiByb3cgaGVpZ2h0ICsgZGVza3RvcCByb3ctZ2FwICovXG4gICAgICBiYWNrZ3JvdW5kOiByZ2IoOTUsIDg2LCA5Nik7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgfVxuXG4gICAgLyogTGFzdCBub2RlIG9mIHRoZSBjaGF0OiBlbmQgdGhlIGxpbmUgYXQgdGhlIGJvdHRvbSBvZiBpdHMgb3duIHJvdyAqL1xuICAgICY6bnRoLWxhc3QtY2hpbGQoMik6OmJlZm9yZSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDRweCk7XG4gICAgfVxuICB9XG5cbiAgLy8gTm9kZSBpY29ucyAoY3UtIHByZWZpeGVkIHRvIG1hdGNoIEpTKVxuICAuY3Utbm9kZS1pY29uIHtcbiAgICB3aWR0aDogMTJweDtcbiAgICBoZWlnaHQ6IDEycHg7XG4gICAgbWFyZ2luLXRvcDogNHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgJi5jdS1ub2RlLWVtcHR5IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjdS1hY2NlbnQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kOiAkY3UtYmctZGFyaztcbiAgICB9XG5cbiAgICAmLmN1LW5vZGUtZmlsbGVkIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjdS1hY2NlbnQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gQW5zd2VyIHdyYXBwZXIgLSBBSSByZXNwb25zZXMgc2xpZ2h0bHkgYm9sZGVyXG4gIC5jdS1hbnN3ZXItd3JhcHBlciB7XG4gICAgLmN1LWNoYXQtdGV4dCB7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIFR5cGluZyBpbmRpY2F0b3IgLyBsb2FkZXJcbiAgLmN1LXR5cGluZy1pbmRpY2F0b3Ige1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDZweDtcbiAgICBtYXJnaW4tdG9wOiA2cHg7XG5cbiAgICBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDZweDtcbiAgICAgIGhlaWdodDogNnB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1LWFjY2VudC1jb2xvcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGFuaW1hdGlvbjogY3UtdHlwaW5nLWJvdW5jZSAxLjRzIGluZmluaXRlIGVhc2UtaW4tb3V0IGJvdGg7XG5cbiAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAtLjMycztcbiAgICAgIH1cblxuICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IC0uMTZzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFwiSnVzdCBzdGFydCB0eXBpbmdcIiBoaW50XG4gIC5jdS1jaGF0LWZvb3Rlci1oaW50IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiA1MHB4O1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjUpO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAuMnMgZWFzZTtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjgpO1xuICAgIH1cbiAgfVxuXG4gIC5jdS1oaW50LW1vYmlsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIE5ldyBxdWVzdGlvbiBpbnB1dCB3cmFwcGVyXG4gIC5jdS1uZXctcXVlc3Rpb24td3JhcHBlciB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmN1LW5ldy1xdWVzdGlvbi1pbnB1dCB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDI1MHB4O1xuICAgIHJlc2l6ZTogbm9uZTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXByaW1hcnksIFwiTGV4ZW5kXCIsIHNhbnMtc2VyaWYpO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjQpO1xuICAgIH1cblxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgIHdpZHRoOiA2cHg7XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMik7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC40KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY3UtbmV3LXF1ZXN0aW9uLXJldHVybiB7XG4gICAgbWFyZ2luOiAxMnB4IDAgMCAhaW1wb3J0YW50O1xuICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8vIEFuc3dlciBhY3Rpb25zIChjb3B5LCBldGMuKVxuICAuY3UtYW5zd2VyLWFjdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAxNnB4O1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gIH1cblxuICAuY3UtYW5zd2VyLWFjdGlvbi1idG4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogMjRweDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBvcGFjaXR5OiAuNDU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMnMgZWFzZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cblxuICAuY3UtYWN0aW9uLWljb24ge1xuICAgIHdpZHRoOiAyNHB4O1xuICAgIGhlaWdodDogMjRweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8vIElucHV0IHJvdyBzdHlsaW5nXG4gIC5jdS1jaGF0LWlucHV0LXJvdyB7XG4gICAgLy8gR3JpZCBwb3NpdGlvbmluZyBpcyBpbmhlcml0ZWQgZnJvbSBwYXJlbnRcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGN1LXR5cGluZy1ib3VuY2Uge1xuICAwJSxcbiAgODAlLFxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC41KTtcbiAgICBvcGFjaXR5OiAuMztcbiAgfVxuXG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi8vIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkFxuLy8gQ2hpcHNcbi8vIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkFxuXG4uY3UtY2hhdC1kcmF3ZXJfX2NoaXAsXG4uY3UtY2hpcCB7XG4gIEBpbmNsdWRlIGRyYXdlci5jaGlwLWJhc2U7XG59XG5cbi5jdS1jaGF0LWRyYXdlcl9fY2hpcHMsXG4uY3UtY2hpcHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogMTJweDtcbiAgbWFyZ2luLXRvcDogMTZweDtcbn1cblxuLy8g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQXG4vLyBBbnN3ZXIgQ29udGVudFxuLy8g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQXG5cbi5jdS1jaGF0LWRyYXdlcl9fYW5zd2VyLXdyYXBwZXIsXG4uY3UtYW5zd2VyLXdyYXBwZXIge1xuICAuY3UtY2hhdC1kcmF3ZXJfX3RleHQsXG4gIC5jdS1jaGF0LXRleHQge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIH1cbn1cblxuLmN1LWNoYXQtZHJhd2VyX19zdXBwb3J0aW5nLW1lc3NhZ2Uge1xuICBtYXJnaW4tdG9wOiAxMnB4O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuOCk7XG59XG5cbi8vIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkFxuLy8gUHJpdmFjeSBOb3RpY2Vcbi8vIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkFxuXG4uY3UtY2hhdC1kcmF3ZXJfX3ByaXZhY3ktbm90aWNlIHtcbiAgbWFyZ2luLXRvcDogMTZweDtcbiAgcGFkZGluZzogMTJweDtcbiAgYmFja2dyb3VuZDogcmdiYSg0NywgNDcsIDU3LCAuNSk7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC43KTtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBsaW5lLWhlaWdodDogMS42O1xuXG4gIGEge1xuICAgIGNvbG9yOiAjZmZkMGQ4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGN1LXRleHQtd2hpdGU7XG4gICAgfVxuICB9XG59XG5cbi8vIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkFxuLy8gcmVDQVBUQ0hBIENvbnRhaW5lclxuLy8g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQXG5cbiNjdS1pbmxpbmUtY2FwdGNoYS1jb250YWluZXIge1xuICBmbGV4OiAxO1xuICBkaXNwbGF5OiBub25lO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIC5jYXB0Y2hhLWZhbGxiYWNrIHtcbiAgICBwIHtcbiAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC43KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuXG4gICAgLnZlcmlmeS1idG4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogMTJweCAzMnB4O1xuICAgICAgYmFja2dyb3VuZDogJGN1LWFjY2VudC1jb2xvcjtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogZGFya2VuKCRjdS1hY2NlbnQtY29sb3IsIDEwJSk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbiAgICAgICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKCRjdS1hY2NlbnQtY29sb3IsIC40KTtcbiAgICAgIH1cblxuICAgICAgJjphY3RpdmUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkFxuLy8gUmVzcG9uc2l2ZSAtIE1vYmlsZVxuLy8g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQXG5cbkBpbmNsdWRlIGRyYXdlci5tb2JpbGUtYnJlYWtwb2ludCB7XG4gIC5jdS1jaGF0LWRyYXdlcl9fYm9keSB7XG4gICAgcGFkZGluZzogMCAyNHB4O1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC5jdS1jaGF0LWRyYXdlcl9fY2xvc2UtYnRuIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG5cbiAgLmN1LWNoYXQtZHJhd2VyX19jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuY3UtY2hhdC1kcmF3ZXJfX3Bvd2VyZWQtYnkge1xuICAgIG1hcmdpbi1ib3R0b206IC0yOHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cblxuICAvLyDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZBcbiAgLy8gQ2hhdCBJbnRlcmZhY2UgLSBNb2JpbGUgKG5lc3RlZCB1bmRlciAuY3UtY2hhdC1kcmF3ZXJfX2NoYXQgbGlrZSBleHBvbmEpXG4gIC8vIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkFxuXG4gIC5jdS1jaGF0LWRyYXdlcl9fY2hhdCB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG5cbiAgICAuY3UtY2hhdC1kcmF3ZXJfX21lc3NhZ2VzIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMzBweCAxZnI7XG4gICAgICBncmlkLWF1dG8tZmxvdzogZGVuc2U7XG4gICAgICByb3ctZ2FwOiA0MHB4O1xuXG4gICAgICAvKiBCYXNlbGluZTogY29udGFpbmVyIHBhZGRpbmctbGVmdCAyMHB4ICsgaWNvbiBheGlzIDZweCBpbnNpZGUgdGhlIG5vZGUgY2VsbCAqL1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogMjZweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY3UtYW5zd2VyLXdyYXBwZXIge1xuICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICB9XG5cbiAgICAuY3UtY2hhdC1tZXNzYWdlLWxlZnQsXG4gICAgLmN1LWNoYXQtbWVzc2FnZS1yaWdodCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuY3UtY2hhdC1ub2RlLWNlbnRlciB7XG4gICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogNnB4OyAvKiBhbGlnbiB3aXRoIHRoZSBhYnNvbHV0ZWx5IHBvc2l0aW9uZWQgbm9kZSBpY29uICovXG4gICAgICAgIGhlaWdodDogY2FsYygxMDAlICsgNDBweCk7IC8qIHJvdyBoZWlnaHQgKyBtb2JpbGUgcm93LWdhcCAqL1xuICAgICAgfVxuXG4gICAgICAuY3Utbm9kZS1pY29uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA2cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmN1LW5vZGUtaWNvbiB7XG4gICAgICB3aWR0aDogMTJweDtcbiAgICAgIGhlaWdodDogMTJweDtcbiAgICAgIG1hcmdpbi10b3A6IDRweDtcblxuICAgICAgJi5jdS1ub2RlLWVtcHR5IHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGN1LWFjY2VudC1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZDogJGN1LWJnLWRhcms7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmN1LWNvbC1ub2RlIHtcbiAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgIH1cblxuICAgIC5jdS1jb2wtY29udGVudCB7XG4gICAgICBncmlkLWNvbHVtbjogMjtcbiAgICB9XG5cbiAgICAuY3UtY29sLWVtcHR5IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmN1LWFuc3dlci13cmFwcGVyIC5jdS1jaGF0LXRleHQge1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICB9XG5cbiAgICAuY3UtY2hhdC1tZXRhIHtcbiAgICAgIGNvbG9yOiAkY3UtYWNjZW50LWNvbG9yO1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMS44cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICAgLmN1LWNoYXQtZm9vdGVyLWhpbnQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIHBhZGRpbmctbGVmdDogNDhweDtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgIH1cblxuICAgIC5jdS1oaW50LWRlc2t0b3Age1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuY3UtaGludC1tb2JpbGUge1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgIH1cblxuICAgIC5jdS1uZXctcXVlc3Rpb24taW5wdXQge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgbWluLXdpZHRoOiAyMDBweDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIGFzc2V0cy9zY3NzL3BhZ2VzL2NvbnRhY3QtdXMuc2Nzc1xuLy8gRW50cnkgcG9pbnQg4oCUIGltcG9ydHMgYWxsIENvbnRhY3QgVXMgcGFnZSBzZWN0aW9uIHBhcnRpYWxzLlxuLy8gQ29tcGlsZTogbnB4IHNhc3MgYXNzZXRzL3Njc3MvcGFnZXMvY29udGFjdC11cy5zY3NzOmFzc2V0cy9jc3MvcGFnZXMvY29udGFjdC11cy5jc3MgLS1uby1zb3VyY2UtbWFwIC0tc3R5bGU9ZXhwYW5kZWRcblxuLy8gQHVzZSBtdXN0IGNvbWUgZmlyc3Qg4oCUIGFsbCBydWxlcyBnbyBpbnNpZGUgdGhlIHBhcnRpYWxzXG5AdXNlIFwiLi4vdXRpbHNcIjsgLy8gc2hhcmVkIGliLSBkZXNpZ24gdG9rZW5zICsgLmliLWRlc2t0b3Atb25seSAvIC5pYi1tb2JpbGUtb25seSBoZWxwZXJzXG5AdXNlIFwiLi4vYmFzZVwiOyAgLy8gZ2xvYmFsIHJlc2V0ICsgaHRtbC9ib2R5IGJhc2Ugc3R5bGVzXG5AdXNlIFwiLi4vaGVscGVyc1wiOyAvLyAuaWItbW9iaWxlLW9ubHkgLyAuaWItdGFibGV0LW9ubHkgLyAuaWItbW9iaWxlLXRhYmxldC1vbmx5IC8gLmliLWRlc2t0b3Atb25seSAvIC5pYi1tLXJldmVhbFxuQHVzZSBcIi4uL2J1dHRvbnNcIjsgLy8gc2hhcmVkIGJ1dHRvbiBzeXN0ZW0gKG1vYmlsZSBzaXppbmcg4omkMTAyNHB4KVxuQHVzZSBcIi4vaGVyby1zZWN0aW9uXCI7XG5AdXNlIFwiLi9sb2NhdGlvbnMtc2VjdGlvblwiO1xuQHVzZSBcIi4vZW5xdWlyaWVzLXNlY3Rpb25cIjtcbkB1c2UgXCIuL2NoYXQtc2VjdGlvblwiO1xuXG4vLyDilIDilIAgUGFnZS1sZXZlbCBvdmVycmlkZXMgKGFmdGVyIEB1c2UpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuYm9keS5wYWdlLWNvbnRhY3QtdXMge1xuICBvdmVyZmxvdy14OiBjbGlwO1xufVxuIiwiLy8gYXNzZXRzL3Njc3MvcGFnZXMvbGVhZGVyc2hpcC9fdGVhbS1zZWN0aW9uLnNjc3Ncbi8vIExlYWRlcnNoaXAgVGVhbSDigJQgdGhlIHdob2xlIHBhZ2UgaXMgT05FIHNlY3Rpb246XG4vLyAgIHBhZ2UgdGl0bGUgIOKGkiAgc3RpY2t5IFswMV0vWzAyXS9bMDNdIHJhaWwgICsgIHRlYW0td2lzZSBjYXJkIGdyb3Vwcy5cbi8vIEZpZ21hOiBub2RlIDExODcwOjg3MTIgKGNvbnRlbnQpIOKAlCBoZXJvIDE3MjjDlzQwMywgRGVza3RvcCAxNzI4w5cyNjY0LlxuLy9cbi8vIEdlb21ldHJ5IGlzIHRyYW5zY3JpYmVkIDE6MSBmcm9tIHRoZSAxNzI4cHggY2FudmFzIHZpYSBpYi1yZW0oKTsgX2Jhc2Uuc2Nzc1xuLy8gY2xhbXBzIHRoZSByb290IGZvbnQgKDEwMHZ3LzEwOCDihpIgMTZweCBhdCAxNzI4KSwgc28gZXZlcnkgdmFsdWUgYmVsb3cgc2NhbGVzXG4vLyBwcm9wb3J0aW9uYWxseSBkb3duIHRvIDE1MTJweCBhbmQgdGhlbiBob2xkcy4gTW9iaWxlICjiiaQxMDI0cHgpIHJlc2V0cyB0aGVcbi8vIHJvb3QgdG8gMTAwJSBhbmQgdGhlIGRlZGljYXRlZCBtb2JpbGUgVUkgaW4gdGhpcyBmaWxlIHRha2VzIG92ZXI6IHRoZSByYWlsIGlzXG4vLyByZXBsYWNlZCBieSB0aGUgXCJKdW1wIHRvXCIgc2VsZWN0LlxuXG5AdXNlIFwiLi4vdXRpbHNcIiBhcyAqO1xuXG4ubGQtdGVhbS1zZWN0aW9uIHtcbiAgLy8gU2luZ2xlIHNvdXJjZSBvZiB0cnV0aCBmb3IgaGVhZGVyIGNsZWFyYW5jZSDigJQgdGhlIHN0aWNreSByYWlsIGFuZCB0aGVcbiAgLy8gY2xpY2stdG8tc2Nyb2xsIG9mZnNldCBpbiB0ZWFtLXNlY3Rpb24uanMgYm90aCByZWFkIGl0LlxuICAtLWxkLWhkcjogY2xhbXAoNzJweCwgNS4zMnZ3LCA5MnB4KTsgLy8gOTIvMTcyOCA9IDUuMzJ2d1xuXG4gIGJhY2tncm91bmQ6ICRpYi1iZy1wcmltYXJ5O1xuXG4gIC8vIGhlcm8gYmFuZDogdGl0bGUgdG9wIGF0IHk9MjgxLCBEZXNrdG9wIGNvbnRhaW5lciBib3R0b20gcGFkZGluZyAxOTJcbiAgcGFkZGluZy1ibG9jazogaWItcmVtKDI4MXB4KSBpYi1yZW0oMTkycHgpO1xuXG4gIC8vIOKUgOKUgCBQYWdlIGNvbnRhaW5lciDigJQgMTU2OHB4IGNvbnRlbnQgem9uZSBpbnNpZGUgYSAxNzI4cHggY2FudmFzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAmX19jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogaWItcmVtKDE3MjhweCk7XG4gICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICBwYWRkaW5nLWlubGluZTogaWItcmVtKDgwcHgpO1xuICB9XG5cbiAgLy8g4pSA4pSAIFBhZ2UgdGl0bGUgKHRoZSBvbmx5IHRoaW5nIGFib3ZlIHRoZSB0ZWFtIGdyb3Vwcykg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gICZfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSBpYi10eXBlKFwiZGlzcGxheS13ZWItc21hbGxcIik7IC8vIExleGVuZCAyNTAgwrcgNzIvODggwrcgLTAuMDRlbVxuXG4gICAgY29sb3I6ICRpYi10ZXh0LXByaW1hcnk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLy8gXCJMZWFkZXJzaGlwXCIg4oCUIGdyYWRpZW50L3RleHQgcGFpbnQgc3R5bGUgKGJsdWUg4oaSIGNyaW1zb24pXG4gICZfX3RpdGxlLWFjY2VudCB7XG4gICAgYmFja2dyb3VuZDogJGliLWdyYWRpZW50LXRleHQ7XG4gICAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcHg7XG4gIH1cblxuICAvLyDilIDilIAgVHdvLWNvbHVtbiBzaGVsbDogc3RpY2t5IHJhaWwgfCB0ZWFtIGdyb3VwcyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgLy8gMzM2ICsgOTYgZ3V0dGVyICsgMTEzNiA9IDE1NjggKHRoZSBGaWdtYSBjb250ZW50IHpvbmUpXG4gICZfX2xheW91dCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGliLXJlbSgzMzZweCkgbWlubWF4KDAsIDFmcik7XG4gICAgY29sdW1uLWdhcDogaWItcmVtKDk2cHgpO1xuICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgICBwYWRkaW5nLXRvcDogaWItcmVtKDE5MnB4KTtcbiAgfVxuXG4gIC8vIOKUgOKUgCBTdGlja3kgc2VjdGlvbiByYWlsIChkZXNrdG9wIG9ubHkpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAmX19zaWRlYmFyIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogY2FsYyh2YXIoLS1sZC1oZHIpICsgI3tpYi1yZW0oNDhweCl9KTtcblxuICAgIC8vIEZpZ21hOiAxNnB4IHNwYWNlciwgdGhlbiB0aGUgbmF2IGF0IHk9MzJcbiAgICBwYWRkaW5nLXRvcDogaWItcmVtKDMycHgpO1xuICB9XG5cbiAgJl9fbmF2IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiBpYi1yZW0oOHB4KTsgLy8gNDBweCBpdGVtcyBvbiBhIDQ4cHggcGl0Y2hcbiAgfVxuXG4gICZfX3RhYiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogaWItcmVtKDI0cHgpO1xuICAgIHdpZHRoOiBpYi1yZW0oMjYycHgpO1xuICAgIG1pbi1oZWlnaHQ6IGliLXJlbSg0MHB4KTtcbiAgICBwYWRkaW5nOiBpYi1yZW0oOHB4KSAwO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IDJweCBzb2xpZCAkaWItZ3JheS1jaGFyY29hbDtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAzcHg7XG4gICAgfVxuICB9XG5cbiAgJl9fdGFiLW51bSB7XG4gICAgZmxleC1zaHJpbms6IDA7XG5cbiAgICBAaW5jbHVkZSBpYi10eXBlKFwiYm9keS1zbWFsbFwiKTtcblxuICAgIGNvbG9yOiAkaWItdGV4dC1kaXNhYmxlZDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAuM3MgZWFzZTtcblxuICAgIC5sZC10ZWFtLXNlY3Rpb25fX3RhYi0tYWN0aXZlICYge1xuICAgICAgY29sb3I6ICRpYi1yZWQtYnJhbmQ7XG4gICAgfVxuXG4gICAgLmxkLXRlYW0tc2VjdGlvbl9fdGFiOm5vdCgubGQtdGVhbS1zZWN0aW9uX190YWItLWFjdGl2ZSk6aG92ZXIgJiB7XG4gICAgICBjb2xvcjogJGliLXJlZC1icmFuZDtcbiAgICB9XG4gIH1cblxuICAvLyBMYWJlbHMgYXJlIHJldmVhbGVkIGZvciB0aGUgYWN0aXZlIHRhYiBvbmx5IOKAlCBzYW1lIHRyZWF0bWVudCBhcyB0aGVcbiAgLy8gU2VydmljZU5vdyByYWlsOiBpbmFjdGl2ZSByb3dzIHJlYWQgYXMgYmFyZSBbMDJdIC8gWzAzXSBtYXJrZXJzLlxuICAmX190YWItbGFiZWwge1xuICAgIEBpbmNsdWRlIGliLXR5cGUoXCJib2R5LWxhcmdlXCIsICRpYi1mb250LWJvZHkpO1xuXG4gICAgY29sb3I6ICRpYi1ncmF5LWRlZXA7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zcyBlYXNlO1xuXG4gICAgLmxkLXRlYW0tc2VjdGlvbl9fdGFiLS1hY3RpdmUgJiB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIC5sZC10ZWFtLXNlY3Rpb25fX3RhYjpub3QoLmxkLXRlYW0tc2VjdGlvbl9fdGFiLS1hY3RpdmUpOmhvdmVyICYge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cblxuICAvLyDilIDilIAgVGVhbSBncm91cHMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gICZfX2dyb3VwcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogaWItcmVtKDExMnB4KTsgLy8gRmlnbWE6IGdyb3VwIDEgZW5kcyAxMDg0LCBncm91cCAyIHN0YXJ0cyAxMTk2XG4gIH1cblxuICAvLyBzY3JvbGwtbWFyZ2luIGtlZXBzIHRoZSBmaXhlZCBoZWFkZXIgb2ZmIHRoZSBoZWFkaW5nIHdoZW4gdGhlIHJhaWwgb3IgdGhlXG4gIC8vIHNlbGVjdCBzY3JvbGxzIHRvIGEgZ3JvdXAgKEpTIHVzZXMgbmF0aXZlIHNjcm9sbEludG9WaWV3IHNlbWFudGljcykuXG4gICZfX2dyb3VwIHtcbiAgICBzY3JvbGwtbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1sZC1oZHIpICsgI3tpYi1yZW0oNDhweCl9KTtcbiAgfVxuXG4gICZfX2dyb3VwLXRpdGxlIHtcbiAgICBAaW5jbHVkZSBpYi10eXBlKFwiaGVhZGxpbmUtbW9iaWxlLWxhcmdlXCIpO1xuXG4gICAgY29sb3I6ICRpYi10ZXh0LXByaW1hcnk7XG4gICAgbWFyZ2luLWJvdHRvbTogaWItcmVtKDMycHgpO1xuICB9XG5cbiAgJl9fZ3JvdXAtdGl0bGUtYWNjZW50IHtcbiAgICBjb2xvcjogJGliLXJlZC1icmFuZDtcbiAgfVxuXG4gIC8vIDMgw5cgMzIxcHggdHJhY2tzIHdpdGggYSAzMnB4IGd1dHRlciDigJQgbGVmdC1hbGlnbmVkIGluc2lkZSB0aGUgMTEzNnB4XG4gIC8vIGNvbHVtbiBleGFjdGx5IGFzIHRoZSBGaWdtYSBmcmFtZSBsYXlzIHRoZW0gb3V0LiBtaW5tYXgoMCwg4oCmKSBsZXRzIHRoZVxuICAvLyB0cmFja3Mgc2hyaW5rIGluc3RlYWQgb2Ygb3ZlcmZsb3dpbmcgb25jZSB0aGUgY29sdW1uIGdldHMgbmFycm93ZXIuXG4gICZfX2dyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWlubWF4KDAsICN7aWItcmVtKDMyMXB4KX0pKTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICAgIGdhcDogaWItcmVtKDMycHgpO1xuICB9XG5cbiAgLy8g4pSA4pSAIE1lbWJlciBjYXJkIOKAlCBhIHJlYWwgPGJ1dHRvbj46IGl0IG9wZW5zIHRoZSBwcm9maWxlIGRyYXdlciDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgJl9fY2FyZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICBAaW5jbHVkZSBpYi1yZXZlYWwoMjRweCwgJGliLWJwLXRhYmxldCk7XG5cbiAgICAvLyBSb3cgc3RhZ2dlciDigJQgc2NvcGVkIHRvIHRoZSBzYW1lIGJhbmQgYXMgdGhlIGhpZGUtc3RhdGUgYWJvdmUgc28gbW9iaWxlXG4gICAgLy8gbmV2ZXIgaW5oZXJpdHMgYSBkZWxheS4gS2V5ZWQgb2ZmIHRoZSBjb2x1bW4gcG9zaXRpb24gKDMtdXAgZ3JpZCksIHNvIGFcbiAgICAvLyBsb25nIGdyb3VwJ3MgbGFzdCByb3cgaXMgbmV2ZXIgbGVmdCB3YWl0aW5nIGJlaGluZCB0aGUgcm93cyBhYm92ZSBpdC5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogY2FsYygkaWItYnAtdGFibGV0ICsgMXB4KSkge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAzIHtcbiAgICAgICAgJjpudGgtY2hpbGQoM24gKyAjeyRpfSkge1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6ICN7KCRpIC0gMSkgKiAuMDh9cztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lOiAycHggc29saWQgJGliLWdyYXktY2hhcmNvYWw7XG4gICAgICBvdXRsaW5lLW9mZnNldDogNnB4O1xuICAgIH1cbiAgfVxuXG4gIC8vIE5vdGNoZWQgcGhvdG8gcGxhdGUg4oCUIGN1dCB0b3AtbGVmdCAvIGJvdHRvbS1yaWdodCwgc2FtZSBjYXJkIGxhbmd1YWdlIGFzXG4gIC8vIHRoZSByZXN0IG9mIHRoZSBzaXRlLiBQbGFjZWhvbGRlciBmaWxsIGlzIHRoZSBQQUdFIGNvbG91ciwgbm90IGNoYXJjb2FsOlxuICAvLyBjbGlwLXBhdGggYW50aS1hbGlhc2VzIHRoZSBkaWFnb25hbCBjdXQgc3ViLXBpeGVsLCBhbmQgYW55IHJvdW5kaW5nIGdhcFxuICAvLyBiZXR3ZWVuIHRoZSBjbGlwcGVkIGJveCBhbmQgdGhlIGNvdmVyLWZpdCA8aW1nPiBleHBvc2VzIHRoaXMgbGF5ZXIgYXMgYVxuICAvLyAxcHggaGFpcmxpbmUg4oCUIGNyZWFtIHJlYWRzIGFzIGEgc29mdCBlZGdlIG9uIHRoZSBwaG90byAvIGludmlzaWJsZSBhZ2FpbnN0XG4gIC8vIHRoZSBwYWdlLCB3aGVyZSBhIGRhcmsgZmlsbCByZWFkIGFzIGEgaGFyZCBsaW5lIChzYW1lIGZpeCBhcyB0aGUgcHJvZmlsZVxuICAvLyBkcmF3ZXIncyBpbnNldCBiYW5kKS5cbiAgJl9fY2FyZC1tZWRpYSB7XG4gICAgQGluY2x1ZGUgaWItbm90Y2goaWItcmVtKDIwcHgpLCBpYi1yZW0oMjBweCkpO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGFzcGVjdC1yYXRpbzogMzIxIC8gNDA3O1xuICAgIGJhY2tncm91bmQ6ICRpYi1iZy1wcmltYXJ5O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAmX19jYXJkLXBob3RvIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXIgdG9wO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNnMgY3ViaWMtYmV6aWVyKC4xNiwgMSwgLjMsIDEpO1xuXG4gICAgLmxkLXRlYW0tc2VjdGlvbl9fY2FyZDpob3ZlciAmIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNCk7XG4gICAgfVxuICB9XG5cbiAgJl9fY2FyZC1uYW1lIHtcbiAgICBAaW5jbHVkZSBpYi10eXBlKFwiaGVhZGxpbmUtbW9iaWxlLW1lZGl1bVwiKTsgLy8gTGV4ZW5kIDUwMCDCtyAyNC8zNFxuXG4gICAgY29sb3I6ICRpYi10ZXh0LXByaW1hcnk7XG4gICAgbWFyZ2luLXRvcDogaWItcmVtKDI0cHgpOyAvLyBwaG90byBib3R0b20gNDA3IOKGkiBuYW1lIHRleHQgdG9wIDQzMVxuICAgIHRyYW5zaXRpb246IGNvbG9yIC4zcyBlYXNlO1xuXG4gICAgLmxkLXRlYW0tc2VjdGlvbl9fY2FyZDpob3ZlciAmIHtcbiAgICAgIGNvbG9yOiAkaWItcmVkLWJyYW5kO1xuICAgIH1cbiAgfVxuXG4gICZfX2NhcmQtcm9sZSB7XG4gICAgQGluY2x1ZGUgaWItdHlwZShcImxhYmVsLWV4dHJhLXNtYWxsXCIsICRpYi1mb250LWJvZHkpOyAvLyAxMi8xOCDCtyAxLjJweCDCtyBVUFBFUlxuXG4gICAgY29sb3I6ICRpYi10ZXh0LXNlY29uZGFyeTtcbiAgICBtYXJnaW4tdG9wOiBpYi1yZW0oOHB4KTtcbiAgfVxuXG4gIC8vIOKUgOKUgCBTY3JlZW4gKOKJpDE0MDBweCkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIC8vIFRoZSByYWlsIGtlZXBzIGl0cyByZW0gd2lkdGggKHJvb3QgZm9udCBpcyBhbHJlYWR5IHNocmlua2luZykg4oCUIG9ubHkgdGhlXG4gIC8vIGd1dHRlciB0aWdodGVucyBzbyB0aGUgY2FyZCBjb2x1bW4ga2VlcHMgaXRzIHRocmVlIHRyYWNrcyBsb25nZXIuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8oJGliLWJwLWRlc2t0b3ApIHtcbiAgICAmX19sYXlvdXQge1xuICAgICAgY29sdW1uLWdhcDogaWItcmVtKDU2cHgpO1xuICAgIH1cbiAgfVxuXG4gIC8vIOKUgOKUgCBTY3JlZW4gKOKJpDEyMDBweCkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIC8vIFRoZSByYWlsIHN0aWxsIG93bnMgfjM0MHB4IG9mIHRoZSByb3cgaGVyZSwgd2hpY2ggc3F1ZWV6ZXMgdGhyZWUgMzIxcHhcbiAgLy8gdHJhY2tzIGJlbG93IGEgcmVhZGFibGUgcG9ydHJhaXQgd2lkdGgg4oCUIGRyb3AgdG8gdHdvIHdoaWxlIGl0J3Mgb24gc2NyZWVuLlxuICBAaW5jbHVkZSByZXNwb25kLXRvKCRpYi1icC1sYXB0b3ApIHtcbiAgICAmX19sYXlvdXQge1xuICAgICAgY29sdW1uLWdhcDogaWItcmVtKDQwcHgpO1xuICAgIH1cblxuICAgICZfX2dyaWQge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsICN7aWItcmVtKDMyMXB4KX0pKTtcbiAgICB9XG4gIH1cblxuICAvLyDilIDilIAgU2NyZWVuICjiiaQxMDI0cHgpIOKAlCByYWlsIG91dCwgXCJKdW1wIHRvXCIgc2VsZWN0IGluIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICBAaW5jbHVkZSByZXNwb25kLXRvKCRpYi1icC10YWJsZXQpIHtcbiAgICBwYWRkaW5nLWJsb2NrOiBpYi1yZW0oMTQwcHgpIGliLXJlbSg3MnB4KTtcblxuICAgICZfX2NvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLWlubGluZTogaWItcmVtKDIwcHgpO1xuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgIEBpbmNsdWRlIGliLXR5cGUoXCJkaXNwbGF5LW1vYmlsZS1tZWRpdW1cIik7IC8vIDQwLzQ0XG5cbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG4gICAgJl9fbGF5b3V0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZy10b3A6IGliLXJlbSg2NHB4KTtcbiAgICB9XG5cbiAgICAmX19ncm91cHMge1xuICAgICAgZ2FwOiBpYi1yZW0oNjRweCk7XG4gICAgfVxuXG4gICAgJl9fZ3JvdXAge1xuICAgICAgc2Nyb2xsLW1hcmdpbi10b3A6IGliLXJlbSg5NnB4KTtcbiAgICB9XG5cbiAgICAmX19ncm91cC10aXRsZSB7XG4gICAgICBAaW5jbHVkZSBpYi10eXBlKFwiaGVhZGxpbmUtbW9iaWxlLWxhcmdlXCIpOyAvLyAyOC8zOFxuXG4gICAgICBtYXJnaW4tYm90dG9tOiBpYi1yZW0oMjRweCk7XG4gICAgfVxuXG4gICAgJl9fZ3JpZCB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgICBnYXA6IGliLXJlbSgzMnB4KSBpYi1yZW0oMjBweCk7XG4gICAgfVxuXG4gICAgJl9fY2FyZC1uYW1lIHtcbiAgICAgIEBpbmNsdWRlIGliLXR5cGUoXCJoZWFkbGluZS1tb2JpbGUtc21hbGxcIik7IC8vIDIwLzI4XG5cbiAgICAgIG1hcmdpbi10b3A6IGliLXJlbSgxNnB4KTtcbiAgICB9XG5cbiAgICAmX19jYXJkLXJvbGUge1xuICAgICAgbWFyZ2luLXRvcDogaWItcmVtKDZweCk7XG4gICAgfVxuICB9XG5cbiAgLy8g4pSA4pSAIFNjcmVlbiAo4omkNzY4cHgpIOKAlCB0d28tdXAgY2FyZCBncmlkIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICBAaW5jbHVkZSByZXNwb25kLXRvKCRpYi1icC1tb2JpbGUpIHtcbiAgICBwYWRkaW5nLWJsb2NrOiBpYi1yZW0oMTQwcHgpIGliLXJlbSg1NnB4KTtcblxuICAgICZfX3RpdGxlIHtcbiAgICAgIEBpbmNsdWRlIGliLXR5cGUoXCJkaXNwbGF5LW1vYmlsZS1zbWFsbFwiKTsgLy8gMzIvMzhcbiAgICB9XG5cbiAgICAmX19ncmlkIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcbiAgICAgIGdhcDogaWItcmVtKDMycHgpIGliLXJlbSgxMnB4KTtcbiAgICB9XG5cbiAgICAmX19jYXJkLW1lZGlhIHtcbiAgICAgIEBpbmNsdWRlIGliLW5vdGNoKGliLXJlbSgyMHB4KSwgaWItcmVtKDIwcHgpKTtcbiAgICB9XG5cbiAgICAmX19jYXJkLW5hbWUge1xuICAgICAgQGluY2x1ZGUgaWItdHlwZShcInRpdGxlLWxhcmdlXCIpOyAvLyAxOC8zMFxuICAgIH1cbiAgfVxufVxuIiwiLy8gYXNzZXRzL3Njc3MvcGFnZXMvbGVhZGVyc2hpcC9fcHJvZmlsZS1kcmF3ZXIuc2Nzc1xuLy8gTGVhZGVyIHByb2ZpbGUgZHJhd2VyIOKAlCByaWdodC1hbmNob3JlZCBzbGlkZS1pbiBwYW5lbCBvcGVuZWQgYnkgYSB0ZWFtIGNhcmQuXG4vLyBHZW9tZXRyeSwgbW90aW9uIGFuZCBzY3JvbGwtbG9jayBtaXJyb3IgLnNuLXRhbGstZHJhd2VyIChfdGFsay1kcmF3ZXIuc2Nzcyk6XG4vLyAzMHB4IGluc2V0IGZyb20gdG9wL3JpZ2h0L2JvdHRvbSwgaWItbm90Y2ggY2xpcHBlZCB0b3AtbGVmdCArIGJvdHRvbS1yaWdodCxcbi8vIGRhcmsgc2NyaW0gYmVoaW5kLCAuaXMtb3BlbiB0b2dnbGVkIGJ5IHByb2ZpbGUtZHJhd2VyLmpzLiBPbmx5IHRoZSBjb250ZW50c1xuLy8gZGlmZmVyIOKAlCBhIGZ1bGwtYmxlZWQgcG9ydHJhaXQgb24gdGhlIGxlZnQsIGNyZWFtIGRldGFpbCBjb2x1bW4gb24gdGhlIHJpZ2h0LlxuXG5AdXNlIFwiLi4vdXRpbHNcIiBhcyAqO1xuXG4vLyBDcmVhbSBpbnNldCBmcmFtaW5nIHRoZSBwb3J0cmFpdC4gVGhlIHBhbmVsJ3Mgbm90Y2ggY3V0cyB0aHJvdWdoIHRoaXMgYmFuZCxcbi8vIHNvIHRoZSBjaGFtZmVyIHJlYWRzIGFzIGEgY3JlYW0gZWRnZSBvbiB0aGUgcGhvdG8gcmF0aGVyIHRoYW4gdGhlIHBhbmVsJ3Ncbi8vIGZpbGwgbGVha2luZyBwYXN0IGl0IOKAlCB3aGljaCBpcyBhbHNvIHdoYXQga2lsbHMgdGhlIGhhaXJsaW5lIHRoZSBjbGlwLXBhdGhcbi8vIG1hc2sgdXNlZCB0byBleHBvc2UgYWxvbmcgdGhlIG5vdGNoIGFuZCB0aGUgbGVmdCBlZGdlLlxuJF9waG90by1pbnNldDogNHB4O1xuXG4vLyBUb3AtbGVmdCBjaGFtZmVyIG9ubHkuIGliLW5vdGNoKCkgY3V0cyB0b3AtbGVmdCBBTkQgYm90dG9tLXJpZ2h0LCBidXQgb24gdGhpc1xuLy8gcGFuZWwgdGhlIGJvdHRvbS1yaWdodCBjb3JuZXIgYmVsb25ncyB0byB0aGUgY3JlYW0gZGV0YWlsIGNvbHVtbiDigJQgdGhlXG4vLyBwb3J0cmFpdCBzaXRzIG9uIHRoZSBvcHBvc2l0ZSBzaWRlIGFuZCBtdXN0IGNhcnJ5IHRoZSB0b3AtbGVmdCBjdXQgYWxvbmUuXG5AbWl4aW4gX25vdGNoLXRsKCRjdXQpIHtcbiAgY2xpcC1wYXRoOiBwb2x5Z29uKCN7JGN1dH0gMCwgMTAwJSAwLCAxMDAlIDEwMCUsIDAgMTAwJSwgMCAjeyRjdXR9KTtcbn1cblxuLmxkLXByb2ZpbGUtZHJhd2VyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBpbnNldDogMDtcbiAgei1pbmRleDogMTIwMDtcblxuICAvLyBHYXRlIOKAlCBpbnZpc2libGUgYW5kIG5vbi1pbnRlcmFjdGl2ZSB1bnRpbCBvcGVuZWQuIFZpc2liaWxpdHkgZmxpcHMgYWZ0ZXJcbiAgLy8gdGhlIHBhbmVsIGZpbmlzaGVzIHNsaWRpbmcgb3V0IHNvIHRoZSBleGl0IG1vdGlvbiBzdGF5cyB2aXNpYmxlLlxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IHZpc2liaWxpdHkgMHMgbGluZWFyIC41cztcblxuICAmLmlzLW9wZW4ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gIH1cblxuICAvLyDilIDilIAgRGFyayBzY3JpbSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgJl9fb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoJGliLWRhcmssIC43NSk7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC41cyBjdWJpYy1iZXppZXIoLjE2LCAxLCAuMywgMSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgJi5pcy1vcGVuICZfX292ZXJsYXkge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAvLyDilIDilIAgU2xpZGluZyBwYW5lbCDigJQgcGhvdG8gfCBkZXRhaWwg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIC8vIEZpeGVkLCBkZWZpbml0ZSBoZWlnaHQg4oCUIE5PVCBwaW5uZWQgdG9wK2JvdHRvbSB0byB0aGUgdmlld3BvcnQgKHdoaWNoXG4gIC8vIHN0cmV0Y2hlZCB0aGUgcGFuZWwgdG8gfjEwMHZoIGFuZCBsZXQgdGhlIGNvdmVyLWZpdCBwaG90byBlYXQgdGhlIHNwYXJlXG4gIC8vIGhlaWdodCBieSBjcm9wcGluZyB0aGUgZmFjZSkgYW5kIE5PVCBhdXRvICh3aGljaCBsZWZ0IHRoZSBncmlkIHJvd1xuICAvLyBpbmRlZmluaXRlLCBzbyAmX19ib2R5IG5ldmVyIHNjcm9sbGVkIGFuZCBhIGxvbmcgYmlvIHdhcyBjbGlwcGVkIGJ5IHRoZVxuICAvLyBwYW5lbCdzIG1heC1oZWlnaHQpLiBBIGRlZmluaXRlIGhlaWdodCBnaXZlcyB0aGUgcGhvdG8gYSBzdGFibGUgYm94IHRvXG4gIC8vIGNvdmVyIGFuZCBtYWtlcyAmX19ib2R5IGEgcmVhbCBzY3JvbGwgY29udGFpbmVyLiBDYXBwZWQgYXQgdGhlIHZpZXdwb3J0IGZvclxuICAvLyBzaG9ydCB3aW5kb3dzLiBWZXJ0aWNhbCBjZW50cmluZyBpcyB0aGUgc3RhdGljIGB0cmFuc2xhdGVgIHByb3BlcnR5IHNvIHRoZVxuICAvLyBzbGlkZS1pbiBgdHJhbnNmb3JtYCAoYW5kIGl0cyAuaXMtb3BlbiB0b2dnbGUpIHN0YXlzIHVudG91Y2hlZC5cbiAgJl9fcGFuZWwge1xuICAgIEBpbmNsdWRlIGliLW5vdGNoKGliLXJlbSgyNHB4KSwgaWItcmVtKDI0cHgpKTtcblxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogaWItcmVtKDMwcHgpO1xuICAgIHRyYW5zbGF0ZTogMCAtNTAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogaWItcmVtKDkwMHB4KTtcbiAgICBoZWlnaHQ6IG1pbigje2liLXJlbSg3MDBweCl9LCBjYWxjKDEwMHZoIC0gI3tpYi1yZW0oNjBweCl9KSk7IC8vIG5vLWR2aCBmYWxsYmFja1xuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBkZWNsYXJhdGlvbi1ibG9jay1uby1kdXBsaWNhdGUtcHJvcGVydGllcyAqL1xuICAgIGhlaWdodDogbWluKCN7aWItcmVtKDcwMHB4KX0sIGNhbGMoMTAwZHZoIC0gI3tpYi1yZW0oNjBweCl9KSk7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDU1JSA0NSU7IC8vIEZpZ21hOiA0OTMgLyA0MDAgb2YgYSA4OTNweCBwYW5lbFxuICAgIGJhY2tncm91bmQ6ICRpYi1iZy1zZWNvbmRhcnk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNXMgY3ViaWMtYmV6aWVyKC4xNiwgMSwgLjMsIDEpO1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gIH1cblxuICAmLmlzLW9wZW4gJl9fcGFuZWwge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAvLyDilIDilIAgUG9ydHJhaXQgY29sdW1uIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAvLyBDcmVhbSwgbm90IHRoZSBkYXJrIGNhcmQgcGxhY2Vob2xkZXI6IHRoaXMgZmlsbCBpcyB3aGF0IHNob3dzIGluIHRoZSBiYW5kXG4gIC8vIHRoZSBub3RjaCBjdXRzIGFjcm9zcyBhdCB0aGUgdG9wLWxlZnQsIHNvIGl0IGhhcyB0byBtYXRjaCB0aGUgcGFuZWwuXG4gIC8vIEdsb2JhbCBib3gtc2l6aW5nOiBib3JkZXItYm94IGtlZXBzIHRoZSBwaG90bydzIDEwMCUvMTAwJSBpbnNpZGUgdGhlIGluc2V0LlxuICAmX19tZWRpYSB7XG4gICAgQGluY2x1ZGUgX25vdGNoLXRsKGliLXJlbSgzMHB4KSk7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLy8gTm8gYXNwZWN0LXJhdGlvIGhlcmU6IGl0IG1hZGUgdGhlIGNvbHVtbiBrZWVwIGl0cyBvd24gaGVpZ2h0IGluc3RlYWQgb2ZcbiAgICAvLyBzdHJldGNoaW5nIHRvIHRoZSBncmlkIHJvdywgc28gYSB0YWxsIGJpbyBsZWZ0IGJsYW5rIGNyZWFtIGJlbG93IHRoZVxuICAgIC8vIHBob3RvLiBUaGUgY29sdW1uIG5vdyBmaWxscyB0aGUgcGFuZWwncyBkZWZpbml0ZSBoZWlnaHQ7IHRoZSB+NTUlIHdpZHRoXG4gICAgLy8gdnMgYSBzcXVhcmUgNjQww5c2NDAgc291cmNlIG1lYW5zIGNvdmVyIHRyaW1zIHRoZSBzaWRlcywgbm90IHRoZSBmYWNlLlxuICAgIHBhZGRpbmc6ICRfcGhvdG8taW5zZXQ7XG4gICAgYmFja2dyb3VuZDogJGliLWJnLXNlY29uZGFyeTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgJl9fcGhvdG8ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAvLyBGYXZvdXIgdGhlIGZhY2UgaWYgYSBzaG9ydCB2aWV3cG9ydCBldmVyIG1ha2VzIHRoZSBib3ggd2lkZXIgdGhhbiB0aGVcbiAgICAvLyBzcXVhcmUgc291cmNlIGFuZCBjb3ZlciBoYXMgdG8gdHJpbSB0b3AvYm90dG9tLlxuICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyIDI1JTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8vIOKUgOKUgCBEZXRhaWwgY29sdW1uIOKAlCBjb250ZW50IHNpdHMgYXQgdGhlIGJvdHRvbSwgcGVyIHRoZSBtb2NrdXAg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIC8vIEJvdHRvbS1hbmNob3JpbmcgaXMgZG9uZSB3aXRoIG1hcmdpbi10b3A6IGF1dG8gb24gdGhlIGZpcnN0IGNoaWxkLCBOT1RcbiAgLy8ganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZC4gSW4gYSBzY3JvbGxpbmcgZmxleCBjb2x1bW4sIGZsZXgtZW5kIHB1c2hlc1xuICAvLyBvdmVyZmxvd2luZyBjb250ZW50IG91dCBwYXN0IHRoZSAqc3RhcnQqIGVkZ2UsIHdoZXJlIHRoZSBzY3JvbGwgcmFuZ2UgY2FuXG4gIC8vIG5ldmVyIHJlYWNoIGl0IOKAlCBhIGxvbmcgYmlvIHB1c2hlZCB0aGUgbmFtZSB1cCB1bmRlciB0aGUgcGFuZWwncyB0b3AgZWRnZVxuICAvLyBhbmQgbGVmdCBpdCB1bnNjcm9sbGFibGUuIEFuIGF1dG8gbWFyZ2luIGNvbGxhcHNlcyB0byAwIHRoZSBtb21lbnQgY29udGVudFxuICAvLyBleGNlZWRzIHRoZSBjb2x1bW4sIHNvIHRoZSBzdGFjayBzaW1wbHkgc3RhcnRzIGF0IHRoZSB0b3AgYW5kIHNjcm9sbHMuXG4gICZfX2JvZHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IGliLXNwYWNlKDE2KTtcblxuICAgIC8vIFRvcCBwYWRkaW5nIGNsZWFycyB0aGUgY2xvc2UgYnV0dG9uICgyNHB4IGluc2V0ICsgNDhweCB0YWxsKSBzbyBhXG4gICAgLy8gc2Nyb2xsZWQtdG8tdG9wIG5hbWUgbmV2ZXIgc2xpZGVzIHVuZGVybmVhdGggaXQuXG4gICAgcGFkZGluZzogaWItc3BhY2UoOTYpIGliLXNwYWNlKDQwKSBpYi1zcGFjZSg0OCkgaWItc3BhY2UoMTYpO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjtcbiAgfVxuXG4gICZfX25hbWUge1xuICAgIEBpbmNsdWRlIGliLXR5cGUoXCJkaXNwbGF5LW1vYmlsZS1tZWRpdW1cIik7XG5cbiAgICAvLyBBYnNvcmJzIHRoZSBmcmVlIHNwYWNlIHdoaWxlIHRoZXJlIGlzIGFueSDigJQgc2VlIF9fYm9keSBhYm92ZVxuICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgY29sb3I6ICRpYi10ZXh0LXByaW1hcnk7XG4gIH1cblxuICAmX19yb2xlIHtcbiAgICBAaW5jbHVkZSBpYi10eXBlKFwiaGVhZGxpbmUtbW9iaWxlLXNtYWxsXCIpO1xuXG4gICAgY29sb3I6ICRpYi10ZXh0LXByaW1hcnk7XG4gIH1cblxuICAvLyDilIDilIAgRGV0YWlsIGJsb2NrcyDigJQgV09XIE1vbWVudCAvIEFpbXMgdG8gLyBQaGlsb3NvcGh5IOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAvLyBDbG9uZWQgaW4gZnJvbSB0aGUgY2xpY2tlZCBjYXJkJ3MgPHRlbXBsYXRlPi4gVGhyZWUgcGVvcGxlIG9uIHRoZSBzb3VyY2VcbiAgLy8gcGFnZSBoYXZlIG5vbmUsIHNvIHRoZSB3aG9sZSBzdGFjayBpcyBbaGlkZGVuXSByYXRoZXIgdGhhbiBsZWZ0IGFzIGFuXG4gIC8vIGVtcHR5IGdhcCDigJQgZGlzcGxheTpmbGV4IGhhcyB0byBiZSByZXN0YXRlZCBmb3IgdGhhdCB0byB0YWtlIGVmZmVjdC5cbiAgJl9fZGV0YWlscyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogaWItc3BhY2UoMjQpO1xuXG4gICAgJltoaWRkZW5dIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJl9fZGV0YWlsLWxhYmVsIHtcbiAgICBAaW5jbHVkZSBpYi10eXBlKFwiaGVhZGxpbmUtbW9iaWxlLXNtYWxsXCIpOyAvLyBMZXhlbmQgNDAwIMK3IDIwLzI4XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiBpYi1zcGFjZSg4KTtcbiAgICBjb2xvcjogJGliLXRleHQtcHJpbWFyeTtcbiAgICBtYXJnaW4tYm90dG9tOiBpYi1zcGFjZSg4KTtcbiAgfVxuXG4gIC8vIFdPVyBsb2NrdXAgc2l0dGluZyBpbmxpbmUgaW4gdGhlIFwiTW9tZW50XCIgbGFiZWwuIEhlaWdodC1sb2NrZWQgd2l0aCB3aWR0aFxuICAvLyBhdXRvIHNvIHRoZSBhc3BlY3QgcmF0aW8gcmlkZXMgdGhlIHR5cGUgc2l6ZSBpbnN0ZWFkIG9mIHRoZSBsYXlvdXQuXG4gICZfX3dvdyB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBpYi1yZW0oMjJweCk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmX19kZXRhaWwtdGV4dCB7XG4gICAgQGluY2x1ZGUgaWItdHlwZShcImJvZHktc21hbGxcIiwgJGliLWZvbnQtYm9keSk7XG5cbiAgICBjb2xvcjogJGliLXRleHQtc2Vjb25kYXJ5O1xuICB9XG5cbiAgLy8g4pSA4pSAIFNvY2lhbCByb3cg4oCUIHRoZSBmb290ZXIncyAuc29jaWFsLWljb25zIGJsb2NrIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAvLyBmb290ZXIuY3NzIHNjb3BlcyBpdHMgb3duIC5zb2NpYWwtaWNvbnMgcnVsZXMgdG8gLmV4cG9uYS1mb290ZXItcGFyZW50LCBzb1xuICAvLyBub3RoaW5nIHJlYWNoZXMgdGhpcyBpbnN0YW5jZTogdGhlIGxheW91dCBpcyByZXN0YXRlZCBoZXJlIGFuZCByZWNvbG91cmVkXG4gIC8vIGZvciBhIGNyZWFtIHBhbmVsICh0aGUgZm9vdGVyJ3MgaWNvbnMgc2l0IG9uIGRhcmspLiBUaGUgc3ByaXRlIHN5bWJvbHMgYWxsXG4gIC8vIHN0cm9rZSB3aXRoIGN1cnJlbnRDb2xvciwgc28gYGNvbG9yYCBpcyB0aGUgb25seSBsZXZlciBuZWVkZWQuXG4gIC8vIEljb25zIGEgcGVyc29uIGRvZXNuJ3QgaGF2ZSBhcmUgW2hpZGRlbl0gYnkgcHJvZmlsZS1kcmF3ZXIuanMg4oCUIGZsZXggd291bGRcbiAgLy8gb3RoZXJ3aXNlIG92ZXJyaWRlIHRoZSBVQSdzIGRpc3BsYXk6bm9uZSBhbmQgbGF5IHRoZW0gb3V0IGFueXdheS5cbiAgJl9fc29jaWFsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiBpYi1zcGFjZSgxNik7XG4gICAgbWFyZ2luLXRvcDogaWItc3BhY2UoOCk7XG5cbiAgICAvLyBTYW1lIHJlYXNvbiBhcyB0aGUgbGlua3MgYmVsb3c6IGRpc3BsYXk6ZmxleCBvdXRyYW5rcyB0aGUgVUEnc1xuICAgIC8vIFtoaWRkZW5dIHsgZGlzcGxheTogbm9uZSB9LCBzbyBpdCBoYXMgdG8gYmUgcmVzdGF0ZWQuXG4gICAgJltoaWRkZW5dIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBjb2xvcjogJGliLWljb24tcHJpbWFyeTtcbiAgICAgIG9wYWNpdHk6IC43O1xuICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgY29sb3IgLjNzLFxuICAgICAgICBvcGFjaXR5IC4zcztcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkaWItcmVkLWJyYW5kO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgICBvdXRsaW5lOiAycHggc29saWQgJGliLXJlZC1icmFuZDtcbiAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDRweDtcbiAgICAgIH1cblxuICAgICAgJltoaWRkZW5dIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyDilIDilIAgQ2xvc2UgYnV0dG9uIOKAlCBiYXJlIGNoYXJjb2FsIFggcGlubmVkIHRvcC1yaWdodCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgJl9fY2xvc2UuaWItYnRuIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBpYi1zcGFjZSgyNCk7XG4gICAgcmlnaHQ6IGliLXNwYWNlKDI0KTtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgLy8gQmFyZSB2YXJpYW50IHRva2VucyDigJQgbm8gZmlsbCwgbm8gYm9yZGVyLCBubyBwZWFjaCBkZXB0aCBibG9ja1xuICAgIC0tX2JnOiB0cmFuc3BhcmVudDtcbiAgICAtLV9iZy1wcmVzczogdHJhbnNwYXJlbnQ7XG4gICAgLS1fY29sb3I6ICN7JGliLWZpbGwtcHJpbWFyeX07XG4gICAgLS1fYm9yZGVyOiB0cmFuc3BhcmVudDtcbiAgICAtLV9zaGFkb3c6IHRyYW5zcGFyZW50O1xuXG4gICAgLy8gUmF3IHB4LCBub3QgaWItcmVtIOKAlCB0aGUgc2hhcmVkIGJ1dHRvbiBzeXN0ZW0gaXMgYSBmaXhlZCBjb250cm9sIHNpemVcbiAgICAvLyBwZXIgRmlnbWEgc3BlYyBhbmQgbXVzdCBub3QgcmlkZSB0aGUgcGFnZSdzIHJvb3QtZm9udCBjbGFtcC5cbiAgICB3aWR0aDogNDhweDtcbiAgICBoZWlnaHQ6IDQ4cHg7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5pYi1idG5fX2lubmVyIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGNsaXAtcGF0aDogbm9uZTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmZvY3VzLXZpc2libGUgLmliLWJ0bl9faW5uZXIsXG4gICAgJjphY3RpdmU6bm90KDpkaXNhYmxlZCkgLmliLWJ0bl9faW5uZXIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLy8gI2ljb24tbWVudS1vcGVuIGhhcmRjb2RlcyBzdHJva2U9XCIjRTZFNkVEXCIgb24gaXRzIDxsaW5lPnMsIGFuZCBhXG4gICAgLy8gcHJlc2VudGF0aW9uIGF0dHJpYnV0ZSBpbnNpZGUgYSA8dXNlPiBzaGFkb3cgdHJlZSBpcyBvdXQgb2YgcmVhY2ggZm9yXG4gICAgLy8gQ1NTLiBGaWx0ZXIgaXMgdGhlIG9ubHkgbGV2ZXI6IDAuMjQgYnJpZ2h0bmVzcyBtYXBzIGl0IHRvIH4jMzczNzM5LlxuICAgIC5pYi1pY29uIHtcbiAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcyguMjQpO1xuICAgICAgb3BhY2l0eTogLjY7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKC4xNiwgMSwgLjMsIDEpO1xuICAgIH1cblxuICAgICY6aG92ZXIgLmliLWljb24sXG4gICAgJjpmb2N1cy12aXNpYmxlIC5pYi1pY29uIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5cbiAgLy8g4pSA4pSAIFNjcmVlbiAo4omkMTAyNHB4KSDigJQgZnVsbC1ibGVlZCBzaGVldCwgcG9ydHJhaXQgc3RhY2tlZCBvbiB0b3Ag4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8oJGliLWJwLXRhYmxldCkge1xuICAgIC8vIEZsZXggY29sdW1uLCBub3QgZ3JpZCDigJQgYW5kIHRoZSBib2R5IHN0YXlzIHRoZSBzY3JvbGxlciBleGFjdGx5IGFzIGl0IGlzXG4gICAgLy8gb24gZGVza3RvcCwgcmF0aGVyIHRoYW4gdGhlIHBhbmVsIHRha2luZyB0aGF0IGpvYi4gTWFraW5nIHRoZSBwYW5lbFxuICAgIC8vIHNjcm9sbCBpbnN0ZWFkIG1lYW50IHRoZSBwaG90byBzY3JvbGxlZCBhd2F5IHdpdGggdGhlIHRleHQgYW5kIGxlZnQgdGhlXG4gICAgLy8gZ3JpZCdzIHJvdyBzaXppbmcgKGF1dG8gdnMgMWZyLCBhbGlnbi1jb250ZW50KSBkZWNpZGluZyB3aGV0aGVyIGFueXRoaW5nXG4gICAgLy8gd2FzIHJlYWNoYWJsZSBhdCBhbGwuIE9uZSBzY3JvbGwgbW9kZWwgZm9yIGJvdGggYnJlYWtwb2ludHMgaXMgZmFyIGxlc3NcbiAgICAvLyB0byBnZXQgd3Jvbmc6IHBob3RvIHBpbm5lZCwgdGV4dCBzY3JvbGxzIHVuZGVyIGl0LlxuICAgICZfX3BhbmVsIHtcbiAgICAgIEBpbmNsdWRlIGliLW5vdGNoKGliLXJlbSgyMHB4KSwgaWItcmVtKDIwcHgpKTtcblxuICAgICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgLy8gTmV1dHJhbGlzZSB0aGUgZGVza3RvcCBiYXNlOiBubyB2ZXJ0aWNhbC1jZW50cmUgdHJhbnNsYXRlLCBhbmQgbGV0IHRoZVxuICAgICAgLy8gdG9wK2JvdHRvbSBpbnNldHMgYmVsb3cgc2V0IHRoZSBoZWlnaHQgKGZ1bGwtaGVpZ2h0IHNoZWV0IOKAlCBwaG90b1xuICAgICAgLy8gY2FwcGVkIGF0IDUwdmgsIGJvZHkgc2Nyb2xscyB1bmRlciBpdCkuXG4gICAgICB0cmFuc2xhdGU6IG5vbmU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAvLyB0b3AgfCByaWdodCB8IGJvdHRvbSB8IGxlZnQg4oCUIGh1Z3MgdGhlIHJpZ2h0IGVkZ2Ugd2l0aCBhbiA4cHggZ3V0dGVyXG4gICAgICBpbnNldDogOHB4IDAgOHB4IGF1dG87XG4gICAgfVxuXG4gICAgJl9fbWVkaWEge1xuICAgICAgQGluY2x1ZGUgX25vdGNoLXRsKGliLXJlbSgyNnB4KSk7XG5cbiAgICAgIC8vIE5ldmVyIHNxdWVlemVkIGJ5IHRoZSB0ZXh0IGJlbG93IGl0LCBuZXZlciBzdHJldGNoZWQgcGFzdCB0aGUgY2FwXG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIC8vIFdpZHRoIE1VU1QgYmUgdGhlIGRlZmluaXRlIGRpbWVuc2lvbi4gV2l0aCBvbmx5IGBhc3BlY3QtcmF0aW9gICtcbiAgICAgIC8vIGBtYXgtaGVpZ2h0YCBzZXQsIHRoZSBib3ggaXMgc2l6ZWQgZnJvbSB0aGUgcmF0aW8gYWdhaW5zdCB0aGUgY2xhbXBlZFxuICAgICAgLy8gaGVpZ2h0IOKAlCBzbyBvbiBhIHNob3J0IHZpZXdwb3J0IChpUGhvbmUsIHdoZXJlIDUwdmggaXMgc21hbGwpIHRoZSBwaG90b1xuICAgICAgLy8gY2FtZSBvdXQgbmFycm93ZXIgdGhhbiB0aGUgcGFuZWwgYW5kIGxlZnQgYSBjcmVhbSBnYXAgZG93biBpdHMgcmlnaHRcbiAgICAgIC8vIGVkZ2UsIHdoaWxlIGEgdGFsbGVyIEFuZHJvaWQgNTB2aCBoYXBwZW5lZCB0byBmaWxsLiBQaW5uaW5nIHdpZHRoIDEwMCVcbiAgICAgIC8vIG1ha2VzIGhlaWdodCBkZXJpdmUgZnJvbSBpdDsgbWF4LWhlaWdodCB0aGVuIG9ubHkgY2xhbXBzIChvdmVyZmxvdyBpc1xuICAgICAgLy8gaGlkZGVuLCBzbyBjb3ZlciBqdXN0IGNyb3BzIGEgbGl0dGxlIG1vcmUpLlxuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBhc3BlY3QtcmF0aW86IDQgLyA1O1xuICAgICAgbWF4LWhlaWdodDogNTB2aDtcbiAgICB9XG5cbiAgICAmX19ib2R5IHtcbiAgICAgIGZsZXg6IDEgMSBhdXRvO1xuXG4gICAgICAvLyBUaGUgb25lIGxpbmUgdGhhdCBhY3R1YWxseSBtYWtlcyB0aGlzIHNjcm9sbDogYSBmbGV4IGl0ZW0gZGVmYXVsdHMgdG9cbiAgICAgIC8vIG1pbi1oZWlnaHQ6IGF1dG8sIHdoaWNoIHJlZnVzZXMgdG8gc2hyaW5rIGJlbG93IGl0cyBjb250ZW50LCBzbyB0aGVcbiAgICAgIC8vIGNvbHVtbiBzaWxlbnRseSBncmV3IHBhc3QgdGhlIHBhbmVsIGFuZCBvdmVyZmxvdy15IG5ldmVyIGVuZ2FnZWQg4oCUXG4gICAgICAvLyB0aGUgdGV4dCBzaW1wbHkgcmFuIG9mZiB1bmRlciB0aGUgcGhvdG8gd2l0aCBubyB3YXkgdG8gcmVhY2ggaXQuXG4gICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgcGFkZGluZzogaWItc3BhY2UoMzIpIGliLXNwYWNlKDI0KSBpYi1zcGFjZSg0MCk7XG4gICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIH1cblxuICAgICZfX25hbWUge1xuICAgICAgQGluY2x1ZGUgaWItdHlwZShcImhlYWRsaW5lLW1vYmlsZS1tZWRpdW1cIik7IC8vIDI0LzM0XG5cbiAgICAgIC8vIE5vdGhpbmcgdG8gYm90dG9tLWFuY2hvciBhZ2FpbnN0IG9uIG1vYmlsZTogdGhlIHN0YWNrIHJlYWRzIHRvcC1kb3duXG4gICAgICAvLyBzdHJhaWdodCB1bmRlciB0aGUgcGhvdG8uXG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cblxuICAgIC8vIE1hdGNoZXMgdGhlIHNoYXJlZCAuaWItYnRuIG1vYmlsZSBjb250cm9sIHNpemUgKDQ0cHgg4omkMTAyNHB4KVxuICAgICZfX2Nsb3NlLmliLWJ0biB7XG4gICAgICB0b3A6IGliLXNwYWNlKDE2KTtcbiAgICAgIHJpZ2h0OiBpYi1zcGFjZSgxNik7XG4gICAgICB3aWR0aDogMzZweDtcbiAgICAgIGhlaWdodDogMzZweDtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGliLWJnLXByaW1hcnksIC45KTtcbiAgICB9XG4gIH1cbn1cblxuLy8gU2Nyb2xsIGxvY2sgd2hpbGUgdGhlIGRyYXdlciBpcyBvcGVuIChhZGRlZC9yZW1vdmVkIGJ5IHByb2ZpbGUtZHJhd2VyLmpzKS5cbi8vIExpdmVzIG9uIDxodG1sPiBmb3IgdGhlIHNhbWUgcmVhc29uIGFzIC5zbi10YWxrLWRyYXdlci1sb2NrOiB0aGlzIHBhZ2Ugc2V0c1xuLy8gb3ZlcmZsb3cteDogY2xpcCBvbiA8aHRtbD4sIHNvIGJvZHkgb3ZlcmZsb3cgbm8gbG9uZ2VyIHByb3BhZ2F0ZXMgdG8gdGhlXG4vLyB2aWV3cG9ydCBhbmQgYGJvZHkgeyBvdmVyZmxvdzogaGlkZGVuIH1gIHdvdWxkIGNvbGxhcHNlIHRoZSBkb2N1bWVudC5cbmh0bWwubGQtcHJvZmlsZS1kcmF3ZXItbG9jayB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4iLCIvLyBhc3NldHMvc2Nzcy9wYWdlcy9sZWFkZXJzaGlwLnNjc3Ncbi8vIEVudHJ5IHBvaW50IOKAlCBMZWFkZXJzaGlwIFRlYW0gcGFnZS5cbi8vIENvbXBpbGU6IG5wbSBydW4gc2FzczpidWlsZCAgfCAgV2F0Y2g6IG5wbSBydW4gc2Fzc1xuXG4vLyBAdXNlIG11c3QgY29tZSBmaXJzdCDigJQgYWxsIHJ1bGVzIGdvIGluc2lkZSB0aGUgcGFydGlhbHNcbkB1c2UgXCIuLi9fdXRpbHNcIjsgLy8gc2hhcmVkIGliLSBkZXNpZ24gdG9rZW5zICsgYnJlYWtwb2ludCB0b2tlbnNcbkB1c2UgXCIuLi9fYmFzZVwiOyAvLyBnbG9iYWwgcmVzZXQgKyBodG1sL2JvZHkgYmFzZSBzdHlsZXNcbkB1c2UgXCIuLi9faGVscGVyc1wiOyAvLyAuaWItbW9iaWxlLW9ubHkgLyAuaWItZGVza3RvcC1vbmx5IC8gLmliLW0tcmV2ZWFsXG5AdXNlIFwiLi4vX2J1dHRvbnNcIjsgLy8gc2hhcmVkIGJ1dHRvbiBzeXN0ZW0gKG1vYmlsZSBzaXppbmcg4omkMTAyNHB4KVxuQHVzZSBcIi4vdGVhbS1zZWN0aW9uXCI7XG5AdXNlIFwiLi9wcm9maWxlLWRyYXdlclwiO1xuXG4vLyDilIDilIAgUGFnZS1sZXZlbCBvdmVycmlkZXMgKGFmdGVyIEB1c2UpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gU2NvcGVkIHRvIC5wYWdlLWxlYWRlcnNoaXAgc28gb3RoZXIgcGFnZXMga2VlcCB0aGVpciBvd24gc2Nyb2xsLXNuYXAgL1xuLy8gb3ZlcmZsb3cgYmVoYXZpb3IuIG92ZXJmbG93LXg6IGNsaXAgcHJldmVudHMgaG9yaXpvbnRhbCBvdmVyZmxvdyB3aXRob3V0XG4vLyBjcmVhdGluZyBhIHNjcm9sbCBjb250YWluZXIsIHNvIHBvc2l0aW9uOiBzdGlja3kgc3RpbGwgd29ya3Mgb24gdGhlIHJhaWwuXG5ib2R5LnBhZ2UtbGVhZGVyc2hpcCB7XG4gIG92ZXJmbG93LXg6IGNsaXA7XG59XG5cbmh0bWw6aGFzKGJvZHkucGFnZS1sZWFkZXJzaGlwKSB7XG4gIG92ZXJmbG93LXg6IGNsaXA7XG4gIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xuICBzY3JvbGwtc25hcC10eXBlOiBub25lO1xufVxuIiwiLy8gYXNzZXRzL3Njc3MvcGFnZXMvaXRlcC9fY2xpZW50LXNwZWFrcy1zZWN0aW9uLnNjc3Ncbi8vIENsaWVudCBTcGVha3Mg4oCUIGNlbnRyZWQgaGVhZGluZyArIGludHJvIG92ZXIgYSBmdWxsLXdpZHRoIG5vdGNoZWQgbWVkaWFcbi8vIHNsb3QgKHRoZSBjbGllbnQtdGVzdGltb25pYWwgdmlkZW8pLiBTdGF0aWMgc2VjdGlvbjogbm8gcGlubmluZywgbm8gc2NydWIuXG4vLyBGaWdtYTogZnJhbWUgMTcyOMOXMTEyNCDigJQgY29udGFpbmVyIDEzMDUgd2lkZSBhdCB4PTIxMiwgeT0xNDAuXG5cbkB1c2UgXCIuLi91dGlsc1wiIGFzICo7XG5AdXNlIFwic2hhcmVkXCIgYXMgKjtcblxuLml0ZXAtY2xpZW50LXNwZWFrcy1zZWN0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAkaWItYmctcHJpbWFyeTtcblxuICBAaW5jbHVkZSBpdGVwLXNlY3Rpb24tcGFkZGluZygxNDBweCk7XG5cbiAgJl9fY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBpdGVwLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIDQ4LzUyIGF0IHdlaWdodCAzMDAg4oCUIHNhbWUgaGVhZGluZyB0cmVhdG1lbnQgdGhlIGRhcmsgZGlzY2lwbGluZXMgc2VjdGlvblxuICAvLyBhYm92ZSB1c2VzLCBzbyB0aGUgdHdvIHJlYWQgYXMgb25lIHBhZ2UuXG4gICZfX2hlYWRpbmcge1xuICAgIEBpbmNsdWRlIGliLXR5cGUoXCJkaXNwbGF5LW1vYmlsZS1sYXJnZVwiKTtcblxuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgY29sb3I6ICRpYi10ZXh0LXByaW1hcnk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbjogMDtcblxuICAgIEBpbmNsdWRlIGliLXJldmVhbChpYi1yZW0oMzJweCksICRpYi1icC10YWJsZXQpO1xuICB9XG5cbiAgLy8gRmlnbWE6IDk4NnB4IG1lYXN1cmUsIDQwcHggYmVsb3cgdGhlIGhlYWRpbmcuXG4gICZfX2ludHJvIHtcbiAgICBAaW5jbHVkZSBpYi10eXBlKFwiYm9keS1leHRyYS1sYXJnZVwiLCAkaWItZm9udC1ib2R5KTtcblxuICAgIGNvbG9yOiAkaWItdGV4dC1zZWNvbmRhcnk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1heC13aWR0aDogaWItcmVtKDk4NnB4KTtcbiAgICBtYXJnaW46IGliLXJlbSg0MHB4KSBhdXRvIDA7XG5cbiAgICBAaW5jbHVkZSBpYi1yZXZlYWwoaWItcmVtKDMycHgpLCAkaWItYnAtdGFibGV0KTtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiBjYWxjKCRpYi1icC10YWJsZXQgKyAxcHgpKSB7XG4gICAgICAmLmlzLXZpc2libGUge1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAuMDhzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE1lZGlhIHNsb3Qg4oCUIDEzMDXDlzYwOCBpbiBGaWdtYS4gYXNwZWN0LXJhdGlvIChub3QgYSBoZWlnaHQpIHJlc2VydmVzIHRoZVxuICAvLyBib3ggYmVmb3JlIGFueXRoaW5nIGxvYWRzLCBzbyBkcm9wcGluZyBhIDx2aWRlbz4vPGlmcmFtZT4gaW4gbGF0ZXIgY29zdHNcbiAgLy8gemVybyBDTFMuIFRoZSBkYXJrIGZpbGwgaXMgdGhlIGRlc2lnbidzIG93biBwbGFjZWhvbGRlciBjb2xvdXIgYW5kIHN0YXlzXG4gIC8vIGFzIHRoZSBsZXR0ZXJib3ggYmVoaW5kIG5vbi0xNjo5IG1lZGlhLlxuICAmX19tZWRpYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGFzcGVjdC1yYXRpbzogMTMwNSAvIDYwODtcbiAgICBtYXJnaW4tdG9wOiBpYi1yZW0oNjRweCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kOiAkaWItZ3JheS1jaGFyY29hbDtcblxuICAgIEBpbmNsdWRlIGliLW5vdGNoKGliLXJlbSgyNHB4KSwgaWItcmVtKDI0cHgpKTtcbiAgICBAaW5jbHVkZSBpYi1yZXZlYWwoaWItcmVtKDMycHgpLCAkaWItYnAtdGFibGV0KTtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiBjYWxjKCRpYi1icC10YWJsZXQgKyAxcHgpKSB7XG4gICAgICAmLmlzLXZpc2libGUge1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAuMTZzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFdoYXRldmVyIGdldHMgZHJvcHBlZCBpbnRvIHRoZSBzbG90IGZpbGxzIGl0IGVkZ2UgdG8gZWRnZS5cbiAgJl9fbWVkaWEtaXRlbSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIC8vIOKUgOKUgCBNb2JpbGUgKyB0YWJsZXQgKOKJpDEwMjRweCkg4oCUIHRoaXMgcGFnZSdzIG1vYmlsZSBsYXlvdXQgb3ducyB0YWJsZXRzIOKUgOKUgOKUgOKUgOKUgFxuICBAaW5jbHVkZSByZXNwb25kLXRvKCRpYi1icC10YWJsZXQpIHtcbiAgICAmX19oZWFkaW5nIHtcbiAgICAgIEBpbmNsdWRlIGliLXR5cGUoXCJoZWFkbGluZS1tb2JpbGUtbGFyZ2VcIik7XG4gICAgfVxuXG4gICAgJl9faW50cm8ge1xuICAgICAgQGluY2x1ZGUgaWItdHlwZShcImNhcHRpb24tbGFyZ2VcIiwgJGliLWZvbnQtYm9keSk7XG5cbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi10b3A6IGliLXJlbSgxNnB4KTtcbiAgICB9XG5cbiAgICAmX19tZWRpYSB7XG4gICAgICBtYXJnaW4tdG9wOiBpYi1yZW0oMzJweCk7XG5cbiAgICAgIC8vIFNoYWxsb3dlciBjdXQg4oCUIGEgMjRweCBub3RjaCByZWFkcyBhcyBhIGNob3BwZWQgY29ybmVyIGF0IHBob25lIHdpZHRoXG4gICAgICBAaW5jbHVkZSBpYi1ub3RjaChpYi1yZW0oMTJweCksIGliLXJlbSgxMnB4KSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBhc3NldHMvc2Nzcy9wYWdlcy9pdGVwL19zaGFyZWQuc2Nzc1xuLy8gSVRFUC1vbmx5IGxheW91dCBwcmltaXRpdmVzLiBFbWl0cyBubyBDU1Mgb2YgaXRzIG93biDigJQgZXZlcnkgcnVsZSBoZXJlIGxpdmVzXG4vLyBpbnNpZGUgYSBtaXhpbiwgc28gZWFjaCBzZWN0aW9uIHBhcnRpYWwgY2FuIGBAdXNlIFwic2hhcmVkXCIgYXMgKmAgd2l0aG91dFxuLy8gZHVwbGljYXRpbmcgb3V0cHV0IGluIHRoZSBjb21iaW5lZCBXb3JkUHJlc3MgYnVpbGQuXG5cbkB1c2UgXCJzYXNzOm1hdGhcIjtcbkB1c2UgXCIuLi91dGlsc1wiIGFzICo7XG5cbi8vIENvbnRlbnQgem9uZSBmcm9tIHRoZSBGaWdtYSBJVEVQIGZyYW1lOiAxMzkwcHggb2YgY29udGVudCBzaXR0aW5nIGF0IHg9MjEyXG4vLyBpbiBhIDE3MjhweCBhcnRib2FyZC4gRXZlcnkgSVRFUCBzZWN0aW9uIGxpbmVzIGl0cyBjb250ZW50IHVwIG9uIHRoaXMg4oCUIHRoZVxuLy8gcGFnZSdzIGxlZnQvcmlnaHQgcmh5dGhtIGRlcGVuZHMgb24gaXQuXG4vL1xuLy8gTk9URTogdGhpcyBpcyBuYXJyb3dlciB0aGFuIHRoZSBzaGFyZWQgJGliLWNvbnRhaW5lci1tYXggKDE1NjhweCkgdGhhdCB0aGVcbi8vIHJldXNlZCBlci1oZXJvLXNlY3Rpb24gLyBlci1kaXNjaXBsaW5lcy1zZWN0aW9uIGFib3ZlIHJ1biBvbiwgc28gdGhlIElURVBcbi8vIHNlY3Rpb25zIHNpdCBpbmJvYXJkIG9mIHRoZW0gb24gdGhlIGxpdmUgcGFnZS4gVGhhdCBtYXRjaGVzIHRoZSBGaWdtYSBmcmFtZS5cbi8vIFByZWZpeGVzIGFyZSBsb2FkLWJlYXJpbmcsIG5vdCBjb3NtZXRpYy4gU2FzcyB0cmVhdHMgYSBsZWFkaW5nIHVuZGVyc2NvcmUgYXNcbi8vIG1vZHVsZS1QUklWQVRFIOKAlCB1bnJlYWRhYmxlIGZyb20gYW5vdGhlciBmaWxlIOKAlCBzbyBhbnl0aGluZyBhIHNlY3Rpb24gcGFydGlhbFxuLy8gaGFzIHRvIHJlYWQgY2FycmllcyB0aGUgcHVibGljIGliLSBuYW1lc3BhY2UgaW5zdGVhZCwgYW5kIGV2ZXJ5dGhpbmcgb25seVxuLy8gdGhpcyBmaWxlIHRvdWNoZXMgc3RheXMgcHJpdmF0ZS4gQm90aCBzYXRpc2Z5IHNjc3MvZG9sbGFyLXZhcmlhYmxlLXBhdHRlcm4uXG4vLyAoUHJpdmF0ZSB2YXJzIHN0aWxsIHJlc29sdmUgZmluZSBpbnNpZGUgdGhlIG1peGlucy9mdW5jdGlvbnMgZXhwb3J0ZWQgYmVsb3c6XG4vLyB0aG9zZSByZWFkIHRoZW0gbGV4aWNhbGx5LCBpbiB0aGUgbW9kdWxlIHRoYXQgZGVmaW5lcyB0aGVtLilcbiRpYi1pdGVwLWNvbnRhaW5lci1tYXg6IDEzOTBweDsgLy8gcHVibGljIOKAlCBfbm90ZXMtc2VjdGlvbiBkZXJpdmVzIGl0cyBndXR0ZXIgZnJvbSBpdFxuJF9pdGVwLWNvbnRhaW5lci1wYWQ6IDIwcHg7XG4kX2l0ZXAtYXJ0Ym9hcmQ6IDE3MjhweDsgLy8gRmlnbWEgZnJhbWUgd2lkdGggZXZlcnkgZGVzaWduIHB4IGJlbG93IGlzIG1lYXN1cmVkIGFnYWluc3RcblxuLy8gcHggYXQgdGhlIGFydGJvYXJkIOKGkiB2dywgc28gZmx1aWQgdmFsdWVzIHRyYWNrIHRoZSBkZXNpZ24gcmF0aW8gZXhhY3RseVxuLy8gaW5zdGVhZCBvZiBiZWluZyBleWViYWxsZWQuXG5AZnVuY3Rpb24gaXRlcC12dygkcHgpIHtcbiAgQHJldHVybiBtYXRoLmRpdigkcHgsICRfaXRlcC1hcnRib2FyZCkgKiAxMDB2dztcbn1cblxuLy8gbWF4LXdpZHRoIGNhcnJpZXMgdGhlIHBhZGRpbmcgKGJvcmRlci1ib3ggZnJvbSBfYmFzZS5zY3NzKSBzbyB0aGUgKmNvbnRlbnQqXG4vLyBib3ggcmVzb2x2ZXMgdG8gZXhhY3RseSAkaWItaXRlcC1jb250YWluZXItbWF4IG9uY2UgdGhlIHZpZXdwb3J0IGlzIHdpZGVcbi8vIGVub3VnaCDigJQgYXQgMTcyOHB4IHRoYXQgcHV0cyB0aGUgY29udGVudCBlZGdlIGF0IDIxMS41cHgsIHRoZSBGaWdtYSB2YWx1ZS5cbkBtaXhpbiBpdGVwLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IGliLXJlbSgkaWItaXRlcC1jb250YWluZXItbWF4ICsgJF9pdGVwLWNvbnRhaW5lci1wYWQgKiAyKTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDAgaWItcmVtKCRfaXRlcC1jb250YWluZXItcGFkKTtcbn1cblxuLy8gU2VjdGlvbiB2ZXJ0aWNhbCByaHl0aG0uIFRoZSBGaWdtYSBwYWRkaW5ncyAoMTQwLzE1MC8xNjBweCBhdCBhIDE3MjhweFxuLy8gYXJ0Ym9hcmQpIHNjYWxlIGRvd24gZmx1aWRseSByYXRoZXIgdGhhbiBzdGVwcGluZyBhdCBhIGJyZWFrcG9pbnQsIHNvIHRoZVxuLy8gbGFwdG9wIHJhbmdlIGRvZXNuJ3QgZ2V0IGEgY3JhbXBlZCBvciBvdmVyc2l6ZWQgZ2FwLlxuQG1peGluIGl0ZXAtc2VjdGlvbi1wYWRkaW5nKCRkZXNrdG9wLCAkbW9iaWxlLWZsb29yOiA0OHB4KSB7XG4gIHBhZGRpbmc6IGNsYW1wKGliLXJlbSgkbW9iaWxlLWZsb29yKSwgaXRlcC12dygkZGVza3RvcCksIGliLXJlbSgkZGVza3RvcCkpIDA7XG59XG4iLCIvLyBhc3NldHMvc2Nzcy9wYWdlcy9pdGVwL19wYXJ0bmVycy1zZWN0aW9uLnNjc3Ncbi8vIE91ciBQbGFjZW1lbnQgUGFydG5lcnMg4oCUIGxlZnQtYWxpZ25lZCBoZWFkaW5nIG92ZXIgYSBzaW5nbGUgZWRnZS10by1lZGdlXG4vLyBiYW5kIG9mIHBhcnRuZXIgbG9nb3MuIEZpZ21hOiBmcmFtZSAxNzI4w5c1Njgg4oCUIGhlYWRpbmcgYXQgeT0xNjAsIGJhbmQgYXRcbi8vIHk9Mjg0ICgxMzA1w5cxMjQsIGxvZ29zIG9wdGljYWxseSBjZW50cmVkIG9uIHRoZSBiYW5kJ3MgbWlkbGluZSkuXG5cbkB1c2UgXCJzYXNzOmxpc3RcIjtcbkB1c2UgXCIuLi91dGlsc1wiIGFzICo7XG5AdXNlIFwic2hhcmVkXCIgYXMgKjtcblxuLy8gUmVuZGVyZWQgbG9nbyB3aWR0aHMsIGluIHNvdXJjZSBvcmRlci4gVGhlc2UgYXJlIHRoZSBleHBvcnRlZCBhc3NldHMnIG93blxuLy8gaW50cmluc2ljIHdpZHRocyAod2hpY2ggbGFuZCB3aXRoaW4gMXB4IG9mIHRoZSBGaWdtYSBmcmFtZXMpLCBzbyBlYWNoIGxvZ29cbi8vIHBhaW50cyAxOjEgd2l0aCBubyByZXNhbXBsaW5nLiBIZWlnaHRzIHN0YXkgYXV0byBzbyBldmVyeSBhc3NldCBrZWVwcyBpdHNcbi8vIG93biBhc3BlY3QgcmF0aW8g4oCUIGRyaXZpbmcgdGhpcyBmcm9tIGEgbGlzdCByYXRoZXIgdGhhbiBzaXggaGFuZC13cml0dGVuXG4vLyBydWxlcyBrZWVwcyB0aGUgc2VjdGlvbiBob25lc3QgaWYgYSBwYXJ0bmVyIGlzIGFkZGVkIG9yIGRyb3BwZWQ6IG9ubHkgdGhpc1xuLy8gbGlzdCBjaGFuZ2VzLCBhbmQgaXQgbXVzdCBzdGF5IGluIHN0ZXAgd2l0aCB0aGUgbWFya3VwIG9yZGVyLlxuJF9pdGVwLXBhcnRuZXItd2lkdGhzOiA5NnB4LCAxNjZweCwgMTk0cHgsIDExM3B4LCAxNzhweCwgMTgzcHg7XG5cbi5pdGVwLXBhcnRuZXJzLXNlY3Rpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6ICRpYi1iZy1wcmltYXJ5O1xuXG4gIEBpbmNsdWRlIGl0ZXAtc2VjdGlvbi1wYWRkaW5nKDE2MHB4KTtcblxuICAmX19jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGl0ZXAtY29udGFpbmVyO1xuICB9XG5cbiAgJl9faGVhZGluZyB7XG4gICAgQGluY2x1ZGUgaWItdHlwZShcImRpc3BsYXktbW9iaWxlLWxhcmdlXCIpO1xuXG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBjb2xvcjogJGliLXRleHQtcHJpbWFyeTtcbiAgICBtYXJnaW46IDA7XG5cbiAgICBAaW5jbHVkZSBpYi1yZXZlYWwoaWItcmVtKDMycHgpLCAkaWItYnAtdGFibGV0KTtcbiAgfVxuXG4gICZfX2hlYWRpbmctYWNjZW50IHtcbiAgICBjb2xvcjogJGliLXJlZC1icmFuZDtcbiAgfVxuXG4gIC8vIFRoZSBiYW5kIGNhcnJpZXMgaXRzIG93biBjcmVhbSBmaWxsIGluIEZpZ21hLiBJdCBtYXRjaGVzIHRoZSBwYWdlXG4gIC8vIGJhY2tncm91bmQsIHNvIG9uIHRoZSBsaXZlIHBhZ2UgaXQgcmVhZHMgYXMgZmx1c2gg4oCUIGtlcHQgZXhwbGljaXQgc28gdGhlXG4gIC8vIGJhbmQgc3RpbGwgaG9sZHMgdXAgaWYgdGhlIHNlY3Rpb24gZXZlciBtb3ZlcyBvbnRvIGEgZGlmZmVyZW50IGJhY2tkcm9wLlxuICAmX19sb2dvcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IGliLXJlbSgyNHB4KTtcbiAgICBoZWlnaHQ6IGliLXJlbSgxMjRweCk7XG4gICAgbWFyZ2luOiBpYi1yZW0oNzJweCkgMCAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiAkaWItY3JlYW0tbWlzdDtcblxuICAgIEBpbmNsdWRlIGliLXJldmVhbChpYi1yZW0oMzJweCksICRpYi1icC10YWJsZXQpO1xuICB9XG5cbiAgJl9fbG9nby1pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG5cbiAgJl9fbG9nbyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgLy8gTmV2ZXIgbGV0IGEgbG9nbyBvdXRncm93IGl0cyBjZWxsIG9uIGEgbmFycm93IHZpZXdwb3J0OyBoZWlnaHQgZm9sbG93c1xuICAgIC8vIHNvIHRoZSBhc3BlY3QgcmF0aW8gc3Vydml2ZXMuXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gIH1cblxuICAvLyBQZXItbG9nbyBkZXNpZ24gd2lkdGhzLiBtYXgtd2lkdGggYWJvdmUgc3RpbGwgd2lucyBvbiBzbWFsbCBzY3JlZW5zLCBzb1xuICAvLyB0aGVzZSBhY3QgYXMgdGhlIGRlc2t0b3AgdGFyZ2V0IHJhdGhlciB0aGFuIGEgaGFyZCBzaXplLlxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxpc3QubGVuZ3RoKCRfaXRlcC1wYXJ0bmVyLXdpZHRocykge1xuICAgICZfX2xvZ28taXRlbTpudGgtY2hpbGQoI3skaX0pICZfX2xvZ28ge1xuICAgICAgd2lkdGg6IGliLXJlbShsaXN0Lm50aCgkX2l0ZXAtcGFydG5lci13aWR0aHMsICRpKSk7XG4gICAgfVxuICB9XG5cbiAgLy8g4pSA4pSAIE1vYmlsZSArIHRhYmxldCAo4omkMTAyNHB4KSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgLy8gVGhlIHNpbmdsZSByb3cgY2FuJ3QgaG9sZCBzaXggbG9nb3MgbGVnaWJseSwgc28gdGhlIGJhbmQgYmVjb21lcyBhIGdyaWRcbiAgLy8gYW5kIGdyb3dzIHRvIGZpdC4gTG9nb3Mga2VlcCB0aGVpciByZWxhdGl2ZSBzaXplcyAodGhlIHdpZHRocyBhYm92ZSkgdW50aWxcbiAgLy8gYSBjZWxsIGlzIG5hcnJvd2VyIHRoYW4gdGhlIGxvZ28sIGF0IHdoaWNoIHBvaW50IG1heC13aWR0aCB0YWtlcyBvdmVyLlxuICBAaW5jbHVkZSByZXNwb25kLXRvKCRpYi1icC10YWJsZXQpIHtcbiAgICAmX19oZWFkaW5nIHtcbiAgICAgIEBpbmNsdWRlIGliLXR5cGUoXCJoZWFkbGluZS1tb2JpbGUtbGFyZ2VcIik7XG4gICAgfVxuXG4gICAgJl9fbG9nb3Mge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gICAgICBnYXA6IGliLXJlbSgzMnB4KSBpYi1yZW0oMjRweCk7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW4tdG9wOiBpYi1yZW0oMzJweCk7XG4gICAgICBwYWRkaW5nOiBpYi1yZW0oMzJweCkgaWItcmVtKDIwcHgpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8oJGliLWJwLXNtKSB7XG4gICAgJl9fbG9nb3Mge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIGFzc2V0cy9zY3NzL3BhZ2VzL2l0ZXAvX3RyYWluaW5nLXNlY3Rpb24uc2Nzc1xuLy8gT3VyIFRyYWluaW5nIENlbnRyZXMg4oCUIG9uZSBsYXJnZSBub3RjaGVkIGNyZWFtIGNhcmQgaG9sZGluZyBhIGxlYWRcbi8vIHBhcmFncmFwaCwgYSBoYWlybGluZSBydWxlLCBzdXBwb3J0aW5nIGNvcHkgYW5kIHRoZSByZWdpc3RlciBDVEEuXG4vLyBGaWdtYTogZnJhbWUgMTcyOMOXMTExMSDigJQgY2FyZCAxMzA1w5c4MTEgYXQgeT0xNTAsIGNvbnRlbnQgaW5zZXQgfjE2Ny8xMjUuXG5cbkB1c2UgXCIuLi91dGlsc1wiIGFzICo7XG5AdXNlIFwic2hhcmVkXCIgYXMgKjtcblxuLml0ZXAtdHJhaW5pbmctc2VjdGlvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogJGliLWJnLXByaW1hcnk7XG5cbiAgQGluY2x1ZGUgaXRlcC1zZWN0aW9uLXBhZGRpbmcoMTUwcHgpO1xuXG4gICZfX2NvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgaXRlcC1jb250YWluZXI7XG4gIH1cblxuICAvLyBUaGUgY2FyZCdzIGluc2V0IGlzIGh1Z2UgYXQgdGhlIGRlc2lnbiB3aWR0aCAoMTY3cHgpIGFuZCB3b3VsZCBzd2FsbG93IGFcbiAgLy8gbGFwdG9wIHZpZXdwb3J0LCBzbyBib3RoIGF4ZXMgdHJhY2sgdGhlIGFydGJvYXJkIHJhdGlvIHZpYSBpdGVwLXZ3KCkgYW5kXG4gIC8vIGJvdHRvbSBvdXQgYXQgYSBzYW5lIHBob25lIHZhbHVlLlxuICAmX19jYXJkIHtcbiAgICBiYWNrZ3JvdW5kOiAkaWItY3JlYW0tbGlnaHQ7XG4gICAgcGFkZGluZzogY2xhbXAoaWItcmVtKDQwcHgpLCBpdGVwLXZ3KDEyNXB4KSwgaWItcmVtKDEyNXB4KSlcbiAgICAgIGNsYW1wKGliLXJlbSgyNHB4KSwgaXRlcC12dygxNjdweCksIGliLXJlbSgxNjdweCkpO1xuXG4gICAgQGluY2x1ZGUgaWItbm90Y2goaWItcmVtKDIwcHgpLCBpYi1yZW0oMjBweCkpO1xuICAgIEBpbmNsdWRlIGliLXJldmVhbChpYi1yZW0oMzJweCksICRpYi1icC10YWJsZXQpO1xuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIEBpbmNsdWRlIGliLXR5cGUoXCJoZWFkbGluZS13ZWItbGFyZ2VcIik7XG5cbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGNvbG9yOiAkaWItdGV4dC1wcmltYXJ5O1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gICZfX3RpdGxlLWFjY2VudCB7XG4gICAgY29sb3I6ICRpYi1yZWQtYnJhbmQ7XG4gIH1cblxuICAmX19sZWFkIHtcbiAgICBAaW5jbHVkZSBpYi10eXBlKFwiYm9keS1leHRyYS1sYXJnZVwiLCAkaWItZm9udC1ib2R5KTtcblxuICAgIGNvbG9yOiAkaWItdGV4dC1wcmltYXJ5O1xuICAgIG1hcmdpbjogaWItcmVtKDcycHgpIDAgMDtcbiAgfVxuXG4gIC8vIEZpZ21hIFwiTGluZSAyNlwiIOKAlCAzMnB4IG9mIGFpciBlaXRoZXIgc2lkZS5cbiAgJl9fZGl2aWRlciB7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiBpYi1yZW0oMzJweCkgMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogJGliLXJlZC1wZWFjaDtcbiAgfVxuXG4gICZfX2JvZHkge1xuICAgIEBpbmNsdWRlIGliLXR5cGUoXCJib2R5LW1lZGl1bVwiLCAkaWItZm9udC1ib2R5KTtcblxuICAgIGNvbG9yOiAkaWItdGV4dC1wcmltYXJ5O1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gICZfX2N0YSB7XG4gICAgbWFyZ2luLXRvcDogaWItcmVtKDcycHgpO1xuICB9XG5cbiAgLy8g4pSA4pSAIE1vYmlsZSArIHRhYmxldCAo4omkMTAyNHB4KSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgQGluY2x1ZGUgcmVzcG9uZC10bygkaWItYnAtdGFibGV0KSB7XG4gICAgJl9fY2FyZCB7XG4gICAgICBwYWRkaW5nOiBpYi1yZW0oMzJweCkgaWItcmVtKDI0cHgpO1xuXG4gICAgICBAaW5jbHVkZSBpYi1ub3RjaChpYi1yZW0oMTJweCksIGliLXJlbSgxMnB4KSk7XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgQGluY2x1ZGUgaWItdHlwZShcImhlYWRsaW5lLW1vYmlsZS1sYXJnZVwiKTtcbiAgICB9XG5cbiAgICAmX19sZWFkIHtcbiAgICAgIEBpbmNsdWRlIGliLXR5cGUoXCJib2R5LXNtYWxsXCIsICRpYi1mb250LWJvZHkpO1xuXG4gICAgICBtYXJnaW4tdG9wOiBpYi1yZW0oMjRweCk7XG4gICAgfVxuXG4gICAgJl9fZGl2aWRlciB7XG4gICAgICBtYXJnaW46IGliLXJlbSgyNHB4KSAwO1xuICAgIH1cblxuICAgICZfX2JvZHkge1xuICAgICAgQGluY2x1ZGUgaWItdHlwZShcImNhcHRpb24tbGFyZ2VcIiwgJGliLWZvbnQtYm9keSk7XG4gICAgfVxuXG4gICAgJl9fY3RhIHtcbiAgICAgIG1hcmdpbi10b3A6IGliLXJlbSgzMnB4KTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIGFzc2V0cy9zY3NzL3BhZ2VzL2l0ZXAvX25vdGVzLXNlY3Rpb24uc2Nzc1xuLy8gUHJvZ3JhbW1lIHRpdGxlICsgY29udGFjdCBvbiB0aGUgbGVmdCwgdGhlIFwiUGxlYXNlIG5vdGVcIiBlbGlnaWJpbGl0eSBsaXN0IG9uXG4vLyB0aGUgcmlnaHQuIEZpZ21hOiBmcmFtZSAxNzI4w5c4MTAg4oCUIDM5N3B4IC8gNjMycHggY29sdW1ucyBzcGxpdCBieSBhIDI3OHB4XG4vLyBndXR0ZXIsIGxlZnQgY29sdW1uIGhlYWRpbmcgdG9wLWFsaWduZWQgYW5kIGNvbnRhY3QgYm90dG9tLWFsaWduZWQuXG5cbkB1c2UgXCJzYXNzOm1hdGhcIjtcbkB1c2UgXCIuLi91dGlsc1wiIGFzICo7XG5AdXNlIFwic2hhcmVkXCIgYXMgKjtcblxuLy8gRmlnbWEgY29sdW1uICsgZ3V0dGVyLCBhcyByYXRpb3Mgb2YgdGhlIDEzMDVweCBjb250ZW50IHpvbmUuIEV4cHJlc3NlZCBhc1xuLy8gZnIgY29sdW1ucyArIGEgcGVyY2VudGFnZSBnYXAgKGdyaWQgcmVzb2x2ZXMgaXQgYWdhaW5zdCB0aGUgY29udGFpbmVyJ3Ncbi8vIGNvbnRlbnQgYm94KSBzbyB0aGUgMzk3IC8gMjc4IC8gNjMyIHNwbGl0IHN0YXlzIGV4YWN0IGF0IGV2ZXJ5IHdpZHRoXG4vLyBpbnN0ZWFkIG9mIGRyaWZ0aW5nIG9uY2UgdGhlIGNvbnRhaW5lciBzdG9wcyBiZWluZyAxMzA1cHggd2lkZS5cbi8vIHB4IMO3IHB4IGNhbmNlbHMgdG8gYSB1bml0bGVzcyByYXRpbyDihpIgMjAlXG4kX2l0ZXAtbm90ZXMtZ3V0dGVyOiBtYXRoLnBlcmNlbnRhZ2UobWF0aC5kaXYoMjc4cHgsICRpYi1pdGVwLWNvbnRhaW5lci1tYXgpKTtcblxuLml0ZXAtbm90ZXMtc2VjdGlvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogJGliLWJnLXByaW1hcnk7XG5cbiAgQGluY2x1ZGUgaXRlcC1zZWN0aW9uLXBhZGRpbmcoMTUwcHgpO1xuXG4gIC8vIFRocmVlIGdyaWQgY2hpbGRyZW4sIG5vdCB0d28gbmVzdGVkIGNvbHVtbnM6IGtlZXBpbmcgdGhlIGhlYWRpbmcsIHRoZVxuICAvLyBjb250YWN0IGJsb2NrIGFuZCB0aGUgbm90ZXMgYXMgc2libGluZ3MgaXMgd2hhdCBsZXRzIHRoZSBjb250YWN0IGJsb2NrXG4gIC8vIGJvdHRvbS1hbGlnbiBhZ2FpbnN0IHRoZSBub3RlcyBjb2x1bW4gb24gZGVza3RvcCAqYW5kKiByZW9yZGVyIGJlbG93IHRoZW1cbiAgLy8gb24gbW9iaWxlLiBOZXN0aW5nIHRoZSBsZWZ0IHBhaXIgaW4gYSB3cmFwcGVyIHdvdWxkIG1ha2UgYm90aCBpbXBvc3NpYmxlLlxuICAmX19jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMzY1ZnIpIG1pbm1heCgwLCA2MzJmcik7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIDFmcjtcbiAgICBjb2x1bW4tZ2FwOiBjbGFtcChpYi1yZW0oNDBweCksICRfaXRlcC1ub3Rlcy1ndXR0ZXIsIGliLXJlbSgyNzhweCkpO1xuXG4gICAgQGluY2x1ZGUgaXRlcC1jb250YWluZXI7XG4gIH1cblxuICAmX19oZWFkaW5nIHtcbiAgICBAaW5jbHVkZSBpYi10eXBlKFwiZGlzcGxheS1tb2JpbGUtbGFyZ2VcIik7XG5cbiAgICBncmlkLWNvbHVtbjogMTtcbiAgICBncmlkLXJvdzogMTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGNvbG9yOiAkaWItdGV4dC1wcmltYXJ5O1xuICAgIG1hcmdpbjogMDtcblxuICAgIEBpbmNsdWRlIGliLXJldmVhbChpYi1yZW0oMzJweCksICRpYi1icC10YWJsZXQpO1xuICB9XG5cbiAgJl9faGVhZGluZy1hY2NlbnQge1xuICAgIGNvbG9yOiAkaWItcmVkLWJyYW5kO1xuICB9XG5cbiAgLy8gU2l0cyBvbiB0aGUgYmFzZWxpbmUgb2YgdGhlIG5vdGVzIGNvbHVtbiDigJQgYWxpZ24tc2VsZiwgbm90IGEgbWFyZ2luLCBzbyBpdFxuICAvLyBzdGF5cyBwaW5uZWQgaG93ZXZlciB0YWxsIGVpdGhlciBjb2x1bW4gZ3Jvd3MuXG4gICZfX2NvbnRhY3Qge1xuICAgIEBpbmNsdWRlIGliLXR5cGUoXCJib2R5LWxhcmdlXCIsICRpYi1mb250LWJvZHkpO1xuXG4gICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgZ3JpZC1yb3c6IDI7XG4gICAgYWxpZ24tc2VsZjogZW5kO1xuICAgIGNvbG9yOiAkaWItdGV4dC1zZWNvbmRhcnk7XG4gICAgbWFyZ2luOiBpYi1yZW0oNDBweCkgMCAwO1xuXG4gICAgQGluY2x1ZGUgaWItcmV2ZWFsKGliLXJlbSgzMnB4KSwgJGliLWJwLXRhYmxldCk7XG5cbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB9XG4gIH1cblxuICAmX19jb250YWN0LWxpbmsge1xuICAgIGNvbG9yOiAkaWItdGV4dC1hY3Rpb247XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG5cbiAgJl9fbm90ZXMge1xuICAgIGdyaWQtY29sdW1uOiAyO1xuICAgIGdyaWQtcm93OiAxIC8gc3BhbiAyO1xuICB9XG5cbiAgJl9fbm90ZXMtdGl0bGUge1xuICAgIEBpbmNsdWRlIGliLXR5cGUoXCJoZWFkbGluZS1tb2JpbGUtbGFyZ2VcIik7XG5cbiAgICBjb2xvcjogJGliLXRleHQtcHJpbWFyeTtcbiAgICBtYXJnaW46IDA7XG5cbiAgICBAaW5jbHVkZSBpYi1yZXZlYWwoaWItcmVtKDMycHgpLCAkaWItYnAtdGFibGV0KTtcbiAgfVxuXG4gICZfX2xpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IGliLXJlbSg0MnB4KTtcbiAgICBtYXJnaW46IGliLXJlbSg1NnB4KSAwIDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgQGluY2x1ZGUgaWItcmV2ZWFsKGliLXJlbSgzMnB4KSwgJGliLWJwLXRhYmxldCk7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogY2FsYygkaWItYnAtdGFibGV0ICsgMXB4KSkge1xuICAgICAgJi5pcy12aXNpYmxlIHtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogLjA4cztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19pdGVtIHtcbiAgICBAaW5jbHVkZSBpYi10eXBlKFwiYm9keS1tZWRpdW1cIiwgJGliLWZvbnQtYm9keSk7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogaWItcmVtKDMwcHgpO1xuICAgIGNvbG9yOiAkaWItdGV4dC1zZWNvbmRhcnk7XG4gIH1cblxuICAvLyAxNHB4IHNxdWFyZSBtYXJrZXIuIFRoZSA4cHggb2Zmc2V0IGlzICgzMHB4IGxpbmUtaGVpZ2h0IOKIkiAxNHB4KSDDtyAyLCBzbyBpdFxuICAvLyBjZW50cmVzIG9uIHRoZSBmaXJzdCBsaW5lIG9mIGNvcHkgYW5kIGhvbGRzIGlmIHRoZSBjb3B5IHJld3JhcHMuXG4gICZfX21hcmtlciB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgd2lkdGg6IGliLXJlbSgxNHB4KTtcbiAgICBoZWlnaHQ6IGliLXJlbSgxNHB4KTtcbiAgICBtYXJnaW4tdG9wOiBpYi1yZW0oOHB4KTtcbiAgICBiYWNrZ3JvdW5kOiAkaWItcmVkLXBlYWNoO1xuICB9XG5cbiAgLy8g4pSA4pSAIE1vYmlsZSArIHRhYmxldCAo4omkMTAyNHB4KSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgLy8gU2luZ2xlIGNvbHVtbi4gVGhlIGNvbnRhY3QgYmxvY2sgaXMgcHVzaGVkIGJlbG93IHRoZSBub3RlcyBzbyB0aGUgc2VjdGlvblxuICAvLyByZWFkcyB0aXRsZSDihpIgZWxpZ2liaWxpdHkg4oaSIGhvdyB0byBnZXQgaW4gdG91Y2gsIHdoaWNoIGlzIHRoZSBvcmRlciB0aGF0XG4gIC8vIGFjdHVhbGx5IG1ha2VzIHNlbnNlIG9uY2UgdGhlIHR3byBjb2x1bW5zIGNvbGxhcHNlIGludG8gb25lLlxuICBAaW5jbHVkZSByZXNwb25kLXRvKCRpYi1icC10YWJsZXQpIHtcbiAgICAmX19jb250YWluZXIge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKTtcbiAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogbm9uZTtcbiAgICAgIHJvdy1nYXA6IGliLXJlbSgzMnB4KTtcbiAgICB9XG5cbiAgICAmX19oZWFkaW5nLFxuICAgICZfX2NvbnRhY3QsXG4gICAgJl9fbm90ZXMge1xuICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICBncmlkLXJvdzogYXV0bztcbiAgICB9XG5cbiAgICAmX19oZWFkaW5nIHtcbiAgICAgIEBpbmNsdWRlIGliLXR5cGUoXCJoZWFkbGluZS1tb2JpbGUtbGFyZ2VcIik7XG5cbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cblxuICAgICZfX25vdGVzIHtcbiAgICAgIG9yZGVyOiAyO1xuICAgIH1cblxuICAgICZfX2NvbnRhY3Qge1xuICAgICAgQGluY2x1ZGUgaWItdHlwZShcImJvZHktc21hbGxcIiwgJGliLWZvbnQtYm9keSk7XG5cbiAgICAgIG9yZGVyOiAzO1xuICAgICAgYWxpZ24tc2VsZjogc3RhcnQ7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cblxuICAgICZfX25vdGVzLXRpdGxlIHtcbiAgICAgIEBpbmNsdWRlIGliLXR5cGUoXCJoZWFkbGluZS1tb2JpbGUtc21hbGxcIik7XG4gICAgfVxuXG4gICAgJl9fbGlzdCB7XG4gICAgICBnYXA6IGliLXJlbSgyNHB4KTtcbiAgICAgIG1hcmdpbi10b3A6IGliLXJlbSgyNHB4KTtcbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgIEBpbmNsdWRlIGliLXR5cGUoXCJjYXB0aW9uLWxhcmdlXCIsICRpYi1mb250LWJvZHkpO1xuXG4gICAgICBnYXA6IGliLXJlbSgxNnB4KTtcbiAgICB9XG5cbiAgICAmX19tYXJrZXIge1xuICAgICAgd2lkdGg6IGliLXJlbSgxMnB4KTtcbiAgICAgIGhlaWdodDogaWItcmVtKDEycHgpO1xuXG4gICAgICAvLyAoMjJweCBjYXB0aW9uLWxhcmdlIGxpbmUtaGVpZ2h0IOKIkiAxMnB4KSDDtyAyXG4gICAgICBtYXJnaW4tdG9wOiBpYi1yZW0oNXB4KTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIGFzc2V0cy9zY3NzL3BhZ2VzL2l0ZXAuc2Nzc1xuLy8gRW50cnkgcG9pbnQg4oCUIEluZm9ybWF0aW9uIFRlY2hub2xvZ3kgRXhjZWxsZW5jZSBQcm9ncmFtIChJVEVQKSBwYWdlLlxuLy8gQ29tcGlsZTogbnBtIHJ1biBzYXNzOmJ1aWxkICB8ICBXYXRjaDogbnBtIHJ1biBzYXNzXG4vL1xuLy8gVGhlIGhlcm8gYW5kIHRoZSBwaW5uZWQgcGhvdG8tY2FzY2FkZSBhdCB0aGUgdG9wIG9mIGl0ZXAuaHRtbCBhcmUgdGhlXG4vLyBFbnRlcnByaXNlIFJlYWRpbmVzcyBzZWN0aW9ucyB1c2VkIHZlcmJhdGltIChzYW1lIG1hcmt1cCwgc2FtZSBKUyBtb2R1bGUpLFxuLy8gc28gdGhleSBhcmUgcHVsbGVkIGluIGZyb20gdGhhdCBmb2xkZXIgcmF0aGVyIHRoYW4gZHVwbGljYXRlZCDigJQgdGhlIHNhbWUgd2F5XG4vLyBlbnRlcnByaXNlLXJlYWRpbmVzcy5zY3NzIHJldXNlcyBzZXJ2aWNlbm93L2xldHMtdGFsay1zZWN0aW9uLiBFdmVyeXRoaW5nXG4vLyBiZWxvdyB0aGVtIGlzIElURVAtc3BlY2lmaWMgYW5kIGxpdmVzIGluIGBpdGVwL2Agd2l0aCB0aGUgYGl0ZXAtYCBwcmVmaXguXG4vL1xuLy8gTW9iaWxlIGJvdW5kYXJ5OiB0aGlzIHBhZ2UgZm9sbG93cyB0aGUgZXIvc24gY29udmVudGlvbiDigJQgdGhlIG1vYmlsZSBsYXlvdXRcbi8vIG93bnMgZXZlcnl0aGluZyB1cCB0byBhbmQgaW5jbHVkaW5nIHRhYmxldHMgKOKJpDEwMjRweCksIHNvIGV2ZXJ5IG1vYmlsZSBibG9ja1xuLy8gaW4gdGhlIGl0ZXAtIHBhcnRpYWxzIGtleXMgb2ZmICRpYi1icC10YWJsZXQgYW5kIGV2ZXJ5IEpTIG1vZHVsZSB1c2VzXG4vLyBNT0JJTEVfQlAgPSAxMDI0LiBObyBgQHVzZSAuLi4gd2l0aCAoLi4uKWAgYW55d2hlcmUsIHNvIGFsbCBwYWdlcyBzdGF5IHNhZmVcbi8vIHRvIGNvbXBpbGUgYXMgb25lIGJ1aWxkIChXb3JkUHJlc3MpLlxuXG4vLyBAdXNlIG11c3QgY29tZSBmaXJzdCDigJQgYWxsIHJ1bGVzIGdvIGluc2lkZSB0aGUgcGFydGlhbHNcbkB1c2UgXCIuLi91dGlsc1wiOyAgIC8vIHNoYXJlZCBpYi0gZGVzaWduIHRva2VucyArIGJyZWFrcG9pbnQgdG9rZW5zIChlbWl0cyBub3RoaW5nKVxuQHVzZSBcIi4uL2Jhc2VcIjsgICAgLy8gZ2xvYmFsIHJlc2V0ICsgOnJvb3QgY3VzdG9tIHByb3BlcnRpZXMgKyBodG1sL2JvZHkgYmFzZVxuQHVzZSBcIi4uL2hlbHBlcnNcIjsgLy8gLmliLW1vYmlsZS1vbmx5IC8gLmliLXRhYmxldC1vbmx5IC8gLmliLWRlc2t0b3Atb25seSAvIC5pYi1tLXJldmVhbFxuQHVzZSBcIi4uL2J1dHRvbnNcIjsgLy8gc2hhcmVkIGJ1dHRvbiBzeXN0ZW0gKG1vYmlsZSBzaXppbmcg4omkMTAyNHB4KVxuXG4vLyDilIDilIAgUmV1c2VkIHNlY3Rpb25zICh0b3Agb2YgcGFnZSkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5AdXNlIFwiLi4vZW50ZXJwcmlzZS1yZWFkaW5lc3MvaGVyby1zZWN0aW9uXCI7XG5AdXNlIFwiLi4vZW50ZXJwcmlzZS1yZWFkaW5lc3MvZGlzY2lwbGluZXMtc2VjdGlvblwiO1xuLy8gU2hhcmVkIHdpdGggdGhlIFRydWUgU3RvcnkgRGV0YWlsIHBhZ2Ug4oCUIHRoZSBwaW5uZWQgc3RhdGVtZW50ICsgY2FyZCBkZWNrLFxuLy8gcmV1c2VkIGFzLWlzIG9uIGluZm9iZWFucy1mb3VuZGF0aW9uLmh0bWwgKHdoaWNoIHNoaXBzIHRoaXMgYnVuZGxlKS5cbi8vIFB1bGxzIHRydWUtc3RvcnktZGV0YWlsL190aGVtZS5zY3NzIHRyYW5zaXRpdmVseSBmb3IgdGhlIC0tdHNkLXBhbmVsIGhvb2tzLlxuQHVzZSBcIi4uL3RydWUtc3RvcnktZGV0YWlsL3N0YXRlbWVudC1zZWN0aW9uXCI7XG5cbi8vIOKUgOKUgCBJVEVQLXNwZWNpZmljIHNlY3Rpb25zIChiZWxvdyBlci1kaXNjaXBsaW5lcy1zZWN0aW9uLCBpbiBET00gb3JkZXIpIOKUgOKUgOKUgOKUgOKUgFxuLy8gXCJzaGFyZWRcIiBpcyBub3QgbGlzdGVkOiBpdCBlbWl0cyBubyBDU1MsIGFuZCBlYWNoIHBhcnRpYWwgQHVzZXMgaXQgZGlyZWN0bHkuXG5AdXNlIFwiLi9jbGllbnQtc3BlYWtzLXNlY3Rpb25cIjtcbkB1c2UgXCIuL3BhcnRuZXJzLXNlY3Rpb25cIjtcbkB1c2UgXCIuL3RyYWluaW5nLXNlY3Rpb25cIjtcbkB1c2UgXCIuL25vdGVzLXNlY3Rpb25cIjtcblxuLy8g4pSA4pSAIFBhZ2UtbGV2ZWwgb3ZlcnJpZGVzIChhZnRlciBAdXNlKSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIFNjb3BlZCB0byAucGFnZS1pdGVwIHNvIG90aGVyIHBhZ2VzIGtlZXAgdGhlaXIgZ2xvYmFsIHNjcm9sbC1zbmFwIC8gb3ZlcmZsb3dcbi8vIGJlaGF2aW9yLiBvdmVyZmxvdy14OiBjbGlwIHByZXZlbnRzIGhvcml6b250YWwgb3ZlcmZsb3cgd2l0aG91dCBjcmVhdGluZyBhXG4vLyBzY3JvbGwgY29udGFpbmVyLCBzbyBwb3NpdGlvbjogc3RpY2t5IHN0aWxsIHdvcmtzLlxuYm9keS5wYWdlLWl0ZXAsIGJvZHkucGFnZS1pbmZvYmVhbnMtZm91bmRhdGlvbiB7XG4gIG92ZXJmbG93LXg6IGNsaXA7XG59XG5cbi8vIEZsdWlkIHJvb3QgZm9udC1zaXplIGNvbWVzIGZyb20gX2Jhc2Uuc2NzcyAoZ2xvYmFsLCBhbGwgaWItIHBhZ2VzKS5cbmh0bWw6aGFzKGJvZHkucGFnZS1pdGVwKSwgaHRtbDpoYXMoYm9keS5wYWdlLWluZm9iZWFucy1mb3VuZGF0aW9uKSB7XG4gIG92ZXJmbG93LXg6IGNsaXA7XG4gIHNjcm9sbC1zbmFwLXR5cGU6IG5vbmU7XG59XG4vLyBvdmVycmlkaW5nIHNvbWUgZW50ZXJwcmlzZS1yZWFkaW5lc3Mgc2VjdGlvbiBzdHlsZXMgZm9yIHRoZSBGb3VuZGF0aW9uIHBhZ2Vcbi5lci1tZXRyaWNzLXNlY3Rpb25fX2hlYWRpbmcuZm4tbWV0cmljcy1zZWN0aW9uX19oZWFkaW5nIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmVyLW1ldHJpY3Mtc2VjdGlvbi5mbi1tZXRyaWNzLXNlY3Rpb24ge1xuICBwYWRkaW5nOiB1dGlscy5pYi1yZW0oMTUwcHgpIHV0aWxzLmliLXJlbSgyNHB4KSB1dGlscy5pYi1yZW0oMjJweCk7XG5cbiAgQGluY2x1ZGUgdXRpbHMucmVzcG9uZC10byh1dGlscy4kaWItYnAtdGFibGV0KSB7XG4gICAgcGFkZGluZzogdXRpbHMuaWItcmVtKDQ4cHgpIHV0aWxzLmliLXJlbSgyMHB4KTtcbiAgfVxufVxuLmVyLWhlcm8tc2VjdGlvbl9fcGluLml0ZXAtaGVyby1zZWN0aW9uX19waW4ge1xuICBoZWlnaHQ6IGF1dG87XG59IiwiLy8gYXNzZXRzL3Njc3MvcGFnZXMvdGVjaG5vbG9neS9fcHJvamVjdC10eXBlcy1zZWN0aW9uLnNjc3Ncbi8vIFR5cGVzIG9mIFRlY2hub2xvZ3kgcHJvamVjdHMg4oCUIGRhcmsgc2VjdGlvbiBwYWlyaW5nIGEgdHdvLWxpbmUgaGVhZGxpbmUgd2l0aFxuLy8gYSB0cmFuc2x1Y2VudCBjYXJkIGhvbGRpbmcgYSAyIMOXIE4gbGlzdCBvZiBwcm9qZWN0IHR5cGVzLlxuLy9cbi8vIFNoZWxsIChiYWNrZ3JvdW5kLCBncmFpbiwgY29udGFpbmVyIGluc2V0LCBoZWFkbGluZSB0cmVhdG1lbnQpIGRlbGliZXJhdGVseVxuLy8gbWlycm9ycyBfaGlyaW5nLWVjb3N5c3RlbS1zZWN0aW9uLnNjc3Mgc28gdGhlIHR3byBkYXJrIHNlY3Rpb25zIGxpbmUgdXAgYW5kXG4vLyByZWFkIGFzIG9uZSBzeXN0ZW0gb24gdGhlIHBhZ2UuXG4vL1xuLy8gT05FIHNlbWFudGljIDx1bD4gZHJpdmVzIGJvdGggbGF5b3V0czpcbi8vICAgPiAxMDI0cHggIOKGkiB0d28gY29sdW1uczsgdGhlIGhhaXJsaW5lIHJ1bnMgY29udGludW91c2x5IGFjcm9zcyBib3RoIGNlbGxzXG4vLyAgICAgICAgICAgICAgIGJlY2F1c2UgdGhlIGdyaWQgaGFzIE5PIGNvbHVtbiBnYXAg4oCUIHRoZSBwZXItaXRlbSBpbmxpbmVcbi8vICAgICAgICAgICAgICAgcGFkZGluZyBjcmVhdGVzIHRoZSB2aXN1YWwgZ3V0dGVyIGluc3RlYWQsIHNvIGFkamFjZW50IGJvcmRlcnNcbi8vICAgICAgICAgICAgICAgbWVldCAoc2VlIF9faXRlbSkuXG4vLyAgIOKJpCAxMDI0cHggIOKGkiBvbmUgY29sdW1uLCB0aWdodGVyIGNhcmQgcGFkZGluZywgbW9iaWxlIHR5cGUgc2NhbGUuXG4vL1xuLy8gU3RhdGljIHNlY3Rpb246IG5vIEpTLiBGbHVpZCBzY2FsaW5nIHVzZXMgY2xhbXAoKSBhZ2FpbnN0IHRoZSAxNzI4cHggRmlnbWFcbi8vIGJhc2UsIHNhbWUgYXMgZXZlcnkgb3RoZXIgcGFydGlhbCBpbiB0aGlzIHByb2plY3QuXG5cbkB1c2UgXCIuLi91dGlsc1wiIGFzICo7XG5cbi8vIENhcmQgc3VyZmFjZSDigJQgb25lIHN0ZXAgbGlnaHRlciB0aGFuICRpYi1iZy1kYXJrLCBtYXRjaGluZyB0aGUgaGlyaW5nXG4vLyBtYXRyaXggY2FyZCBvbiB0aGlzIHBhZ2UuXG4kX2NhcmQtYmc6ICRpYi1ncmF5LWNoYXJjb2FsO1xuXG4vLyBMaXN0IGNvcHkgc2l0cyBqdXN0IHVuZGVyIHB1cmUgd2hpdGUgaW4gdGhlIGNvbXAg4oCUICRpYi1ncmF5LW1pc3QgaXMgdGhhdFxuLy8gdmFsdWUgaW4gdGhlIHRva2VuIHJhbXAuXG4kX2l0ZW0tdGV4dDogJGliLWdyYXktbWlzdDtcblxuLy8gUm93IGRpdmlkZXIg4oCUICM3ODc4NzggYXQgMjAlLCB0aGUgY29tcCdzIGV4YWN0IHZhbHVlLiAkaWItYm9yZGVyLWNvbG9yIGlzIGFcbi8vIGRpZmZlcmVudCB0aW50IChyZ2JhKCM2NzY3NzUsIDAuMTUpKSwgc28gdGhpcyBzdGF5cyBhIGxvY2FsIGNvbnN0YW50LlxuJF9kaXZpZGVyOiByZ2JhKCM3ODc4NzgsIC4yKTtcblxuLnRlY2gtcHJvamVjdC10eXBlcy1zZWN0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAkaWItYmctZGFyaztcblxuICAvLyBBbGwgZm91ciBzaWRlcyBsaXZlIG9uIHRoZSBzZWN0aW9uIGl0c2VsZiwgc28gdGhlIGdyYWluIGxheWVyIChpbnNldDogMClcbiAgLy8gY292ZXJzIHRoZSBwYWRkaW5nIHRvbyBhbmQgdGhlIGNvbnRhaW5lciBzdGF5cyBhIHB1cmUgcG9zaXRpb25pbmcgd3JhcHBlci5cbiAgLy9cbiAgLy8gMTEwcHggdG9wIGFuZCBib3R0b20gYXQgdGhlIDE3MjggZGVzaWduIGJhc2UsIGVhc2luZyBkb3duIG9uIG5hcnJvd2VyXG4gIC8vIHNjcmVlbnMuIFNpZGUgaW5zZXQgbWF0Y2hlcyAuZ2NjLWhpcmluZy1zZWN0aW9uX19jb250YWluZXIgc28gdGhpcyBzZWN0aW9uXG4gIC8vIGFsaWducyB3aXRoIHRoZSBvbmVzIGFyb3VuZCBpdDogNjBweCBhdCAxNzI4LCA0MHB4IOKJpDE0MDAsIDIwcHgg4omkMTAyNC5cbiAgLy8gVGhlIOKJpDEwMjRweCBibG9jayBvdmVycmlkZXMgYm90aCB3aXRoIHRoZSBtb2JpbGUgcmh5dGhtLlxuICAvL1xuICAvLyBDb250ZW50LWhlaWdodCwgbm90IGEgMTAwdmggcGFuZWwg4oCUIHRoZSBjb21wIHNpemVzIHRoaXMgc2VjdGlvbiBmcm9tIHRoZVxuICAvLyBjYXJkIHBsdXMgdGhpcyBwYWRkaW5nLlxuICBwYWRkaW5nLWJsb2NrOiBjbGFtcCg0OHB4LCA2LjM3dncsIDExMHB4KTsgLy8gMTEwLzE3MjhcbiAgcGFkZGluZy1pbmxpbmU6IGNsYW1wKDI4cHgsIDMuNDd2dywgNjBweCk7IC8vIDYwLzE3MjhcbiAgb3ZlcmZsb3c6IGNsaXA7IC8vIGNvbnRhaW5zIHRoZSBncmFpbiBsYXllciB3aXRob3V0IGNyZWF0aW5nIGEgc2Nyb2xsIGNvbnRleHRcblxuICAvLyBGaWxtLWdyYWluIHRleHR1cmUg4oCUIGdyYWluLXRpbGUucG5nICgyNTbDlzI1NikgcmF0aGVyIHRoYW4gdGhlIGZ1bGwtc2l6ZVxuICAvLyBncmFpbi5wbmcsIGZvciB0aGUgR1BVLXRleHR1cmUgcmVhc29uIGRvY3VtZW50ZWQgaW4gX3Njcm9sbC10YWJzLXNlY3Rpb24uXG4gIC8vIGBiYWNrZ3JvdW5kLXNpemVgIHN0YXlzIGBhdXRvYCBzbyBpdCB0aWxlcy5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICB6LWluZGV4OiAwO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uLy4uLy4uL3N0YXRpYy9hc3NldHMvaW1hZ2VzL2xhdGVzdC9ncmFpbi10aWxlLnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgLy8g4pSA4pSAIExheW91dCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgLy8gUG9zaXRpb25pbmcgd3JhcHBlciBvbmx5IOKAlCB0aGUgc2VjdGlvbiBhYm92ZSBvd25zIHRoZSBlZGdlIGluc2V0LlxuICAmX19jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxOyAvLyBhYm92ZSB0aGUgZ3JhaW4gbGF5ZXJcbiAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICB9XG5cbiAgLy8gSGVhZGxpbmUgY29sdW1uIGFuZCBjYXJkIHN0YXJ0IG9uIHRoZSBzYW1lIGxpbmUsIGV4YWN0bHkgYXMgdGhlIGNvbXAgc2hvd3MuXG4gICZfX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiBjbGFtcCg0MHB4LCA1Ljc5dncsIDEwMHB4KTsgLy8gMTAwLzE3MjhcbiAgfVxuXG4gIC8vIOKUgOKUgCBTY3JlZW4gKOKJpDE0MDBweCkg4oCUIG1hdGNoZXMgdGhlIHN0ZXAgdGhlIHNlY3Rpb25zIGFib3ZlIHRha2UgaGVyZVxuICBAaW5jbHVkZSByZXNwb25kLXRvKCRpYi1icC1kZXNrdG9wKSB7XG4gICAgcGFkZGluZy1pbmxpbmU6IGNsYW1wKDIwcHgsIDIuMzF2dywgNDBweCk7IC8vIDQwLzE3MjhcbiAgfVxuXG4gIC8vIOKUgOKUgCBIZWFkbGluZSBjb2x1bW4g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIC8vIGZsZXgtc2hyaW5rOiAwIHR1cm5zIHRoZSBiYXNpcyBpbnRvIGEgaGFyZCBmbG9vciwgc28gdGhlIGhlYWRsaW5lIG5ldmVyXG4gIC8vIHdyYXBzIG1pZC1waHJhc2Ugd2hpbGUgdGhlIGNhcmQgYWJzb3JicyB0aGUgcmVtYWluaW5nIHdpZHRoLlxuICAmX19oZWFkIHtcbiAgICBmbGV4OiAwIDAgY2xhbXAoMjYwcHgsIDI3Ljc4dncsIDQ4MHB4KTsgLy8gNDgwLzE3MjhcbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSBpYi10eXBlKFwiaGVhZGxpbmUtd2ViLWxhcmdlXCIpO1xuXG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiAkaWItdGV4dC1pbnZlcnQ7XG4gIH1cblxuICAmX190aXRsZS1saW5lIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gICZfX3RpdGxlLWxpbmUtLWFjY2VudCB7XG4gICAgY29sb3I6ICRpYi10ZXh0LWFjdGlvbjtcbiAgfVxuXG4gIC8vIOKUgOKUgCBDYXJkIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAmX19jYXJkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgbWluLXdpZHRoOiAwOyAvLyBsZXRzIHRoZSBjYXJkIHNocmluayBpbnNpZGUgdGhlIGZsZXggcm93IGluc3RlYWQgb2Ygb3ZlcmZsb3dpbmdcbiAgICBiYWNrZ3JvdW5kOiAkX2NhcmQtYmc7XG4gICAgcGFkZGluZzogY2xhbXAoMjRweCwgMi43OHZ3LCA0OHB4KSBjbGFtcCgyMHB4LCA0LjYzdncsIDgwcHgpOyAvLyA0OCAvIDgwIEAgMTcyOFxuXG4gICAgQGluY2x1ZGUgaWItbm90Y2goMjRweCwgMjRweCk7XG5cbiAgICAvLyBTYW1lIGZpbG0tZ3JhaW4gdGlsZSBhcyB0aGUgc2VjdGlvbiBzaGVsbC4gVGhlIHBhcmVudCdzIGNsaXAtcGF0aCBmcm9tXG4gICAgLy8gaWItbm90Y2goKSBjbGlwcyB0aGlzIHRvbywgc28gdGhlIGdyYWluIGZvbGxvd3MgdGhlIGNoYW1mZXJlZCBjb3JuZXJzIOKAlFxuICAgIC8vIG5vIGBvdmVyZmxvdzogaGlkZGVuYCBuZWVkZWQuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBpbnNldDogMDtcbiAgICAgIHotaW5kZXg6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi8uLi8uLi9zdGF0aWMvYXNzZXRzL2ltYWdlcy9sYXRlc3QvZ3JhaW4tdGlsZS5wbmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0O1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8g4pSA4pSAIExpc3Qg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIC8vIE5vIGNvbHVtbi1nYXAgb24gcHVycG9zZTogdGhlIGhhaXJsaW5lIHVuZGVyIGVhY2ggaXRlbSBoYXMgdG8gcmVhZCBhcyBvbmVcbiAgLy8gY29udGludW91cyBydWxlIGFjcm9zcyB0aGUgZnVsbCBjYXJkIHdpZHRoLiBUaGUgZ3V0dGVyIGNvbWVzIGZyb20gZWFjaFxuICAvLyBpdGVtJ3MgaW5saW5lIHBhZGRpbmcgaW5zdGVhZCwgc28gbmVpZ2hib3VyaW5nIGJvcmRlcnMgdG91Y2guXG4gICZfX2xpc3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxOyAvLyBhYm92ZSB0aGUgZ3JhaW4gbGF5ZXJcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICB9XG5cbiAgLy8gSGFpcmxpbmUgc2l0cyBvbiB0aGUgVE9QIG9mIGV2ZXJ5IGl0ZW0gcGFzdCB0aGUgZmlyc3Qgcm93LCBzbyB0aGUgcnVsZVxuICAvLyBjb3VudCBmb2xsb3dzIHRoZSBpdGVtIGNvdW50IOKAlCBubyBgbnRoLWxhc3QtY2hpbGRgIHR1bmVkIHRvIHRvZGF5J3MgZWlnaHRcbiAgLy8gZW50cmllcywgYW5kIGFuIG9kZCBmaW5hbCByb3cgc3RpbGwgZGl2aWRlcyBjb3JyZWN0bHkuXG4gICZfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiBjbGFtcCgxMnB4LCAuOTN2dywgMThweCk7IC8vIDE4LzE3MjhcbiAgICBwYWRkaW5nLWJsb2NrOiBjbGFtcCgxNnB4LCAyLjA4dncsIDM2cHgpOyAvLyAzNi8xNzI4XG4gICAgcGFkZGluZy1pbmxpbmUtZW5kOiBjbGFtcCgxNnB4LCAyLjMxdncsIDQwcHgpOyAvLyA0MC8xNzI4XG5cbiAgICAvLyBIYWlybGluZSBzdGF5cyBhIHJhdyBweCB2YWx1ZSwgbm90IGliLXJlbSgpIOKAlCBzYW1lIGNvbnZlbnRpb24gYXMgdGhlXG4gICAgLy8gcnVsZXMgaW4gX2hpcmluZy1lY29zeXN0ZW0tc2VjdGlvbi5zY3NzLiBJbiByZW0gaXQgd291bGQgc2NhbGUgd2l0aCB0aGVcbiAgICAvLyBmbHVpZCByb290IGFuZCByb3VuZCBhd2F5IHRvIG5vdGhpbmcgb24gc29tZSBkaXNwbGF5cy5cbiAgICAmOm50aC1jaGlsZChuICsgMykge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRfZGl2aWRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBTcXVhcmUgbWFya2VyIOKAlCBkZWNvcmF0aXZlLCBzbyB0aGUgPGxpPiBjYXJyaWVzIG5vIGxpc3QgbWFya2VyIG9mIGl0cyBvd24uXG4gIC8vIFRoZSB0b3Agb2Zmc2V0IGNlbnRyZXMgaXQgb24gdGhlIEZJUlNUIGxpbmUgb2YgYSB3cmFwcGluZyBsYWJlbCAoXCJDbG91ZC1cbiAgLy8gbmF0aXZlIGFwcGxpY2F0aW9uIGRldmVsb3BtZW50XCIpOiBoYWxmIHRoZSBsYWJlbCdzIGxpbmUgYm94IG1pbnVzIGhhbGYgdGhlXG4gIC8vIHNxdWFyZSwgaS5lLiAoMzQgLSAxNCkgLyAyIHdpdGggYm9keS1sYXJnZSdzIDM0cHggbGluZS4gU3RhdGVkIGluIHB4LWRlcml2ZWRcbiAgLy8gcmVtIHJhdGhlciB0aGFuIGBlbWAgYmVjYXVzZSB0aGUgbWFya2VyIGluaGVyaXRzIHRoZSA8bGk+J3MgZm9udC1zaXplLCBub3RcbiAgLy8gdGhlIGxhYmVsJ3Mg4oCUIGFuIGVtIGhlcmUgd291bGQgbWVhc3VyZSBhZ2FpbnN0IHRoZSB3cm9uZyBib3guXG4gICZfX21hcmtlciB7XG4gICAgZmxleDogbm9uZTtcbiAgICB3aWR0aDogaWItcmVtKDE0cHgpO1xuICAgIGhlaWdodDogaWItcmVtKDE0cHgpO1xuICAgIG1hcmdpbi10b3A6IGliLXJlbSgxMHB4KTtcbiAgICBiYWNrZ3JvdW5kOiAkaWItcmVkLXBlYWNoO1xuICB9XG5cbiAgJl9fbGFiZWwge1xuICAgIEBpbmNsdWRlIGliLXR5cGUoXCJib2R5LWxhcmdlXCIpO1xuXG4gICAgY29sb3I6ICRfaXRlbS10ZXh0O1xuICB9XG5cbiAgLy8g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQXG4gIC8vIE1PQklMRSArIFRBQkxFVCAo4omkMTAyNHB4KSDigJQgaGVhZGxpbmUgc3RhY2tzIG92ZXIgYSBzaW5nbGUtY29sdW1uIGNhcmQuXG4gIC8vIFRoaXMgcGFnZSdzIG1vYmlsZSBVSSBvd25zIGV2ZXJ5dGhpbmcgdXAgdG8gdGFibGV0cywgbWF0Y2hpbmcgdGhlIHJlc3Qgb2ZcbiAgLy8gdGhlIHBhcnRpYWxzIGl0IGlzIGJ1aWx0IG9uLlxuICAvLyDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZBcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRpYi1icC10YWJsZXQpIHtcbiAgICBwYWRkaW5nLWJsb2NrOiBjbGFtcCg0OHB4LCAxMnZ3LCA3MnB4KTtcbiAgICBwYWRkaW5nLWlubGluZTogaWItcmVtKDIwcHgpO1xuXG4gICAgJl9fY29udGVudCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgZ2FwOiBpYi1zcGFjZSgyNCk7XG4gICAgfVxuXG4gICAgJl9faGVhZCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICBAaW5jbHVkZSBpYi10eXBlKFwiZGlzcGxheS1tb2JpbGUtc21hbGxcIik7XG5cbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgfVxuXG4gICAgLy8gU2FtZSBjaGFtZmVyIGF0IHRoZSBzbWFsbGVyIDE2cHggY3V0LCBtYXRjaGluZyB0aGUgbW9iaWxlIGNhcmRzIGluXG4gICAgLy8gX2hpcmluZy1lY29zeXN0ZW0tc2VjdGlvbi5zY3NzLlxuICAgICZfX2NhcmQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiBpYi1yZW0oOHB4KSBpYi1yZW0oMjBweCk7XG5cbiAgICAgIEBpbmNsdWRlIGliLW5vdGNoKDE2cHgsIDE2cHgpO1xuICAgIH1cblxuICAgICZfX2xpc3Qge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKTtcbiAgICB9XG5cbiAgICAvLyBTaW5nbGUgY29sdW1uOiBldmVyeSBpdGVtIHBhc3QgdGhlIGZpcnN0IG9wZW5zIGEgbmV3IHJvdywgc28gdGhlIGRpdmlkZXJcbiAgICAvLyBydWxlIHNoaWZ0cyBmcm9tIGBuICsgM2AgdG8gYG4gKyAyYC5cbiAgICAmX19pdGVtIHtcbiAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogMDtcblxuICAgICAgJjpudGgtY2hpbGQobiArIDMpIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIH1cblxuICAgICAgJjpudGgtY2hpbGQobiArIDIpIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRfZGl2aWRlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19sYWJlbCB7XG4gICAgICBAaW5jbHVkZSBpYi10eXBlKFwiYm9keS1zbWFsbFwiKTtcblxuICAgICAgY29sb3I6ICRfaXRlbS10ZXh0O1xuICAgIH1cblxuICAgIC8vICgyNiAtIDEwKSAvIDIgYWdhaW5zdCBib2R5LXNtYWxsJ3MgMjZweCBsaW5lIGJveC5cbiAgICAmX19tYXJrZXIge1xuICAgICAgd2lkdGg6IGliLXJlbSgxMHB4KTtcbiAgICAgIGhlaWdodDogaWItcmVtKDEwcHgpO1xuICAgICAgbWFyZ2luLXRvcDogaWItcmVtKDhweCk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBhc3NldHMvc2Nzcy9wYWdlcy9ibG9nL19oZXJvLXNlY3Rpb24uc2Nzc1xuLy8gU2VjdGlvbjogQmxvZyBoZXJvIOKAlCBjZW50ZXJlZCBkaXNwbGF5IGhlYWRsaW5lIHdpdGggZ3JhZGllbnQgYWNjZW50XG4vLyAoXCJ3b3JsZCBvZiBJbmZvQmVhbnNcIikgb3ZlciB0aGUgY3JlYW0gcGFnZSBiYWNrZ3JvdW5kLCBmb2xsb3dlZCBieSB0aGVcbi8vIFwiR2V0IGluc2lnaHRzIGZyb20gSW5mb0JlYW5zXCIgZW1haWwtc3Vic2NyaWJlIGZvcm0uXG4vLyBGaWdtYTogbm9kZSA4NjE0OjE4NjkzIChkZXNrdG9wIDE3MjjDlzY2MCkgLyA5Mzc5OjE5ODc3IChtb2JpbGUgMzkww5c1MzQpLlxuXG5AdXNlIFwiLi4vdXRpbHNcIiBhcyAqO1xuXG4uYmwtaGVyby1zZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogJGliLWJnLXByaW1hcnk7XG4gIHBhZGRpbmctYmxvY2s6IGliLXJlbSgyNDhweCkgaWItcmVtKDg2cHgpO1xuXG4gIC8vIEhvcml6b250YWwgZWRnZXMgbWF0Y2ggdGhlIGhlYWRlci9mb290ZXIgY29udGFpbmVyIGV4YWN0bHkg4oCUIHNhbWUgYm94XG4gIC8vIG1vZGVsIGFzIC5oZWFkZXItY29udGFpbmVyICgxNTc2cHggYm94LCA0MHB4IGd1dHRlciBlYXRlbiBmcm9tIGluc2lkZSkuXG4gICZfX2NvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS1jb250YWluZXItd2lkdGgtcGFkZCk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1pbmxpbmU6IHZhcigtLWd1dHRlcik7XG4gICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgfVxuXG4gICZfX2hlYWRpbmcge1xuICAgIEBpbmNsdWRlIGliLXR5cGUoXCJkaXNwbGF5LXdlYi1zbWFsbFwiKTsgLy8gTGV4ZW5kIDI1MCA3Mi84OCBscyAtMi44OFxuXG4gICAgY29sb3I6ICRpYi10ZXh0LXByaW1hcnk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1heC13aWR0aDogaWItcmVtKDExMzBweCk7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cblxuICAvLyBcIndvcmxkIG9mIEluZm9CZWFuc1wiIOKAlCBibHVl4oaScmVkIGdyYWRpZW50IHRleHQgKEZpZ21hIGNoYXIgb3ZlcnJpZGUpXG4gICZfX2hlYWRpbmctYWNjZW50IHtcbiAgICBiYWNrZ3JvdW5kOiAkaWItZ3JhZGllbnQtdGV4dDtcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLy8g4pSA4pSAIFN1YnNjcmliZSBmb3JtIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAmX19mb3JtIHtcbiAgICBtYXJnaW46IGliLXJlbSg0NnB4KSBhdXRvIDA7XG4gICAgd2lkdGg6IGliLXJlbSg0MjZweCk7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogaWItc3BhY2UoMTYpO1xuICB9XG5cbiAgJl9fZm9ybS10aXRsZSB7XG4gICAgQGluY2x1ZGUgaWItdHlwZShcImJvZHktZXh0cmEtbGFyZ2VcIik7IC8vIExleGVuZCAyNTAgMjQvNDBcblxuICAgIGNvbG9yOiAkaWItZ3JheS1kYXJrO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAmX19mb3JtLXJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IGliLXNwYWNlKDgpO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgJl9faW5wdXQge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBoZWlnaHQ6IGliLXNpemUoNDgpO1xuICAgIHBhZGRpbmc6IGliLXJlbSgxMHB4KSBpYi1zcGFjZSgxNik7XG4gICAgYmFja2dyb3VuZDogcmdiYSgkaWItZ3JheS13aGl0ZSwgLjEpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRpYi1ncmF5LWxpZ2h0O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgZm9udC1mYW1pbHk6ICRpYi1mb250LWJvZHk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IG1heCgje2liLXJlbSgxNHB4KX0sIDEycHgpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU3MTsgLy8gMjIvMTQg4oCUIG1hdGNoZXMgdGhlIHBsYWNlaG9sZGVyJ3MgdGl0bGUtc21hbGwgc3R5bGVcbiAgICBjb2xvcjogJGliLXRleHQtcHJpbWFyeTtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIEBpbmNsdWRlIGliLXR5cGUoXCJ0aXRsZS1zbWFsbFwiKTsgLy8gTGV4ZW5kIDYwMCAxNC8yMlxuXG4gICAgICBjb2xvcjogJGliLXRleHQtc2Vjb25kYXJ5O1xuICAgIH1cblxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkaWItZ3JheS1tZWRpdW07XG4gICAgfVxuICB9XG5cbiAgLy8gTWF0Y2ggdGhlIGlucHV0J3MgcmVtIGhlaWdodCDigJQgdGhlIHNoYXJlZCAuaWItYnRuIGlzIGEgZml4ZWQgNDhweCwgc28gaXRcbiAgLy8gZHJpZnRzIHRhbGxlciB0aGFuIHRoZSAzcmVtIGlucHV0IG9uY2UgdGhlIGZsdWlkIHJvb3QgZHJvcHMgYmVsb3cgMTZweFxuICAmX19zdWJtaXQuaWItYnRuIHtcbiAgICBoZWlnaHQ6IGliLXNpemUoNDgpO1xuICB9XG5cbiAgLy8gRW50cmFuY2UgaXMgQ1NTLW9ubHkgKGtleWZyYW1lcyBvbiBsb2FkKSBzbyB0aGUgaGVybyBuZXZlciBkZXBlbmRzIG9uIEpTLlxuICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IG5vLXByZWZlcmVuY2UpIHtcbiAgICAmX19oZWFkaW5nLFxuICAgICZfX2Zvcm0ge1xuICAgICAgYW5pbWF0aW9uOiBibC1oZXJvLXJpc2UgLjlzIGN1YmljLWJlemllciguMjUsIC40NiwgLjQ1LCAuOTQpIGJvdGg7XG4gICAgfVxuXG4gICAgJl9fZm9ybSB7IGFuaW1hdGlvbi1kZWxheTogLjE1czsgfVxuICB9XG5cbiAgLy8g4pSA4pSAIE1vYmlsZSAo4omkMTAyNHB4IOKAlCB0aGlzIHBhZ2UncyBtb2JpbGUgZGVzaWduIG93bnMgdGFibGV0cyB0b28pIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICBAaW5jbHVkZSByZXNwb25kLXRvKCRpYi1icC10YWJsZXQpIHtcbiAgICAvLyBUb3AgPSA2NHB4IGRlc2lnbiBnYXAgKyB+ODBweCBmaXhlZC1oZWFkZXIgY2xlYXJhbmNlIChoZWFkZXIgb3ZlcmxheXNcbiAgICAvLyB0aGUgc2VjdGlvbiwgc28gd2l0aG91dCBpdCB0aGUgaGVhZGluZyBzdGFydHMgdW5kZXJuZWF0aCB0aGUgYmFyKVxuICAgIHBhZGRpbmctYmxvY2s6IGliLXJlbSgxNDRweCkgaWItcmVtKDY0cHgpO1xuXG4gICAgJl9fY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctaW5saW5lOiBpYi1yZW0oMjBweCk7XG4gICAgfVxuXG4gICAgJl9faGVhZGluZyB7XG4gICAgICAvLyBGaWdtYSBtb2JpbGU6IExleGVuZCAzMDAgNDgvNTIgbHMgLTEuOTIgKGRpc3BsYXktbW9iaWxlLWxhcmdlIEAgMzAwKVxuICAgICAgQGluY2x1ZGUgaWItdHlwZShcImRpc3BsYXktbW9iaWxlLWxhcmdlXCIpO1xuXG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG5cbiAgICAmX19mb3JtIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLXRvcDogaWItc3BhY2UoMzIpO1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgLy8gTW9iaWxlIGRlc2lnbiBoYXMgbm8gXCJHZXQgaW5zaWdodHNcIiBsaW5lIGFib3ZlIHRoZSBmaWVsZFxuICAgICZfX2Zvcm0tdGl0bGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmX19mb3JtLXJvdyB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgZ2FwOiBpYi1zcGFjZSgxNik7XG4gICAgfVxuXG4gICAgJl9faW5wdXQge1xuICAgICAgaGVpZ2h0OiBpYi1yZW0oNTBweCk7XG4gICAgICBwYWRkaW5nOiBpYi1yZW0oMTJweCkgaWItc3BhY2UoMTYpO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGZvbnQtc2l6ZTogbWF4KCN7aWItcmVtKDE2cHgpfSwgMTJweCk7XG5cbiAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgQGluY2x1ZGUgaWItdHlwZShcImJvZHktc21hbGxcIik7IC8vIExleGVuZCAzMDAgMTYvMjZcblxuICAgICAgICBjb2xvcjogJGliLXRleHQtc2Vjb25kYXJ5O1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX3N1Ym1pdCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuQGtleWZyYW1lcyBibC1oZXJvLXJpc2Uge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgaWItcmVtKDMycHgpLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbiIsIi8vIGFzc2V0cy9zY3NzL3BhZ2VzL2Jsb2cvX2NhcmRzLnNjc3Ncbi8vIENvbXBvbmVudDogZmVhdHVyZWQvcmVsYXRlZCBibG9nIGNhcmQg4oCUIG5vdGNoZWQgMTY6OSBpbWFnZSwgaGVhZGxpbmUsXG4vLyBvcHRpb25hbCBkZXNjcmlwdGlvbiAobW9iaWxlIG9ubHkpIGFuZCBtZXRyaWMtbGFiZWwgdGFnIGNoaXBzLlxuLy8gU2hhcmVkIGJ5IHRoZSBCbG9nIGxpc3RpbmcgXCJmZWF0dXJlZCBibG9nXCIgc2VjdGlvbiBhbmQgdGhlIEJsb2cgRGV0YWlsc1xuLy8gXCJSZWxhdGVkIEJsb2dzXCIgc2VjdGlvbiAoc2FtZSBGaWdtYSBjb21wb25lbnQ6IDg2MTQ6MTg3ODQgLyAxMjAxMzoxNTI3OSkuXG5cbkB1c2UgXCIuLi91dGlsc1wiIGFzICo7XG5cbi5ibC1jYXJkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWluLXdpZHRoOiAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiBpbmhlcml0O1xuXG4gICZfX21lZGlhIHtcbiAgICBtYXJnaW46IDAgMCBpYi1zcGFjZSgzMik7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBhc3BlY3QtcmF0aW86IDY5MyAvIDM5MDtcblxuICAgIEBpbmNsdWRlIGliLW5vdGNoKDIwcHgsIDIwcHgpOyAvLyB0b3AtbGVmdCArIGJvdHRvbS1yaWdodCBjcmVhbSBjdXRzXG4gIH1cbiAgXG4gICZfX3ZpZGVvIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gIH1cbiAgXG4gICZfX2ltYWdlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC42cyBjdWJpYy1iZXppZXIoLjE2LCAxLCAuMywgMSk7XG4gIH1cblxuICAmOmhvdmVyICZfX2ltYWdlLFxuICAmOmZvY3VzLXZpc2libGUgJl9faW1hZ2Uge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIH1cblxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCAkaWItcmVkLWJyYW5kO1xuICAgIG91dGxpbmUtb2Zmc2V0OiA0cHg7XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgQGluY2x1ZGUgaWItdHlwZShcImhlYWRsaW5lLXdlYi1zbWFsbFwiKTsgLy8gTGV4ZW5kIDQwMCAzMi80OFxuXG4gICAgY29sb3I6ICRpYi10ZXh0LXByaW1hcnk7XG4gICAgbWF4LXdpZHRoOiBpYi1yZW0oNjYzcHgpO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIE1vYmlsZS1vbmx5IHBlciBkZXNpZ24g4oCUIHRoZSBkZXNrdG9wIGNhcmRzIGNhcnJ5IG5vIGRlc2NyaXB0aW9uXG4gICZfX2Rlc2Mge1xuICAgIEBpbmNsdWRlIGliLXR5cGUoXCJib2R5LW1lZGl1bVwiKTsgLy8gTGV4ZW5kIDMwMCAxOC8zMFxuXG4gICAgY29sb3I6ICRpYi10ZXh0LXNlY29uZGFyeTtcbiAgICBtYXJnaW46IGliLXNwYWNlKDE2KSAwIDA7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICZfX3RhZ3Mge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogaWItc3BhY2UoOCk7XG4gICAgbWFyZ2luOiBpYi1zcGFjZSgxMikgMCAwO1xuICAgIHBhZGRpbmc6IGliLXNwYWNlKDgpIDAgMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICB9XG5cbiAgJl9fdGFnIHtcbiAgICBAaW5jbHVkZSBpYi10eXBlKFwibGFiZWwtZXh0cmEtc21hbGxcIik7IC8vIExleGVuZCA1MDAgMTIvMTggbHMgMS4yIFVQUEVSXG5cbiAgICBjb2xvcjogJGliLXRleHQtc2Vjb25kYXJ5O1xuICAgIGJhY2tncm91bmQ6ICRpYi1jcmVhbS1saWdodDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRpYi1ncmF5LWNoYXJjb2FsLCAuMSk7XG4gICAgcGFkZGluZzogaWItc3BhY2UoNCkgaWItc3BhY2UoMTIpO1xuICB9XG5cbiAgLy8g4pSA4pSAIE1vYmlsZSAo4omkMTAyNHB4KSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgQGluY2x1ZGUgcmVzcG9uZC10bygkaWItYnAtdGFibGV0KSB7XG4gICAgJl9fbWVkaWEge1xuICAgICAgY2xpcC1wYXRoOiBub25lOyAvLyBtb2JpbGUgY2FyZHMgYXJlIHBsYWluIHJlY3RhbmdsZXMgKG5vIG5vdGNoKVxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGFzcGVjdC1yYXRpbzogMzUwIC8gMTk2Ljg3NTtcbiAgICB9XG5cbiAgICAmX19ib2R5IHtcbiAgICAgIG1hcmdpbi10b3A6IGliLXNwYWNlKDMyKTtcbiAgICB9XG5cbiAgICAmX19kZXNjIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICZfX3RhZ3Mge1xuICAgICAgbWFyZ2luLXRvcDogaWItc3BhY2UoMzIpO1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBhc3NldHMvc2Nzcy9wYWdlcy9ibG9nL19mZWF0dXJlZC1zZWN0aW9uLnNjc3Ncbi8vIFNlY3Rpb246IGZlYXR1cmVkIGJsb2cg4oCUIHR3byBub3RjaGVkIGNhcmRzIHNpZGUgYnkgc2lkZSB1bmRlciB0aGUgaGVyby5cbi8vIEZpZ21hOiBub2RlIDg2MTQ6MTg3ODQgKGRlc2t0b3AgMTcyOMOXOTU4KSAvIDkzNzk6MTk4OTMgKG1vYmlsZSkuXG5cbkB1c2UgXCIuLi91dGlsc1wiIGFzICo7XG5cbi5ibC1mZWF0dXJlZC1zZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogJGliLWJnLXByaW1hcnk7XG4gIHBhZGRpbmctYmxvY2s6IGliLXJlbSgxNzRweCkgaWItcmVtKDIxN3B4KTtcblxuICAvLyBIb3Jpem9udGFsIGVkZ2VzIG1hdGNoIHRoZSBoZWFkZXIvZm9vdGVyIGNvbnRhaW5lciBleGFjdGx5IOKAlCBzYW1lIGJveFxuICAvLyBtb2RlbCBhcyAuaGVhZGVyLWNvbnRhaW5lciAoMTU3NnB4IGJveCwgNDBweCBndXR0ZXIgZWF0ZW4gZnJvbSBpbnNpZGUpLlxuICAmX19ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcbiAgICBnYXA6IGliLXJlbSgzMHB4KTtcbiAgICBtYXgtd2lkdGg6IHZhcigtLWNvbnRhaW5lci13aWR0aC1wYWRkKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLWlubGluZTogdmFyKC0tZ3V0dGVyKTtcbiAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICB9XG5cbiAgLy8g4pSA4pSAIE1vYmlsZSAo4omkMTAyNHB4KSDigJQgc3RhY2tlZDsgY2FyZCB0ZXh0IHNpdHMgYWJvdmUgaXRzIGltYWdlIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICBAaW5jbHVkZSByZXNwb25kLXRvKCRpYi1icC10YWJsZXQpIHtcbiAgICBwYWRkaW5nLWJsb2NrOiBpYi1yZW0oODBweCk7XG4gICAgYm9yZGVyLWJsb2NrOiAxcHggc29saWQgJGliLWdyYXktbWlzdDtcblxuICAgICZfX2dyaWQge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICBnYXA6IGliLXNwYWNlKDY0KTtcbiAgICAgIHBhZGRpbmctaW5saW5lOiBpYi1yZW0oMjBweCk7XG4gICAgfVxuXG4gICAgLy8gTW9iaWxlIGRlc2lnbiBvcmRlcjogdGl0bGUgKyBkZXNjcmlwdGlvbiBmaXJzdCwgaW1hZ2UsIHRoZW4gdGFnc1xuICAgIC5ibC1jYXJkIHtcbiAgICAgICZfX2JvZHkge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cblxuICAgICAgJl9fbWVkaWEge1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgbWFyZ2luLXRvcDogaWItc3BhY2UoMzIpO1xuICAgICAgfVxuXG4gICAgICAmX190YWdzIHsgb3JkZXI6IDM7IH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIGFzc2V0cy9zY3NzL3BhZ2VzL2Jsb2cvX2FydGljbGVzLXNlY3Rpb24uc2Nzc1xuLy8gU2VjdGlvbjogQWxsIGFydGljbGVzIOKAlCBoZWFkaW5nLCB1bmRlcmxpbmUgc2VhcmNoIGZpZWxkICsgY2F0ZWdvcnkgZmlsdGVyXG4vLyBjaGlwcywgYXJ0aWNsZSByb3dzIChpbWFnZSArIGNhdGVnb3J5ICsgdGl0bGUpIGFuZCBwYWdpbmF0aW9uLlxuLy8gRmlnbWE6IG5vZGUgODg4Mzo3NjIwIChkZXNrdG9wIDE3MjjDlzE2MzcpIC8gOTM3OToxOTkwNSAobW9iaWxlKS5cblxuQHVzZSBcIi4uL3V0aWxzXCIgYXMgKjtcblxuLmJsLWFydGljbGVzLXNlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiAkaWItYmctcHJpbWFyeTtcbiAgcGFkZGluZy1ibG9jazogMCBpYi1yZW0oODBweCk7XG5cbiAgLy8gSG9yaXpvbnRhbCBlZGdlcyBtYXRjaCB0aGUgaGVhZGVyL2Zvb3RlciBjb250YWluZXIgZXhhY3RseSDigJQgc2FtZSBib3hcbiAgLy8gbW9kZWwgYXMgLmhlYWRlci1jb250YWluZXIgKDE1NzZweCBib3gsIDQwcHggZ3V0dGVyIGVhdGVuIGZyb20gaW5zaWRlKS5cbiAgJl9fY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IHZhcigtLWNvbnRhaW5lci13aWR0aC1wYWRkKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLWlubGluZTogdmFyKC0tZ3V0dGVyKTtcbiAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICB9XG5cbiAgJl9faGVhZGluZyB7XG4gICAgLy8gRmlnbWE6IExleGVuZCAzMDAgNDgvNTIgbHMgLTEuOTIgKGRpc3BsYXktbW9iaWxlLWxhcmdlIHNjYWxlIEAgd2VpZ2h0IDMwMClcbiAgICBAaW5jbHVkZSBpYi10eXBlKFwiZGlzcGxheS1tb2JpbGUtbGFyZ2VcIik7XG5cbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGNvbG9yOiAkaWItdGV4dC1wcmltYXJ5O1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIOKUgOKUgCBTZWFyY2ggKyBmaWx0ZXJzIHJvdyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgJl9fdG9vbGJhciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IGliLXNwYWNlKDI0KTtcbiAgICBtYXJnaW4tdG9wOiBpYi1zcGFjZSgyNCk7XG4gIH1cblxuICAmX19zZWFyY2gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IGliLXNwYWNlKDEyKTtcbiAgICB3aWR0aDogaWItcmVtKDM5N3B4KTtcbiAgICBoZWlnaHQ6IGliLXJlbSg1MHB4KTtcbiAgICBwYWRkaW5nOiBpYi1yZW0oMTJweCkgaWItc3BhY2UoMTYpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkaWItZ3JheS1tZWRpdW07XG4gIH1cblxuICAmX19zZWFyY2gtaWNvbiB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgd2lkdGg6IGliLXNpemUoMjQpO1xuICAgIGhlaWdodDogaWItc2l6ZSgyNCk7XG4gICAgY29sb3I6ICRpYi1ncmF5LWRlZXA7XG4gIH1cblxuICAmX19zZWFyY2gtaW5wdXQge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LWZhbWlseTogJGliLWZvbnQtYm9keTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGZvbnQtc2l6ZTogbWF4KCN7aWItcmVtKDE4cHgpfSwgMTJweCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgY29sb3I6ICRpYi10ZXh0LXByaW1hcnk7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGliLXRleHQtc2Vjb25kYXJ5O1xuICAgIH1cblxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICZfX2ZpbHRlcnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiBpYi1zcGFjZSgxMik7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gICZfX2ZpbHRlciB7XG4gICAgQGluY2x1ZGUgaWItdHlwZShcImxhYmVsLWV4dHJhLXNtYWxsXCIpOyAvLyBMZXhlbmQgNTAwIDEyLzE4IGxzIDEuMiBVUFBFUlxuXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBoZWlnaHQ6IGliLXJlbSg1MHB4KTtcbiAgICBwYWRkaW5nOiBpYi1zcGFjZSg0KSBpYi1zcGFjZSgxMik7XG4gICAgY29sb3I6ICRpYi10ZXh0LXNlY29uZGFyeTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRpYi1ncmF5LWNoYXJjb2FsLCAuMSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246ICRpYi10cmFuc2l0aW9uLXNtb290aDtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgkaWItY3JlYW0tbGlnaHQsIC42KTtcbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkaWItY3JlYW0tbGlnaHQ7XG4gICAgfVxuXG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IDJweCBzb2xpZCAkaWItcmVkLWJyYW5kO1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgICB9XG4gIH1cblxuICAvLyDilIDilIAgQXJ0aWNsZSByb3dzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAmX19saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiBpYi1zcGFjZSgxMik7XG4gICAgbWFyZ2luOiBpYi1yZW0oMjBweCkgMCAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgfVxuXG4gICZfX3JvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogaWItcmVtKDQ0cHgpO1xuICAgIHBhZGRpbmc6IGliLXNwYWNlKDQwKSBpYi1zcGFjZSgyNCk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjNzIGN1YmljLWJlemllciguMTYsIDEsIC4zLCAxKTtcblxuICAgIC8vIEZpZ21hOiB3aG9sZSByb3cgdGludHMgb24gaG92ZXIgKCNGRkVGRDEgPSAkaWItY3JlYW0tbGlnaHQpIGFuZCB0aGVcbiAgICAvLyBcIlJlYWQgYXJ0aWNsZVwiIENUQSBmYWRlcyBpbiDigJQgc2VlICZfX2N0YSBiZWxvdy5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkaWItY3JlYW0tbGlnaHQ7XG4gICAgfVxuXG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IDJweCBzb2xpZCAkaWItcmVkLWJyYW5kO1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgICB9XG4gIH1cblxuICAmX190aHVtYiB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgd2lkdGg6IGliLXJlbSg0MDlweCk7XG4gICAgbWFyZ2luOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBhc3BlY3QtcmF0aW86IDM1MCAvIDE5Ni44NzU7XG4gIH1cblxuICAmX190aHVtYi1pbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjZzIGN1YmljLWJlemllciguMTYsIDEsIC4zLCAxKTtcbiAgfVxuXG4gICZfX3Jvdzpob3ZlciAmX190aHVtYi1pbWcsXG4gICZfX3Jvdzpmb2N1cy12aXNpYmxlICZfX3RodW1iLWltZyB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgfVxuXG4gICZfX3Jvdy1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiBpYi1zcGFjZSgxNik7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogaWItcmVtKDc5OHB4KTtcbiAgfVxuXG4gICZfX2NhdGVnb3J5IHtcbiAgICBAaW5jbHVkZSBpYi10eXBlKFwiY2FwdGlvbi1sYXJnZVwiKTsgLy8gTGV4ZW5kIDMwMCAxNHB4XG5cbiAgICBsaW5lLWhlaWdodDogMS43MTQ7IC8vIEZpZ21hIDE0LzI0IChjYXB0aW9uLWxhcmdlIHRva2VuIGlzIDE0LzIyKVxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICRpYi10ZXh0LXNlY29uZGFyeTtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgLy8gRmlnbWE6IExleGVuZCAzMDAgMjQvNDAgKGJvZHktZXh0cmEtbGFyZ2Ugc2NhbGUgQCB3ZWlnaHQgMzAwKVxuICAgIEBpbmNsdWRlIGliLXR5cGUoXCJib2R5LWV4dHJhLWxhcmdlXCIpO1xuXG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBjb2xvcjogJGliLXRleHQtcHJpbWFyeTtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAmX190aXRsZS1hY2NlbnQge1xuICAgIGNvbG9yOiAkaWItcmVkLWJyYW5kO1xuICB9XG5cbiAgLy8gRXBpc29kZSAvIGR1cmF0aW9uIGxpbmUgdW5kZXIgdGhlIHRpdGxlIOKAlCBzYW1lIHR5cGUgc2NhbGUgYXMgJl9fY3RhXG4gIC8vIChcIlJlYWQgQXJ0aWNsZVwiKSwgc2Vjb25kYXJ5IGNvbG9yIGluc3RlYWQgb2YgcmVkLiBBbHdheXMgdmlzaWJsZS5cbiAgJl9fbWV0YSB7XG4gICAgQGluY2x1ZGUgaWItdHlwZShcImxhYmVsLXNtYWxsXCIpOyAvLyBMZXhlbmQgNDAwIDE0LzIyIGxzIDAuNyBVUFBFUlxuXG4gICAgY29sb3I6ICRpYi10ZXh0LXNlY29uZGFyeTtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBXaGVyZSAvIFdoZW4gcGFpciBmb3IgZXZlbnQgcm93cy4gU2l0cyB1bmRlciAmX19tZXRhIGFuZCByZWFkcyBhcyBib2R5XG4gIC8vIGNvcHksIG5vdCBhcyBhIGxhYmVsIGxpbmUg4oCUIHRoZSBcIldoZXJlOlwiIC8gXCJXaGVuOlwiIHByZWZpeGVzIGFyZSB0aGUgb25seVxuICAvLyBwYXJ0IGluIHNlY29uZGFyeSBjb2xvdXIsIHNvIHRoZSBhY3R1YWwgdmVudWUgYW5kIGRhdGVzIGNhcnJ5IHRoZSB3ZWlnaHQuXG4gICZfX2V2ZW50LW1ldGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgLy8gYW5jaG9ycyB0aGUgY2VudHJlIGRpdmlkZXIgYmVsb3dcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG5cbiAgICAvLyBXaGVyZSBwaW5zIGxlZnQsIFdoZW4gcGlucyByaWdodCDigJQgdGhlIGRpdmlkZXIgaXMgbm90IHdoYXQgc2VwYXJhdGVzXG4gICAgLy8gdGhlbSwgc28gaXQgaXMgZGVsaWJlcmF0ZWx5IG5vdCBhIGdhcC1iYXNlZCBkZXZpY2UgKHNlZSAmOjphZnRlcikuXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgLy8gUm93IGdhcCBvbmx5IGFwcGxpZXMgb25jZSB0aGUgcGFpciB3cmFwcyBvbnRvIHR3byBsaW5lcy5cbiAgICBnYXA6IGliLXNwYWNlKDgpIGliLXNwYWNlKDQ4KTtcbiAgICBtYXJnaW46IDA7XG5cbiAgICBAaW5jbHVkZSBpYi10eXBlKFwiYm9keS1zbWFsbFwiKTsgLy8gTGV4ZW5kIDMwMCAxNi8yNlxuXG4gICAgY29sb3I6ICRpYi10ZXh0LXByaW1hcnk7XG5cbiAgICAvLyBTaG9ydCAxMnB4IHJ1bGUgYXQgdGhlIHRydWUgY2VudHJlIG9mIHRoZSByb3csIGluZGVwZW5kZW50IG9mIGhvdyB3aWRlXG4gICAgLy8gZWl0aGVyIHNpZGUncyB0ZXh0IHJ1bnMuIENlbnRyaW5nIGl0IG9uIHRoZSByb3cgKG5vdCBpbnNpZGUgdGhlIGdhcFxuICAgIC8vIGJldHdlZW4gdGhlIGl0ZW1zKSBpcyB3aGF0IGtlZXBzIGl0IG9uIHRoZSBzYW1lIHZlcnRpY2FsIGxpbmUgZG93biB0aGVcbiAgICAvLyBsaXN0IGV2ZW4gdGhvdWdoIHZlbnVlcyBhbmQgZGF0ZSByYW5nZXMgZGlmZmVyIGluIGxlbmd0aCByb3cgdG8gcm93LlxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHdpZHRoOiBpYi1yZW0oMXB4KTtcbiAgICAgIGhlaWdodDogaWItcmVtKDEycHgpO1xuICAgICAgYmFja2dyb3VuZDogJGliLWJvcmRlci1zZWNvbmRhcnk7IC8vICNhN2E3YjBcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCk7XG4gICAgfVxuICB9XG5cbiAgJl9fZXZlbnQtbWV0YS1sYWJlbCB7XG4gICAgY29sb3I6ICRpYi10ZXh0LXNlY29uZGFyeTtcbiAgfVxuXG4gIC8vIE1vYmlsZS1vbmx5IHBlciBkZXNpZ24g4oCUIGRlc2t0b3Agcm93cyBjYXJyeSBubyBkZXNjcmlwdGlvblxuICAmX19kZXNjIHtcbiAgICBAaW5jbHVkZSBpYi10eXBlKFwiYm9keS1zbWFsbFwiKTsgLy8gTGV4ZW5kIDMwMCAxNi8yNlxuXG4gICAgY29sb3I6ICRpYi10ZXh0LXNlY29uZGFyeTtcbiAgICBtYXJnaW46IDA7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIFwiUmVhZCBhcnRpY2xlXCIg4oCUIGhvdmVyLXJldmVhbCBvbiBkZXNrdG9wLCBhbHdheXMgdmlzaWJsZSBvbiBtb2JpbGUgKGJlbG93KS5cbiAgLy8gT25seSBvcGFjaXR5L3RyYW5zZm9ybSBhbmltYXRlLCBzbyB0aGUgcm93IGhlaWdodCBuZXZlciBzaGlmdHMgb24gaG92ZXIuXG4gIC8vIFRleHQgKyBicmVhay1hcnJvdyBwYWlyLCBzYW1lIGFzIC5zbi1jb250ZW50LXNsaWRlcl9fc3RvcnktbGlua1xuICAvLyAoXCJWaWV3IFRydWUgU3RvcnlcIikg4oCUIHNlZSBzZXJ2aWNlbm93L19zY3JvbGwtdGFicy1zZWN0aW9uLnNjc3MuXG4gICZfX2N0YSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IGliLXJlbSgxNnB4KTtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG5cbiAgICBAaW5jbHVkZSBpYi10eXBlKFwibGFiZWwtc21hbGxcIik7IC8vIExleGVuZCA0MDAgMTQvMjIgbHMgMC43IFVQUEVSXG5cbiAgICBjb2xvcjogJGliLXJlZC1icmFuZDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgaWItcmVtKDRweCksIDApO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjNzIGVhc2UsIHRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKC4xNiwgMSwgLjMsIDEpO1xuICB9XG5cbiAgLy8gQXJyb3cgc2xpZGVzIGluIGZyb20gYmVoaW5kIHRoZSBsYWJlbCwgYSBiZWF0IGFmdGVyIHRoZSBDVEEgZmFkZXMgdXAg4oCUXG4gIC8vIHRoZSBzbWFsbCBkZWxheSBpcyB3aGF0IG1ha2VzIGl0IHJlYWQgYXMgdHdvIG1vdmVzIGluc3RlYWQgb2Ygb25lIGJsb2NrLlxuICAmX19jdGEtYXJyb3cge1xuICAgIGZsZXg6IG5vbmU7XG4gICAgZmlsbDogY3VycmVudGNvbG9yO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoaWItcmVtKC0xMHB4KSwgMCwgMCk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC40NXMgY3ViaWMtYmV6aWVyKC4xNiwgMSwgLjMsIDEpIC4xcztcbiAgfVxuXG4gICZfX3Jvdzpob3ZlciAmX19jdGEtYXJyb3csXG4gICZfX3Jvdzpmb2N1cy12aXNpYmxlICZfX2N0YS1hcnJvdyB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gICZfX3Jvdzpob3ZlciAmX19jdGEsXG4gICZfX3Jvdzpmb2N1cy12aXNpYmxlICZfX2N0YSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgLy8g4pSA4pSAIFBhZ2luYXRpb24g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIC8vIENvbG9ycywgc2l6aW5nIGFuZCBzdGF0ZXMgbWlycm9yIHRzLXByb2plY3RzLXNlY3Rpb25fX3BhZ2luYXRpb25cbiAgLy8gKGFzc2V0cy9zY3NzL3BhZ2VzL3RydWUtc3Rvcmllcy9fcHJvamVjdHMtc2VjdGlvbi5zY3NzKSBleGFjdGx5IOKAlCBzYW1lXG4gIC8vICRpYi10ZXh0LXByaW1hcnkgcGFnZS9sYWJlbCBjb2xvciwgYm9yZGVybGVzcyBwcmV2L25leHQgd2l0aCBhIGRpdmlkZXIsXG4gIC8vIGFuZCAkaWItcmVkLWJyYW5kIHN2ZyB0aGF0IGRpbXMgdG8gJGliLWdyYXktbWlzdCBvbmx5IHdoZW4gZGlzYWJsZWQuXG4gICZfX3BhZ2luYXRpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiBpYi1zcGFjZSgyNCk7XG4gICAgcGFkZGluZzogaWItc3BhY2UoNDApIDA7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRpYi1ncmF5LW1pc3Q7XG4gIH1cblxuICAmX19wYWdlcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogaWItc3BhY2UoMTYpO1xuICB9XG5cbiAgJl9fcGFnZS1saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiBpYi1zcGFjZSg0KTtcbiAgfVxuXG4gICZfX3BhZ2VzLWxhYmVsIHtcbiAgICBjb2xvcjogJGliLXRleHQtcHJpbWFyeTtcbiAgfVxuXG4gICZfX3BhZ2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWluLXdpZHRoOiBpYi1yZW0oNDJweCk7XG4gICAgaGVpZ2h0OiBpYi1yZW0oNDJweCk7XG4gICAgcGFkZGluZzogMCBpYi1zcGFjZSg4KTtcbiAgICBjb2xvcjogJGliLXRleHQtcHJpbWFyeTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgLy8gYWN0aXZlIHBhZ2UgaXMgYSBzcXVhcmUsIG5vdCBhIHBpbGxcblxuICAgICYuaXMtY3VycmVudCB7XG4gICAgICBiYWNrZ3JvdW5kOiAkaWItY3JlYW0tbGlnaHQ7XG4gICAgfVxuXG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IDJweCBzb2xpZCAkaWItcmVkLWJyYW5kO1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgICB9XG4gIH1cblxuICAmX19wYWdlLS1lbGxpcHNpcyB7XG4gICAgY29sb3I6ICRpYi10ZXh0LXByaW1hcnk7XG4gICAgcGFkZGluZzogMCBpYi1zcGFjZSg0KTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gICZfX3BhZ2VzLWxhYmVsLFxuICAmX19wYWdlLFxuICAmX19wYWdlLS1lbGxpcHNpcyB7XG4gICAgZm9udC1mYW1pbHk6ICRpYi1mb250LWhlYWRpbmc7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IG1heCgje2liLXJlbSgxOHB4KX0sIDEycHgpO1xuICAgIGxpbmUtaGVpZ2h0OiBpYi1yZW0oNDBweCk7XG4gIH1cblxuICAmX19uYXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IGliLXNwYWNlKDI0KTtcbiAgfVxuXG4gICZfX25hdi1idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogaWItc3BhY2UoOCk7XG4gICAgd2lkdGg6IGliLXJlbSgxMzJweCk7XG4gICAgaGVpZ2h0OiBpYi1yZW0oNDJweCk7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgZm9udC1mYW1pbHk6ICRpYi1mb250LWhlYWRpbmc7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IG1heCgje2liLXJlbSgxNnB4KX0sIDEycHgpO1xuICAgIGxpbmUtaGVpZ2h0OiBpYi1yZW0oMTZweCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogJGliLXRleHQtcHJpbWFyeTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICBzdmcge1xuICAgICAgd2lkdGg6IGliLXJlbSgyMHB4KTtcbiAgICAgIGhlaWdodDogaWItcmVtKDIwcHgpO1xuICAgICAgY29sb3I6ICRpYi1yZWQtYnJhbmQ7XG4gICAgfVxuXG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IDJweCBzb2xpZCAkaWItcmVkLWJyYW5kO1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgICB9XG5cbiAgICAmOmRpc2FibGVkIHtcbiAgICAgIG9wYWNpdHk6IC4yNTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgICBzdmcge1xuICAgICAgICBjb2xvcjogJGliLWdyYXktbWlzdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyAxcHggdmVydGljYWwgZGl2aWRlciBjZW50ZXJlZCBpbiBfX25hdidzIGdhcCwgYmV0d2VlbiBQcmV2IGFuZCBOZXh0LlxuICAmX19uYXYtYnRuOmxhc3QtY2hpbGQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLSN7aWItc3BhY2UoMTIpfTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDFweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogJGliLWdyYXktbWlzdDtcbiAgfVxuXG4gIC8vIOKUgOKUgCBNb2JpbGUgKOKJpDEwMjRweCkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8oJGliLWJwLXRhYmxldCkge1xuICAgIHBhZGRpbmctYmxvY2s6IGliLXJlbSg4MHB4KTtcblxuICAgICZfX2NvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLWlubGluZTogaWItcmVtKDIwcHgpO1xuICAgIH1cblxuICAgICZfX2hlYWRpbmcge1xuICAgICAgQGluY2x1ZGUgaWItdHlwZShcImRpc3BsYXktbW9iaWxlLW1lZGl1bVwiKTsgLy8gTGV4ZW5kIDQwMCA0MC80NCBscyAtMS42XG4gICAgfVxuXG4gICAgJl9fdG9vbGJhciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICBnYXA6IGliLXNwYWNlKDI0KTtcbiAgICB9XG5cbiAgICAmX19zZWFyY2gge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJl9fZmlsdGVycyB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBnYXA6IGliLXNwYWNlKDgpO1xuICAgIH1cblxuICAgICZfX2ZpbHRlciB7XG4gICAgICBoZWlnaHQ6IGliLXJlbSgzMHB4KTtcbiAgICAgIHBhZGRpbmc6IGliLXJlbSg2cHgpIGliLXNwYWNlKDEyKTtcbiAgICAgIGJvcmRlcjogLjVweCBzb2xpZCAkaWItZ3JheS1saWdodDtcblxuICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkaWItY3JlYW0tbGlnaHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUm93cyBiZWNvbWUgc3RhY2tlZCBjYXJkcyB3aXRoIGEgYm90dG9tIGhhaXJsaW5lXG4gICAgJl9fbGlzdCB7XG4gICAgICBnYXA6IGliLXNwYWNlKDMyKTtcbiAgICAgIG1hcmdpbi10b3A6IGliLXNwYWNlKDQwKTtcbiAgICB9XG5cbiAgICAmX19yb3cge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgZ2FwOiBpYi1zcGFjZSgxNik7XG4gICAgICBwYWRkaW5nOiAwIDAgaWItc3BhY2UoMzIpO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRpYi1ncmF5LW1pc3Q7XG5cbiAgICAgIC8vIE5vIHJvdyB0aW50IGF0IHRoaXMgd2lkdGgg4oCUIHJvd3MgYXJlIGVkZ2UtdG8tZWRnZSBjYXJkcyB3aXRoIG5vXG4gICAgICAvLyBwYWRkaW5nIHRvIGNhcnJ5IGEgYmFja2dyb3VuZCwgYW5kIHRvdWNoIGhhcyBubyBob3ZlciBzdGF0ZSBhbnl3YXkuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGh1bWIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJl9fcm93LWNvbnRlbnQge1xuICAgICAgZ2FwOiBpYi1zcGFjZSgxMik7XG4gICAgfVxuXG4gICAgJl9fY2F0ZWdvcnkge1xuICAgICAgQGluY2x1ZGUgaWItdHlwZShcImxhYmVsLWV4dHJhLXNtYWxsXCIpOyAvLyBMZXhlbmQgNTAwIDEyLzE4IGxzIDEuMiBVUFBFUlxuXG4gICAgICBjb2xvcjogJGliLXJlZC1icmFuZDtcbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICBAaW5jbHVkZSBpYi10eXBlKFwiaGVhZGxpbmUtbW9iaWxlLXNtYWxsXCIpOyAvLyBMZXhlbmQgNDAwIDIwLzI4XG4gICAgfVxuXG4gICAgJl9fZGVzYyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvLyBXaGVyZSAvIFdoZW4gc3RhY2sgYXQgdGhpcyB3aWR0aCwgc28gYm90aCB0aGUgZWRnZSBhbGlnbm1lbnQgYW5kIHRoZVxuICAgIC8vIGNlbnRyZSBkaXZpZGVyIHN0b3AgbWVhbmluZyBhbnl0aGluZyDigJQgdGhlIHJ1bGUgd291bGQgbGFuZCBpbiB0aGUgbWlkZGxlXG4gICAgLy8gb2YgdGhlIHN0YWNrIHJhdGhlciB0aGFuIGJldHdlZW4gdGhlIHR3byB2YWx1ZXMuXG4gICAgJl9fZXZlbnQtbWV0YSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgZ2FwOiBpYi1zcGFjZSg0KTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5vIGhvdmVyIG9uIHRvdWNoIOKAlCB0aGUgQ1RBIChhbmQgaXRzIGFycm93KSBpcyBzaW1wbHkgYWx3YXlzIG9uXG4gICAgJl9fY3RhIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICAgJl9fY3RhLWFycm93IHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBDb21wYWN0IHBhZ2luYXRpb24g4oCUIHBhZ2Ugc3F1YXJlcyArIGljb24tb25seSBwcmV2L25leHRcbiAgICAmX19wYWdpbmF0aW9uIHtcbiAgICAgIHBhZGRpbmc6IGliLXNwYWNlKDI0KSAwIDA7XG4gICAgfVxuXG4gICAgJl9fcGFnZXMtbGFiZWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmX19wYWdlcyB7XG4gICAgICBnYXA6IGliLXNwYWNlKDQpO1xuICAgIH1cblxuICAgICZfX3BhZ2Uge1xuICAgICAgd2lkdGg6IGliLXNpemUoMzIpO1xuICAgICAgaGVpZ2h0OiBpYi1zaXplKDMyKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBmb250LXNpemU6IG1heCgje2liLXJlbSgxNnB4KX0sIDEycHgpO1xuICAgIH1cblxuICAgICZfX25hdiB7XG4gICAgICBnYXA6IGliLXNwYWNlKDE2KTtcbiAgICB9XG5cbiAgICAmX19uYXYtYnRuIHtcbiAgICAgIHdpZHRoOiBpYi1zaXplKDMyKTtcbiAgICAgIGhlaWdodDogaWItc2l6ZSgzMik7XG5cbiAgICAgIC8vIFByZXYvTmV4dCBkaXZpZGVyIGlzIGRlc2t0b3Atb25seSDigJQgdGhlIGljb24tb25seSBidXR0b25zIHNpdCB0b29cbiAgICAgIC8vIGNsb3NlIGF0IHRoaXMgc2l6ZSBmb3IgYSBoYWlybGluZSBiZXR3ZWVuIHRoZW0gdG8gcmVhZC5cbiAgICAgICY6bGFzdC1jaGlsZDo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLy8gRGVza3RvcCdzIDAuMjUgZGlzYWJsZWQgZGltIHJlYWRzIGFzIGJhcmVseS10aGVyZSBhdCB0aGlzIHNpemUg4oCUIHRoZVxuICAgICAgLy8gZGlzYWJsZWQgc3ZnIGNvbG9yIHN3YXAgKGdyYXktbWlzdCwgc2V0IGF0IGRlc2t0b3Agc2NvcGUpIGlzIGVub3VnaFxuICAgICAgLy8gb2YgYSBjdWUgb24gbW9iaWxlLCBtYXRjaGluZyB0cy1wcm9qZWN0cy1zZWN0aW9uX19wcmV2L19fbmV4dC5cbiAgICAgICY6ZGlzYWJsZWQge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuXG4gICAgICBzdmcge1xuICAgICAgICB3aWR0aDogaWItc2l6ZSgxNik7XG4gICAgICAgIGhlaWdodDogaWItcmVtKDEycHgpO1xuICAgICAgfVxuXG4gICAgICBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIGFzc2V0cy9zY3NzL3BhZ2VzL2Jsb2cuc2Nzc1xuLy8gRW50cnkgcG9pbnQg4oCUIGltcG9ydHMgYWxsIEJsb2cgbGlzdGluZyBwYWdlIHBhcnRpYWxzLlxuLy8gQ29tcGlsZTogbnBtIHJ1biBzYXNzOmJ1aWxkICB8ICBXYXRjaDogbnBtIHJ1biBzYXNzXG5cbi8vIEB1c2UgbXVzdCBjb21lIGZpcnN0IOKAlCBhbGwgcnVsZXMgZ28gaW5zaWRlIHRoZSBwYXJ0aWFsc1xuLy8gVGhpcyBwYWdlJ3MgbW9iaWxlIGRlc2lnbiBvd25zIGV2ZXJ5dGhpbmcgdXAgdG8gYW5kIGluY2x1ZGluZyB0YWJsZXRzOlxuLy8gZXZlcnkgbW9iaWxlIGJsb2NrIGluIHRoZSBibG9nIHBhcnRpYWxzIGtleXMgb2ZmICRpYi1icC10YWJsZXQgKDEwMjRweCksXG4vLyBtYXRjaGluZyB0cnVlLXN0b3J5LWRldGFpbC4gU2hhcmVkIHBhcnRpYWxzIChidXR0b25zLCBoZWxwZXJzKSBhbHJlYWR5XG4vLyBoYXJkY29kZSB0aGF0IHNhbWUg4omkMTAyNHB4IGJvdW5kYXJ5LlxuQHVzZSBcIi4uL3V0aWxzXCIgYXMgKjsgLy8gc2hhcmVkIGliLSBkZXNpZ24gdG9rZW5zICsgYnJlYWtwb2ludCB0b2tlbnNcbkB1c2UgXCIuLi9iYXNlXCI7IC8vIGdsb2JhbCByZXNldCArIGh0bWwvYm9keSBiYXNlIHN0eWxlc1xuQHVzZSBcIi4uL2hlbHBlcnNcIjsgLy8gLmliLW1vYmlsZS1vbmx5IC8gLmliLWRlc2t0b3Atb25seSAvIC5pYi1tLXJldmVhbFxuQHVzZSBcIi4uL2J1dHRvbnNcIjsgLy8gc2hhcmVkIG5vdGNoZWQgYnV0dG9uIHN5c3RlbSAoU1VCU0NSSUJFKVxuQHVzZSBcIi4uL2Jsb2cvaGVyby1zZWN0aW9uXCI7XG5AdXNlIFwiLi4vYmxvZy9jYXJkc1wiOyAvLyBzaGFyZWQgZmVhdHVyZWQvcmVsYXRlZCBjYXJkIGNvbXBvbmVudFxuQHVzZSBcIi4uL2Jsb2cvZmVhdHVyZWQtc2VjdGlvblwiO1xuQHVzZSBcIi4uL2Jsb2cvYXJ0aWNsZXMtc2VjdGlvblwiO1xuXG4vLyDilIDilIAgUGFnZS1sZXZlbCBvdmVycmlkZXMgKGFmdGVyIEB1c2UpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gU2FtZSBmbHVpZC1yb290IHNjb3BpbmcgcGF0dGVybiBhcyB0cnVlLXN0b3J5LWRldGFpbC5zY3NzOiB0aGUgRmlnbWEgY2FudmFzXG4vLyBpcyAxNzI4cHggd2lkZSwgYWxsIHRva2VuIG91dHB1dCBpcyByZW0sIHNvIG9uZSByb290IGZvbnQtc2l6ZSBrbm9iIHNjYWxlc1xuLy8gdGhlIHdob2xlIHBhZ2UgcHJvcG9ydGlvbmFsbHkgYmVsb3cgdGhlIGNhbnZhcyB3aWR0aC5cbi8vIEZsdWlkIHJvb3QgZm9udC1zaXplICsgY29udGFpbmVyIHRva2VucyBjb21lIGZyb20gX2Jhc2Uuc2NzcyAoZ2xvYmFsKS5cblxuYm9keS5wYWdlLWJsb2cge1xuICBvdmVyZmxvdy14OiBjbGlwO1xufVxuIiwiLy8gYXNzZXRzL3Njc3MvcGFnZXMvZ2NjL19oaXJpbmctZWNvc3lzdGVtLXNlY3Rpb24uc2Nzc1xuLy8gSGlyaW5nIEVjb3N5c3RlbSDigJQgZGFyayBzZWN0aW9uIHBhaXJpbmcgYW4gaW50cm8gYmxvY2sgd2l0aCBhIGNpdHkgw5dcbi8vIGVuZ2FnZW1lbnQtbW9kZWwgYXZhaWxhYmlsaXR5IG1hdHJpeC5cbi8vXG4vLyBPTkUgc2VtYW50aWMgPHRhYmxlPiBkcml2ZXMgYm90aCBsYXlvdXRzIChubyBkdXBsaWNhdGVkIGNvbnRlbnQgaW4gdGhlIERPTSk6XG4vLyAgID4gMTAyNHB4ICDihpIgdGhlIHRhYmxlIHJlbmRlcnMgYXMgYSByZWFsIHRhYmxlIGluc2lkZSBhIHRyYW5zbHVjZW50IGNhcmQsXG4vLyAgICAgICAgICAgICAgIG1hdGNoaW5nIHRoZSBkZXNrdG9wIGNvbXAgKG5vIGRvdHMsIG5vIGJhZGdlcykuXG4vLyAgIOKJpCAxMDI0cHggIOKGkiA8dGhlYWQ+IGlzIGhpZGRlbiBhbmQgZXZlcnkgPHRyPiBiZWNvbWVzIGEgc3RhY2tlZCBjYXJkOyBlYWNoXG4vLyAgICAgICAgICAgICAgIDx0ZD4gZmxpcHMgdG8gYSBsYWJlbC92YWx1ZSByb3cgdXNpbmcgdGhlIHBlci1jZWxsIGhlYWRpbmdcbi8vICAgICAgICAgICAgICAgbWFya3VwIChhcmlhLWhpZGRlbiDigJQgPHRoZWFkPiBzdGlsbCBzdXBwbGllcyB0aGUgcmVhbCBoZWFkZXJzXG4vLyAgICAgICAgICAgICAgIHRvIGFzc2lzdGl2ZSB0ZWNoKS5cbi8vXG4vLyBTdGF0aWMgc2VjdGlvbjogbm8gSlMgYmV5b25kIHRoZSBzaGFyZWQgbW9iaWxlIGZhZGUtdXAuIEZsdWlkIHNjYWxpbmcgdXNlc1xuLy8gY2xhbXAoKSBhZ2FpbnN0IHRoZSAxNzI4cHggRmlnbWEgYmFzZSwgc2FtZSBhcyBldmVyeSBvdGhlciBwYXJ0aWFsIGhlcmUuXG5cbkB1c2UgXCJzYXNzOmNvbG9yXCI7XG5AdXNlIFwiLi4vdXRpbHNcIiBhcyAqO1xuXG4vLyDilIDilIAgU3RhdHVzIHBhbGV0dGUg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBTdGF0dXMgVEVYVCB1c2VzIHRoZSB0b2tlbiByYW1wJ3MgbGlnaHQgdGludHMgc3RyYWlnaHQg4oCUIHRoZXkgYXJlIHRoZVxuLy8gdmFyaWFudHMgYnVpbHQgdG8gY2Fycnkgb24gYSBkYXJrIHN1cmZhY2UgKCNhYmY1Y2UgLyAjZmZlZmQxIC8gI2E3YTdiMCkuXG4kX3N0YXR1cy1saXZlOiAkaWItZ3JlZW4tbGlnaHQ7XG4kX3N0YXR1cy11bmRlcndheTogJGliLWNyZWFtLWxpZ2h0O1xuJF9zdGF0dXMtcGxhbm5lZDogJGliLWdyYXktbGlnaHQ7XG5cbi8vIFRoZSBzdGF0dXMgZG90cyByZW5kZXIgb24gbW9iaWxlIG9ubHkgYW5kIGFyZSB0aGUgU0FNRSBicmFuZCBncmVlbiBpbiBldmVyeVxuLy8gcm93IOKAlCB0aGV5IG1hcmsgXCJ0aGVyZSBpcyBhIHZhbHVlIGhlcmVcIiwgbm90IHRoZSBzdGF0ZSBpdHNlbGYsIHdoaWNoIHRoZVxuLy8gYmFkZ2UgaW4gdGhlIGNhcmQgaGVhZGVyIGFscmVhZHkgY2Fycmllcy4gT25lIGNvbG91ciwgc28gbm8gcGVyLXN0YXR1cyBzcGxpdC5cbiRfZG90LWNvbG9yOiAkaWItZ3JlZW4tYmFzZTtcblxuLy8gQmFkZ2UgcGlsbHMgKG1vYmlsZSBjYXJkIGhlYWRlcnMpLiBUZXh0IHNpdHMgb24gaXRzIG93biB0aW50ZWQgcGxhdGUsIHNvIGl0XG4vLyBjYW4gY2FycnkgYSBkZWVwZXIgdG9uZSB0aGFuIHRoZSBzdGF0dXMgVEVYVCBhYm92ZSDigJQgdGhlIFwibGl2ZVwiIHBpbGwgdXNlc1xuLy8gJGliLWdyZWVuLWJhc2UgaXRzZWxmLiBUaGUgcGxhdGUgZmlsbHMgYXJlIGRhcmsgbWl4ZXMgd2l0aCBubyB0b2tlbiBlcXVpdmFsZW50LlxuJF9iYWRnZS1saXZlLWZnOiAkaWItZ3JlZW4tYmFzZTtcbiRfYmFkZ2UtbGl2ZS1iZzogIzE2M2UyYjtcbiRfYmFkZ2UtdW5kZXJ3YXktZmc6ICRpYi1jcmVhbS1saWdodDtcbiRfYmFkZ2UtdW5kZXJ3YXktYmc6ICM0YTNiMTI7XG4kX2JhZGdlLXBsYW5uZWQtZmc6ICRpYi1ncmF5LWxpZ2h0O1xuJF9iYWRnZS1wbGFubmVkLWJnOiAjNGE0YTVhO1xuXG4vLyBJbnRybyBjb3B5IHNpdHMgYmV0d2VlbiAkaWItZ3JheS1saWdodCAoI2E3YTdiMCkgYW5kICRpYi1ncmF5LW1pc3QgKCNlNmU2ZWQpXG4vLyDigJQgdGhlIGNvbXAncyBleGFjdCB2YWx1ZSwgd2l0aCBubyBlcXVpdmFsZW50IGluIHRoZSB0b2tlbiBzY2FsZS5cbiRfYm9keS10ZXh0OiAjYzhjOGM4O1xuXG4vLyBUaGUgbWF0cml4IHVzZXMgMTHigJMxNnB4IHN0ZXBzIHRoYXQgYXJlbid0IHBvaW50cyBvbiAkaWItdHlwZS1zY2FsZSwgc28gdGhleVxuLy8gYXJlIGVtaXR0ZWQgZGlyZWN0bHkuIEJ5IGRlZmF1bHQgdGhpcyBrZWVwcyB0aGUgc2FtZSAxMnB4IGZsb29yIGliLXR5cGUoKVxuLy8gYXBwbGllcywgc28gYSBmbHVpZCByb290IGNhbiBuZXZlciBwdXNoIGEgc2l6ZSB1bmRlciB0aGUgc2l0ZS13aWRlIG1pbmltdW0uXG4vL1xuLy8gUGFzcyAkZmxvb3I6IGZhbHNlIGZvciB0aGUgaGFuZGZ1bCBvZiBzdWItMTJweCBzdGVwcyB0aGUgY29tcCBzcGVjaWZpZXNcbi8vIG91dHJpZ2h0IChzZWUgX19jZWxsLXN1Yikg4oCUIHRoZSBmbG9vciB3b3VsZCBvdGhlcndpc2UgY2xhbXAgdGhlbSBiYWNrIHVwXG4vLyBhbmQgc2lsZW50bHkgaWdub3JlIHRoZSBkZXNpZ24uXG5AbWl4aW4gX29mZi1zY2FsZSgkc2l6ZSwgJHdlaWdodCwgJGxpbmU6IDEuNiwgJGZsb29yOiB0cnVlKSB7XG4gIGZvbnQtZmFtaWx5OiAkaWItZm9udC1oZWFkaW5nO1xuICBmb250LXdlaWdodDogJHdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lO1xuICBsZXR0ZXItc3BhY2luZzogMDtcblxuICBAaWYgJGZsb29yIHtcbiAgICBmb250LXNpemU6IG1heCgje2liLXJlbSgkc2l6ZSl9LCAxMnB4KTtcbiAgfSBAZWxzZSB7XG4gICAgZm9udC1zaXplOiBpYi1yZW0oJHNpemUpO1xuICB9XG59XG5cbi5nY2MtaGlyaW5nLXNlY3Rpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6ICRpYi1iZy1kYXJrO1xuXG4gIC8vIDExMnB4IHRvcCBhbmQgYm90dG9tIGF0IHRoZSAxNzI4IGRlc2lnbiBiYXNlLCBlYXNpbmcgZG93biBvbiBuYXJyb3dlclxuICAvLyBzY3JlZW5zLiBUaGUg4omkMTAyNHB4IGJsb2NrIG92ZXJyaWRlcyB0aGlzIHdpdGggdGhlIG1vYmlsZSByaHl0aG0uXG4gIHBhZGRpbmctYmxvY2s6IGNsYW1wKDQ4cHgsIDYuNDh2dywgMTEycHgpOyAvLyAxMTIvMTcyOFxuICBvdmVyZmxvdzogY2xpcDsgLy8gY29udGFpbnMgdGhlIGdyYWluIGxheWVyIHdpdGhvdXQgY3JlYXRpbmcgYSBzY3JvbGwgY29udGV4dFxuXG4gIC8vIERlc2t0b3AgZmlsbHMgYXQgbGVhc3QgdGhlIHZpZXdwb3J0LCBsaWtlIHRoZSAxMDB2aCBwYW5lbHMgaW5cbiAgLy8gX3Njcm9sbC10YWJzLXNlY3Rpb24uc2NzcyBkaXJlY3RseSBhYm92ZS4gbWluLWhlaWdodCAobm90IGhlaWdodCkgc28gYVxuICAvLyBzaG9ydCB2aWV3cG9ydCBzdGlsbCBncm93cyB0byBmaXQgdGhlIG1hdHJpeCBpbnN0ZWFkIG9mIGNsaXBwaW5nIGl0LlxuICAvLyBDZW50cmVkIHJhdGhlciB0aGFuIHRvcC1hbmNob3JlZCDigJQgb3RoZXJ3aXNlIHRhbGwgc2NyZWVucyBsZWF2ZSB0aGVcbiAgLy8gY29udGVudCBodWdnaW5nIHRoZSB0b3Agb3ZlciBhIGxhcmdlIHZvaWQuIE1vYmlsZSBzdGF5cyBjb250ZW50LXNpemVkLlxuICBAbWVkaWEgKG1pbi13aWR0aDogY2FsYygkaWItYnAtdGFibGV0ICsgMXB4KSkge1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gIC8vIEZpbG0tZ3JhaW4gdGV4dHVyZSDigJQgZ3JhaW4tdGlsZS5wbmcgKDI1NsOXMjU2KSByYXRoZXIgdGhhbiB0aGUgZnVsbC1zaXplXG4gIC8vIGdyYWluLnBuZywgZm9yIHRoZSBzYW1lIEdQVS10ZXh0dXJlIHJlYXNvbiBkb2N1bWVudGVkIGluXG4gIC8vIF9zY3JvbGwtdGFicy1zZWN0aW9uLnNjc3MuIGBiYWNrZ3JvdW5kLXNpemVgIHN0YXlzIGBhdXRvYCBzbyBpdCB0aWxlcy5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICB6LWluZGV4OiAwO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uLy4uLy4uL3N0YXRpYy9hc3NldHMvaW1hZ2VzL2xhdGVzdC9ncmFpbi10aWxlLnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgLy8g4pSA4pSAIExheW91dCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgLy8gVHdvIHN0YWNrZWQgZmxleCByb3dzLCBzbyB0aGUgbWF0cml4J3MgdmVydGljYWwgb2Zmc2V0IGZhbGxzIG91dCBvZiB0aGVcbiAgLy8gaGVhZGluZydzIG93biBoZWlnaHQgaW5zdGVhZCBvZiBhIHR1bmVkIG1hcmdpbjpcbiAgLy8gICByb3cgMSDigJQgX19oZWFkOiBleWVicm93ICsgdGl0bGUsIGZ1bGwgY29udGFpbmVyIHdpZHRoIHNvIHRoZSBoZWFkbGluZVxuICAvLyAgICAgICAgICAgbmV2ZXIgaGFzIHRvIHdyYXAgYWdhaW5zdCBhIG5hcnJvdyBjb2x1bW4gKHNlZSBfX3RpdGxlLWxpbmUpLlxuICAvLyAgIHJvdyAyIOKAlCBfX2NvbnRlbnQ6IGludHJvIGNvcHkgYW5kIHRoZSBhdmFpbGFiaWxpdHkgbWF0cml4IHNpZGUgYnkgc2lkZSxcbiAgLy8gICAgICAgICAgIHN0YXJ0aW5nIG9uIHRoZSBzYW1lIGxpbmUsIGV4YWN0bHkgYXMgdGhlIGNvbXAgc2hvd3MuXG4gIC8vIEVkZ2UgaW5zZXQgbWlycm9ycyBfc2Nyb2xsLXRhYnMtc2VjdGlvbi5zY3NzIHNvIHRoaXMgc2VjdGlvbidzIGNvbnRlbnRcbiAgLy8gbGluZXMgdXAgd2l0aCB0aGUgb25lIGRpcmVjdGx5IGFib3ZlIGl0OiA2MHB4IGF0IDE3MjggKGl0cyBzaWRlYmFyJ3MgbGVmdFxuICAvLyBwYWRkaW5nKSwgNDBweCDiiaQxNDAwLCAyMHB4IOKJpDEwMjQuIENhcHBlZCBhdCB0aGUgMTcyOCBkZXNpZ24gYmFzZSByYXRoZXJcbiAgLy8gdGhhbiAkaWItY29udGFpbmVyLW1heCBzbyB0aGUgaW5zZXQgcmVzb2x2ZXMgdG8gZXhhY3RseSA2MHB4IHRoZXJlIGFuZFxuICAvLyBzdG9wcyBncm93aW5nIG9uIHVsdHJhLXdpZGUgZGlzcGxheXMuXG4gICZfX2NvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICBwYWRkaW5nLWlubGluZTogY2xhbXAoMjhweCwgMy40N3Z3LCA2MHB4KTsgLy8gNjAvMTcyOFxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IGNsYW1wKDI0cHgsIDIuMzF2dywgNDBweCk7IC8vIDQwLzE3MjhcbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiBjbGFtcCg0OHB4LCAxMC4xOXZ3LCAxNzZweCk7IC8vIDE3Ni8xNzI4XG4gIH1cblxuICAvLyDilIDilIAgU2NyZWVuICjiiaQxNDAwcHgpIOKAlCBtYXRjaGVzIHRoZSBzY3JvbGwtdGFicyBzdGVwIGF0IHRoZSBzYW1lIGJyZWFrcG9pbnRcbiAgQGluY2x1ZGUgcmVzcG9uZC10bygkaWItYnAtZGVza3RvcCkge1xuICAgICZfX2NvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLWlubGluZTogY2xhbXAoMjBweCwgMi4zMXZ3LCA0MHB4KTsgLy8gNDAvMTcyOFxuICAgIH1cbiAgfVxuXG4gIC8vIOKUgOKUgCBJbnRybyBjb2x1bW4g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gICZfX2V5ZWJyb3cge1xuICAgIEBpbmNsdWRlIGliLXR5cGUoXCJsYWJlbC1leHRyYS1zbWFsbFwiKTtcblxuICAgIG1hcmdpbjogMCAwIGliLXNwYWNlKDE2KTtcbiAgICBjb2xvcjogJGliLXRleHQtYWN0aW9uO1xuXG4gICAgLy8gVGhlIGRlc2t0b3AgY29tcCBvcGVucyBzdHJhaWdodCBvbiB0aGUgaGVhZGxpbmUg4oCUIHRoZSBleWVicm93IGlzIGFcbiAgICAvLyBtb2JpbGUtY29tcCBlbGVtZW50IG9ubHkuIEtlcHQgaW4gdGhlIERPTSBzbyBpdCByZXR1cm5zIHdpdGggb25lIGxpbmUuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IGNhbGMoJGliLWJwLXRhYmxldCArIDFweCkpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIEBpbmNsdWRlIGliLXR5cGUoXCJoZWFkbGluZS13ZWItbGFyZ2VcIik7XG5cbiAgICBtYXJnaW46IDA7XG4gICAgY29sb3I6ICRpYi10ZXh0LWludmVydDtcbiAgfVxuXG4gICZfX3RpdGxlLWxpbmUtLWFjY2VudCB7XG4gICAgY29sb3I6ICRpYi10ZXh0LWFjdGlvbjtcbiAgfVxuXG4gICZfX2JvZHkge1xuICAgIEBpbmNsdWRlIGliLXR5cGUoXCJib2R5LW1lZGl1bVwiKTtcblxuICAgIC8vIGZsZXgtc2hyaW5rOiAwIHR1cm5zIHRoZSBiYXNpcyBpbnRvIGEgaGFyZCBmbG9vciDigJQgdGhlIDQ1NnB4IG1pbi13aWR0aFxuICAgIC8vIHRoZSBjb21wIGNhbGxzIGZvciwgc2NhbGVkIGRvd24gcHJvcG9ydGlvbmFsbHkgYmVsb3cgdGhlIDE3MjggYmFzZSBzb1xuICAgIC8vIG5hcnJvdyBsYXB0b3BzIHN0aWxsIGxlYXZlIHRoZSBtYXRyaXggcm9vbSB0byBicmVhdGhlLlxuICAgIGZsZXg6IDAgMCBjbGFtcCgzMjBweCwgMjYuMzl2dywgNDU2cHgpOyAvLyA0NTYvMTcyOFxuICAgIG1hcmdpbjogMDtcbiAgICBjb2xvcjogJF9ib2R5LXRleHQ7XG4gIH1cblxuICAvLyDilIDilIAgTWF0cml4IGNhcmQg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIC8vIFJvdyAyIGFsb25nc2lkZSB0aGUgaW50cm8gY29weSDigJQgbm8gb2Zmc2V0IG1hcmdpbiBuZWVkZWQuXG4gICZfX21hdHJpeCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIG1pbi13aWR0aDogMDsgLy8gbGV0cyB0aGUgdGFibGUgc2hyaW5rIGluc2lkZSB0aGUgZmxleCByb3cgaW5zdGVhZCBvZiBvdmVyZmxvd2luZ1xuICAgIGJhY2tncm91bmQ6ICRpYi1ncmF5LWNoYXJjb2FsO1xuICAgIHBhZGRpbmc6IGliLXJlbSg0MHB4KSBpYi1yZW0oMjRweCk7XG5cbiAgICBAaW5jbHVkZSBpYi1ub3RjaCgyMHB4LCAyMHB4KTtcblxuICAgIC8vIFNhbWUgZmlsbS1ncmFpbiB0aWxlIGFzIHRoZSBzZWN0aW9uIHNoZWxsLiBUaGUgcGFyZW50J3MgY2xpcC1wYXRoIGZyb21cbiAgICAvLyBpYi1ub3RjaCgpIGNsaXBzIHRoaXMgdG9vLCBzbyB0aGUgZ3JhaW4gZm9sbG93cyB0aGUgY2hhbWZlcmVkIGNvcm5lcnMuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBpbnNldDogMDtcbiAgICAgIHotaW5kZXg6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi8uLi8uLi9zdGF0aWMvYXNzZXRzL2ltYWdlcy9sYXRlc3QvZ3JhaW4tdGlsZS5wbmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0O1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJl9fdGFibGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxOyAvLyBhYm92ZSB0aGUgZ3JhaW4gbGF5ZXJcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gIH1cblxuICAvLyBTY3JlZW4tcmVhZGVyLW9ubHkgdGFibGUgc3VtbWFyeSDigJQgdGhlIHZpc2libGUgaGVhZGxpbmUgY2FycmllcyB0aGUgc2FtZVxuICAvLyBtZWFuaW5nLCBzbyB0aGlzIGV4aXN0cyBwdXJlbHkgdG8gbmFtZSB0aGUgdGFibGUgaW4gQVQncyB0YWJsZSBsaXN0LlxuICAmX19jYXB0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG5cbiAgLy8gQ29sdW1uIHJoeXRobSBmcm9tIHRoZSBjb21wOiBjaXR5IC8gbW9kZWwgMSAvIG1vZGVsIDIgLyBtb2RlbCAzLlxuICAmX190YWJsZSBjb2w6bnRoLWNoaWxkKDEpIHsgd2lkdGg6IDE4JTsgfVxuICAmX190YWJsZSBjb2w6bnRoLWNoaWxkKDIpIHsgd2lkdGg6IDI5JTsgfVxuICAmX190YWJsZSBjb2w6bnRoLWNoaWxkKDMpIHsgd2lkdGg6IDI5JTsgfVxuICAmX190YWJsZSBjb2w6bnRoLWNoaWxkKDQpIHsgd2lkdGg6IDI0JTsgfVxuXG4gIC8vIOKUgOKUgCBUYWJsZSBoZWFkIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAmX19oZWFkLWNlbGwge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTsgLy8gXCJDSVRZXCIgYmFzZWxpbmVzIHdpdGggdGhlIGNvbHVtbiBzdWItbGFiZWxzXG4gICAgcGFkZGluZzogMCBpYi1zcGFjZSgxNikgY2xhbXAoMTRweCwgMS4xNnZ3LCAyMHB4KSAwO1xuXG4gICAgLy8gSGFpcmxpbmUgc3RheXMgYSByYXcgc3ViLXBpeGVsIHZhbHVlLCBub3QgaWItcmVtKCkg4oCUIHRoZSBzYW1lXG4gICAgLy8gY29udmVudGlvbiBhcyB0aGUgMC42M3B4IGJvcmRlcnMgaW4gX2FwcGxpY2F0aW9uLXNlY3Rpb24uc2NzcyBhbmRcbiAgICAvLyBfdGFsay1kcmF3ZXIuc2Nzcy4gSW4gcmVtIGl0IHdvdWxkIHNjYWxlIHdpdGggdGhlIGZsdWlkIHJvb3QgYW5kIHJvdW5kXG4gICAgLy8gYXdheSB0byBub3RoaW5nIG9uIHNvbWUgZGlzcGxheXMuXG4gICAgYm9yZGVyLWJvdHRvbTogLjZweCBzb2xpZCAkaWItYm9yZGVyLXByaW1hcnk7XG4gIH1cblxuICAmX19oZWFkLWNpdHkge1xuICAgIEBpbmNsdWRlIGliLXR5cGUoXCJsYWJlbC1leHRyYS1zbWFsbFwiKTtcblxuICAgIGNvbG9yOiAkaWItZ3JheS1saWdodDtcbiAgfVxuXG4gICZfX2hlYWQtdGl0bGUge1xuICAgIEBpbmNsdWRlIF9vZmYtc2NhbGUoMTVweCwgNTAwKTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiAkaWItZ3JheS13aGl0ZTtcbiAgfVxuXG4gICZfX2hlYWQtc3ViIHtcbiAgICBAaW5jbHVkZSBpYi10eXBlKFwiY2FwdGlvbi1tZWRpdW1cIik7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogJGliLWdyYXktbWlzdDtcbiAgfVxuXG4gIC8vIOKUgOKUgCBUYWJsZSBib2R5IOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAmX19jaXR5LFxuICAmX19jZWxsIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHBhZGRpbmc6IGNsYW1wKDE0cHgsIDEuMTZ2dywgMjBweCkgaWItc3BhY2UoMTYpIGNsYW1wKDE0cHgsIDEuMTZ2dywgMjBweCkgMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG5cbiAgJl9fY2l0eSB7XG4gICAgQGluY2x1ZGUgX29mZi1zY2FsZSgxNnB4LCA0MDAsIDEuNjI1KTtcblxuICAgIGNvbG9yOiAkaWItdGV4dC1pbnZlcnQ7XG4gIH1cblxuICAvLyBTdGF0dXMgYmFkZ2Ug4oCUIG1vYmlsZSBjYXJkIGhlYWRlciBvbmx5OyB0aGUgZGVza3RvcCBjb21wIGNhcnJpZXMgdGhlXG4gIC8vIHN0YXR1cyBpbiB0aGUgZmlyc3QgZGF0YSBjb2x1bW4gaW5zdGVhZC5cbiAgLy9cbiAgLy8gTk9URTogMTBweCBpcyBiZWxvdyB0aGUgcHJvamVjdCdzIDEycHggbWluaW11bSBmb250IHNpemUgKHNlZSB0aGUgZmxvb3JcbiAgLy8gYmFrZWQgaW50byBpYi10eXBlKCkgYW5kIHRoZSBjb21tZW50IGluIF9zY3JvbGwtdGFicy1zZWN0aW9uLnNjc3MpLiBTZXRcbiAgLy8gaGVyZSBwZXIgZXhwbGljaXQgZGVzaWduIGRpcmVjdGlvbiwgc28gaXQgaXMgd3JpdHRlbiBsaXRlcmFsbHkgcmF0aGVyXG4gIC8vIHRoYW4gdGhyb3VnaCBfb2ZmLXNjYWxlKCksIHdoaWNoIHdvdWxkIGNsYW1wIGl0IGJhY2sgdXAgdG8gMTJweC5cbiAgJl9fYmFkZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgZm9udC1mYW1pbHk6ICRpYi1mb250LWhlYWRpbmc7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IGliLXJlbSgxMHB4KTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIGxldHRlci1zcGFjaW5nOiAuMWVtOyAvLyAxLjJweCBAIDEycHgsIHByZXNlcnZlZCBhcyBhIHJhdGlvXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBwYWRkaW5nOiBpYi1yZW0oNHB4KSBpYi1yZW0oOHB4KTtcbiAgICBib3JkZXItcmFkaXVzOiBpYi1yZW0oNHB4KTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG5cbiAgLy8gUGVyLWNlbGwgaGVhZGluZyDigJQgdGhlIGxhYmVsL3N1YiBwYWlyIGVhY2ggPHRkPiBzaG93cyBvbmNlIGl0IGJlY29tZXMgYVxuICAvLyBjYXJkIHJvdy4gYXJpYS1oaWRkZW4gaW4gdGhlIG1hcmt1cDogPHRoZWFkPiByZW1haW5zIHRoZSByZWFsIGhlYWRlclxuICAvLyBzb3VyY2UgZm9yIGFzc2lzdGl2ZSB0ZWNoLCBzbyB0aGlzIG5ldmVyIGRvdWJsZS1hbm5vdW5jZXMuXG4gICZfX2NlbGwtaGVhZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICZfX2NlbGwtbGFiZWwge1xuICAgIEBpbmNsdWRlIGliLXR5cGUoXCJ0aXRsZS1zbWFsbFwiKTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiAkaWItdGV4dC1pbnZlcnQ7XG4gIH1cblxuICAmX19jZWxsLXN1YiB7XG4gICAgQGluY2x1ZGUgaWItdHlwZShcImNhcHRpb24tbWVkaXVtXCIpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sb3I6ICRpYi1ncmF5LWxpZ2h0O1xuICB9XG5cbiAgJl9fY2VsbC12YWx1ZSB7XG4gICAgQGluY2x1ZGUgX29mZi1zY2FsZSgxNXB4LCA0MDApO1xuXG4gICAgY29sb3I6ICRpYi1ncmF5LW1pc3Q7XG4gIH1cblxuICAvLyBTdGF0dXMgZG90IOKAlCBtb2JpbGUgb25seSAodGhlIGRlc2t0b3AgY29tcCBoYXMgbm8gZG90cykuXG4gICZfX2RvdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB3aWR0aDogaWItcmVtKDZweCk7XG4gICAgaGVpZ2h0OiBpYi1yZW0oNnB4KTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogJF9kb3QtY29sb3I7XG4gICAgZmxleDogbm9uZTtcbiAgfVxuXG4gIC8vIFRoZSBmaXJzdCBkYXRhIGNvbHVtbiBpcyB0aGUgb25lIHRoYXQgY2FycmllcyBzdGF0ZTsgbW9kZWxzIDIgYW5kIDMgYXJlXG4gIC8vIGFsd2F5cyBcIkF2YWlsYWJsZVwiLCBzbyB0aGV5IGtlZXAgdGhlIGRlZmF1bHQgdmFsdWUgc3R5bGluZy5cbiAgJl9fY2VsbC0tc3RhdHVzICZfX2NlbGwtdmFsdWUge1xuICAgIEBpbmNsdWRlIGliLXR5cGUoXCJsYWJlbC1zbWFsbFwiKTtcbiAgfVxuXG4gIC8vIOKUgOKUgCBTdGF0dXMgc3RhdGVzIOKAlCBzZXQgb24gdGhlIDx0cj4sIGNvbnN1bWVkIGJ5IHRoZSBiYWRnZSBhbmQgdGhlIHN0YXR1c1xuICAvLyAgICBjZWxsJ3MgdmFsdWUsIHNvIGEgcm93J3Mgc3RhdGUgbGl2ZXMgaW4gZXhhY3RseSBvbmUgcGxhY2UuIFRoZSBkb3QgaXNcbiAgLy8gICAgZGVsaWJlcmF0ZWx5IGFic2VudCBoZXJlOiBpdCBpcyBvbmUgY29sb3VyIGZvciBldmVyeSByb3cgKHNlZSAkX2RvdC1jb2xvcikuXG4gICZfX3Jvdy0tbGl2ZSB7XG4gICAgLmdjYy1oaXJpbmctc2VjdGlvbl9fY2VsbC0tc3RhdHVzIC5nY2MtaGlyaW5nLXNlY3Rpb25fX2NlbGwtdmFsdWUgeyBjb2xvcjogJF9zdGF0dXMtbGl2ZTsgfVxuXG4gICAgLmdjYy1oaXJpbmctc2VjdGlvbl9fYmFkZ2Uge1xuICAgICAgY29sb3I6ICRfYmFkZ2UtbGl2ZS1mZztcbiAgICAgIGJhY2tncm91bmQ6ICRfYmFkZ2UtbGl2ZS1iZztcbiAgICB9XG4gIH1cblxuICAmX19yb3ctLXVuZGVyd2F5IHtcbiAgICAuZ2NjLWhpcmluZy1zZWN0aW9uX19jZWxsLS1zdGF0dXMgLmdjYy1oaXJpbmctc2VjdGlvbl9fY2VsbC12YWx1ZSB7IGNvbG9yOiAkX3N0YXR1cy11bmRlcndheTsgfVxuXG4gICAgLmdjYy1oaXJpbmctc2VjdGlvbl9fYmFkZ2Uge1xuICAgICAgY29sb3I6ICRfYmFkZ2UtdW5kZXJ3YXktZmc7XG4gICAgICBiYWNrZ3JvdW5kOiAkX2JhZGdlLXVuZGVyd2F5LWJnO1xuICAgIH1cbiAgfVxuXG4gICZfX3Jvdy0tcGxhbm5lZCB7XG4gICAgLmdjYy1oaXJpbmctc2VjdGlvbl9fY2VsbC0tc3RhdHVzIC5nY2MtaGlyaW5nLXNlY3Rpb25fX2NlbGwtdmFsdWUgeyBjb2xvcjogJF9zdGF0dXMtcGxhbm5lZDsgfVxuXG4gICAgLmdjYy1oaXJpbmctc2VjdGlvbl9fYmFkZ2Uge1xuICAgICAgY29sb3I6ICRfYmFkZ2UtcGxhbm5lZC1mZztcbiAgICAgIGJhY2tncm91bmQ6ICRfYmFkZ2UtcGxhbm5lZC1iZztcbiAgICB9XG4gIH1cblxuICAvLyDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZBcbiAgLy8gTU9CSUxFICsgVEFCTEVUICjiiaQxMDI0cHgpIOKAlCB0YWJsZSBjb2xsYXBzZXMgaW50byBzdGFja2VkIGNhcmRzLlxuICAvLyBUaGlzIHBhZ2UncyBtb2JpbGUgVUkgb3ducyBldmVyeXRoaW5nIHVwIHRvIHRhYmxldHMsIG1hdGNoaW5nIHRoZSByZXN0IG9mXG4gIC8vIHRoZSBzZXJ2aWNlbm93IHBhcnRpYWxzIHRoaXMgcGFnZSBpcyBidWlsdCBvbi5cbiAgLy8g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkaWItYnAtdGFibGV0KSB7XG4gICAgcGFkZGluZy1ibG9jazogY2xhbXAoNDhweCwgMTJ2dywgNzJweCk7XG5cbiAgICAmX19jb250YWluZXIge1xuICAgICAgZ2FwOiBpYi1zcGFjZSgxNik7XG4gICAgICBwYWRkaW5nLWlubGluZTogaWItcmVtKDIwcHgpO1xuICAgIH1cblxuICAgIC8vIENvcHkgYW5kIG1hdHJpeCBzdG9wIHNpdHRpbmcgc2lkZSBieSBzaWRlIGFuZCBzdGFjayBpbnN0ZWFkLlxuICAgICZfX2NvbnRlbnQge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGdhcDogaWItc3BhY2UoMTYpO1xuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgIEBpbmNsdWRlIGliLXR5cGUoXCJkaXNwbGF5LW1vYmlsZS1zbWFsbFwiKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgfVxuXG4gICAgJl9fYm9keSB7XG4gICAgICBAaW5jbHVkZSBpYi10eXBlKFwiY2FwdGlvbi1sYXJnZVwiKTtcblxuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBjb2xvcjogJGliLWdyYXktbGlnaHQ7XG4gICAgfVxuXG4gICAgLy8gVGhlIGNhcmQgY2hyb21lIG1vdmVzIGZyb20gdGhlIHdyYXBwZXIgb250byBlYWNoIHJvdyDigJQgc28gdGhlIHdyYXBwZXJcbiAgICAvLyBnaXZlcyB1cCBpdHMgc3VyZmFjZSwgbm90Y2ggYW5kIGdyYWluIGVudGlyZWx5LlxuICAgICZfX21hdHJpeCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi10b3A6IGliLXNwYWNlKDgpO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBjbGlwLXBhdGg6IG5vbmU7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGFibGUsXG4gICAgJl9fdGFibGUgPiB0Ym9keSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICZfX3RhYmxlIGNvbCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICAvLyBSZWFsIGhlYWRlcnMgc3RheSBpbiB0aGUgYWNjZXNzaWJpbGl0eSB0cmVlLCBvdXQgb2YgdGhlIHZpc3VhbCBmbG93LlxuICAgICZfX3RhYmxlID4gdGhlYWQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDFweDtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLy8gRWFjaCByb3cgaXMgYSBjYXJkIGNhcnJ5aW5nIHRoZSBzYW1lIHN1cmZhY2UgKyBjaGFtZmVyIGFzIHRoZSBkZXNrdG9wXG4gICAgLy8gbWF0cml4LCBhdCB0aGUgc21hbGxlciAxNnB4IGN1dC5cbiAgICAmX19yb3cge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kOiAkaWItZ3JheS1jaGFyY29hbDtcbiAgICAgIHBhZGRpbmc6IGliLXJlbSgxOHB4KTtcblxuICAgICAgQGluY2x1ZGUgaWItbm90Y2goMTZweCwgMTZweCk7XG5cbiAgICAgICYgKyAmIHtcbiAgICAgICAgbWFyZ2luLXRvcDogaWItc3BhY2UoMTYpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIOKUgOKUgCBDYXJkIGhlYWRlcjogY2l0eSArIHN0YXR1cyBiYWRnZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgICAmX19jaXR5IHtcbiAgICAgIEBpbmNsdWRlIF9vZmYtc2NhbGUoMThweCwgNDAwLCAxLjMzMzMpOyAvLyAxOC8yNFxuXG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGdhcDogaWItc3BhY2UoMTIpO1xuICAgICAgcGFkZGluZzogMCAwIGliLXNwYWNlKDEyKTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkaWItYm9yZGVyLXByaW1hcnk7XG4gICAgfVxuXG4gICAgJl9fYmFkZ2Uge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8vIOKUgOKUgCBDYXJkIHJvd3M6IGxhYmVsL3N1YiBvbiB0aGUgbGVmdCwgZG90ICsgdmFsdWUgb24gdGhlIHJpZ2h0IOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAgICZfX2NlbGwge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBnYXA6IGliLXNwYWNlKDE2KTtcbiAgICAgIHBhZGRpbmc6IGliLXNwYWNlKDEyKSAwO1xuICAgIH1cblxuICAgIC8vIEhhaXJsaW5lIGJldHdlZW4gc3RhY2tlZCBjZWxscyBvbmx5IOKAlCBub3QgYWJvdmUgdGhlIGZpcnN0ICh0aGUgY2l0eVxuICAgIC8vIGhlYWRlciBhbHJlYWR5IHJ1bGVzIG9mZikgbm9yIGJlbG93IHRoZSBsYXN0LiAkaWItYm9yZGVyLWNvbG9yIGlzXG4gICAgLy8gZXhhY3RseSByZ2JhKCM2NzY3NzUsIDAuMTUpLCBzbyB0aGUgdGludCBpcyBhIHRva2VuLCBub3QgYW5cbiAgICAvLyBlbGVtZW50LWxldmVsIGBvcGFjaXR5YCB0aGF0IHdvdWxkIHdhc2ggb3V0IHRoZSB0ZXh0IHdpdGggaXQuXG4gICAgJl9fY2VsbCArICZfX2NlbGwge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRpYi1ib3JkZXItY29sb3I7XG4gICAgfVxuXG4gICAgJl9fY2VsbC1oZWFkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuICAgICZfX2NlbGwtbGFiZWwge1xuICAgICAgQGluY2x1ZGUgX29mZi1zY2FsZSgxM3B4LCA0MDAsIDEuMzg0Nik7IC8vIDEzLzE4XG4gICAgfVxuXG4gICAgLy8gMTFweCBpcyBiZWxvdyB0aGUgcHJvamVjdCdzIDEycHggbWluaW11bSDigJQgc2V0IHBlciBleHBsaWNpdCBkZXNpZ25cbiAgICAvLyBkaXJlY3Rpb24sIHNvIHRoZSBmbG9vciBpcyBzd2l0Y2hlZCBvZmYgcmF0aGVyIHRoYW4gc2lsZW50bHkgY2xhbXBpbmcuXG4gICAgJl9fY2VsbC1zdWIge1xuICAgICAgQGluY2x1ZGUgX29mZi1zY2FsZSgxMXB4LCAzMDAsIDEuMjcyNywgJGZsb29yOiBmYWxzZSk7IC8vIDExLzE0XG5cbiAgICAgIGNvbG9yOiAkaWItZ3JheS1tZWRpdW07XG4gICAgfVxuXG4gICAgJl9fY2VsbC12YWx1ZSB7XG4gICAgICBAaW5jbHVkZSBfb2ZmLXNjYWxlKDEycHgsIDQwMCwgMS4zMzMzKTsgLy8gMTIvMTZcblxuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiBpYi1zcGFjZSg4KTtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAvLyBUaGUgc3RhdHVzIGNvbHVtbiBkcm9wcyBpdHMgZGVza3RvcCB1cHBlcmNhc2UgdHJlYXRtZW50IOKAlCBvbiBtb2JpbGUgdGhlXG4gICAgLy8gYmFkZ2UgY2FycmllcyB0aGF0IGVtcGhhc2lzLCBhbmQgdGhlIHJvdyB2YWx1ZSByZWFkcyBhcyBwbGFpbiB0ZXh0LlxuICAgIC8vIEJvdGggdGhlIHNpemUgYW5kIHRleHQtdHJhbnNmb3JtIG11c3QgYmUgcmVzdGF0ZWQ6IHRoZSBkZXNrdG9wXG4gICAgLy8gX19jZWxsLS1zdGF0dXMgcnVsZSBpcyAoMCwyLDApIGFuZCB3b3VsZCBvdGhlcndpc2Ugb3V0LXNwZWNpZnkgdGhlXG4gICAgLy8gKDAsMSwwKSBfX2NlbGwtdmFsdWUgcnVsZSBhYm92ZSwga2VlcGluZyBsYWJlbC1zbWFsbCdzIHVwcGVyY2FzZS5cbiAgICAmX19jZWxsLS1zdGF0dXMgJl9fY2VsbC12YWx1ZSB7XG4gICAgICBAaW5jbHVkZSBfb2ZmLXNjYWxlKDEycHgsIDQwMCwgMS4zMzMzKTsgLy8gMTIvMTZcblxuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gRXZlcnkgc3RhdHVzIHZhbHVlIHJlYWRzIGFzIHBsYWluIHdoaXRlIG9uIG1vYmlsZSDigJQgdGhlIGJhZGdlIGluIHRoZVxuICAgIC8vIGNhcmQgaGVhZGVyIGNhcnJpZXMgdGhlIHN0YXRlLCBzbyB0aGUgdGV4dCBkb2VzIG5vdCBuZWVkIHRvIHJlcGVhdCBpdC5cbiAgICAvLyBTdGF0ZWQgYXQgKDAsMywwKSB0byBvdXQtc3BlY2lmeSB0aGUgZGVza3RvcCBwZXItc3RhdHVzIGNvbG91cnMgYWJvdmUsXG4gICAgLy8gd2hpY2ggYSBsb3dlci1zcGVjaWZpY2l0eSBydWxlIGluc2lkZSB0aGlzIG1lZGlhIHF1ZXJ5IHdvdWxkIGxvc2UgdG8uXG4gICAgJl9fcm93LS1saXZlICZfX2NlbGwtLXN0YXR1cyAmX19jZWxsLXZhbHVlLFxuICAgICZfX3Jvdy0tdW5kZXJ3YXkgJl9fY2VsbC0tc3RhdHVzICZfX2NlbGwtdmFsdWUsXG4gICAgJl9fcm93LS1wbGFubmVkICZfX2NlbGwtLXN0YXR1cyAmX19jZWxsLXZhbHVlIHtcbiAgICAgIGNvbG9yOiAkaWItdGV4dC1pbnZlcnQ7XG4gICAgfVxuXG4gICAgJl9fZG90IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8vIE1vZGVscyAyIGFuZCAzIGhhdmUgbm8gc3RhdGUgb2YgdGhlaXIgb3duIOKAlCBrZWVwIHRoZW0gbmV1dHJhbCBzbyBvbmx5XG4gICAgLy8gdGhlIGZpcnN0IGNvbHVtbiByZWZsZWN0cyB0aGUgcm93J3Mgc3RhdHVzIGNvbG91ci5cbiAgICAmX19jZWxsOm5vdCgmX19jZWxsLS1zdGF0dXMpICZfX2NlbGwtdmFsdWUge1xuICAgICAgY29sb3I6ICRpYi1ncmF5LW1pc3Q7XG4gICAgfVxuICB9XG5cbiAgLy8gUGhvbmVzOiBnaXZlIHRoZSB2YWx1ZSBjb2x1bW4gcm9vbSBiZWZvcmUgaXQgd3JhcHMuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkaWItYnAtc20pIHtcbiAgICAmX19jZWxsLXZhbHVlIHtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgfVxuICB9XG5cbiAgLy8gRXNjYXBlIGhhdGNoIGJlbG93IDM2MHB4IOKAlCBcIllvdXIgY29tcGV0aXRpdmUgZWRnZS5cIiBhdCB0aGUgbW9iaWxlIGhlYWRsaW5lXG4gIC8vIHNpemUgbmVlZHMgfjMyMHB4LCBzbyBub3dyYXAgd291bGQgYmUgY2xpcHBlZCBieSB0aGUgc2VjdGlvbidzIG92ZXJmbG93IG9uXG4gIC8vIHRoZSB2ZXJ5IHNtYWxsZXN0IGhhbmRzZXRzLiBXcmFwcGluZyBiZWF0cyBsb3NpbmcgdGhlIHdvcmRzLlxuICBAbWVkaWEgKG1heC13aWR0aDogMzU5cHgpIHtcbiAgICAmX190aXRsZS1saW5lIHtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgfVxuICB9XG59XG4iLCIvLyBhc3NldHMvc2Nzcy9wYWdlcy9ibG9nLWRldGFpbHMvX2hlcm8tc2VjdGlvbi5zY3NzXG4vLyBTZWN0aW9uOiBhcnRpY2xlIGhlcm8g4oCUIGEgY3JpbXNvbiBjb3B5IHBhbmVsIChcIkJhY2sgdG8gQmxvZyBMaXN0XCIgYnJlYWRjcnVtYlxuLy8gKyBhcnRpY2xlIHRpdGxlKSBmaWxsaW5nIHRoZSBsZWZ0IHR3by10aGlyZHMgb2YgdGhlIGJhbmQsIHdpdGggdGhlIGFydGljbGVcbi8vIHBob3RvIGZ1bGwtYmxlZWQgdG8gdGhlIHJpZ2h0IGVkZ2UuIEEgY3JlYW0gc3RyaXAgYWJvdmUgdGhlIHBhbmVsIGtlZXBzIHRoZVxuLy8gZml4ZWQgaGVhZGVyIG9mZiB0aGUgY3JpbXNvbi5cbi8vIEZpZ21hOiBub2RlIDE4OTM0OjgwMzQgKGRlc2t0b3AgMTcyOCkgLyA5NDE1OjIxNzE5IChtb2JpbGUpLlxuXG5AdXNlIFwic2FzczptYXRoXCI7XG5AdXNlIFwiLi4vdXRpbHNcIiBhcyAqO1xuXG4vLyBTcGxpdCBnZW9tZXRyeSwgcmVhZCBvZmYgdGhlIDE3Mjgtd2lkZSBGaWdtYSBmcmFtZTogdGhlIGNyaW1zb24gcGFuZWwgcnVucyB0b1xuLy8gMTE0NHB4LCB0aGUgcGhvdG8gZmlsbHMgdGhlIHJlbWFpbmluZyBzdHJpcC4gS2VwdCBhcyBhIHJhdGlvIG9mIHRoZSBhcnRib2FyZFxuLy8gcmF0aGVyIHRoYW4gcHgg4oCUIHRoZSBiYW5kIGlzIGZ1bGwtYmxlZWQsIHNvIGl0cyBvd24gd2lkdGggaXMgdGhlIG9ubHlcbi8vIHJlZmVyZW5jZSBhbmQgdGhlIHNwbGl0IHRoZW4gaG9sZHMgYXQgZXZlcnkgdmlld3BvcnQuXG4kX2JkLWhlcm8tYXJ0Ym9hcmQ6IDE3Mjg7XG4kX2JkLWhlcm8tY29weTogMTE0NDtcbiRfYmQtaGVyby1oZWlnaHQ6IDQ5MHB4O1xuJF9iZC1oZXJvLWNvcHktcmF0aW86IG1hdGguZGl2KCRfYmQtaGVyby1jb3B5LCAkX2JkLWhlcm8tYXJ0Ym9hcmQpO1xuXG4vLyBGaXhlZCBoZWFkZXI6IDgwcHggYmFyICsgMTJweCB0b3BiYXIuIERlbGliZXJhdGVseSBOT1QgaWItcmVtKCkg4oCUIGhlYWRlci5jc3Ncbi8vIHNpemVzIHRoZSBiYXIgaW4gZmxhdCBweCwgd2hpbGUgdGhpcyBwYWdlJ3Mgcm9vdCBmb250LXNpemUgaXMgZmx1aWQgYWJvdmVcbi8vIDEwMjRweCwgc28gYSByZW0gY2xlYXJhbmNlIHdvdWxkIGRyaWZ0IGF3YXkgZnJvbSB0aGUgYmFyIGl0IGhhcyB0byBjbGVhci5cbiRfYmQtaGVyby1oZWFkZXItY2xlYXJhbmNlOiA5MnB4O1xuXG4vLyBQYWdlIGluc2V0cyDigJQgc2FtZSBzZXQgYXMgX2FydGljbGUtc2VjdGlvbi5zY3NzLCBzbyB0aGUgaGVybyBjb3B5IGFuZCB0aGVcbi8vIGFydGljbGUgYm9keSBzdGFydCBvbiB0aGUgc2FtZSBsaW5lLlxuLy9cbi8vIFRoZSBpbnNldCB0cmFja3MgdGhlIGhlYWRlcjogLmhlYWRlci1jb250YWluZXIgaXMgYSAtLWNvbnRhaW5lci13aWR0aC1wYWRkXG4vLyBib3ggY2VudHJlZCBpbiB0aGUgcGFnZSB3aXRoIGEgNDBweCBndXR0ZXIgZWF0ZW4gZnJvbSBpbnNpZGUsIHNvIHRoZSBsb2dvIChhbmRcbi8vIHRoZSBDVEEgb24gdGhlIHJpZ2h0KSBzaXRzIGF0ICgxMDAlIOKIkiAtLWNvbnRhaW5lci13aWR0aC1wYWRkKSAvIDIgKyA0MHB4LiBUaGF0XG4vLyBleHByZXNzaW9uIGlzIHRoZSBtaWRkbGUgdGVybSBvZiB0aGUgY2xhbXAgYmVsb3cg4oCUXG4vLyAgIMK3IGZsb29yICA0MHB4IOKAlCBvbmNlIHRoZSBwYWdlIG5hcnJvd3MgdG8gLS1jb250YWluZXItd2lkdGgtcGFkZCB0aGUgaGVhZGVyXG4vLyAgICAgY29udGFpbmVyIGdvZXMgZnVsbC13aWR0aCBhdCBhIGZsYXQgNDBweCBndXR0ZXIsIGFuZCBzbyBkb2VzIHRoaXNcbi8vICAgwrcgY2FwICAgICAxMjAvODBweCDigJQgdGhlIEZpZ21hIGluc2V0cyBvbiB0aGUgMTcyOCBjYW52YXNcbiRfYmQtZ3V0dGVyOiA0MHB4O1xuJF9iZC1pbnNldC1sZWZ0OiAxMjBweDtcbiRfYmQtaW5zZXQtcmlnaHQ6IDgwcHg7XG4kX2JkLWluc2V0LW1vYmlsZTogMjBweDtcblxuLmJkLWhlcm8tc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczpcbiAgICBtYXRoLnBlcmNlbnRhZ2UobWF0aC5kaXYoJF9iZC1oZXJvLWNvcHksICRfYmQtaGVyby1hcnRib2FyZCkpXG4gICAgbWlubWF4KDAsIDFmcik7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXG4gIC8vIFBhZGRpbmcgKG5vdCBhIHNwYWNlciBlbGVtZW50KSBkcmF3cyB0aGUgY3JlYW0gc3RyaXAgdGhlIGhlYWRlciBzaXRzIG92ZXIg4oCUXG4gIC8vIHRoZSBncmlkIHRyYWNrcyBzdGFydCBiZWxvdyBpdC5cbiAgcGFkZGluZy10b3A6ICRfYmQtaGVyby1oZWFkZXItY2xlYXJhbmNlO1xuICBiYWNrZ3JvdW5kOiAkaWItY3JlYW0tbGlnaHQ7XG5cbiAgLy8g4pSA4pSAIENyaW1zb24gY29weSBwYW5lbCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgJl9fY29weSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBtaW4taGVpZ2h0OiBpYi1yZW0oJF9iZC1oZXJvLWhlaWdodCk7XG4gICAgYmFja2dyb3VuZDogJGliLXJlZC1kYXJrO1xuXG4gICAgLy8gTWF0Y2hlcyAuYmQtYXJ0aWNsZS1zZWN0aW9uX19jb250YWluZXIgYmVsb3csIHNvIHRoZSBicmVhZGNydW1iIGFuZCB0aXRsZVxuICAgIC8vIHN0YXJ0IG9uIHRoZSBzYW1lIGxpbmUgYXMgdGhlIGFydGljbGUgYm9keS5cbiAgICAvL1xuICAgIC8vIGAxMDAlYCBoZXJlIGlzIHRoZSBwYW5lbCdzIGdyaWQgYXJlYSDigJQgdGhlIHBhZ2Ugd2lkdGggdGltZXMgdGhlIHNwbGl0XG4gICAgLy8gcmF0aW8g4oCUIHNvIGRpdmlkaW5nIHRoZSByYXRpbyBiYWNrIG91dCByZWNvdmVycyB0aGUgcGFnZSB3aWR0aCB0aGUgaGVhZGVyXG4gICAgLy8gaXMgY2VudHJlZCBpbi4gRGVsaWJlcmF0ZWx5IG5vdCAxMDB2dzogdGhhdCBpbmNsdWRlcyB0aGUgc2Nyb2xsYmFyLCB3aGljaFxuICAgIC8vIHRoZSBmaXhlZCBoZWFkZXIgaXMgbm90IHNpemVkIGJ5IGVpdGhlci5cbiAgICAvL1xuICAgIC8vIEhlbGQgb24gb25lIGxpbmU6IHNjc3Mvb3BlcmF0b3Itbm8tbmV3bGluZS1iZWZvcmV8YWZ0ZXIgZm9yYmlkIGJyZWFraW5nIGFcbiAgICAvLyBiaW5hcnkgb3BlcmF0b3IgYWNyb3NzIGxpbmVzLCBzbyB0aGUgYCtgIGNhbm5vdCB3cmFwLlxuICAgICRfaW5zZXQtbGVmdDogY2xhbXAoI3skX2JkLWd1dHRlcn0sIGNhbGMoKDEwMCUgLyAjeyRfYmQtaGVyby1jb3B5LXJhdGlvfSAtIHZhcigtLWNvbnRhaW5lci13aWR0aC1wYWRkKSkgLyAyICsgI3skX2JkLWd1dHRlcn0pLCAjeyRfYmQtaW5zZXQtbGVmdH0pO1xuXG4gICAgcGFkZGluZzogaWItcmVtKDcycHgpICRfYmQtaW5zZXQtcmlnaHQgaWItcmVtKDE1MHB4KSAkX2luc2V0LWxlZnQ7XG5cbiAgICAvLyBGaWxtLWdyYWluIHRleHR1cmUgb3ZlciB0aGUgY3JpbXNvbiDigJQgc2FtZSB0aWxlIGFuZCB0cmVhdG1lbnQgYXMgdGhlXG4gICAgLy8gbWVnYSBtZW51IGFuZCB0aGUgRGlzY2lwbGluZXMgc2VjdGlvbi5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGluc2V0OiAwO1xuICAgICAgei1pbmRleDogMDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uLy4uLy4uL3N0YXRpYy9hc3NldHMvaW1hZ2VzL2xhdGVzdC9ncmFpbi5wbmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIC8vIENoYXJjb2FsIHZhcmlhbnQg4oCUIG9wdC1pbiBhbHRlcm5hdGUgcGFuZWwgY29sb3VyLiBBZGRcbiAgICAvLyBgYmQtaGVyby1zZWN0aW9uX19jb3B5LS1jaGFyY29hbGAgYWxvbmdzaWRlIHRoZSBiYXNlIGNsYXNzOyBldmVyeXRoaW5nXG4gICAgLy8gZWxzZSAoZ3JhaW4gbGF5ZXIsIGluc2V0cywgaW52ZXJ0IHRleHQpIGNhcnJpZXMgb3ZlciB1bmNoYW5nZWQuXG4gICAgJi0tY2hhcmNvYWwge1xuICAgICAgYmFja2dyb3VuZDogJGliLWdyYXktY2hhcmNvYWw7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29weSBzaXRzIGFib3ZlIHRoZSBncmFpbiBsYXllclxuICAmX19icmVhZGNydW1iLFxuICAmX190aXRsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gIH1cblxuICAmX19icmVhZGNydW1iIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogaWItc3BhY2UoOCk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgQGluY2x1ZGUgaWItdHlwZShcImJvZHktc21hbGxcIik7IC8vIExleGVuZCAzMDAgMTYvMjZcblxuICAgIGNvbG9yOiAkaWItdGV4dC1pbnZlcnQ7XG5cbiAgICBzdmcge1xuICAgICAgd2lkdGg6IGliLXNpemUoMTYpO1xuICAgICAgaGVpZ2h0OiBpYi1yZW0oMTJweCk7XG4gICAgICBjb2xvcjogY3VycmVudGNvbG9yO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcyBjdWJpYy1iZXppZXIoLjE2LCAxLCAuMywgMSk7XG4gICAgfVxuXG4gICAgJjpob3ZlciBzdmcge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGliLXJlbSgtNHB4KSk7XG4gICAgfVxuXG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IDJweCBzb2xpZCAkaWItdGV4dC1pbnZlcnQ7XG4gICAgICBvdXRsaW5lLW9mZnNldDogNHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSBpYi10eXBlKFwiZGlzcGxheS1tb2JpbGUtbGFyZ2VcIik7IC8vIExleGVuZCA0MDAgNDgvNTIgbHMgLTEuOTJcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGNvbG9yOiAkaWItdGV4dC1pbnZlcnQ7XG4gICAgbWF4LXdpZHRoOiBpYi1yZW0oODkwcHgpO1xuICAgIG1hcmdpbjogaWItcmVtKDg0cHgpIDAgMDtcbiAgfVxuXG4gIC8vIOKUgOKUgCBQaG90byBzdHJpcCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgLy8gVGhlIGZpZ3VyZSBzdHJldGNoZXMgdG8gdGhlIHBhbmVsJ3MgaGVpZ2h0IChkZWZhdWx0IGdyaWQgYHN0cmV0Y2hgKSwgc28gdGhlXG4gIC8vIHBob3RvIGNhbiBjb3ZlciBpdCB3aGF0ZXZlciB0aGUgdGl0bGUgd3JhcHMgdG8uXG4gICZfX21lZGlhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICBiYWNrZ3JvdW5kOiAkaWItY3JlYW0tbGlnaHQ7XG5cbiAgICAvLyBTYW1lIGZpbG0tZ3JhaW4gdGlsZSBhbmQgdHJlYXRtZW50IGFzIHRoZSBjb3B5IHBhbmVsLCBsYWlkIG92ZXIgdGhlXG4gICAgLy8gcGhvdG8gKHotaW5kZXggYWJvdmUgJl9fcGhvdG8sIHdoaWNoIGlzIHVucG9zaXRpb25lZCkuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGluc2V0OiAwO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uLy4uLy4uL3N0YXRpYy9hc3NldHMvaW1hZ2VzL2xhdGVzdC9ncmFpbi5wbmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICZfX3Bob3RvIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gIH1cblxuICAvLyBFbnRyYW5jZSBpcyBDU1Mtb25seSAoa2V5ZnJhbWVzIG9uIGxvYWQpIHNvIHRoZSBoZXJvIG5ldmVyIGRlcGVuZHMgb24gSlMuXG4gIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogbm8tcHJlZmVyZW5jZSkge1xuICAgICZfX2JyZWFkY3J1bWIsXG4gICAgJl9fdGl0bGUge1xuICAgICAgYW5pbWF0aW9uOiBiZC1oZXJvLXJpc2UgLjlzIGN1YmljLWJlemllciguMjUsIC40NiwgLjQ1LCAuOTQpIGJvdGg7XG4gICAgfVxuXG4gICAgJl9fdGl0bGUgeyBhbmltYXRpb24tZGVsYXk6IC4xMnM7IH1cbiAgfVxuXG4gIC8vIOKUgOKUgCBNb2JpbGUgKOKJpDEwMjRweCkg4oCUIHBhbmVsIHN0YWNrZWQgb3ZlciBhIGZ1bGwtYmxlZWQgcGhvdG8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8oJGliLWJwLXRhYmxldCkge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuXG4gICAgLy8gTW9iaWxlIGhlYWRlciBpcyB0aGUgc2FtZSBmbGF0IDgwcHggYmFyICsgMTJweCB0b3BiYXJcbiAgICBwYWRkaW5nLXRvcDogJF9iZC1oZXJvLWhlYWRlci1jbGVhcmFuY2U7XG5cbiAgICAmX19jb3B5IHtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7XG5cbiAgICAgIC8vIOKJpDEwMjRweCAuaGVhZGVyLWNvbnRhaW5lciBpcyBhIGZsYXQgMjBweCBndXR0ZXIsIHNvIG1hdGNoIGl0IGRpcmVjdGx5XG4gICAgICBwYWRkaW5nOiBpYi1yZW0oNDBweCkgJF9iZC1pbnNldC1tb2JpbGUgaWItcmVtKDY0cHgpO1xuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgIEBpbmNsdWRlIGliLXR5cGUoXCJoZWFkbGluZS13ZWItc21hbGxcIik7IC8vIExleGVuZCA0MDAgMzIvNDhcblxuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgbWFyZ2luLXRvcDogaWItc3BhY2UoNDApO1xuICAgIH1cblxuICAgIC8vIE5hdHVyYWwgcmF0aW8g4oCUIHRoZSBkZXNrdG9wIGNvdmVyIGNyb3AgaGFzIG5vIHJvb20gdG8gd29yayBhdCB0aGlzIHdpZHRoXG4gICAgJl9fcGhvdG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJkLWhlcm8tcmlzZSB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCBpYi1yZW0oMzJweCksIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuIiwiLy8gYXNzZXRzL3Njc3MvcGFnZXMvYmxvZy1kZXRhaWxzL19hcnRpY2xlLXNlY3Rpb24uc2Nzc1xuLy8gU2VjdGlvbjogYXJ0aWNsZSBib2R5IOKAlCBhIHNpbmdsZSBjb3B5IGNvbHVtbiAoaGVhZGluZyArIHBhcmFncmFwaHMgKyBidWxsZXRzXG4vLyBwZXIgYmxvY2spIHdpdGggYSBzdGlja3kgbWV0YSByYWlsIG9uIHRoZSByaWdodCBob2xkaW5nIHRoZSBieWxpbmUgYW5kIHRoZVxuLy8gc2hhcmUgcm93LiBPbiBtb2JpbGUgdGhlIHJhaWwgZHJvcHMgYmVsb3cgdGhlIGNvcHksIHN0aWxsIHJpZ2h0LWFsaWduZWQuXG4vLyBGaWdtYTogbm9kZSAxODkzNDo4MDM0IChkZXNrdG9wIDE3MjgpIC8gOTQxNToyMTcxOSAobW9iaWxlKS5cblxuQHVzZSBcInNhc3M6bWF0aFwiO1xuQHVzZSBcIi4uL3V0aWxzXCIgYXMgKjtcblxuLy8gVGhlIHJhaWwgaXMgYSBmaXhlZCBydW5nIHBpbm5lZCB0byB0aGUgcmlnaHQgb2YgdGhlIHNoYXJlZCBjb250YWluZXI7IHRoZVxuLy8gY29weSBjb2x1bW4gdGFrZXMgd2hhdCBpcyBsZWZ0IGFuZCBjYXBzIGF0IHRoZSBGaWdtYSBtZWFzdXJlLCBzbyB0aGUgZ2FwXG4vLyBiZXR3ZWVuIHRoZW0gYWJzb3JicyB0aGUgc2xhY2sgaW5zdGVhZCBvZiB0aGUgY29weSBzdHJldGNoaW5nIHRvIGZpbGwgaXQuXG4kX2JkLWFydGljbGUtbWVhc3VyZTogNzYwcHg7XG4kX2JkLWFydGljbGUtcmFpbDogMjk2cHg7XG5cbi8vIFNhbWUgYXJ0Ym9hcmQgcmF0aW8gLmJkLWhlcm8tc2VjdGlvbidzIGNvcHkgcGFuZWwgdXNlcyAoc2VlIHRoYXQgZmlsZSdzXG4vLyAkX2JkLWhlcm8tY29weS8kX2JkLWhlcm8tYXJ0Ym9hcmQpLCBkdXBsaWNhdGVkIHJhdGhlciB0aGFuIHNoYXJlZCBiZWNhdXNlXG4vLyBib3RoIGZpbGVzJyAkXy1wcmVmaXhlZCBjb25zdGFudHMgYXJlIHByaXZhdGUtYnktY29udmVudGlvbiBTQ1NTIHBhcnRpYWxzLlxuLy9cbi8vIE5vdCBwaXhlbC1pZGVudGljYWwgdG8gdGhlIHBhbmVsIGVkZ2UgYWJvdmUgaXQsIGRlc3BpdGUgdGhlIHNoYXJlZCByYXRpbzpcbi8vIGhlcm8ncyBncmlkIGlzIGZ1bGwtYmxlZWQgKGl0cyAxMjAvODAgaW5zZXQgbGl2ZXMgSU5TSURFIGNvbHVtbiAxLCBvblxuLy8gJl9fY29weSdzIG93biBwYWRkaW5nLCBzbyB0aGUgJSByZXNvbHZlcyBhZ2FpbnN0IHRoZSB3aG9sZSBzZWN0aW9uIHdpZHRoKSxcbi8vIHdoaWxlIF9fY29udGFpbmVyIGJlbG93IGNhcnJpZXMgaXRzIDEyMC84MCBpbnNldCBhcyBwYWRkaW5nIG9uIHRoZSBncmlkXG4vLyBlbGVtZW50IGl0c2VsZiDigJQgc28gaGVyZSB0aGUgJSByZXNvbHZlcyBhZ2FpbnN0IGEgYm94IGFscmVhZHkgbmFycm93ZXIgYnlcbi8vIHRoYXQgcGFkZGluZy4gTWF0Y2hpbmcgdGhlIHJhdGlvIGtlZXBzIHRoZSBzcGxpdCByZWFkaW5nIGFzIHRoZSBzYW1lXG4vLyBwcm9wb3J0aW9uIGF0IGEgZ2xhbmNlIHdpdGhvdXQgcmVzdHJ1Y3R1cmluZyB3aGVyZSB0aGlzIHNlY3Rpb24nc1xuLy8gKGRlbGliZXJhdGVseSBhc3ltbWV0cmljLCBuby1jZW50cmVkLW1heC13aWR0aCkgaW5zZXQgbGl2ZXMuXG4kX2JkLWhlcm8tYXJ0Ym9hcmQ6IDE3Mjg7XG4kX2JkLWhlcm8tY29weTogMTE0NDtcblxuLy8gUGFnZSBpbnNldHMg4oCUIHNhbWUgc2V0IGFzIF9oZXJvLXNlY3Rpb24uc2Nzcywgc28gdGhlIGFydGljbGUgYm9keSBhbmQgdGhlXG4vLyBoZXJvIGNvcHkgc3RhcnQgb24gdGhlIHNhbWUgbGluZS5cbi8vXG4vLyBUaGUgaW5zZXQgdHJhY2tzIHRoZSBoZWFkZXI6IC5oZWFkZXItY29udGFpbmVyIGlzIGEgLS1jb250YWluZXItd2lkdGgtcGFkZFxuLy8gYm94IGNlbnRyZWQgaW4gdGhlIHBhZ2Ugd2l0aCBhIDQwcHggZ3V0dGVyIGVhdGVuIGZyb20gaW5zaWRlLCBzbyB0aGUgbG9nbyAoYW5kXG4vLyB0aGUgQ1RBIG9uIHRoZSByaWdodCkgc2l0cyBhdCAoMTAwJSDiiJIgLS1jb250YWluZXItd2lkdGgtcGFkZCkgLyAyICsgNDBweC4gVGhhdFxuLy8gZXhwcmVzc2lvbiBpcyB0aGUgbWlkZGxlIHRlcm0gb2YgdGhlIGNsYW1wIGJlbG93IOKAlFxuLy8gICDCtyBmbG9vciAgNDBweCDigJQgb25jZSB0aGUgcGFnZSBuYXJyb3dzIHRvIC0tY29udGFpbmVyLXdpZHRoLXBhZGQgdGhlIGhlYWRlclxuLy8gICAgIGNvbnRhaW5lciBnb2VzIGZ1bGwtd2lkdGggYXQgYSBmbGF0IDQwcHggZ3V0dGVyLCBhbmQgc28gZG9lcyB0aGlzXG4vLyAgIMK3IGNhcCAgICAgMTIwLzgwcHgg4oCUIHRoZSBGaWdtYSBpbnNldHMgb24gdGhlIDE3MjggY2FudmFzXG4kX2JkLWd1dHRlcjogNDBweDtcbiRfYmQtaW5zZXQtbGVmdDogMTIwcHg7XG4kX2JkLWluc2V0LXJpZ2h0OiA4MHB4O1xuJF9iZC1pbnNldC1tb2JpbGU6IDIwcHg7XG5cbi5iZC1hcnRpY2xlLXNlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiAkaWItYmctcHJpbWFyeTtcbiAgcGFkZGluZy1ibG9jazogaWItcmVtKDgwcHgpIGliLXJlbSgxMTBweCk7XG5cbiAgLy8gQXN5bW1ldHJpYyBieSBkZXNpZ24gKDEyMCAvIDgwKSwgc28gYSBjZW50cmVkIG1heC13aWR0aCBjb250YWluZXIgZG9lcyBub3RcbiAgLy8gZml0IGhlcmUg4oCUIHRoYXQgYm94IGNhbiBvbmx5IGV2ZXIgcHJvZHVjZSBlcXVhbCBpbnNldHMgb24gYm90aCBlZGdlcy5cbiAgLy9cbiAgLy8gU2FtZSBzcGxpdCBhcyAuYmQtaGVyby1zZWN0aW9uIGRpcmVjdGx5IGFib3ZlOiB0aGUgaWRlbnRpY2FsIHBlcmNlbnRhZ2Ugb25cbiAgLy8gY29sdW1uIDEgKHNlZSB0aGUgY29uc3RhbnRzJyBvd24gY29tbWVudCByZTogd2h5IGl0IGlzbid0IHBpeGVsLWlkZW50aWNhbFxuICAvLyB0byB0aGUgcGFuZWwgZWRnZSksIG1pbm1heCgwLCAxZnIpIG9uIGNvbHVtbiAyLiBUaGUgNzYwcHggcmVhZGluZyBtZWFzdXJlXG4gIC8vIHN0aWxsIGNhcHMgX19jb250ZW50IHdpdGhpbiB0aGF0IGNvbHVtbiDigJQgdGhpcyBvbmx5IGRlY2lkZXMgd2hlcmUgdGhlXG4gIC8vIFJBSUwgc3RhcnRzLCByYXRoZXIgdGhhbiB0aGUgcmFpbCBkaWN0YXRpbmcgYSBuYXJyb3dlciBjb3B5IGNvbHVtbi5cbiAgJl9fY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWF0aC5wZXJjZW50YWdlKG1hdGguZGl2KCRfYmQtaGVyby1jb3B5LCAkX2JkLWhlcm8tYXJ0Ym9hcmQpKSBtaW5tYXgoMCwgMWZyKTtcbiAgICBjb2x1bW4tZ2FwOiBjbGFtcCgje2liLXJlbSg0MHB4KX0sIDR2dywgI3tpYi1yZW0oODBweCl9KTtcbiAgICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gICAgcGFkZGluZy1sZWZ0OiBjbGFtcChcbiAgICAgICN7JF9iZC1ndXR0ZXJ9LFxuICAgICAgY2FsYygoMTAwJSAtIHZhcigtLWNvbnRhaW5lci13aWR0aC1wYWRkKSkgLyAyICsgI3skX2JkLWd1dHRlcn0pLFxuICAgICAgI3skX2JkLWluc2V0LWxlZnR9XG4gICAgKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjbGFtcChcbiAgICAgICN7JF9iZC1ndXR0ZXJ9LFxuICAgICAgY2FsYygoMTAwJSAtIHZhcigtLWNvbnRhaW5lci13aWR0aC1wYWRkKSkgLyAyICsgI3skX2JkLWd1dHRlcn0pLFxuICAgICAgI3skX2JkLWluc2V0LXJpZ2h0fVxuICAgICk7XG4gIH1cblxuICAmX19jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IGliLXJlbSgkX2JkLWFydGljbGUtbWVhc3VyZSk7XG4gIH1cblxuICAmX19ibG9jayArICZfX2Jsb2NrIHtcbiAgICBtYXJnaW4tdG9wOiBpYi1yZW0oODBweCk7XG4gIH1cblxuICAmX19oZWFkaW5nIHtcbiAgICAvLyBGaWdtYTogTGV4ZW5kIDQwMCA0MC80OCDigJQgbm8gZXhhY3QgJGliLXR5cGUtc2NhbGUga2V5IChoZWFkbGluZS13ZWItbWVkaXVtXG4gICAgLy8gaXMgdGhlIHNhbWUgYm94IGF0IHdlaWdodCA1MDAgb24gYSB0YWxsZXIgbGluZSksIHNvIGl0IGlzIHNwZWxsZWQgb3V0IGhlcmUuXG4gICAgZm9udC1mYW1pbHk6ICRpYi1mb250LWhlYWRpbmc7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IG1heCgje2liLXJlbSg0MHB4KX0sIDEycHgpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7IC8vIDQ4LzQwXG4gICAgbGV0dGVyLXNwYWNpbmc6IGliLXJlbSgtLjhweCk7XG4gICAgY29sb3I6ICRpYi10ZXh0LXByaW1hcnk7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgJl9fYm9keSB7XG4gICAgbWFyZ2luLXRvcDogaWItcmVtKDQwcHgpO1xuXG4gICAgPiAqICsgKiB7XG4gICAgICBtYXJnaW4tdG9wOiBpYi1zcGFjZSgzMik7XG4gICAgfVxuICB9XG5cbiAgJl9fdGV4dCB7XG4gICAgQGluY2x1ZGUgaWItdHlwZShcImJvZHktbGFyZ2VcIik7IC8vIExleGVuZCAzMDAgMjAvMzRcblxuICAgIGNvbG9yOiAkaWItdGV4dC1wcmltYXJ5OyAvLyBkcm9wcyB0byBzZWNvbmRhcnkg4omkMTAyNHB4IOKAlCBzZWUgbW9iaWxlIGJsb2NrXG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgJl9fbGlzdCB7XG4gICAgQGluY2x1ZGUgaWItdHlwZShcImJvZHktbGFyZ2VcIik7XG5cbiAgICBjb2xvcjogJGliLXRleHQtcHJpbWFyeTtcbiAgICBtYXJnaW46IGliLXNwYWNlKDI0KSAwO1xuICAgIHBhZGRpbmctbGVmdDogaWItcmVtKDI4cHgpO1xuXG4gICAgbGk6Om1hcmtlciB7XG4gICAgICBjb2xvcjogJGliLXRleHQtcHJpbWFyeTtcbiAgICB9XG5cbiAgICBsaSArIGxpIHtcbiAgICAgIG1hcmdpbi10b3A6IGliLXNwYWNlKDQpO1xuICAgIH1cbiAgfVxuXG4gIC8vIOKUgOKUgCBNZXRhIHJhaWwg4oCUIGJ5bGluZSArIHNoYXJlIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAvLyBgYWxpZ24tc2VsZjogc3RhcnRgIGlzIHdoYXQgbWFrZXMgYHBvc2l0aW9uOiBzdGlja3lgIHdvcmsgaW5zaWRlIGEgZ3JpZDpcbiAgLy8gd2l0aG91dCBpdCB0aGUgaXRlbSBzdHJldGNoZXMgdGhlIGZ1bGwgcm93IGFuZCBoYXMgbm90aGluZyB0byBzdGljayB3aXRoaW4uXG4gIC8vIEdyaWQgY29sdW1uIDIgaXMgbm93IG1pbm1heCgwLCAxZnIpIOKAlCBnZW51aW5lbHkgZmxleGlibGUsIHNvIG5vdGhpbmcgc3RvcHNcbiAgLy8gaXQgc3RyZXRjaGluZyB3ZWxsIHBhc3QgdGhlIHJhaWwncyBGaWdtYSB3aWR0aCBub3cgdGhhdCBpdCBpcyBub3Qgc2hhcmluZ1xuICAvLyB0aGUgcm93IHdpdGggYSBmaXhlZC13aWR0aCBjb3B5IGNvbHVtbi4gbWF4LXdpZHRoIGhvbGRzIHRoZSByYWlsIGl0c2VsZiBhdFxuICAvLyB0aGF0IG9yaWdpbmFsIG1lYXN1cmU7IOKJpDEwMjRweCB0aGUgZ3JpZCBjb2xsYXBzZXMgdG8gb25lIGNvbHVtbiAobm9cbiAgLy8gXCJyaWdodCBjb2x1bW5cIiBsZWZ0IHRvIG1hdGNoKSwgc28gdGhlIG1vYmlsZSBibG9jayBiZWxvdyByZXNldHMgaXQgdG8gbm9uZS5cbiAgLy9cbiAgLy8ganVzdGlmeS1zZWxmOiBlbmQgaXMgbG9hZC1iZWFyaW5nIG9uY2UgbWF4LXdpZHRoIGlzIHNldC4gQSBncmlkIGl0ZW0nc1xuICAvLyBkZWZhdWx0IGlubGluZSBzaXppbmcgaXMgc3RyZXRjaCwgYnV0IHRoZSBtb21lbnQgaXQgaGFzIGFuIGV4cGxpY2l0XG4gIC8vIG1heC13aWR0aCBzbWFsbGVyIHRoYW4gaXRzIHRyYWNrLCBpdCBzdG9wcyBiZWluZyBzdHJldGNoYWJsZSBhbmQgZ3JpZFxuICAvLyBhbGlnbm1lbnQgZmFsbHMgYmFjayB0byBgc3RhcnRgIOKAlCBmbHVzaCBhZ2FpbnN0IHRoZSBnYXAsIG9uIHRoZSBMRUZUIGVkZ2VcbiAgLy8gb2YgdGhpcyBub3ctd2lkZSBjb2x1bW4sIGluc3RlYWQgb2YgZmx1c2ggYWdhaW5zdCB0aGUgcGFnZSdzIHJpZ2h0IGluc2V0LlxuICAvLyBlbmQgcGlucyBpdCBiYWNrIHRvIHRoZSBmYXIgZWRnZSwgd2hpY2ggaXMgd2hhdCBldmVyeSB0ZXh0LWFsaWduOiByaWdodFxuICAvLyBhbmQgdGhlIHN0aWNreSBwb3NpdGlvbmluZyBiZWxvdyBhbHJlYWR5IGFzc3VtZS5cbiAgJl9fbWV0YSB7XG4gICAgYWxpZ24tc2VsZjogc3RhcnQ7XG4gICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IGliLXJlbSgxMjBweCk7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG5cbiAgLy8gU2hyaW5rLXdyYXBwZWQgYW5kIHB1c2hlZCByaWdodCwgc28gdGhlIHJ1bGUgdW5kZXJuZWF0aCBzdGFydHMgYXQgdGhlXG4gIC8vIHBob3RvJ3MgbGVmdCBlZGdlIHJhdGhlciB0aGFuIHJ1bm5pbmcgdGhlIGZ1bGwgd2lkdGggb2YgdGhlIHJhaWwuXG4gICZfX2F1dGhvciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGdhcDogaWItcmVtKDIwcHgpO1xuICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBwYWRkaW5nLWJvdHRvbTogaWItcmVtKDIwcHgpO1xuICAgIGJvcmRlci1ib3R0b206IGliLXJlbSgxcHgpIHNvbGlkICRpYi1yZWQtcGVhY2g7XG4gIH1cblxuICAmX19hdXRob3ItcGhvdG8ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBpYi1yZW0oNDhweCk7XG4gICAgaGVpZ2h0OiBpYi1yZW0oNDhweCk7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gIH1cblxuICAmX19ieWxpbmUge1xuICAgIEBpbmNsdWRlIGliLXR5cGUoXCJsYWJlbC1zbWFsbFwiKTsgLy8gTGV4ZW5kIDUwMCAxMi8xOCBscyAxLjIgVVBQRVJcblxuICAgIGNvbG9yOiAkaWItdGV4dC1wcmltYXJ5O1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gICZfX2F1dGhvci1uYW1lIHtcbiAgICBjb2xvcjogJGliLXRleHQtYWN0aW9uO1xuICB9XG5cbiAgJl9fcHVibGlzaGVkIHtcbiAgICBAaW5jbHVkZSBpYi10eXBlKFwiY2FwdGlvbi1sYXJnZVwiKTsgLy8gTGV4ZW5kIDMwMCAxNC8yMlxuXG4gICAgY29sb3I6ICRpYi10ZXh0LXNlY29uZGFyeTtcbiAgICBtYXJnaW46IGliLXNwYWNlKDQpIDAgMDtcbiAgfVxuXG4gIC8vIFNocmluay13cmFwcGVkIGFuZCBwdXNoZWQgcmlnaHQgbGlrZSAmX19hdXRob3IsIHNvIHRoZSBibG9jayBpcyBleGFjdGx5IGFzXG4gIC8vIHdpZGUgYXMgdGhlIFwiU2hhcmUgdGhpcyBhcnRpY2xlXCIgbGFiZWwg4oCUIHdoaWNoIGlzIHdoYXQgdGhlIGljb24gcm93IGJlbG93XG4gIC8vIHRoZW4gc3ByZWFkcyBhY3Jvc3MuXG4gICZfX3NoYXJlIHtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogaWItcmVtKDIwcHgpO1xuICB9XG5cbiAgJl9fc2hhcmUtbGFiZWwge1xuICAgIEBpbmNsdWRlIGliLXR5cGUoXCJsYWJlbC1leHRyYS1zbWFsbFwiKTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgIGNvbG9yOiAkaWItdGV4dC1wcmltYXJ5O1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG5cbiAgLy8gc3BhY2UtYmV0d2VlbiAobm90IGZsZXgtZW5kKSBzcHJlYWRzIHRoZSBpY29ucyBhY3Jvc3MgdGhlIGxhYmVsJ3Mgd2lkdGgsIHNvXG4gIC8vIHRoZSBmaXJzdCBpY29uJ3MgbGVmdCBlZGdlIHNpdHMgdW5kZXIgdGhlIGxhYmVsJ3MgZmlyc3QgbGV0dGVyIGFuZCB0aGUgbGFzdFxuICAvLyBpY29uJ3MgcmlnaHQgZWRnZSB1bmRlciBpdHMgbGFzdC4gVGhlIGdhcCBpcyBvbmx5IGEgZmxvb3Ig4oCUIHRoZSBmcmVlIHNwYWNlXG4gIC8vIGxlZnQgb3ZlciBieSB0aGUgbGFiZWwgaXMgd2hhdCBhY3R1YWxseSBzZXRzIHRoZSBzcGFjaW5nLlxuICAmX19zaGFyZS1pY29ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IGliLXJlbSgxNnB4KTtcbiAgICBtYXJnaW4tdG9wOiBpYi1yZW0oMjBweCk7XG4gIH1cblxuICAmX19zaGFyZS1pY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBjb2xvcjogJGliLWdyYXktbWVkaXVtOyAvLyBpY29ucyBpbmhlcml0IHZpYSBjdXJyZW50Q29sb3JcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAuMjVzIGVhc2U7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkaWItdGV4dC1wcmltYXJ5O1xuICAgIH1cblxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lOiAycHggc29saWQgJGliLXJlZC1icmFuZDtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiA0cHg7XG4gICAgfVxuXG4gICAgc3ZnIHtcbiAgICAgIHdpZHRoOiBpYi1yZW0oMjRweCk7XG4gICAgICBoZWlnaHQ6IGliLXJlbSgyNHB4KTtcbiAgICB9XG4gIH1cblxuICAvLyDilIDilIAgTW9iaWxlICjiiaQxMDI0cHgpIOKAlCBzaW5nbGUgY29sdW1uLCByZWQgc3F1YXJlIGJ1bGxldHMsIHJhaWwgYmVsb3cgY29weSDilIDilIDilIBcbiAgQGluY2x1ZGUgcmVzcG9uZC10bygkaWItYnAtdGFibGV0KSB7XG4gICAgLy8gVGhlIHNlY3Rpb24gaXRzZWxmIGNvbnRyaWJ1dGVzIG5vIHZlcnRpY2FsIHJoeXRobSDigJQgdGhlIGNvcHkgd3JhcHBlciBhbmRcbiAgICAvLyBlYWNoIGJsb2NrIGNhcnJ5IHRoZWlyIG93biA0MHB4LCB3aGljaCByZWFkcyBhcyBhbiBldmVuIDgwcHggYmV0d2VlblxuICAgIC8vIG5laWdoYm91cnMgYW5kIGF0IGJvdGggZW5kcy5cbiAgICBwYWRkaW5nLWJsb2NrOiAwO1xuXG4gICAgJl9fY29udGFpbmVyIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuXG4gICAgICAvLyDiiaQxMDI0cHggLmhlYWRlci1jb250YWluZXIgaXMgYSBmbGF0IDIwcHggZ3V0dGVyLCBzbyBtYXRjaCBpdCBkaXJlY3RseVxuICAgICAgcGFkZGluZy1pbmxpbmU6ICRfYmQtaW5zZXQtbW9iaWxlO1xuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgcGFkZGluZy1ibG9jazogaWItcmVtKDQwcHgpO1xuICAgIH1cblxuICAgIC8vIFBhZGRpbmcsIG5vdCB0aGUgZGVza3RvcCBtYXJnaW4g4oCUIG1hcmdpbnMgd291bGQgY29sbGFwc2UgYWdhaW5zdCB0aGVcbiAgICAvLyB3cmFwcGVyJ3MgcGFkZGluZyBhdCB0aGUgZW5kcyBhbmQgYnJlYWsgdGhlIGV2ZW4gc3BhY2luZy5cbiAgICAmX19ibG9jayB7XG4gICAgICBwYWRkaW5nLWJsb2NrOiBpYi1yZW0oNDBweCk7XG4gICAgfVxuXG4gICAgJl9fYmxvY2sgKyAmX19ibG9jayB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cblxuICAgICZfX2JvZHkge1xuICAgICAgbWFyZ2luLXRvcDogaWItc3BhY2UoMjQpO1xuXG4gICAgICA+ICogKyAqIHtcbiAgICAgICAgbWFyZ2luLXRvcDogaWItc3BhY2UoMTYpO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgQGluY2x1ZGUgaWItdHlwZShcImJvZHktbWVkaXVtXCIpOyAvLyBMZXhlbmQgMzAwIDE4LzMwXG5cbiAgICAgIGNvbG9yOiAkaWItdGV4dC1zZWNvbmRhcnk7IC8vIGxpZ2h0ZXIgdGhhbiBkZXNrdG9wIGF0IHRoZSBzbWFsbGVyIHNpemVcbiAgICB9XG5cbiAgICAmX19saXN0IHtcbiAgICAgIEBpbmNsdWRlIGliLXR5cGUoXCJib2R5LW1lZGl1bVwiKTtcblxuICAgICAgY29sb3I6ICRpYi10ZXh0LXNlY29uZGFyeTtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IGliLXJlbSgxOHB4KTtcblxuICAgICAgICAvLyBSZWQgc3F1YXJlIG1hcmtlciBwZXIgdGhlIG1vYmlsZSBkZXNpZ25cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHRvcDogaWItcmVtKDZweCk7XG4gICAgICAgICAgd2lkdGg6IGliLXJlbSg2cHgpO1xuICAgICAgICAgIGhlaWdodDogaWItcmVtKDZweCk7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogaWItcmVtKDJweCk7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGliLXJlZC1icmFuZDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBsaSArIGxpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogaWItc3BhY2UoMTIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJhaWwgYmVjb21lcyBhIG5vcm1hbCBibG9jayB1bmRlciB0aGUgY29weSDigJQgc3RpY2t5IGhhcyBubyBjb2x1bW4gdG9cbiAgICAvLyBzdGljayBpbnNpZGUgb25jZSB0aGUgZ3JpZCBjb2xsYXBzZXMg4oCUIGFuZCBjZW50cmVzIGluc3RlYWQgb2YgaHVnZ2luZ1xuICAgIC8vIHRoZSByaWdodCBlZGdlLCBwZXIgdGhlIG1vYmlsZSBkZXNpZ24uIGp1c3RpZnktc2VsZiBtdXN0IGJlIHJlc2V0IHRvbzpcbiAgICAvLyB0aGUgZGVza3RvcCBydWxlJ3MgYGVuZGAgKHNlZSBpdHMgb3duIGNvbW1lbnQpIHdvdWxkIG90aGVyd2lzZSBzdGlsbFxuICAgIC8vIHBpbiB0aGlzIGJsb2NrIHRvIHRoZSBzaW5nbGUgbW9iaWxlIGNvbHVtbidzIHJpZ2h0IGVkZ2UgYW5kIGNlbnRyZSB0aGVcbiAgICAvLyB0ZXh0IHdpdGhpbiBUSEFUIHNocnVuayBib3gsIHJhdGhlciB0aGFuIGNlbnRyaW5nIHRoZSBibG9jayBpdHNlbGYuXG4gICAgJl9fbWV0YSB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAganVzdGlmeS1zZWxmOiBjZW50ZXI7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgcGFkZGluZzogaWItcmVtKDIwcHgpO1xuICAgIH1cblxuICAgIC8vIENlbnRyZWQgcmF0aGVyIHRoYW4gcmlnaHQtYWxpZ25lZCwgYnV0IGJvdGggc3RheSBzaHJpbmstd3JhcHBlZDogdGhlIHJ1bGVcbiAgICAvLyB1bmRlciB0aGUgYXV0aG9yIHJvdyBzdGF5cyB0aWVkIHRvIHRoZSBwaG90bywgYW5kIHRoZSBpY29uIHJvdyBzdGlsbFxuICAgIC8vIHNwcmVhZHMgYWNyb3NzIHRoZSBzaGFyZSBsYWJlbC5cbiAgICAmX19hdXRob3IsXG4gICAgJl9fc2hhcmUge1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIGFzc2V0cy9zY3NzL3BhZ2VzL2Jsb2ctZGV0YWlscy9fcmVsYXRlZC1zZWN0aW9uLnNjc3Ncbi8vIFNlY3Rpb246IFJlbGF0ZWQgQmxvZ3Mg4oCUIHJlZC1hY2NlbnRlZCBoZWFkaW5nIG92ZXIgdGhlIHNhbWUgdHdvLWNhcmQgZ3JpZFxuLy8gYXMgdGhlIGxpc3RpbmcncyBmZWF0dXJlZCBzZWN0aW9uIChzaGFyZWQgLmJsLWNhcmQgY29tcG9uZW50KS5cbi8vIEZpZ21hOiBub2RlIDEyMDEzOjE1Mjc5IChkZXNrdG9wIDE3MjjDlzk1OCkgLyAxMzA4ODoyNDYxNCAobW9iaWxlKS5cblxuQHVzZSBcIi4uL3V0aWxzXCIgYXMgKjtcblxuLy8gU2FtZSBmbGF0IGNvbnRhaW5lciBndXR0ZXIgYXMgX2hlcm8tc2VjdGlvbiAvIF9hcnRpY2xlLXNlY3Rpb24gYWJvdmUsIHNvIGFsbFxuLy8gdGhyZWUgc2VjdGlvbnMgbGluZSB1cCB3aXRoIGVhY2ggb3RoZXIgYW5kIHdpdGggdGhlIGhlYWRlciBsb2dvIOKAlCBzZWUgdGhlXG4vLyBub3RlIGluIF9hcnRpY2xlLXNlY3Rpb24uc2NzcyBmb3Igd2h5IHRoaXMgaXMgcHggYW5kIG5vdCB2YXIoLS1ndXR0ZXIpLlxuJF9iZC1ndXR0ZXI6IDQwcHg7XG4kX2JkLWd1dHRlci1tb2JpbGU6IDIwcHg7XG5cbi5iZC1yZWxhdGVkLXNlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiAkaWItYmctcHJpbWFyeTtcbiAgcGFkZGluZy1ibG9jazogaWItcmVtKDE0OXB4KSBpYi1yZW0oMTQ4cHgpO1xuXG4gIC8vIEhvcml6b250YWwgZWRnZXMgbWF0Y2ggdGhlIGhlYWRlci9mb290ZXIgY29udGFpbmVyIGV4YWN0bHkg4oCUIHNhbWUgYm94XG4gIC8vIG1vZGVsIGFzIC5oZWFkZXItY29udGFpbmVyICgxNTc2cHggYm94LCA0MHB4IGd1dHRlciBlYXRlbiBmcm9tIGluc2lkZSkuXG4gICZfX2NvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS1jb250YWluZXItd2lkdGgtcGFkZCk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1pbmxpbmU6IHZhcigtLWd1dHRlcik7XG4gICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgfVxuXG4gICZfX2hlYWRpbmcge1xuICAgIEBpbmNsdWRlIGliLXR5cGUoXCJkaXNwbGF5LW1vYmlsZS1sYXJnZVwiKTsgLy8gTGV4ZW5kIDQwMCA0OC81MiBscyAtMS45MlxuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG5cbiAgICBjb2xvcjogJGliLXRleHQtcHJpbWFyeTtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAmX19oZWFkaW5nLWFjY2VudCB7XG4gICAgY29sb3I6ICRpYi1yZWQtYnJhbmQ7XG4gIH1cblxuICAmX19ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcbiAgICBnYXA6IGliLXJlbSgzMHB4KTtcbiAgICBtYXJnaW4tdG9wOiBpYi1yZW0oNDJweCk7XG4gIH1cblxuICAvLyDilIDilIAgTW9iaWxlICjiiaQxMDI0cHgpIOKAlCBzdGFja2VkLCBpbWFnZS1maXJzdCBjYXJkcyAoZGVmYXVsdCAuYmwtY2FyZCBvcmRlcikg4pSA4pSAXG4gIEBpbmNsdWRlIHJlc3BvbmQtdG8oJGliLWJwLXRhYmxldCkge1xuICAgIC8vIFRoZSBhcnRpY2xlIHNlY3Rpb24gY2FycmllcyBubyBib3R0b20gcGFkZGluZyBhdCB0aGlzIHdpZHRoLCBzbyB0aGlzIHJ1bGVcbiAgICAvLyBpcyB3aGF0IHNlcGFyYXRlcyB0aGUgdHdvXG4gICAgYm9yZGVyLXRvcDogaWItcmVtKDFweCkgc29saWQgJGliLWdyYXktbWlzdDsgLy8gI2U2ZTZlZFxuXG4gICAgcGFkZGluZy1ibG9jazogaWItcmVtKDgwcHgpO1xuXG4gICAgJl9fY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctaW5saW5lOiAkX2JkLWd1dHRlci1tb2JpbGU7XG4gICAgfVxuXG4gICAgJl9faGVhZGluZyB7XG4gICAgICBAaW5jbHVkZSBpYi10eXBlKFwiZGlzcGxheS1tb2JpbGUtbWVkaXVtXCIpOyAvLyBMZXhlbmQgNDAwIDQwLzQ0IGxzIC0xLjZcbiAgICB9XG5cbiAgICAmX19ncmlkIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgZ2FwOiBpYi1zcGFjZSg2NCk7XG4gICAgICBtYXJnaW4tdG9wOiBpYi1zcGFjZSgzMik7XG4gICAgfVxuICB9XG59XG4iLCIvLyBhc3NldHMvc2Nzcy9wYWdlcy9ibG9nLWRldGFpbHMuc2Nzc1xuLy8gRW50cnkgcG9pbnQg4oCUIGltcG9ydHMgYWxsIEJsb2cgRGV0YWlscyAoYXJ0aWNsZSkgcGFnZSBwYXJ0aWFscy5cbi8vIENvbXBpbGU6IG5wbSBydW4gc2FzczpidWlsZCAgfCAgV2F0Y2g6IG5wbSBydW4gc2Fzc1xuXG4vLyBAdXNlIG11c3QgY29tZSBmaXJzdCDigJQgYWxsIHJ1bGVzIGdvIGluc2lkZSB0aGUgcGFydGlhbHNcbi8vIFRoaXMgcGFnZSdzIG1vYmlsZSBkZXNpZ24gb3ducyBldmVyeXRoaW5nIHVwIHRvIGFuZCBpbmNsdWRpbmcgdGFibGV0czpcbi8vIGV2ZXJ5IG1vYmlsZSBibG9jayBpbiB0aGUgYmxvZy1kZXRhaWxzIHBhcnRpYWxzIGtleXMgb2ZmICRpYi1icC10YWJsZXRcbi8vICgxMDI0cHgpLCBtYXRjaGluZyB0cnVlLXN0b3J5LWRldGFpbC5cbkB1c2UgXCIuLi91dGlsc1wiIGFzICo7IC8vIHNoYXJlZCBpYi0gZGVzaWduIHRva2VucyArIGJyZWFrcG9pbnQgdG9rZW5zXG5AdXNlIFwiLi4vYmFzZVwiOyAvLyBnbG9iYWwgcmVzZXQgKyBodG1sL2JvZHkgYmFzZSBzdHlsZXNcbkB1c2UgXCIuLi9oZWxwZXJzXCI7IC8vIC5pYi1tb2JpbGUtb25seSAvIC5pYi1kZXNrdG9wLW9ubHkgLyAuaWItbS1yZXZlYWxcbkB1c2UgXCIuLi9idXR0b25zXCI7IC8vIHNoYXJlZCBub3RjaGVkIGJ1dHRvbiBzeXN0ZW0gKGZvb3RlciBTVUJTQ1JJQkUpXG4vLyBAdXNlIFwiLi4vYmxvZy9jYXJkc1wiOyAvLyBzaGFyZWQgZmVhdHVyZWQvcmVsYXRlZCBjYXJkIGNvbXBvbmVudFxuQHVzZSBcIi4vaGVyby1zZWN0aW9uXCI7XG5AdXNlIFwiLi9hcnRpY2xlLXNlY3Rpb25cIjtcbi8vIEB1c2UgXCIuL3JlbGF0ZWQtY29udGVudC1zZWN0aW9uXCI7IC8vIHNoYXJlZCBieSBwb2RjYXN0LWRldGFpbCBhbmQgYmxvZy1kZXRhaWxzXG5AdXNlIFwiLi9yZWxhdGVkLXNlY3Rpb25cIjtcblxuLy8g4pSA4pSAIFBhZ2UtbGV2ZWwgb3ZlcnJpZGVzIChhZnRlciBAdXNlKSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIFNhbWUgZmx1aWQtcm9vdCBzY29waW5nIHBhdHRlcm4gYXMgdHJ1ZS1zdG9yeS1kZXRhaWwuc2NzczogdGhlIEZpZ21hIGNhbnZhc1xuLy8gaXMgMTcyOHB4IHdpZGUsIGFsbCB0b2tlbiBvdXRwdXQgaXMgcmVtLCBzbyBvbmUgcm9vdCBmb250LXNpemUga25vYiBzY2FsZXNcbi8vIHRoZSB3aG9sZSBwYWdlIHByb3BvcnRpb25hbGx5IGJlbG93IHRoZSBjYW52YXMgd2lkdGguXG4vLyBGbHVpZCByb290IGZvbnQtc2l6ZSArIGNvbnRhaW5lciB0b2tlbnMgY29tZSBmcm9tIF9iYXNlLnNjc3MgKGdsb2JhbCkuXG5cbmJvZHkucGFnZS1ibG9nLWRldGFpbHMge1xuICBvdmVyZmxvdy14OiBjbGlwO1xufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTs7QUFBQTtBQ0tBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFrZEE7QURqZEE7QUNPQTtBQUNBO0FETEE7QUNRQTtBQUNBO0FETkE7QUNTQTs7Ozs7Ozs7Ozs7OztBQWFBO0FEUEE7QUNVQTs7OztBQUlBO0FBQ0E7QURSQTtBQ1dBO0FBQ0E7QUFDQTtBRFRBO0FDWUE7O0FBRUE7QURWQTtBQ2FBO0FBQ0E7QUFDQTtBQUNBO0FEWEE7QUNjQTs7QUFFQTtBRFpBO0FDZUE7QUFDQTtBRGJBO0FDZ0JBOztBQUVBO0FEZEE7QUNpQkE7QUFDQTtBRGZBO0FDa0JBO0FBQ0E7QURoQkE7QUNtQkE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QURqQkE7QUNvQkE7QUFDQTtBRGxCQTtBQ3FCQTtBQUNBO0FEbkJBO0FDc0JBO0FBQ0E7QURwQkE7QUN1QkE7QUFDQTtBRHJCQTtBQ3dCQTtBQUNBO0FEdEJBO0FDeUJBO0FBRUE7QUFDQTtBRHZCQTtBQzBCQTtBQUNBO0FEeEJBO0FDMkJBOzs7O0FBSUE7QUR6QkE7QUM0QkE7Ozs7O0FBS0E7QUFDQTtBRDFCQTtBQzZCQTtBQUNBO0FEM0JBO0FDOEJBOztBQUVBO0FENUJBO0FDK0JBOzs7O0FBSUE7QUFDQTtBRDdCQTtBQ2dDQTs7QUFFQTtBRDlCQTtBQ2lDQTs7QUFFQTtBQUNBO0FEL0JBO0FDa0NBO0FBQ0E7QURoQ0E7QUNtQ0E7O0FBRUE7QUFDQTtBRGpDQTtBQ29DQTs7QUFFQTtBRGxDQTtBQ3FDQTtBQUNBO0FBR0E7QURuQ0E7QUNzQ0E7O0FBRUE7QURwQ0E7QUN1Q0E7QUFDQTtBQUNBO0FBQ0E7QURyQ0E7QUN3Q0E7QUFDQTtBQUNBO0FEdENBO0FDeUNBO0FBQ0E7QUR2Q0E7QUMwQ0E7QUFDQTtBRHhDQTtBQzJDQTtBQUNBO0FBQ0E7QUR6Q0E7QUM0Q0E7O0FBRUE7QUQxQ0E7QUMrQ0E7QUFDQTtBQUNBO0FEN0NBO0FDZ0RBOzs7Ozs7O0FBT0E7QUFDQTtBRDlDQTtBQ2lEQTtBQUNBO0FBQ0E7QUQvQ0E7QUNrREE7QUFDQTtBQUNBO0FEaERBO0FDbURBO0FBQ0E7QUFDQTtBRGpEQTtBQ29EQTtBQUNBO0FBQ0E7QURsREE7QUNxREE7QUFDQTtBQUNBO0FEbkRBO0FDc0RBO0FBQ0E7QUFDQTtBRHBEQTtBQ3VEQTtBQUNBO0FBQ0E7QURyREE7QUMwREE7QUFDQTtBQUNBO0FEeERBO0FDMkRBO0FBQ0E7QUR6REE7QUM0REE7QUFDQTtBRDFEQTtBQzZEQTtBQUNBO0FBQ0E7QUQzREE7QUM4REE7QUFDQTtBRDVEQTtBQytEQTtBQUNBO0FEN0RBO0FDZ0VBO0FBQ0E7QUFDQTtBRDlEQTtBQ2lFQTtBQUNBO0FEL0RBO0FDb0VBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QURsRUE7QUNxRUE7QUFDQTtBQUNBO0FBQ0E7QURuRUE7QUNxRUE7QUFMQTtBQU1BO0FEbEVBO0FBQ0E7QUNxRUE7QUFDQTtBQUNBO0FBQ0E7QURuRUE7QUNzRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBRHBFQTtBQ3VFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FEckVBO0FDd0VBO0FBQ0E7QUFDQTtBQUNBO0FEdEVBO0FDeUVBO0FBQ0E7QUFDQTtBQUNBO0FEdkVBO0FDMEVBO0FBQ0E7QUFDQTtBQUNBO0FEeEVBO0FDMkVBO0FBQ0E7QUFDQTtBQUNBO0FEekVBO0FDNEVBO0FBQ0E7QUFDQTtBRDFFQTtBQytFQTtBQUNBO0FBQ0E7QUFDQTtBRDdFQTtBQ2dGQTtBQUNBO0FBQ0E7QUFDQTtBRDlFQTtBQ2lGQTtBQUNBO0FBQ0E7QUQvRUE7QUNrRkE7QUFDQTtBQUNBO0FBQ0E7QURoRkE7QUNrRkE7QUFMQTtBQU1BO0FBQ0E7QUFDQTtBRC9FQTtBQUNBO0FDa0ZBO0FBQ0E7QUFDQTtBQUNBO0FEaEZBO0FDbUZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QURqRkE7QUNvRkE7QUFDQTtBQUNBO0FBQ0E7QURsRkE7QUNxRkE7QUFDQTtBQUNBO0FBQ0E7QURuRkE7QUNxRkE7QUFMQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FEbEZBO0FBQ0E7QUN1RkE7QUFDQTtBQUNBO0FEckZBO0FDd0ZBO0FBQ0E7QUFDQTtBRHRGQTtBQ3lGQTtBQUNBO0FBQ0E7QUFDQTtBRHZGQTtBQzJGQTtBQUNBO0FBQ0E7QUR6RkE7QUMwRkE7QUFDQTtBQUNBO0FEeEZBO0FDK0ZBO0FBRUE7QUFDQTtBQUNBO0FEOUZBO0FDaUdBO0FBQ0E7QUFDQTtBRC9GQTtBQ2tHQTtBQUNBO0FBQ0E7QURoR0E7QUNtR0E7QUFDQTtBQUNBO0FEakdBO0FDb0dBO0FBQ0E7QUFDQTtBRGxHQTtBQ3FHQTtBQUNBO0FBQ0E7QURuR0E7QUN3R0E7QUFDQTtBQUNBO0FEdEdBO0FDeUdBO0FBQ0E7QUFDQTtBRHZHQTtBQzRHQTtBQUNBO0FBQ0E7QUQxR0E7QUM2R0E7QUFDQTtBQUNBO0FEM0dBO0FDOEdBO0FBQ0E7QUFDQTtBRDVHQTtBQytHQTtBQUNBO0FBQ0E7QUQ3R0E7QUNnSEE7QUFDQTtBQUNBO0FEOUdBO0FDaUhBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUQvR0E7QUNrSEE7QUFDQTtBQUNBO0FEaEhBO0FDbUhBO0FBQ0E7QURqSEE7QUNzSEE7QUFDQTtBQUNBO0FBQ0E7QURwSEE7QUN1SEE7QUFDQTtBQUNBO0FEckhBO0FDd0hBO0FBQ0E7QUFDQTtBRHRIQTtBQ3lIQTtBQUNBO0FBQ0E7QUR2SEE7QUFDQTtBQzJIQTtBQUNBO0FBQ0E7QUR6SEE7QUM2SEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FEM0hBO0FDNEhBO0FBQ0E7QUFDQTtBRDFIQTtBQzZIQTtBQUVBO0FBQ0E7QUQ1SEE7QUFDQTtBQ2dJQTtBQUNBO0FEOUhBO0FDaUlBO0FBQ0E7QUFHQTtBRC9IQTtBQ29JQTtBQUNBO0FBQ0E7QURsSUE7QUNvSUE7QUFDQTtBRGxJQTtBQ21JQTtBQUNBO0FEaklBO0FDb0lBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QURsSUE7QUNzSUE7QUFDQTtBQUNBO0FEcElBO0FDc0lBO0FBQ0E7QUFDQTtBQUNBO0FEcElBO0FDMklBO0FBQ0E7QUFDQTtBRHpJQTtBQUNBO0FDeUpBO0FBQ0E7QUR2SkE7QUVsaEJBO0FBQ0E7QUFDQTtBRm9oQkE7QUFDQTtBRzVWQTtBQVlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhtVkE7QUc5VUE7QUFDQTtBSGdWQTtBRzNVQTtBQUNBO0FINlVBO0FHM1VBO0FBQ0E7QUg2VUE7QUd2VUE7QUFDQTtBSHlVQTtBR3JVQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUh1VUE7QUdwVUE7QUFDQTtBQUNBO0FIc1VBO0FHcFVBO0FBQ0E7QUFDQTtBSHNVQTtBR3BVQTtBQUNBO0FBQ0E7QUhzVUE7QUdwVUE7QUFDQTtBQUNBO0FIc1VBO0FHcFVBO0FBQ0E7QUFDQTtBSHNVQTtBR3BVQTtBQUNBO0FBQ0E7QUhzVUE7QUd4VEE7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBSHdUQTtBR3JUQTtBQUFBO0FId1RBO0FHdlRBO0FBQUE7QUgwVEE7QUd4VEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIMFRBO0FHeFRBO0FBQUE7QUgyVEE7QUd6VEE7QUFDQTtBQUNBO0FIMlRBO0FHdFRBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FId1RBO0FHclRBO0FBQUE7QUh3VEE7QUd2VEE7QUFBQTtBSDBUQTtBR3hUQTtBQUNBO0FIMFRBO0FHeFRBO0FBQUE7QUgyVEE7QUd6VEE7QUFBQTtBSDRUQTtBR3hUQTs7QUFFQTtBQUNBO0FIMFRBO0FHclRBOztBQUVBO0FBQ0E7QUFDQTtBSHVUQTtBR3BUQTs7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUh1VEE7QUdwVEE7Ozs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSHdUQTtBR2xUQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBSG9UQTtBR2hUQTs7OztBQUlBO0FIa1RBO0FHL1NBO0FBQ0E7QUFDQTtBSGlUQTtBRzdTQTtBQUNBO0FIK1NBO0FHNVNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUg4U0E7QUd6U0E7QUFDQTtBSDJTQTtBR3pTQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUgyU0E7QUduU0E7QUFDQTtBQUNBO0FBQ0E7QUhxU0E7QUd4UkE7Ozs7O0FBS0E7QUFDQTtBSDBSQTtBR3ZSQTs7QUFFQTtBQUNBO0FIeVJBO0FHbFJBOzs7O0FBSUE7QUFDQTtBQUNBO0FIb1JBO0FHalJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSG1SQTtBR2pSQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhtUkE7QUcvUUE7QUFDQTtBQUNBO0FBQ0E7QUFLQTtBSDZRQTtBR3pRQTtBQUNBO0FBQ0E7QUgyUUE7QUd6UUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSDJRQTtBR3hRQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIMFFBO0FHdlFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIeVFBO0FHdFFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUh3UUE7QUdyUUE7QUFDQTtBSHVRQTtBR3BRQTtBQUNBO0FBQ0E7QUhzUUE7QUdoUUE7O0FBRUE7QUFDQTtBQUNBO0FIa1FBO0FHaFFBOzs7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSG9RQTtBR2pRQTs7QUFDQTtBQUNBO0FBQ0E7QUhvUUE7QUcxUEE7QUFDQTtBQUNBO0FINFBBO0FHelBBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUgyUEE7QUdwUEE7O0FBRUE7QUFDQTtBQUNBO0FBaGRBO0FIdXNCQTtBR2pQQTs7QUFDQTtBQUNBO0FIb1BBO0FHOU9BOztBQUNBO0FBQ0E7QUhpUEE7QUd2T0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUEvZUE7QUh5dEJBO0FHdE9BOztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFyZUE7QUgrc0JBO0FHck9BOztBQUNBO0FBQ0E7QUh3T0E7QUdsT0E7O0FBQ0E7QUFDQTtBSHFPQTtBRzdOQTtBQUNBO0FBQ0E7QUFDQTtBQWxoQkE7QUhrdkJBO0FHNU5BO0FBQ0E7QUFDQTtBSDhOQTtBR3pOQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIMk5BO0FHek5BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIMk5BO0FHek5BO0FBQ0E7QUFDQTtBSDJOQTtBR3ZOQTtBQUNBO0FIeU5BO0FHak5BO0FBQ0E7QUhtTkE7QUdoTkE7QUFDQTtBQUNBO0FIa05BO0FHL01BO0FBQ0E7QUFDQTtBSGlOQTtBRzlNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUhnTkE7QUc3TUE7O0FBRUE7QUgrTUE7QUc1TUE7QUFDQTtBQUFBO0FBQ0E7QUg4TUE7QUczTUE7O0FBRUE7QUFDQTtBSDZNQTtBRzFNQTtBQUNBO0FINE1BO0FHek1BO0FBQ0E7QUFDQTtBSDJNQTtBR3hNQTtBQUNBO0FIME1BO0FHdE1BOzs7QUFHQTtBSHdNQTtBR3BNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FIc01BO0FHcE1BO0FBQUE7QUh1TUE7QUdwTUE7Ozs7OztBQU1BO0FIc01BO0FHbE1BO0FBQ0E7QUFDQTtBSG9NQTtBR2pNQTs7QUFFQTtBQUNBO0FBQ0E7QUhtTUE7QUc1TEE7QUEvbEJBO0FBa21CQTtBQUNBO0FBQ0E7QUg2TEE7QUczTEE7QUFDQTtBSDZMQTtBR3JMQTtBQUNBO0FIdUxBO0FHcExBO0FBQ0E7QUhzTEE7QUduTEE7OztBQUdBO0FBQ0E7QUFDQTtBSHFMQTtBR2xMQTtBQUNBO0FBQ0E7QUFDQTtBSG9MQTtBR2hMQTtBQUNBO0FBQ0E7QUhrTEE7QUdoTEE7QUFDQTtBQUNBO0FIa0xBO0FHaExBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSGtMQTtBRzVLQTtBQUNBO0FIOEtBO0FHM0tBO0FBQ0E7QUg2S0E7QUcxS0E7O0FBRUE7QUg0S0E7QUcxS0E7O0FBQ0E7QUFDQTtBSDZLQTtBR3pLQTs7QUFFQTtBQUNBO0FIMktBO0FHbEtBOztBQUVBO0FBQ0E7QUhvS0E7QUdqS0E7Ozs7Ozs7OztBQVNBO0FIbUtBO0FHaEtBOztBQUVBO0FIa0tBO0FBQ0E7QUFDQTtBSXJpQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTUE7QUFFQTtBQUNBO0FKaWlDQTtBQUNBO0FJL2hDQTs7O0FBR0E7QUFDQTtBQUNBO0FBSUE7QUo4aENBO0FBQ0E7QUl0aENBO0FBQ0E7QUp3aENBO0FBQ0E7QUl2aENBO0FBSEE7QUFJQTtBSjBoQ0E7QUFDQTtBSXRoQ0E7O0FBRUE7QUp3aENBO0FBQ0E7QUlyaENBO0FBQ0E7QUp1aENBO0FBQ0E7QUlyaENBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSnVoQ0E7QUFDQTtBSXJoQ0E7QUFDQTtBSnVoQ0E7QUFDQTtBSXJoQ0E7QUFDQTtBSnVoQ0E7QUFDQTtBSXJoQ0E7QUFDQTtBQUNBO0FKdWhDQTtBQUNBO0FJcmhDQTtBQUNBO0FKdWhDQTtBQUNBO0FJcmhDQTtBQUNBO0FBQ0E7QUFDQTtBSnVoQ0E7QUFDQTtBSXJoQ0E7Ozs7QUFJQTtBSnVoQ0E7QUFDQTtBS2huQ0E7QUFEQTtBQUVBO0FMbW5DQTtBQUNBO0FLOW1DQTtBQURBO0FBRUE7QUxpbkNBO0FBQ0E7QUs1bUNBO0FBREE7QUFFQTtBTCttQ0E7QUFDQTtBSzFtQ0E7QUFEQTtBQUVBO0FMNm1DQTtBQUNBO0FLbm1DQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBTG1tQ0E7QUFDQTtBS2xtQ0E7QUFDQTtBQUNBO0FMb21DQTtBQUNBO0FNbmtDQTtBQUNBO0FBQ0E7QUFDQTtBTnFrQ0E7QU1ua0NBO0FBQ0E7QUFDQTtBTnFrQ0E7QU1ua0NBO0FBQ0E7QUFDQTtBTnFrQ0E7QU1ua0NBO0FBQ0E7QUFDQTtBTnFrQ0E7QUFDQTtBTWprQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QU5pa0NBO0FBQ0E7QU03akNBO0FBQUE7QU5na0NBO0FBQ0E7QU03akNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQTVGQTtBQWdHQTtBQUNBO0FBQ0E7QUFDQTtBTjZqQ0E7QUFDQTtBTTFqQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUF0SEE7QUEwSEE7QU4wakNBO0FBQ0E7QU14akNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFwSEE7QUF3SEE7QUFDQTtBTndqQ0E7QUFDQTtBTXBqQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBTnNqQ0E7QUFDQTtBTXJqQ0E7QUFFQTtBQUNBO0FOc2pDQTtBQUNBO0FNampDQTtBQUNBO0FBQ0E7QU5takNBO0FBQ0E7QU1oakNBO0FBQ0E7QU5rakNBO0FBQ0E7QU1oakNBO0FBQ0E7QU5rakNBO0FBQ0E7QU0vaUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBTitpQ0E7QUFDQTtBTTNpQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FONmlDQTtBQUNBO0FNMWlDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QU40aUNBO0FBQ0E7QU0zaUNBO0FBRUE7QUFDQTtBTjRpQ0E7QUFDQTtBTXRpQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FOd2lDQTtBQUNBO0FNdmlDQTtBQUNBO0FBQ0E7QU55aUNBO0FBQ0E7QU12aUNBO0FBQ0E7QUFDQTtBTnlpQ0E7QUFDQTtBTXZpQ0E7QUFFQTtBQUNBO0FBQ0E7QU53aUNBO0FBQ0E7QU1uaUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBTnFpQ0E7QUFDQTtBTXBpQ0E7QUFDQTtBQUNBO0FOc2lDQTtBQUNBO0FNcGlDQTtBQUVBO0FBQ0E7QUFDQTtBTnFpQ0E7QUFDQTtBTWppQ0E7QUFDQTtBQUVBO0FOa2lDQTtBQUNBO0FNaGlDQTtBQUFBO0FObWlDQTtBQUNBO0FNbGlDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBTm9pQ0E7QUFDQTtBTW5pQ0E7QUFBQTtBTnNpQ0E7QUFDQTtBTW5pQ0E7QUFFQTtBTm9pQ0E7QUFDQTtBTW5pQ0E7QUFBQTtBTnNpQ0E7QUFDQTtBTXBpQ0E7QUFFQTtBQUVBO0FOb2lDQTtBQUNBO0FNNWhDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QU44aENBO0FBQ0E7QU01aENBO0FBQUE7QU4raENBO0FBQ0E7QU05aENBO0FBQ0E7QUFDQTtBQUNBO0FOZ2lDQTtBQUNBO0FNL2hDQTtBQUFBO0FOa2lDQTtBQUNBO0FNaGlDQTs7QUFFQTtBTmtpQ0E7QUFDQTtBTTloQ0E7QUFFQTtBTitoQ0E7QUFDQTtBTTdoQ0E7QUFFQTtBQUNBO0FBQ0E7QU44aENBO0FBQ0E7QU12aENBO0FBQ0E7QU55aENBO0FBQ0E7QU1uaENBO0FBQ0E7QU5xaENBO0FBQ0E7QU1waENBO0FBQ0E7QU5zaENBO0FBQ0E7QU1uaENBO0FBQ0E7QU5xaENBO0FBQ0E7QU05Z0NBO0FBQ0E7QUFDQTtBQUNBO0FOZ2hDQTtBQUNBO0FNL2dDQTtBQUNBO0FOaWhDQTtBQUNBO0FNL2dDQTtBQUVBO0FBQ0E7QU5naENBO0FBQ0E7QU03Z0NBO0FBQ0E7QU4rZ0NBO0FBQ0E7QU05Z0NBO0FBQ0E7QU5naENBO0FBQ0E7QU85N0NBO0FBRUE7QVArN0NBO0FBQ0E7QU81N0NBO0FBQ0E7QUFDQTtBUDg3Q0E7QUFDQTtBT243Q0E7QUFDQTtBUHE3Q0E7QUFDQTtBT243Q0E7QUFDQTtBUHE3Q0E7QUFDQTtBT2w3Q0E7QUFDQTtBUG83Q0E7QUFDQTtBUWwrQ0E7QUFDQTtBQUNBO0FSbytDQTtBUWgrQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FSKzlDQTtBUTM5Q0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FSMDlDQTtBUWw4Q0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FSbThDQTtBUS83Q0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFNQTtBQUNBO0FSNDdDQTtBUXo3Q0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FSMjdDQTtBUWo3Q0E7QUF4R0E7QUF5R0E7QVJvN0NBO0FRbDdDQTtBQUNBO0FBQUE7QUFDQTtBUm83Q0E7QUFDQTtBUWg2Q0E7QUFFQTtBQUNBO0FBQ0E7QVJpNkNBO0FRMzVDQTtBQUNBO0FSNjVDQTtBUTE1Q0E7QUFDQTtBUjQ1Q0E7QUFDQTtBUXA1Q0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FSczVDQTtBUzd5Q0E7QUQ3R0E7QUFPQTtBQUNBO0FSdTVDQTtBQUNBO0FTbnpDQTtBRHZRQTtBQTBLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FSbzVDQTtBUWw1Q0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QVJvNUNBO0FRajVDQTtBQUNBO0FBQ0E7QVJtNUNBO0FROTRDQTtBQUNBO0FSZzVDQTtBUTc0Q0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBUis0Q0E7QUFDQTtBU2oxQ0E7QUR2UUE7QUE4TUE7QUFDQTtBUjg0Q0E7QVE1NENBO0FBQ0E7QVI4NENBO0FRdjRDQTtBQUNBO0FBQ0E7QUFDQTtBUnk0Q0E7QVFsNENBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FSbzRDQTtBUWo0Q0E7QUM3REE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBRCtDQTtBQUNBO0FSdTRDQTtBUXA0Q0E7QUFDQTtBUnM0Q0E7QVFuNENBO0FDdkVBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QUQwREE7QUFDQTtBUnc0Q0E7QUFDQTtBQUNBO0FRajRDQTtBQUNBO0FBQ0E7QUFDQTtBUm00Q0E7QVFoNENBO0FBQ0E7QUFDQTtBUms0Q0E7QUFDQTtBUS8zQ0E7QUFDQTtBQUNBO0FBQ0E7QVJpNENBO0FROTNDQTtBQUNBO0FBQ0E7QVJnNENBO0FBQ0E7QVU3bURBO0FBQ0E7QVYrbURBO0FVMW1EQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FWNG1EQTtBVXhtREE7QUFDQTtBQUNBO0FBS0E7QVZzbURBO0FVbG1EQTtBRHdHQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FDckhBO0FBQ0E7QUFDQTtBVnVtREE7QVVsbURBO0FBQ0E7QUFDQTtBVm9tREE7QVV6bERBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FWMmxEQTtBVXpsREE7QUFFQTtBQUNBO0FEK0tBO0FUNDZDQTtBVXJsREE7QUFDQTtBQUNBO0FBQ0E7QVZ1bERBO0FVbmxEQTtBQUNBO0FBQ0E7QUFDQTtBVnFsREE7QVVobERBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FEb0pBO0FUKzdDQTtBVS9rREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXJIQTtBVnVzREE7QVUza0RBO0FBQ0E7QUFDQTtBQUNBO0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QVZ3a0RBO0FVcGtEQTtBRFNBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QUN0QkE7QUFDQTtBVnlrREE7QVM1K0NBO0FDNU5BO0FBdUlBO0FBQ0E7QVZxa0RBO0FVbmtEQTtBQUNBO0FBQ0E7QUFDQTtBVnFrREE7QVVsa0RBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBVm1rREE7QVU5akRBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QVZna0RBO0FBQ0E7QVNwZ0RBO0FDdkRBO0FBQ0E7QVY4akRBO0FVM2pEQTtBQUNBO0FWNmpEQTtBVTFqREE7QUFDQTtBQUNBO0FWNGpEQTtBVXpqREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBVjJqREE7QVV4akRBO0FBQ0E7QUFDQTtBVjBqREE7QUFDQTtBUzFoREE7QUNwQkE7QUFDQTtBQUNBO0FBQ0E7QVZpakRBO0FVNWlEQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBVjhpREE7QVU1aURBO0FBQ0E7QUFDQTtBVjhpREE7QVV6aURBO0FBQ0E7QVYyaURBO0FBQ0E7QUFDQTtBV2p6REE7QUFDQTtBQUNBO0FBQ0E7QVhtekRBO0FXanpEQTtBQUNBO0FBQ0E7QUFDQTtBWG16REE7QVdoekRBO0FBQ0E7QUFDQTtBWGt6REE7QVcveURBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FGeVBBO0FUeWpEQTtBVzl5REE7QUFDQTtBWGd6REE7QVc3eURBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QVgreURBO0FXNXlEQTs7QUFFQTtBWDh5REE7QVczeURBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FYNnlEQTtBVzF5REE7QUFDQTtBQUNBO0FYNHlEQTtBVzF5REE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBWDR5REE7QVd6eURBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBWDJ5REE7QVd4eURBO0FBQ0E7QUYrRkE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBQU1BO0FFbEhBO0FBQ0E7QUFDQTtBWDh5REE7QVd6eURBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QVgyeURBO0FXenlEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBWDJ5REE7QVd4eURBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QVgweURBO0FXeHlEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FYMHlEQTtBV3R5REE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBWHF5REE7QVMzcURBO0FFalFBO0FBNklBO0FYbXlEQTtBV2p5REE7QUFDQTtBWG15REE7QVdoeURBO0FBQ0E7QUFDQTtBQUNBO0FYa3lEQTtBV2h5REE7QUFDQTtBQUNBO0FYa3lEQTtBVy94REE7QUFDQTtBWGl5REE7QVc5eERBO0FBQ0E7QVhneURBO0FXNXhEQTtBQUNBO0FBQ0E7QVg4eERBO0FXNXhEQTs7QUFFQTtBQUNBO0FYOHhEQTtBVzN4REE7QUFDQTtBWDZ4REE7QVcxeERBO0FBQ0E7QVg0eERBO0FBQ0E7QVNqdERBO0FFalFBO0FBNExBO0FYMHhEQTtBV3h4REE7QUFDQTtBWDB4REE7QVd2eERBO0FBQ0E7QUFDQTtBQUNBO0FYeXhEQTtBV3Z4REE7QUFDQTtBWHl4REE7QVd0eERBO0FBQ0E7QUFDQTtBQUNBO0FYd3hEQTtBVzd3REE7QUFDQTtBQUNBO0FBQ0E7QVgrd0RBO0FXN3dEQTs7QUFFQTtBQUNBO0FYK3dEQTtBVzV3REE7QUFDQTtBWDh3REE7QVczd0RBO0FBQ0E7QVg2d0RBO0FBQ0E7QVN0dkRBO0FFalFBO0FBZ1BBO0FBQ0E7QUFDQTtBWDJ3REE7QVd6d0RBO0FBQ0E7QUFDQTtBWDJ3REE7QVd4d0RBO0FBQ0E7QVgwd0RBO0FXdndEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QVh5d0RBO0FXdndEQTtBQUNBO0FBQ0E7QVh5d0RBO0FXdHdEQTtBRmhHQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FFbUZBO0FYMndEQTtBV3h3REE7QUZ0R0E7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBRXlGQTtBQUNBO0FYNndEQTtBV3p3REE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FYMndEQTtBV3p3REE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FYMHdEQTtBV3Z3REE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QVh5d0RBO0FXdndEQTtBQUNBO0FYeXdEQTtBV3J3REE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FYdXdEQTtBV3B3REE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FYc3dEQTtBV2x3REE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FYb3dEQTtBV2x3REE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QVhvd0RBO0FXandEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBWG13REE7QVdod0RBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FYa3dEQTtBVzl2REE7QUFDQTtBQUNBO0FBQ0E7QVhnd0RBO0FBQ0E7QUFDQTtBWXJuRUE7QUFDQTtBWnVuRUE7QVlwbkVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QVpzbkVBO0FZbG5FQTtBQUNBO0FBQ0E7QUFDQTtBWm9uRUE7QVlqbkVBO0FBQ0E7QUFDQTtBWm1uRUE7QVkvbUVBO0FBRUE7QUFDQTtBWmduRUE7QVk5bUVBO0FBQ0E7QUFDQTtBQUNBO0FaZ25FQTtBWTVtRUE7QUFDQTtBWjhtRUE7QVkxbUVBO0FBV0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FaK2xFQTtBWTdsRUE7QUFBQTtBWmdtRUE7QVMxNURBO0FHcFFBO0FBc0VBO0FaNGxFQTtBWTFsRUE7QUFDQTtBQUNBO0FBQ0E7QVo0bEVBO0FZemxFQTtBQUVBO0FBQ0E7QVowbEVBO0FZdmxFQTtBQUNBO0FBQ0E7QVp5bEVBO0FZdGxFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFLQTtBQUdBO0Faa2xFQTtBQUNBO0FTcjdEQTtBR3ZKQTtBQUNBO0FBQ0E7QVora0VBO0FBQ0E7QUFDQTtBYS9xRUE7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQXdTQTtBYnc0REE7QWE5cEVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUtBO0FiNHBFQTtBYXBwRUE7QUFDQTtBQUNBO0FBQ0E7QWJzcEVBO0FhbnBFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FicXBFQTtBYWxwRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0Fib3BFQTtBYWpwRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FiK29FQTtBYTNvRUE7QUFDQTtBQUNBO0FBQ0E7QWI2b0VBO0Fhem9FQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWJ1b0VBO0Fhcm9FQTtBQUVBO0Fic29FQTtBYW5vRUE7QUFDQTtBYnFvRUE7QWFqb0VBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWIrbkVBO0FhN25FQTtBQUVBO0FBQ0E7QWI4bkVBO0FhM25FQTtBQUNBO0FBQ0E7QWI2bkVBO0FheG5FQTtBQUNBO0FBQ0E7QWIwbkVBO0Fhdm5FQTtBQUNBO0FBTUE7QUFDQTtBQUNBO0FBQ0E7QWJvbkVBO0FhdG1FQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0Fid21FQTtBYXBsRUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FicWxFQTtBUzNpRUE7QUloREE7QUFTQTtBYnNsRUE7QUFDQTtBYWhsRUE7QUFDQTtBYmtsRUE7QVNuakVBO0FJMUJBO0FBQ0E7QUFDQTtBYmdsRUE7QWE1a0VBO0FBQ0E7QWI4a0VBO0FBQ0E7QVM1akVBO0FJblBBO0FBNE9BO0FidWtFQTtBYXJrRUE7QUFDQTtBYnVrRUE7QWFwa0VBO0FBQ0E7QWJza0VBO0FhbmtFQTtBQUNBO0FBQ0E7QWJxa0VBO0FhL2pFQTtBQUNBO0FBQ0E7QUFDQTtBYmlrRUE7QUFDQTtBU2hsRUE7QUlvQkE7QUFDQTtBQUNBO0FiK2pFQTtBYXhqRUE7QUFDQTtBYjBqRUE7QUFDQTtBYXBqRUE7QUFDQTtBQUNBO0Fic2pFQTtBYW5qRUE7QUFDQTtBYnFqRUE7QWFsakVBO0FBQ0E7QWJvakVBO0FhampFQTtBQUNBO0FibWpFQTtBYWhqRUE7QUFDQTtBYmtqRUE7QUFDQTtBYTlpRUE7QUFDQTtBQUNBO0FiZ2pFQTtBYTdpRUE7QUFDQTtBYitpRUE7QUFDQTtBYTVpRUE7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FieWlFQTtBYWppRUE7QUFDQTtBQUNBO0FibWlFQTtBQUNBO0FBQ0E7QWF6aEVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFPQTtBQUNBO0FBSUE7QUFRQTtBYjJnRUE7QWF4Z0VBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSjNJQTtBVHFwRUE7QWF0Z0VBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWJ3Z0VBO0FhamdFQTtBQUNBO0FibWdFQTtBYS8vREE7QUFDQTtBQUNBO0FBQ0E7QWJpZ0VBO0FBQ0E7QWFqL0RBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FibS9EQTtBYWgvREE7QUFDQTtBQUNBO0Fiay9EQTtBYS8rREE7QUo3U0E7QUFDQTtBQVNBO0FBQ0E7QUFPQTtBQUlBO0FJMFJBO0FBQ0E7QUFDQTtBYnEvREE7QWFsL0RBO0FKclRBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QUl1U0E7QUFDQTtBYncvREE7QWFwL0RBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWJzL0RBO0Fhbi9EQTtBQUNBO0FBQ0E7QUFDQTtBYnEvREE7QWFsL0RBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QWJtL0RBO0Fhai9EQTtBQUNBO0FBQ0E7QUFDQTtBYm0vREE7QWEvK0RBO0FKaFdBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QUFNQTtBSTRVQTtBQUNBO0FBQ0E7QUFDQTtBYnMvREE7QWFwL0RBO0FBQ0E7QWJzL0RBO0FhbC9EQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0Fiby9EQTtBYWovREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWJtL0RBO0FhLytEQTtBQUNBO0FBQ0E7QWJpL0RBO0FhNytEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBYisrREE7QWEzK0RBO0FBQ0E7QUFDQTtBYjYrREE7QWEvOURBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FiaStEQTtBYTU5REE7QUFDQTtBQUNBO0FBQ0E7QWI4OURBO0FhMTlEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUtBO0FidzlEQTtBYXI5REE7QUFDQTtBYnU5REE7QWFuOURBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWJxOURBO0FhbjlEQTtBQUNBO0FicTlEQTtBYWo5REE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FibTlEQTtBYTk4REE7QUFDQTtBYmc5REE7QVN6MUVBO0FJdU1BO0FBd01BO0FiODhEQTtBQUNBO0FTOTFFQTtBSXVNQTtBQTZNQTtBQUNBO0FiODhEQTtBYTU4REE7QUFDQTtBYjg4REE7QUFDQTtBU3YyRUE7QUl1TUE7QUF1TkE7QUFDQTtBYjY4REE7QWEzOERBO0FBQ0E7QWI2OERBO0FBQ0E7QVNoM0VBO0FJdU1BO0FBaU9BO0FBQ0E7QUFDQTtBYjQ4REE7QWEzOERBO0FBQ0E7QWI2OERBO0FhMThEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FiNDhEQTtBYXo4REE7QUFDQTtBQUNBO0FiMjhEQTtBYXQ4REE7QUFDQTtBYnc4REE7QWFyOERBO0FBQ0E7QWJ1OERBO0FhcDhEQTtBQUNBO0FBQ0E7QWJzOERBO0FhbjhEQTtBQUNBO0FicThEQTtBYWg4REE7QUFDQTtBQUNBO0FiazhEQTtBYS83REE7QUFDQTtBYmk4REE7QWE3N0RBO0FBQ0E7QWIrN0RBO0FBQ0E7QUFDQTtBYTE3REE7QUFNQTtBQUdBO0FBQ0E7QUFDQTtBYnE3REE7QWFuN0RBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWJvN0RBO0FhajdEQTtBQUNBO0FBQ0E7QWJtN0RBO0FhaDdEQTtBQUNBO0FBQ0E7QWJrN0RBO0FhNTZEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FiODZEQTtBYTM2REE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FiNjZEQTtBYTE2REE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QWI0NkRBO0FhMTZEQTtBQUNBO0FiNDZEQTtBYXg2REE7QUFDQTtBYjA2REE7QWFuNkRBO0FBRUE7QWJvNkRBO0FhajZEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FibTZEQTtBQUNBO0FhNzVEQTs7QUFFQTtBYis1REE7QUFDQTtBYWw1REE7QUFDQTtBQUNBO0FibzVEQTtBYWo1REE7QUFDQTtBYm01REE7QUFDQTtBYTk0REE7QUFDQTtBQUNBO0FiZzVEQTtBQUNBO0FhNTNEQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBYjQzREE7QVNuL0VBO0FJK21CQTtBQWdCQTtBYnczREE7QUFDQTtBYW4zREE7QUFDQTtBSjl0QkE7QUFDQTtBQVNBO0FBQ0E7QUFPQTtBQUlBO0FJMnNCQTtBQUNBO0FieTNEQTtBU25nRkE7QUlxb0JBO0FBU0E7QWJ5M0RBO0FBQ0E7QVN4Z0ZBO0FJcW9CQTtBQWVBO0FBQ0E7QWJ3M0RBO0FBQ0E7QWFwM0RBO0FBQ0E7QWJzM0RBO0FhbjNEQTtBQUNBO0FBSUE7QWJrM0RBO0FhLzJEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFRQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FiMDJEQTtBYS8wREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWJpMURBO0FhbDBEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBU0E7QWI0ekRBO0FhbHpEQTtBQUVBO0FBQ0E7QUFDQTtBQU1BO0FiOHlEQTtBYTN5REE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBYjZ5REE7QWExeURBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWI0eURBO0FheHlEQTtBQUNBO0FBQ0E7QUFDQTtBYjB5REE7QWF2eURBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBYnl5REE7QWFyeURBO0FBQ0E7QUFDQTtBQUNBO0FBTUE7QUFDQTtBYmt5REE7QWEveERBO0FBQ0E7QUpwNUJBO0FBQ0E7QUFTQTtBQUNBO0FBT0E7QUFJQTtBSWk0QkE7QUFDQTtBYnF5REE7QWFqeURBO0FBQ0E7QUFNQTtBYjh4REE7QWEzeERBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWI2eERBO0FhMXhEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FiNHhEQTtBYXp4REE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBYjJ4REE7QWF2eERBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBSnQ4QkE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBQU1BO0FJbzdCQTtBQUNBO0FiNHhEQTtBYTF4REE7QUFDQTtBYjR4REE7QWF6eERBO0FBQ0E7QUFDQTtBYjJ4REE7QWF2eERBO0FBQ0E7QUFDQTtBQUNBO0FieXhEQTtBYXR4REE7QUFDQTtBQUNBO0FBQ0E7QWJ3eERBO0FhaHhEQTtBQUNBO0Fia3hEQTtBYS93REE7QUFDQTtBYml4REE7QWEvd0RBO0FBQ0E7QWJpeERBO0FhNXdEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FiOHdEQTtBYTV3REE7QUFDQTtBYjh3REE7QWEzd0RBO0FBQ0E7QUFDQTtBYjZ3REE7QWE3dkRBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQU1BO0FieXZEQTtBYTl1REE7QUFDQTtBQUNBO0FBQ0E7QUFPQTtBYjB1REE7QWFwdURBO0FBQ0E7QUFDQTtBYnN1REE7QWFqdURBO0FBQ0E7QUFDQTtBQUNBO0FibXVEQTtBYXJ0REE7QUFDQTtBQUNBO0FBQ0E7QUFNQTtBQUNBO0FBQ0E7QWJrdERBO0FhL3NEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWJpdERBO0FhOXNEQTtBQUNBO0FBQ0E7QWJndERBO0FhOXNEQTtBQUNBO0FBQ0E7QWJndERBO0FhNXNEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FiOHNEQTtBYTNzREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWI2c0RBO0FhMXNEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWI0c0RBO0FhenNEQTtBQUNBO0FBQ0E7QWIyc0RBO0FBQ0E7QVNueEZBO0FJK21CQTtBQXVlQTtBQUNBO0FBQ0E7QWJpc0RBO0FhL3JEQTtBQUNBO0FiaXNEQTtBYTlyREE7QUFDQTtBQUNBO0FiZ3NEQTtBYTdyREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FiK3JEQTtBYXRyREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBYndyREE7QWFyckRBO0FBQ0E7QUFDQTtBYnVyREE7QWFwckRBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWJzckRBO0FhbnJEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FicXJEQTtBYWxyREE7QUFDQTtBQUFBO0Fib3JEQTtBYWpyREE7QUFDQTtBYm1yREE7QWEzcURBO0FBQ0E7QWI2cURBO0FhMXFEQTtBQUNBO0FiNHFEQTtBYXpxREE7QUFDQTtBQUNBO0FiMnFEQTtBYXhxREE7QUFDQTtBYjBxREE7QWF2cURBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWJ5cURBO0FhdHFEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBYndxREE7QWFwcURBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWJzcURBO0FhbnFEQTtBQUNBO0FBQ0E7QWJxcURBO0FhaHFEQTtBQUNBO0Fia3FEQTtBYS9wREE7QUFDQTtBYmlxREE7QWF6cERBO0FBQ0E7QUFDQTtBQUtBO0FidXBEQTtBYXBwREE7QUFDQTtBYnNwREE7QUFDQTtBQUNBO0FhMW9EQTs7QUFFQTtBQUNBO0FBQ0E7QWI0b0RBO0FTOTNGQTtBSTh1Q0E7O0FBVUE7QUFDQTtBYjJvREE7QWF6b0RBOztBQUNBO0FiNG9EQTtBYXpvREE7O0FBQ0E7QWI0b0RBO0FBQ0E7QUFDQTtBYXhvREE7QUFDQTtBQWNBO0FBY0E7QUFNQTtBQUNBO0FiMm1EQTtBYXptREE7QUFDQTtBSnI0Q0E7QUFDQTtBQVNBO0FBQ0E7QUFPQTtBQUlBO0FJazNDQTtBQUNBO0FiK21EQTtBYTVtREE7QUFDQTtBQUtBO0FiMG1EQTtBYXJtREE7QUFDQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBQ0E7QWJtbURBO0FhaG1EQTtBSnA2Q0E7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBSXM1Q0E7QUFDQTtBQUNBO0Fic21EQTtBYXBtREE7QUFDQTtBQUNBO0Fic21EQTtBYWxtREE7QUpoN0NBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QUlrNkNBO0FBQ0E7QWJ3bURBO0FhcG1EQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0Fic21EQTtBYW5tREE7QUpqOENBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QUFNQTtBSTY2Q0E7QWIwbURBO0Fhdm1EQTtBSnQ4Q0E7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBSXc3Q0E7QWI2bURBO0FTNzlGQTtBSXEzQ0E7QUFDQTtBQUNBO0FiMm1EQTtBQUNBO0FTbitGQTtBSXN3Q0E7QUF3SEE7QWJ5bURBO0Fhdm1EQTtBQUNBO0FieW1EQTtBQUNBO0FTMytGQTtBSXN3Q0E7QUFvSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBYnFtREE7QWFubURBO0FBQ0E7QWJxbURBO0FhbG1EQTtBQUNBO0FBQ0E7QWJvbURBO0Fham1EQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWJtbURBO0FhaG1EQTtBQUNBO0FBQ0E7QWJrbURBO0FhdGxEQTtBQUNBO0FBQ0E7QUFDQTtBYndsREE7QWFybERBO0FBQ0E7QUFDQTtBYnVsREE7QUFDQTtBQUNBO0FhOWdEQTtBQUNBO0FBQ0E7QWJnaERBO0FhOWdEQTtBQUNBO0FKL2xEQTtBQUNBO0FBU0E7QUFDQTtBQU9BO0FBSUE7QUk0a0RBO0FBQ0E7QWJvaERBO0FhamhEQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWIrZ0RBO0FhNWdEQTtBQUNBO0FBQ0E7QUFDQTtBYjhnREE7QWF6Z0RBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FieWdEQTtBYXBnREE7QUFDQTtBYnNnREE7QWF2Z0RBO0FBQ0E7QWJ5Z0RBO0FhMWdEQTtBQUNBO0FiNGdEQTtBYTdnREE7QUFDQTtBYitnREE7QWEzZ0RBO0FBQ0E7QUFDQTtBYjZnREE7QWFwZ0RBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBYnNnREE7QWFsZ0RBO0FBcklBO0FiMG9EQTtBYWpnREE7QUFySUE7QWJ5b0RBO0FhLy9DQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBSUE7QUFDQTtBYjYvQ0E7QWF6L0NBO0FBRUE7QUFDQTtBYjAvQ0E7QWF4L0NBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWIwL0NBO0FhdC9DQTtBQTVLQTtBYnFxREE7QWFuL0NBO0FBaktBO0FidXBEQTtBYWovQ0E7QUFuTEE7QWJ1cURBO0Fhai9DQTtBQXJKQTtBYnlvREE7QWEvK0NBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFDQTtBYjYrQ0E7QWExK0NBO0FBQ0E7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBYncrQ0E7QWFyK0NBO0FKeHZEQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FJMnVEQTtBQUNBO0FBQ0E7QWIwK0NBO0FTL29HQTtBSWtnREE7QUF3S0E7QUFDQTtBQUNBO0FieStDQTtBYXYrQ0E7QUFDQTtBYnkrQ0E7QWF0K0NBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBYncrQ0E7QWFyK0NBO0FBQ0E7QUFDQTtBYnUrQ0E7QWFwK0NBO0FBQ0E7QUFDQTtBYnMrQ0E7QWFuK0NBO0FBQ0E7QWJxK0NBO0FhbCtDQTtBQUNBO0FBQ0E7QWJvK0NBO0FhaitDQTtBQUNBO0FBQ0E7QWJtK0NBO0FhOTlDQTtBQUNBO0FiZytDQTtBQUNBO0FBQ0E7QWM5NkdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWRnN0dBO0FjNzZHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBZCs2R0E7QWM1NkdBO0FBQ0E7QUw4SUE7QUFDQTtBQVNBO0FBQ0E7QUFPQTtBSzdKQTtBQUNBO0FkaTdHQTtBYzk2R0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FkZzdHQTtBYzU2R0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FkODZHQTtBY3o2R0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBZDI2R0E7QWN4NkdBO0FBQ0E7QUFDQTtBZDA2R0E7QWN0NkdBO0FBQ0E7QUFDQTtBQUNBO0FkdzZHQTtBY3I2R0E7QUFDQTtBQUNBO0FBTUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBZGs2R0E7QUFDQTtBY3Y1R0E7QUFNQTtBQUNBO0FBQ0E7QUFJQTtBZGk1R0E7QWNyNEdBO0FBQ0E7QUFDQTtBZHU0R0E7QWNuNEdBO0FBTkE7QUFPQTtBZHM0R0E7QUFDQTtBYy8zR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWRpNEdBO0FjLzNHQTtBQVhBO0FBWUE7QWRrNEdBO0FBQ0E7QWMvM0dBO0FMa0JBO0FBQ0E7QUFTQTtBQUNBO0FBT0E7QUtsQ0E7QUFDQTtBQWtCQTtBZG8zR0E7QWNsM0dBO0FBdkJBO0FBMEJBO0FkbTNHQTtBQUNBO0FjaDNHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FkazNHQTtBY2gyR0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBZGcyR0E7QWN6MUdBO0FBQ0E7QUFLQTtBQUNBO0FkdTFHQTtBY3IxR0E7QUFUQTtBQVVBO0FkdzFHQTtBQUNBO0FjajFHQTtBQUNBO0FBQ0E7QWRtMUdBO0FBQ0E7QWVya0hBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBZm9rSEE7QWVsa0hBO0FBQ0E7QUFDQTtBZm9rSEE7QWVoa0hBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0Fma2tIQTtBZS9qSEE7QUFDQTtBZmlrSEE7QWUxakhBO0FObVBBO0FNaFBBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBZjJqSEE7QWV4akhBO0FBQ0E7QWYwakhBO0FldGpIQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FmbWpIQTtBZWpqSEE7QUFBQTtBZm9qSEE7QWVsakhBO0FBQ0E7QUFDQTtBQUNBO0Fmb2pIQTtBZWxqSEE7QUFBQTtBZnFqSEE7QWVoakhBO0FBRUE7QWZpakhBO0FlMWlIQTtBQUNBO0FBQ0E7QUFDQTtBZjRpSEE7QWV6aUhBO0FBRUE7QWYwaUhBO0FlcmlIQTtBTjhEQTtBQUNBO0FBU0E7QUFDQTtBQU9BO0FNN0VBO0FBQ0E7QWYwaUhBO0FldGlIQTtBQUNBO0FBQ0E7QUFDQTtBZndpSEE7QWVyaUhBO0FBQ0E7QUFDQTtBQUNBO0FmdWlIQTtBZXBpSEE7QUFDQTtBQUNBO0FBQ0E7QWZzaUhBO0FlcGlIQTtBQUNBO0Fmc2lIQTtBZWxpSEE7QU5nQ0E7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBTTdDQTtBZnVpSEE7QWVwaUhBO0FBQ0E7QWZzaUhBO0FlbmlIQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FOZUE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBTTNCQTtBQUNBO0FmdWlIQTtBZXJpSEE7QUFBQTtBZndpSEE7QWV4aUhBO0FBQUE7QWZ3aUhBO0FldGlIQTtBQUNBO0Fmd2lIQTtBZXBpSEE7QUFDQTtBQUNBO0FBQ0E7QWZzaUhBO0FlbmlIQTtBQUNBO0FOTkE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBTVBBO0Fmd2lIQTtBZXRpSEE7QUFBQTtBZnlpSEE7QWVyaUhBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWZ1aUhBO0FlcGlIQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0Fmc2lIQTtBZXBpSEE7QUFDQTtBQUNBO0Fmc2lIQTtBZXBpSEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWZzaUhBO0FlamlIQTtBTnJEQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FNd0NBO0Fmc2lIQTtBZW5pSEE7QUFDQTtBQUNBO0FmcWlIQTtBUzFnSEE7QU10QkE7QU51Q0E7QU1wQ0E7QUFDQTtBQUNBO0FBQ0E7QWZraUhBO0FlNWhIQTtBQUNBO0FBQ0E7QWY4aEhBO0FlM2hIQTtBTm5GQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FNc0VBO0FmZ2lIQTtBZTdoSEE7QUFDQTtBQUNBO0FmK2hIQTtBZTVoSEE7QUFDQTtBZjhoSEE7QWU1aEhBO0FBQUE7QWYraEhBO0FBQ0E7QUFDQTtBZXBoSEE7QUFDQTtBZnNoSEE7QUFDQTtBSWh6SEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTUE7QUFFQTtBQUNBO0FKNHlIQTtBQUNBO0FJMXlIQTs7O0FBR0E7QUFDQTtBQUNBO0FBSUE7QUp5eUhBO0FBQ0E7QUlqeUhBO0FBQ0E7QUpteUhBO0FBQ0E7QUlseUhBO0FBSEE7QUFJQTtBSnF5SEE7QUFDQTtBSWp5SEE7O0FBRUE7QUpteUhBO0FBQ0E7QUloeUhBO0FBQ0E7QUpreUhBO0FBQ0E7QUloeUhBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSmt5SEE7QUFDQTtBSWh5SEE7QUFDQTtBSmt5SEE7QUFDQTtBSWh5SEE7QUFDQTtBSmt5SEE7QUFDQTtBSWh5SEE7QUFDQTtBQUNBO0FKa3lIQTtBQUNBO0FJaHlIQTtBQUNBO0FKa3lIQTtBQUNBO0FJaHlIQTtBQUNBO0FBQ0E7QUFDQTtBSmt5SEE7QUFDQTtBSWh5SEE7Ozs7QUFJQTtBSmt5SEE7QUFDQTtBSzMzSEE7QUFEQTtBQUVBO0FMODNIQTtBQUNBO0FLejNIQTtBQURBO0FBRUE7QUw0M0hBO0FBQ0E7QUt2M0hBO0FBREE7QUFFQTtBTDAzSEE7QUFDQTtBS3IzSEE7QUFEQTtBQUVBO0FMdzNIQTtBQUNBO0FLOTJIQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBTDgySEE7QUFDQTtBSzcySEE7QUFDQTtBQUNBO0FMKzJIQTtBQUNBO0FNOTBIQTtBQUNBO0FBQ0E7QUFDQTtBTmcxSEE7QU05MEhBO0FBQ0E7QUFDQTtBTmcxSEE7QU05MEhBO0FBQ0E7QUFDQTtBTmcxSEE7QU05MEhBO0FBQ0E7QUFDQTtBTmcxSEE7QUFDQTtBTTUwSEE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QU40MEhBO0FBQ0E7QU14MEhBO0FBQUE7QU4yMEhBO0FBQ0E7QU14MEhBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQTVGQTtBQWdHQTtBQUNBO0FBQ0E7QUFDQTtBTncwSEE7QUFDQTtBTXIwSEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUF0SEE7QUEwSEE7QU5xMEhBO0FBQ0E7QU1uMEhBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFwSEE7QUF3SEE7QUFDQTtBTm0wSEE7QUFDQTtBTS96SEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBTmkwSEE7QUFDQTtBTWgwSEE7QUFFQTtBQUNBO0FOaTBIQTtBQUNBO0FNNXpIQTtBQUNBO0FBQ0E7QU44ekhBO0FBQ0E7QU0zekhBO0FBQ0E7QU42ekhBO0FBQ0E7QU0zekhBO0FBQ0E7QU42ekhBO0FBQ0E7QU0xekhBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBTjB6SEE7QUFDQTtBTXR6SEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FOd3pIQTtBQUNBO0FNcnpIQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QU51ekhBO0FBQ0E7QU10ekhBO0FBRUE7QUFDQTtBTnV6SEE7QUFDQTtBTWp6SEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FObXpIQTtBQUNBO0FNbHpIQTtBQUNBO0FBQ0E7QU5vekhBO0FBQ0E7QU1sekhBO0FBQ0E7QUFDQTtBTm96SEE7QUFDQTtBTWx6SEE7QUFFQTtBQUNBO0FBQ0E7QU5tekhBO0FBQ0E7QU05eUhBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBTmd6SEE7QUFDQTtBTS95SEE7QUFDQTtBQUNBO0FOaXpIQTtBQUNBO0FNL3lIQTtBQUVBO0FBQ0E7QUFDQTtBTmd6SEE7QUFDQTtBTTV5SEE7QUFDQTtBQUVBO0FONnlIQTtBQUNBO0FNM3lIQTtBQUFBO0FOOHlIQTtBQUNBO0FNN3lIQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBTit5SEE7QUFDQTtBTTl5SEE7QUFBQTtBTml6SEE7QUFDQTtBTTl5SEE7QUFFQTtBTit5SEE7QUFDQTtBTTl5SEE7QUFBQTtBTml6SEE7QUFDQTtBTS95SEE7QUFFQTtBQUVBO0FOK3lIQTtBQUNBO0FNdnlIQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QU55eUhBO0FBQ0E7QU12eUhBO0FBQUE7QU4weUhBO0FBQ0E7QU16eUhBO0FBQ0E7QUFDQTtBQUNBO0FOMnlIQTtBQUNBO0FNMXlIQTtBQUFBO0FONnlIQTtBQUNBO0FNM3lIQTs7QUFFQTtBTjZ5SEE7QUFDQTtBTXp5SEE7QUFFQTtBTjB5SEE7QUFDQTtBTXh5SEE7QUFFQTtBQUNBO0FBQ0E7QU55eUhBO0FBQ0E7QU1seUhBO0FBQ0E7QU5veUhBO0FBQ0E7QU05eEhBO0FBQ0E7QU5neUhBO0FBQ0E7QU0veEhBO0FBQ0E7QU5peUhBO0FBQ0E7QU05eEhBO0FBQ0E7QU5neUhBO0FBQ0E7QU16eEhBO0FBQ0E7QUFDQTtBQUNBO0FOMnhIQTtBQUNBO0FNMXhIQTtBQUNBO0FONHhIQTtBQUNBO0FNMXhIQTtBQUVBO0FBQ0E7QU4yeEhBO0FBQ0E7QU14eEhBO0FBQ0E7QU4weEhBO0FBQ0E7QU16eEhBO0FBQ0E7QU4yeEhBO0FBQ0E7QVdsdElBO0FBQ0E7QUFDQTtBQUNBO0FYb3RJQTtBQUNBO0FXbnRJQTtBQUNBO0FBQ0E7QUFDQTtBWHF0SUE7QUFDQTtBV250SUE7QUFDQTtBQUNBO0FYcXRJQTtBQUNBO0FXbnRJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBRnlQQTtBVDY5SEE7QUFDQTtBV250SUE7QUFDQTtBWHF0SUE7QUFDQTtBV250SUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBWHF0SUE7QUFDQTtBV250SUE7O0FBRUE7QVhxdElBO0FBQ0E7QVdudElBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FYcXRJQTtBQUNBO0FXbnRJQTtBQUNBO0FBQ0E7QVhxdElBO0FBQ0E7QVdwdElBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QVhzdElBO0FBQ0E7QVdwdElBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBWHN0SUE7QUFDQTtBV3B0SUE7QUFDQTtBRitGQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FBTUE7QUVsSEE7QUFDQTtBQUNBO0FYMHRJQTtBQUNBO0FXdHRJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FYd3RJQTtBQUNBO0FXdnRJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBWHl0SUE7QUFDQTtBV3Z0SUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBWHl0SUE7QUFDQTtBV3h0SUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBWDB0SUE7QUFDQTtBV3Z0SUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBWHN0SUE7QUFDQTtBUzdsSUE7QUVqUUE7QUE2SUE7QVhxdElBO0FBQ0E7QVdwdElBO0FBQ0E7QVhzdElBO0FBQ0E7QVdwdElBO0FBQ0E7QUFDQTtBQUNBO0FYc3RJQTtBQUNBO0FXcnRJQTtBQUNBO0FBQ0E7QVh1dElBO0FBQ0E7QVdydElBO0FBQ0E7QVh1dElBO0FBQ0E7QVdydElBO0FBQ0E7QVh1dElBO0FBQ0E7QVdwdElBO0FBQ0E7QUFDQTtBWHN0SUE7QUFDQTtBV3J0SUE7O0FBRUE7QUFDQTtBWHV0SUE7QUFDQTtBV3J0SUE7QUFDQTtBWHV0SUE7QUFDQTtBV3J0SUE7QUFDQTtBWHV0SUE7QUFDQTtBUzVvSUE7QUVqUUE7QUE0TEE7QVhxdElBO0FBQ0E7QVdwdElBO0FBQ0E7QVhzdElBO0FBQ0E7QVdwdElBO0FBQ0E7QUFDQTtBQUNBO0FYc3RJQTtBQUNBO0FXcnRJQTtBQUNBO0FYdXRJQTtBQUNBO0FXcnRJQTtBQUNBO0FBQ0E7QUFDQTtBWHV0SUE7QUFDQTtBVzdzSUE7QUFDQTtBQUNBO0FBQ0E7QVgrc0lBO0FBQ0E7QVc5c0lBOztBQUVBO0FBQ0E7QVhndElBO0FBQ0E7QVc5c0lBO0FBQ0E7QVhndElBO0FBQ0E7QVc5c0lBO0FBQ0E7QVhndElBO0FBQ0E7QVN6cklBO0FFalFBO0FBZ1BBO0FBQ0E7QUFDQTtBWDhzSUE7QUFDQTtBVzdzSUE7QUFDQTtBQUNBO0FYK3NJQTtBQUNBO0FXN3NJQTtBQUNBO0FYK3NJQTtBQUNBO0FXN3NJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QVgrc0lBO0FBQ0E7QVc5c0lBO0FBQ0E7QUFDQTtBWGd0SUE7QUFDQTtBVzlzSUE7QUZoR0E7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBRW1GQTtBWG10SUE7QUFDQTtBV2p0SUE7QUZ0R0E7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBRXlGQTtBQUNBO0FYc3RJQTtBQUNBO0FXbnRJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QVhxdElBO0FBQ0E7QVdwdElBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBWHF0SUE7QUFDQTtBV250SUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QVhxdElBO0FBQ0E7QVdwdElBO0FBQ0E7QVhzdElBO0FBQ0E7QVdudElBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBWHF0SUE7QUFDQTtBV250SUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FYcXRJQTtBQUNBO0FXbHRJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QVhvdElBO0FBQ0E7QVdudElBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FYcXRJQTtBQUNBO0FXbnRJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBWHF0SUE7QUFDQTtBV250SUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QVhxdElBO0FBQ0E7QVdsdElBO0FBQ0E7QUFDQTtBQUNBO0FYb3RJQTtBQUNBO0FnQnhrSkE7QUFDQTtBaEIwa0pBO0FBQ0E7QWdCdGtKQTtBQUNBO0FBQ0E7QWhCd2tKQTtBQUNBO0FnQnZrSkE7QUFKQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FoQjBrSkE7QUFDQTtBZ0J2a0pBO0FBQ0E7QUFDQTtBQUNBO0FoQnlrSkE7QUFDQTtBZ0J6akpBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWhCMmpKQTtBQUNBO0FnQnhqSkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QWhCMGpKQTtBQUNBO0FnQnRqSkE7QUFDQTtBQUNBO0FBQ0E7QWhCd2pKQTtBQUNBO0FnQnRqSkE7QUFDQTtBaEJ3akpBO0FBQ0E7QWdCdGpKQTtBUDBHQTtBQUNBO0FBU0E7QUFDQTtBQU9BO0FPekhBO0FBQ0E7QUFDQTtBaEIyakpBO0FBQ0E7QVM5MUlBO0FPbk9BO0FQb09BO0FBQ0E7QUFDQTtBVGkySUE7QUFDQTtBU2gySUE7QUFDQTtBQUNBO0FBQ0E7QVRrMklBO0FBQ0E7QWdCcGtKQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FoQnNrSkE7QUFDQTtBZ0Jwa0pBO0FQMEZBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QU92R0E7QUFDQTtBQUNBO0FoQnlrSkE7QUFDQTtBUzUzSUE7QU9uTkE7QVBvTkE7QUFDQTtBQUNBO0FUKzNJQTtBQUNBO0FTOTNJQTtBQUNBO0FBQ0E7QUFDQTtBVGc0SUE7QUFDQTtBZ0JsbEpBO0FBQ0E7QWhCb2xKQTtBQUNBO0FnQjlrSkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FoQmdsSkE7QUFDQTtBZ0I5a0pBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBaEJnbEpBO0FBQ0E7QVNoOElBO0FPNUlBO0FBQ0E7QUFDQTtBaEIra0pBO0FBQ0E7QWdCN2tKQTtBQUNBO0FBQ0E7QWhCK2tKQTtBQUNBO0FnQjdrSkE7QUFDQTtBQUNBO0FBQ0E7QWhCK2tKQTtBQUNBO0FnQjdrSkE7QUFDQTtBaEIra0pBO0FBQ0E7QVNyOUlBO0FPcFFBO0FBK0lBO0FoQjhrSkE7QUFDQTtBZ0I3a0pBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWhCK2tKQTtBQUNBO0FnQjVrSkE7QUFDQTtBQUNBO0FoQjhrSkE7QUFDQTtBZ0I1a0pBO0FBQ0E7QUFDQTtBaEI4a0pBO0FBQ0E7QWdCNWtKQTtBUFNBO0FBQ0E7QUFTQTtBQUNBO0FBT0E7QU96QkE7QUFFQTtBaEJpbEpBO0FBQ0E7QWdCL2tKQTtBUEVBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QU9mQTtBQUNBO0FoQm9sSkE7QUFDQTtBZ0JsbEpBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBaEJvbEpBO0FBQ0E7QWlCM3dKQTtBQUNBO0FBQ0E7QWpCNndKQTtBQUNBO0FpQjV3SkE7QUFDQTtBQUNBO0FqQjh3SkE7QUFDQTtBaUI1d0pBO0FSbUtBO0FBQ0E7QUFTQTtBQUNBO0FBT0E7QVFsTEE7QUFDQTtBakJpeEpBO0FBQ0E7QWlCL3dKQTtBQUNBO0FBQ0E7QUFDQTtBakJpeEpBO0FBQ0E7QWlCL3dKQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBakJpeEpBO0FBQ0E7QWlCL3dKQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWpCaXhKQTtBQUNBO0FpQjV3SkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBT0E7QUFDQTtBakJ3d0pBO0FBQ0E7QWlCcHdKQTtBUjBHQTtBQUNBO0FBU0E7QUFDQTtBQU9BO0FRekhBO0FBQ0E7QWpCeXdKQTtBQUNBO0FpQnR3SkE7QUFDQTtBQUNBO0FBQ0E7QWpCd3dKQTtBQUNBO0FpQnZ3SkE7QUFDQTtBUjRGQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FReEdBO0FqQjJ3SkE7QUFDQTtBaUJ0d0pBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBakJ3d0pBO0FBQ0E7QWlCdHdKQTtBQUNBO0FqQnd3SkE7QUFDQTtBaUJwd0pBO0FBQ0E7QWpCc3dKQTtBQUNBO0FpQnB3SkE7QUFDQTtBQUNBO0FqQnN3SkE7QUFDQTtBaUJqd0pBO0FBSUE7QUFDQTtBakJnd0pBO0FBQ0E7QWlCOXZKQTtBQUNBO0FBQ0E7QWpCZ3dKQTtBQUNBO0FpQjV2SkE7QUFDQTtBakI4dkpBO0FBQ0E7QWlCNXZKQTtBQUNBO0FBQ0E7QWpCOHZKQTtBQUNBO0FTcG9KQTtBUW5IQTtBQUNBO0FqQjB2SkE7QUFDQTtBU3pvSkE7QVFwUUE7QUF3SkE7QWpCeXZKQTtBQUNBO0FpQnh2SkE7QUFDQTtBQUNBO0FqQjB2SkE7QUFDQTtBaUJ6dkpBO0FBQ0E7QWpCMnZKQTtBQUNBO0FpQnh2SkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBakIwdkpBO0FBQ0E7QWlCanZKQTtBUlJBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QVFMQTtBakJzdkpBO0FBQ0E7QWlCcHZKQTtBUmRBO0FBQ0E7QUFTQTtBQUNBO0FBT0E7QVFEQTtBakJ5dkpBO0FBQ0E7QWlCdnZKQTtBQUNBO0FqQnl2SkE7QUFDQTtBaUJ4dkpBO0FSdkJBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QVRzd0pBO0FBQ0E7QWtCbjhKQTtBQUNBO0FBQ0E7QWxCcThKQTtBQUNBO0FrQnA4SkE7QUFDQTtBQUNBO0FBQ0E7QWxCczhKQTtBQUNBO0FrQnA4SkE7QVRrS0E7QUFDQTtBQVNBO0FBQ0E7QUFPQTtBU2xMQTtBQUVBO0FBQ0E7QUFDQTtBbEJ5OEpBO0FBQ0E7QVNyckpBO0FTM1JBO0FUNFJBO0FBQ0E7QUFDQTtBVHdySkE7QUFDQTtBU3ZySkE7QUFDQTtBQUNBO0FBQ0E7QVR5ckpBO0FBQ0E7QWtCbDlKQTtBQUNBO0FsQm85SkE7QUFDQTtBa0JsOUpBO0FBQ0E7QUFDQTtBQUNBO0FsQm85SkE7QUFDQTtBa0JsOUpBO0FBQ0E7QUFDQTtBbEJvOUpBO0FBQ0E7QWtCajlKQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FsQm05SkE7QUFDQTtBa0JqOUpBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBbEJtOUpBO0FBQ0E7QWtCajlKQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWxCbTlKQTtBQUNBO0FrQmg5SkE7QUFDQTtBbEJrOUpBO0FBQ0E7QWtCaDlKQTtBQUNBO0FUa0dBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QVM5R0E7QUFDQTtBbEJvOUpBO0FBQ0E7QWtCajlKQTtBQUNBO0FBQ0E7QUFDQTtBbEJtOUpBO0FBQ0E7QWtCbDlKQTtBQUNBO0FBQ0E7QVRrRkE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBUzlGQTtBQUNBO0FBQ0E7QUFHQTtBbEJvOUpBO0FBQ0E7QWtCLzhKQTtBQUlBO0FBQ0E7QUFDQTtBbEI4OEpBO0FBQ0E7QWtCNThKQTtBQUNBO0FsQjg4SkE7QUFDQTtBa0I1OEpBO0FBQ0E7QWxCODhKQTtBQUNBO0FrQjM4SkE7QUFDQTtBbEI2OEpBO0FBQ0E7QWtCMzhKQTtBQUNBO0FsQjY4SkE7QUFDQTtBa0I1OEpBO0FBQ0E7QUFDQTtBQUNBO0FsQjg4SkE7QUFDQTtBa0J2OEpBO0FBS0E7QUFDQTtBbEJxOEpBO0FBQ0E7QWtCcDhKQTtBQUNBO0FsQnM4SkE7QUFDQTtBa0JuOEpBO0FBQ0E7QWxCcThKQTtBQUNBO0FrQm44SkE7QUFDQTtBbEJxOEpBO0FBQ0E7QWtCcDhKQTtBQUNBO0FBQ0E7QUFDQTtBbEJzOEpBO0FBQ0E7QWtCOTdKQTtBQUNBO0FsQmc4SkE7QUFDQTtBa0IvN0pBO0FBQ0E7QWxCaThKQTtBQUNBO0FrQjk3SkE7QUFDQTtBbEJnOEpBO0FBQ0E7QWtCOTdKQTtBQUNBO0FsQmc4SkE7QUFDQTtBa0IvN0pBO0FBQ0E7QUFDQTtBbEJpOEpBO0FBQ0E7QVM1M0pBO0FTcFFBO0FBdU1BO0FsQjY3SkE7QUFDQTtBa0I1N0pBO0FBQ0E7QUFDQTtBbEI4N0pBO0FBQ0E7QWtCNTdKQTtBVGxDQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FUcTlKQTtBQUNBO0FrQmg4SkE7QUFDQTtBbEJrOEpBO0FBQ0E7QWtCaDhKQTtBQUNBO0FBQ0E7QUFDQTtBbEJrOEpBO0FBQ0E7QWtCaDhKQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FsQms4SkE7QUFDQTtBa0JqOEpBO0FBQ0E7QUFDQTtBbEJtOEpBO0FBQ0E7QWtCaDhKQTtBVDVEQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FBTUE7QVN5Q0E7QUFDQTtBbEJzOEpBO0FBQ0E7QWtCbjhKQTtBQUNBO0FsQnE4SkE7QUFDQTtBa0JwOEpBO0FBQ0E7QUFDQTtBVHpFQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FUb2dLQTtBQUNBO0FTNzdKQTtBU0xBO0FBQ0E7QWxCcThKQTtBQUNBO0FtQnRzS0E7QUFDQTtBQUNBO0FBQ0E7QW5Cd3NLQTtBQUNBO0FtQnBzS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QW5Cc3NLQTtBQUNBO0FtQi9yS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBbkJpc0tBO0FBQ0E7QW1COXJLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBbkJnc0tBO0FBQ0E7QW1COXJLQTtBVjRIQTtBQUNBO0FBU0E7QUFDQTtBQU9BO0FVNUlBO0FBRUE7QUFDQTtBQUNBO0FuQm1zS0E7QUFDQTtBU3I5SkE7QVVyUEE7QVZzUEE7QUFDQTtBQUNBO0FUdzlKQTtBQUNBO0FTdjlKQTtBQUNBO0FBQ0E7QUFDQTtBVHk5SkE7QUFDQTtBbUI1c0tBO0FBQ0E7QW5COHNLQTtBQUNBO0FtQnJzS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FuQnVzS0E7QUFDQTtBbUJ0c0tBO0FBQ0E7QW5Cd3NLQTtBQUNBO0FtQnBzS0E7QUFDQTtBbkJzc0tBO0FBQ0E7QW1CbHNLQTtBVm1GQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FVaEdBO0FBQ0E7QUFDQTtBbkJ1c0tBO0FBQ0E7QVNqZ0tBO0FVNU1BO0FWNk1BO0FBQ0E7QUFDQTtBVG9nS0E7QUFDQTtBU25nS0E7QUFDQTtBQUNBO0FBQ0E7QVRxZ0tBO0FBQ0E7QW1COXNLQTtBQUNBO0FBQ0E7QW5CZ3RLQTtBQUNBO0FTbmhLQTtBVXpMQTtBVjBMQTtBQUNBO0FBQ0E7QVRzaEtBO0FBQ0E7QVNyaEtBO0FBQ0E7QUFDQTtBQUNBO0FUdWhLQTtBQUNBO0FtQnR0S0E7QUFDQTtBQUNBO0FuQnd0S0E7QUFDQTtBbUI1c0tBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FuQjhzS0E7QUFDQTtBbUI1c0tBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBVnVJQTtBVHNrS0E7QUFDQTtBbUJ0c0tBO0FBQUE7QW5CeXNLQTtBQUNBO0FtQnpzS0E7QUFBQTtBbkI0c0tBO0FBQ0E7QW1CNXNLQTtBQUFBO0FuQitzS0E7QUFDQTtBbUIxc0tBO0FBTUE7QUFDQTtBbkJ1c0tBO0FBQ0E7QW1CcnNLQTtBQUNBO0FuQnVzS0E7QUFDQTtBbUJyc0tBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBbkJvc0tBO0FBQ0E7QW1CanNLQTtBVlpBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QVVEQTtBQUNBO0FuQnNzS0E7QUFDQTtBbUJwc0tBO0FWbkJBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QVVNQTtBQUNBO0FBQ0E7QW5CeXNLQTtBQUNBO0FtQnhzS0E7QUFDQTtBbkIwc0tBO0FBQ0E7QVM5b0tBO0FVdkRBO0FBQ0E7QW5Cd3NLQTtBQUNBO0FtQnRzS0E7QUFDQTtBQUNBO0FuQndzS0E7QUFDQTtBU3hwS0E7QVVwUUE7QUF5TkE7QUFDQTtBbkJ1c0tBO0FBQ0E7QW1CdHNLQTtBQUNBO0FBQ0E7QUFDQTtBbkJ3c0tBO0FBQ0E7QW1CdHNLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FuQndzS0E7QUFDQTtBbUJ0c0tBO0FWN0RBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QVQwdktBO0FBQ0E7QW1CMXNLQTtBQUNBO0FuQjRzS0E7QUFDQTtBbUIxc0tBO0FWckVBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QVV3REE7QUFDQTtBbkIrc0tBO0FBQ0E7QW1CN3NLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBbkIrc0tBO0FBQ0E7QW1CN3NLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBbkIrc0tBO0FBQ0E7QW1CM3NLQTtBQUFBO0FuQjhzS0E7QUFDQTtBbUI5c0tBO0FBQUE7QW5CaXRLQTtBQUNBO0FtQmp0S0E7QUFBQTtBbkJvdEtBO0FBQ0E7QW1CcHRLQTtBQUFBO0FuQnV0S0E7QUFDQTtBbUJydEtBO0FWdEdBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QUFNQTtBVW1GQTtBbkIydEtBO0FBQ0E7QW1CenRLQTtBVjVHQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FVK0ZBO0FuQjh0S0E7QUFDQTtBbUI3dEtBO0FBQ0E7QUFDQTtBbkIrdEtBO0FBQ0E7QW1COXJLQTtBQUNBO0FWdEpBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QVQyMEtBO0FBQ0E7QW1CMXJLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FuQjRyS0E7QUFDQTtBbUIzcktBO0FBQUE7QW5COHJLQTtBQUNBO0FtQjFyS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QW5CNHJLQTtBQUNBO0FTdnhLQTtBVW1HQTtBQUNBO0FBQ0E7QW5CdXJLQTtBQUNBO0FtQnRyS0E7QUFBQTtBbkJ5cktBO0FBQ0E7QW9CdGlMQTtBQUNBO0FBQ0E7QXBCd2lMQTtBQUNBO0FvQnZpTEE7QUFDQTtBQUNBO0FwQnlpTEE7QUFDQTtBb0J2aUxBO0FYb0tBO0FBQ0E7QUFTQTtBQUNBO0FBT0E7QVdwTEE7QUFFQTtBQUNBO0FwQjRpTEE7QUFDQTtBU3J4S0E7QVc3UkE7QVg4UkE7QUFDQTtBQUNBO0FUd3hLQTtBQUNBO0FTdnhLQTtBQUNBO0FBQ0E7QUFDQTtBVHl4S0E7QUFDQTtBb0JyakxBO0FBQ0E7QXBCdWpMQTtBQUNBO0FvQnJqTEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FwQnVqTEE7QUFDQTtBb0JsakxBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBcEJtakxBO0FBQ0E7QW9CaGpMQTtBQUNBO0FBQ0E7QXBCa2pMQTtBQUNBO0FvQi9pTEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBcEJpakxBO0FBQ0E7QW9CN2lMQTtBQUNBO0FBQ0E7QUFDQTtBcEIraUxBO0FBQ0E7QVM5MEtBO0FXck9BO0FYc09BO0FBQ0E7QUFDQTtBVGkxS0E7QUFDQTtBU2gxS0E7QUFDQTtBQUNBO0FBQ0E7QVRrMUtBO0FBQ0E7QW9CeGpMQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FwQnlqTEE7QUFDQTtBb0J2akxBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBcEJ5akxBO0FBQ0E7QW9CdmpMQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FwQnlqTEE7QUFDQTtBb0J0akxBO0FBQ0E7QUFDQTtBcEJ3akxBO0FBQ0E7QW9CdGpMQTtBQUNBO0FBQ0E7QUFDQTtBcEJ3akxBO0FBQ0E7QW9CdGpMQTtBWGlFQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FXOUVBO0FBQ0E7QXBCMmpMQTtBQUNBO0FvQnpqTEE7QVgwREE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBV3ZFQTtBQUNBO0FBQ0E7QXBCOGpMQTtBQUNBO0FvQjVqTEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXBCOGpMQTtBQUNBO0FvQjVqTEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBWHFDQTtBQUNBO0FBU0E7QUFDQTtBQU9BO0FBSUE7QVd2REE7QUFDQTtBcEJpa0xBO0FBQ0E7QW9CaGtMQTtBQUNBO0FBQ0E7QXBCa2tMQTtBQUNBO0FTLzhLQTtBV3JRQTtBQXdKQTtBcEJna0xBO0FBQ0E7QW9CL2pMQTtBWG1CQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FXaENBO0FwQm9rTEE7QUFDQTtBb0Jsa0xBO0FBQ0E7QUFDQTtBcEJva0xBO0FBQ0E7QW9CaGtMQTtBQUNBO0FwQmtrTEE7QUFDQTtBb0Joa0xBO0FBQ0E7QUFDQTtBQUNBO0FwQmtrTEE7QUFDQTtBb0IvakxBO0FBRUE7QUFDQTtBQUNBO0FwQmdrTEE7QUFDQTtBb0I5akxBO0FYWkE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBQU1BO0FXUEE7QXBCb2tMQTtBQUNBO0FvQmxrTEE7QUFDQTtBcEJva0xBO0FBQ0E7QW9CbGtMQTtBQUNBO0FwQm9rTEE7QUFDQTtBcUJod0xBO0FBQ0E7QUFDQTtBQUNBO0FyQmt3TEE7QUFDQTtBcUJqd0xBO0FBQ0E7QUFDQTtBQUNBO0FyQm13TEE7QUFDQTtBcUJqd0xBO0FaeUpBO0FBQ0E7QUFTQTtBQUNBO0FBT0E7QVl6S0E7QUFDQTtBQUNBO0FyQnV3TEE7QUFDQTtBUzEvS0E7QVlsUkE7QVptUkE7QUFDQTtBQUNBO0FUNi9LQTtBQUNBO0FTNS9LQTtBQUNBO0FBQ0E7QUFDQTtBVDgvS0E7QUFDQTtBcUJoeExBO0FBQ0E7QXJCa3hMQTtBQUNBO0FxQmh4TEE7QUFDQTtBckJreExBO0FBQ0E7QXFCaHhMQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FyQmt4TEE7QUFDQTtBcUJoeExBO0FBQ0E7QXJCa3hMQTtBQUNBO0FTMWhMQTtBWTFQQTtBWjJQQTtBQUNBO0FBQ0E7QVQ2aExBO0FBQ0E7QVM1aExBO0FBQ0E7QUFDQTtBQUNBO0FUOGhMQTtBQUNBO0FxQjF4TEE7QUFDQTtBckI0eExBO0FBQ0E7QXFCOXhMQTtBQUNBO0FyQmd5TEE7QUFDQTtBcUJseUxBO0FBQ0E7QXJCb3lMQTtBQUNBO0FxQnR5TEE7QUFDQTtBckJ3eUxBO0FBQ0E7QXFCMXlMQTtBQUNBO0FyQjR5TEE7QUFDQTtBcUI5eUxBO0FBQ0E7QXJCZ3pMQTtBQUNBO0FxQjN5TEE7QUFDQTtBQUNBO0FBQ0E7QVp5TkE7QVlyTkE7QXJCMnlMQTtBQUNBO0FxQjF5TEE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FyQjR5TEE7QUFDQTtBcUJ6eUxBO0FBQ0E7QUFDQTtBckIyeUxBO0FBQ0E7QXFCeHlMQTtBWjRGQTtBQUNBO0FBU0E7QUFDQTtBQU9BO0FZM0dBO0FBQ0E7QXJCNnlMQTtBQUNBO0FxQjN5TEE7QVpxRkE7QUFDQTtBQVNBO0FBQ0E7QUFPQTtBQUlBO0FZeEdBO0FBQ0E7QXJCaXpMQTtBQUNBO0FxQjl5TEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBckJnekxBO0FBQ0E7QXFCOXlMQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBWnNLQTtBWWxLQTtBckI4eUxBO0FBQ0E7QXFCN3lMQTtBQUNBO0FyQit5TEE7QUFDQTtBcUI3eUxBO0FBQ0E7QUFDQTtBckIreUxBO0FBQ0E7QXFCN3lMQTtBQUNBO0FyQit5TEE7QUFDQTtBUzNxTEE7QVk1UEE7QUE2SEE7QXJCOHlMQTtBQUNBO0FxQjd5TEE7QUFDQTtBckIreUxBO0FBQ0E7QVNwckxBO0FZNVBBO0FBc0lBO0FBQ0E7QXJCOHlMQTtBQUNBO0FxQjd5TEE7QUFDQTtBckIreUxBO0FBQ0E7QXFCN3lMQTtBWnVCQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FZcENBO0FyQmt6TEE7QUFDQTtBcUJoekxBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXJCa3pMQTtBQUNBO0FxQmh6TEE7QUFDQTtBckJrekxBO0FBQ0E7QXFCaHpMQTtBQUNBO0FyQmt6TEE7QUFDQTtBcUIveUxBO0FBRUE7QVp3R0E7QVR5c0xBO0FBQ0E7QXFCN3lMQTtBWk5BO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QVlQQTtBckJrekxBO0FBQ0E7QXFCaHpMQTtBWlpBO0FBQ0E7QUFTQTtBQUNBO0FBT0E7QUFJQTtBWVBBO0FyQnN6TEE7QUFDQTtBcUJwekxBO0FBQ0E7QXJCc3pMQTtBQUNBO0FzQnArTEE7QUFDQTtBdEJzK0xBO0FBQ0E7QXNCbitMQTtBQUNBO0FBQ0E7QXRCcStMQTtBQUNBO0FnQi8vTEE7QUFDQTtBaEJpZ01BO0FnQjUvTEE7QUFDQTtBQUNBO0FoQjgvTEE7QWdCNS9MQTtBQUpBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QWhCKy9MQTtBQUNBO0FnQjUvTEE7QUFDQTtBQUNBO0FBQ0E7QWhCOC9MQTtBZ0I3K0xBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWhCKytMQTtBZ0IzK0xBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FoQjYrTEE7QWdCeCtMQTtBQUNBO0FBQ0E7QUFDQTtBaEIwK0xBO0FnQnYrTEE7QUFDQTtBaEJ5K0xBO0FnQnQrTEE7QVAwR0E7QUFDQTtBQVNBO0FBQ0E7QUFPQTtBT3pIQTtBQUNBO0FBQ0E7QWhCMitMQTtBUzd3TEE7QU9uT0E7QVBvT0E7QUFDQTtBQUNBO0FUZ3hMQTtBUzl3TEE7QUFDQTtBQUNBO0FBQ0E7QVRneExBO0FBQ0E7QWdCbC9MQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FoQm8vTEE7QWdCai9MQTtBUDBGQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FPdkdBO0FBQ0E7QUFDQTtBaEJzL0xBO0FTeHlMQTtBT25OQTtBUG9OQTtBQUNBO0FBQ0E7QVQyeUxBO0FTenlMQTtBQUNBO0FBQ0E7QUFDQTtBVDJ5TEE7QUFDQTtBZ0I3L0xBO0FBQ0E7QWhCKy9MQTtBZ0J4L0xBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBaEIwL0xBO0FnQnYvTEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FoQnkvTEE7QVN4MkxBO0FPNUlBO0FBQ0E7QUFDQTtBaEJ1L0xBO0FnQnAvTEE7QUFDQTtBQUNBO0FoQnMvTEE7QWdCbi9MQTtBQUNBO0FBQ0E7QUFDQTtBaEJxL0xBO0FnQmwvTEE7QUFDQTtBaEJvL0xBO0FBQ0E7QVMxM0xBO0FPcFFBO0FBK0lBO0FoQm0vTEE7QWdCai9MQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FoQm0vTEE7QWdCLytMQTtBQUNBO0FBQ0E7QWhCaS9MQTtBZ0I5K0xBO0FBQ0E7QUFDQTtBaEJnL0xBO0FnQjcrTEE7QVBTQTtBQUNBO0FBU0E7QUFDQTtBQU9BO0FPekJBO0FBRUE7QWhCay9MQTtBZ0IvK0xBO0FQRUE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBT2ZBO0FBQ0E7QWhCby9MQTtBZ0JqL0xBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBaEJtL0xBO0FBQ0E7QUFDQTtBa0IzcU1BO0FBQ0E7QUFDQTtBbEI2cU1BO0FrQjNxTUE7QUFDQTtBQUNBO0FBQ0E7QWxCNnFNQTtBa0IxcU1BO0FUa0tBO0FBQ0E7QUFTQTtBQUNBO0FBT0E7QVNsTEE7QUFFQTtBQUNBO0FBQ0E7QWxCK3FNQTtBUzE1TEE7QVMzUkE7QVQ0UkE7QUFDQTtBQUNBO0FUNjVMQTtBUzM1TEE7QUFDQTtBQUNBO0FBQ0E7QVQ2NUxBO0FBQ0E7QWtCdHJNQTtBQUNBO0FsQndyTUE7QWtCcnJNQTtBQUNBO0FBQ0E7QUFDQTtBbEJ1ck1BO0FrQnByTUE7QUFDQTtBQUNBO0FsQnNyTUE7QWtCbHJNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FsQm9yTUE7QWtCanJNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWxCbXJNQTtBa0Jock1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBbEJrck1BO0FrQjlxTUE7QUFDQTtBbEJnck1BO0FrQjdxTUE7QUFDQTtBVGtHQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FTOUdBO0FBQ0E7QWxCaXJNQTtBa0I3cU1BO0FBQ0E7QUFDQTtBQUNBO0FsQitxTUE7QWtCN3FNQTtBQUNBO0FBQ0E7QVRrRkE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBUzlGQTtBQUNBO0FBQ0E7QUFHQTtBbEIrcU1BO0FrQnpxTUE7QUFJQTtBQUNBO0FBQ0E7QWxCd3FNQTtBa0JycU1BO0FBQ0E7QWxCdXFNQTtBa0JwcU1BO0FBQ0E7QWxCc3FNQTtBa0JscU1BO0FBQ0E7QWxCb3FNQTtBa0JqcU1BO0FBQ0E7QWxCbXFNQTtBa0JqcU1BO0FBQ0E7QUFDQTtBQUNBO0FsQm1xTUE7QUFDQTtBa0I1cE1BO0FBS0E7QUFDQTtBbEIwcE1BO0FrQnhwTUE7QUFDQTtBbEIwcE1BO0FrQnRwTUE7QUFDQTtBbEJ3cE1BO0FrQnJwTUE7QUFDQTtBbEJ1cE1BO0FrQnJwTUE7QUFDQTtBQUNBO0FBQ0E7QWxCdXBNQTtBa0I5b01BO0FBQ0E7QWxCZ3BNQTtBa0I5b01BO0FBQ0E7QWxCZ3BNQTtBa0I1b01BO0FBQ0E7QWxCOG9NQTtBa0Izb01BO0FBQ0E7QWxCNm9NQTtBa0Izb01BO0FBQ0E7QUFDQTtBbEI2b01BO0FBQ0E7QVN4a01BO0FTcFFBO0FBdU1BO0FsQnlvTUE7QWtCdm9NQTtBQUNBO0FBQ0E7QWxCeW9NQTtBa0J0b01BO0FUbENBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QVQrcE1BO0FrQnpvTUE7QUFDQTtBbEIyb01BO0FrQnhvTUE7QUFDQTtBQUNBO0FBQ0E7QWxCMG9NQTtBa0J2b01BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWxCeW9NQTtBa0J2b01BO0FBQ0E7QUFDQTtBbEJ5b01BO0FrQnJvTUE7QVQ1REE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBQU1BO0FTeUNBO0FBQ0E7QWxCMm9NQTtBa0J2b01BO0FBQ0E7QWxCeW9NQTtBa0J2b01BO0FBQ0E7QUFDQTtBVHpFQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FUdXNNQTtBQUNBO0FTaG9NQTtBU0xBO0FBQ0E7QWxCd29NQTtBQUNBO0FBQ0E7QW9CMzRNQTtBQUNBO0FBQ0E7QXBCNjRNQTtBb0IzNE1BO0FBQ0E7QUFDQTtBcEI2NE1BO0FvQjE0TUE7QVhvS0E7QUFDQTtBQVNBO0FBQ0E7QUFPQTtBV3BMQTtBQUVBO0FBQ0E7QXBCKzRNQTtBU3ZuTUE7QVc3UkE7QVg4UkE7QUFDQTtBQUNBO0FUMG5NQTtBU3huTUE7QUFDQTtBQUNBO0FBQ0E7QVQwbk1BO0FBQ0E7QW9CdDVNQTtBQUNBO0FwQnc1TUE7QW9CcjVNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXBCdTVNQTtBb0JqNU1BO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBcEJrNU1BO0FvQjk0TUE7QUFDQTtBQUNBO0FwQmc1TUE7QW9CNTRNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FwQjg0TUE7QUFDQTtBb0IxNE1BO0FBQ0E7QUFDQTtBQUNBO0FwQjQ0TUE7QVMxcU1BO0FXck9BO0FYc09BO0FBQ0E7QUFDQTtBVDZxTUE7QVMzcU1BO0FBQ0E7QUFDQTtBQUNBO0FUNnFNQTtBQUNBO0FvQm41TUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBcEJvNU1BO0FvQmo1TUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FwQm01TUE7QW9CaDVNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FwQms1TUE7QW9COTRNQTtBQUNBO0FBQ0E7QXBCZzVNQTtBb0I3NE1BO0FBQ0E7QUFDQTtBQUNBO0FwQis0TUE7QW9CNTRNQTtBWGlFQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FXOUVBO0FBQ0E7QXBCaTVNQTtBb0I5NE1BO0FYMERBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QVd2RUE7QUFDQTtBQUNBO0FwQm01TUE7QW9CaDVNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBcEJrNU1BO0FvQi80TUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBWHFDQTtBQUNBO0FBU0E7QUFDQTtBQU9BO0FBSUE7QVd2REE7QUFDQTtBcEJvNU1BO0FvQmw1TUE7QUFDQTtBQUNBO0FwQm81TUE7QUFDQTtBU2p5TUE7QVdyUUE7QUF3SkE7QXBCazVNQTtBb0JoNU1BO0FYbUJBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QVdoQ0E7QXBCcTVNQTtBb0JsNU1BO0FBQ0E7QUFDQTtBcEJvNU1BO0FvQi80TUE7QUFDQTtBcEJpNU1BO0FvQjk0TUE7QUFDQTtBQUNBO0FBQ0E7QXBCZzVNQTtBb0I1NE1BO0FBRUE7QUFDQTtBQUNBO0FwQjY0TUE7QW9CMTRNQTtBWFpBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QUFNQTtBV1BBO0FwQmc1TUE7QW9CNzRNQTtBQUNBO0FwQis0TUE7QW9CNTRNQTtBQUNBO0FwQjg0TUE7QUFDQTtBQUNBO0FtQm5sTkE7QUFDQTtBQUNBO0FBQ0E7QW5CcWxOQTtBbUJobE5BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FuQmtsTkE7QW1CMWtOQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FuQjRrTkE7QW1CeGtOQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBbkIwa05BO0FtQnZrTkE7QVY0SEE7QUFDQTtBQVNBO0FBQ0E7QUFPQTtBVTVJQTtBQUVBO0FBQ0E7QUFDQTtBbkI0a05BO0FTNzFNQTtBVXJQQTtBVnNQQTtBQUNBO0FBQ0E7QVRnMk1BO0FTOTFNQTtBQUNBO0FBQ0E7QUFDQTtBVGcyTUE7QUFDQTtBbUJubE5BO0FBQ0E7QW5CcWxOQTtBbUIza05BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBbkI2a05BO0FtQjNrTkE7QUFDQTtBbkI2a05BO0FtQnhrTkE7QUFDQTtBbkIwa05BO0FtQnJrTkE7QVZtRkE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBVWhHQTtBQUNBO0FBQ0E7QW5CMGtOQTtBU240TUE7QVU1TUE7QVY2TUE7QUFDQTtBQUNBO0FUczRNQTtBU3A0TUE7QUFDQTtBQUNBO0FBQ0E7QVRzNE1BO0FBQ0E7QW1CL2tOQTtBQUNBO0FBQ0E7QW5CaWxOQTtBQUNBO0FTcDVNQTtBVXpMQTtBVjBMQTtBQUNBO0FBQ0E7QVR1NU1BO0FTcjVNQTtBQUNBO0FBQ0E7QUFDQTtBVHU1TUE7QUFDQTtBbUJ0bE5BO0FBQ0E7QUFDQTtBbkJ3bE5BO0FBQ0E7QW1CNWtOQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBbkI4a05BO0FtQjNrTkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FWdUlBO0FUcThNQTtBbUJwa05BO0FBQUE7QW5CdWtOQTtBbUJ0a05BO0FBQUE7QW5CeWtOQTtBbUJ4a05BO0FBQUE7QW5CMmtOQTtBbUJya05BO0FBTUE7QUFDQTtBbkJra05BO0FtQi9qTkE7QUFDQTtBbkJpa05BO0FtQjlqTkE7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FuQjZqTkE7QUFDQTtBbUIxak5BO0FWWkE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBVURBO0FBQ0E7QW5CK2pOQTtBbUI1ak5BO0FWbkJBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QVVNQTtBQUNBO0FBQ0E7QW5CaWtOQTtBbUIvak5BO0FBQ0E7QW5CaWtOQTtBU3BnTkE7QVV2REE7QUFDQTtBbkI4ak5BO0FtQjNqTkE7QUFDQTtBQUNBO0FuQjZqTkE7QUFDQTtBUzdnTkE7QVVwUUE7QUF5TkE7QUFDQTtBbkI0ak5BO0FtQjFqTkE7QUFDQTtBQUNBO0FBQ0E7QW5CNGpOQTtBbUJ6ak5BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QW5CMmpOQTtBbUJ4ak5BO0FWN0RBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QVQ0bU5BO0FtQjNqTkE7QUFDQTtBbkI2ak5BO0FtQjFqTkE7QVZyRUE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBVXdEQTtBQUNBO0FuQitqTkE7QW1CNWpOQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBbkI4ak5BO0FtQjNqTkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QW5CNmpOQTtBbUJ4ak5BO0FBQUE7QW5CMmpOQTtBbUIxak5BO0FBQUE7QW5CNmpOQTtBbUI1ak5BO0FBQUE7QW5CK2pOQTtBbUI5ak5BO0FBQUE7QW5CaWtOQTtBbUI5ak5BO0FWdEdBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QUFNQTtBVW1GQTtBbkJva05BO0FtQmprTkE7QVY1R0E7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBVStGQTtBbkJza05BO0FtQnBrTkE7QUFDQTtBQUNBO0FuQnNrTkE7QUFDQTtBQUNBO0FtQnRpTkE7QUFDQTtBVnRKQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FUbXJOQTtBQUNBO0FtQmxpTkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBbkJvaU5BO0FtQmxpTkE7QUFBQTtBbkJxaU5BO0FtQmhpTkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QW5Ca2lOQTtBUzVuTkE7QVVtR0E7QUFDQTtBQUNBO0FuQjRoTkE7QW1CMWhOQTtBQUFBO0FuQjZoTkE7QUFDQTtBQUNBO0FpQjE0TkE7QUFDQTtBQUNBO0FqQjQ0TkE7QWlCMTROQTtBQUNBO0FBQ0E7QWpCNDROQTtBaUJ6NE5BO0FSbUtBO0FBQ0E7QUFTQTtBQUNBO0FBT0E7QVFsTEE7QUFDQTtBakI4NE5BO0FpQjM0TkE7QUFDQTtBQUNBO0FBQ0E7QWpCNjROQTtBaUIxNE5BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FqQjQ0TkE7QWlCejROQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWpCMjROQTtBaUJyNE5BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU9BO0FBQ0E7QWpCaTROQTtBQUNBO0FpQjczTkE7QVIwR0E7QUFDQTtBQVNBO0FBQ0E7QUFPQTtBUXpIQTtBQUNBO0FqQms0TkE7QWlCOTNOQTtBQUNBO0FBQ0E7QUFDQTtBakJnNE5BO0FpQjkzTkE7QUFDQTtBUjRGQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FReEdBO0FqQms0TkE7QWlCNTNOQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWpCODNOQTtBaUIzM05BO0FBQ0E7QWpCNjNOQTtBaUJ4M05BO0FBQ0E7QWpCMDNOQTtBaUJ2M05BO0FBQ0E7QUFDQTtBakJ5M05BO0FBQ0E7QWlCcDNOQTtBQUlBO0FBQ0E7QWpCbTNOQTtBaUJoM05BO0FBQ0E7QUFDQTtBakJrM05BO0FpQjcyTkE7QUFDQTtBakIrMk5BO0FpQjUyTkE7QUFDQTtBQUNBO0FqQjgyTkE7QUFDQTtBU3B2TkE7QVFuSEE7QUFDQTtBakIwMk5BO0FBQ0E7QVN6dk5BO0FRcFFBO0FBd0pBO0FqQnkyTkE7QWlCdjJOQTtBQUNBO0FBQ0E7QWpCeTJOQTtBaUJ2Mk5BO0FBQ0E7QWpCeTJOQTtBaUJyMk5BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWpCdTJOQTtBaUI3MU5BO0FSUkE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBUUxBO0FqQmsyTkE7QWlCLzFOQTtBUmRBO0FBQ0E7QUFTQTtBQUNBO0FBT0E7QVFEQTtBakJvMk5BO0FpQmoyTkE7QUFDQTtBakJtMk5BO0FpQmoyTkE7QVJ2QkE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBVCsyTkE7QUFDQTtBQUNBO0FxQnJpT0E7QUFDQTtBQUNBO0FBQ0E7QXJCdWlPQTtBcUJyaU9BO0FBQ0E7QUFDQTtBQUNBO0FyQnVpT0E7QXFCcGlPQTtBWnlKQTtBQUNBO0FBU0E7QUFDQTtBQU9BO0FZektBO0FBQ0E7QUFDQTtBckIwaU9BO0FTNXhOQTtBWWxSQTtBWm1SQTtBQUNBO0FBQ0E7QVQreE5BO0FTN3hOQTtBQUNBO0FBQ0E7QUFDQTtBVCt4TkE7QUFDQTtBcUJqak9BO0FBQ0E7QXJCbWpPQTtBcUJoak9BO0FBQ0E7QXJCa2pPQTtBcUIvaU9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXJCaWpPQTtBcUI5aU9BO0FBQ0E7QXJCZ2pPQTtBU3Z6TkE7QVkxUEE7QVoyUEE7QUFDQTtBQUNBO0FUMHpOQTtBU3h6TkE7QUFDQTtBQUNBO0FBQ0E7QVQwek5BO0FBQ0E7QXFCdGpPQTtBQUNBO0FyQndqT0E7QXFCempPQTtBQUNBO0FyQjJqT0E7QXFCNWpPQTtBQUNBO0FyQjhqT0E7QXFCL2pPQTtBQUNBO0FyQmlrT0E7QXFCbGtPQTtBQUNBO0FyQm9rT0E7QXFCcmtPQTtBQUNBO0FyQnVrT0E7QXFCamtPQTtBQUNBO0FBQ0E7QUFDQTtBWnlOQTtBWXJOQTtBckJpa09BO0FxQi9qT0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FyQmlrT0E7QXFCN2pPQTtBQUNBO0FBQ0E7QXJCK2pPQTtBQUNBO0FxQjVqT0E7QVo0RkE7QUFDQTtBQVNBO0FBQ0E7QUFPQTtBWTNHQTtBQUNBO0FyQmlrT0E7QXFCOWpPQTtBWnFGQTtBQUNBO0FBU0E7QUFDQTtBQU9BO0FBSUE7QVl4R0E7QUFDQTtBckJva09BO0FxQmhrT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBckJra09BO0FxQi9qT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QVpzS0E7QVlsS0E7QXJCK2pPQTtBcUI3ak9BO0FBQ0E7QXJCK2pPQTtBcUI1ak9BO0FBQ0E7QUFDQTtBckI4ak9BO0FxQjNqT0E7QUFDQTtBckI2ak9BO0FTeDdOQTtBWTVQQTtBQTZIQTtBckIyak9BO0FxQnpqT0E7QUFDQTtBckIyak9BO0FBQ0E7QVNoOE5BO0FZNVBBO0FBc0lBO0FBQ0E7QXJCMGpPQTtBcUJ4ak9BO0FBQ0E7QXJCMGpPQTtBcUJ2ak9BO0FadUJBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QVlwQ0E7QXJCNGpPQTtBcUJ6ak9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXJCMmpPQTtBcUJ4ak9BO0FBQ0E7QXJCMGpPQTtBcUJ2ak9BO0FBQ0E7QXJCeWpPQTtBcUJyak9BO0FBRUE7QVp3R0E7QVQrOE5BO0FxQmxqT0E7QVpOQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FZUEE7QXJCdWpPQTtBcUJwak9BO0FaWkE7QUFDQTtBQVNBO0FBQ0E7QUFPQTtBQUlBO0FZUEE7QXJCMGpPQTtBcUJ2ak9BO0FBQ0E7QXJCeWpPQTtBQUNBO0FBQ0E7QUl4dk9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU1BO0FBRUE7QUFDQTtBSm92T0E7QUFDQTtBSWx2T0E7OztBQUdBO0FBQ0E7QUFDQTtBQUlBO0FKaXZPQTtBQUNBO0FJenVPQTtBQUNBO0FKMnVPQTtBQUNBO0FJMXVPQTtBQUhBO0FBSUE7QUo2dU9BO0FBQ0E7QUl6dU9BOztBQUVBO0FKMnVPQTtBQUNBO0FJeHVPQTtBQUNBO0FKMHVPQTtBQUNBO0FJeHVPQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUowdU9BO0FBQ0E7QUl4dU9BO0FBQ0E7QUowdU9BO0FBQ0E7QUl4dU9BO0FBQ0E7QUowdU9BO0FBQ0E7QUl4dU9BO0FBQ0E7QUFDQTtBSjB1T0E7QUFDQTtBSXh1T0E7QUFDQTtBSjB1T0E7QUFDQTtBSXh1T0E7QUFDQTtBQUNBO0FBQ0E7QUowdU9BO0FBQ0E7QUl4dU9BOzs7O0FBSUE7QUowdU9BO0FBQ0E7QUtuME9BO0FBREE7QUFFQTtBTHMwT0E7QUFDQTtBS2owT0E7QUFEQTtBQUVBO0FMbzBPQTtBQUNBO0FLL3pPQTtBQURBO0FBRUE7QUxrME9BO0FBQ0E7QUs3ek9BO0FBREE7QUFFQTtBTGcwT0E7QUFDQTtBS3R6T0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUxzek9BO0FBQ0E7QUtyek9BO0FBQ0E7QUFDQTtBTHV6T0E7QUFDQTtBTXR4T0E7QUFDQTtBQUNBO0FBQ0E7QU53eE9BO0FNdHhPQTtBQUNBO0FBQ0E7QU53eE9BO0FNdHhPQTtBQUNBO0FBQ0E7QU53eE9BO0FNdHhPQTtBQUNBO0FBQ0E7QU53eE9BO0FBQ0E7QU1weE9BO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FOb3hPQTtBQUNBO0FNaHhPQTtBQUFBO0FObXhPQTtBQUNBO0FNaHhPQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUE1RkE7QUFnR0E7QUFDQTtBQUNBO0FBQ0E7QU5neE9BO0FBQ0E7QU03d09BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBdEhBO0FBMEhBO0FONndPQTtBQUNBO0FNM3dPQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBcEhBO0FBd0hBO0FBQ0E7QU4yd09BO0FBQ0E7QU12d09BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QU55d09BO0FBQ0E7QU14d09BO0FBRUE7QUFDQTtBTnl3T0E7QUFDQTtBTXB3T0E7QUFDQTtBQUNBO0FOc3dPQTtBQUNBO0FNbndPQTtBQUNBO0FOcXdPQTtBQUNBO0FNbndPQTtBQUNBO0FOcXdPQTtBQUNBO0FNbHdPQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QU5rd09BO0FBQ0E7QU05dk9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBTmd3T0E7QUFDQTtBTTd2T0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FOK3ZPQTtBQUNBO0FNOXZPQTtBQUVBO0FBQ0E7QU4rdk9BO0FBQ0E7QU16dk9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBTjJ2T0E7QUFDQTtBTTF2T0E7QUFDQTtBQUNBO0FONHZPQTtBQUNBO0FNMXZPQTtBQUNBO0FBQ0E7QU40dk9BO0FBQ0E7QU0xdk9BO0FBRUE7QUFDQTtBQUNBO0FOMnZPQTtBQUNBO0FNdHZPQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QU53dk9BO0FBQ0E7QU12dk9BO0FBQ0E7QUFDQTtBTnl2T0E7QUFDQTtBTXZ2T0E7QUFFQTtBQUNBO0FBQ0E7QU53dk9BO0FBQ0E7QU1wdk9BO0FBQ0E7QUFFQTtBTnF2T0E7QUFDQTtBTW52T0E7QUFBQTtBTnN2T0E7QUFDQTtBTXJ2T0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QU51dk9BO0FBQ0E7QU10dk9BO0FBQUE7QU55dk9BO0FBQ0E7QU10dk9BO0FBRUE7QU51dk9BO0FBQ0E7QU10dk9BO0FBQUE7QU55dk9BO0FBQ0E7QU12dk9BO0FBRUE7QUFFQTtBTnV2T0E7QUFDQTtBTS91T0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FOaXZPQTtBQUNBO0FNL3VPQTtBQUFBO0FOa3ZPQTtBQUNBO0FNanZPQTtBQUNBO0FBQ0E7QUFDQTtBTm12T0E7QUFDQTtBTWx2T0E7QUFBQTtBTnF2T0E7QUFDQTtBTW52T0E7O0FBRUE7QU5xdk9BO0FBQ0E7QU1qdk9BO0FBRUE7QU5rdk9BO0FBQ0E7QU1odk9BO0FBRUE7QUFDQTtBQUNBO0FOaXZPQTtBQUNBO0FNMXVPQTtBQUNBO0FONHVPQTtBQUNBO0FNdHVPQTtBQUNBO0FOd3VPQTtBQUNBO0FNdnVPQTtBQUNBO0FOeXVPQTtBQUNBO0FNdHVPQTtBQUNBO0FOd3VPQTtBQUNBO0FNanVPQTtBQUNBO0FBQ0E7QUFDQTtBTm11T0E7QUFDQTtBTWx1T0E7QUFDQTtBTm91T0E7QUFDQTtBTWx1T0E7QUFFQTtBQUNBO0FObXVPQTtBQUNBO0FNaHVPQTtBQUNBO0FOa3VPQTtBQUNBO0FNanVPQTtBQUNBO0FObXVPQTtBQUNBO0F1QjdwUEE7QUFDQTtBQUtBO0F2QjJwUEE7QUFDQTtBdUIxcFBBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWRnS0E7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBYzVLQTtBdkI4cFBBO0FBQ0E7QXVCN3BQQTtBQUNBO0FBQ0E7QUFDQTtBdkIrcFBBO0FBQ0E7QXVCN3BQQTtBQUNBO0F2QitwUEE7QUFDQTtBdUJ6cFBBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBdkIycFBBO0FBQ0E7QXVCenBQQTtBQUNBO0FBQ0E7QUFDQTtBdkIycFBBO0FBQ0E7QXVCenBQQTtBZDJIQTtBQUNBO0FBU0E7QUFDQTtBQU9BO0FjMUlBO0FBQ0E7QUFDQTtBdkI4cFBBO0FBQ0E7QXVCM3BQQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0F2QjZwUEE7QUFDQTtBdUIzcFBBO0FBQ0E7QUFDQTtBQUNBO0F2QjZwUEE7QUFDQTtBdUIzcFBBO0FBQ0E7QUFDQTtBQUNBO0FkbUdBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QUFNQTtBVDBpUEE7QUFDQTtBdUIvcFBBO0FBQ0E7QXZCaXFQQTtBQUNBO0F1QmhxUEE7QUFBQTtBdkJtcVBBO0FBQ0E7QVNqL09BO0FjcFFBO0FBeUZBO0F2QmdxUEE7QUFDQTtBdUIvcFBBO0FBQ0E7QXZCaXFQQTtBQUNBO0F1Qi9wUEE7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBdkI4cFBBO0FBQ0E7QXVCNXBQQTtBZG1FQTtBQUNBO0FBU0E7QUFDQTtBQU9BO0FjbkZBO0FBRUE7QXZCaXFQQTtBQUNBO0F1Qi9wUEE7QUFDQTtBQUNBO0F2QmlxUEE7QUFDQTtBdUJocVBBO0FBQUE7QXZCbXFQQTtBQUNBO0F1QmpxUEE7QUF2SEE7QUF3SEE7QXZCb3FQQTtBQUNBO0F3Qjd4UEE7QUFDQTtBQUNBO0F4Qit4UEE7QUFDQTtBd0IzeFBBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXhCNnhQQTtBQUNBO0F3QjF4UEE7QUFDQTtBQUNBO0FBQ0E7QXhCNHhQQTtBQUNBO0F3QjN4UEE7QUFDQTtBeEI2eFBBO0FBQ0E7QXdCM3hQQTtBQUNBO0FBQ0E7QXhCNnhQQTtBQUNBO0F3QjV4UEE7QUFBQTtBeEIreFBBO0FBQ0E7QXdCN3hQQTtBQUNBO0F4Qit4UEE7QUFDQTtBd0I3eFBBO0FBQ0E7QWZxSUE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBZWpKQTtBeEJpeVBBO0FBQ0E7QXdCL3hQQTtBQUNBO0FmNkhBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QWUxSUE7QXhCb3lQQTtBQUNBO0FTbmxQQTtBZWxQQTtBQXFDQTtBQUNBO0FBQ0E7QXhCb3lQQTtBQUNBO0F3Qm55UEE7QWZpSEE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBVHlxUEE7QUFDQTtBd0J2eVBBO0FmNkdBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QVRpclBBO0FBQ0E7QVMxbVBBO0FlN0xBO0FBQ0E7QXhCMHlQQTtBQUNBO0F3QnZ5UEE7QUFDQTtBQUNBO0FBQ0E7QXhCeXlQQTtBQUNBO0F3QnJ5UEE7QUFDQTtBeEJ1eVBBO0FBQ0E7QXlCNzNQQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0F6QjgzUEE7QUFDQTtBeUI3M1BBO0FBQ0E7QXpCKzNQQTtBQUNBO0F5QjMzUEE7QUFDQTtBQUNBO0FBQ0E7QXpCNjNQQTtBQUNBO0F5QjUzUEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FoQnFKQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FnQmpLQTtBQUNBO0F6Qmc0UEE7QUFDQTtBeUIvM1BBO0FBQ0E7QXpCaTRQQTtBQUNBO0F5Qi8zUEE7QUFDQTtBQUNBO0F6Qmk0UEE7QUFDQTtBeUIzM1BBO0FBQUE7QXpCODNQQTtBQUNBO0F5QnQzUEE7QUFDQTtBaEJ1SEE7QUFDQTtBQVNBO0FBQ0E7QUFPQTtBZ0JySUE7QXpCMDNQQTtBQUNBO0F5QngzUEE7QUFDQTtBaEIrR0E7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBZ0IzSEE7QXpCNDNQQTtBQUNBO0F5QjEzUEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXpCNDNQQTtBQUNBO0F5QjMzUEE7QUFDQTtBQUNBO0FoQjhGQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FnQjFHQTtBekIrM1BBO0FBQ0E7QXlCOTNQQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F6Qmc0UEE7QUFDQTtBeUIzM1BBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBekI2M1BBO0FBQ0E7QXlCMTNQQTtBQUFBO0F6QjYzUEE7QUFDQTtBeUIxM1BBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXpCNDNQQTtBQUNBO0F5QjEzUEE7QWhCMERBO0FBQ0E7QUFTQTtBQUNBO0FBT0E7QUFJQTtBZ0I3RUE7QXpCZzRQQTtBQUNBO0F5QjkzUEE7QUFDQTtBQUNBO0FBQ0E7QXpCZzRQQTtBQUNBO0F5QjkzUEE7QUFDQTtBQUNBO0FBQ0E7QXpCZzRQQTtBQUNBO0F5Qi8zUEE7QUFDQTtBekJpNFBBO0FBQ0E7QXlCLzNQQTtBQUNBO0FBQ0E7QXpCaTRQQTtBQUNBO0FTdndQQTtBZ0JwSEE7QUFDQTtBQUNBO0FBQ0E7QXpCODNQQTtBQUNBO0F5QjczUEE7QUFBQTtBekJnNFBBO0FBQ0E7QXlCOTNQQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F6Qmc0UEE7QUFDQTtBeUIvM1BBO0FoQmNBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QWdCM0JBO0FBTUE7QUFDQTtBQUNBO0F6QiszUEE7QUFDQTtBeUI5M1BBO0FBQ0E7QXpCZzRQQTtBQUNBO0F5QjUzUEE7QUFDQTtBekI4M1BBO0FBQ0E7QXlCMzNQQTtBQUVBO0FoQlpBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QVQ2M1BBO0FBQ0E7QXlCNTNQQTtBaEJsQkE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBVHE0UEE7QUFDQTtBeUIvM1BBO0FoQnZCQTtBQUNBO0FBU0E7QUFDQTtBQU9BO0FnQlFBO0F6Qm80UEE7QUFDQTtBeUJqNFBBO0FBQ0E7QXpCbTRQQTtBQUNBO0F5QjkzUEE7QUFDQTtBQUNBO0F6Qmc0UEE7QUFDQTtBeUIvM1BBO0FBQ0E7QXpCaTRQQTtBQUNBO0EwQnZsUUE7QUFDQTtBQUFBO0ExQjBsUUE7QUFDQTtBMEJ4bFFBO0FBQ0E7QUFDQTtBQUNBO0ExQjBsUUE7QUFDQTtBMEJ6bFFBO0FBQ0E7QUFDQTtBQUNBO0ExQjJsUUE7QUFDQTtBMEJ6bFFBO0FBQ0E7QUFDQTtBQUNBO0ExQjJsUUE7QUFDQTtBMEJ6bFFBO0FqQnNKQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FpQm5LQTtBMUI4bFFBO0FBQ0E7QTBCNWxRQTtBQUNBO0ExQjhsUUE7QUFDQTtBMEI1bFFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWpCcUlBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QWlCakpBO0FBQ0E7QTFCZ21RQTtBQUNBO0EwQi9sUUE7QUFBQTtBMUJrbVFBO0FBQ0E7QTBCbm1RQTtBQUFBO0ExQmttUUE7QUFDQTtBMEJqbVFBO0FBQ0E7QTFCbW1RQTtBQUNBO0EwQmptUUE7QUFDQTtBMUJtbVFBO0FBQ0E7QTBCaG1RQTtBQUNBO0FBQUE7QUFBQTtBMUJrbVFBO0FBQ0E7QTBCam1RQTtBQUVBO0FBQUE7QUFDQTtBMUJrbVFBO0FBQ0E7QTBCN2xRQTtBQUNBO0ExQitsUUE7QUFDQTtBMEI3bFFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBMUIrbFFBO0FBQ0E7QTBCOWxRQTtBQUNBO0ExQmdtUUE7QUFDQTtBMEI5bFFBO0FBRUE7QUFDQTtBMUIrbFFBO0FBQ0E7QTBCNWxRQTtBakIyRUE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBQU1BO0FpQjlGQTtBMUJrbVFBO0FBQ0E7QTBCaG1RQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBMUJrbVFBO0FBQ0E7QTBCaG1RQTtBQUNBO0FqQjJEQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FpQnhFQTtBQUNBO0ExQnFtUUE7QUFDQTtBMEJsbVFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTFCb21RQTtBQUNBO0EwQmxtUUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBMUJvbVFBO0FBQ0E7QTBCbm1RQTtBQUNBO0FBQ0E7QTFCcW1RQTtBQUNBO0EwQnBtUUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTFCc21RQTtBQUNBO0EwQmxtUUE7QUFDQTtBQUNBO0FqQldBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QWlCdkJBO0ExQnNtUUE7QUFDQTtBMEJybVFBO0FBQ0E7QUFDQTtBQUNBO0ExQnVtUUE7QUFDQTtBMEJqbVFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTFCbW1RQTtBQUNBO0EwQmptUUE7QUFDQTtBakJiQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FpQkNBO0ExQnFtUUE7QUFDQTtBMEJwbVFBO0FBQUE7QTFCdW1RQTtBQUNBO0EwQmxtUUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0ExQm9tUUE7QUFDQTtBUzlpUUE7QWlCL1BBO0FBNk1BO0ExQm9tUUE7QUFDQTtBMEJubVFBO0FBQ0E7QUFDQTtBMUJxbVFBO0FBQ0E7QTBCbm1RQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTFCcW1RQTtBQUNBO0EwQm5tUUE7QUFDQTtBMUJxbVFBO0FBQ0E7QTBCbm1RQTtBQUNBO0ExQnFtUUE7QUFDQTtBMkJwMFFBO0FBQ0E7QTNCczBRQTtBQUNBO0EyQmwwUUE7QUFDQTtBM0JvMFFBO0FBQ0E7QVNobFFBO0FrQjlPQTtBQUNBO0EzQmkwUUE7QUFDQTtBSXYxUUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTUE7QUFFQTtBQUNBO0FKbTFRQTtBQUNBO0FJajFRQTs7O0FBR0E7QUFDQTtBQUNBO0FBSUE7QUpnMVFBO0FBQ0E7QUl4MFFBO0FBQ0E7QUowMFFBO0FBQ0E7QUl6MFFBO0FBSEE7QUFJQTtBSjQwUUE7QUFDQTtBSXgwUUE7O0FBRUE7QUowMFFBO0FBQ0E7QUl2MFFBO0FBQ0E7QUp5MFFBO0FBQ0E7QUl2MFFBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSnkwUUE7QUFDQTtBSXYwUUE7QUFDQTtBSnkwUUE7QUFDQTtBSXYwUUE7QUFDQTtBSnkwUUE7QUFDQTtBSXYwUUE7QUFDQTtBQUNBO0FKeTBRQTtBQUNBO0FJdjBRQTtBQUNBO0FKeTBRQTtBQUNBO0FJdjBRQTtBQUNBO0FBQ0E7QUFDQTtBSnkwUUE7QUFDQTtBSXYwUUE7Ozs7QUFJQTtBSnkwUUE7QUFDQTtBS2w2UUE7QUFEQTtBQUVBO0FMcTZRQTtBQUNBO0FLaDZRQTtBQURBO0FBRUE7QUxtNlFBO0FBQ0E7QUs5NVFBO0FBREE7QUFFQTtBTGk2UUE7QUFDQTtBSzU1UUE7QUFEQTtBQUVBO0FMKzVRQTtBQUNBO0FLcjVRQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBTHE1UUE7QUFDQTtBS3A1UUE7QUFDQTtBQUNBO0FMczVRQTtBQUNBO0FNcjNRQTtBQUNBO0FBQ0E7QUFDQTtBTnUzUUE7QU1yM1FBO0FBQ0E7QUFDQTtBTnUzUUE7QU1yM1FBO0FBQ0E7QUFDQTtBTnUzUUE7QU1yM1FBO0FBQ0E7QUFDQTtBTnUzUUE7QUFDQTtBTW4zUUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QU5tM1FBO0FBQ0E7QU0vMlFBO0FBQUE7QU5rM1FBO0FBQ0E7QU0vMlFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQTVGQTtBQWdHQTtBQUNBO0FBQ0E7QUFDQTtBTisyUUE7QUFDQTtBTTUyUUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUF0SEE7QUEwSEE7QU40MlFBO0FBQ0E7QU0xMlFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFwSEE7QUF3SEE7QUFDQTtBTjAyUUE7QUFDQTtBTXQyUUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBTncyUUE7QUFDQTtBTXYyUUE7QUFFQTtBQUNBO0FOdzJRQTtBQUNBO0FNbjJRQTtBQUNBO0FBQ0E7QU5xMlFBO0FBQ0E7QU1sMlFBO0FBQ0E7QU5vMlFBO0FBQ0E7QU1sMlFBO0FBQ0E7QU5vMlFBO0FBQ0E7QU1qMlFBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBTmkyUUE7QUFDQTtBTTcxUUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FOKzFRQTtBQUNBO0FNNTFRQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QU44MVFBO0FBQ0E7QU03MVFBO0FBRUE7QUFDQTtBTjgxUUE7QUFDQTtBTXgxUUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FOMDFRQTtBQUNBO0FNejFRQTtBQUNBO0FBQ0E7QU4yMVFBO0FBQ0E7QU16MVFBO0FBQ0E7QUFDQTtBTjIxUUE7QUFDQTtBTXoxUUE7QUFFQTtBQUNBO0FBQ0E7QU4wMVFBO0FBQ0E7QU1yMVFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBTnUxUUE7QUFDQTtBTXQxUUE7QUFDQTtBQUNBO0FOdzFRQTtBQUNBO0FNdDFRQTtBQUVBO0FBQ0E7QUFDQTtBTnUxUUE7QUFDQTtBTW4xUUE7QUFDQTtBQUVBO0FObzFRQTtBQUNBO0FNbDFRQTtBQUFBO0FOcTFRQTtBQUNBO0FNcDFRQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBTnMxUUE7QUFDQTtBTXIxUUE7QUFBQTtBTncxUUE7QUFDQTtBTXIxUUE7QUFFQTtBTnMxUUE7QUFDQTtBTXIxUUE7QUFBQTtBTncxUUE7QUFDQTtBTXQxUUE7QUFFQTtBQUVBO0FOczFRQTtBQUNBO0FNOTBRQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QU5nMVFBO0FBQ0E7QU05MFFBO0FBQUE7QU5pMVFBO0FBQ0E7QU1oMVFBO0FBQ0E7QUFDQTtBQUNBO0FOazFRQTtBQUNBO0FNajFRQTtBQUFBO0FObzFRQTtBQUNBO0FNbDFRQTs7QUFFQTtBTm8xUUE7QUFDQTtBTWgxUUE7QUFFQTtBTmkxUUE7QUFDQTtBTS8wUUE7QUFFQTtBQUNBO0FBQ0E7QU5nMVFBO0FBQ0E7QU16MFFBO0FBQ0E7QU4yMFFBO0FBQ0E7QU1yMFFBO0FBQ0E7QU51MFFBO0FBQ0E7QU10MFFBO0FBQ0E7QU53MFFBO0FBQ0E7QU1yMFFBO0FBQ0E7QU51MFFBO0FBQ0E7QU1oMFFBO0FBQ0E7QUFDQTtBQUNBO0FOazBRQTtBQUNBO0FNajBRQTtBQUNBO0FObTBRQTtBQUNBO0FNajBRQTtBQUVBO0FBQ0E7QU5rMFFBO0FBQ0E7QU0velFBO0FBQ0E7QU5pMFFBO0FBQ0E7QU1oMFFBO0FBQ0E7QU5rMFFBO0FBQ0E7QTRCNXZSQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0E1Qjh2UkE7QUFDQTtBNEI3dlJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBNUIrdlJBO0FBQ0E7QTRCN3ZSQTtBbkIySkE7QUFDQTtBQVNBO0FBQ0E7QUFPQTtBbUIzS0E7QUFDQTtBNUJtd1JBO0FBQ0E7QTRCOXZSQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0E1Qmd3UkE7QUFDQTtBNEI3dlJBO0FBQ0E7QTVCK3ZSQTtBQUNBO0E0QjF2UkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0E1QjR2UkE7QUFDQTtBNEIzdlJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBNUIydlJBO0FBQ0E7QTRCeHZSQTtBQUNBO0E1QjB2UkE7QUFDQTtBU3hqUkE7QW1CcFFBO0FBc0VBO0FBTUE7QTVCcXZSQTtBQUNBO0E0QnB2UkE7QW5CNkxBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBbUIvTEE7QTVCMHZSQTtBQUNBO0E0Qnh2UkE7QUFDQTtBNUIwdlJBO0FBQ0E7QTRCeHZSQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTVCMHZSQTtBQUNBO0E0Qnh2UkE7QUFoR0E7QUFpR0E7QTVCMnZSQTtBQUNBO0E2QjMxUkE7QUFDQTtBQUNBO0FBQ0E7QTdCNjFSQTtBQUNBO0E2QnYxUkE7QXBCK1BBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBb0JqUUE7QUFDQTtBQUNBO0FBQ0E7QUFNQTtBQUNBO0FBUUE7QTdCaTFSQTtBQUNBO0E2Qi8wUkE7QUFDQTtBN0JpMVJBO0FBQ0E7QTZCNTBSQTtBQUNBO0FBQ0E7QTdCODBSQTtBQUNBO0E2QnowUkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFPQTtBQUNBO0FBQ0E7QUFRQTtBN0I4elJBO0FBQ0E7QTZCM3pSQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0E3QjZ6UkE7QUFDQTtBNkIzelJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTdCNnpSQTtBQUNBO0E2QjV6UkE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBN0I4elJBO0FBQ0E7QTZCM3pSQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTdCeXpSQTtBQUNBO0E2QnZ6UkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTdCeXpSQTtBQUNBO0E2QnZ6UkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTdCeXpSQTtBQUNBO0E2QnJ6UkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTdCdXpSQTtBQUNBO0E2QnJ6UkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUdBO0E3Qm16UkE7QUFDQTtBNkJoelJBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBN0JrelJBO0FBQ0E7QTZCL3lSQTtBQUNBO0FBQ0E7QUFDQTtBN0JpelJBO0FBQ0E7QTZCN3lSQTtBcEJqQkE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBb0JJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0E3Qmt6UkE7QUFDQTtBNkJoelJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBN0JrelJBO0FBQ0E7QTZCaHpSQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBN0JrelJBO0FBQ0E7QTZCL3lSQTtBQUNBO0FBQ0E7QUFTQTtBQVlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTdCOHhSQTtBQUNBO0E2QnZ4UkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0E3Qnl4UkE7QUFDQTtBNkIvd1JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFPQTtBQUNBO0FBQ0E7QTdCMndSQTtBQUNBO0E2Qmh3UkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0E3Qmt3UkE7QUFDQTtBNkI5dlJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTdCZ3dSQTtBQUNBO0E2Qnh2UkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0E3Qnl2UkE7QUFDQTtBNkJ2dlJBO0FBQ0E7QUFDQTtBN0J5dlJBO0FBQ0E7QTZCL3VSQTtBQUNBO0FBQ0E7QUFDQTtBN0JpdlJBO0FBQ0E7QTZCenVSQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTdCMnVSQTtBQUNBO0E2Qnp1UkE7QUFDQTtBN0IydVJBO0FBQ0E7QTZCaHRSQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBN0JrdFJBO0FBQ0E7QTZCanRSQTtBQUVBO0E3Qmt0UkE7QUFDQTtBNkJodFJBO0FBQ0E7QUFDQTtBN0JrdFJBO0FBQ0E7QTZCL3NSQTtBQUNBO0FBQ0E7QUFDQTtBN0JpdFJBO0FBQ0E7QTZCL3NSQTtBQUNBO0FBQ0E7QUFDQTtBN0JpdFJBO0FBQ0E7QTZCaHRSQTtBQUNBO0E3Qmt0UkE7QUFDQTtBNkI5c1JBO0FBQ0E7QTdCZ3RSQTtBQUNBO0E2QjlzUkE7QUFDQTtBN0JndFJBO0FBQ0E7QTZCMXNSQTtBQUNBO0E3QjRzUkE7QUFDQTtBNkJ6c1JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0E3QjJzUkE7QUFDQTtBNkJyc1JBO0FBQ0E7QUFDQTtBN0J1c1JBO0FBQ0E7QTZCcnNSQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFRQTtBQUNBO0E3QmdzUkE7QUFDQTtBNkI5clJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBN0Jnc1JBO0FBQ0E7QTZCOXJSQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0E3QmdzUkE7QUFDQTtBNkJ0clJBO0FBTUE7QUFDQTtBN0JtclJBO0FBQ0E7QTZCanJSQTtBQUNBO0E3Qm1yUkE7QUFDQTtBNkJoclJBO0FBQ0E7QUFDQTtBQUNBO0E3QmtyUkE7QUFDQTtBNkI5cVJBO0FBQ0E7QTdCZ3JSQTtBQUNBO0E2QjlxUkE7QUFDQTtBN0JnclJBO0FBQ0E7QTZCM3FSQTtBQUNBO0FBTUE7QUFDQTtBN0J3cVJBO0FBQ0E7QTZCcnFSQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTdCdXFSQTtBQUNBO0E2QnBxUkE7QUFDQTtBQUNBO0FBQ0E7QTdCc3FSQTtBQUNBO0FTNytSQTtBb0JsUUE7QUE4a0JBO0E3QnFxUkE7QUFDQTtBNkJwcVJBO0FBQ0E7QTdCc3FSQTtBQUNBO0E2QmpxUkE7QUFDQTtBN0JtcVJBO0FBQ0E7QTZCOXBSQTtBQUNBO0E3QmdxUkE7QUFDQTtBNkJ4cFJBO0FBQ0E7QTdCMHBSQTtBQUNBO0E2Qm5wUkE7QUFDQTtBQUNBO0E3QnFwUkE7QUFDQTtBNkJucFJBO0FBQ0E7QUFDQTtBN0JxcFJBO0FBQ0E7QTZCbnBSQTtBQUNBO0E3QnFwUkE7QUFDQTtBU2hoU0E7QW9COFhBO0FBQ0E7QUFVQTtBN0I0b1JBO0FBQ0E7QVN0aFNBO0FvQm1aQTtBQUNBO0FBQ0E7QUFDQTtBN0Jzb1JBO0FBQ0E7QVM3aFNBO0FvQnlaQTtBQUNBO0FBQ0E7QTdCdW9SQTtBQUNBO0FTbmlTQTtBb0I4WkE7QUFDQTtBQUlBO0E3QnFvUkE7QUFDQTtBU3ppU0E7QW9CMGFBO0FBQ0E7QUFDQTtBN0Jrb1JBO0FBQ0E7QVMvaVNBO0FvQithQTtBQUVBO0FBQ0E7QUFTQTtBQUNBO0FBT0E7QTdCb25SQTtBQUNBO0FTeGpTQTtBb0I4Y0E7QUFDQTtBN0I2bVJBO0FBQ0E7QVM3alNBO0FvQmtkQTtBQUNBO0E3QjhtUkE7QUFDQTtBU2xrU0E7QW9Cc2RBO0FBQ0E7QUFDQTtBQUNBO0E3QittUkE7QUFDQTtBU3prU0E7QW9CNGRBO0FwQnBqQkE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBb0JzaUJBO0FBQ0E7QTdCb25SQTtBQUNBO0FTcGxTQTtBb0JvZUE7QXBCNWpCQTtBQUNBO0FBU0E7QUFDQTtBQU9BO0FvQjRpQkE7QTdCdW5SQTtBQUNBO0FTOWxTQTtBb0J1ZkE7QUFDQTtBQUNBO0FBQ0E7QTdCMG1SQTtBQUNBO0FTcm1TQTtBb0I2ZkE7QUFDQTtBQUNBO0E3QjJtUkE7QUFDQTtBUzNtU0E7QW9CMmdCQTtBQUNBO0E3Qm1tUkE7QUFDQTtBU2huU0E7QW9CdWhCQTtBQUNBO0FBQ0E7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0E3QnVsUkE7QUFDQTtBUzluU0E7QW9CNGlCQTtBQUNBO0E3QnFsUkE7QUFDQTtBU25vU0E7QW9CZ2pCQTtBQUNBO0E3QnNsUkE7QUFDQTtBU3hvU0E7QW9Cb2pCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0E3QnVsUkE7QUFDQTtBU2hwU0E7QW9CMmpCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0E3QndsUkE7QUFDQTtBOEI3NVNBO0FBQ0E7QUFDQTtBOUIrNVNBO0FBQ0E7QThCOTVTQTtBckJ3UUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FxQjFRQTtBQUNBO0FBQ0E7QTlCbzZTQTtBQUNBO0E4Qmw2U0E7QUFDQTtBOUJvNlNBO0FBQ0E7QThCajZTQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0E5Qm02U0E7QUFDQTtBOEJqNlNBO0FBQ0E7QTlCbTZTQTtBQUNBO0E4Qmo2U0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBOUJtNlNBO0FBQ0E7QThCajZTQTtBckJtT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FxQnBPQTtBOUJzNlNBO0FBQ0E7QThCMzVTQTtBQUNBO0FBQ0E7QUFDQTtBOUI2NVNBO0FBQ0E7QThCMzVTQTtBQUNBO0E5QjY1U0E7QUFDQTtBOEIzNVNBO0FBQ0E7QUFDQTtBOUI2NVNBO0FBQ0E7QThCMzVTQTtBQUNBO0FBQ0E7QXJCbUdBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QXFCL0dBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBOUI2NVNBO0FBQ0E7QThCMzVTQTtBQUNBO0FBQ0E7QTlCNjVTQTtBQUNBO0E4Qm41U0E7QUFyR0E7QUF1R0E7QTlCcTVTQTtBQUNBO0E4QnA1U0E7QUFDQTtBOUJzNVNBO0FBQ0E7QThCbDVTQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QTlCbzVTQTtBQUNBO0E4Qmo1U0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBOUJtNVNBO0FBQ0E7QThCLzRTQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBUUE7QUFDQTtBQUNBO0E5QjA0U0E7QUFDQTtBOEJ4NFNBO0FBQ0E7QTlCMDRTQTtBQUNBO0E4QnY0U0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBOUJ5NFNBO0FBQ0E7QThCdDRTQTtBQUNBO0FBQ0E7QUFDQTtBOUJ3NFNBO0FBQ0E7QThCcDRTQTtBQUVBO0FBQ0E7QTlCcTRTQTtBQUNBO0E4Qmw0U0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTUE7QUFHQTtBOUI2M1NBO0FBQ0E7QThCMzNTQTtBQUNBO0FBQ0E7QUFDQTtBOUI2M1NBO0FBQ0E7QThCdjNTQTtBQUlBO0FBQ0E7QTlCczNTQTtBQUNBO0E4QnAzU0E7QUFDQTtBOUJzM1NBO0FBQ0E7QThCcDNTQTtBQUNBO0FBQ0E7QUFDQTtBOUJzM1NBO0FBQ0E7QThCbDNTQTtBQUNBO0E5Qm8zU0E7QUFDQTtBOEJsM1NBO0FBQ0E7QUFDQTtBOUJvM1NBO0FBQ0E7QThCbDNTQTtBQUNBO0FBQ0E7QUFDQTtBOUJvM1NBO0FBQ0E7QThCcGdUQTtBQW9KQTtBQUNBO0E5Qm0zU0E7QUFDQTtBOEJ6Z1RBO0FBd0pBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTlCazNTQTtBQUNBO0FTcDNTQTtBcUJyUUE7QUE2UUE7QTlCZzNTQTtBQUNBO0E4Qi8yU0E7QXJCbEdBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QXFCb0ZBO0FBQ0E7QUFDQTtBOUJxM1NBO0FBQ0E7QThCbjNTQTtBQUNBO0FBQ0E7QUFDQTtBOUJxM1NBO0FBQ0E7QThCcDNTQTtBQUNBO0E5QnMzU0E7QUFDQTtBOEJuM1NBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBOUJxM1NBO0FBQ0E7QThCbjNTQTtBckI5SEE7QUFDQTtBQVNBO0FBQ0E7QUFPQTtBcUIrR0E7QUFDQTtBOUJ3M1NBO0FBQ0E7QThCcjNTQTtBQUNBO0E5QnUzU0E7QUFDQTtBOEJyM1NBO0FBQ0E7QUFDQTtBckI1SUE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBcUJnSUE7QUFDQTtBQUNBO0E5QnkzU0E7QUFDQTtBK0J0clRBO0FBQ0E7QS9Cd3JUQTtBQUNBO0ErQnRyVEE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0EvQnNyVEE7QUFDQTtBK0JwclRBO0FBQ0E7QUFDQTtBQUNBO0EvQnNyVEE7QUFDQTtBK0JwclRBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QS9Cc3JUQTtBQUNBO0FTNzhTQTtBc0I5UEE7QUF5QkE7QS9Cc3JUQTtBQUNBO0FnQ3R0VEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBaEN3dFRBO0FBQ0E7QWdDdnRUQTtBQUNBO0FBQ0E7QUFDQTtBaEN5dFRBO0FBQ0E7QWdDdnRUQTtBdkIrUEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F1QmpRQTtBQUNBO0FBQ0E7QWhDNnRUQTtBQUNBO0FnQzN0VEE7QUFDQTtBaEM2dFRBO0FBQ0E7QWdDM3RUQTtBQUNBO0FBQ0E7QUFDQTtBaEM2dFRBO0FBQ0E7QWdDM3RUQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F2QmdQQTtBVDgrU0E7QUFDQTtBUy85U0E7QXVCdlFBO0F2QndRQTtBQUNBO0FBQ0E7QVRrK1NBO0FBQ0E7QVNqK1NBO0FBQ0E7QUFDQTtBQUNBO0FUbStTQTtBQUNBO0FnQ3R1VEE7QXZCaUlBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QXVCL0lBO0FBQ0E7QWhDNHVUQTtBQUNBO0FnQzF1VEE7QXZCME5BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBdUI3TkE7QUFDQTtBaENpdlRBO0FBQ0E7QWdDL3VUQTtBdkJxSEE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBdUJuSUE7QUFDQTtBaENxdlRBO0FBQ0E7QWdDanZUQTtBdkI2R0E7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBdUIzSEE7QWhDdXZUQTtBQUNBO0FnQ2x2VEE7QUFDQTtBQUNBO0FoQ292VEE7QUFDQTtBZ0NqdlRBO0FBQ0E7QUFBQTtBaENvdlRBO0FBQ0E7QWdDcHZUQTtBQUFBO0FoQ3V2VEE7QUFDQTtBU25rVEE7QXVCcFFBO0FBb0ZBO0FoQ3V2VEE7QUFDQTtBZ0N0dlRBO0FBQ0E7QWhDd3ZUQTtBQUNBO0FnQ3R2VEE7QXZCa0ZBO0FBQ0E7QUFTQTtBQUNBO0FBT0E7QXVCbEdBO0FBQ0E7QUFDQTtBaEM0dlRBO0FBQ0E7QWdDM3ZUQTtBQUFBO0FoQzh2VEE7QUFDQTtBZ0M1dlRBO0FBQ0E7QUFDQTtBaEM4dlRBO0FBQ0E7QWdDNXZUQTtBQUNBO0FBQ0E7QUFHQTtBaEM0dlRBO0FBQ0E7QWdDMXZUQTtBQUVBO0FoQzJ2VEE7QUFDQTtBaUM1MlRBO0FBQ0E7QUFDQTtBakM4MlRBO0FBQ0E7QWlDNzJUQTtBQUNBO0FBQ0E7QUFDQTtBakMrMlRBO0FBQ0E7QWlDNzJUQTtBeEJnS0E7QUFDQTtBQVNBO0FBQ0E7QUFPQTtBd0JoTEE7QUFDQTtBQUNBO0FqQ20zVEE7QUFDQTtBaUNqM1RBO0FBQ0E7QWpDbTNUQTtBQUNBO0FpQ2gzVEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBakNrM1RBO0FBQ0E7QWlDaDNUQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FqQ2szVEE7QUFDQTtBaUNoM1RBO0F4QnNJQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0F3Qm5KQTtBakNxM1RBO0FBQ0E7QWlDbjNUQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBeEJ5SEE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBd0JySUE7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBakNxM1RBO0FBQ0E7QWlDbjNUQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBakNxM1RBO0FBQ0E7QWlDbDNUQTtBQUNBO0FBQ0E7QWpDbzNUQTtBQUNBO0FpQ2wzVEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBeEJzRkE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBd0JsR0E7QWpDczNUQTtBQUNBO0FpQ3IzVEE7QUFBQTtBakN3M1RBO0FBQ0E7QWlDejNUQTtBQUFBO0FqQ3czVEE7QUFDQTtBaUNuM1RBO0FBQ0E7QUFDQTtBQUNBO0FqQ3EzVEE7QUFDQTtBaUNqM1RBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FqQ20zVEE7QUFDQTtBaUNoM1RBO0FBQUE7QWpDbTNUQTtBQUNBO0FpQ2wzVEE7QUFDQTtBakNvM1RBO0FBQ0E7QWlDajNUQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXhCNENBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QXdCekRBO0FqQ3MzVEE7QUFDQTtBaUNwM1RBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBakNzM1RBO0FBQ0E7QWlDcDNUQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FqQ3EzVEE7QUFDQTtBUzd1VEE7QXdCcEpBO0F4QnFKQTtBQUNBO0FBQ0E7QVRndlRBO0FBQ0E7QVMvdVRBO0FBQ0E7QUFDQTtBQUNBO0FUaXZUQTtBQUNBO0FpQ3gyVEE7QUFFQTtBQUdBO0FqQ3UyVEE7QUFDQTtBaUNuMlRBO0FBRUE7QUFDQTtBakNvMlRBO0FBQ0E7QWlDLzFUQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FqQ2kyVEE7QUFDQTtBaUM5MVRBO0FBQ0E7QUFFQTtBakMrMVRBO0FBQ0E7QWlDMzFUQTtBQUVBO0FBQ0E7QWpDNDFUQTtBQUNBO0FpQ3QxVEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBakN3MVRBO0FBQ0E7QWlDbjFUQTtBQUVBO0FqQ28xVEE7QUFDQTtBaUNqMVRBO0FBQUE7QWpDbzFUQTtBQUNBO0FpQ24xVEE7QUFDQTtBQUNBO0FqQ3ExVEE7QUFDQTtBaUNuMVRBO0F4QnBGQTtBQUNBO0FBU0E7QUFDQTtBQU9BO0F3Qm9FQTtBakN5MVRBO0FBQ0E7QWlDdjFUQTtBeEJ6RkE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBd0IyRUE7QUFDQTtBakM2MVRBO0FBQ0E7QWlDejFUQTtBQUNBO0FBQ0E7QUFDQTtBakMyMVRBO0FBQ0E7QWlDejFUQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBakMyMVRBO0FBQ0E7QWlDcDFUQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F4QmxJQTtBQUNBO0FBU0E7QUFDQTtBQU9BO0FBSUE7QXdCK0dBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FqQzAxVEE7QUFDQTtBaUN0MVRBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBakN3MVRBO0FBQ0E7QWlDdjFUQTtBQUNBO0FqQ3kxVEE7QUFDQTtBaUN0MVRBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVFBO0FqQ2cxVEE7QUFDQTtBaUM5MFRBO0FBQ0E7QUFDQTtBakNnMVRBO0FBQ0E7QWlDOTBUQTtBQUNBO0FBQ0E7QUFDQTtBakNnMVRBO0FBQ0E7QWlDMTBUQTtBQUVBO0FqQzIwVEE7QUFDQTtBaUMxMFRBO0FBRUE7QUFDQTtBakMyMFRBO0FBQ0E7QWlDdDBUQTtBQUNBO0F4QmhOQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0F3Qm9NQTtBakMwMFRBO0FBQ0E7QWlDdjBUQTtBQUNBO0FBQ0E7QUFDQTtBeEIzTkE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBd0IrTUE7QWpDMjBUQTtBQUNBO0FpQzEwVEE7QUFDQTtBQUNBO0FBQ0E7QWpDNDBUQTtBQUNBO0FTejlUQTtBd0JsUUE7QUFvWkE7QWpDMjBUQTtBQUNBO0FpQzEwVEE7QUFDQTtBakM0MFRBO0FBQ0E7QWlDMTBUQTtBeEJoUEE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBd0JrT0E7QUFDQTtBakNnMVRBO0FBQ0E7QWlDOTBUQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FqQ2cxVEE7QUFDQTtBaUM5MFRBO0FBQ0E7QUFDQTtBakNnMVRBO0FBQ0E7QWlDOTBUQTtBQUNBO0FBQ0E7QWpDZzFUQTtBQUNBO0FpQzkwVEE7QUFDQTtBQUNBO0FBQ0E7QWpDZzFUQTtBQUNBO0FpQzkwVEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FqQ2cxVEE7QUFDQTtBaUM5MFRBO0FBQ0E7QUFDQTtBQUNBO0FqQ2cxVEE7QUFDQTtBaUM5MFRBO0FBQ0E7QUFDQTtBakNnMVRBO0FBQ0E7QWlDNzBUQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FqQyswVEE7QUFDQTtBaUM3MFRBO0FBQ0E7QWpDKzBUQTtBQUNBO0FpQzcwVEE7QUFDQTtBQUNBO0F4QjlTQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FBTUE7QXdCMlJBO0FqQ20xVEE7QUFDQTtBaUNqMVRBO0FBQ0E7QUFDQTtBQUNBO0FqQ20xVEE7QUFDQTtBaUNqMVRBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FqQ20xVEE7QUFDQTtBaUNqMVRBO0FBQUE7QWpDbzFUQTtBQUNBO0FpQ24xVEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FqQ3ExVEE7QUFDQTtBaUNuMVRBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWpDcTFUQTtBQUNBO0FpQ24xVEE7QUFDQTtBakNxMVRBO0FBQ0E7QWlDOTBUQTtBQUNBO0FBQ0E7QUFDQTtBakNnMVRBO0FBQ0E7QWlDLzBUQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBakNpMVRBO0FBQ0E7QWlDaDFUQTtBQUFBO0FqQ20xVEE7QUFDQTtBaUNqMVRBO0FBQ0E7QWpDbTFUQTtBQUNBO0FpQ2oxVEE7QUFFQTtBakNrMVRBO0FBQ0E7QWlDLzBUQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FqQ2kxVEE7QUFDQTtBa0M5MlVBO0FBQ0E7QWxDZzNVQTtBQUNBO0FrQzkyVUE7QUFDQTtBQUNBO0FBQ0E7QWxDZzNVQTtBQUNBO0FJcDRVQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFNQTtBQUVBO0FBQ0E7QUpnNFVBO0FBQ0E7QUk5M1VBOzs7QUFHQTtBQUNBO0FBQ0E7QUFJQTtBSjYzVUE7QUFDQTtBSXIzVUE7QUFDQTtBSnUzVUE7QUFDQTtBSXQzVUE7QUFIQTtBQUlBO0FKeTNVQTtBQUNBO0FJcjNVQTs7QUFFQTtBSnUzVUE7QUFDQTtBSXAzVUE7QUFDQTtBSnMzVUE7QUFDQTtBSXAzVUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FKczNVQTtBQUNBO0FJcDNVQTtBQUNBO0FKczNVQTtBQUNBO0FJcDNVQTtBQUNBO0FKczNVQTtBQUNBO0FJcDNVQTtBQUNBO0FBQ0E7QUpzM1VBO0FBQ0E7QUlwM1VBO0FBQ0E7QUpzM1VBO0FBQ0E7QUlwM1VBO0FBQ0E7QUFDQTtBQUNBO0FKczNVQTtBQUNBO0FJcDNVQTs7OztBQUlBO0FKczNVQTtBQUNBO0FLLzhVQTtBQURBO0FBRUE7QUxrOVVBO0FBQ0E7QUs3OFVBO0FBREE7QUFFQTtBTGc5VUE7QUFDQTtBSzM4VUE7QUFEQTtBQUVBO0FMODhVQTtBQUNBO0FLejhVQTtBQURBO0FBRUE7QUw0OFVBO0FBQ0E7QUtsOFVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FMazhVQTtBQUNBO0FLajhVQTtBQUNBO0FBQ0E7QUxtOFVBO0FBQ0E7QU1sNlVBO0FBQ0E7QUFDQTtBQUNBO0FObzZVQTtBTWw2VUE7QUFDQTtBQUNBO0FObzZVQTtBTWw2VUE7QUFDQTtBQUNBO0FObzZVQTtBTWw2VUE7QUFDQTtBQUNBO0FObzZVQTtBQUNBO0FNaDZVQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBTmc2VUE7QUFDQTtBTTU1VUE7QUFBQTtBTis1VUE7QUFDQTtBTTU1VUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBNUZBO0FBZ0dBO0FBQ0E7QUFDQTtBQUNBO0FONDVVQTtBQUNBO0FNejVVQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXRIQTtBQTBIQTtBTnk1VUE7QUFDQTtBTXY1VUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXBIQTtBQXdIQTtBQUNBO0FOdTVVQTtBQUNBO0FNbjVVQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FOcTVVQTtBQUNBO0FNcDVVQTtBQUVBO0FBQ0E7QU5xNVVBO0FBQ0E7QU1oNVVBO0FBQ0E7QUFDQTtBTms1VUE7QUFDQTtBTS80VUE7QUFDQTtBTmk1VUE7QUFDQTtBTS80VUE7QUFDQTtBTmk1VUE7QUFDQTtBTTk0VUE7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FOODRVQTtBQUNBO0FNMTRVQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QU40NFVBO0FBQ0E7QU16NFVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBTjI0VUE7QUFDQTtBTTE0VUE7QUFFQTtBQUNBO0FOMjRVQTtBQUNBO0FNcjRVQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QU51NFVBO0FBQ0E7QU10NFVBO0FBQ0E7QUFDQTtBTnc0VUE7QUFDQTtBTXQ0VUE7QUFDQTtBQUNBO0FOdzRVQTtBQUNBO0FNdDRVQTtBQUVBO0FBQ0E7QUFDQTtBTnU0VUE7QUFDQTtBTWw0VUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FObzRVQTtBQUNBO0FNbjRVQTtBQUNBO0FBQ0E7QU5xNFVBO0FBQ0E7QU1uNFVBO0FBRUE7QUFDQTtBQUNBO0FObzRVQTtBQUNBO0FNaDRVQTtBQUNBO0FBRUE7QU5pNFVBO0FBQ0E7QU0vM1VBO0FBQUE7QU5rNFVBO0FBQ0E7QU1qNFVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FObTRVQTtBQUNBO0FNbDRVQTtBQUFBO0FOcTRVQTtBQUNBO0FNbDRVQTtBQUVBO0FObTRVQTtBQUNBO0FNbDRVQTtBQUFBO0FOcTRVQTtBQUNBO0FNbjRVQTtBQUVBO0FBRUE7QU5tNFVBO0FBQ0E7QU0zM1VBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBTjYzVUE7QUFDQTtBTTMzVUE7QUFBQTtBTjgzVUE7QUFDQTtBTTczVUE7QUFDQTtBQUNBO0FBQ0E7QU4rM1VBO0FBQ0E7QU05M1VBO0FBQUE7QU5pNFVBO0FBQ0E7QU0vM1VBOztBQUVBO0FOaTRVQTtBQUNBO0FNNzNVQTtBQUVBO0FOODNVQTtBQUNBO0FNNTNVQTtBQUVBO0FBQ0E7QUFDQTtBTjYzVUE7QUFDQTtBTXQzVUE7QUFDQTtBTnczVUE7QUFDQTtBTWwzVUE7QUFDQTtBTm8zVUE7QUFDQTtBTW4zVUE7QUFDQTtBTnEzVUE7QUFDQTtBTWwzVUE7QUFDQTtBTm8zVUE7QUFDQTtBTTcyVUE7QUFDQTtBQUNBO0FBQ0E7QU4rMlVBO0FBQ0E7QU05MlVBO0FBQ0E7QU5nM1VBO0FBQ0E7QU05MlVBO0FBRUE7QUFDQTtBTisyVUE7QUFDQTtBTTUyVUE7QUFDQTtBTjgyVUE7QUFDQTtBTTcyVUE7QUFDQTtBTisyVUE7QUFDQTtBbUN6eVZBO0FBQ0E7QUFDQTtBQUNBO0FuQzJ5VkE7QUFDQTtBbUN2eVZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBbkN5eVZBO0FBQ0E7QW1DdnlWQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FuQ3l5VkE7QUFDQTtBbUN2eVZBO0ExQmtKQTtBQUNBO0FBU0E7QUFDQTtBQU9BO0EwQmpLQTtBQUNBO0FuQzR5VkE7QUFDQTtBbUMxeVZBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QW5DNHlWQTtBQUNBO0FtQ3R5VkE7QUFGQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FuQ3l5VkE7QUFDQTtBbUN4eVZBO0FBQ0E7QUFDQTtBbkMweVZBO0FBQ0E7QW1DdHlWQTtBQUNBO0FBQ0E7QUFDQTtBbkN3eVZBO0FBQ0E7QW1DdHlWQTtBQUNBO0FBQ0E7QUFDQTtBbkN3eVZBO0FBQ0E7QW1DdHlWQTtBMUJ3R0E7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBMEJqSEE7QW5DdXlWQTtBQUNBO0FtQ3J5VkE7QTFCOEZBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QUFNQTtBMEJqSEE7QW5DMnlWQTtBQUNBO0FtQ3p5VkE7QUFDQTtBQUNBO0FBQ0E7QW5DMnlWQTtBQUNBO0FtQ3p5VkE7QTFCa0ZBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QTBCL0ZBO0FBQ0E7QUFDQTtBbkM4eVZBO0FBQ0E7QVMxb1ZBO0EwQnBRQTtBQTJHQTtBQUNBO0FuQ3V5VkE7QUFDQTtBbUN0eVZBO0FBOUdBO0FBK0dBO0FuQ3l5VkE7QUFDQTtBU3JwVkE7QTBCaEpBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QW5Dd3lWQTtBQUNBO0FTN3BWQTtBMEJ6SUE7QUFDQTtBQUNBO0FuQ3l5VkE7QUFDQTtBU25xVkE7QTBCcElBO0ExQjRDQTtBQUNBO0FBU0E7QUFDQTtBQU9BO0EwQnpEQTtBbkMyeVZBO0FBQ0E7QVM3cVZBO0EwQjVIQTtBMUJvQ0E7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBVDZ2VkE7QUFDQTtBU3RyVkE7QTBCeEhBO0ExQmdDQTtBQUNBO0FBU0E7QUFDQTtBQU9BO0FBSUE7QVRpd1ZBO0FBQ0E7QVNoc1ZBO0EwQnBIQTtBQUNBO0FuQ3V6VkE7QUFDQTtBb0MzOFZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXBDNjhWQTtBQUNBO0FvQzU4VkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXBDODhWQTtBQUNBO0FvQzU4VkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXBDODhWQTtBQUNBO0FvQzU4VkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FwQzg4VkE7QUFDQTtBb0MzOFZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXBDNjhWQTtBQUNBO0FvQzU4VkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXBDODhWQTtBQUNBO0FvQzc4VkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FwQys4VkE7QUFDQTtBb0M3OFZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QXBDKzhWQTtBQUNBO0FvQzc4VkE7QTNCK0ZBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QTJCNUdBO0FBQ0E7QXBDazlWQTtBQUNBO0FvQ2g5VkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBcENrOVZBO0FBQ0E7QW9DaDlWQTtBQUNBO0FBQ0E7QUFDQTtBcENrOVZBO0FBQ0E7QW9DaDlWQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBcEMrOFZBO0FBQ0E7QW9DNzhWQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBcEM2OFZBO0FBQ0E7QVMvelZBO0EyQnRRQTtBQTRIQTtBQUNBO0FwQzY4VkE7QUFDQTtBb0MzOFZBO0FBRUE7QXBDNDhWQTtBQUNBO0FvQzE4VkE7QUFDQTtBQUNBO0FBQ0E7QXBDNDhWQTtBQUNBO0FvQzM4VkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FwQzY4VkE7QUFDQTtBb0MxOFZBO0FBR0E7QUFDQTtBQUNBO0FwQzA4VkE7QUFDQTtBb0N4OFZBO0FBQ0E7QUFDQTtBQUNBO0FwQzA4VkE7QUFDQTtBb0N4OFZBO0FBQ0E7QUFDQTtBQUNBO0FwQzA4VkE7QUFDQTtBcUNwbVdBO0FBQ0E7QUFDQTtBckNzbVdBO0FBQ0E7QXFDbG1XQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBS0E7QXJDZ21XQTtBQUNBO0FxQzlsV0E7QTVCZ0pBO0FBQ0E7QUFTQTtBQUNBO0FBT0E7QTRCNUpBO0FBQ0E7QXJDZ21XQTtBQUNBO0FxQzlsV0E7QUFDQTtBckNnbVdBO0FBQ0E7QXFDN2xXQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBckMrbFdBO0FBQ0E7QXFDM2xXQTtBQUNBO0FyQzZsV0E7QUFDQTtBcUMxbFdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTVCNkdBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QTRCekhBO0FyQzhsV0E7QUFDQTtBcUN6bFdBO0FBQ0E7QXJDMmxXQTtBQUNBO0FxQ3psV0E7QUFDQTtBckMybFdBO0FBQ0E7QXFDemxXQTtBQUNBO0FBQ0E7QUFDQTtBckMybFdBO0FBQ0E7QXFDdmxXQTtBQXJGQTtBQUNBO0FBQ0E7QTVCc0tBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QTRCL0ZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FyQzhsV0E7QUFDQTtBcUM1bFdBO0FBQ0E7QUFDQTtBckM4bFdBO0FBQ0E7QXFDNWxXQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FyQzhsV0E7QUFDQTtBcUM1bFdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBckM4bFdBO0FBQ0E7QXFDN2xXQTtBQUNBO0FBQ0E7QXJDK2xXQTtBQUNBO0FxQzVsV0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FyQzhsV0E7QUFDQTtBcUM1bFdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTVCZ0JBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QUFNQTtBVDhqV0E7QUFDQTtBcUNobVdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FyQ2ttV0E7QUFDQTtBcUNobVdBO0FBQ0E7QUFDQTtBckNrbVdBO0FBQ0E7QXFDN2xXQTtBQUNBO0FyQytsV0E7QUFDQTtBcUM3bFdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTVCakJBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QTRCS0E7QXJDaW1XQTtBQUNBO0FxQ2htV0E7QUFDQTtBckNrbVdBO0FBQ0E7QXFDcG1XQTtBQUNBO0FyQ2ttV0E7QUFDQTtBcUM5bFdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXJDZ21XQTtBQUNBO0FxQzVsV0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBckM4bFdBO0FBQ0E7QXFDemxXQTtBQUNBO0FBQ0E7QUFDQTtBckMybFdBO0FBQ0E7QXFDMWxXQTtBQUNBO0FyQzRsV0E7QUFDQTtBcUN6bFdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBckMybFdBO0FBQ0E7QXFDemxXQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBckMybFdBO0FBQ0E7QXFDeGxXQTtBQUNBO0FyQzBsV0E7QUFDQTtBcUN4bFdBO0FBQ0E7QXJDMGxXQTtBQUNBO0FxQ3ZsV0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXJDeWxXQTtBQUNBO0FxQ3BsV0E7QTVCN0dBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QTRCZ0dBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXJDeWxXQTtBQUNBO0FxQ3ZsV0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBckN5bFdBO0FBQ0E7QXFDdmxXQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FyQ3lsV0E7QUFDQTtBcUN4bFdBO0FBQ0E7QUFDQTtBckMwbFdBO0FBQ0E7QXFDeGxXQTtBNUI1SUE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBQU1BO0E0QnlIQTtBQUNBO0FBQ0E7QXJDOGxXQTtBQUNBO0FxQzNsV0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBNUJ6SkE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBNEI0SUE7QUFFQTtBQUNBO0FyQytsV0E7QUFDQTtBcUM3bFdBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FyQzhsV0E7QUFDQTtBcUM3bFdBO0FBQ0E7QUFDQTtBckMrbFdBO0FBQ0E7QXFDOWxXQTtBQUNBO0FyQ2dtV0E7QUFDQTtBcUM3bFdBO0FBQ0E7QUFDQTtBckMrbFdBO0FBQ0E7QXFDNWxXQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXJDOGxXQTtBQUNBO0FxQzdsV0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FyQytsV0E7QUFDQTtBcUMzbFdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXJDNmxXQTtBQUNBO0FxQzNsV0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0E1QnRPQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FBTUE7QVRteldBO0FBQ0E7QXFDOWxXQTtBQUNBO0FBQ0E7QUFJQTtBckM2bFdBO0FBQ0E7QXFDM2xXQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXJDNmxXQTtBQUNBO0FxQzVsV0E7QUFDQTtBckM4bFdBO0FBQ0E7QXFDeGxXQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FyQzBsV0E7QUFDQTtBcUN4bFdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBckMwbFdBO0FBQ0E7QXFDeGxXQTtBQUlBO0FBQ0E7QUFDQTtBckN1bFdBO0FBQ0E7QXFDbmxXQTtBQUNBO0FBQ0E7QUFDQTtBckNxbFdBO0FBQ0E7QXFDbmxXQTtBQUNBO0FyQ3FsV0E7QUFDQTtBcUNubFdBO0FBQ0E7QXJDcWxXQTtBQUNBO0FxQ25sV0E7OztBQUVBO0FyQ3NsV0E7QUFDQTtBcUNwbFdBO0FBQ0E7QXJDc2xXQTtBQUNBO0FxQ3BsV0E7QUFDQTtBckNzbFdBO0FBQ0E7QXFDbGxXQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FyQ29sV0E7QUFDQTtBcUNsbFdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FyQ29sV0E7QUFDQTtBcUNsbFdBO0E1QnpWQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0E0QjRVQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FyQ3VsV0E7QUFDQTtBcUN0bFdBO0FBQ0E7QUFDQTtBckN3bFdBO0FBQ0E7QXFDcmxXQTtBQUNBO0FBQ0E7QUFDQTtBckN1bFdBO0FBQ0E7QXFDcmxXQTtBQXRoQkE7QUFDQTtBQUNBO0FBdWhCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBckN3bFdBO0FBQ0E7QXFDbGxXQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBNUJ2WUE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBQU1BO0E0QnFYQTtBQUNBO0FyQ3VsV0E7QUFDQTtBcUNubFdBO0FBQ0E7QUFDQTtBQUNBO0FyQ3FsV0E7QUFDQTtBcUNubFdBO0FBQ0E7QUFDQTtBckNxbFdBO0FBQ0E7QXFDL2tXQTtBQUNBO0FBQ0E7QUFDQTtBckNpbFdBO0FBQ0E7QXFDaGxXQTtBQUNBO0FBQ0E7QXJDa2xXQTtBQUNBO0FxQzlrV0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXJDZ2xXQTtBQUNBO0FxQzlrV0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBckNnbFdBO0FBQ0E7QXFDOWtXQTtBQUNBO0FyQ2dsV0E7QUFDQTtBcUM5a1dBO0FBQ0E7QUFDQTtBQUNBO0FyQ2dsV0E7QUFDQTtBcUM5a1dBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBckNnbFdBO0FBQ0E7QXFDL2tXQTtBQUNBO0FyQ2lsV0E7QUFDQTtBcUM5a1dBO0FBQ0E7QUFDQTtBckNnbFdBO0FBQ0E7QXFDMWtXQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FyQzBrV0E7QUFDQTtBcUN4a1dBO0FBQ0E7QUFDQTtBQUNBO0FyQzBrV0E7QUFDQTtBcUN4a1dBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QXJDcWtXQTtBQUNBO0FxQ3BrV0E7QUFDQTtBQUNBO0FyQ3NrV0E7QUFDQTtBcUNwa1dBO0FBQ0E7QUFDQTtBckNza1dBO0FBQ0E7QXFDbGtXQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FyQ29rV0E7QUFDQTtBcUM5aldBO0FBRUE7QXJDK2pXQTtBQUNBO0FxQzdqV0E7QUFFQTtBckM4aldBO0FBQ0E7QVM1Z1hBO0E0QjNQQTtBQTZzQkE7QXJDOGpXQTtBQUNBO0FxQzNqV0E7QUFDQTtBQUNBO0FyQzZqV0E7QUFDQTtBcUMzaldBO0FBQ0E7QUFDQTtBckM2aldBO0FBQ0E7QXFDcGpXQTtBQUNBO0FBQ0E7QXJDc2pXQTtBQUNBO0FxQ3BqV0E7QUFDQTtBQUNBO0FBQ0E7QXJDc2pXQTtBQUNBO0FxQ2xqV0E7QUFDQTtBQUNBO0FyQ29qV0E7QUFDQTtBcUMvaVdBO0FBQ0E7QXJDaWpXQTtBQUNBO0FxQy9pV0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FyQzhpV0E7QUFDQTtBcUM1aVdBO0FBQ0E7QXJDOGlXQTtBQUNBO0FxQzVpV0E7QUFDQTtBQUNBO0FyQzhpV0E7QUFDQTtBcUM1aVdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXJDOGlXQTtBQUNBO0FxQzNpV0E7QUFDQTtBckM2aVdBO0FBQ0E7QXFDMWlXQTtBQUNBO0FBQ0E7QUFDQTtBckM0aVdBO0FBQ0E7QXFDemlXQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FyQzJpV0E7QUFDQTtBcUN2aVdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBckN5aVdBO0FBQ0E7QXFDdGlXQTtBQUVBO0FBQ0E7QXJDdWlXQTtBQUNBO0FxQ25pV0E7QTVCMXBCQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FUb3JYQTtBQUNBO0FxQ3JpV0E7QUFDQTtBckN1aVdBO0FBQ0E7QXFDamlXQTtBQUNBO0FyQ21pV0E7QUFDQTtBcUNqaVdBO0FBRUE7QUFDQTtBQUNBO0FyQ2tpV0E7QUFDQTtBcUM5aFdBO0FBQ0E7QXJDZ2lXQTtBQUNBO0FxQzdoV0E7QUFDQTtBckMraFdBO0FBQ0E7QXFDemhXQTtBQUdBO0FBQ0E7QUFDQTtBckN5aFdBO0FBQ0E7QXNDNzNYQTtBQUNBO0F0QyszWEE7QXNDMTNYQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F0QzQzWEE7QUFDQTtBc0N6M1hBO0FBQ0E7QXRDMjNYQTtBQUNBO0FJejVYQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFNQTtBQUVBO0FBQ0E7QUpxNVhBO0FBQ0E7QUluNVhBOzs7QUFHQTtBQUNBO0FBQ0E7QUFJQTtBSms1WEE7QUFDQTtBSTE0WEE7QUFDQTtBSjQ0WEE7QUFDQTtBSTM0WEE7QUFIQTtBQUlBO0FKODRYQTtBQUNBO0FJMTRYQTs7QUFFQTtBSjQ0WEE7QUFDQTtBSXo0WEE7QUFDQTtBSjI0WEE7QUFDQTtBSXo0WEE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FKMjRYQTtBQUNBO0FJejRYQTtBQUNBO0FKMjRYQTtBQUNBO0FJejRYQTtBQUNBO0FKMjRYQTtBQUNBO0FJejRYQTtBQUNBO0FBQ0E7QUoyNFhBO0FBQ0E7QUl6NFhBO0FBQ0E7QUoyNFhBO0FBQ0E7QUl6NFhBO0FBQ0E7QUFDQTtBQUNBO0FKMjRYQTtBQUNBO0FJejRYQTs7OztBQUlBO0FKMjRYQTtBQUNBO0FLcCtYQTtBQURBO0FBRUE7QUx1K1hBO0FBQ0E7QUtsK1hBO0FBREE7QUFFQTtBTHErWEE7QUFDQTtBS2grWEE7QUFEQTtBQUVBO0FMbStYQTtBQUNBO0FLOTlYQTtBQURBO0FBRUE7QUxpK1hBO0FBQ0E7QUt2OVhBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FMdTlYQTtBQUNBO0FLdDlYQTtBQUNBO0FBQ0E7QUx3OVhBO0FBQ0E7QU12N1hBO0FBQ0E7QUFDQTtBQUNBO0FOeTdYQTtBTXY3WEE7QUFDQTtBQUNBO0FOeTdYQTtBTXY3WEE7QUFDQTtBQUNBO0FOeTdYQTtBTXY3WEE7QUFDQTtBQUNBO0FOeTdYQTtBQUNBO0FNcjdYQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBTnE3WEE7QUFDQTtBTWo3WEE7QUFBQTtBTm83WEE7QUFDQTtBTWo3WEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBNUZBO0FBZ0dBO0FBQ0E7QUFDQTtBQUNBO0FOaTdYQTtBQUNBO0FNOTZYQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXRIQTtBQTBIQTtBTjg2WEE7QUFDQTtBTTU2WEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXBIQTtBQXdIQTtBQUNBO0FONDZYQTtBQUNBO0FNeDZYQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FOMDZYQTtBQUNBO0FNejZYQTtBQUVBO0FBQ0E7QU4wNlhBO0FBQ0E7QU1yNlhBO0FBQ0E7QUFDQTtBTnU2WEE7QUFDQTtBTXA2WEE7QUFDQTtBTnM2WEE7QUFDQTtBTXA2WEE7QUFDQTtBTnM2WEE7QUFDQTtBTW42WEE7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FObTZYQTtBQUNBO0FNLzVYQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QU5pNlhBO0FBQ0E7QU05NVhBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBTmc2WEE7QUFDQTtBTS81WEE7QUFFQTtBQUNBO0FOZzZYQTtBQUNBO0FNMTVYQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QU40NVhBO0FBQ0E7QU0zNVhBO0FBQ0E7QUFDQTtBTjY1WEE7QUFDQTtBTTM1WEE7QUFDQTtBQUNBO0FONjVYQTtBQUNBO0FNMzVYQTtBQUVBO0FBQ0E7QUFDQTtBTjQ1WEE7QUFDQTtBTXY1WEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FOeTVYQTtBQUNBO0FNeDVYQTtBQUNBO0FBQ0E7QU4wNVhBO0FBQ0E7QU14NVhBO0FBRUE7QUFDQTtBQUNBO0FOeTVYQTtBQUNBO0FNcjVYQTtBQUNBO0FBRUE7QU5zNVhBO0FBQ0E7QU1wNVhBO0FBQUE7QU51NVhBO0FBQ0E7QU10NVhBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FOdzVYQTtBQUNBO0FNdjVYQTtBQUFBO0FOMDVYQTtBQUNBO0FNdjVYQTtBQUVBO0FOdzVYQTtBQUNBO0FNdjVYQTtBQUFBO0FOMDVYQTtBQUNBO0FNeDVYQTtBQUVBO0FBRUE7QU53NVhBO0FBQ0E7QU1oNVhBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBTms1WEE7QUFDQTtBTWg1WEE7QUFBQTtBTm01WEE7QUFDQTtBTWw1WEE7QUFDQTtBQUNBO0FBQ0E7QU5vNVhBO0FBQ0E7QU1uNVhBO0FBQUE7QU5zNVhBO0FBQ0E7QU1wNVhBOztBQUVBO0FOczVYQTtBQUNBO0FNbDVYQTtBQUVBO0FObTVYQTtBQUNBO0FNajVYQTtBQUVBO0FBQ0E7QUFDQTtBTms1WEE7QUFDQTtBTTM0WEE7QUFDQTtBTjY0WEE7QUFDQTtBTXY0WEE7QUFDQTtBTnk0WEE7QUFDQTtBTXg0WEE7QUFDQTtBTjA0WEE7QUFDQTtBTXY0WEE7QUFDQTtBTnk0WEE7QUFDQTtBTWw0WEE7QUFDQTtBQUNBO0FBQ0E7QU5vNFhBO0FBQ0E7QU1uNFhBO0FBQ0E7QU5xNFhBO0FBQ0E7QU1uNFhBO0FBRUE7QUFDQTtBTm80WEE7QUFDQTtBTWo0WEE7QUFDQTtBTm00WEE7QUFDQTtBTWw0WEE7QUFDQTtBTm80WEE7QUFDQTtBVzN6WUE7QUFDQTtBQUNBO0FBQ0E7QVg2ellBO0FBQ0E7QVc1ellBO0FBQ0E7QUFDQTtBQUNBO0FYOHpZQTtBQUNBO0FXNXpZQTtBQUNBO0FBQ0E7QVg4ellBO0FBQ0E7QVc1ellBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FGeVBBO0FUc2tZQTtBQUNBO0FXNXpZQTtBQUNBO0FYOHpZQTtBQUNBO0FXNXpZQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FYOHpZQTtBQUNBO0FXNXpZQTs7QUFFQTtBWDh6WUE7QUFDQTtBVzV6WUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QVg4ellBO0FBQ0E7QVc1ellBO0FBQ0E7QUFDQTtBWDh6WUE7QUFDQTtBVzd6WUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBWCt6WUE7QUFDQTtBVzd6WUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FYK3pZQTtBQUNBO0FXN3pZQTtBQUNBO0FGK0ZBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QUFNQTtBRWxIQTtBQUNBO0FBQ0E7QVhtMFlBO0FBQ0E7QVcvellBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QVhpMFlBO0FBQ0E7QVdoMFlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FYazBZQTtBQUNBO0FXaDBZQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FYazBZQTtBQUNBO0FXajBZQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FYbTBZQTtBQUNBO0FXaDBZQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FYK3pZQTtBQUNBO0FTdHNZQTtBRWpRQTtBQTZJQTtBWDh6WUE7QUFDQTtBVzd6WUE7QUFDQTtBWCt6WUE7QUFDQTtBVzd6WUE7QUFDQTtBQUNBO0FBQ0E7QVgrellBO0FBQ0E7QVc5ellBO0FBQ0E7QUFDQTtBWGcwWUE7QUFDQTtBVzl6WUE7QUFDQTtBWGcwWUE7QUFDQTtBVzl6WUE7QUFDQTtBWGcwWUE7QUFDQTtBVzd6WUE7QUFDQTtBQUNBO0FYK3pZQTtBQUNBO0FXOXpZQTs7QUFFQTtBQUNBO0FYZzBZQTtBQUNBO0FXOXpZQTtBQUNBO0FYZzBZQTtBQUNBO0FXOXpZQTtBQUNBO0FYZzBZQTtBQUNBO0FTcnZZQTtBRWpRQTtBQTRMQTtBWDh6WUE7QUFDQTtBVzd6WUE7QUFDQTtBWCt6WUE7QUFDQTtBVzd6WUE7QUFDQTtBQUNBO0FBQ0E7QVgrellBO0FBQ0E7QVc5ellBO0FBQ0E7QVhnMFlBO0FBQ0E7QVc5ellBO0FBQ0E7QUFDQTtBQUNBO0FYZzBZQTtBQUNBO0FXdHpZQTtBQUNBO0FBQ0E7QUFDQTtBWHd6WUE7QUFDQTtBV3Z6WUE7O0FBRUE7QUFDQTtBWHl6WUE7QUFDQTtBV3Z6WUE7QUFDQTtBWHl6WUE7QUFDQTtBV3Z6WUE7QUFDQTtBWHl6WUE7QUFDQTtBU2x5WUE7QUVqUUE7QUFnUEE7QUFDQTtBQUNBO0FYdXpZQTtBQUNBO0FXdHpZQTtBQUNBO0FBQ0E7QVh3ellBO0FBQ0E7QVd0ellBO0FBQ0E7QVh3ellBO0FBQ0E7QVd0ellBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBWHd6WUE7QUFDQTtBV3Z6WUE7QUFDQTtBQUNBO0FYeXpZQTtBQUNBO0FXdnpZQTtBRmhHQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FFbUZBO0FYNHpZQTtBQUNBO0FXMXpZQTtBRnRHQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FFeUZBO0FBQ0E7QVgrellBO0FBQ0E7QVc1ellBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBWDh6WUE7QUFDQTtBVzd6WUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FYOHpZQTtBQUNBO0FXNXpZQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBWDh6WUE7QUFDQTtBVzd6WUE7QUFDQTtBWCt6WUE7QUFDQTtBVzV6WUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FYOHpZQTtBQUNBO0FXNXpZQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QVg4ellBO0FBQ0E7QVczellBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBWDZ6WUE7QUFDQTtBVzV6WUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QVg4ellBO0FBQ0E7QVc1ellBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FYOHpZQTtBQUNBO0FXNXpZQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBWDh6WUE7QUFDQTtBVzN6WUE7QUFDQTtBQUNBO0FBQ0E7QVg2ellBO0FBQ0E7QXVDdnBaQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBdkN5cFpBO0FBQ0E7QXVDeHBaQTtBQUNBO0FBQ0E7QUFDQTtBdkMwcFpBO0FBQ0E7QXVDcnBaQTtBQUNBO0FBQ0E7QXZDdXBaQTtBQUNBO0F1Q2xwWkE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QXZDbXBaQTtBQUNBO0F1QzdvWkE7QUFDQTtBQUNBO0FBQ0E7QUFNQTtBdkMwb1pBO0FBQ0E7QXVDcm9aQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBdkN1b1pBO0FBQ0E7QXVDcG9aQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXZDc29aQTtBQUNBO0F1Q3BvWkE7QUFDQTtBQUNBO0F2Q3NvWkE7QUFDQTtBdUNwb1pBO0E5QmdFQTtBQUNBO0FBU0E7QUFDQTtBQU9BO0E4QmhGQTtBQUNBO0FBQ0E7QUFDQTtBdkMwb1pBO0FBQ0E7QXVDeG9aQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBdkMwb1pBO0FBQ0E7QXVDeG9aQTtBOUIrQ0E7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBOEI3REE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXZDNm9aQTtBQUNBO0F1QzFvWkE7QUFDQTtBQUdBO0F2QzBvWkE7QUFDQTtBdUN4b1pBO0FBQUE7QXZDMm9aQTtBQUNBO0F1QzNvWkE7QUFBQTtBdkM4b1pBO0FBQ0E7QVM3aFpBO0E4QjFPQTtBQTZIQTtBdkM4b1pBO0FBQ0E7QXVDN29aQTtBQUNBO0FBQ0E7QUFDQTtBdkMrb1pBO0FBQ0E7QXVDN29aQTtBQUNBO0F2QytvWkE7QUFDQTtBdUM3b1pBO0E5QlNBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QVQyblpBO0FBQ0E7QXVDanBaQTtBOUJLQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FUbW9aQTtBQUNBO0F1Q25wWkE7QUFDQTtBQUNBO0FBQ0E7QXZDcXBaQTtBdUNscFpBO0FBQ0E7QUFDQTtBdkNvcFpBO0FBQ0E7QXdDcjBaQTtBQUNBO0FBQ0E7QUFDQTtBeEN1MFpBO0FBQ0E7QXdDdDBaQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0F4Q3cwWkE7QUFDQTtBd0NsMFpBO0FBVkE7QUFXQTtBeENxMFpBO0FBQ0E7QXdDbDBaQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXhDbzBaQTtBQUNBO0F3Q2wwWkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0F4Q20wWkE7QUFDQTtBd0NqMFpBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBeENtMFpBO0FBQ0E7QXlDaDNaQTtBQUNBO0FBQ0E7QXpDazNaQTtBQUNBO0F5Q2ozWkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBekNtM1pBO0FBQ0E7QXlDejJaQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBekMyMlpBO0FBQ0E7QXlDejJaQTtBaENvSUE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBZ0NsSkE7QUFDQTtBQUNBO0FBQ0E7QXpDKzJaQTtBQUNBO0F5QzUyWkE7QUFDQTtBekM4MlpBO0FBQ0E7QXlDNTJaQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBekM4MlpBO0FBQ0E7QXlDcjJaQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXpDdTJaQTtBQUNBO0F5Q3IyWkE7QUFHQTtBQUNBO0FBQ0E7QXpDcTJaQTtBQUNBO0F5Q2gyWkE7QUFDQTtBekNrMlpBO0FBQ0E7QXlDOTFaQTtBaEM4RUE7QUFDQTtBQVNBO0FBQ0E7QUFPQTtBZ0M5RkE7QUFDQTtBekNvMlpBO0FBQ0E7QXlDbDJaQTtBaEN3RUE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBVGl4WkE7QUFDQTtBeUN0MlpBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QXpDdTJaQTtBQUNBO0F5Q3IyWkE7QUFDQTtBekN1MlpBO0FBQ0E7QVN4dFpBO0FnQzNQQTtBQWdIQTtBekN1MlpBO0FBQ0E7QXlDdDJaQTtBQUNBO0F6Q3cyWkE7QUFDQTtBeUNwMlpBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXpDczJaQTtBQUNBO0F5Q3AyWkE7QWhDb0NBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QWdDbERBO0F6QzAyWkE7QUFDQTtBeUNqMlpBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXpDbTJaQTtBQUNBO0F5Q2oyWkE7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F6QysxWkE7QUFDQTtBeUM3MVpBO0FBQ0E7QXpDKzFaQTtBQUNBO0F5QzcxWkE7QUFDQTtBekMrMVpBO0FBQ0E7QXlDNzFaQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXpDKzFaQTtBQUNBO0EwQ3YrWkE7QUFDQTtBMUN5K1pBO0FBQ0E7QTJDcGhhQTtBQUNBO0FBQ0E7QUFDQTtBM0NzaGFBO0FBQ0E7QTJDcmhhQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBM0N1aGFBO0FBQ0E7QTJDcmhhQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0EzQ3NoYUE7QUFDQTtBMkNwaGFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBM0NzaGFBO0FBQ0E7QTJDcGhhQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBM0NzaGFBO0FBQ0E7QTJDaGhhQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBM0NraGFBO0FBQ0E7QVNuMFpBO0FrQ2hRQTtBQXlEQTtBM0M4Z2FBO0FBQ0E7QTJDN2dhQTtBQUNBO0FBQ0E7QTNDK2dhQTtBQUNBO0EyQzdnYUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBM0MrZ2FBO0FBQ0E7QTJDN2dhQTtBQUNBO0EzQytnYUE7QUFDQTtBUzl1WkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBVGd2WkE7QUFDQTtBUy91WkE7QUFDQTtBQUNBO0FBQ0E7QVRpdlpBO0FBQ0E7QTRDaG1hQTtBQUNBO0E1Q2ttYUE7QUFDQTtBNENqbWFBO0FBQ0E7QTVDbW1hQTtBQUNBO0E0Q2ptYUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0E1Q21tYUE7QUFDQTtBNENobWFBO0FBQ0E7QUFDQTtBNUNrbWFBO0FBQ0E7QTRDaG1hQTtBQUVBO0FBQ0E7QUFDQTtBNUNpbWFBO0FBQ0E7QTRDaG1hQTtBQUFBO0E1Q21tYUE7QUFDQTtBNENubWFBO0FBQUE7QTVDc21hQTtBQUNBO0E0Q3RtYUE7QUFBQTtBNUN5bWFBO0FBQ0E7QTRDem1hQTtBQUFBO0E1QzRtYUE7QUFDQTtBNEN6bWFBO0FBQ0E7QTVDMm1hQTtBQUNBO0E0Q3htYUE7QUFDQTtBNUMwbWFBO0FBQ0E7QTRDeG1hQTtBQUNBO0FBQ0E7QTVDMG1hQTtBQUNBO0E0Q3htYUE7QUFDQTtBNUMwbWFBO0FBQ0E7QTRDem1hQTtBQUNBO0E1QzJtYUE7QUFDQTtBNEN4bWFBO0FuQ3dHQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FtQ3RIQTtBQUNBO0E1QzhtYUE7QUFDQTtBNEMxbWFBO0FBQ0E7QUFDQTtBQUNBO0E1QzRtYUE7QUFDQTtBNEMxbWFBO0FuQzBGQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FtQ3ZHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTVDK21hQTtBQUNBO0E0QzdtYUE7QUFDQTtBNUMrbWFBO0FBQ0E7QTRDeG1hQTtBQUVBO0E1Q3ltYUE7QUFDQTtBNEN0bWFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTVDd21hQTtBQUNBO0E0Q3ZtYUE7QUFDQTtBNUN5bWFBO0FBQ0E7QTRDcm1hQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0E1Q3FtYUE7QUFDQTtBNENwbWFBO0FBQ0E7QUFDQTtBNUNzbWFBO0FBQ0E7QTRDbm1hQTtBQUNBO0E1Q3FtYUE7QUFDQTtBNENubWFBO0FBQ0E7QTVDcW1hQTtBQUNBO0E0Q2ptYUE7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBNUNpbWFBO0FBQ0E7QTRDaG1hQTtBQUNBO0FBQ0E7QTVDa21hQTtBQUNBO0FTei9aQTtBbUNuR0E7QUFDQTtBNUMrbGFBO0FBQ0E7QTRDN2xhQTtBQUNBO0FBQ0E7QUFDQTtBNUMrbGFBO0FBQ0E7QTRDN2xhQTtBQUNBO0E1QytsYUE7QUFDQTtBNEM3bGFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTVDK2xhQTtBQUNBO0E0QzdsYUE7QUFDQTtBNUMrbGFBO0FBQ0E7QTRDOWxhQTtBQUNBO0E1Q2dtYUE7QUFDQTtBNEM3bGFBO0FBQ0E7QTVDK2xhQTtBQUNBO0E0QzdsYUE7QUFDQTtBQUNBO0E1QytsYUE7QUFDQTtBU3Q3WkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBVHc3WkE7QUFDQTtBU3Y3WkE7QUFDQTtBQUNBO0FBQ0E7QVR5N1pBO0FBQ0E7QTZDanhhQTtBQUNBO0FBVUE7QUFDQTtBN0Mwd2FBO0FBQ0E7QTZDbndhQTtBQUNBO0FBQ0E7QTdDcXdhQTtBQUNBO0E2Q3p2YUE7QUFDQTs7OztBQUFBO0FBS0E7Ozs7QUFBQTtBQU1BO0FBQ0E7QUFDQTtBN0MwdmFBO0FBQ0E7QTZDeHZhQTtBcEN3RkE7QUFDQTtBQVNBO0FBQ0E7QUFPQTtBb0N4R0E7QUFDQTtBQUNBO0E3Qzh2YUE7QUFDQTtBNkM1dmFBO0FBQ0E7QTdDOHZhQTtBQUNBO0E2QzV2YUE7QUFDQTtBQUNBO0FBQ0E7QUFVQTtBQUNBO0FBR0E7QUFDQTtBN0NtdmFBO0FBQ0E7QTZDanZhQTtBQUNBO0FBQ0E7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQU1BO0E3Q3l1YUE7QUFDQTtBNkNsdWFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTdDb3VhQTtBQUNBO0E2Q2p1YUE7QUFDQTtBN0NtdWFBO0FBQ0E7QTZDanVhQTtBcENtQkE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBb0NqQ0E7QUFDQTtBQUNBO0E3Q3V1YUE7QUFDQTtBNkNqdWFBO0FBQ0E7QTdDbXVhQTtBQUNBO0E2Q2p1YUE7QXBDSUE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBb0NsQkE7QUFDQTtBN0N1dWFBO0FBQ0E7QTZDcnVhQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0E3Q3V1YUE7QUFDQTtBNkNudWFBO0FBQ0E7QTdDcXVhQTtBQUNBO0E2Q3B1YUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0E3Q3N1YUE7QUFDQTtBNkNydWFBO0FBQ0E7QUFDQTtBN0N1dWFBO0FBQ0E7QTZDaHVhQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBcEM3Q0E7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBQU1BO0FvQzJCQTtBQUNBO0FBQ0E7QTdDcXVhQTtBQUNBO0E2Q3B1YUE7QUFDQTtBN0NzdWFBO0FBQ0E7QTZDcHVhQTtBQUNBO0FBQ0E7QTdDc3VhQTtBQUNBO0E2Q251YUE7QUFDQTtBQUNBO0FBQ0E7QTdDcXVhQTtBQUNBO0E2Q251YUE7QUFDQTtBQUNBO0FBQ0E7QTdDcXVhQTtBQUNBO0E2Q251YUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0E3Q3F1YUE7QUFDQTtBNkNudWFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTdDcXVhQTtBQUNBO0E2Q251YUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBN0NxdWFBO0FBQ0E7QTZDaHVhQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0E3Q2t1YUE7QUFDQTtBNkNqdWFBO0FBQ0E7QTdDbXVhQTtBQUNBO0E2Qzd0YUE7QUFDQTtBQUNBO0E3Qyt0YUE7QUFDQTtBNkM3dGFBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBUUE7QTdDb3RhQTtBQUNBO0E2Q2p0YUE7QUFDQTtBN0NtdGFBO0FBQ0E7QTZDOXNhQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTdDZ3RhQTtBQUNBO0FTeHhhQTtBb0NnRkE7QUFDQTtBN0Myc2FBO0FBQ0E7QTZDdHNhQTtBQUNBO0FBQ0E7QTdDd3NhQTtBQUNBO0E2Q3RzYUE7QXBDcExBO0FBQ0E7QUFTQTtBQUNBO0FBT0E7QVQrMmFBO0FBQ0E7QTZDdnNhQTtBQUNBO0E3Q3lzYUE7QUFDQTtBNkN0c2FBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBN0Ntc2FBO0FBQ0E7QTZDbHNhQTtBQUNBO0E3Q29zYUE7QUFDQTtBNkNqc2FBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBN0Nnc2FBO0FBQ0E7QTZDL3JhQTtBQUNBO0E3Q2lzYUE7QUFDQTtBNkM1cmFBO0FBQ0E7QTdDOHJhQTtBQUNBO0E2QzVyYUE7QXBDek9BO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QW9DMk5BO0E3Q2tzYUE7QUFDQTtBNkNoc2FBO0FBQ0E7QTdDa3NhQTtBQUNBO0E2Q2hzYUE7QXBDbFBBO0FBQ0E7QUFTQTtBQUNBO0FBT0E7QW9Da09BO0E3Q3NzYUE7QUFDQTtBNkNwc2FBO0FwQ3ZQQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FUazdhQTtBQUNBO0E2Q3hzYUE7QXBDM1BBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QVQwN2FBO0FBQ0E7QTZDN3NhQTtBQUNBO0E3QytzYUE7QUFDQTtBNkM1c2FBO0FBQ0E7QTdDOHNhQTtBQUNBO0E2QzVzYUE7QXBDdlFBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QW9DeVBBO0E3Q2t0YUE7QUFDQTtBNkNodGFBO0FwQzVRQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FUbTlhQTtBQUNBO0E4Q2pwYkE7QUFDQTtBQUNBO0E5Q21wYkE7QUFDQTtBOENscGJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0E5Q29wYkE7QUFDQTtBOENscGJBO0FBQ0E7QTlDb3BiQTtBQUNBO0E4Q2xwYkE7QUFDQTtBQUNBO0FBQ0E7QXJDK1BBO0FUczVhQTtBQUNBO0E4Q2pwYkE7QUFDQTtBOUNtcGJBO0FBQ0E7QThDanBiQTtBckM2SUE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBcUMzSkE7QUFDQTtBQUNBO0E5Q3VwYkE7QUFDQTtBOENycGJBO0FBQ0E7QTlDdXBiQTtBQUNBO0E4Q3JwYkE7QXJDa0lBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QXFDL0lBO0FBQ0E7QUFDQTtBOUMwcGJBO0FBQ0E7QThDeHBiQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0E5QzBwYkE7QUFDQTtBOEN4cGJBO0FyQ21IQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FBTUE7QXFDdElBO0FBQ0E7QUFDQTtBOUM4cGJBO0FBQ0E7QThDNXBiQTtBckMyR0E7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBcUN4SEE7QTlDaXFiQTtBQUNBO0FTbCthQTtBcUNyUUE7QUEwRUE7QTlDaXFiQTtBQUNBO0E4Q2hxYkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBOUNrcWJBO0FBQ0E7QThDaHFiQTtBckMwRkE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBVDZqYkE7QUFDQTtBOENwcWJBO0FyQ3NGQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FxQ25HQTtBQUNBO0E5Q3lxYkE7QUFDQTtBOEN2cWJBO0FBQ0E7QTlDeXFiQTtBQUNBO0FTMTVhQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FUNDVhQTtBQUNBO0FTMzVhQTtBQUNBO0FBQ0E7QUFDQTtBVDY1YUE7QUFDQTtBK0M3dmJBO0FBQ0E7QUFDQTtBQUNBO0EvQyt2YkE7QUFDQTtBU3ZoYkE7QXNDbE9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QS9DNHZiQTtBQUNBO0ErQ3h2YkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QS9DMHZiQTtBQUNBO0ErQ3h2YkE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QS9Dd3ZiQTtBQUNBO0ErQ3J2YkE7QUFDQTtBQUNBO0FBQ0E7QS9DdXZiQTtBQUNBO0ErQ252YkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXRDOExBO0FUd2piQTtBQUNBO0ErQ2x2YkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0EvQ292YkE7QUFDQTtBK0M3dWJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXRDa0tBO0FUOGtiQTtBQUNBO0ErQzN1YkE7QXRDbURBO0FBQ0E7QUFTQTtBQUNBO0FBT0E7QXNDOURBO0FBQ0E7QUFDQTtBL0M0dWJBO0FBQ0E7QStDenViQTtBdEMrSUE7QVQ2bGJBO0FBQ0E7QStDenViQTtBQUNBO0FBQ0E7QUFDQTtBL0MydWJBO0FBQ0E7QStDenViQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QS9DMnViQTtBQUNBO0ErQ3p1YkE7QXRDb0JBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QXNDakNBO0FBQ0E7QUFDQTtBL0M4dWJBO0FBQ0E7QStDN3ViQTtBQUNBO0FBQ0E7QS9DK3ViQTtBQUNBO0ErQzV1YkE7QXRDT0E7QUFDQTtBQVNBO0FBQ0E7QUFPQTtBc0N2QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBL0NrdmJBO0FBQ0E7QStDL3ViQTtBQUVBO0FBQ0E7QS9DZ3ZiQTtBQUNBO0ErQzV1YkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0EvQzh1YkE7QUFDQTtBK0MzdWJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0EvQzZ1YkE7QUFDQTtBK0N6dWJBO0FBQ0E7QS9DMnViQTtBQUNBO0ErQ3p1YkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBL0MydWJBO0FBQ0E7QStDdnViQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBL0N5dWJBO0FBQ0E7QStDanViQTtBQUNBO0EvQ211YkE7QUFDQTtBK0M1dGJBO0FBQ0E7QS9DOHRiQTtBQUNBO0ErQ2h0YkE7QUFDQTtBL0NrdGJBO0FBQ0E7QStDaHRiQTtBQUNBO0EvQ2t0YkE7QUFDQTtBK0Mvc2JBO0FBQ0E7QUFDQTtBL0NpdGJBO0FBQ0E7QStDL3NiQTtBQUNBO0FBQ0E7QS9DaXRiQTtBQUNBO0ErQzVzYkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0EvQzhzYkE7QUFDQTtBK0M1c2JBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBL0M4c2JBO0FBQ0E7QStDNXNiQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QS9DOHNiQTtBQUNBO0ErQ3pzYkE7QUFHQTtBQUNBO0FBQ0E7QS9DeXNiQTtBQUNBO0ErQ3JzYkE7QUFDQTtBL0N1c2JBO0FBQ0E7QStDcnNiQTtBQUNBO0EvQ3VzYkE7QUFDQTtBK0Nuc2JBO0FBQ0E7QUFDQTtBQUNBO0EvQ3FzYkE7QUFDQTtBK0MvcmJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0EvQ2lzYkE7QUFDQTtBK0M3cmJBO0FBQ0E7QUFDQTtBQUNBO0EvQytyYkE7QUFDQTtBK0M3cmJBO0F0Q3JMQTtBQUNBO0FBU0E7QUFDQTtBQU9BO0FzQ3FLQTtBQUNBO0EvQ21zYkE7QUFDQTtBK0M5cmJBO0FBRUE7QS9DK3JiQTtBQUNBO0ErQzdyYkE7QUFDQTtBL0MrcmJBO0FBQ0E7QStDN3JiQTtBQUNBO0FBQ0E7QUFDQTtBL0MrcmJBO0FBQ0E7QStDN3JiQTtBQUNBO0FBQ0E7QS9DK3JiQTtBQUNBO0ErQzdyYkE7QUFDQTtBQUNBO0FBQ0E7QS9DK3JiQTtBQUNBO0FnRHJpY0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBaER1aWNBO0FBQ0E7QWdEdGljQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FoRHdpY0E7QUFDQTtBZ0R0aWNBO0F2Q21JQTtBQUNBO0FBU0E7QUFDQTtBQU9BO0F1Q25KQTtBQUNBO0FBQ0E7QUFDQTtBaEQ0aWNBO0FBQ0E7QWdEMWljQTtBQUNBO0FoRDRpY0E7QUFDQTtBZ0R4aWNBO0FBQ0E7QWhEMGljQTtBQUNBO0FnRHBpY0E7QUFDQTtBQUNBO0FoRHNpY0E7QUFDQTtBZ0RwaWNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBUUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FoRCtoY0E7QUFDQTtBZ0Q5aGNBO0FBQ0E7QWhEZ2ljQTtBQUNBO0FnRDloY0E7QUFDQTtBaERnaWNBO0FBQ0E7QWdEN2hjQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FoRCtoY0E7QUFDQTtBZ0Q3aGNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FoRCtoY0E7QUFDQTtBZ0RsaGNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBaERvaGNBO0FBQ0E7QWdEbGhjQTtBQVFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBaEQ2Z2NBO0FBQ0E7QWdEcGdjQTtBQUNBO0FoRHNnY0E7QUFDQTtBZ0RwZ2NBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FoRHNnY0E7QUFDQTtBZ0RwZ2NBO0FBQ0E7QUFDQTtBaERzZ2NBO0FBQ0E7QWdEcGdjQTtBdkNaQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0F1Q0RBO0FBQ0E7QUFDQTtBQUNBO0FoRHlnY0E7QUFDQTtBZ0R2Z2NBO0F2Q3JCQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0F1Q1FBO0FBQ0E7QWhENGdjQTtBQUNBO0FnRDFnY0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBaEQ0Z2NBO0FBQ0E7QWdEdGdjQTtBQUNBO0FBQ0E7QUFDQTtBaER3Z2NBO0FBQ0E7QWdEdGdjQTtBQUNBO0FoRHdnY0E7QUFDQTtBZ0R0Z2NBO0FBQ0E7QWhEd2djQTtBQUNBO0FTbitiQTtBdUN4T0E7QUF3TUE7QWhEdWdjQTtBQUNBO0FnRHRnY0E7QUFDQTtBaER3Z2NBO0FBQ0E7QWdEdGdjQTtBQUNBO0FBQ0E7QWhEd2djQTtBQUNBO0FnRHRnY0E7QUFDQTtBaER3Z2NBO0FBQ0E7QWdEdGdjQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBaER3Z2NBO0FBQ0E7QWdEcGdjQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FoRHNnY0E7QUFDQTtBZ0RuZ2NBO0FBQ0E7QUFDQTtBQUNBO0FoRHFnY0E7QUFDQTtBZ0RuZ2NBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBaERxZ2NBO0FBQ0E7QWdEbGdjQTtBQUNBO0FoRG9nY0E7QUFDQTtBZ0RoZ2NBO0FBRUE7QWhEaWdjQTtBQUNBO0FnRC8vYkE7QUFDQTtBQUNBO0FoRGlnY0E7QUFDQTtBZ0Q3L2JBO0F2Q2xJQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0F1Q3FIQTtBQUNBO0FBQ0E7QUFDQTtBaERrZ2NBO0FBQ0E7QWdEamdjQTtBQUNBO0FoRG1nY0E7QUFDQTtBZ0RoZ2NBO0F2Qy9JQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0F1Q2tJQTtBQUNBO0FoRHFnY0E7QUFDQTtBZ0RuZ2NBO0FBQ0E7QWhEcWdjQTtBQUNBO0FxQmowY0E7QUFDQTtBQUNBO0FBQ0E7QXJCbTBjQTtBQUNBO0FxQmwwY0E7QUFDQTtBQUNBO0FBQ0E7QXJCbzBjQTtBQUNBO0FxQmwwY0E7QVp5SkE7QUFDQTtBQVNBO0FBQ0E7QUFPQTtBWXpLQTtBQUNBO0FBQ0E7QXJCdzBjQTtBQUNBO0FTM2pjQTtBWWxSQTtBWm1SQTtBQUNBO0FBQ0E7QVQ4amNBO0FBQ0E7QVM3amNBO0FBQ0E7QUFDQTtBQUNBO0FUK2pjQTtBQUNBO0FxQmoxY0E7QUFDQTtBckJtMWNBO0FBQ0E7QXFCajFjQTtBQUNBO0FyQm0xY0E7QUFDQTtBcUJqMWNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXJCbTFjQTtBQUNBO0FxQmoxY0E7QUFDQTtBckJtMWNBO0FBQ0E7QVMzbGNBO0FZMVBBO0FaMlBBO0FBQ0E7QUFDQTtBVDhsY0E7QUFDQTtBUzdsY0E7QUFDQTtBQUNBO0FBQ0E7QVQrbGNBO0FBQ0E7QXFCMzFjQTtBQUNBO0FyQjYxY0E7QUFDQTtBcUIvMWNBO0FBQ0E7QXJCaTJjQTtBQUNBO0FxQm4yY0E7QUFDQTtBckJxMmNBO0FBQ0E7QXFCdjJjQTtBQUNBO0FyQnkyY0E7QUFDQTtBcUIzMmNBO0FBQ0E7QXJCNjJjQTtBQUNBO0FxQi8yY0E7QUFDQTtBckJpM2NBO0FBQ0E7QXFCNTJjQTtBQUNBO0FBQ0E7QUFDQTtBWnlOQTtBWXJOQTtBckI0MmNBO0FBQ0E7QXFCMzJjQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QXJCNjJjQTtBQUNBO0FxQjEyY0E7QUFDQTtBQUNBO0FyQjQyY0E7QUFDQTtBcUJ6MmNBO0FaNEZBO0FBQ0E7QUFTQTtBQUNBO0FBT0E7QVkzR0E7QUFDQTtBckI4MmNBO0FBQ0E7QXFCNTJjQTtBWnFGQTtBQUNBO0FBU0E7QUFDQTtBQU9BO0FBSUE7QVl4R0E7QUFDQTtBckJrM2NBO0FBQ0E7QXFCLzJjQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FyQmkzY0E7QUFDQTtBcUIvMmNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0Fac0tBO0FZbEtBO0FyQisyY0E7QUFDQTtBcUI5MmNBO0FBQ0E7QXJCZzNjQTtBQUNBO0FxQjkyY0E7QUFDQTtBQUNBO0FyQmczY0E7QUFDQTtBcUI5MmNBO0FBQ0E7QXJCZzNjQTtBQUNBO0FTNXVjQTtBWTVQQTtBQTZIQTtBckIrMmNBO0FBQ0E7QXFCOTJjQTtBQUNBO0FyQmczY0E7QUFDQTtBU3J2Y0E7QVk1UEE7QUFzSUE7QUFDQTtBckIrMmNBO0FBQ0E7QXFCOTJjQTtBQUNBO0FyQmczY0E7QUFDQTtBcUI5MmNBO0FadUJBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QVlwQ0E7QXJCbTNjQTtBQUNBO0FxQmozY0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBckJtM2NBO0FBQ0E7QXFCajNjQTtBQUNBO0FyQm0zY0E7QUFDQTtBcUJqM2NBO0FBQ0E7QXJCbTNjQTtBQUNBO0FxQmgzY0E7QUFFQTtBWndHQTtBVDB3Y0E7QUFDQTtBcUI5MmNBO0FaTkE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBWVBBO0FyQm0zY0E7QUFDQTtBcUJqM2NBO0FaWkE7QUFDQTtBQVNBO0FBQ0E7QUFPQTtBQUlBO0FZUEE7QXJCdTNjQTtBQUNBO0FxQnIzY0E7QUFDQTtBckJ1M2NBO0FBQ0E7QWlEOWhkQTtBQUNBO0FqRGdpZEE7QWlENWhkQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FqRDhoZEE7QVM1emNBO0F3Q3hOQTtBQUVBO0FqRHNoZEE7QWlEcGhkQTs7QUFFQTtBakRzaGRBO0FBQ0E7QVNyMGNBO0F3QzFNQTtBQUVBO0FqRGloZEE7QUFDQTtBQUNBO0FpRDNnZEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBakQ0Z2RBO0FBQ0E7QWlEMWdkQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBakQ0Z2RBO0FpRDFnZEE7QUFDQTtBQUNBO0FBQ0E7QWpENGdkQTtBQUNBO0FJOW1kQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFNQTtBQUVBO0FBQ0E7QUowbWRBO0FBQ0E7QUl4bWRBOzs7QUFHQTtBQUNBO0FBQ0E7QUFJQTtBSnVtZEE7QUFDQTtBSS9sZEE7QUFDQTtBSmltZEE7QUFDQTtBSWhtZEE7QUFIQTtBQUlBO0FKbW1kQTtBQUNBO0FJL2xkQTs7QUFFQTtBSmltZEE7QUFDQTtBSTlsZEE7QUFDQTtBSmdtZEE7QUFDQTtBSTlsZEE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FKZ21kQTtBQUNBO0FJOWxkQTtBQUNBO0FKZ21kQTtBQUNBO0FJOWxkQTtBQUNBO0FKZ21kQTtBQUNBO0FJOWxkQTtBQUNBO0FBQ0E7QUpnbWRBO0FBQ0E7QUk5bGRBO0FBQ0E7QUpnbWRBO0FBQ0E7QUk5bGRBO0FBQ0E7QUFDQTtBQUNBO0FKZ21kQTtBQUNBO0FJOWxkQTs7OztBQUlBO0FKZ21kQTtBQUNBO0FLenJkQTtBQURBO0FBRUE7QUw0cmRBO0FBQ0E7QUt2cmRBO0FBREE7QUFFQTtBTDByZEE7QUFDQTtBS3JyZEE7QUFEQTtBQUVBO0FMd3JkQTtBQUNBO0FLbnJkQTtBQURBO0FBRUE7QUxzcmRBO0FBQ0E7QUs1cWRBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FMNHFkQTtBQUNBO0FLM3FkQTtBQUNBO0FBQ0E7QUw2cWRBO0FBQ0E7QU01b2RBO0FBQ0E7QUFDQTtBQUNBO0FOOG9kQTtBTTVvZEE7QUFDQTtBQUNBO0FOOG9kQTtBTTVvZEE7QUFDQTtBQUNBO0FOOG9kQTtBTTVvZEE7QUFDQTtBQUNBO0FOOG9kQTtBQUNBO0FNMW9kQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBTjBvZEE7QUFDQTtBTXRvZEE7QUFBQTtBTnlvZEE7QUFDQTtBTXRvZEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBNUZBO0FBZ0dBO0FBQ0E7QUFDQTtBQUNBO0FOc29kQTtBQUNBO0FNbm9kQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXRIQTtBQTBIQTtBTm1vZEE7QUFDQTtBTWpvZEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXBIQTtBQXdIQTtBQUNBO0FOaW9kQTtBQUNBO0FNN25kQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FOK25kQTtBQUNBO0FNOW5kQTtBQUVBO0FBQ0E7QU4rbmRBO0FBQ0E7QU0xbmRBO0FBQ0E7QUFDQTtBTjRuZEE7QUFDQTtBTXpuZEE7QUFDQTtBTjJuZEE7QUFDQTtBTXpuZEE7QUFDQTtBTjJuZEE7QUFDQTtBTXhuZEE7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FOd25kQTtBQUNBO0FNcG5kQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QU5zbmRBO0FBQ0E7QU1ubmRBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBTnFuZEE7QUFDQTtBTXBuZEE7QUFFQTtBQUNBO0FOcW5kQTtBQUNBO0FNL21kQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QU5pbmRBO0FBQ0E7QU1obmRBO0FBQ0E7QUFDQTtBTmtuZEE7QUFDQTtBTWhuZEE7QUFDQTtBQUNBO0FOa25kQTtBQUNBO0FNaG5kQTtBQUVBO0FBQ0E7QUFDQTtBTmluZEE7QUFDQTtBTTVtZEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FOOG1kQTtBQUNBO0FNN21kQTtBQUNBO0FBQ0E7QU4rbWRBO0FBQ0E7QU03bWRBO0FBRUE7QUFDQTtBQUNBO0FOOG1kQTtBQUNBO0FNMW1kQTtBQUNBO0FBRUE7QU4ybWRBO0FBQ0E7QU16bWRBO0FBQUE7QU40bWRBO0FBQ0E7QU0zbWRBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FONm1kQTtBQUNBO0FNNW1kQTtBQUFBO0FOK21kQTtBQUNBO0FNNW1kQTtBQUVBO0FONm1kQTtBQUNBO0FNNW1kQTtBQUFBO0FOK21kQTtBQUNBO0FNN21kQTtBQUVBO0FBRUE7QU42bWRBO0FBQ0E7QU1ybWRBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBTnVtZEE7QUFDQTtBTXJtZEE7QUFBQTtBTndtZEE7QUFDQTtBTXZtZEE7QUFDQTtBQUNBO0FBQ0E7QU55bWRBO0FBQ0E7QU14bWRBO0FBQUE7QU4ybWRBO0FBQ0E7QU16bWRBOztBQUVBO0FOMm1kQTtBQUNBO0FNdm1kQTtBQUVBO0FOd21kQTtBQUNBO0FNdG1kQTtBQUVBO0FBQ0E7QUFDQTtBTnVtZEE7QUFDQTtBTWhtZEE7QUFDQTtBTmttZEE7QUFDQTtBTTVsZEE7QUFDQTtBTjhsZEE7QUFDQTtBTTdsZEE7QUFDQTtBTitsZEE7QUFDQTtBTTVsZEE7QUFDQTtBTjhsZEE7QUFDQTtBTXZsZEE7QUFDQTtBQUNBO0FBQ0E7QU55bGRBO0FBQ0E7QU14bGRBO0FBQ0E7QU4wbGRBO0FBQ0E7QU14bGRBO0FBRUE7QUFDQTtBTnlsZEE7QUFDQTtBTXRsZEE7QUFDQTtBTndsZEE7QUFDQTtBTXZsZEE7QUFDQTtBTnlsZEE7QUFDQTtBa0RuaGVBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QWxEa2hlQTtBQUNBO0FrRDlnZUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBbERnaGVBO0FBQ0E7QWtEemdlQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWxEMmdlQTtBQUNBO0FrRHpnZUE7QUFDQTtBekNxSUE7QUFDQTtBQVNBO0FBQ0E7QUFPQTtBVHkzZEE7QUFDQTtBa0Q1Z2VBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBbEQ4Z2VBO0FBQ0E7QWtENWdlQTtBekN5SEE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBeUN0SUE7QUFDQTtBQUNBO0FsRGloZUE7QUFDQTtBa0Q3Z2VBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXpDMkdBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QXlDdkhBO0FsRGloZUE7QUFDQTtBa0RoaGVBO0FBQ0E7QUFDQTtBbERraGVBO0FBQ0E7QWtEaGhlQTtBQUNBO0FsRGtoZUE7QUFDQTtBa0Q3Z2VBO0FBQ0E7QUFDQTtBbEQrZ2VBO0FBQ0E7QWtEcGdlQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWxEc2dlQTtBQUNBO0FrRHBnZUE7QUFDQTtBQUNBO0FBQ0E7QWxEc2dlQTtBQUNBO0FrRHBnZUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBbERvZ2VBO0FBQ0E7QWtEbmdlQTtBQUNBO0FBQ0E7QWxEcWdlQTtBQUNBO0FrRGpnZUE7QUFDQTtBQUNBO0FBQ0E7QWxEbWdlQTtBQUNBO0FrRGpnZUE7QXpDa0NBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QXlDL0NBO0FsRHNnZUE7QUFDQTtBa0RwZ2VBO0F6QzRCQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0F5Q3pDQTtBbER5Z2VBO0FBQ0E7QWtEcmdlQTtBQUNBO0FsRHVnZUE7QUFDQTtBa0RsZ2VBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBekNLQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0F5Q2pCQTtBbERzZ2VBO0FBQ0E7QWtEcmdlQTtBQUNBO0FsRHVnZUE7QUFDQTtBa0R6Z2VBO0FBQ0E7QWxEdWdlQTtBQUNBO0FrRHJnZUE7QUFDQTtBbER1Z2VBO0FBQ0E7QWtEcGdlQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBbERzZ2VBO0FBQ0E7QWtEcmdlQTtBQUNBO0FBQ0E7QWxEdWdlQTtBQUNBO0FrRHBnZUE7QUFDQTtBQUNBO0FBQ0E7QWxEc2dlQTtBQUNBO0FrRHBnZUE7QUFDQTtBbERzZ2VBO0FBQ0E7QVNwOWRBO0F5Q3BRQTtBQXdOQTtBbERvZ2VBO0FBQ0E7QWtEbmdlQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FsRHFnZUE7QUFDQTtBa0RuZ2VBO0FBQ0E7QUFDQTtBbERxZ2VBO0FBQ0E7QWtEbmdlQTtBekMxREE7QUFDQTtBQVNBO0FBQ0E7QUFPQTtBeUMyQ0E7QWxEd2dlQTtBQUNBO0FrRHRnZUE7QUFDQTtBQUNBO0FsRHdnZUE7QUFDQTtBa0R0Z2VBO0FBQ0E7QUFDQTtBQUNBO0FsRHdnZUE7QUFDQTtBa0R0Z2VBO0FBQ0E7QWxEd2dlQTtBQUNBO0FtRDV0ZUE7QUFDQTtBQUNBO0FBQ0E7QW5EOHRlQTtBQUNBO0FtRDF0ZUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QW5ENHRlQTtBQUNBO0FtRHh0ZUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FuRDB0ZUE7QUFDQTtBbUR0dGVBO0ExQ3VHQTtBQUNBO0FBU0E7QUFDQTtBQU9BO0EwQ3ZIQTtBbkQ0dGVBO0FBQ0E7QW1EenRlQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QW5EMnRlQTtBQUNBO0FtRHp0ZUE7QUFDQTtBbkQydGVBO0FBQ0E7QW1EMXRlQTtBQUNBO0FuRDR0ZUE7QUFDQTtBbUR6dGVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FuRDJ0ZUE7QUFDQTtBbUR4dGVBO0ExQ29FQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FBTUE7QTBDdkZBO0FBQ0E7QW5EOHRlQTtBQUNBO0FtRHp0ZUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FuRDJ0ZUE7QUFDQTtBbUR6dGVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBbkQydGVBO0FBQ0E7QW1EMXRlQTtBQUNBO0FBQ0E7QW5ENHRlQTtBQUNBO0FtRHh0ZUE7QUFDQTtBQUNBO0FuRDB0ZUE7QUFDQTtBbUR4dGVBO0FBQ0E7QUFDQTtBbkQwdGVBO0FBQ0E7QW1EbHRlQTtBQUNBO0FBQ0E7QUFDQTtBbkRvdGVBO0FBQ0E7QW1EbHRlQTtBQUNBO0FuRG90ZUE7QUFDQTtBbURodGVBO0FBQ0E7QTFDSUE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBMENoQkE7QUFDQTtBbkRvdGVBO0FBQ0E7QW1EbHRlQTtBMUNKQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0EwQ1RBO0FBQ0E7QW5EdXRlQTtBQUNBO0FtRHJ0ZUE7QTFDWEE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBMENGQTtBQUNBO0FuRDB0ZUE7QUFDQTtBbURydGVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FuRHV0ZUE7QUFDQTtBbUQ5c2VBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBbkRndGVBO0FBQ0E7QW1EOXNlQTtBQUNBO0FBQ0E7QW5EZ3RlQTtBQUNBO0FtRDlzZUE7QUFDQTtBbkRndGVBO0FBQ0E7QW1EOXNlQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBbkRndGVBO0FBQ0E7QW1EenNlQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBbkR1c2VBO0FBQ0E7QW1EdHNlQTtBQUNBO0FBQ0E7QW5Ed3NlQTtBQUNBO0FtRHRzZUE7QUFDQTtBQUNBO0FBQ0E7QW5Ed3NlQTtBQUNBO0FtRGxzZUE7QUFDQTtBbkRvc2VBO0FBQ0E7QW1EbHJlQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU9BO0FBQ0E7QW5EOHFlQTtBQUNBO0FtRDdxZUE7QUFDQTtBbkQrcWVBO0FBQ0E7QW1EN3FlQTtBQUVBO0FBQ0E7QTFDN0NBO0FUNHRlQTtBQUNBO0FtRDFxZUE7QUFDQTtBQUNBO0FBQ0E7QW5ENHFlQTtBQUNBO0FtRHpxZUE7QUFDQTtBQUNBO0FBQ0E7QW5EMnFlQTtBQUNBO0FtRHZxZUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTFDeEVBO0FUa3ZlQTtBQUNBO0FtRHZxZUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXBWQTtBbkQ4L2VBO0FBQ0E7QW1EcnFlQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QW5EdXFlQTtBQUNBO0FtRHRxZUE7QUFDQTtBbkR3cWVBO0FBQ0E7QW1EcHFlQTtBQUNBO0FuRHNxZUE7QUFDQTtBUzN4ZUE7QTBDL05BO0FBeVZBO0FuRHFxZUE7QUFDQTtBbURwcWVBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QW5EbXFlQTtBQUNBO0FtRDlwZUE7QUFDQTtBbkRncWVBO0FBQ0E7QW1EOXBlQTtBQUNBO0ExQ3ZJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTBDc0lBO0FuRG1xZUE7QUFDQTtBbURqcWVBO0FBQ0E7QUFDQTtBbkRtcWVBO0FBQ0E7QW1EanFlQTtBQUNBO0FuRG1xZUE7QUFDQTtBbURqcWVBO0FBQ0E7QUFDQTtBbkRtcWVBO0FBQ0E7QW1EanFlQTtBQUNBO0FBQ0E7QW5EbXFlQTtBQUNBO0FtRGpxZUE7QUFDQTtBQUNBO0FuRG1xZUE7QUFDQTtBbURqcWVBO0FBQ0E7QW5EbXFlQTtBQUNBO0FvRHRsZkE7QUFDQTtBQUNBO0FwRHdsZkE7QUFDQTtBb0RwbGZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBcERzbGZBO0FBQ0E7QW9EcGxmQTtBQUNBO0FBQ0E7QUFDQTtBcERzbGZBO0FBQ0E7QW9EcGxmQTtBM0NvSkE7QUFDQTtBQVNBO0FBQ0E7QUFPQTtBMkNwS0E7QUFFQTtBcER5bGZBO0FBQ0E7QW9EdmxmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FwRHlsZkE7QUFDQTtBb0R2bGZBO0FBQ0E7QUFDQTtBQUNBO0FwRHlsZkE7QUFDQTtBb0R2bGZBO0EzQ2dJQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0EyQzlJQTtBQUVBO0FwRDRsZkE7QUFDQTtBb0QxbGZBO0EzQ3lIQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0EyQ3RJQTtBQUNBO0FwRCtsZkE7QUFDQTtBU241ZUE7QTJDcFFBO0FBNERBO0FwRCtsZkE7QUFDQTtBb0Q5bGZBO0FBQ0E7QUFDQTtBQUNBO0FwRGdtZkE7QUFDQTtBb0Q5bGZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXBEZ21mQTtBQUNBO0FxRGhyZkE7Ozs7Ozs7O0FBQUE7QUFpT0E7QUFDQTtBQUdBO0FBQ0E7QXJEdzllQTtBcURyOWVBO0FBQ0E7QUFDQTtBckR1OWVBO0FBQ0E7QXNEbnNmQTs7Ozs7OztBQUFBO0FBd0JBO0FEVEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQ0ZBO0F0RGtzZkE7QUFDQTtBc0Rqc2ZBO0FET0E7QUFDQTtBQUNBO0FDUEE7QUFDQTtBQUFBO0F0RHFzZkE7QUFDQTtBc0Rqc2ZBO0FEZ05BO0FyRG8vZUE7QUFDQTtBc0Q3cmZBO0FESEE7QUFDQTtBQUNBO0FyRG1zZkE7QUFDQTtBc0QvcmZBO0FBQ0E7QUFDQTtBdERpc2ZBO0FBQ0E7QXNEL3JmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F0RGlzZkE7QUFDQTtBc0Roc2ZBO0FBQ0E7QXREa3NmQTtBQUNBO0FzRGhzZkE7QUFDQTtBQUNBO0F0RGtzZkE7QUFDQTtBc0QzcmZBO0FEbkNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXJEaXVmQTtBQUNBO0FzRGxzZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBdERvc2ZBO0FBQ0E7QXNEbHNmQTtBQUNBO0FBQ0E7QXREb3NmQTtBQUNBO0FzRGxzZkE7QURoQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FyRHF1ZkE7QUFDQTtBcURsdWZBO0FBQ0E7QUFDQTtBckRvdWZBO0FBQ0E7QXFEdnVmQTtBQUNBO0FBQ0E7QXJEb3VmQTtBQUNBO0FxRGx1ZkE7QUFDQTtBckRvdWZBO0FBQ0E7QXFEdHVmQTtBQUNBO0FyRG91ZkE7QUFDQTtBc0R2dGZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F0RHl0ZkE7QUFDQTtBc0R2dGZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXREeXRmQTtBQUNBO0FzRHZ0ZkE7QUFDQTtBQUNBO0FBQ0E7QXREeXRmQTtBQUNBO0FzRHR0ZkE7QUFDQTtBQUNBO0F0RHd0ZkE7QUFDQTtBc0RsdGZBO0FEaEdBO0FBQ0E7QUFDQTtBQUNBO0FyRHF6ZkE7QUFDQTtBc0RydGZBO0FEMEZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXJEOG5mQTtBQUNBO0FxRDduZkE7QUFDQTtBQUNBO0FyRCtuZkE7QUFDQTtBcUQ3bmZBO0FBQ0E7QXJEK25mQTtBQUNBO0FzRHJ1ZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0F0RG91ZkE7QUFDQTtBc0RudWZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXREcXVmQTtBQUNBO0FzRHB1ZkE7QUFDQTtBdERzdWZBO0FBQ0E7QXNEcnVmQTtBQUNBO0F0RHV1ZkE7QUFDQTtBc0RwdWZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F0RHN1ZkE7QUFDQTtBc0RydWZBO0FBQ0E7QXREdXVmQTtBQUNBO0FzRDl0ZkE7QUR0SEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDZ0hBO0FBQ0E7QXREd3VmQTtBQUNBO0FzRHR1ZkE7QURoSEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUN1R0E7QUFFQTs7OztBQUFBO0F0RHN2ZkE7QUFDQTtBcUQ1MWZBO0FBQ0E7QXJEODFmQTtBQUNBO0FxRDUxZkE7QUFDQTtBckQ4MWZBO0FBQ0E7QXFENTFmQTtBQUNBO0FBQ0E7QXJEODFmQTtBQUNBO0FxRDcxZkE7QUFDQTtBckQrMWZBO0FBQ0E7QXNEbndmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0F0RHN3ZkE7QUFDQTtBc0Rsd2ZBOzs7QUFHQTtBdERvd2ZBO0FBQ0E7QXNEandmQTtBRHhHQTtBQUNBO0FDeUdBO0FBQ0E7QXREb3dmQTtBQUNBO0FzRGx3ZkE7QUR6R0E7QUFDQTtBQzBHQTtBQUNBO0F0RHF3ZkE7QUFDQTtBc0Rsd2ZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXREb3dmQTtBQUNBO0FzRG53ZkE7QUFDQTtBQUNBO0F0RHF3ZkE7QUFDQTtBc0Rud2ZBO0FBWEE7QUFZQTtBQUNBO0F0RHN3ZkE7QUFDQTtBc0Rsd2ZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBdERvd2ZBO0FBQ0E7QXNEandmQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBYUE7QXREdXZmQTtBQUNBO0FzRHB3ZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0F0RHd3ZkE7QUFDQTtBc0Ryd2ZBO0FBQ0E7QXREdXdmQTtBQUNBO0FzRG53ZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBdERxd2ZBO0FBQ0E7QXNEcHdmQTtBQUNBO0FBQ0E7QXREc3dmQTtBQUNBO0FzRHB3ZkE7QUFDQTtBdERzd2ZBO0FBQ0E7QXNEandmQTtBQUNBO0F0RG13ZkE7QUFDQTtBc0QvdmZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXREaXdmQTtBQUNBO0FzRGh3ZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXREa3dmQTtBQUNBO0FzRGp3ZkE7QUFDQTtBdERtd2ZBO0FBQ0E7QXNEandmQTtBQUNBO0F0RG13ZkE7QUFDQTtBc0Q5dmZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBdERnd2ZBO0FBQ0E7QXNEL3ZmQTtBQUNBO0F0RGl3ZkE7QUFDQTtBc0Q5dmZBO0FBQ0E7QXREZ3dmQTtBQUNBO0FzRDd2ZkE7QUFDQTtBdEQrdmZBO0FBQ0E7QXNEN3ZmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBdEQrdmZBO0FBQ0E7QXNEOXZmQTtBQUNBO0F0RGd3ZkE7QUFDQTtBc0Rsd2ZBO0FBQ0E7QXREZ3dmQTtBQUNBO0FzRDl2ZkE7QUFDQTtBdERnd2ZBO0FBQ0E7QXNEOXZmQTtBQUNBO0F0RGd3ZkE7QUFDQTtBc0Q5dmZBO0FBQ0E7QUFDQTtBdERnd2ZBO0FBQ0E7QXNEL3ZmQTtBQUNBO0F0RGl3ZkE7QUFDQTtBc0Q3dmZBO0FBQ0E7QUFDQTtBdEQrdmZBO0FBQ0E7QXNENXZmQTtBQUNBO0FBQ0E7QUFDQTtBdEQ4dmZBO0FBQ0E7QXNENXZmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F0RDh2ZkE7QUFDQTtBc0Q3dmZBO0FBQ0E7QXREK3ZmQTtBQUNBO0FzRDV2ZkE7QUFDQTtBQUNBO0FBQ0E7QXREOHZmQTtBQUNBO0FzRHR2ZkE7QUFDQTtBQUdBO0FBQ0E7QXREc3ZmQTtBc0RudmZBO0FBQ0E7QUFDQTtBdERxdmZBO0FBQ0E7QXNEOXVmQTs7QUQ1VUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFTQTtBQUNBO0FBQ0E7QXJEc2pnQkE7QUFDQTtBcURyamdCQTs7QUFDQTtBQUNBO0FyRHdqZ0JBO0FBQ0E7QXFEdGpnQkE7OztBQUVBO0FBQ0E7QXJEeWpnQkE7QUFDQTtBcUR2amdCQTs7QUFDQTtBQUNBO0FyRDBqZ0JBO0FBQ0E7QXNEMXdmQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBdEQ0d2ZBO0FBQ0E7QXNEcHdmQTs7OztBQUVBO0F0RHd3ZkE7QUFDQTtBc0Ryd2ZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXREdXdmQTtBQUNBO0FzRGp3ZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXREbXdmQTtBQUNBO0FzRGx3ZkE7QUFDQTtBQUNBO0F0RG93ZkE7QUFDQTtBc0Rud2ZBO0FBQ0E7QXREcXdmQTtBQUNBO0FzRDd2ZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F0RCt2ZkE7QUFDQTtBc0Q3dmZBO0FBQ0E7QUFDQTtBdEQrdmZBO0FBQ0E7QXNEN3ZmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBdEQrdmZBO0FBQ0E7QXNEOXZmQTtBQUNBO0FBQ0E7QUFDQTtBdERnd2ZBO0FBQ0E7QXNEOXZmQTtBQUNBO0F0RGd3ZkE7QUFDQTtBcUQ1amdCQTtBQ3NVQTtBQUNBO0FBQ0E7QXREeXZmQTtBQUNBO0FzRHZ2ZkE7QUFDQTtBdER5dmZBO0FBQ0E7QXNEdnZmQTtBQUNBO0F0RHl2ZkE7QUFDQTtBc0R2dmZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXREeXZmQTtBQUNBO0FzRG52ZkE7QUFDQTtBdERxdmZBO0FBQ0E7QXNEcHZmQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0F0RHF2ZkE7QUFDQTtBc0RydmZBO0FBQ0E7QXREdXZmQTtBQUNBO0FzRHB2ZkE7QUFDQTtBdERzdmZBO0FBQ0E7QXNEcHZmQTs7QUFFQTtBQUNBO0F0RHN2ZkE7QUFDQTtBc0RwdmZBO0FBQ0E7QUFDQTtBQUNBO0F0RHN2ZkE7QUFDQTtBc0RydmZBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QXREeXZmQTtBQUNBO0FzRHZ2ZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBdER5dmZBO0FBQ0E7QXNEdHZmQTtBQUNBO0FBQ0E7QUFDQTtBdER3dmZBO0FBQ0E7QXNEdnZmQTtBQUNBO0FBQ0E7QXREeXZmQTtBQUNBO0FzRHR2ZkE7QUFDQTtBdER3dmZBO0FBQ0E7QXNEdHZmQTtBQUNBO0F0RHd2ZkE7QUFDQTtBc0R0dmZBO0FBQ0E7QXREd3ZmQTtBQUNBO0FzRHR2ZkE7QUFDQTtBdER3dmZBO0FBQ0E7QXNEdHZmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBdER3dmZBO0FBQ0E7QXNEdHZmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F0RHd2ZkE7QUFDQTtBc0R0dmZBO0FBQ0E7QXREd3ZmQTtBQUNBO0FzRHR2ZkE7QUFDQTtBdER3dmZBO0FBQ0E7QXNEdHZmQTtBQUNBO0FBQ0E7QXREd3ZmQTtBQUNBO0F1RDc3Z0JBO0FBQ0E7QXZEKzdnQkE7QUFDQTtBSXY4Z0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU1BO0FBRUE7QUFDQTtBSm04Z0JBO0FBQ0E7QUlqOGdCQTs7O0FBR0E7QUFDQTtBQUNBO0FBSUE7QUpnOGdCQTtBQUNBO0FJeDdnQkE7QUFDQTtBSjA3Z0JBO0FBQ0E7QUl6N2dCQTtBQUhBO0FBSUE7QUo0N2dCQTtBQUNBO0FJeDdnQkE7O0FBRUE7QUowN2dCQTtBQUNBO0FJdjdnQkE7QUFDQTtBSnk3Z0JBO0FBQ0E7QUl2N2dCQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUp5N2dCQTtBQUNBO0FJdjdnQkE7QUFDQTtBSnk3Z0JBO0FBQ0E7QUl2N2dCQTtBQUNBO0FKeTdnQkE7QUFDQTtBSXY3Z0JBO0FBQ0E7QUFDQTtBSnk3Z0JBO0FBQ0E7QUl2N2dCQTtBQUNBO0FKeTdnQkE7QUFDQTtBSXY3Z0JBO0FBQ0E7QUFDQTtBQUNBO0FKeTdnQkE7QUFDQTtBSXY3Z0JBOzs7O0FBSUE7QUp5N2dCQTtBQUNBO0FLbGhoQkE7QUFEQTtBQUVBO0FMcWhoQkE7QUFDQTtBS2hoaEJBO0FBREE7QUFFQTtBTG1oaEJBO0FBQ0E7QUs5Z2hCQTtBQURBO0FBRUE7QUxpaGhCQTtBQUNBO0FLNWdoQkE7QUFEQTtBQUVBO0FMK2doQkE7QUFDQTtBS3JnaEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FMcWdoQkE7QUFDQTtBS3BnaEJBO0FBQ0E7QUFDQTtBTHNnaEJBO0FBQ0E7QU1yK2dCQTtBQUNBO0FBQ0E7QUFDQTtBTnUrZ0JBO0FNcitnQkE7QUFDQTtBQUNBO0FOdStnQkE7QU1yK2dCQTtBQUNBO0FBQ0E7QU51K2dCQTtBTXIrZ0JBO0FBQ0E7QUFDQTtBTnUrZ0JBO0FBQ0E7QU1uK2dCQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBTm0rZ0JBO0FBQ0E7QU0vOWdCQTtBQUFBO0FOaytnQkE7QUFDQTtBTS85Z0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQTVGQTtBQWdHQTtBQUNBO0FBQ0E7QUFDQTtBTis5Z0JBO0FBQ0E7QU01OWdCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXRIQTtBQTBIQTtBTjQ5Z0JBO0FBQ0E7QU0xOWdCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBcEhBO0FBd0hBO0FBQ0E7QU4wOWdCQTtBQUNBO0FNdDlnQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBTnc5Z0JBO0FBQ0E7QU12OWdCQTtBQUVBO0FBQ0E7QU53OWdCQTtBQUNBO0FNbjlnQkE7QUFDQTtBQUNBO0FOcTlnQkE7QUFDQTtBTWw5Z0JBO0FBQ0E7QU5vOWdCQTtBQUNBO0FNbDlnQkE7QUFDQTtBTm85Z0JBO0FBQ0E7QU1qOWdCQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QU5pOWdCQTtBQUNBO0FNNzhnQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FOKzhnQkE7QUFDQTtBTTU4Z0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBTjg4Z0JBO0FBQ0E7QU03OGdCQTtBQUVBO0FBQ0E7QU44OGdCQTtBQUNBO0FNeDhnQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FOMDhnQkE7QUFDQTtBTXo4Z0JBO0FBQ0E7QUFDQTtBTjI4Z0JBO0FBQ0E7QU16OGdCQTtBQUNBO0FBQ0E7QU4yOGdCQTtBQUNBO0FNejhnQkE7QUFFQTtBQUNBO0FBQ0E7QU4wOGdCQTtBQUNBO0FNcjhnQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FOdThnQkE7QUFDQTtBTXQ4Z0JBO0FBQ0E7QUFDQTtBTnc4Z0JBO0FBQ0E7QU10OGdCQTtBQUVBO0FBQ0E7QUFDQTtBTnU4Z0JBO0FBQ0E7QU1uOGdCQTtBQUNBO0FBRUE7QU5vOGdCQTtBQUNBO0FNbDhnQkE7QUFBQTtBTnE4Z0JBO0FBQ0E7QU1wOGdCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBTnM4Z0JBO0FBQ0E7QU1yOGdCQTtBQUFBO0FOdzhnQkE7QUFDQTtBTXI4Z0JBO0FBRUE7QU5zOGdCQTtBQUNBO0FNcjhnQkE7QUFBQTtBTnc4Z0JBO0FBQ0E7QU10OGdCQTtBQUVBO0FBRUE7QU5zOGdCQTtBQUNBO0FNOTdnQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FOZzhnQkE7QUFDQTtBTTk3Z0JBO0FBQUE7QU5pOGdCQTtBQUNBO0FNaDhnQkE7QUFDQTtBQUNBO0FBQ0E7QU5rOGdCQTtBQUNBO0FNajhnQkE7QUFBQTtBTm84Z0JBO0FBQ0E7QU1sOGdCQTs7QUFFQTtBTm84Z0JBO0FBQ0E7QU1oOGdCQTtBQUVBO0FOaThnQkE7QUFDQTtBTS83Z0JBO0FBRUE7QUFDQTtBQUNBO0FOZzhnQkE7QUFDQTtBTXo3Z0JBO0FBQ0E7QU4yN2dCQTtBQUNBO0FNcjdnQkE7QUFDQTtBTnU3Z0JBO0FBQ0E7QU10N2dCQTtBQUNBO0FOdzdnQkE7QUFDQTtBTXI3Z0JBO0FBQ0E7QU51N2dCQTtBQUNBO0FNaDdnQkE7QUFDQTtBQUNBO0FBQ0E7QU5rN2dCQTtBQUNBO0FNajdnQkE7QUFDQTtBTm03Z0JBO0FBQ0E7QU1qN2dCQTtBQUVBO0FBQ0E7QU5rN2dCQTtBQUNBO0FNLzZnQkE7QUFDQTtBTmk3Z0JBO0FBQ0E7QU1oN2dCQTtBQUNBO0FOazdnQkE7QUFDQTtBd0R0MmhCQTtBQUdBO0FBRUE7QUFHQTtBeERtMmhCQTtBQUNBO0F3RGoyaEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXhEbTJoQkE7QUFDQTtBd0RoMmhCQTtBL0NtSkE7QUFDQTtBQVNBO0FBQ0E7QUFPQTtBK0NsS0E7QUFDQTtBeERxMmhCQTtBQUNBO0F3RGwyaEJBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBeERvMmhCQTtBQUNBO0F3RGgyaEJBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0F4RGsyaEJBO0FBQ0E7QXdELzFoQkE7QUFDQTtBQUNBO0FBR0E7QXhEKzFoQkE7QUFDQTtBd0Q3MWhCQTtBQUNBO0FBQ0E7QUFDQTtBeEQrMWhCQTtBQUNBO0F3RDcxaEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXhEKzFoQkE7QUFDQTtBd0Q5MWhCQTtBQUNBO0FBQ0E7QXhEZzJoQkE7QUFDQTtBd0Q3MWhCQTtBQUNBO0EvQ3dGQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0ErQ3BHQTtBQUNBO0F4RGkyaEJBO0FBQ0E7QXdEaDJoQkE7QUFDQTtBeERrMmhCQTtBQUNBO0F3RGgyaEJBO0FBQ0E7QXhEazJoQkE7QUFDQTtBd0Q3MWhCQTtBL0NzRUE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBK0NuRkE7QUFDQTtBQUNBO0F4RGsyaEJBO0FBQ0E7QXdEajJoQkE7QUFDQTtBeERtMmhCQTtBQUNBO0F3RGoyaEJBO0FBQ0E7QXhEbTJoQkE7QUFDQTtBd0QvMWhCQTtBQUNBO0FBQ0E7QUFDQTtBeERpMmhCQTtBQUNBO0F3RDcxaEJBO0FBQ0E7QXhEKzFoQkE7QUFDQTtBd0Q3MWhCQTtBL0N5Q0E7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBK0N0REE7QUFDQTtBeERrMmhCQTtBQUNBO0F3RGgyaEJBO0FBQ0E7QXhEazJoQkE7QUFDQTtBd0Q3MWhCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F4RCsxaEJBO0FBQ0E7QXdENTFoQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBeEQ4MWhCQTtBQUNBO0FTMXRoQkE7QStDNUlBO0EvQzZJQTtBQUNBO0FBQ0E7QVQ2dGhCQTtBQUNBO0FTNXRoQkE7QUFDQTtBQUNBO0FBQ0E7QVQ4dGhCQTtBQUNBO0F3RHIyaEJBO0FBRUE7QUFDQTtBeERzMmhCQTtBQUNBO0F3RHgyaEJBO0FBQ0E7QXhEMDJoQkE7QUFDQTtBd0Q1MmhCQTtBQUNBO0F4RDgyaEJBO0FBQ0E7QXdEMTJoQkE7QUFDQTtBQUNBO0F4RDQyaEJBO0FBQ0E7QXdEbDJoQkE7QS9DeUZBO0ErQ3RGQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F4RG0yaEJBO0FBQ0E7QXdEajJoQkE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0F4RG0yaEJBO0FBQ0E7QXdEbDJoQkE7QUFDQTtBeERvMmhCQTtBQUNBO0F3RGoyaEJBO0EvQ3ZDQTtBQUNBO0FBU0E7QUFDQTtBQU9BO0ErQ3dCQTtBQUNBO0FBQ0E7QXhEczJoQkE7QUFDQTtBd0RyMmhCQTtBQUNBO0F4RHUyaEJBO0FBQ0E7QXdEcDJoQkE7QS9DbkRBO0FBQ0E7QUFTQTtBQUNBO0FBT0E7QUFJQTtBK0NnQ0E7QUFDQTtBeEQwMmhCQTtBQUNBO0FTMTBoQkE7QStDMUJBO0FBQ0E7QUFBQTtBeER1MmhCQTtBQUNBO0FTLzBoQkE7QStDakJBO0FBQ0E7QUFBQTtBeERtMmhCQTtBQUNBO0F3RGoyaEJBO0FBQ0E7QXhEbTJoQkE7QUFDQTtBU3gxaEJBO0ErQzlQQTtBQXdQQTtBeERrMmhCQTtBQUNBO0F3RGoyaEJBO0FBQ0E7QXhEbTJoQkE7QUFDQTtBd0RqMmhCQTtBL0N4RkE7QUFDQTtBQVNBO0FBQ0E7QUFPQTtBK0N5RUE7QXhEczJoQkE7QUFDQTtBd0RwMmhCQTtBQUNBO0FBQ0E7QXhEczJoQkE7QUFDQTtBd0RwMmhCQTtBQUNBO0F4RHMyaEJBO0FBQ0E7QXdEcDJoQkE7QUFDQTtBeERzMmhCQTtBQUNBO0F3RHAyaEJBO0EvQzNHQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0ErQzhGQTtBeER5MmhCQTtBQUNBO0F3RHYyaEJBO0FBQ0E7QUFDQTtBeER5MmhCQTtBQUNBO0F3RHYyaEJBO0EvQ3RIQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0ErQ3lHQTtBeEQ0MmhCQTtBQUNBO0F3RDEyaEJBO0FBQ0E7QXhENDJoQkE7QUFDQTtBU2w1aEJBO0ErQzlQQTtBQXlTQTtBeEQyMmhCQTtBQUNBO0F3RDEyaEJBO0EvQ3JJQTtBQUNBO0FBU0E7QUFDQTtBQU9BO0FUbytoQkE7QUFDQTtBd0Q5MmhCQTtBQUNBO0FBQ0E7QXhEZzNoQkE7QUFDQTtBd0Q5MmhCQTtBL0NyQ0E7QVRzNWhCQTtBQUNBO0F3RDkyaEJBO0EvQ2xKQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FUdS9oQkE7QUFDQTtBeURycWlCQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QXpEb3FpQkE7QUFDQTtBeURucWlCQTtBQUNBO0FBQ0E7QXpEcXFpQkE7QUFDQTtBeURscWlCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBekRvcWlCQTtBQUNBO0F5RGxxaUJBO0FBQ0E7QXpEb3FpQkE7QUFDQTtBeUR6cGlCQTtBaERnT0E7QWdEN05BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F6RDBwaUJBO0FBQ0E7QXlEeHBpQkE7QUFDQTtBekQwcGlCQTtBQUNBO0F5RHBwaUJBO0FBdEVBO0FBeUVBO0FBS0E7QUFDQTtBQUNBO0F6RGlwaUJBO0FBQ0E7QXlEL29pQkE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdBO0FBQUE7QUFDQTtBekQrb2lCQTtBQUNBO0F5RHRvaUJBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0F6RHFvaUJBO0FBQ0E7QXlEbm9pQkE7QWhEZ0RBO0FBQ0E7QUFTQTtBQUNBO0FBT0E7QWdEOURBO0FBQ0E7QXpEdW9pQkE7QUFDQTtBeURyb2lCQTtBaER3Q0E7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBZ0RyREE7QXpEMG9pQkE7QUFDQTtBeURwb2lCQTtBQUNBO0FBQ0E7QUFDQTtBekRzb2lCQTtBQUNBO0F5RHJvaUJBO0FBQ0E7QXpEdW9pQkE7QUFDQTtBeURwb2lCQTtBaERvQkE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBZ0RqQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBekR5b2lCQTtBQUNBO0F5RHJvaUJBO0FBQ0E7QUFDQTtBQUNBO0F6RHVvaUJBO0FBQ0E7QXlEcm9pQkE7QWhERUE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBZ0RmQTtBekQwb2lCQTtBQUNBO0F5RGpvaUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXpEbW9pQkE7QUFDQTtBeURob2lCQTtBQUNBO0F6RGtvaUJBO0FBQ0E7QXlEaG9pQkE7QUFDQTtBQUNBO0FBQ0E7QXpEa29pQkE7QUFDQTtBeUQvbmlCQTtBQUNBO0FBQ0E7QXpEaW9pQkE7QUFDQTtBeUQvbmlCQTtBQUNBO0FBQ0E7QXpEaW9pQkE7QUFDQTtBeUQvbmlCQTtBQUNBO0F6RGlvaUJBO0FBQ0E7QXlENW5pQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0F6RHluaUJBO0FBQ0E7QXlEeG5pQkE7QUFDQTtBekQwbmlCQTtBQUNBO0F5RHhuaUJBO0FBQ0E7QUFDQTtBQUNBO0F6RDBuaUJBO0FBQ0E7QXlEem5pQkE7QUFDQTtBekQybmlCQTtBQUNBO0F5RHhuaUJBO0FBRUE7QXpEeW5pQkE7QUFDQTtBeURwbmlCQTtBQUNBO0FBQ0E7QUFDQTtBekRzbmlCQTtBQUNBO0F5RHBuaUJBO0FBRUE7QXpEcW5pQkE7QUFDQTtBUzduaUJBO0FnRG1CQTtBaERGQTtBZ0RLQTtBQUNBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFFQTtBekR1bWlCQTtBQUNBO0F5RHJtaUJBO0FBNVJBO0FBZ1NBO0FBUUE7QUFDQTtBQUNBO0F6RDhsaUJBO0FBQ0E7QXlENWxpQkE7QUFDQTtBQU1BO0FBQ0E7QUFDQTtBekR5bGlCQTtBQUNBO0F5RHZsaUJBO0FoRHpKQTtBQUNBO0FBU0E7QUFDQTtBQU9BO0FnRDRJQTtBekQwbGlCQTtBQUNBO0F5RHZsaUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBekR5bGlCQTtBQUNBO0F5RGpsaUJBO0FBQ0E7QXpEbWxpQkE7QUFDQTtBMER4NmlCQTtBQUNBO0ExRDA2aUJBO0FBQ0E7QTBEeDZpQkE7QUFDQTtBQUNBO0FBQ0E7QTFEMDZpQkE7QUFDQTtBd0RyN2lCQTtBQUdBO0FBRUE7QUFHQTtBeERrN2lCQTtBd0QvNmlCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F4RGk3aUJBO0F3RDc2aUJBO0EvQ21KQTtBQUNBO0FBU0E7QUFDQTtBQU9BO0ErQ2xLQTtBQUNBO0F4RGs3aUJBO0F3RDk2aUJBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBeERnN2lCQTtBd0QzNmlCQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBeEQ2NmlCQTtBd0R6NmlCQTtBQUNBO0FBQ0E7QUFHQTtBeER5NmlCQTtBd0R0NmlCQTtBQUNBO0FBQ0E7QUFDQTtBeER3NmlCQTtBd0RyNmlCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F4RHU2aUJBO0F3RHI2aUJBO0FBQ0E7QUFDQTtBeER1NmlCQTtBd0RuNmlCQTtBQUNBO0EvQ3dGQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0ErQ3BHQTtBQUNBO0F4RHU2aUJBO0F3RHI2aUJBO0FBQ0E7QXhEdTZpQkE7QXdEcDZpQkE7QUFDQTtBeERzNmlCQTtBd0RoNmlCQTtBL0NzRUE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBK0NuRkE7QUFDQTtBQUNBO0F4RHE2aUJBO0F3RG42aUJBO0FBQ0E7QXhEcTZpQkE7QXdEbDZpQkE7QUFDQTtBeERvNmlCQTtBd0QvNWlCQTtBQUNBO0FBQ0E7QUFDQTtBeERpNmlCQTtBd0Q1NWlCQTtBQUNBO0F4RDg1aUJBO0F3RDM1aUJBO0EvQ3lDQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0ErQ3REQTtBQUNBO0F4RGc2aUJBO0F3RDc1aUJBO0FBQ0E7QXhEKzVpQkE7QXdEejVpQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBeEQyNWlCQTtBd0R2NWlCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F4RHk1aUJBO0FTcHhpQkE7QStDNUlBO0EvQzZJQTtBQUNBO0FBQ0E7QVR1eGlCQTtBU3J4aUJBO0FBQ0E7QUFDQTtBQUNBO0FUdXhpQkE7QUFDQTtBd0Q5NWlCQTtBQUVBO0FBQ0E7QXhEKzVpQkE7QXdEaDZpQkE7QUFDQTtBeERrNmlCQTtBd0RuNmlCQTtBQUNBO0F4RHE2aUJBO0FBQ0E7QXdEajZpQkE7QUFDQTtBQUNBO0F4RG02aUJBO0F3RHg1aUJBO0EvQ3lGQTtBK0N0RkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBeER5NWlCQTtBd0R0NWlCQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QXhEdzVpQkE7QXdEdDVpQkE7QUFDQTtBeER3NWlCQTtBd0RwNWlCQTtBL0N2Q0E7QUFDQTtBQVNBO0FBQ0E7QUFPQTtBK0N3QkE7QUFDQTtBQUNBO0F4RHk1aUJBO0F3RHY1aUJBO0FBQ0E7QXhEeTVpQkE7QXdEcjVpQkE7QS9DbkRBO0FBQ0E7QUFTQTtBQUNBO0FBT0E7QUFJQTtBK0NnQ0E7QUFDQTtBeEQyNWlCQTtBUzEzaUJBO0ErQzFCQTtBQUNBO0FBQUE7QXhEdTVpQkE7QUFDQTtBUy8zaUJBO0ErQ2pCQTtBQUNBO0FBQUE7QXhEbTVpQkE7QXdEaDVpQkE7QUFDQTtBeERrNWlCQTtBQUNBO0FTdjRpQkE7QStDOVBBO0FBd1BBO0F4RGk1aUJBO0F3RC80aUJBO0FBQ0E7QXhEaTVpQkE7QXdEOTRpQkE7QS9DeEZBO0FBQ0E7QUFTQTtBQUNBO0FBT0E7QStDeUVBO0F4RG01aUJBO0F3RGg1aUJBO0FBQ0E7QUFDQTtBeERrNWlCQTtBd0QvNGlCQTtBQUNBO0F4RGk1aUJBO0F3RDk0aUJBO0FBQ0E7QXhEZzVpQkE7QXdENzRpQkE7QS9DM0dBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QStDOEZBO0F4RGs1aUJBO0F3RC80aUJBO0FBQ0E7QUFDQTtBeERpNWlCQTtBd0Q5NGlCQTtBL0N0SEE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBK0N5R0E7QXhEbTVpQkE7QXdEaDVpQkE7QUFDQTtBeERrNWlCQTtBQUNBO0FTeDdpQkE7QStDOVBBO0FBeVNBO0F4RGk1aUJBO0F3RC80aUJBO0EvQ3JJQTtBQUNBO0FBU0E7QUFDQTtBQU9BO0FUeWdqQkE7QXdEbDVpQkE7QUFDQTtBQUNBO0F4RG81aUJBO0F3RGo1aUJBO0EvQ3JDQTtBVHk3aUJBO0F3RGg1aUJBO0EvQ2xKQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FUeWhqQkE7QUFDQTtBQUNBO0F5RHhzakJBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBekR1c2pCQTtBeURyc2pCQTtBQUNBO0FBQ0E7QXpEdXNqQkE7QXlEbnNqQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXpEcXNqQkE7QXlEbHNqQkE7QUFDQTtBekRvc2pCQTtBeUR4cmpCQTtBaERnT0E7QWdEN05BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F6RHlyakJBO0F5RHRyakJBO0FBQ0E7QXpEd3JqQkE7QXlEanJqQkE7QUF0RUE7QUF5RUE7QUFLQTtBQUNBO0FBQ0E7QXpEOHFqQkE7QXlEM3FqQkE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdBO0FBQUE7QUFDQTtBekQycWpCQTtBeURqcWpCQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBekRncWpCQTtBeUQ3cGpCQTtBaERnREE7QUFDQTtBQVNBO0FBQ0E7QUFPQTtBZ0Q5REE7QUFDQTtBekRpcWpCQTtBeUQ5cGpCQTtBaER3Q0E7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBZ0RyREE7QXpEbXFqQkE7QXlENXBqQkE7QUFDQTtBQUNBO0FBQ0E7QXpEOHBqQkE7QXlENXBqQkE7QUFDQTtBekQ4cGpCQTtBeUQxcGpCQTtBaERvQkE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBZ0RqQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBekQrcGpCQTtBeUQxcGpCQTtBQUNBO0FBQ0E7QUFDQTtBekQ0cGpCQTtBeUR6cGpCQTtBaERFQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FnRGZBO0F6RDhwakJBO0F5RHBwakJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXpEc3BqQkE7QXlEbHBqQkE7QUFDQTtBekRvcGpCQTtBeURqcGpCQTtBQUNBO0FBQ0E7QUFDQTtBekRtcGpCQTtBeUQvb2pCQTtBQUNBO0FBQ0E7QXpEaXBqQkE7QXlEOW9qQkE7QUFDQTtBQUNBO0F6RGdwakJBO0F5RDdvakJBO0FBQ0E7QXpEK29qQkE7QXlEem9qQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0F6RHNvakJBO0F5RHBvakJBO0FBQ0E7QXpEc29qQkE7QXlEbm9qQkE7QUFDQTtBQUNBO0FBQ0E7QXpEcW9qQkE7QXlEbm9qQkE7QUFDQTtBekRxb2pCQTtBeURqb2pCQTtBQUVBO0F6RGtvakJBO0F5RDVuakJBO0FBQ0E7QUFDQTtBQUNBO0F6RDhuakJBO0F5RDNuakJBO0FBRUE7QXpENG5qQkE7QVNub2pCQTtBZ0RtQkE7QWhERkE7QWdES0E7QUFDQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBRUE7QXpENm1qQkE7QXlEMW1qQkE7QUE1UkE7QUFnU0E7QUFRQTtBQUNBO0FBQ0E7QXpEbW1qQkE7QXlEaG1qQkE7QUFDQTtBQU1BO0FBQ0E7QUFDQTtBekQ2bGpCQTtBeUQxbGpCQTtBaER6SkE7QUFDQTtBQVNBO0FBQ0E7QUFPQTtBZ0Q0SUE7QXpENmxqQkE7QXlEemxqQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F6RDJsakJBO0FBQ0E7QUFDQTtBeURwbGpCQTtBQUNBO0F6RHNsakJBO0FBQ0E7QUlsN2pCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFNQTtBQUVBO0FBQ0E7QUo4NmpCQTtBQUNBO0FJNTZqQkE7OztBQUdBO0FBQ0E7QUFDQTtBQUlBO0FKMjZqQkE7QUFDQTtBSW42akJBO0FBQ0E7QUpxNmpCQTtBQUNBO0FJcDZqQkE7QUFIQTtBQUlBO0FKdTZqQkE7QUFDQTtBSW42akJBOztBQUVBO0FKcTZqQkE7QUFDQTtBSWw2akJBO0FBQ0E7QUpvNmpCQTtBQUNBO0FJbDZqQkE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FKbzZqQkE7QUFDQTtBSWw2akJBO0FBQ0E7QUpvNmpCQTtBQUNBO0FJbDZqQkE7QUFDQTtBSm82akJBO0FBQ0E7QUlsNmpCQTtBQUNBO0FBQ0E7QUpvNmpCQTtBQUNBO0FJbDZqQkE7QUFDQTtBSm82akJBO0FBQ0E7QUlsNmpCQTtBQUNBO0FBQ0E7QUFDQTtBSm82akJBO0FBQ0E7QUlsNmpCQTs7OztBQUlBO0FKbzZqQkE7QUFDQTtBSzcvakJBO0FBREE7QUFFQTtBTGdna0JBO0FBQ0E7QUszL2pCQTtBQURBO0FBRUE7QUw4L2pCQTtBQUNBO0FLei9qQkE7QUFEQTtBQUVBO0FMNC9qQkE7QUFDQTtBS3YvakJBO0FBREE7QUFFQTtBTDAvakJBO0FBQ0E7QUtoL2pCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBTGcvakJBO0FBQ0E7QUsvK2pCQTtBQUNBO0FBQ0E7QUxpL2pCQTtBQUNBO0FNaDlqQkE7QUFDQTtBQUNBO0FBQ0E7QU5rOWpCQTtBTWg5akJBO0FBQ0E7QUFDQTtBTms5akJBO0FNaDlqQkE7QUFDQTtBQUNBO0FOazlqQkE7QU1oOWpCQTtBQUNBO0FBQ0E7QU5rOWpCQTtBQUNBO0FNOThqQkE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QU44OGpCQTtBQUNBO0FNMThqQkE7QUFBQTtBTjY4akJBO0FBQ0E7QU0xOGpCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUE1RkE7QUFnR0E7QUFDQTtBQUNBO0FBQ0E7QU4wOGpCQTtBQUNBO0FNdjhqQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUF0SEE7QUEwSEE7QU51OGpCQTtBQUNBO0FNcjhqQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXBIQTtBQXdIQTtBQUNBO0FOcThqQkE7QUFDQTtBTWo4akJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QU5tOGpCQTtBQUNBO0FNbDhqQkE7QUFFQTtBQUNBO0FObThqQkE7QUFDQTtBTTk3akJBO0FBQ0E7QUFDQTtBTmc4akJBO0FBQ0E7QU03N2pCQTtBQUNBO0FOKzdqQkE7QUFDQTtBTTc3akJBO0FBQ0E7QU4rN2pCQTtBQUNBO0FNNTdqQkE7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FONDdqQkE7QUFDQTtBTXg3akJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBTjA3akJBO0FBQ0E7QU12N2pCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QU55N2pCQTtBQUNBO0FNeDdqQkE7QUFFQTtBQUNBO0FOeTdqQkE7QUFDQTtBTW43akJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBTnE3akJBO0FBQ0E7QU1wN2pCQTtBQUNBO0FBQ0E7QU5zN2pCQTtBQUNBO0FNcDdqQkE7QUFDQTtBQUNBO0FOczdqQkE7QUFDQTtBTXA3akJBO0FBRUE7QUFDQTtBQUNBO0FOcTdqQkE7QUFDQTtBTWg3akJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBTms3akJBO0FBQ0E7QU1qN2pCQTtBQUNBO0FBQ0E7QU5tN2pCQTtBQUNBO0FNajdqQkE7QUFFQTtBQUNBO0FBQ0E7QU5rN2pCQTtBQUNBO0FNOTZqQkE7QUFDQTtBQUVBO0FOKzZqQkE7QUFDQTtBTTc2akJBO0FBQUE7QU5nN2pCQTtBQUNBO0FNLzZqQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QU5pN2pCQTtBQUNBO0FNaDdqQkE7QUFBQTtBTm03akJBO0FBQ0E7QU1oN2pCQTtBQUVBO0FOaTdqQkE7QUFDQTtBTWg3akJBO0FBQUE7QU5tN2pCQTtBQUNBO0FNajdqQkE7QUFFQTtBQUVBO0FOaTdqQkE7QUFDQTtBTXo2akJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBTjI2akJBO0FBQ0E7QU16NmpCQTtBQUFBO0FONDZqQkE7QUFDQTtBTTM2akJBO0FBQ0E7QUFDQTtBQUNBO0FONjZqQkE7QUFDQTtBTTU2akJBO0FBQUE7QU4rNmpCQTtBQUNBO0FNNzZqQkE7O0FBRUE7QU4rNmpCQTtBQUNBO0FNMzZqQkE7QUFFQTtBTjQ2akJBO0FBQ0E7QU0xNmpCQTtBQUVBO0FBQ0E7QUFDQTtBTjI2akJBO0FBQ0E7QU1wNmpCQTtBQUNBO0FOczZqQkE7QUFDQTtBTWg2akJBO0FBQ0E7QU5rNmpCQTtBQUNBO0FNajZqQkE7QUFDQTtBTm02akJBO0FBQ0E7QU1oNmpCQTtBQUNBO0FOazZqQkE7QUFDQTtBTTM1akJBO0FBQ0E7QUFDQTtBQUNBO0FONjVqQkE7QUFDQTtBTTU1akJBO0FBQ0E7QU44NWpCQTtBQUNBO0FNNTVqQkE7QUFFQTtBQUNBO0FONjVqQkE7QUFDQTtBTTE1akJBO0FBQ0E7QU40NWpCQTtBQUNBO0FNMzVqQkE7QUFDQTtBTjY1akJBO0FBQ0E7QWdCdjFrQkE7QUFDQTtBaEJ5MWtCQTtBQUNBO0FnQnIxa0JBO0FBQ0E7QUFDQTtBaEJ1MWtCQTtBQUNBO0FnQnQxa0JBO0FBSkE7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBaEJ5MWtCQTtBQUNBO0FnQnQxa0JBO0FBQ0E7QUFDQTtBQUNBO0FoQncxa0JBO0FBQ0E7QWdCeDBrQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBaEIwMGtCQTtBQUNBO0FnQnYwa0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FoQnkwa0JBO0FBQ0E7QWdCcjBrQkE7QUFDQTtBQUNBO0FBQ0E7QWhCdTBrQkE7QUFDQTtBZ0JyMGtCQTtBQUNBO0FoQnUwa0JBO0FBQ0E7QWdCcjBrQkE7QVAwR0E7QUFDQTtBQVNBO0FBQ0E7QUFPQTtBT3pIQTtBQUNBO0FBQ0E7QWhCMDBrQkE7QUFDQTtBUzdta0JBO0FPbk9BO0FQb09BO0FBQ0E7QUFDQTtBVGdua0JBO0FBQ0E7QVMvbWtCQTtBQUNBO0FBQ0E7QUFDQTtBVGlua0JBO0FBQ0E7QWdCbjFrQkE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBaEJxMWtCQTtBQUNBO0FnQm4xa0JBO0FQMEZBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QU92R0E7QUFDQTtBQUNBO0FoQncxa0JBO0FBQ0E7QVMzb2tCQTtBT25OQTtBUG9OQTtBQUNBO0FBQ0E7QVQ4b2tCQTtBQUNBO0FTN29rQkE7QUFDQTtBQUNBO0FBQ0E7QVQrb2tCQTtBQUNBO0FnQmoya0JBO0FBQ0E7QWhCbTJrQkE7QUFDQTtBZ0I3MWtCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWhCKzFrQkE7QUFDQTtBZ0I3MWtCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QWhCKzFrQkE7QUFDQTtBUy9za0JBO0FPNUlBO0FBQ0E7QUFDQTtBaEI4MWtCQTtBQUNBO0FnQjUxa0JBO0FBQ0E7QUFDQTtBaEI4MWtCQTtBQUNBO0FnQjUxa0JBO0FBQ0E7QUFDQTtBQUNBO0FoQjgxa0JBO0FBQ0E7QWdCNTFrQkE7QUFDQTtBaEI4MWtCQTtBQUNBO0FTcHVrQkE7QU9wUUE7QUErSUE7QWhCNjFrQkE7QUFDQTtBZ0I1MWtCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FoQjgxa0JBO0FBQ0E7QWdCMzFrQkE7QUFDQTtBQUNBO0FoQjYxa0JBO0FBQ0E7QWdCMzFrQkE7QUFDQTtBQUNBO0FoQjYxa0JBO0FBQ0E7QWdCMzFrQkE7QVBTQTtBQUNBO0FBU0E7QUFDQTtBQU9BO0FPekJBO0FBRUE7QWhCZzJrQkE7QUFDQTtBZ0I5MWtCQTtBUEVBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QU9mQTtBQUNBO0FoQm0ya0JBO0FBQ0E7QWdCajJrQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FoQm0ya0JBO0FBQ0E7QW1CMWhsQkE7QUFDQTtBQUNBO0FBQ0E7QW5CNGhsQkE7QUFDQTtBbUJ4aGxCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBbkIwaGxCQTtBQUNBO0FtQm5obEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QW5CcWhsQkE7QUFDQTtBbUJsaGxCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBbkJvaGxCQTtBQUNBO0FtQmxobEJBO0FWNEhBO0FBQ0E7QUFTQTtBQUNBO0FBT0E7QVU1SUE7QUFFQTtBQUNBO0FBQ0E7QW5CdWhsQkE7QUFDQTtBU3p5a0JBO0FVclBBO0FWc1BBO0FBQ0E7QUFDQTtBVDR5a0JBO0FBQ0E7QVMzeWtCQTtBQUNBO0FBQ0E7QUFDQTtBVDZ5a0JBO0FBQ0E7QW1CaGlsQkE7QUFDQTtBbkJraWxCQTtBQUNBO0FtQnpobEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBbkIyaGxCQTtBQUNBO0FtQjFobEJBO0FBQ0E7QW5CNGhsQkE7QUFDQTtBbUJ4aGxCQTtBQUNBO0FuQjBobEJBO0FBQ0E7QW1CdGhsQkE7QVZtRkE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBVWhHQTtBQUNBO0FBQ0E7QW5CMmhsQkE7QUFDQTtBU3Ixa0JBO0FVNU1BO0FWNk1BO0FBQ0E7QUFDQTtBVHcxa0JBO0FBQ0E7QVN2MWtCQTtBQUNBO0FBQ0E7QUFDQTtBVHkxa0JBO0FBQ0E7QW1CbGlsQkE7QUFDQTtBQUNBO0FuQm9pbEJBO0FBQ0E7QVN2MmtCQTtBVXpMQTtBVjBMQTtBQUNBO0FBQ0E7QVQwMmtCQTtBQUNBO0FTejJrQkE7QUFDQTtBQUNBO0FBQ0E7QVQyMmtCQTtBQUNBO0FtQjFpbEJBO0FBQ0E7QUFDQTtBbkI0aWxCQTtBQUNBO0FtQmhpbEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FuQmtpbEJBO0FBQ0E7QW1CaGlsQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FWdUlBO0FUMDVrQkE7QUFDQTtBbUIxaGxCQTtBQUFBO0FuQjZobEJBO0FBQ0E7QW1CN2hsQkE7QUFBQTtBbkJnaWxCQTtBQUNBO0FtQmhpbEJBO0FBQUE7QW5CbWlsQkE7QUFDQTtBbUI5aGxCQTtBQU1BO0FBQ0E7QW5CMmhsQkE7QUFDQTtBbUJ6aGxCQTtBQUNBO0FuQjJobEJBO0FBQ0E7QW1CemhsQkE7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FuQndobEJBO0FBQ0E7QW1CcmhsQkE7QVZaQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FVREE7QUFDQTtBbkIwaGxCQTtBQUNBO0FtQnhobEJBO0FWbkJBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QVVNQTtBQUNBO0FBQ0E7QW5CNmhsQkE7QUFDQTtBbUI1aGxCQTtBQUNBO0FuQjhobEJBO0FBQ0E7QVNsK2tCQTtBVXZEQTtBQUNBO0FuQjRobEJBO0FBQ0E7QW1CMWhsQkE7QUFDQTtBQUNBO0FuQjRobEJBO0FBQ0E7QVM1K2tCQTtBVXBRQTtBQXlOQTtBQUNBO0FuQjJobEJBO0FBQ0E7QW1CMWhsQkE7QUFDQTtBQUNBO0FBQ0E7QW5CNGhsQkE7QUFDQTtBbUIxaGxCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FuQjRobEJBO0FBQ0E7QW1CMWhsQkE7QVY3REE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBVDhrbEJBO0FBQ0E7QW1COWhsQkE7QUFDQTtBbkJnaWxCQTtBQUNBO0FtQjlobEJBO0FWckVBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QVV3REE7QUFDQTtBbkJtaWxCQTtBQUNBO0FtQmppbEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FuQm1pbEJBO0FBQ0E7QW1CamlsQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QW5CbWlsQkE7QUFDQTtBbUIvaGxCQTtBQUFBO0FuQmtpbEJBO0FBQ0E7QW1CbGlsQkE7QUFBQTtBbkJxaWxCQTtBQUNBO0FtQnJpbEJBO0FBQUE7QW5Cd2lsQkE7QUFDQTtBbUJ4aWxCQTtBQUFBO0FuQjJpbEJBO0FBQ0E7QW1CemlsQkE7QVZ0R0E7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBQU1BO0FVbUZBO0FuQitpbEJBO0FBQ0E7QW1CN2lsQkE7QVY1R0E7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBVStGQTtBbkJramxCQTtBQUNBO0FtQmpqbEJBO0FBQ0E7QUFDQTtBbkJtamxCQTtBQUNBO0FtQmxobEJBO0FBQ0E7QVZ0SkE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBVCtwbEJBO0FBQ0E7QW1COWdsQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBbkJnaGxCQTtBQUNBO0FtQi9nbEJBO0FBQUE7QW5Ca2hsQkE7QUFDQTtBbUI5Z2xCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBbkJnaGxCQTtBQUNBO0FTM21sQkE7QVVtR0E7QUFDQTtBQUNBO0FuQjJnbEJBO0FBQ0E7QW1CMWdsQkE7QUFBQTtBbkI2Z2xCQTtBQUNBO0EwQzUwbEJBO0FBQ0E7QTFDODBsQkE7QUFDQTtBUy9nbEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QVRpaGxCQTtBQUNBO0FTaGhsQkE7QUFDQTtBQUNBO0FBQ0E7QVRraGxCQTtBQUNBO0ErQ2wzbEJBO0FBQ0E7QUFDQTtBQUNBO0EvQ28zbEJBO0FBQ0E7QVM1b2xCQTtBc0NsT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBL0NpM2xCQTtBQUNBO0ErQzcybEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0EvQysybEJBO0FBQ0E7QStDNzJsQkE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QS9DNjJsQkE7QUFDQTtBK0MxMmxCQTtBQUNBO0FBQ0E7QUFDQTtBL0M0MmxCQTtBQUNBO0ErQ3gybEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F0QzhMQTtBVDZxbEJBO0FBQ0E7QStDdjJsQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0EvQ3kybEJBO0FBQ0E7QStDbDJsQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBdENrS0E7QVRtc2xCQTtBQUNBO0ErQ2gybEJBO0F0Q21EQTtBQUNBO0FBU0E7QUFDQTtBQU9BO0FzQzlEQTtBQUNBO0FBQ0E7QS9DaTJsQkE7QUFDQTtBK0M5MWxCQTtBdEMrSUE7QVRrdGxCQTtBQUNBO0ErQzkxbEJBO0FBQ0E7QUFDQTtBQUNBO0EvQ2cybEJBO0FBQ0E7QStDOTFsQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0EvQ2cybEJBO0FBQ0E7QStDOTFsQkE7QXRDb0JBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QXNDakNBO0FBQ0E7QUFDQTtBL0NtMmxCQTtBQUNBO0ErQ2wybEJBO0FBQ0E7QUFDQTtBL0NvMmxCQTtBQUNBO0ErQ2oybEJBO0F0Q09BO0FBQ0E7QUFTQTtBQUNBO0FBT0E7QXNDdkJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QS9DdTJsQkE7QUFDQTtBK0NwMmxCQTtBQUVBO0FBQ0E7QS9DcTJsQkE7QUFDQTtBK0NqMmxCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QS9DbTJsQkE7QUFDQTtBK0NoMmxCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBL0NrMmxCQTtBQUNBO0ErQzkxbEJBO0FBQ0E7QS9DZzJsQkE7QUFDQTtBK0M5MWxCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0EvQ2cybEJBO0FBQ0E7QStDNTFsQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QS9DODFsQkE7QUFDQTtBK0N0MWxCQTtBQUNBO0EvQ3cxbEJBO0FBQ0E7QStDajFsQkE7QUFDQTtBL0NtMWxCQTtBQUNBO0ErQ3IwbEJBO0FBQ0E7QS9DdTBsQkE7QUFDQTtBK0NyMGxCQTtBQUNBO0EvQ3UwbEJBO0FBQ0E7QStDcDBsQkE7QUFDQTtBQUNBO0EvQ3MwbEJBO0FBQ0E7QStDcDBsQkE7QUFDQTtBQUNBO0EvQ3MwbEJBO0FBQ0E7QStDajBsQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0EvQ20wbEJBO0FBQ0E7QStDajBsQkE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0EvQ20wbEJBO0FBQ0E7QStDajBsQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0EvQ20wbEJBO0FBQ0E7QStDOXpsQkE7QUFHQTtBQUNBO0FBQ0E7QS9DOHpsQkE7QUFDQTtBK0MxemxCQTtBQUNBO0EvQzR6bEJBO0FBQ0E7QStDMXpsQkE7QUFDQTtBL0M0emxCQTtBQUNBO0ErQ3h6bEJBO0FBQ0E7QUFDQTtBQUNBO0EvQzB6bEJBO0FBQ0E7QStDcHpsQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QS9Dc3psQkE7QUFDQTtBK0NsemxCQTtBQUNBO0FBQ0E7QUFDQTtBL0NvemxCQTtBQUNBO0ErQ2x6bEJBO0F0Q3JMQTtBQUNBO0FBU0E7QUFDQTtBQU9BO0FzQ3FLQTtBQUNBO0EvQ3d6bEJBO0FBQ0E7QStDbnpsQkE7QUFFQTtBL0NvemxCQTtBQUNBO0ErQ2x6bEJBO0FBQ0E7QS9Db3psQkE7QUFDQTtBK0NsemxCQTtBQUNBO0FBQ0E7QUFDQTtBL0NvemxCQTtBQUNBO0ErQ2x6bEJBO0FBQ0E7QUFDQTtBL0NvemxCQTtBQUNBO0ErQ2x6bEJBO0FBQ0E7QUFDQTtBQUNBO0EvQ296bEJBO0FBQ0E7QTJEcnJtQkE7QUFDQTtBQUNBO0FDbUNBO0E1RHFwbUJBO0FBQ0E7QTJEcnJtQkE7QUNxQkE7QUFDQTtBQUNBO0FBQ0E7QTVEbXFtQkE7QUFDQTtBMkR0cm1CQTtBbEQrSkE7QUFDQTtBQVNBO0FBQ0E7QUFPQTtBa0Q5S0E7QUFDQTtBQUNBO0FBQ0E7QTNEMnJtQkE7QUFDQTtBUzE2bEJBO0FrRHhSQTtBbER5UkE7QUFDQTtBQUNBO0FUNjZsQkE7QUFDQTtBUzU2bEJBO0FBQ0E7QUFDQTtBQUNBO0FUODZsQkE7QUFDQTtBMkRuc21CQTtBbERtSkE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBa0RoS0E7QUFDQTtBQUNBO0FBQ0E7QTNEd3NtQkE7QUFDQTtBU244bEJBO0FrRDVRQTtBbEQ2UUE7QUFDQTtBQUNBO0FUczhsQkE7QUFDQTtBU3I4bEJBO0FBQ0E7QUFDQTtBQUNBO0FUdThsQkE7QUFDQTtBMkRsdG1CQTtBQUNBO0FBQ0E7QTNEb3RtQkE7QUFDQTtBMkQ1c21CQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBbERpT0E7QVQ4K2xCQTtBQUNBO0FTLzlsQkE7QWtEdlBBO0FsRHdQQTtBQUNBO0FBQ0E7QVRrK2xCQTtBQUNBO0FTaitsQkE7QUFDQTtBQUNBO0FBQ0E7QVRtK2xCQTtBQUNBO0EyRHh0bUJBO0FBQ0E7QUFDQTtBM0QwdG1CQTtBQUNBO0EyRHJ0bUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0EzRHV0bUJBO0FBQ0E7QVMxaG1CQTtBa0R6TEE7QWxEaUdBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QVQwbW1CQTtBQUNBO0EyRHh0bUJBO0FsRDZGQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FrRDFHQTtBQUNBO0EzRDZ0bUJBO0FBQ0E7QTJEM3RtQkE7QUFDQTtBbEQ4TEE7QVRnaW1CQTtBQUNBO0E2RDV5bUJBO0FBQ0E7QUFDQTtBRDBCQTtBNURxeG1CQTtBQUNBO0E2RDV5bUJBO0FEWUE7QUFDQTtBQUNBO0FBQ0E7QTVEbXltQkE7QUFDQTtBNkQveW1CQTtBcER3SkE7QUFDQTtBQVNBO0FBQ0E7QUFPQTtBb0R2S0E7QUFDQTtBQUNBO0E3RG96bUJBO0FBQ0E7QVN6aW1CQTtBb0RqUkE7QXBEa1JBO0FBQ0E7QUFDQTtBVDRpbUJBO0FBQ0E7QVMzaW1CQTtBQUNBO0FBQ0E7QUFDQTtBVDZpbUJBO0FBQ0E7QTZEN3ptQkE7QUFDQTtBN0Qrem1CQTtBQUNBO0E2RDF6bUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0E3RDR6bUJBO0FBQ0E7QVN0a21CQTtBb0RoUUE7QXBEaVFBO0FBQ0E7QUFDQTtBVHlrbUJBO0FBQ0E7QVN4a21CQTtBQUNBO0FBQ0E7QUFDQTtBVDBrbUJBO0FBQ0E7QTZEcjBtQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBN0R1MG1CQTtBQUNBO0E2RHIwbUJBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUFBO0E3RG8wbUJBO0FBQ0E7QTZEL3ptQkE7QUFDQTtBN0RpMG1CQTtBQUNBO0E2RG4wbUJBO0FBQ0E7QTdEcTBtQkE7QUFDQTtBNkR2MG1CQTtBQUNBO0E3RHkwbUJBO0FBQ0E7QTZEMzBtQkE7QUFDQTtBN0Q2MG1CQTtBQUNBO0E2RC8wbUJBO0FBQ0E7QTdEaTFtQkE7QUFDQTtBNkRuMW1CQTtBQUNBO0E3RHExbUJBO0FBQ0E7QVMzcG1CQTtBb0RsTEE7QXBEMEZBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QVQydW1CQTtBQUNBO0E2RGwxbUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0E3RG8xbUJBO0FBQ0E7QVM3cW1CQTtBb0RuS0E7QUFDQTtBN0RtMW1CQTtBQUNBO0E4RHI3bUJBO0FBQ0E7QUFDQTtBRm1DQTtBNURxNW1CQTtBQUNBO0E4RHI3bUJBO0FGcUJBO0FBQ0E7QUFDQTtBQUNBO0E1RG02bUJBO0FBQ0E7QThEcjdtQkE7QUFDQTtBQUNBO0FyRHFRQTtBVG1ybUJBO0FBQ0E7QVNwcW1CQTtBcUR2UkE7QXJEd1JBO0FBQ0E7QUFDQTtBVHVxbUJBO0FBQ0E7QVN0cW1CQTtBQUNBO0FBQ0E7QUFDQTtBVHdxbUJBO0FBQ0E7QThELzdtQkE7QXJEcUpBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QXFEbEtBO0FBQ0E7QUFDQTtBOURvOG1CQTtBQUNBO0E4RGw4bUJBO0FBQ0E7QTlEbzhtQkE7QUFDQTtBOERsOG1CQTtBckR5SUE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBcUR0SkE7QUFDQTtBOUR1OG1CQTtBQUNBO0E4RHA4bUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTlEczhtQkE7QUFDQTtBOERwOG1CQTtBckQwSEE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBcUR2SUE7QUFDQTtBOUR5OG1CQTtBQUNBO0E4RHY4bUJBO0FBQ0E7QTlEeThtQkE7QUFDQTtBU2h3bUJBO0FxRHJNQTtBQUNBO0FyRHFOQTtBVG92bUJBO0FBQ0E7QThEcjhtQkE7QXJEdUdBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QVRxMW1CQTtBQUNBO0E4RHo4bUJBO0FyRG1HQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FxRGhIQTtBOUQ4OG1CQTtBQUNBO0E4RDU4bUJBO0FBQ0E7QTlEODhtQkE7QUFDQTtBOEQ1OG1CQTtBckR5RkE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBVDAybUJBO0FBQ0E7QThEaDltQkE7QUFDQTtBOURrOW1CQTtBQUNBO0ErRGxpbkJBO0FBQ0E7QUFDQTtBSDJCQTtBNUQwZ25CQTtBQUNBO0ErRDlobkJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBSEtBO0FBQ0E7QUFDQTtBQUNBO0E1RDRobkJBO0FBQ0E7QStEaGluQkE7QXREZ0pBO0FBQ0E7QUFTQTtBQUNBO0FBT0E7QXNEL0pBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QS9EcWluQkE7QUFDQTtBU3B5bUJBO0FzRHpRQTtBdEQwUUE7QUFDQTtBQUNBO0FUdXltQkE7QUFDQTtBU3R5bUJBO0FBQ0E7QUFDQTtBQUNBO0FUd3ltQkE7QUFDQTtBK0Q5aW5CQTtBQUNBO0EvRGdqbkJBO0FBQ0E7QStENWluQkE7QXREOEhBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QXNEM0lBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QS9EaWpuQkE7QUFDQTtBU2wwbUJBO0FzRHZQQTtBdER3UEE7QUFDQTtBQUNBO0FUcTBtQkE7QUFDQTtBU3AwbUJBO0FBQ0E7QUFDQTtBQUNBO0FUczBtQkE7QUFDQTtBK0Qzam5CQTtBQUNBO0EvRDZqbkJBO0FBQ0E7QStEMWpuQkE7QUFDQTtBQUNBO0EvRDRqbkJBO0FBQ0E7QStEM2puQkE7QUFFQTtBL0Q0am5CQTtBQUNBO0ErRHpqbkJBO0FBQ0E7QUFDQTtBL0Qyam5CQTtBQUNBO0ErRHpqbkJBO0F0RCtGQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FzRDVHQTtBQUNBO0EvRDhqbkJBO0FBQ0E7QVMzMm1CQTtBc0R4TkE7QXREeU5BO0FBQ0E7QUFDQTtBVDgybUJBO0FBQ0E7QVM3Mm1CQTtBQUNBO0FBQ0E7QUFDQTtBVCsybUJBO0FBQ0E7QStEdmtuQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QS9EeWtuQkE7QUFDQTtBU2o0bUJBO0FzRC9NQTtBdERnTkE7QUFDQTtBQUNBO0FUbzRtQkE7QUFDQTtBU240bUJBO0FBQ0E7QUFDQTtBQUNBO0FUcTRtQkE7QUFDQTtBK0RubG5CQTtBQUNBO0FBQ0E7QS9EcWxuQkE7QUFDQTtBK0RqbG5CQTtBdERxRUE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBc0RsRkE7QUFDQTtBQUNBO0EvRHNsbkJBO0FBQ0E7QStEbGxuQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0EvRG9sbkJBO0FBQ0E7QVN2OG1CQTtBc0R0SUE7QUFDQTtBQUNBO0FBQ0E7QS9EZ2xuQkE7QUFDQTtBK0Q5a25CQTtBQUdBO0FBQ0E7QS9EOGtuQkE7QUFDQTtBK0Q1a25CQTtBdERpQ0E7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBc0Q5Q0E7QS9EaWxuQkE7QUFDQTtBK0Qva25CQTtBQUNBO0EvRGlsbkJBO0FBQ0E7QStEL2tuQkE7QXREdUJBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QXNEcENBO0FBQ0E7QUFDQTtBL0RvbG5CQTtBQUNBO0ErRGxsbkJBO0F0RGVBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QVQwam5CQTtBQUNBO0ErRHRsbkJBO0FBQ0E7QUFDQTtBL0R3bG5CQTtBQUNBO0ErRHRsbkJBO0F0RE1BO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QXNEbkJBO0EvRDJsbkJBO0FBQ0E7QStEemxuQkE7QUFDQTtBQUNBO0FBR0E7QS9EeWxuQkE7QUFDQTtBZ0V6dW5CQTtBQUNBO0FoRTJ1bkJBO0FBQ0E7QWdFeHVuQkE7QUFDQTtBQUNBO0FoRTB1bkJBO0FBQ0E7QWdFeHVuQkE7QUFDQTtBaEUwdW5CQTtBQUNBO0FnRXp1bkJBO0FBQ0E7QWhFMnVuQkE7QVN2aG5CQTtBdURyTkE7QUFJQTtBaEU0dW5CQTtBQUNBO0FBQ0E7QWdFM3VuQkE7QUFDQTtBaEU2dW5CQTtBQUNBO0EyRHB5bkJBO0FBQ0E7QUFDQTtBQ21DQTtBNURvd25CQTtBMkRueW5CQTtBQ3FCQTtBQUNBO0FBQ0E7QUFDQTtBNURpeG5CQTtBMkRueW5CQTtBbEQrSkE7QUFDQTtBQVNBO0FBQ0E7QUFPQTtBa0Q5S0E7QUFDQTtBQUNBO0FBQ0E7QTNEd3luQkE7QVN0aG5CQTtBa0R4UkE7QWxEeVJBO0FBQ0E7QUFDQTtBVHlobkJBO0FTdmhuQkE7QUFDQTtBQUNBO0FBQ0E7QVR5aG5CQTtBQUNBO0EyRDl5bkJBO0FsRG1KQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FrRGhLQTtBQUNBO0FBQ0E7QUFDQTtBM0Rtem5CQTtBUzdpbkJBO0FrRDVRQTtBbEQ2UUE7QUFDQTtBQUNBO0FUZ2puQkE7QVM5aW5CQTtBQUNBO0FBQ0E7QUFDQTtBVGdqbkJBO0FBQ0E7QTJEM3puQkE7QUFDQTtBQUNBO0EzRDZ6bkJBO0FBQ0E7QTJEcnpuQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWxEaU9BO0FUdWxuQkE7QVN2a25CQTtBa0R2UEE7QWxEd1BBO0FBQ0E7QUFDQTtBVDBrbkJBO0FTeGtuQkE7QUFDQTtBQUNBO0FBQ0E7QVQwa25CQTtBQUNBO0EyRC96bkJBO0FBQ0E7QUFDQTtBM0RpMG5CQTtBQUNBO0EyRDV6bkJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0EzRDh6bkJBO0FTaG9uQkE7QWtEekxBO0FsRGlHQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FUZ3RuQkE7QTJEN3puQkE7QWxENkZBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QWtEMUdBO0FBQ0E7QTNEazBuQkE7QTJEL3puQkE7QUFDQTtBbEQ4TEE7QVRvb25CQTtBQUNBO0FBQ0E7QTZEajVuQkE7QUFDQTtBQUNBO0FEMEJBO0E1RDAzbkJBO0E2RGg1bkJBO0FEWUE7QUFDQTtBQUNBO0FBQ0E7QTVEdTRuQkE7QTZEbDVuQkE7QXBEd0pBO0FBQ0E7QUFTQTtBQUNBO0FBT0E7QW9EdktBO0FBQ0E7QUFDQTtBN0R1NW5CQTtBUzNvbkJBO0FvRGpSQTtBcERrUkE7QUFDQTtBQUNBO0FUOG9uQkE7QVM1b25CQTtBQUNBO0FBQ0E7QUFDQTtBVDhvbkJBO0FBQ0E7QTZEOTVuQkE7QUFDQTtBN0RnNm5CQTtBNkQxNW5CQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBN0Q0NW5CQTtBU3JxbkJBO0FvRGhRQTtBcERpUUE7QUFDQTtBQUNBO0FUd3FuQkE7QVN0cW5CQTtBQUNBO0FBQ0E7QUFDQTtBVHdxbkJBO0FBQ0E7QTZEbjZuQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBN0RxNm5CQTtBNkRsNm5CQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFBQTtBN0RpNm5CQTtBNkQzNW5CQTtBQUNBO0E3RDY1bkJBO0E2RDk1bkJBO0FBQ0E7QTdEZzZuQkE7QTZEajZuQkE7QUFDQTtBN0RtNm5CQTtBNkRwNm5CQTtBQUNBO0E3RHM2bkJBO0E2RHY2bkJBO0FBQ0E7QTdEeTZuQkE7QTZEMTZuQkE7QUFDQTtBN0Q0Nm5CQTtBU2p2bkJBO0FvRGxMQTtBcEQwRkE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBVGkwbkJBO0E2RHY2bkJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0E3RHk2bkJBO0FBQ0E7QVNsd25CQTtBb0RuS0E7QUFDQTtBN0R3Nm5CQTtBQUNBO0FBQ0E7QThEM2dvQkE7QUFDQTtBQUNBO0FGbUNBO0E1RDIrbkJBO0E4RDFnb0JBO0FGcUJBO0FBQ0E7QUFDQTtBQUNBO0E1RHcvbkJBO0E4RHpnb0JBO0FBQ0E7QUFDQTtBckRxUUE7QVR1d25CQTtBU3Z2bkJBO0FxRHZSQTtBckR3UkE7QUFDQTtBQUNBO0FUMHZuQkE7QVN4dm5CQTtBQUNBO0FBQ0E7QUFDQTtBVDB2bkJBO0FBQ0E7QThEamhvQkE7QXJEcUpBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QXFEbEtBO0FBQ0E7QUFDQTtBOURzaG9CQTtBOERuaG9CQTtBQUNBO0E5RHFob0JBO0E4RGxob0JBO0FyRHlJQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FxRHRKQTtBQUNBO0E5RHVob0JBO0E4RG5ob0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTlEcWhvQkE7QThEbGhvQkE7QXJEMEhBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QXFEdklBO0FBQ0E7QTlEdWhvQkE7QThEcGhvQkE7QUFDQTtBOURzaG9CQTtBUzUwbkJBO0FxRHJNQTtBQUNBO0FyRHFOQTtBVGcwbkJBO0E4RGhob0JBO0FyRHVHQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FUZzZuQkE7QThEbmhvQkE7QXJEbUdBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QXFEaEhBO0E5RHdob0JBO0E4RHJob0JBO0FBQ0E7QTlEdWhvQkE7QThEcGhvQkE7QXJEeUZBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QVRrN25CQTtBOER2aG9CQTtBQUNBO0E5RHlob0JBO0FBQ0E7QUFDQTtBK0QxbW9CQTtBQUNBO0FBQ0E7QUgyQkE7QTVEa2xvQkE7QStEcm1vQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FIS0E7QUFDQTtBQUNBO0FBQ0E7QTVEbW1vQkE7QStEdG1vQkE7QXREZ0pBO0FBQ0E7QUFTQTtBQUNBO0FBT0E7QXNEL0pBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QS9EMm1vQkE7QVN6Mm5CQTtBc0R6UUE7QXREMFFBO0FBQ0E7QUFDQTtBVDQybkJBO0FTMTJuQkE7QUFDQTtBQUNBO0FBQ0E7QVQ0Mm5CQTtBQUNBO0ErRGxub0JBO0FBQ0E7QS9Eb25vQkE7QStEL21vQkE7QXREOEhBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QXNEM0lBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QS9Eb25vQkE7QVNwNG5CQTtBc0R2UEE7QXREd1BBO0FBQ0E7QUFDQTtBVHU0bkJBO0FTcjRuQkE7QUFDQTtBQUNBO0FBQ0E7QVR1NG5CQTtBQUNBO0ErRDVub0JBO0FBQ0E7QS9EOG5vQkE7QStEMW5vQkE7QUFDQTtBQUNBO0EvRDRub0JBO0ErRDFub0JBO0FBRUE7QS9EMm5vQkE7QStEdm5vQkE7QUFDQTtBQUNBO0EvRHlub0JBO0ErRHRub0JBO0F0RCtGQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FzRDVHQTtBQUNBO0EvRDJub0JBO0FTdjZuQkE7QXNEeE5BO0F0RHlOQTtBQUNBO0FBQ0E7QVQwNm5CQTtBU3g2bkJBO0FBQ0E7QUFDQTtBQUNBO0FUMDZuQkE7QUFDQTtBK0Rsb29CQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBL0Rvb29CQTtBUzM3bkJBO0FzRC9NQTtBdERnTkE7QUFDQTtBQUNBO0FUODduQkE7QVM1N25CQTtBQUNBO0FBQ0E7QUFDQTtBVDg3bkJBO0FBQ0E7QStENW9vQkE7QUFDQTtBQUNBO0EvRDhvb0JBO0FBQ0E7QStEMW9vQkE7QXREcUVBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QXNEbEZBO0FBQ0E7QUFDQTtBL0Qrb29CQTtBK0Qxb29CQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QS9ENG9vQkE7QVM5L25CQTtBc0R0SUE7QUFDQTtBQUNBO0FBQ0E7QS9EdW9vQkE7QStEcG9vQkE7QUFHQTtBQUNBO0EvRG9vb0JBO0ErRGpvb0JBO0F0RGlDQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FzRDlDQTtBL0Rzb29CQTtBK0Rub29CQTtBQUNBO0EvRHFvb0JBO0ErRGxvb0JBO0F0RHVCQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FzRHBDQTtBQUNBO0FBQ0E7QS9EdW9vQkE7QStEcG9vQkE7QXREZUE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBVDRtb0JBO0ErRHZvb0JBO0FBQ0E7QUFDQTtBL0R5b29CQTtBK0R0b29CQTtBdERNQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FzRG5CQTtBL0Qyb29CQTtBK0R4b29CQTtBQUNBO0FBQ0E7QUFHQTtBL0R3b29CQTtBQUNBO0FBQ0E7QWlFbHlvQkE7QUFDQTtBQUNBO0FBWUE7QUFDQTtBQUNBO0FqRXl4b0JBO0FBQ0E7QWlFcnhvQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBakV1eG9CQTtBQUNBO0FpRW54b0JBO0FBQ0E7QUFDQTtBQUNBO0FqRXF4b0JBO0FBQ0E7QWlFbHhvQkE7QUFDQTtBQUNBO0FBQ0E7QWpFb3hvQkE7QUFDQTtBU3Jsb0JBO0F3RDNPQTtBQWdEQTtBakVveG9CQTtBQUNBO0FpRS93b0JBO0FBQ0E7QWpFaXhvQkE7QUFDQTtBaUUvd29CQTtBeER5RkE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBd0R0R0E7QUFDQTtBakVveG9CQTtBQUNBO0FpRWx4b0JBO0FBQ0E7QWpFb3hvQkE7QUFDQTtBaUVseG9CQTtBQUNBO0FqRW94b0JBO0FBQ0E7QWlFanhvQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F4RDZLQTtBVHVtb0JBO0FBQ0E7QWlFOXdvQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBakVneG9CQTtBQUNBO0FpRXp3b0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWpFMndvQkE7QUFDQTtBaUV0d29CQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWpFd3dvQkE7QUFDQTtBaUVwd29CQTtBQUNBO0FqRXN3b0JBO0FBQ0E7QWlFN3ZvQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FqRSt2b0JBO0FBQ0E7QWlFN3ZvQkE7QXhESUE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBd0RqQkE7QWpFa3dvQkE7QUFDQTtBaUUzdm9CQTtBQTFKQTtBQTJKQTtBQUNBO0FqRTh2b0JBO0FBQ0E7QWlFN3ZvQkE7QUFDQTtBQUNBO0FqRSt2b0JBO0FBQ0E7QWlFN3ZvQkE7QUFDQTtBakUrdm9CQTtBQUNBO0FpRTd2b0JBO0F4RHBCQTtBQUNBO0FBU0E7QUFDQTtBQU9BO0F3REtBO0FqRWt3b0JBO0FBQ0E7QWlFOXZvQkE7QUFDQTtBQUNBO0F4RDJFQTtBVHNyb0JBO0FBQ0E7QWlFN3ZvQkE7QUFDQTtBakUrdm9CQTtBQUNBO0FpRTN2b0JBO0FBQ0E7QWpFNnZvQkE7QUFDQTtBaUU1dm9CQTtBQUNBO0FqRTh2b0JBO0FBQ0E7QWlFNXZvQkE7QUFDQTtBakU4dm9CQTtBQUNBO0FpRTN2b0JBO0F4RHJEQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0F3RHdDQTtBakVnd29CQTtBQUNBO0FpRTd2b0JBO0FBQ0E7QUFDQTtBQUNBO0FqRSt2b0JBO0FBQ0E7QW9DNytvQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBcEMrK29CQTtBQUNBO0FvQzkrb0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FwQ2cvb0JBO0FBQ0E7QW9DOStvQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXBDZy9vQkE7QUFDQTtBb0M5K29CQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXBDZy9vQkE7QUFDQTtBb0M3K29CQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FwQysrb0JBO0FBQ0E7QW9DOStvQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXBDZy9vQkE7QUFDQTtBb0MvK29CQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXBDaS9vQkE7QUFDQTtBb0MvK29CQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FwQ2kvb0JBO0FBQ0E7QW9DLytvQkE7QTNCK0ZBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QTJCNUdBO0FBQ0E7QXBDby9vQkE7QUFDQTtBb0NsL29CQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FwQ28vb0JBO0FBQ0E7QW9DbC9vQkE7QUFDQTtBQUNBO0FBQ0E7QXBDby9vQkE7QUFDQTtBb0NsL29CQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBcENpL29CQTtBQUNBO0FvQy8rb0JBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FwQysrb0JBO0FBQ0E7QVNqMm9CQTtBMkJ0UUE7QUE0SEE7QUFDQTtBcEMrK29CQTtBQUNBO0FvQzcrb0JBO0FBRUE7QXBDOCtvQkE7QUFDQTtBb0M1K29CQTtBQUNBO0FBQ0E7QUFDQTtBcEM4K29CQTtBQUNBO0FvQzcrb0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBcEMrK29CQTtBQUNBO0FvQzUrb0JBO0FBR0E7QUFDQTtBQUNBO0FwQzQrb0JBO0FBQ0E7QW9DMStvQkE7QUFDQTtBQUNBO0FBQ0E7QXBDNCtvQkE7QUFDQTtBb0MxK29CQTtBQUNBO0FBQ0E7QUFDQTtBcEM0K29CQTtBQUNBO0FRbHBwQkE7QUFDQTtBQUNBO0FSb3BwQkE7QUFDQTtBUWpwcEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBUmdwcEJBO0FBQ0E7QVE3b3BCQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QVI0b3BCQTtBQUNBO0FRcm5wQkE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FSc25wQkE7QUFDQTtBUW5ucEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTUE7QUFDQTtBUmducEJBO0FBQ0E7QVE5bXBCQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QVJnbnBCQTtBQUNBO0FRdm1wQkE7QUF4R0E7QUF5R0E7QVIwbXBCQTtBQUNBO0FRem1wQkE7QUFDQTtBQUFBO0FBQ0E7QVIybXBCQTtBQUNBO0FRdmxwQkE7QUFFQTtBQUNBO0FBQ0E7QVJ3bHBCQTtBQUNBO0FRbmxwQkE7QUFDQTtBUnFscEJBO0FBQ0E7QVFubHBCQTtBQUNBO0FScWxwQkE7QUFDQTtBUTdrcEJBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBUitrcEJBO0FBQ0E7QVN2K29CQTtBRDdHQTtBQU9BO0FBQ0E7QVJpbHBCQTtBQUNBO0FTNytvQkE7QUR2UUE7QUEwS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBUjhrcEJBO0FBQ0E7QVE3a3BCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBUitrcEJBO0FBQ0E7QVE3a3BCQTtBQUNBO0FBQ0E7QVIra3BCQTtBQUNBO0FRM2twQkE7QUFDQTtBUjZrcEJBO0FBQ0E7QVEza3BCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FSNmtwQkE7QUFDQTtBUy9ncEJBO0FEdlFBO0FBOE1BO0FBQ0E7QVI0a3BCQTtBQUNBO0FRM2twQkE7QUFDQTtBUjZrcEJBO0FBQ0E7QVF2a3BCQTtBQUNBO0FBQ0E7QUFDQTtBUnlrcEJBO0FBQ0E7QVFua3BCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBUnFrcEJBO0FBQ0E7QVFua3BCQTtBQzdEQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FEK0NBO0FBQ0E7QVJ5a3BCQTtBQUNBO0FRdmtwQkE7QUFDQTtBUnlrcEJBO0FBQ0E7QVF2a3BCQTtBQ3ZFQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FEMERBO0FBQ0E7QVI0a3BCQTtBQUNBO0FRcGtwQkE7QUFDQTtBQUNBO0FBQ0E7QVJza3BCQTtBUW5rcEJBO0FBQ0E7QUFDQTtBUnFrcEJBO0FBQ0E7QVFsa3BCQTtBQUNBO0FBQ0E7QUFDQTtBUm9rcEJBO0FRamtwQkE7QUFDQTtBQUNBO0FSbWtwQkE7QUFDQTtBUzErb0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QVQ0K29CQTtBQUNBO0FTMytvQkE7QUFDQTtBQUNBO0FBQ0E7QVQ2K29CQTtBQUNBO0E2Q3IwcEJBO0FBQ0E7QUFVQTtBQUNBO0E3Qzh6cEJBO0FBQ0E7QTZDdnpwQkE7QUFDQTtBQUNBO0E3Q3l6cEJBO0FBQ0E7QTZDN3lwQkE7QUFDQTs7OztBQUFBO0FBS0E7Ozs7QUFBQTtBQU1BO0FBQ0E7QUFDQTtBN0M4eXBCQTtBQUNBO0E2QzV5cEJBO0FwQ3dGQTtBQUNBO0FBU0E7QUFDQTtBQU9BO0FvQ3hHQTtBQUNBO0FBQ0E7QTdDa3pwQkE7QUFDQTtBNkNoenBCQTtBQUNBO0E3Q2t6cEJBO0FBQ0E7QTZDaHpwQkE7QUFDQTtBQUNBO0FBQ0E7QUFVQTtBQUNBO0FBR0E7QUFDQTtBN0N1eXBCQTtBQUNBO0E2Q3J5cEJBO0FBQ0E7QUFDQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBTUE7QTdDNnhwQkE7QUFDQTtBNkN0eHBCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0E3Q3d4cEJBO0FBQ0E7QTZDcnhwQkE7QUFDQTtBN0N1eHBCQTtBQUNBO0E2Q3J4cEJBO0FwQ21CQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FvQ2pDQTtBQUNBO0FBQ0E7QTdDMnhwQkE7QUFDQTtBNkNyeHBCQTtBQUNBO0E3Q3V4cEJBO0FBQ0E7QTZDcnhwQkE7QXBDSUE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBb0NsQkE7QUFDQTtBN0MyeHBCQTtBQUNBO0E2Q3p4cEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTdDMnhwQkE7QUFDQTtBNkN2eHBCQTtBQUNBO0E3Q3l4cEJBO0FBQ0E7QTZDeHhwQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0E3QzB4cEJBO0FBQ0E7QTZDenhwQkE7QUFDQTtBQUNBO0E3QzJ4cEJBO0FBQ0E7QTZDcHhwQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QXBDN0NBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QUFNQTtBb0MyQkE7QUFDQTtBQUNBO0E3Q3l4cEJBO0FBQ0E7QTZDeHhwQkE7QUFDQTtBN0MweHBCQTtBQUNBO0E2Q3h4cEJBO0FBQ0E7QUFDQTtBN0MweHBCQTtBQUNBO0E2Q3Z4cEJBO0FBQ0E7QUFDQTtBQUNBO0E3Q3l4cEJBO0FBQ0E7QTZDdnhwQkE7QUFDQTtBQUNBO0FBQ0E7QTdDeXhwQkE7QUFDQTtBNkN2eHBCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTdDeXhwQkE7QUFDQTtBNkN2eHBCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0E3Q3l4cEJBO0FBQ0E7QTZDdnhwQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBN0N5eHBCQTtBQUNBO0E2Q3B4cEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTdDc3hwQkE7QUFDQTtBNkNyeHBCQTtBQUNBO0E3Q3V4cEJBO0FBQ0E7QTZDanhwQkE7QUFDQTtBQUNBO0E3Q214cEJBO0FBQ0E7QTZDanhwQkE7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFRQTtBN0N3d3BCQTtBQUNBO0E2Q3J3cEJBO0FBQ0E7QTdDdXdwQkE7QUFDQTtBNkNsd3BCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTdDb3dwQkE7QUFDQTtBUzUwcEJBO0FvQ2dGQTtBQUNBO0E3Qyt2cEJBO0FBQ0E7QTZDMXZwQkE7QUFDQTtBQUNBO0E3QzR2cEJBO0FBQ0E7QTZDMXZwQkE7QXBDcExBO0FBQ0E7QUFTQTtBQUNBO0FBT0E7QVRtNnBCQTtBQUNBO0E2QzN2cEJBO0FBQ0E7QTdDNnZwQkE7QUFDQTtBNkMxdnBCQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QTdDdXZwQkE7QUFDQTtBNkN0dnBCQTtBQUNBO0E3Q3d2cEJBO0FBQ0E7QTZDcnZwQkE7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0E3Q292cEJBO0FBQ0E7QTZDbnZwQkE7QUFDQTtBN0NxdnBCQTtBQUNBO0E2Q2h2cEJBO0FBQ0E7QTdDa3ZwQkE7QUFDQTtBNkNodnBCQTtBcEN6T0E7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBb0MyTkE7QTdDc3ZwQkE7QUFDQTtBNkNwdnBCQTtBQUNBO0E3Q3N2cEJBO0FBQ0E7QTZDcHZwQkE7QXBDbFBBO0FBQ0E7QUFTQTtBQUNBO0FBT0E7QW9Da09BO0E3QzB2cEJBO0FBQ0E7QTZDeHZwQkE7QXBDdlBBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QVRzK3BCQTtBQUNBO0E2QzV2cEJBO0FwQzNQQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FUOCtwQkE7QUFDQTtBNkNqd3BCQTtBQUNBO0E3Q213cEJBO0FBQ0E7QTZDaHdwQkE7QUFDQTtBN0Nrd3BCQTtBQUNBO0E2Q2h3cEJBO0FwQ3ZRQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FvQ3lQQTtBN0Nzd3BCQTtBQUNBO0E2Q3B3cEJBO0FwQzVRQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FUdWdxQkE7QUFDQTtBSWxzcUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU1BO0FBRUE7QUFDQTtBSjhycUJBO0FBQ0E7QUk1cnFCQTs7O0FBR0E7QUFDQTtBQUNBO0FBSUE7QUoycnFCQTtBQUNBO0FJbnJxQkE7QUFDQTtBSnFycUJBO0FBQ0E7QUlwcnFCQTtBQUhBO0FBSUE7QUp1cnFCQTtBQUNBO0FJbnJxQkE7O0FBRUE7QUpxcnFCQTtBQUNBO0FJbHJxQkE7QUFDQTtBSm9ycUJBO0FBQ0E7QUlscnFCQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUpvcnFCQTtBQUNBO0FJbHJxQkE7QUFDQTtBSm9ycUJBO0FBQ0E7QUlscnFCQTtBQUNBO0FKb3JxQkE7QUFDQTtBSWxycUJBO0FBQ0E7QUFDQTtBSm9ycUJBO0FBQ0E7QUlscnFCQTtBQUNBO0FKb3JxQkE7QUFDQTtBSWxycUJBO0FBQ0E7QUFDQTtBQUNBO0FKb3JxQkE7QUFDQTtBSWxycUJBOzs7O0FBSUE7QUpvcnFCQTtBQUNBO0FLN3dxQkE7QUFEQTtBQUVBO0FMZ3hxQkE7QUFDQTtBSzN3cUJBO0FBREE7QUFFQTtBTDh3cUJBO0FBQ0E7QUt6d3FCQTtBQURBO0FBRUE7QUw0d3FCQTtBQUNBO0FLdndxQkE7QUFEQTtBQUVBO0FMMHdxQkE7QUFDQTtBS2h3cUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FMZ3dxQkE7QUFDQTtBSy92cUJBO0FBQ0E7QUFDQTtBTGl3cUJBO0FBQ0E7QU1odXFCQTtBQUNBO0FBQ0E7QUFDQTtBTmt1cUJBO0FNaHVxQkE7QUFDQTtBQUNBO0FOa3VxQkE7QU1odXFCQTtBQUNBO0FBQ0E7QU5rdXFCQTtBTWh1cUJBO0FBQ0E7QUFDQTtBTmt1cUJBO0FBQ0E7QU05dHFCQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBTjh0cUJBO0FBQ0E7QU0xdHFCQTtBQUFBO0FONnRxQkE7QUFDQTtBTTF0cUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQTVGQTtBQWdHQTtBQUNBO0FBQ0E7QUFDQTtBTjB0cUJBO0FBQ0E7QU12dHFCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXRIQTtBQTBIQTtBTnV0cUJBO0FBQ0E7QU1ydHFCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBcEhBO0FBd0hBO0FBQ0E7QU5xdHFCQTtBQUNBO0FNanRxQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBTm10cUJBO0FBQ0E7QU1sdHFCQTtBQUVBO0FBQ0E7QU5tdHFCQTtBQUNBO0FNOXNxQkE7QUFDQTtBQUNBO0FOZ3RxQkE7QUFDQTtBTTdzcUJBO0FBQ0E7QU4rc3FCQTtBQUNBO0FNN3NxQkE7QUFDQTtBTitzcUJBO0FBQ0E7QU01c3FCQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QU40c3FCQTtBQUNBO0FNeHNxQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FOMHNxQkE7QUFDQTtBTXZzcUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBTnlzcUJBO0FBQ0E7QU14c3FCQTtBQUVBO0FBQ0E7QU55c3FCQTtBQUNBO0FNbnNxQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FOcXNxQkE7QUFDQTtBTXBzcUJBO0FBQ0E7QUFDQTtBTnNzcUJBO0FBQ0E7QU1wc3FCQTtBQUNBO0FBQ0E7QU5zc3FCQTtBQUNBO0FNcHNxQkE7QUFFQTtBQUNBO0FBQ0E7QU5xc3FCQTtBQUNBO0FNaHNxQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FOa3NxQkE7QUFDQTtBTWpzcUJBO0FBQ0E7QUFDQTtBTm1zcUJBO0FBQ0E7QU1qc3FCQTtBQUVBO0FBQ0E7QUFDQTtBTmtzcUJBO0FBQ0E7QU05cnFCQTtBQUNBO0FBRUE7QU4rcnFCQTtBQUNBO0FNN3JxQkE7QUFBQTtBTmdzcUJBO0FBQ0E7QU0vcnFCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBTmlzcUJBO0FBQ0E7QU1oc3FCQTtBQUFBO0FObXNxQkE7QUFDQTtBTWhzcUJBO0FBRUE7QU5pc3FCQTtBQUNBO0FNaHNxQkE7QUFBQTtBTm1zcUJBO0FBQ0E7QU1qc3FCQTtBQUVBO0FBRUE7QU5pc3FCQTtBQUNBO0FNenJxQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FOMnJxQkE7QUFDQTtBTXpycUJBO0FBQUE7QU40cnFCQTtBQUNBO0FNM3JxQkE7QUFDQTtBQUNBO0FBQ0E7QU42cnFCQTtBQUNBO0FNNXJxQkE7QUFBQTtBTitycUJBO0FBQ0E7QU03cnFCQTs7QUFFQTtBTitycUJBO0FBQ0E7QU0zcnFCQTtBQUVBO0FONHJxQkE7QUFDQTtBTTFycUJBO0FBRUE7QUFDQTtBQUNBO0FOMnJxQkE7QUFDQTtBTXBycUJBO0FBQ0E7QU5zcnFCQTtBQUNBO0FNaHJxQkE7QUFDQTtBTmtycUJBO0FBQ0E7QU1qcnFCQTtBQUNBO0FObXJxQkE7QUFDQTtBTWhycUJBO0FBQ0E7QU5rcnFCQTtBQUNBO0FNM3FxQkE7QUFDQTtBQUNBO0FBQ0E7QU42cXFCQTtBQUNBO0FNNXFxQkE7QUFDQTtBTjhxcUJBO0FBQ0E7QU01cXFCQTtBQUVBO0FBQ0E7QU42cXFCQTtBQUNBO0FNMXFxQkE7QUFDQTtBTjRxcUJBO0FBQ0E7QU0zcXFCQTtBQUNBO0FONnFxQkE7QUFDQTtBa0V0bXJCQTtBQUNBO0FBQ0E7QWxFd21yQkE7QUFDQTtBa0VybXJCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FsRXVtckJBO0FBQ0E7QWtFcm1yQkE7QXpEOEpBO0FBQ0E7QUFTQTtBQUNBO0FBT0E7QXlEN0tBO0FBQ0E7QUFDQTtBQUNBO0FsRTBtckJBO0FBQ0E7QWtFdm1yQkE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBbEV5bXJCQTtBQUNBO0FrRXRtckJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWxFd21yQkE7QUFDQTtBa0V0bXJCQTtBekRtSUE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBeURoSkE7QUFDQTtBQUNBO0FsRTJtckJBO0FBQ0E7QWtFem1yQkE7QUFDQTtBQUNBO0FBQ0E7QWxFMm1yQkE7QUFDQTtBa0V6bXJCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBbEUybXJCQTtBQUNBO0FrRTFtckJBO0F6RHVHQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0F5RHBIQTtBbEUrbXJCQTtBQUNBO0FrRW5uckJBO0F6RHVHQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0F5RHBIQTtBbEUrbXJCQTtBQUNBO0FrRTdtckJBO0FBQ0E7QUFDQTtBbEUrbXJCQTtBQUNBO0FrRTFtckJBO0FBQ0E7QWxFNG1yQkE7QUFDQTtBa0V6bXJCQTtBQUNBO0FBRUE7QWxFMG1yQkE7QUFDQTtBa0V4bXJCQTtBQUFBO0FsRTJtckJBO0FBQ0E7QVN0OHFCQTtBeURuUUE7QUFvR0E7QWxFeW1yQkE7QUFDQTtBa0V4bXJCQTtBQUNBO0FsRTBtckJBO0FBQ0E7QWtFeG1yQkE7QXpEaUVBO0FBQ0E7QUFTQTtBQUNBO0FBT0E7QXlEL0VBO0FBQ0E7QWxFNG1yQkE7QUFDQTtBa0UxbXJCQTtBQUNBO0FBQ0E7QUFDQTtBbEU0bXJCQTtBQUNBO0FrRXptckJBO0FBQ0E7QWxFMm1yQkE7QUFDQTtBa0V6bXJCQTtBQUNBO0FBQ0E7QWxFMm1yQkE7QUFDQTtBa0V6bXJCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FsRTJtckJBO0FBQ0E7QWtFMW1yQkE7QXpEbUNBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QXlEaERBO0FsRSttckJBO0FBQ0E7QWtFbm5yQkE7QXpEbUNBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QXlEaERBO0FsRSttckJBO0FBQ0E7QWtFNW1yQkE7QUFDQTtBbEU4bXJCQTtBQUNBO0FrRTFtckJBO0FBQ0E7QUFDQTtBQUNBO0FsRTRtckJBO0FrRXptckJBO0FBQ0E7QUFDQTtBbEUybXJCQTtBQUNBO0FtRXp3ckJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBbkUyd3JCQTtBQUNBO0FtRTF3ckJBO0FBQ0E7QUFDQTtBQUNBO0ExRDBRQTtBVG1nckJBO0FBQ0E7QW1FendyQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FuRTJ3ckJBO0FBQ0E7QW1FendyQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QW5FMndyQkE7QUFDQTtBbUV6d3JCQTtBQUVBO0FuRTB3ckJBO0FBQ0E7QW1FeHdyQkE7QUFDQTtBQUNBO0FuRTB3ckJBO0FBQ0E7QW1FeHdyQkE7QTFEbUlBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QTBEaEpBO0FBQ0E7QUFDQTtBbkU2d3JCQTtBQUNBO0FtRTF3ckJBO0ExRDBIQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0EwRHZJQTtBQUNBO0FBQ0E7QW5FK3dyQkE7QUFDQTtBbUU3d3JCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBbkUrd3JCQTtBQUNBO0FtRTd3ckJBO0ExRHlHQTtBQUNBO0FBU0E7QUFDQTtBQU9BO0FBSUE7QTBENUhBO0FBQ0E7QUFDQTtBQUNBO0FuRW14ckJBO0FBQ0E7QVN6bHJCQTtBMER0TEE7QUFDQTtBQUNBO0FBQ0E7QW5Fa3hyQkE7QUFDQTtBbUVoeHJCQTtBQUNBO0FuRWt4ckJBO0FBQ0E7QW1FaHhyQkE7QUFDQTtBbkVreHJCQTtBQUNBO0FtRWh4ckJBO0FBQ0E7QUFDQTtBbkVreHJCQTtBQUNBO0FvRWwzckJBO0FBQ0E7QUFDQTtBcEVvM3JCQTtBQUNBO0FvRWozckJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXBFbTNyQkE7QUFDQTtBUzVuckJBO0EyRHJRQTtBQWtCQTtBQUNBO0FwRW0zckJBO0FBQ0E7QW9FbDNyQkE7QUFDQTtBQUNBO0FBQ0E7QXBFbzNyQkE7QUFDQTtBb0VoM3JCQTtBQUNBO0FBQ0E7QXBFazNyQkE7QUFDQTtBb0VoM3JCQTtBQUNBO0FBQ0E7QXBFazNyQkE7QUFDQTtBb0VoM3JCQTtBQUFBO0FwRW0zckJBO0FBQ0E7QXFFMTVyQkE7QUFDQTtBQUNBO0FyRTQ1ckJBO0FBQ0E7QXFFejVyQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBckUyNXJCQTtBQUNBO0FxRXo1ckJBO0E1RCtKQTtBQUNBO0FBU0E7QUFDQTtBQU9BO0E0RDdLQTtBQUNBO0FBQ0E7QXJFNjVyQkE7QUFDQTtBcUUxNXJCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXJFNDVyQkE7QUFDQTtBcUUxNXJCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FyRTQ1ckJBO0FBQ0E7QXFFMTVyQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBckU0NXJCQTtBQUNBO0FxRTE1ckJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXJFNDVyQkE7QUFDQTtBcUUzNXJCQTtBQUNBO0FyRTY1ckJBO0FBQ0E7QXFFLzVyQkE7QUFDQTtBckU2NXJCQTtBQUNBO0FxRTM1ckJBO0FBQ0E7QXJFNjVyQkE7QUFDQTtBcUUxNXJCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXJFNDVyQkE7QUFDQTtBcUUxNXJCQTtBNUQrRkE7QUFDQTtBQVNBO0FBQ0E7QUFPQTtBQUlBO0E0RGxIQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBckVnNnJCQTtBQUNBO0FxRS81ckJBO0FBQ0E7QXJFaTZyQkE7QUFDQTtBcUUvNXJCQTtBQUNBO0FyRWk2ckJBO0FBQ0E7QXFFLzVyQkE7QUFDQTtBQUNBO0FyRWk2ckJBO0FBQ0E7QXFFNzVyQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXJFKzVyQkE7QUFDQTtBcUU3NXJCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXJFKzVyQkE7QUFDQTtBcUU1NXJCQTtBQUVBO0FyRTY1ckJBO0FBQ0E7QXFFMzVyQkE7QUFDQTtBQUNBO0FyRTY1ckJBO0FBQ0E7QXFFMTVyQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXJFNDVyQkE7QUFDQTtBcUUxNXJCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBckU0NXJCQTtBQUNBO0FxRTE1ckJBO0FBRUE7QXJFMjVyQkE7QUFDQTtBcUV6NXJCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBckUyNXJCQTtBQUNBO0FxRXo1ckJBO0E1REdBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QTREaEJBO0FBQ0E7QUFDQTtBQUNBO0FyRTg1ckJBO0FBQ0E7QXFFNTVyQkE7QTVETkE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBNEROQTtBQUNBO0FBQ0E7QXJFZzZyQkE7QUFDQTtBcUU5NXJCQTtBQUNBO0FyRWc2ckJBO0FBQ0E7QXFFNTVyQkE7QTVEckJBO0FBQ0E7QUFTQTtBQUNBO0FBT0E7QUFJQTtBNERFQTtBQUNBO0FyRWs2ckJBO0FBQ0E7QXFFNzVyQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBR0E7QUFDQTtBNUQzQ0E7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBNEQrQkE7QXJFNDVyQkE7QUFDQTtBcUV2NXJCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXJFeTVyQkE7QUFDQTtBcUV0NXJCQTtBQUNBO0FyRXc1ckJBO0FBQ0E7QXFFcjVyQkE7QTVEdEVBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QTREeURBO0FBQ0E7QUFDQTtBckUwNXJCQTtBQUNBO0FxRXA1ckJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBNUR0RkE7QUFDQTtBQVNBO0FBQ0E7QUFPQTtBQUlBO0E0RG9FQTtBQUNBO0FBQ0E7QUFDQTtBckV5NXJCQTtBQUNBO0FxRXI1ckJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXJFdTVyQkE7QUFDQTtBcUVyNXJCQTtBQUVBO0FyRXM1ckJBO0FBQ0E7QXFFcDVyQkE7QUFFQTtBQUNBO0FyRXE1ckJBO0FBQ0E7QXFFOTRyQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXJFZzVyQkE7QUFDQTtBcUU5NHJCQTtBQUNBO0FBQ0E7QUFDQTtBckVnNXJCQTtBQUNBO0FxRTk0ckJBO0FBQ0E7QUFDQTtBQUNBO0FyRWc1ckJBO0FBQ0E7QXFFOTRyQkE7QUFDQTtBckVnNXJCQTtBQUNBO0FxRTk0ckJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FyRWc1ckJBO0FBQ0E7QXFFLzRyQkE7QUFDQTtBckVpNXJCQTtBQUNBO0FxRS80ckJBO0FBQ0E7QUFDQTtBckVpNXJCQTtBQUNBO0FxRTk0ckJBO0FBQ0E7QUFDQTtBQUNBO0FyRWc1ckJBO0FBQ0E7QXFFOTRyQkE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBckU4NHJCQTtBQUNBO0FxRTU0ckJBO0FBQ0E7QUFDQTtBQUNBO0FyRTg0ckJBO0FBQ0E7QXFFNTRyQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBckU4NHJCQTtBQUNBO0FxRTc0ckJBO0FBQ0E7QUFDQTtBQUNBO0FyRSs0ckJBO0FBQ0E7QXFFNzRyQkE7QUFDQTtBQUNBO0FyRSs0ckJBO0FBQ0E7QXFFNzRyQkE7QUFDQTtBQUNBO0FyRSs0ckJBO0FBQ0E7QXFFOTRyQkE7QUFDQTtBckVnNXJCQTtBQUNBO0FxRTM0ckJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXJFNjRyQkE7QUFDQTtBU2ppc0JBO0E0RHBRQTtBQTRaQTtBckU2NHJCQTtBQUNBO0FxRTU0ckJBO0FBQ0E7QXJFODRyQkE7QUFDQTtBcUU1NHJCQTtBNUR0UEE7QUFDQTtBQVNBO0FBQ0E7QUFPQTtBVHVuc0JBO0FBQ0E7QXFFaDVyQkE7QUFDQTtBQUNBO0FBQ0E7QXJFazVyQkE7QUFDQTtBcUVoNXJCQTtBQUNBO0FyRWs1ckJBO0FBQ0E7QXFFaDVyQkE7QUFDQTtBQUNBO0FyRWs1ckJBO0FBQ0E7QXFFaDVyQkE7QUFDQTtBQUNBO0FBQ0E7QXJFazVyQkE7QUFDQTtBcUVqNXJCQTtBQUNBO0FyRW01ckJBO0FBQ0E7QXFFLzRyQkE7QUFDQTtBQUNBO0FyRWk1ckJBO0FBQ0E7QXFFLzRyQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FyRWk1ckJBO0FBQ0E7QXFFOTRyQkE7QUFDQTtBckVnNXJCQTtBQUNBO0FxRTc0ckJBO0FBQ0E7QXJFKzRyQkE7QUFDQTtBcUU3NHJCQTtBQUNBO0FyRSs0ckJBO0FBQ0E7QXFFNzRyQkE7QTVEL1NBO0FBQ0E7QUFTQTtBQUNBO0FBT0E7QUFJQTtBNEQ0UkE7QXJFbTVyQkE7QUFDQTtBcUVqNXJCQTtBNURyVEE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBVDZyc0JBO0FBQ0E7QXFFcjVyQkE7QUFDQTtBckV1NXJCQTtBQUNBO0FxRWw1ckJBO0FBQ0E7QUFDQTtBQUNBO0FyRW81ckJBO0FBQ0E7QXFFbjVyQkE7QUFDQTtBckVxNXJCQTtBQUNBO0FxRWo1ckJBO0FBQ0E7QUFDQTtBckVtNXJCQTtBQUNBO0FxRWo1ckJBO0FBQ0E7QXJFbTVyQkE7QUFDQTtBcUVoNXJCQTtBQUNBO0FyRWs1ckJBO0FBQ0E7QXFFaDVyQkE7QUFDQTtBckVrNXJCQTtBQUNBO0FxRWg1ckJBO0FBQ0E7QXJFazVyQkE7QUFDQTtBcUVoNXJCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FyRWs1ckJBO0FBQ0E7QXFFaDVyQkE7QUFDQTtBckVrNXJCQTtBQUNBO0FxRWg1ckJBO0FBQ0E7QUFDQTtBckVrNXJCQTtBQUNBO0FxRS80ckJBO0FBQ0E7QXJFaTVyQkE7QUFDQTtBcUU1NHJCQTtBQUNBO0FyRTg0ckJBO0FBQ0E7QXFFNTRyQkE7QUFDQTtBQUNBO0FyRTg0ckJBO0FBQ0E7QXFFNTRyQkE7QUFDQTtBckU4NHJCQTtBQUNBO0FzRTc2c0JBO0FBQ0E7QXRFKzZzQkE7QUFDQTtBdUV6NHNCQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0F2RXc0c0JBO0FBQ0E7QXVFbDRzQkE7QUFkQTtBQWVBO0FBQ0E7QUFDQTtBQUNBO0F2RXE0c0JBO0FBQ0E7QXVFaDRzQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBdkVrNHNCQTtBQUNBO0F1RXAzc0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXZFczNzQkE7QUFDQTtBdUVwM3NCQTtBQUNBO0FBQ0E7QUFDQTtBdkVzM3NCQTtBQUNBO0FTdnVzQkE7QThEM0lBO0FBQ0E7QXZFcTNzQkE7QUFDQTtBdUVqM3NCQTtBOUQ2Q0E7QUFDQTtBQVNBO0FBQ0E7QUFPQTtBQUlBO0E4RGhFQTtBQUNBO0F2RXUzc0JBO0FBQ0E7QXVFcDNzQkE7QUFSQTtBQVNBO0F2RXUzc0JBO0FBQ0E7QXVFcDNzQkE7QTlEZ0NBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QThEN0NBO0FBQ0E7QXZFeTNzQkE7QUFDQTtBdUV2M3NCQTtBQUNBO0F2RXkzc0JBO0FBQ0E7QXVFdjNzQkE7QTlEcUJBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QThEL0JBO0FBQ0E7QUFDQTtBdkV5M3NCQTtBQUNBO0F1RXIzc0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBOUQ0R0E7QVQ0d3NCQTtBQUNBO0F1RW4zc0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXZFcTNzQkE7QUFDQTtBdUVsM3NCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXZFbzNzQkE7QUFDQTtBdUVoM3NCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBdkVrM3NCQTtBQUNBO0F1RS8yc0JBO0FBQUE7QXZFazNzQkE7QUFDQTtBdUVsM3NCQTtBQUFBO0F2RXEzc0JBO0FBQ0E7QXVFcjNzQkE7QUFBQTtBdkV3M3NCQTtBQUNBO0F1RXgzc0JBO0FBQUE7QXZFMjNzQkE7QUFDQTtBdUV6M3NCQTtBQUNBO0FBQ0E7QUFDQTtBQU1BO0F2RXMzc0JBO0FBQ0E7QXVFcDNzQkE7QTlEcERBO0FBQ0E7QUFTQTtBQUNBO0FBT0E7QUFJQTtBOERpQ0E7QXZFMDNzQkE7QUFDQTtBdUV4M3NCQTtBQXpMQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBc0xBO0FBQ0E7QXZFNjNzQkE7QUFDQTtBdUUzM3NCQTtBOURqRUE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBOERvREE7QUFDQTtBdkVnNHNCQTtBQUNBO0F1RTczc0JBO0FBRUE7QUFDQTtBQUNBO0F2RTgzc0JBO0FBQ0E7QXVFNTNzQkE7QUEvTUE7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQTRNQTtBdkVpNHNCQTtBQUNBO0F1RXgzc0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXZFMDNzQkE7QUFDQTtBdUVyM3NCQTtBQUNBO0F2RXUzc0JBO0FBQ0E7QXVFcjNzQkE7QTlEakhBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QThEb0dBO0FBQ0E7QXZFMDNzQkE7QUFDQTtBdUV4M3NCQTtBOUR4SEE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBOEQyR0E7QUFDQTtBdkU2M3NCQTtBQUNBO0F1RTMzc0JBO0FBOVBBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUEyUEE7QXZFZzRzQkE7QUFDQTtBdUU3M3NCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBdkUrM3NCQTtBQUNBO0F1RTMzc0JBO0E5RGpKQTtBQUNBO0FBU0E7QUFDQTtBQU9BO0FBSUE7QVQ4L3NCQTtBQUNBO0F1RTUzc0JBO0FBQUE7QXZFKzNzQkE7QUFDQTtBdUU5M3NCQTtBQUNBO0FBQ0E7QXZFZzRzQkE7QUFDQTtBdUU1M3NCQTtBQUFBO0F2RSszc0JBO0FBQ0E7QXVFOTNzQkE7QUFDQTtBQUNBO0F2RWc0c0JBO0FBQ0E7QXVFNTNzQkE7QUFBQTtBdkUrM3NCQTtBQUNBO0F1RTkzc0JBO0FBQ0E7QUFDQTtBdkVnNHNCQTtBQUNBO0F1RXgzc0JBO0FBM1NBO0FBNFNBO0F2RTIzc0JBO0FBQ0E7QXVFMTNzQkE7QUFDQTtBQUNBO0F2RTQzc0JBO0FBQ0E7QXVFejNzQkE7QUFDQTtBQUNBO0F2RTIzc0JBO0FBQ0E7QXVFejNzQkE7QTlEdE1BO0FBQ0E7QUFTQTtBQUNBO0FBT0E7QThEc0xBO0F2RSszc0JBO0FBQ0E7QXVFNzNzQkE7QTlEM01BO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QThEOExBO0FBQ0E7QXZFazRzQkE7QUFDQTtBdUU5M3NCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXZFZzRzQkE7QUFDQTtBdUUvM3NCQTtBQUNBO0F2RWk0c0JBO0FBQ0E7QXVFOTNzQkE7QUFFQTtBQUNBO0F2RSszc0JBO0FBQ0E7QXVFNzNzQkE7QUFDQTtBdkUrM3NCQTtBQUNBO0F1RTUzc0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F2RTgzc0JBO0FBQ0E7QXVFMTNzQkE7QUFDQTtBQUNBO0FBQ0E7QTlEaEpBO0FUNmd0QkE7QUFDQTtBdUUxM3NCQTtBQUNBO0F2RTQzc0JBO0FBQ0E7QXVFeDNzQkE7QUFsWUE7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQStYQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXZFNjNzQkE7QUFDQTtBdUUzM3NCQTtBQUNBO0F2RTYzc0JBO0FBQ0E7QXVFMTNzQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F2RTQzc0JBO0FBQ0E7QXVFdDNzQkE7QUFDQTtBdkV3M3NCQTtBQUNBO0F1RXQzc0JBO0FBQ0E7QUFDQTtBdkV3M3NCQTtBQUNBO0F1RXQzc0JBO0FBdmFBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QXZFOHh0QkE7QUFDQTtBdUV4M3NCQTtBQTdhQTtBQUNBO0FBQ0E7QUFDQTtBQUtBO0FBd2FBO0F2RTYzc0JBO0FBQ0E7QXVFMzNzQkE7QUFuYkE7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQWdiQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F2RWc0c0JBO0FBQ0E7QXVFejNzQkE7QUFsY0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQStiQTtBdkU4M3NCQTtBQUNBO0F1RXgzc0JBO0FBR0E7QXZFdzNzQkE7QUFDQTtBdUV0M3NCQTtBQUNBO0F2RXczc0JBO0FBQ0E7QXVFcDNzQkE7QUFDQTtBdkVzM3NCQTtBQUNBO0F1RWwzc0JBO0FBQ0E7QUFDQTtBdkVvM3NCQTtBQUNBO0F1RTkyc0JBO0FBQ0E7QUFDQTtBdkVnM3NCQTtBQUNBO0FTemh0QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBVDJodEJBO0FBQ0E7QVMxaHRCQTtBQUNBO0FBQ0E7QUFDQTtBVDRodEJBO0FBQ0E7QTZDcDN0QkE7QUFDQTtBQVVBO0FBQ0E7QTdDNjJ0QkE7QUFDQTtBNkN0MnRCQTtBQUNBO0FBQ0E7QTdDdzJ0QkE7QUFDQTtBNkM1MXRCQTtBQUNBOzs7O0FBQUE7QUFLQTs7OztBQUFBO0FBTUE7QUFDQTtBQUNBO0E3QzYxdEJBO0FBQ0E7QTZDMzF0QkE7QXBDd0ZBO0FBQ0E7QUFTQTtBQUNBO0FBT0E7QW9DeEdBO0FBQ0E7QUFDQTtBN0NpMnRCQTtBQUNBO0E2Qy8xdEJBO0FBQ0E7QTdDaTJ0QkE7QUFDQTtBNkMvMXRCQTtBQUNBO0FBQ0E7QUFDQTtBQVVBO0FBQ0E7QUFHQTtBQUNBO0E3Q3MxdEJBO0FBQ0E7QTZDcDF0QkE7QUFDQTtBQUNBO0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFNQTtBN0M0MHRCQTtBQUNBO0E2Q3IwdEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTdDdTB0QkE7QUFDQTtBNkNwMHRCQTtBQUNBO0E3Q3MwdEJBO0FBQ0E7QTZDcDB0QkE7QXBDbUJBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QW9DakNBO0FBQ0E7QUFDQTtBN0MwMHRCQTtBQUNBO0E2Q3AwdEJBO0FBQ0E7QTdDczB0QkE7QUFDQTtBNkNwMHRCQTtBcENJQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FvQ2xCQTtBQUNBO0E3QzAwdEJBO0FBQ0E7QTZDeDB0QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBN0MwMHRCQTtBQUNBO0E2Q3QwdEJBO0FBQ0E7QTdDdzB0QkE7QUFDQTtBNkN2MHRCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTdDeTB0QkE7QUFDQTtBNkN4MHRCQTtBQUNBO0FBQ0E7QTdDMDB0QkE7QUFDQTtBNkNuMHRCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBcEM3Q0E7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBQU1BO0FvQzJCQTtBQUNBO0FBQ0E7QTdDdzB0QkE7QUFDQTtBNkN2MHRCQTtBQUNBO0E3Q3kwdEJBO0FBQ0E7QTZDdjB0QkE7QUFDQTtBQUNBO0E3Q3kwdEJBO0FBQ0E7QTZDdDB0QkE7QUFDQTtBQUNBO0FBQ0E7QTdDdzB0QkE7QUFDQTtBNkN0MHRCQTtBQUNBO0FBQ0E7QUFDQTtBN0N3MHRCQTtBQUNBO0E2Q3QwdEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBN0N3MHRCQTtBQUNBO0E2Q3QwdEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTdDdzB0QkE7QUFDQTtBNkN0MHRCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0E3Q3cwdEJBO0FBQ0E7QTZDbjB0QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBN0NxMHRCQTtBQUNBO0E2Q3AwdEJBO0FBQ0E7QTdDczB0QkE7QUFDQTtBNkNoMHRCQTtBQUNBO0FBQ0E7QTdDazB0QkE7QUFDQTtBNkNoMHRCQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQVFBO0E3Q3V6dEJBO0FBQ0E7QTZDcHp0QkE7QUFDQTtBN0NzenRCQTtBQUNBO0E2Q2p6dEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBN0NtenRCQTtBQUNBO0FTMzN0QkE7QW9DZ0ZBO0FBQ0E7QTdDOHl0QkE7QUFDQTtBNkN6eXRCQTtBQUNBO0FBQ0E7QTdDMnl0QkE7QUFDQTtBNkN6eXRCQTtBcENwTEE7QUFDQTtBQVNBO0FBQ0E7QUFPQTtBVGs5dEJBO0FBQ0E7QTZDMXl0QkE7QUFDQTtBN0M0eXRCQTtBQUNBO0E2Q3p5dEJBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBN0NzeXRCQTtBQUNBO0E2Q3J5dEJBO0FBQ0E7QTdDdXl0QkE7QUFDQTtBNkNweXRCQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QTdDbXl0QkE7QUFDQTtBNkNseXRCQTtBQUNBO0E3Q295dEJBO0FBQ0E7QTZDL3h0QkE7QUFDQTtBN0NpeXRCQTtBQUNBO0E2Qy94dEJBO0FwQ3pPQTtBQUNBO0FBU0E7QUFDQTtBQUtBO0FvQzJOQTtBN0NxeXRCQTtBQUNBO0E2Q255dEJBO0FBQ0E7QTdDcXl0QkE7QUFDQTtBNkNueXRCQTtBcENsUEE7QUFDQTtBQVNBO0FBQ0E7QUFPQTtBb0NrT0E7QTdDeXl0QkE7QUFDQTtBNkN2eXRCQTtBcEN2UEE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBVHFodUJBO0FBQ0E7QTZDM3l0QkE7QXBDM1BBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QVQ2aHVCQTtBQUNBO0E2Q2h6dEJBO0FBQ0E7QTdDa3p0QkE7QUFDQTtBNkMveXRCQTtBQUNBO0E3Q2l6dEJBO0FBQ0E7QTZDL3l0QkE7QXBDdlFBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QW9DeVBBO0E3Q3F6dEJBO0FBQ0E7QTZDbnp0QkE7QXBDNVFBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QVRzanVCQTtBQUNBO0FJanZ1QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTUE7QUFFQTtBQUNBO0FKNnV1QkE7QUFDQTtBSTN1dUJBOzs7QUFHQTtBQUNBO0FBQ0E7QUFJQTtBSjB1dUJBO0FBQ0E7QUlsdXVCQTtBQUNBO0FKb3V1QkE7QUFDQTtBSW51dUJBO0FBSEE7QUFJQTtBSnN1dUJBO0FBQ0E7QUlsdXVCQTs7QUFFQTtBSm91dUJBO0FBQ0E7QUlqdXVCQTtBQUNBO0FKbXV1QkE7QUFDQTtBSWp1dUJBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBSm11dUJBO0FBQ0E7QUlqdXVCQTtBQUNBO0FKbXV1QkE7QUFDQTtBSWp1dUJBO0FBQ0E7QUptdXVCQTtBQUNBO0FJanV1QkE7QUFDQTtBQUNBO0FKbXV1QkE7QUFDQTtBSWp1dUJBO0FBQ0E7QUptdXVCQTtBQUNBO0FJanV1QkE7QUFDQTtBQUNBO0FBQ0E7QUptdXVCQTtBQUNBO0FJanV1QkE7Ozs7QUFJQTtBSm11dUJBO0FBQ0E7QUs1enVCQTtBQURBO0FBRUE7QUwrenVCQTtBQUNBO0FLMXp1QkE7QUFEQTtBQUVBO0FMNnp1QkE7QUFDQTtBS3h6dUJBO0FBREE7QUFFQTtBTDJ6dUJBO0FBQ0E7QUt0enVCQTtBQURBO0FBRUE7QUx5enVCQTtBQUNBO0FLL3l1QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUwreXVCQTtBQUNBO0FLOXl1QkE7QUFDQTtBQUNBO0FMZ3p1QkE7QUFDQTtBTS93dUJBO0FBQ0E7QUFDQTtBQUNBO0FOaXh1QkE7QU0vd3VCQTtBQUNBO0FBQ0E7QU5peHVCQTtBTS93dUJBO0FBQ0E7QUFDQTtBTml4dUJBO0FNL3d1QkE7QUFDQTtBQUNBO0FOaXh1QkE7QUFDQTtBTTd3dUJBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FONnd1QkE7QUFDQTtBTXp3dUJBO0FBQUE7QU40d3VCQTtBQUNBO0FNend1QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBNUZBO0FBZ0dBO0FBQ0E7QUFDQTtBQUNBO0FOeXd1QkE7QUFDQTtBTXR3dUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBdEhBO0FBMEhBO0FOc3d1QkE7QUFDQTtBTXB3dUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFwSEE7QUF3SEE7QUFDQTtBTm93dUJBO0FBQ0E7QU1od3VCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FOa3d1QkE7QUFDQTtBTWp3dUJBO0FBRUE7QUFDQTtBTmt3dUJBO0FBQ0E7QU03dnVCQTtBQUNBO0FBQ0E7QU4rdnVCQTtBQUNBO0FNNXZ1QkE7QUFDQTtBTjh2dUJBO0FBQ0E7QU01dnVCQTtBQUNBO0FOOHZ1QkE7QUFDQTtBTTN2dUJBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBTjJ2dUJBO0FBQ0E7QU12dnVCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QU55dnVCQTtBQUNBO0FNdHZ1QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FOd3Z1QkE7QUFDQTtBTXZ2dUJBO0FBRUE7QUFDQTtBTnd2dUJBO0FBQ0E7QU1sdnVCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QU5vdnVCQTtBQUNBO0FNbnZ1QkE7QUFDQTtBQUNBO0FOcXZ1QkE7QUFDQTtBTW52dUJBO0FBQ0E7QUFDQTtBTnF2dUJBO0FBQ0E7QU1udnVCQTtBQUVBO0FBQ0E7QUFDQTtBTm92dUJBO0FBQ0E7QU0vdXVCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QU5pdnVCQTtBQUNBO0FNaHZ1QkE7QUFDQTtBQUNBO0FOa3Z1QkE7QUFDQTtBTWh2dUJBO0FBRUE7QUFDQTtBQUNBO0FOaXZ1QkE7QUFDQTtBTTd1dUJBO0FBQ0E7QUFFQTtBTjh1dUJBO0FBQ0E7QU01dXVCQTtBQUFBO0FOK3V1QkE7QUFDQTtBTTl1dUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FOZ3Z1QkE7QUFDQTtBTS91dUJBO0FBQUE7QU5rdnVCQTtBQUNBO0FNL3V1QkE7QUFFQTtBTmd2dUJBO0FBQ0E7QU0vdXVCQTtBQUFBO0FOa3Z1QkE7QUFDQTtBTWh2dUJBO0FBRUE7QUFFQTtBTmd2dUJBO0FBQ0E7QU14dXVCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QU4wdXVCQTtBQUNBO0FNeHV1QkE7QUFBQTtBTjJ1dUJBO0FBQ0E7QU0xdXVCQTtBQUNBO0FBQ0E7QUFDQTtBTjR1dUJBO0FBQ0E7QU0zdXVCQTtBQUFBO0FOOHV1QkE7QUFDQTtBTTV1dUJBOztBQUVBO0FOOHV1QkE7QUFDQTtBTTF1dUJBO0FBRUE7QU4ydXVCQTtBQUNBO0FNenV1QkE7QUFFQTtBQUNBO0FBQ0E7QU4wdXVCQTtBQUNBO0FNbnV1QkE7QUFDQTtBTnF1dUJBO0FBQ0E7QU0vdHVCQTtBQUNBO0FOaXV1QkE7QUFDQTtBTWh1dUJBO0FBQ0E7QU5rdXVCQTtBQUNBO0FNL3R1QkE7QUFDQTtBTml1dUJBO0FBQ0E7QU0xdHVCQTtBQUNBO0FBQ0E7QUFDQTtBTjR0dUJBO0FBQ0E7QU0zdHVCQTtBQUNBO0FONnR1QkE7QUFDQTtBTTN0dUJBO0FBRUE7QUFDQTtBTjR0dUJBO0FBQ0E7QU16dHVCQTtBQUNBO0FOMnR1QkE7QUFDQTtBTTF0dUJBO0FBQ0E7QU40dHVCQTtBQUNBO0F3RXRudkJBO0FBQ0E7QUFDQTtBQUdBO0FBSUE7QUFDQTtBeEVtbnZCQTtBQUNBO0F3RWpudkJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBY0E7QXhFc212QkE7QUFDQTtBd0VubXZCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXhFcW12QkE7QUFDQTtBd0VobXZCQTtBQUNBO0F4RWttdkJBO0FBQ0E7QXdFOWx2QkE7QUFFQTtBQUNBO0F4RStsdkJBO0FBQ0E7QXdFN2x2QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBL0R5RUE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBK0RyRkE7QXhFaW12QkE7QUFDQTtBd0VobXZCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F4RWttdkJBO0FBQ0E7QXdFaG12QkE7QUFDQTtBeEVrbXZCQTtBQUNBO0F3RWhtdkJBO0FBQ0E7QUFDQTtBeEVrbXZCQTtBQUNBO0F3RS9sdkJBO0EvRGtEQTtBQUNBO0FBU0E7QUFDQTtBQU9BO0ErRGxFQTtBQUNBO0FBQ0E7QUFDQTtBeEVxbXZCQTtBQUNBO0F3RWhtdkJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXhFa212QkE7QUFDQTtBd0UvbHZCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXhFaW12QkE7QUFDQTtBd0U5bHZCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QXhFZ212QkE7QUFDQTtBd0U3bHZCQTtBQUNBO0FBRUE7QXhFOGx2QkE7QUFDQTtBd0U1bHZCQTtBQUFBO0F4RStsdkJBO0FBQ0E7QVNuZ3ZCQTtBK0RwT0E7QUE0SUE7QUFHQTtBeEU2bHZCQTtBQUNBO0F3RTVsdkJBO0FBQ0E7QUFHQTtBeEU0bHZCQTtBQUNBO0F3RTFsdkJBO0EvRFpBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QStEREE7QUFDQTtBeEUrbHZCQTtBQUNBO0F3RTVsdkJBO0FBQ0E7QXhFOGx2QkE7QUFDQTtBd0UxbHZCQTtBQUNBO0FBQ0E7QUFDQTtBeEU0bHZCQTtBd0V6bHZCQTtBQUNBO0FBQ0E7QXhFMmx2QkE7QUFDQTtBeUVwd3ZCQTtBQUNBO0FBQ0E7QXpFc3d2QkE7QUFDQTtBeUU3dnZCQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTs7OztBQUFBO0FBS0E7Ozs7QUFBQTtBekVtd3ZCQTtBQUNBO0F5RTd2dkJBO0FBQ0E7QXpFK3Z2QkE7QUFDQTtBeUU3dnZCQTtBQUNBO0F6RSt2dkJBO0FBQ0E7QXlFN3Z2QkE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBekU2dnZCQTtBQUNBO0F5RTN2dkJBO0FBQ0E7QXpFNnZ2QkE7QUFDQTtBeUU1dnZCQTtBQUNBO0F6RTh2dkJBO0FBQ0E7QXlFM3Z2QkE7QWhFNkVBO0FBQ0E7QUFTQTtBQUNBO0FBS0E7QWdFMUZBO0FBQ0E7QXpFZ3d2QkE7QUFDQTtBeUU5dnZCQTtBaEVzRUE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBZ0VuRkE7QUFDQTtBQUNBO0F6RW13dkJBO0FBQ0E7QXlFbHd2QkE7QUFDQTtBekVvd3ZCQTtBQUNBO0F5RWx3dkJBO0FBQ0E7QXpFb3d2QkE7QUFDQTtBeUVqdnZCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBekVtdnZCQTtBQUNBO0F5RS91dkJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0F6RWl2dkJBO0FBQ0E7QXlFL3V2QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QXpFaXZ2QkE7QUFDQTtBeUUvdXZCQTtBaEVRQTtBQUNBO0FBU0E7QUFDQTtBQU9BO0FBSUE7QWdFM0JBO0FBQ0E7QXpFcXZ2QkE7QUFDQTtBeUVudnZCQTtBQUNBO0F6RXF2dkJBO0FBQ0E7QXlFbnZ2QkE7QWhFSEE7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBZ0VWQTtBQUNBO0F6RXd2dkJBO0FBQ0E7QXlFbnZ2QkE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBekVxdnZCQTtBQUNBO0F5RW52dkJBO0FoRW5CQTtBQUNBO0FBU0E7QUFDQTtBQU9BO0FBSUE7QWdFREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBekUwdnZCQTtBQUNBO0F5RXB2dkJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBekVzdnZCQTtBQUNBO0F5RXB2dkJBO0FBQ0E7QUFDQTtBQUNBO0F6RXN2dkJBO0FBQ0E7QXlFcnZ2QkE7QUFDQTtBekV1dnZCQTtBQUNBO0F5RXJ2dkJBO0FBQ0E7QUFDQTtBekV1dnZCQTtBQUNBO0F5RXJ2dkJBO0FBQ0E7QUFDQTtBekV1dnZCQTtBQUNBO0FTeHR2QkE7QWdFOU5BO0FBdU1BO0F6RW12dkJBO0FBQ0E7QXlFbHZ2QkE7QUFDQTtBQUdBO0F6RWt2dkJBO0FBQ0E7QXlFaHZ2QkE7QUFDQTtBekVrdnZCQTtBQUNBO0F5RTl1dkJBO0FBQ0E7QXpFZ3Z2QkE7QUFDQTtBeUU5dXZCQTtBQUNBO0F6RWd2dkJBO0FBQ0E7QXlFOXV2QkE7QUFDQTtBekVndnZCQTtBQUNBO0F5RS91dkJBO0FBQ0E7QXpFaXZ2QkE7QUFDQTtBeUU5dXZCQTtBaEVoR0E7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBZ0VtRkE7QXpFbXZ2QkE7QUFDQTtBeUVqdnZCQTtBaEV0R0E7QUFDQTtBQVNBO0FBQ0E7QUFLQTtBZ0V5RkE7QUFDQTtBQUNBO0F6RXN2dkJBO0FBQ0E7QXlFcnZ2QkE7QUFDQTtBQUNBO0F6RXV2dkJBO0FBQ0E7QXlFcnZ2QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F6RXV2dkJBO0FBQ0E7QXlFcHZ2QkE7QUFDQTtBekVzdnZCQTtBQUNBO0F5RTd1dkJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F6RSt1dkJBO0FBQ0E7QXlFMXV2QkE7QUFFQTtBekUydXZCQTtBQUNBO0EwRXppd0JBO0FBQ0E7QUFDQTtBMUUyaXdCQTtBQUNBO0EwRXhpd0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTFFMGl3QkE7QUFDQTtBMEV4aXdCQTtBakV5SkE7QUFDQTtBQVNBO0FBQ0E7QUFPQTtBaUV6S0E7QUFFQTtBQUNBO0ExRTZpd0JBO0FBQ0E7QTBFM2l3QkE7QUFDQTtBMUU2aXdCQTtBQUNBO0EwRTNpd0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTFFNml3QkE7QUFDQTtBUzcwdkJBO0FpRTlQQTtBQW9DQTtBQUVBO0ExRTBpd0JBO0FBQ0E7QTBFeml3QkE7QUFDQTtBMUUyaXdCQTtBQUNBO0EwRXppd0JBO0FqRTBIQTtBQUNBO0FBU0E7QUFDQTtBQU9BO0FUbzZ2QkE7QUFDQTtBMEU3aXdCQTtBQUNBO0FBQ0E7QUFDQTtBMUUraXdCQTtBQUNBO0EyRXhsd0JBO0FBQ0E7QTNFMGx3QkE7Iiwic291cmNlUm9vdCI6IiJ9*/