@charset "UTF-8";











































:root {
  --govuk-frontend-version: "5.7.1";
  --govuk-frontend-breakpoint-mobile: 20rem;
  --govuk-frontend-breakpoint-tablet: 40.0625rem;
  --govuk-frontend-breakpoint-desktop: 48.0625rem;
}


.app-step-nav-related__link, .app-step-nav-header__title, a, .govuk-link {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
/*! Copyright (c) 2011 by Margaret Calvert & Henrik Kubel. All rights reserved. The font has been customised for exclusive use on gov.uk. This cut is not commercially available. */ /* stylelint-disable-line scss/comment-no-loud  */
@font-face {
  font-family: "GDS Transport";
  font-style: normal;
  font-weight: normal;
  src: url("/govuk/assets/fonts/light-94a07e06a1-v2.woff2") format("woff2"), url("/govuk/assets/fonts/light-f591b13f7d-v2.woff") format("woff");
  font-display: fallback;
}
@font-face {
  font-family: "GDS Transport";
  font-style: normal;
  font-weight: bold;
  src: url("/govuk/assets/fonts/bold-b542beb274-v2.woff2") format("woff2"), url("/govuk/assets/fonts/bold-affa96571d-v2.woff") format("woff");
  font-display: fallback;
}
@media print {
  .app-step-nav-related__link, .app-step-nav-header__title, a, .govuk-link {
    font-family: sans-serif;
  }
}
.app-step-nav-related__link, .app-step-nav-header__title, a, .govuk-link {
  text-decoration: underline;
  text-decoration-thickness: max(1px, .0625rem);
  text-underline-offset: 0.1578em;
}
.app-step-nav-related__link:hover, .app-step-nav-header__title:hover, a:hover, .govuk-link:hover {
  text-decoration-thickness: max(3px, .1875rem, .12em);
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
  -webkit-text-decoration-skip: none;
  text-decoration-skip: none;
}
.app-step-nav-related__link:focus, .app-step-nav-header__title:focus, a:focus, .govuk-link:focus {
  outline: 3px solid transparent;
  color: #0b0c0c;
  background-color: #ffdd00;
  box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
  text-decoration: none;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.app-step-nav-related__link:link, .app-step-nav-header__title:link, a:link, .govuk-link:link {
  color: #1d70b8;
}
.app-step-nav-related__link:visited, .app-step-nav-header__title:visited, a:visited, .govuk-link:visited {
  color: #4c2c92;
}
.app-step-nav-related__link:hover, .app-step-nav-header__title:hover, a:hover, .govuk-link:hover {
  color: #003078;
}
.app-step-nav-related__link:active, .app-step-nav-header__title:active, a:active, .govuk-link:active {
  color: #0b0c0c;
}
.app-step-nav-related__link:focus, .app-step-nav-header__title:focus, a:focus, .govuk-link:focus {
  color: #0b0c0c;
}
@media print {
  [href^="/"].app-step-nav-related__link::after, [href^="/"].app-step-nav-header__title::after, a[href^="/"]::after, [href^="/"].govuk-link::after, [href^="http://"].app-step-nav-related__link::after, [href^="http://"].app-step-nav-header__title::after, a[href^="http://"]::after, [href^="http://"].govuk-link::after, [href^="https://"].app-step-nav-related__link::after, [href^="https://"].app-step-nav-header__title::after, a[href^="https://"]::after, [href^="https://"].govuk-link::after {
    content: " (" attr(href) ")";
    font-size: 90%;
    word-wrap: break-word;
  }
}

.govuk-link--muted:link, .govuk-link--muted:visited {
  color: #505a5f;
}
.govuk-link--muted:hover, .govuk-link--muted:active {
  color: #0b0c0c;
}
.govuk-link--muted:focus {
  color: #0b0c0c;
}

.govuk-link--text-colour:link, .govuk-link--text-colour:visited {
  color: #0b0c0c;
}
@media print {
  .govuk-link--text-colour:link, .govuk-link--text-colour:visited {
    color: #000000;
  }
}
.govuk-link--text-colour:hover {
  color: rgba(11, 12, 12, 0.99);
}
.govuk-link--text-colour:active, .govuk-link--text-colour:focus {
  color: #0b0c0c;
}
@media print {
  .govuk-link--text-colour:active, .govuk-link--text-colour:focus {
    color: #000000;
  }
}

.govuk-link--inverse:link, .govuk-link--inverse:visited {
  color: #ffffff;
}
.govuk-link--inverse:hover, .govuk-link--inverse:active {
  color: rgba(255, 255, 255, 0.99);
}
.govuk-link--inverse:focus {
  color: #0b0c0c;
}

.govuk-link--no-underline:not(:hover):not(:active) {
  text-decoration: none;
}

.govuk-link--no-visited-state:link {
  color: #1d70b8;
}
.govuk-link--no-visited-state:visited {
  color: #1d70b8;
}
.govuk-link--no-visited-state:hover {
  color: #003078;
}
.govuk-link--no-visited-state:active {
  color: #0b0c0c;
}
.govuk-link--no-visited-state:focus {
  color: #0b0c0c;
}

.govuk-link-image {
  display: inline-block;
  line-height: 0;
  text-decoration: none;
}
.govuk-link-image:focus {
  outline: 3px solid transparent;
  box-shadow: 0 0 0 4px #ffdd00, 0 0 0 8px #0b0c0c;
}


.govuk-list {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-list {
    font-family: sans-serif;
  }
}
.govuk-list {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-list {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-list {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-list {
  color: #0b0c0c;
}
@media print {
  .govuk-list {
    color: #000000;
  }
}
.govuk-list {
  margin-top: 0;
  margin-bottom: 15px;
}
@media (min-width: 40.0625em) {
  .govuk-list {
    margin-bottom: 20px;
  }
}
.govuk-list {
  padding-left: 0;
  list-style-type: none;
}
.govuk-list .govuk-list {
  margin-top: 10px;
}

.govuk-list > li {
  margin-bottom: 5px;
}

.govuk-list--bullet {
  padding-left: 20px;
  list-style-type: disc;
}

.govuk-list--number {
  padding-left: 20px;
  list-style-type: decimal;
}

.govuk-list--bullet > li,
.govuk-list--number > li {
  margin-bottom: 0;
}
@media (min-width: 40.0625em) {
  .govuk-list--bullet > li,
  .govuk-list--number > li {
    margin-bottom: 5px;
  }
}

.govuk-list--spaced > li {
  margin-bottom: 10px;
}
@media (min-width: 40.0625em) {
  .govuk-list--spaced > li {
    margin-bottom: 15px;
  }
}


.govuk-heading-xl {
  color: #0b0c0c;
}
@media print {
  .govuk-heading-xl {
    color: #000000;
  }
}
.govuk-heading-xl {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-heading-xl {
    font-family: sans-serif;
  }
}
.govuk-heading-xl {
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.09375;
}
@media (min-width: 40.0625em) {
  .govuk-heading-xl {
    font-size: 3rem;
    line-height: 1.0416666667;
  }
}
@media print {
  .govuk-heading-xl {
    font-size: 32pt;
    line-height: 1.15;
  }
}
.govuk-heading-xl {
  display: block;
  margin-top: 0;
  margin-bottom: 30px;
}
@media (min-width: 40.0625em) {
  .govuk-heading-xl {
    margin-bottom: 50px;
  }
}

.govuk-heading-l, .delta-page-title {
  color: #0b0c0c;
}
@media print {
  .govuk-heading-l, .delta-page-title {
    color: #000000;
  }
}
.govuk-heading-l, .delta-page-title {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-heading-l, .delta-page-title {
    font-family: sans-serif;
  }
}
.govuk-heading-l, .delta-page-title {
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1.0416666667;
}
@media (min-width: 40.0625em) {
  .govuk-heading-l, .delta-page-title {
    font-size: 2.25rem;
    line-height: 1.1111111111;
  }
}
@media print {
  .govuk-heading-l, .delta-page-title {
    font-size: 24pt;
    line-height: 1.05;
  }
}
.govuk-heading-l, .delta-page-title {
  display: block;
  margin-top: 0;
  margin-bottom: 20px;
}
@media (min-width: 40.0625em) {
  .govuk-heading-l, .delta-page-title {
    margin-bottom: 30px;
  }
}

.govuk-heading-m {
  color: #0b0c0c;
}
@media print {
  .govuk-heading-m {
    color: #000000;
  }
}
.govuk-heading-m {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-heading-m {
    font-family: sans-serif;
  }
}
.govuk-heading-m {
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.1111111111;
}
@media (min-width: 40.0625em) {
  .govuk-heading-m {
    font-size: 1.5rem;
    line-height: 1.25;
  }
}
@media print {
  .govuk-heading-m {
    font-size: 18pt;
    line-height: 1.15;
  }
}
.govuk-heading-m {
  display: block;
  margin-top: 0;
  margin-bottom: 15px;
}
@media (min-width: 40.0625em) {
  .govuk-heading-m {
    margin-bottom: 20px;
  }
}

.govuk-heading-s {
  color: #0b0c0c;
}
@media print {
  .govuk-heading-s {
    color: #000000;
  }
}
.govuk-heading-s {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-heading-s {
    font-family: sans-serif;
  }
}
.govuk-heading-s {
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-heading-s {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-heading-s {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-heading-s {
  display: block;
  margin-top: 0;
  margin-bottom: 15px;
}
@media (min-width: 40.0625em) {
  .govuk-heading-s {
    margin-bottom: 20px;
  }
}

.govuk-caption-xl {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-caption-xl {
    font-family: sans-serif;
  }
}
.govuk-caption-xl {
  font-weight: 400;
  font-size: 1.125rem;
  line-height: 1.1111111111;
}
@media (min-width: 40.0625em) {
  .govuk-caption-xl {
    font-size: 1.6875rem;
    line-height: 1.1111111111;
  }
}
@media print {
  .govuk-caption-xl {
    font-size: 18pt;
    line-height: 1.15;
  }
}
.govuk-caption-xl {
  display: block;
  margin-bottom: 5px;
  color: #505a5f;
}

.govuk-caption-l {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-caption-l {
    font-family: sans-serif;
  }
}
.govuk-caption-l {
  font-weight: 400;
  font-size: 1.125rem;
  line-height: 1.1111111111;
}
@media (min-width: 40.0625em) {
  .govuk-caption-l {
    font-size: 1.5rem;
    line-height: 1.25;
  }
}
@media print {
  .govuk-caption-l {
    font-size: 18pt;
    line-height: 1.15;
  }
}
.govuk-caption-l {
  display: block;
  margin-bottom: 5px;
  color: #505a5f;
}
@media (min-width: 40.0625em) {
  .govuk-caption-l {
    margin-bottom: 0;
  }
}

.govuk-caption-m {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-caption-m {
    font-family: sans-serif;
  }
}
.govuk-caption-m {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-caption-m {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-caption-m {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-caption-m {
  display: block;
  color: #505a5f;
}

.govuk-body-lead, .govuk-body-l {
  color: #0b0c0c;
}
@media print {
  .govuk-body-lead, .govuk-body-l {
    color: #000000;
  }
}
.govuk-body-lead, .govuk-body-l {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-body-lead, .govuk-body-l {
    font-family: sans-serif;
  }
}
.govuk-body-lead, .govuk-body-l {
  font-weight: 400;
  font-size: 1.125rem;
  line-height: 1.1111111111;
}
@media (min-width: 40.0625em) {
  .govuk-body-lead, .govuk-body-l {
    font-size: 1.5rem;
    line-height: 1.25;
  }
}
@media print {
  .govuk-body-lead, .govuk-body-l {
    font-size: 18pt;
    line-height: 1.15;
  }
}
.govuk-body-lead, .govuk-body-l {
  margin-top: 0;
  margin-bottom: 20px;
}
@media (min-width: 40.0625em) {
  .govuk-body-lead, .govuk-body-l {
    margin-bottom: 30px;
  }
}

p, .govuk-body, .govuk-body-m {
  color: #0b0c0c;
}
@media print {
  p, .govuk-body, .govuk-body-m {
    color: #000000;
  }
}
p, .govuk-body, .govuk-body-m {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  p, .govuk-body, .govuk-body-m {
    font-family: sans-serif;
  }
}
p, .govuk-body, .govuk-body-m {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  p, .govuk-body, .govuk-body-m {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  p, .govuk-body, .govuk-body-m {
    font-size: 14pt;
    line-height: 1.15;
  }
}
p, .govuk-body, .govuk-body-m {
  margin-top: 0;
  margin-bottom: 15px;
}
@media (min-width: 40.0625em) {
  p, .govuk-body, .govuk-body-m {
    margin-bottom: 20px;
  }
}

.govuk-body-s {
  color: #0b0c0c;
}
@media print {
  .govuk-body-s {
    color: #000000;
  }
}
.govuk-body-s {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-body-s {
    font-family: sans-serif;
  }
}
.govuk-body-s {
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.1428571429;
}
@media (min-width: 40.0625em) {
  .govuk-body-s {
    font-size: 1rem;
    line-height: 1.25;
  }
}
@media print {
  .govuk-body-s {
    font-size: 14pt;
    line-height: 1.2;
  }
}
.govuk-body-s {
  margin-top: 0;
  margin-bottom: 15px;
}
@media (min-width: 40.0625em) {
  .govuk-body-s {
    margin-bottom: 20px;
  }
}

.govuk-body-xs {
  color: #0b0c0c;
}
@media print {
  .govuk-body-xs {
    color: #000000;
  }
}
.govuk-body-xs {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-body-xs {
    font-family: sans-serif;
  }
}
.govuk-body-xs {
  font-weight: 400;
  font-size: 0.75rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-body-xs {
    font-size: 0.875rem;
    line-height: 1.4285714286;
  }
}
@media print {
  .govuk-body-xs {
    font-size: 12pt;
    line-height: 1.2;
  }
}
.govuk-body-xs {
  margin-top: 0;
  margin-bottom: 15px;
}
@media (min-width: 40.0625em) {
  .govuk-body-xs {
    margin-bottom: 20px;
  }
}

.govuk-body-l + .govuk-heading-l, .govuk-body-l + .delta-page-title, .govuk-body-lead + .govuk-heading-l, .govuk-body-lead + .delta-page-title {
  padding-top: 5px;
}
@media (min-width: 40.0625em) {
  .govuk-body-l + .govuk-heading-l, .govuk-body-l + .delta-page-title, .govuk-body-lead + .govuk-heading-l, .govuk-body-lead + .delta-page-title {
    padding-top: 10px;
  }
}

p + .govuk-heading-l, p + .delta-page-title, .govuk-body-m + .govuk-heading-l, .govuk-body-m + .delta-page-title, .govuk-body + .govuk-heading-l, .govuk-body + .delta-page-title,
.govuk-body-s + .govuk-heading-l,
.govuk-body-s + .delta-page-title,
.govuk-list + .govuk-heading-l,
.govuk-list + .delta-page-title {
  padding-top: 15px;
}
@media (min-width: 40.0625em) {
  p + .govuk-heading-l, p + .delta-page-title, .govuk-body-m + .govuk-heading-l, .govuk-body-m + .delta-page-title, .govuk-body + .govuk-heading-l, .govuk-body + .delta-page-title,
  .govuk-body-s + .govuk-heading-l,
  .govuk-body-s + .delta-page-title,
  .govuk-list + .govuk-heading-l,
  .govuk-list + .delta-page-title {
    padding-top: 20px;
  }
}

p + .govuk-heading-m, .govuk-body-m + .govuk-heading-m, .govuk-body + .govuk-heading-m,
.govuk-body-s + .govuk-heading-m,
.govuk-list + .govuk-heading-m,
p + .govuk-heading-s,
.govuk-body-m + .govuk-heading-s,
.govuk-body + .govuk-heading-s,
.govuk-body-s + .govuk-heading-s,
.govuk-list + .govuk-heading-s {
  padding-top: 5px;
}
@media (min-width: 40.0625em) {
  p + .govuk-heading-m, .govuk-body-m + .govuk-heading-m, .govuk-body + .govuk-heading-m,
  .govuk-body-s + .govuk-heading-m,
  .govuk-list + .govuk-heading-m,
  p + .govuk-heading-s,
  .govuk-body-m + .govuk-heading-s,
  .govuk-body + .govuk-heading-s,
  .govuk-body-s + .govuk-heading-s,
  .govuk-list + .govuk-heading-s {
    padding-top: 10px;
  }
}


.govuk-section-break {
  margin: 0;
  border: 0;
}

.govuk-section-break--xl {
  margin-top: 30px;
}
@media (min-width: 40.0625em) {
  .govuk-section-break--xl {
    margin-top: 50px;
  }
}
.govuk-section-break--xl {
  margin-bottom: 30px;
}
@media (min-width: 40.0625em) {
  .govuk-section-break--xl {
    margin-bottom: 50px;
  }
}

.govuk-section-break--l {
  margin-top: 20px;
}
@media (min-width: 40.0625em) {
  .govuk-section-break--l {
    margin-top: 30px;
  }
}
.govuk-section-break--l {
  margin-bottom: 20px;
}
@media (min-width: 40.0625em) {
  .govuk-section-break--l {
    margin-bottom: 30px;
  }
}

.govuk-section-break--m {
  margin-top: 15px;
}
@media (min-width: 40.0625em) {
  .govuk-section-break--m {
    margin-top: 20px;
  }
}
.govuk-section-break--m {
  margin-bottom: 15px;
}
@media (min-width: 40.0625em) {
  .govuk-section-break--m {
    margin-bottom: 20px;
  }
}

.govuk-section-break--visible {
  border-bottom: 1px solid #b1b4b6;
}

















































.govuk-button-group {
  margin-bottom: 5px;
}
@media (min-width: 40.0625em) {
  .govuk-button-group {
    margin-bottom: 15px;
  }
}
.govuk-button-group {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.govuk-button-group .govuk-link {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-button-group .govuk-link {
    font-family: sans-serif;
  }
}
.govuk-button-group .govuk-link {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.1875;
}
@media (min-width: 40.0625em) {
  .govuk-button-group .govuk-link {
    font-size: 1.1875rem;
    line-height: 1;
  }
}
@media print {
  .govuk-button-group .govuk-link {
    font-size: 14pt;
    line-height: 19px;
  }
}
.govuk-button-group .govuk-link {
  display: inline-block;
  max-width: 100%;
  margin-top: 5px;
  margin-bottom: 20px;
  text-align: center;
}
.govuk-button-group .govuk-button {
  margin-bottom: 17px;
}
@media (min-width: 40.0625em) {
  .govuk-button-group {
    margin-right: -15px;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: baseline;
  }
  .govuk-button-group .govuk-button,
  .govuk-button-group .govuk-link {
    margin-right: 15px;
  }
  .govuk-button-group .govuk-link {
    text-align: left;
  }
}













































.govuk-form-group::after {
  content: "";
  display: block;
  clear: both;
}
.govuk-form-group {
  margin-bottom: 20px;
}
@media (min-width: 40.0625em) {
  .govuk-form-group {
    margin-bottom: 30px;
  }
}
.govuk-form-group .govuk-form-group:last-of-type {
  margin-bottom: 0;
}

.govuk-form-group--error {
  padding-left: 15px;
  border-left: 5px solid #d4351c;
}
.govuk-form-group--error .govuk-form-group {
  padding: 0;
  border: 0;
}













































.govuk-grid-row::after {
  content: "";
  display: block;
  clear: both;
}
.govuk-grid-row {
  margin-right: -15px;
  margin-left: -15px;
}

.govuk-grid-column-one-quarter {
  box-sizing: border-box;
  width: 100%;
  padding: 0 15px;
}
@media (min-width: 40.0625em) {
  .govuk-grid-column-one-quarter {
    width: 25%;
    float: left;
  }
}

.govuk-grid-column-one-third {
  box-sizing: border-box;
  width: 100%;
  padding: 0 15px;
}
@media (min-width: 40.0625em) {
  .govuk-grid-column-one-third {
    width: 33.3333333333%;
    float: left;
  }
}

.govuk-grid-column-one-half {
  box-sizing: border-box;
  width: 100%;
  padding: 0 15px;
}
@media (min-width: 40.0625em) {
  .govuk-grid-column-one-half {
    width: 50%;
    float: left;
  }
}

.govuk-grid-column-two-thirds {
  box-sizing: border-box;
  width: 100%;
  padding: 0 15px;
}
@media (min-width: 40.0625em) {
  .govuk-grid-column-two-thirds {
    width: 66.6666666667%;
    float: left;
  }
}

.govuk-grid-column-three-quarters {
  box-sizing: border-box;
  width: 100%;
  padding: 0 15px;
}
@media (min-width: 40.0625em) {
  .govuk-grid-column-three-quarters {
    width: 75%;
    float: left;
  }
}

.govuk-grid-column-full, .grid-column-text-max-width {
  box-sizing: border-box;
  width: 100%;
  padding: 0 15px;
}
@media (min-width: 40.0625em) {
  .govuk-grid-column-full, .grid-column-text-max-width {
    width: 100%;
    float: left;
  }
}

.govuk-grid-column-one-quarter-from-desktop {
  box-sizing: border-box;
  padding: 0 15px;
}
@media (min-width: 48.0625em) {
  .govuk-grid-column-one-quarter-from-desktop {
    width: 25%;
    float: left;
  }
}

.govuk-grid-column-one-third-from-desktop {
  box-sizing: border-box;
  padding: 0 15px;
}
@media (min-width: 48.0625em) {
  .govuk-grid-column-one-third-from-desktop {
    width: 33.3333333333%;
    float: left;
  }
}

.govuk-grid-column-one-half-from-desktop {
  box-sizing: border-box;
  padding: 0 15px;
}
@media (min-width: 48.0625em) {
  .govuk-grid-column-one-half-from-desktop {
    width: 50%;
    float: left;
  }
}

.govuk-grid-column-two-thirds-from-desktop {
  box-sizing: border-box;
  padding: 0 15px;
}
@media (min-width: 48.0625em) {
  .govuk-grid-column-two-thirds-from-desktop {
    width: 66.6666666667%;
    float: left;
  }
}

.govuk-grid-column-three-quarters-from-desktop {
  box-sizing: border-box;
  padding: 0 15px;
}
@media (min-width: 48.0625em) {
  .govuk-grid-column-three-quarters-from-desktop {
    width: 75%;
    float: left;
  }
}

.govuk-grid-column-full-from-desktop {
  box-sizing: border-box;
  padding: 0 15px;
}
@media (min-width: 48.0625em) {
  .govuk-grid-column-full-from-desktop {
    width: 100%;
    float: left;
  }
}













































.govuk-main-wrapper {
  display: block;
  padding-top: 20px;
  padding-bottom: 20px;
}
@media (min-width: 40.0625em) {
  .govuk-main-wrapper {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}

.govuk-main-wrapper--auto-spacing:first-child,
.govuk-main-wrapper--l {
  padding-top: 30px;
}
@media (min-width: 40.0625em) {
  .govuk-main-wrapper--auto-spacing:first-child,
  .govuk-main-wrapper--l {
    padding-top: 50px;
  }
}













































.govuk-template {
  background-color: #f3f2f1;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
@supports (position: -webkit-sticky) or (position: sticky) {
  .govuk-template {
    scroll-padding-top: 60px;
  }
  .govuk-template:not(:has(.govuk-exit-this-page)) {
    scroll-padding-top: 0;
  }
}
@media screen {
  .govuk-template {
    overflow-y: scroll;
  }
}

.govuk-template__body {
  margin: 0;
  background-color: #ffffff;
}













































.govuk-width-container {
  max-width: 960px;
  margin-right: 15px;
  margin-left: 15px;
}
@supports (margin: max(calc(0px))) {
  .govuk-width-container {
    margin-right: max(15px, calc(15px + env(safe-area-inset-right)));
    margin-left: max(15px, calc(15px + env(safe-area-inset-left)));
  }
}
@media (min-width: 40.0625em) {
  .govuk-width-container {
    margin-right: 30px;
    margin-left: 30px;
  }
  @supports (margin: max(calc(0px))) {
    .govuk-width-container {
      margin-right: max(30px, calc(15px + env(safe-area-inset-right)));
      margin-left: max(30px, calc(15px + env(safe-area-inset-left)));
    }
  }
}
@media (min-width: 1020px) {
  .govuk-width-container {
    margin-right: auto;
    margin-left: auto;
  }
  @supports (margin: max(calc(0px))) {
    .govuk-width-container {
      margin-right: auto;
      margin-left: auto;
    }
  }
}














































.govuk-accordion {
  margin-bottom: 20px;
}
@media (min-width: 40.0625em) {
  .govuk-accordion {
    margin-bottom: 30px;
  }
}

.govuk-accordion__section {
  padding-top: 15px;
}

.govuk-accordion__section-heading {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 15px;
  padding-bottom: 15px;
}

.govuk-accordion__section-button {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-accordion__section-button {
    font-family: sans-serif;
  }
}
.govuk-accordion__section-button {
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.1111111111;
}
@media (min-width: 40.0625em) {
  .govuk-accordion__section-button {
    font-size: 1.5rem;
    line-height: 1.25;
  }
}
@media print {
  .govuk-accordion__section-button {
    font-size: 18pt;
    line-height: 1.15;
  }
}
.govuk-accordion__section-button {
  color: #0b0c0c;
}
@media print {
  .govuk-accordion__section-button {
    color: #000000;
  }
}
.govuk-accordion__section-button {
  display: block;
  margin-bottom: 0;
  padding-top: 15px;
}

.govuk-accordion__section-content > :last-child {
  margin-bottom: 0;
}

.govuk-frontend-supported .govuk-accordion {
  border-bottom: 1px solid #b1b4b6;
}
.govuk-frontend-supported .govuk-accordion__section {
  padding-top: 0;
}
.govuk-frontend-supported .govuk-accordion__section-content {
  display: none;
  padding-top: 15px;
  padding-bottom: 30px;
}
@media (min-width: 40.0625em) {
  .govuk-frontend-supported .govuk-accordion__section-content {
    padding-bottom: 50px;
  }
}
@supports (content-visibility: hidden) {
  .govuk-frontend-supported .govuk-accordion__section-content[hidden] {
    content-visibility: hidden;
    display: inherit;
  }
}
.govuk-frontend-supported .govuk-accordion__section-content[hidden] {
  padding-top: 0;
  padding-bottom: 0;
}
.govuk-frontend-supported .govuk-accordion__section--expanded .govuk-accordion__section-content {
  display: block;
}
.govuk-frontend-supported .govuk-accordion__show-all {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-frontend-supported .govuk-accordion__show-all {
    font-family: sans-serif;
  }
}
.govuk-frontend-supported .govuk-accordion__show-all {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-frontend-supported .govuk-accordion__show-all {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-frontend-supported .govuk-accordion__show-all {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-frontend-supported .govuk-accordion__show-all {
  position: relative;
  z-index: 1;
  margin-bottom: 9px;
  padding: 5px 2px 5px 0;
  border-width: 0;
  color: #1d70b8;
  background: none;
  cursor: pointer;
  -webkit-appearance: none;
}
@media (min-width: 40.0625em) {
  .govuk-frontend-supported .govuk-accordion__show-all {
    margin-bottom: 14px;
  }
}
.govuk-frontend-supported .govuk-accordion__show-all::-moz-focus-inner {
  padding: 0;
  border: 0;
}
.govuk-frontend-supported .govuk-accordion__show-all:hover {
  color: #0b0c0c;
  background: #f3f2f1;
  box-shadow: 0 -2px #f3f2f1, 0 4px #f3f2f1;
}
.govuk-frontend-supported .govuk-accordion__show-all:hover .govuk-accordion__section-toggle-text {
  color: #0b0c0c;
}
.govuk-frontend-supported .govuk-accordion__show-all:hover .govuk-accordion-nav__chevron {
  color: #0b0c0c;
  background: #0b0c0c;
}
.govuk-frontend-supported .govuk-accordion__show-all:hover .govuk-accordion-nav__chevron::after {
  color: #f3f2f1;
}
.govuk-frontend-supported .govuk-accordion__show-all:focus {
  outline: 3px solid transparent;
  color: #0b0c0c;
  background-color: #ffdd00;
  box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
  text-decoration: none;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.govuk-frontend-supported .govuk-accordion__show-all:focus .govuk-accordion-nav__chevron {
  background: #0b0c0c;
}
.govuk-frontend-supported .govuk-accordion__show-all:focus .govuk-accordion-nav__chevron::after {
  color: #ffdd00;
}
.govuk-frontend-supported .govuk-accordion__section-heading {
  padding: 0;
}
.govuk-frontend-supported .govuk-accordion-nav__chevron {
  box-sizing: border-box;
  display: inline-block;
  position: relative;
  width: 1.25rem;
  height: 1.25rem;
  border: 0.0625rem solid;
  border-radius: 50%;
  vertical-align: middle;
}
.govuk-frontend-supported .govuk-accordion-nav__chevron::after {
  content: "";
  box-sizing: border-box;
  display: block;
  position: absolute;
  bottom: 0.3125rem;
  left: 0.375rem;
  width: 0.375rem;
  height: 0.375rem;
  transform: rotate(-45deg);
  border-top: 0.125rem solid;
  border-right: 0.125rem solid;
}
.govuk-frontend-supported .govuk-accordion-nav__chevron--down {
  transform: rotate(180deg);
}
.govuk-frontend-supported .govuk-accordion__section-button {
  width: 100%;
  padding: 10px 0 0;
  border: 0;
  border-top: 1px solid #b1b4b6;
  border-bottom: 10px solid transparent;
  color: #0b0c0c;
  background: none;
  text-align: left;
  cursor: pointer;
  -webkit-appearance: none;
}
@media (min-width: 40.0625em) {
  .govuk-frontend-supported .govuk-accordion__section-button {
    padding-bottom: 10px;
  }
}
.govuk-frontend-supported .govuk-accordion__section-button:active {
  color: #0b0c0c;
  background: none;
}
.govuk-frontend-supported .govuk-accordion__section-button:hover {
  color: #0b0c0c;
  background: #f3f2f1;
}
.govuk-frontend-supported .govuk-accordion__section-button:hover .govuk-accordion__section-toggle-text {
  color: #0b0c0c;
}
.govuk-frontend-supported .govuk-accordion__section-button:hover .govuk-accordion-nav__chevron {
  color: #0b0c0c;
  background: #0b0c0c;
}
.govuk-frontend-supported .govuk-accordion__section-button:hover .govuk-accordion-nav__chevron::after {
  color: #f3f2f1;
}
.govuk-frontend-supported .govuk-accordion__section-button:focus {
  outline: 0;
}
.govuk-frontend-supported .govuk-accordion__section-button:focus .govuk-accordion__section-heading-text-focus,
.govuk-frontend-supported .govuk-accordion__section-button:focus .govuk-accordion__section-summary-focus,
.govuk-frontend-supported .govuk-accordion__section-button:focus .govuk-accordion__section-toggle-focus {
  outline: 3px solid transparent;
  color: #0b0c0c;
  background-color: #ffdd00;
  box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
  text-decoration: none;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.govuk-frontend-supported .govuk-accordion__section-button:focus .govuk-accordion-nav__chevron {
  color: #0b0c0c;
  background: #0b0c0c;
}
.govuk-frontend-supported .govuk-accordion__section-button:focus .govuk-accordion-nav__chevron::after {
  color: #ffdd00;
}
.govuk-frontend-supported .govuk-accordion__section-button::-moz-focus-inner {
  padding: 0;
  border: 0;
}
.govuk-frontend-supported .govuk-accordion__section--expanded .govuk-accordion__section-button {
  padding-bottom: 15px;
  border-bottom: 0;
}
@media (min-width: 40.0625em) {
  .govuk-frontend-supported .govuk-accordion__section--expanded .govuk-accordion__section-button {
    padding-bottom: 20px;
  }
}
.govuk-frontend-supported .govuk-accordion__section-button:focus .govuk-accordion__section-toggle-focus {
  padding-bottom: 3px;
}
@media (min-width: 48.0625em) {
  .govuk-frontend-supported .govuk-accordion__section-button:focus .govuk-accordion__section-toggle-focus {
    padding-bottom: 2px;
  }
}
.govuk-frontend-supported .govuk-accordion__section-toggle,
.govuk-frontend-supported .govuk-accordion__section-heading-text,
.govuk-frontend-supported .govuk-accordion__section-summary {
  display: block;
  margin-bottom: 13px;
}
.govuk-frontend-supported .govuk-accordion__section-toggle .govuk-accordion__section-heading-text-focus,
.govuk-frontend-supported .govuk-accordion__section-toggle .govuk-accordion__section-summary-focus,
.govuk-frontend-supported .govuk-accordion__section-toggle .govuk-accordion__section-toggle-focus,
.govuk-frontend-supported .govuk-accordion__section-heading-text .govuk-accordion__section-heading-text-focus,
.govuk-frontend-supported .govuk-accordion__section-heading-text .govuk-accordion__section-summary-focus,
.govuk-frontend-supported .govuk-accordion__section-heading-text .govuk-accordion__section-toggle-focus,
.govuk-frontend-supported .govuk-accordion__section-summary .govuk-accordion__section-heading-text-focus,
.govuk-frontend-supported .govuk-accordion__section-summary .govuk-accordion__section-summary-focus,
.govuk-frontend-supported .govuk-accordion__section-summary .govuk-accordion__section-toggle-focus {
  display: inline;
}
.govuk-frontend-supported .govuk-accordion__section-toggle {
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-frontend-supported .govuk-accordion__section-toggle {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-frontend-supported .govuk-accordion__section-toggle {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-frontend-supported .govuk-accordion__section-toggle {
  font-weight: 400;
  color: #1d70b8;
}
.govuk-frontend-supported .govuk-accordion__show-all-text,
.govuk-frontend-supported .govuk-accordion__section-toggle-text {
  margin-left: 5px;
  vertical-align: middle;
}
@media screen and (forced-colors: active) {
  .govuk-frontend-supported .govuk-accordion__show-all:hover .govuk-accordion-nav__chevron,
  .govuk-frontend-supported .govuk-accordion__section-button:hover .govuk-accordion-nav__chevron {
    background-color: transparent;
  }
  .govuk-frontend-supported .govuk-accordion__show-all:focus .govuk-accordion__section-heading-text-focus,
  .govuk-frontend-supported .govuk-accordion__show-all:focus .govuk-accordion__section-summary-focus,
  .govuk-frontend-supported .govuk-accordion__show-all:focus .govuk-accordion__section-toggle-focus,
  .govuk-frontend-supported .govuk-accordion__show-all:focus .govuk-accordion-nav__chevron,
  .govuk-frontend-supported .govuk-accordion__section-button:focus .govuk-accordion__section-heading-text-focus,
  .govuk-frontend-supported .govuk-accordion__section-button:focus .govuk-accordion__section-summary-focus,
  .govuk-frontend-supported .govuk-accordion__section-button:focus .govuk-accordion__section-toggle-focus,
  .govuk-frontend-supported .govuk-accordion__section-button:focus .govuk-accordion-nav__chevron {
    background: transparent;
    background-color: transparent;
  }
}
@media (hover: none) {
  .govuk-frontend-supported .govuk-accordion__section-header:hover {
    border-top-color: #b1b4b6;
    box-shadow: inset 0 3px 0 0 #1d70b8;
  }
  .govuk-frontend-supported .govuk-accordion__section-header:hover .govuk-accordion__section-button {
    border-top-color: #b1b4b6;
  }
}


.govuk-back-link {
  font-size: 0.875rem;
  line-height: 1.1428571429;
}
@media (min-width: 40.0625em) {
  .govuk-back-link {
    font-size: 1rem;
    line-height: 1.25;
  }
}
@media print {
  .govuk-back-link {
    font-size: 14pt;
    line-height: 1.2;
  }
}
.govuk-back-link {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-back-link {
    font-family: sans-serif;
  }
}
.govuk-back-link {
  text-decoration: underline;
  text-decoration-thickness: max(1px, .0625rem);
  text-underline-offset: 0.1578em;
}
.govuk-back-link:hover {
  text-decoration-thickness: max(3px, .1875rem, .12em);
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
  -webkit-text-decoration-skip: none;
  text-decoration-skip: none;
}
.govuk-back-link:focus {
  outline: 3px solid transparent;
  color: #0b0c0c;
  background-color: #ffdd00;
  box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
  text-decoration: none;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.govuk-back-link:link, .govuk-back-link:visited {
  color: #0b0c0c;
}
@media print {
  .govuk-back-link:link, .govuk-back-link:visited {
    color: #000000;
  }
}
.govuk-back-link:hover {
  color: rgba(11, 12, 12, 0.99);
}
.govuk-back-link:active, .govuk-back-link:focus {
  color: #0b0c0c;
}
@media print {
  .govuk-back-link:active, .govuk-back-link:focus {
    color: #000000;
  }
}
.govuk-back-link {
  display: inline-block;
  position: relative;
  margin-top: 15px;
  margin-bottom: 15px;
  padding-left: 0.875em;
}

.govuk-back-link::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0.1875em;
  width: 0.4375em;
  height: 0.4375em;
  margin: auto 0;
  transform: rotate(225deg);
  border: solid;
  border-width: 1px 1px 0 0;
  border-color: #505a5f;
}
@supports (border-width: max(0px)) {
  .govuk-back-link::before {
    border-width: max(1px, 0.0625em) max(1px, 0.0625em) 0 0;
    font-size: max(16px, 1em);
  }
}

.govuk-back-link:focus::before {
  border-color: #0b0c0c;
}

.govuk-back-link::after {
  content: "";
  position: absolute;
  top: -14px;
  right: 0;
  bottom: -14px;
  left: 0;
}

.govuk-back-link--inverse:link, .govuk-back-link--inverse:visited {
  color: #ffffff;
}
.govuk-back-link--inverse:hover, .govuk-back-link--inverse:active {
  color: rgba(255, 255, 255, 0.99);
}
.govuk-back-link--inverse:focus {
  color: #0b0c0c;
}
.govuk-back-link--inverse::before {
  border-color: currentcolor;
}


.govuk-breadcrumbs {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-breadcrumbs {
    font-family: sans-serif;
  }
}
.govuk-breadcrumbs {
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.1428571429;
}
@media (min-width: 40.0625em) {
  .govuk-breadcrumbs {
    font-size: 1rem;
    line-height: 1.25;
  }
}
@media print {
  .govuk-breadcrumbs {
    font-size: 14pt;
    line-height: 1.2;
  }
}
.govuk-breadcrumbs {
  color: #0b0c0c;
}
@media print {
  .govuk-breadcrumbs {
    color: #000000;
  }
}
.govuk-breadcrumbs {
  margin-top: 15px;
  margin-bottom: 10px;
}

.govuk-breadcrumbs__list::after {
  content: "";
  display: block;
  clear: both;
}
.govuk-breadcrumbs__list {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

.govuk-breadcrumbs__list-item {
  display: inline-block;
  position: relative;
  margin-bottom: 5px;
  margin-left: 0.625em;
  padding-left: 0.9784375em;
  float: left;
}
.govuk-breadcrumbs__list-item::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: -0.206875em;
  width: 0.4375em;
  height: 0.4375em;
  margin: auto 0;
  transform: rotate(45deg);
  border: solid;
  border-width: 1px 1px 0 0;
  border-color: #505a5f;
}
@supports (border-width: max(0px)) {
  .govuk-breadcrumbs__list-item::before {
    border-width: max(1px, 0.0625em) max(1px, 0.0625em) 0 0;
    font-size: max(16px, 1em);
  }
}
.govuk-breadcrumbs__list-item:first-child {
  margin-left: 0;
  padding-left: 0;
}
.govuk-breadcrumbs__list-item:first-child::before {
  content: none;
  display: none;
}

.govuk-breadcrumbs__link {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-breadcrumbs__link {
    font-family: sans-serif;
  }
}
.govuk-breadcrumbs__link {
  text-decoration: underline;
  text-decoration-thickness: max(1px, .0625rem);
  text-underline-offset: 0.1578em;
}
.govuk-breadcrumbs__link:hover {
  text-decoration-thickness: max(3px, .1875rem, .12em);
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
  -webkit-text-decoration-skip: none;
  text-decoration-skip: none;
}
.govuk-breadcrumbs__link:focus {
  outline: 3px solid transparent;
  color: #0b0c0c;
  background-color: #ffdd00;
  box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
  text-decoration: none;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.govuk-breadcrumbs__link:link, .govuk-breadcrumbs__link:visited {
  color: #0b0c0c;
}
@media print {
  .govuk-breadcrumbs__link:link, .govuk-breadcrumbs__link:visited {
    color: #000000;
  }
}
.govuk-breadcrumbs__link:hover {
  color: rgba(11, 12, 12, 0.99);
}
.govuk-breadcrumbs__link:active, .govuk-breadcrumbs__link:focus {
  color: #0b0c0c;
}
@media print {
  .govuk-breadcrumbs__link:active, .govuk-breadcrumbs__link:focus {
    color: #000000;
  }
}

@media (max-width: 40.0525em) {
  .govuk-breadcrumbs--collapse-on-mobile .govuk-breadcrumbs__list-item {
    display: none;
  }
  .govuk-breadcrumbs--collapse-on-mobile .govuk-breadcrumbs__list-item:first-child, .govuk-breadcrumbs--collapse-on-mobile .govuk-breadcrumbs__list-item:last-child {
    display: inline-block;
  }
  .govuk-breadcrumbs--collapse-on-mobile .govuk-breadcrumbs__list-item::before {
    top: 0.375em;
    margin: 0;
  }
  .govuk-breadcrumbs--collapse-on-mobile .govuk-breadcrumbs__list {
    display: flex;
  }
}

.govuk-breadcrumbs--inverse {
  color: #ffffff;
}
.govuk-breadcrumbs--inverse .govuk-breadcrumbs__link:link, .govuk-breadcrumbs--inverse .govuk-breadcrumbs__link:visited {
  color: #ffffff;
}
.govuk-breadcrumbs--inverse .govuk-breadcrumbs__link:hover, .govuk-breadcrumbs--inverse .govuk-breadcrumbs__link:active {
  color: rgba(255, 255, 255, 0.99);
}
.govuk-breadcrumbs--inverse .govuk-breadcrumbs__link:focus {
  color: #0b0c0c;
}
.govuk-breadcrumbs--inverse .govuk-breadcrumbs__list-item::before {
  border-color: currentcolor;
}


.govuk-button {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-button {
    font-family: sans-serif;
  }
}
.govuk-button {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.1875;
}
@media (min-width: 40.0625em) {
  .govuk-button {
    font-size: 1.1875rem;
    line-height: 1;
  }
}
@media print {
  .govuk-button {
    font-size: 14pt;
    line-height: 19px;
  }
}
.govuk-button {
  box-sizing: border-box;
  display: inline-block;
  position: relative;
  width: 100%;
  margin-top: 0;
  margin-right: 0;
  margin-left: 0;
  margin-bottom: 22px;
}
@media (min-width: 40.0625em) {
  .govuk-button {
    margin-bottom: 32px;
  }
}
.govuk-button {
  padding: 8px 10px 7px;
  border: 2px solid transparent;
  border-radius: 0;
  color: #ffffff;
  background-color: #00703c;
  box-shadow: 0 2px 0 rgb(0, 44.8, 24);
  text-align: center;
  vertical-align: top;
  cursor: pointer;
  -webkit-appearance: none;
}
@media (min-width: 40.0625em) {
  .govuk-button {
    width: auto;
  }
}
.govuk-button:link, .govuk-button:visited, .govuk-button:active, .govuk-button:hover {
  color: #ffffff;
  text-decoration: none;
}
.govuk-button::-moz-focus-inner {
  padding: 0;
  border: 0;
}
.govuk-button:hover {
  background-color: rgb(0, 89.6, 48);
}
.govuk-button:active {
  top: 2px;
}
.govuk-button:focus {
  border-color: #ffdd00;
  outline: 3px solid transparent;
  box-shadow: inset 0 0 0 1px #ffdd00;
}
.govuk-button:focus:not(:active):not(:hover) {
  border-color: #ffdd00;
  color: #0b0c0c;
  background-color: #ffdd00;
  box-shadow: 0 2px 0 #0b0c0c;
}
.govuk-button::before {
  content: "";
  display: block;
  position: absolute;
  top: -2px;
  right: -2px;
  bottom: -4px;
  left: -2px;
  background: transparent;
}
.govuk-button:active::before {
  top: -4px;
}

.govuk-button[disabled] {
  opacity: 0.5;
}
.govuk-button[disabled]:hover {
  background-color: #00703c;
  cursor: not-allowed;
}
.govuk-button[disabled]:active {
  top: 0;
  box-shadow: 0 2px 0 rgb(0, 44.8, 24);
}

.govuk-button--secondary {
  background-color: #f3f2f1;
  box-shadow: 0 2px 0 rgb(145.8, 145.2, 144.6);
}
.govuk-button--secondary, .govuk-button--secondary:link, .govuk-button--secondary:visited, .govuk-button--secondary:active, .govuk-button--secondary:hover {
  color: #0b0c0c;
}
.govuk-button--secondary:hover {
  background-color: rgb(218.7, 217.8, 216.9);
}
.govuk-button--secondary:hover[disabled] {
  background-color: #f3f2f1;
}

.govuk-button--warning {
  background-color: #d4351c;
  box-shadow: 0 2px 0 rgb(84.8, 21.2, 11.2);
}
.govuk-button--warning, .govuk-button--warning:link, .govuk-button--warning:visited, .govuk-button--warning:active, .govuk-button--warning:hover {
  color: #ffffff;
}
.govuk-button--warning:hover {
  background-color: rgb(169.6, 42.4, 22.4);
}
.govuk-button--warning:hover[disabled] {
  background-color: #d4351c;
}

.govuk-button--inverse {
  background-color: #ffffff;
  box-shadow: 0 2px 0 rgb(20.3, 78.4, 128.8);
}
.govuk-button--inverse, .govuk-button--inverse:link, .govuk-button--inverse:visited, .govuk-button--inverse:active, .govuk-button--inverse:hover {
  color: #1d70b8;
}
.govuk-button--inverse:hover {
  background-color: rgb(232.4, 240.7, 247.9);
}
.govuk-button--inverse:hover[disabled] {
  background-color: #ffffff;
}

.govuk-button--start {
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1;
}
@media (min-width: 40.0625em) {
  .govuk-button--start {
    font-size: 1.5rem;
    line-height: 1;
  }
}
@media print {
  .govuk-button--start {
    font-size: 18pt;
    line-height: 1;
  }
}
.govuk-button--start {
  display: inline-flex;
  min-height: auto;
  justify-content: center;
}

.govuk-button__start-icon {
  margin-left: 5px;
}
@media (min-width: 48.0625em) {
  .govuk-button__start-icon {
    margin-left: 10px;
  }
}
.govuk-button__start-icon {
  vertical-align: middle;
  flex-shrink: 0;
  align-self: center;
  forced-color-adjust: auto;
}


.govuk-error-message {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-error-message {
    font-family: sans-serif;
  }
}
.govuk-error-message {
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-error-message {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-error-message {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-error-message {
  display: block;
  margin-top: 0;
  margin-bottom: 15px;
  clear: both;
  color: #d4351c;
}


.govuk-hint {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-hint {
    font-family: sans-serif;
  }
}
.govuk-hint {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-hint {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-hint {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-hint {
  margin-bottom: 15px;
  color: #505a5f;
}

.govuk-label:not(.govuk-label--m):not(.govuk-label--l):not(.govuk-label--xl) + .govuk-hint {
  margin-bottom: 10px;
}

.govuk-fieldset__legend:not(.govuk-fieldset__legend--m):not(.govuk-fieldset__legend--l):not(.govuk-fieldset__legend--xl) + .govuk-hint {
  margin-bottom: 10px;
}

.govuk-fieldset__legend + .govuk-hint {
  margin-top: -5px;
}


.govuk-label {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-label {
    font-family: sans-serif;
  }
}
.govuk-label {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-label {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-label {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-label {
  color: #0b0c0c;
}
@media print {
  .govuk-label {
    color: #000000;
  }
}
.govuk-label {
  display: block;
  margin-bottom: 5px;
}

.govuk-label--xl,
.govuk-label--l,
.govuk-label--m {
  font-weight: 700;
  margin-bottom: 15px;
}

.govuk-label--xl {
  font-size: 2rem;
  line-height: 1.09375;
}
@media (min-width: 40.0625em) {
  .govuk-label--xl {
    font-size: 3rem;
    line-height: 1.0416666667;
  }
}
@media print {
  .govuk-label--xl {
    font-size: 32pt;
    line-height: 1.15;
  }
}

.govuk-label--l {
  font-size: 1.5rem;
  line-height: 1.0416666667;
}
@media (min-width: 40.0625em) {
  .govuk-label--l {
    font-size: 2.25rem;
    line-height: 1.1111111111;
  }
}
@media print {
  .govuk-label--l {
    font-size: 24pt;
    line-height: 1.05;
  }
}

.govuk-label--m {
  font-size: 1.125rem;
  line-height: 1.1111111111;
}
@media (min-width: 40.0625em) {
  .govuk-label--m {
    font-size: 1.5rem;
    line-height: 1.25;
  }
}
@media print {
  .govuk-label--m {
    font-size: 18pt;
    line-height: 1.15;
  }
}

.govuk-label--s {
  font-weight: 700;
}

.govuk-label-wrapper {
  margin: 0;
}





.govuk-textarea {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-textarea {
    font-family: sans-serif;
  }
}
.govuk-textarea {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-textarea {
    font-size: 1.1875rem;
    line-height: 1.25;
  }
}
@media print {
  .govuk-textarea {
    font-size: 14pt;
    line-height: 1.25;
  }
}
.govuk-textarea {
  box-sizing: border-box;
  display: block;
  width: 100%;
  min-height: 40px;
  margin-bottom: 20px;
}
@media (min-width: 40.0625em) {
  .govuk-textarea {
    margin-bottom: 30px;
  }
}
.govuk-textarea {
  padding: 5px;
  resize: vertical;
  border: 2px solid #0b0c0c;
  border-radius: 0;
  -webkit-appearance: none;
}
.govuk-textarea:focus {
  outline: 3px solid #ffdd00;
  outline-offset: 0;
  box-shadow: inset 0 0 0 2px;
}
.govuk-textarea:disabled {
  opacity: 0.5;
  color: inherit;
  background-color: transparent;
  cursor: not-allowed;
}

.govuk-textarea--error {
  border-color: #d4351c;
}
.govuk-textarea--error:focus {
  border-color: #0b0c0c;
}


.govuk-character-count {
  margin-bottom: 20px;
}
@media (min-width: 40.0625em) {
  .govuk-character-count {
    margin-bottom: 30px;
  }
}
.govuk-character-count .govuk-form-group,
.govuk-character-count .govuk-textarea {
  margin-bottom: 5px;
}

.govuk-character-count__message {
  font-variant-numeric: tabular-nums;
  margin-top: 0;
  margin-bottom: 0;
}
.govuk-character-count__message::after {
  content: "​";
}

.govuk-character-count__message--disabled {
  visibility: hidden;
}



.govuk-fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
.govuk-fieldset::after {
  content: "";
  display: block;
  clear: both;
}

@supports not (caret-color: auto) {
  .govuk-fieldset,
  x:-moz-any-link {
    display: table-cell;
  }
}
.govuk-fieldset__legend {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-fieldset__legend {
    font-family: sans-serif;
  }
}
.govuk-fieldset__legend {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-fieldset__legend {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-fieldset__legend {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-fieldset__legend {
  color: #0b0c0c;
}
@media print {
  .govuk-fieldset__legend {
    color: #000000;
  }
}
.govuk-fieldset__legend {
  box-sizing: border-box;
  display: table;
  max-width: 100%;
  margin-bottom: 10px;
  padding: 0;
  white-space: normal;
}

.govuk-fieldset__legend--xl,
.govuk-fieldset__legend--l,
.govuk-fieldset__legend--m {
  font-weight: 700;
  margin-bottom: 15px;
}

.govuk-fieldset__legend--xl {
  font-size: 2rem;
  line-height: 1.09375;
}
@media (min-width: 40.0625em) {
  .govuk-fieldset__legend--xl {
    font-size: 3rem;
    line-height: 1.0416666667;
  }
}
@media print {
  .govuk-fieldset__legend--xl {
    font-size: 32pt;
    line-height: 1.15;
  }
}

.govuk-fieldset__legend--l {
  font-size: 1.5rem;
  line-height: 1.0416666667;
}
@media (min-width: 40.0625em) {
  .govuk-fieldset__legend--l {
    font-size: 2.25rem;
    line-height: 1.1111111111;
  }
}
@media print {
  .govuk-fieldset__legend--l {
    font-size: 24pt;
    line-height: 1.05;
  }
}

.govuk-fieldset__legend--m {
  font-size: 1.125rem;
  line-height: 1.1111111111;
}
@media (min-width: 40.0625em) {
  .govuk-fieldset__legend--m {
    font-size: 1.5rem;
    line-height: 1.25;
  }
}
@media print {
  .govuk-fieldset__legend--m {
    font-size: 18pt;
    line-height: 1.15;
  }
}

.govuk-fieldset__legend--s {
  font-weight: 700;
}

.govuk-fieldset__heading {
  margin: 0;
  font-size: inherit;
  font-weight: inherit;
}




.govuk-checkboxes__item {
  display: flex;
  flex-wrap: wrap;
  position: relative;
  margin-bottom: 10px;
}

.govuk-checkboxes__item:last-child,
.govuk-checkboxes__item:last-of-type {
  margin-bottom: 0;
}

.govuk-checkboxes__input {
  z-index: 1;
  width: 44px;
  height: 44px;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

.govuk-checkboxes__label {
  align-self: center;
  max-width: calc(100% - 74px);
  margin-bottom: 0;
  padding: 7px 15px;
  cursor: pointer;
  touch-action: manipulation;
}

.govuk-checkboxes__label::before {
  content: "";
  box-sizing: border-box;
  position: absolute;
  top: 2px;
  left: 2px;
  width: 40px;
  height: 40px;
  border: 2px solid currentcolor;
  background: transparent;
}

.govuk-checkboxes__label::after {
  content: "";
  box-sizing: border-box;
  position: absolute;
  top: 13px;
  left: 10px;
  width: 23px;
  height: 12px;
  transform: rotate(-45deg);
  border: solid;
  border-width: 0 0 5px 5px;
  border-top-color: transparent;
  opacity: 0;
  background: transparent;
}

.govuk-checkboxes__hint {
  display: block;
  width: 100%;
  margin-top: -5px;
  padding-right: 15px;
  padding-left: 59px;
}

.govuk-label:not(.govuk-label--m):not(.govuk-label--l):not(.govuk-label--xl) + .govuk-checkboxes__hint {
  margin-bottom: 0;
}

.govuk-checkboxes__input:focus + .govuk-checkboxes__label::before {
  border-width: 4px;
  outline: 3px solid transparent;
  outline-offset: 1px;
}
@media screen and (forced-colors: active), (-ms-high-contrast: active) {
  .govuk-checkboxes__input:focus + .govuk-checkboxes__label::before {
    outline-color: Highlight;
  }
}
.govuk-checkboxes__input:focus + .govuk-checkboxes__label::before {
  box-shadow: 0 0 0 3px #ffdd00;
}

.govuk-checkboxes__input:checked + .govuk-checkboxes__label::after {
  opacity: 1;
}

.govuk-checkboxes__input:disabled,
.govuk-checkboxes__input:disabled + .govuk-checkboxes__label {
  cursor: not-allowed;
}

.govuk-checkboxes__input:disabled + .govuk-checkboxes__label,
.govuk-checkboxes__input:disabled ~ .govuk-hint {
  opacity: 0.5;
}

.govuk-checkboxes__divider {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-checkboxes__divider {
    font-family: sans-serif;
  }
}
.govuk-checkboxes__divider {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-checkboxes__divider {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-checkboxes__divider {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-checkboxes__divider {
  color: #0b0c0c;
}
@media print {
  .govuk-checkboxes__divider {
    color: #000000;
  }
}
.govuk-checkboxes__divider {
  width: 40px;
  margin-bottom: 10px;
  text-align: center;
}

.govuk-checkboxes__conditional {
  margin-bottom: 15px;
}
@media (min-width: 40.0625em) {
  .govuk-checkboxes__conditional {
    margin-bottom: 20px;
  }
}
.govuk-checkboxes__conditional {
  margin-left: 20px;
  padding-left: 35px;
  border-left: 4px solid #b1b4b6;
}
.govuk-frontend-supported .govuk-checkboxes__conditional--hidden {
  display: none;
}
.govuk-checkboxes__conditional > :last-child {
  margin-bottom: 0;
}

.govuk-checkboxes--small .govuk-checkboxes__item {
  margin-bottom: 0;
}
.govuk-checkboxes--small .govuk-checkboxes__input {
  margin-left: -10px;
}
.govuk-checkboxes--small .govuk-checkboxes__label {
  padding-left: 1px;
}
.govuk-checkboxes--small .govuk-checkboxes__label::before {
  top: 10px;
  left: 0;
  width: 24px;
  height: 24px;
}
.govuk-checkboxes--small .govuk-checkboxes__label::after {
  top: 17px;
  left: 6px;
  width: 12px;
  height: 6.5px;
  border-width: 0 0 3px 3px;
}
.govuk-checkboxes--small .govuk-checkboxes__hint {
  padding-left: 34px;
}
.govuk-checkboxes--small .govuk-checkboxes__conditional {
  margin-left: 10px;
  padding-left: 20px;
}
.govuk-checkboxes--small .govuk-checkboxes__divider {
  width: 24px;
  margin-bottom: 5px;
}
.govuk-checkboxes--small .govuk-checkboxes__item:hover .govuk-checkboxes__input:not(:disabled) + .govuk-checkboxes__label::before {
  outline: 3px dashed transparent;
  outline-offset: 1px;
  box-shadow: 0 0 0 10px #b1b4b6;
}
@media screen and (forced-colors: active), (-ms-high-contrast: active) {
  .govuk-checkboxes--small .govuk-checkboxes__item:hover .govuk-checkboxes__input:focus + .govuk-checkboxes__label::before {
    outline-color: Highlight;
  }
}
.govuk-checkboxes--small .govuk-checkboxes__item:hover .govuk-checkboxes__input:focus + .govuk-checkboxes__label::before {
  box-shadow: 0 0 0 3px #ffdd00, 0 0 0 10px #b1b4b6;
}
@media (hover: none), (pointer: coarse) {
  .govuk-checkboxes--small .govuk-checkboxes__item:hover .govuk-checkboxes__input:not(:disabled) + .govuk-checkboxes__label::before {
    box-shadow: initial;
  }
  .govuk-checkboxes--small .govuk-checkboxes__item:hover .govuk-checkboxes__input:focus + .govuk-checkboxes__label::before {
    box-shadow: 0 0 0 3px #ffdd00;
  }
}


.govuk-cookie-banner {
  padding-top: 20px;
  border-bottom: 10px solid transparent;
  background-color: #f3f2f1;
}

.govuk-cookie-banner[hidden] {
  display: none;
}

.govuk-cookie-banner__message {
  margin-bottom: -10px;
}
.govuk-cookie-banner__message[hidden] {
  display: none;
}
.govuk-cookie-banner__message:focus {
  outline: none;
}






.govuk-input {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-input {
    font-family: sans-serif;
  }
}
.govuk-input {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-input {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-input {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-input {
  box-sizing: border-box;
  width: 100%;
  height: 2.5rem;
  margin-top: 0;
  padding: 5px;
  border: 2px solid #0b0c0c;
  border-radius: 0;
  -webkit-appearance: none;
  appearance: none;
}
.govuk-input:focus {
  outline: 3px solid #ffdd00;
  outline-offset: 0;
  box-shadow: inset 0 0 0 2px;
}
.govuk-input:disabled {
  opacity: 0.5;
  color: inherit;
  background-color: transparent;
  cursor: not-allowed;
}

.govuk-input::-webkit-outer-spin-button,
.govuk-input::-webkit-inner-spin-button {
  margin: 0;
  -webkit-appearance: none;
}

.govuk-input[type=number] {
  -moz-appearance: textfield;
}

.govuk-input--error {
  border-color: #d4351c;
}
.govuk-input--error:focus {
  border-color: #0b0c0c;
}

.govuk-input--extra-letter-spacing {
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.05em;
}

.govuk-input--width-30 {
  max-width: 29.5em;
}

.govuk-input--width-20 {
  max-width: 20.5em;
}

.govuk-input--width-10 {
  max-width: 11.5em;
}

.govuk-input--width-5 {
  max-width: 5.5em;
}

.govuk-input--width-4 {
  max-width: 4.5em;
}

.govuk-input--width-3 {
  max-width: 3.75em;
}

.govuk-input--width-2 {
  max-width: 2.75em;
}

.govuk-input__wrapper {
  display: flex;
}
.govuk-input__wrapper .govuk-input {
  flex: 0 1 auto;
}
.govuk-input__wrapper .govuk-input:focus {
  z-index: 1;
}
@media (max-width: 19.99em) {
  .govuk-input__wrapper {
    display: block;
  }
  .govuk-input__wrapper .govuk-input {
    max-width: 100%;
  }
}

.govuk-input__prefix,
.govuk-input__suffix {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-input__prefix,
  .govuk-input__suffix {
    font-family: sans-serif;
  }
}
.govuk-input__prefix,
.govuk-input__suffix {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-input__prefix,
  .govuk-input__suffix {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-input__prefix,
  .govuk-input__suffix {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-input__prefix,
.govuk-input__suffix {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5rem;
  height: 2.5rem;
  padding: 5px;
  border: 2px solid #0b0c0c;
  background-color: #f3f2f1;
  text-align: center;
  white-space: nowrap;
  cursor: default;
  flex: 0 0 auto;
}
@media (max-width: 19.99em) {
  .govuk-input__prefix,
  .govuk-input__suffix {
    display: block;
    height: 100%;
    white-space: normal;
  }
}

@media (max-width: 19.99em) {
  .govuk-input__prefix {
    border-bottom: 0;
  }
}
@media (min-width: 20em) {
  .govuk-input__prefix {
    border-right: 0;
  }
}

@media (max-width: 19.99em) {
  .govuk-input__suffix {
    border-top: 0;
  }
}
@media (min-width: 20em) {
  .govuk-input__suffix {
    border-left: 0;
  }
}




.govuk-date-input::after {
  content: "";
  display: block;
  clear: both;
}
.govuk-date-input {
  font-size: 0;
}

.govuk-date-input__item {
  display: inline-block;
  margin-right: 20px;
  margin-bottom: 0;
}

.govuk-date-input__label {
  display: block;
}

.govuk-date-input__input {
  margin-bottom: 0;
}


.govuk-details {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-details {
    font-family: sans-serif;
  }
}
.govuk-details {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-details {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-details {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-details {
  color: #0b0c0c;
}
@media print {
  .govuk-details {
    color: #000000;
  }
}
.govuk-details {
  margin-bottom: 20px;
}
@media (min-width: 40.0625em) {
  .govuk-details {
    margin-bottom: 30px;
  }
}
.govuk-details {
  display: block;
}

.govuk-details__summary {
  display: block;
}

.govuk-details[open] .govuk-details__summary {
  margin-bottom: 5px;
}

.govuk-details__summary-text > :first-child {
  margin-top: 0;
}
.govuk-details__summary-text > :only-child,
.govuk-details__summary-text > :last-child {
  margin-bottom: 0;
}

.govuk-details__text {
  padding-top: 15px;
  padding-bottom: 15px;
  padding-left: 20px;
}

.govuk-details__text p {
  margin-top: 0;
  margin-bottom: 20px;
}

.govuk-details__text > :last-child {
  margin-bottom: 0;
}

@media screen\0  {
  .govuk-details {
    border-left: 10px solid #b1b4b6;
  }
  .govuk-details__summary {
    margin-top: 15px;
  }
  .govuk-details__summary-text {
    font-weight: 700;
    margin-bottom: 15px;
    padding-left: 20px;
  }
}
@media screen\0  and (min-width: 40.0625em) {
  .govuk-details__summary-text {
    margin-bottom: 20px;
  }
}
@supports not (-ms-ime-align: auto) {
  .govuk-details__summary {
    position: relative;
    width: -webkit-fit-content;
    width: fit-content;
    padding-left: 25px;
    color: #1d70b8;
    cursor: pointer;
  }
  .govuk-details__summary:hover {
    color: #003078;
  }
  .govuk-details__summary:focus {
    outline: 3px solid transparent;
    color: #0b0c0c;
    background-color: #ffdd00;
    box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
    text-decoration: none;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
  }
  .govuk-details__summary-text {
    text-decoration: underline;
    text-decoration-thickness: max(1px, .0625rem);
    text-underline-offset: 0.1578em;
  }
  .govuk-details__summary:hover .govuk-details__summary-text {
    text-decoration-thickness: max(3px, .1875rem, .12em);
    -webkit-text-decoration-skip-ink: none;
    text-decoration-skip-ink: none;
    -webkit-text-decoration-skip: none;
    text-decoration-skip: none;
  }
  .govuk-details__summary:focus .govuk-details__summary-text {
    text-decoration: none;
  }
  .govuk-details__summary::-webkit-details-marker {
    display: none;
  }
  .govuk-details__summary::before {
    content: "";
    position: absolute;
    top: -1px;
    bottom: 0;
    left: 0;
    margin: auto;
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-color: transparent;
    -webkit-clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
    clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
    border-width: 7px 0 7px 12.124px;
    border-left-color: inherit;
  }
  .govuk-details[open] > .govuk-details__summary::before {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-color: transparent;
    -webkit-clip-path: polygon(0% 0%, 50% 100%, 100% 0%);
    clip-path: polygon(0% 0%, 50% 100%, 100% 0%);
    border-width: 12.124px 7px 0 7px;
    border-top-color: inherit;
  }
  .govuk-details__text {
    border-left: 5px solid #b1b4b6;
  }
}



.govuk-error-summary {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-error-summary {
    font-family: sans-serif;
  }
}
.govuk-error-summary {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-error-summary {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-error-summary {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-error-summary {
  color: #0b0c0c;
}
@media print {
  .govuk-error-summary {
    color: #000000;
  }
}
.govuk-error-summary {
  padding: 15px;
}
@media (min-width: 40.0625em) {
  .govuk-error-summary {
    padding: 20px;
  }
}
.govuk-error-summary {
  margin-bottom: 30px;
}
@media (min-width: 40.0625em) {
  .govuk-error-summary {
    margin-bottom: 50px;
  }
}
.govuk-error-summary {
  border: 5px solid #d4351c;
}
.govuk-error-summary:focus {
  outline: 3px solid #ffdd00;
}

.govuk-error-summary__title {
  font-size: 1.125rem;
  line-height: 1.1111111111;
}
@media (min-width: 40.0625em) {
  .govuk-error-summary__title {
    font-size: 1.5rem;
    line-height: 1.25;
  }
}
@media print {
  .govuk-error-summary__title {
    font-size: 18pt;
    line-height: 1.15;
  }
}
.govuk-error-summary__title {
  font-weight: 700;
  margin-top: 0;
  margin-bottom: 15px;
}
@media (min-width: 40.0625em) {
  .govuk-error-summary__title {
    margin-bottom: 20px;
  }
}

.govuk-error-summary__body p {
  margin-bottom: 0;
}
.govuk-error-summary__body > * + * {
  margin-top: 15px;
}
@media (min-width: 40.0625em) {
  .govuk-error-summary__body > * + * {
    margin-top: 20px;
  }
}
.govuk-error-summary__body > :last-child {
  margin-bottom: 5px;
}

.govuk-error-summary__list {
  margin-bottom: 0;
}

.govuk-error-summary__list li:last-child {
  margin-bottom: 0;
}

.govuk-error-summary__list a {
  font-weight: 700;
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-error-summary__list a {
    font-family: sans-serif;
  }
}
.govuk-error-summary__list a {
  text-decoration: underline;
  text-decoration-thickness: max(1px, .0625rem);
  text-underline-offset: 0.1578em;
}
.govuk-error-summary__list a:hover {
  text-decoration-thickness: max(3px, .1875rem, .12em);
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
  -webkit-text-decoration-skip: none;
  text-decoration-skip: none;
}
.govuk-error-summary__list a:focus {
  outline: 3px solid transparent;
  color: #0b0c0c;
  background-color: #ffdd00;
  box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
  text-decoration: none;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.govuk-error-summary__list a:link, .govuk-error-summary__list a:visited {
  color: #d4351c;
}
.govuk-error-summary__list a:hover {
  color: rgb(148.4, 37.1, 19.6);
}
.govuk-error-summary__list a:active {
  color: #d4351c;
}
.govuk-error-summary__list a:focus {
  color: #0b0c0c;
}



.govuk-exit-this-page {
  margin-bottom: 30px;
}
@media (min-width: 40.0625em) {
  .govuk-exit-this-page {
    margin-bottom: 50px;
  }
}
.govuk-exit-this-page {
  position: -webkit-sticky;
  position: sticky;
  z-index: 1000;
  top: 0;
  left: 0;
  width: 100%;
}
@media (min-width: 40.0625em) {
  .govuk-exit-this-page {
    display: inline-block;
    right: 0;
    left: auto;
    width: auto;
    float: right;
  }
}

.govuk-exit-this-page__button {
  margin-bottom: 0;
}

.govuk-exit-this-page__indicator {
  padding: 10px;
  display: none;
  padding-bottom: 0;
  color: inherit;
  line-height: 0;
  text-align: center;
  pointer-events: none;
}

.govuk-exit-this-page__indicator--visible {
  display: block;
}

.govuk-exit-this-page__indicator-light {
  box-sizing: border-box;
  display: inline-block;
  width: 0.75em;
  height: 0.75em;
  margin: 0 0.125em;
  border-width: 2px;
  border-style: solid;
  border-radius: 50%;
  border-color: currentcolor;
}

.govuk-exit-this-page__indicator-light--on {
  border-width: 0.375em;
}

@media only print {
  .govuk-exit-this-page {
    display: none;
  }
}
.govuk-exit-this-page-overlay {
  position: fixed;
  z-index: 9999;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #ffffff;
}

.govuk-exit-this-page-hide-content * {
  display: none !important;
}
.govuk-exit-this-page-hide-content .govuk-exit-this-page-overlay {
  display: block !important;
}






.govuk-file-upload {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-file-upload {
    font-family: sans-serif;
  }
}
.govuk-file-upload {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-file-upload {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-file-upload {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-file-upload {
  color: #0b0c0c;
}
@media print {
  .govuk-file-upload {
    color: #000000;
  }
}
.govuk-file-upload {
  max-width: 100%;
  margin-left: -5px;
  padding: 5px;
}
.govuk-file-upload::-webkit-file-upload-button {
  -webkit-appearance: button;
  color: inherit;
  font: inherit;
}
.govuk-file-upload:focus {
  outline: 3px solid #ffdd00;
  box-shadow: inset 0 0 0 4px #0b0c0c;
}
.govuk-file-upload:focus-within {
  outline: 3px solid #ffdd00;
  box-shadow: inset 0 0 0 4px #0b0c0c;
}
.govuk-file-upload:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}


.govuk-footer {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-footer {
    font-family: sans-serif;
  }
}
.govuk-footer {
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.1428571429;
}
@media (min-width: 40.0625em) {
  .govuk-footer {
    font-size: 1rem;
    line-height: 1.25;
  }
}
@media print {
  .govuk-footer {
    font-size: 14pt;
    line-height: 1.2;
  }
}
.govuk-footer {
  padding-top: 25px;
}
@media (min-width: 40.0625em) {
  .govuk-footer {
    padding-top: 40px;
  }
}
.govuk-footer {
  padding-bottom: 15px;
}
@media (min-width: 40.0625em) {
  .govuk-footer {
    padding-bottom: 25px;
  }
}
.govuk-footer {
  border-top: 1px solid #b1b4b6;
  color: #0b0c0c;
  background: #f3f2f1;
}

.govuk-footer__link {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-footer__link {
    font-family: sans-serif;
  }
}
.govuk-footer__link {
  text-decoration: underline;
  text-decoration-thickness: max(1px, .0625rem);
  text-underline-offset: 0.1578em;
}
.govuk-footer__link:hover {
  text-decoration-thickness: max(3px, .1875rem, .12em);
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
  -webkit-text-decoration-skip: none;
  text-decoration-skip: none;
}
.govuk-footer__link:focus {
  outline: 3px solid transparent;
  color: #0b0c0c;
  background-color: #ffdd00;
  box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
  text-decoration: none;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.govuk-footer__link:link, .govuk-footer__link:visited {
  color: #0b0c0c;
}
@media print {
  .govuk-footer__link:link, .govuk-footer__link:visited {
    color: #000000;
  }
}
.govuk-footer__link:hover {
  color: rgba(11, 12, 12, 0.99);
}
.govuk-footer__link:active, .govuk-footer__link:focus {
  color: #0b0c0c;
}
@media print {
  .govuk-footer__link:active, .govuk-footer__link:focus {
    color: #000000;
  }
}

.govuk-footer__section-break {
  margin: 0;
  margin-bottom: 30px;
}
@media (min-width: 40.0625em) {
  .govuk-footer__section-break {
    margin-bottom: 50px;
  }
}
.govuk-footer__section-break {
  border: 0;
  border-bottom: 1px solid #b1b4b6;
}

.govuk-footer__meta {
  display: flex;
  margin-right: -15px;
  margin-left: -15px;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: center;
}

.govuk-footer__meta-item {
  margin-right: 15px;
  margin-bottom: 25px;
  margin-left: 15px;
}

.govuk-footer__meta-item--grow {
  flex: 1;
}
@media (max-width: 40.0525em) {
  .govuk-footer__meta-item--grow {
    flex-basis: 320px;
  }
}

.govuk-footer__licence-logo {
  display: inline-block;
  margin-right: 10px;
}
@media (max-width: 48.0525em) {
  .govuk-footer__licence-logo {
    margin-bottom: 15px;
  }
}
.govuk-footer__licence-logo {
  vertical-align: top;
  forced-color-adjust: auto;
}

.govuk-footer__licence-description {
  display: inline-block;
  text-wrap: balance;
}

.govuk-footer__copyright-logo {
  display: inline-block;
  min-width: 125px;
  padding-top: 112px;
  background-image: url("/govuk/assets/images/govuk-crest.svg");
  background-repeat: no-repeat;
  background-position: 50% 0%;
  background-size: 125px 102px;
  text-align: center;
  white-space: nowrap;
}

.govuk-footer__inline-list {
  margin-top: 0;
  margin-bottom: 15px;
  padding: 0;
}

.govuk-footer__meta-custom {
  margin-bottom: 20px;
}

.govuk-footer__inline-list-item {
  display: inline-block;
  margin-right: 15px;
  margin-bottom: 5px;
}

.govuk-footer__heading {
  margin-bottom: 30px;
  padding-bottom: 20px;
}
@media (max-width: 40.0525em) {
  .govuk-footer__heading {
    padding-bottom: 10px;
  }
}
.govuk-footer__heading {
  border-bottom: 1px solid #b1b4b6;
}

.govuk-footer__navigation::after {
  content: "";
  display: block;
  clear: both;
}
.govuk-footer__navigation {
  margin-right: -15px;
  margin-left: -15px;
}

.govuk-footer__section {
  display: inline-block;
  margin-bottom: 30px;
  vertical-align: top;
}

.govuk-footer__list {
  margin: 0;
  padding: 0;
  list-style: none;
  column-gap: 30px;
}

@media (min-width: 48.0625em) {
  .govuk-footer__list--columns-2 {
    column-count: 2;
  }
  .govuk-footer__list--columns-3 {
    column-count: 3;
  }
}
.govuk-footer__list-item {
  margin-bottom: 15px;
}
@media (min-width: 40.0625em) {
  .govuk-footer__list-item {
    margin-bottom: 20px;
  }
}

.govuk-footer__list-item:last-child {
  margin-bottom: 0;
}


.govuk-header {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-header {
    font-family: sans-serif;
  }
}
.govuk-header {
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1;
}
@media (min-width: 40.0625em) {
  .govuk-header {
    font-size: 1rem;
    line-height: 1;
  }
}
@media print {
  .govuk-header {
    font-size: 14pt;
    line-height: 1;
  }
}
.govuk-header {
  border-bottom: 10px solid #ffffff;
  color: #ffffff;
  background: #0b0c0c;
}

.govuk-header__container--full-width {
  padding: 0 15px;
  border-color: #1d70b8;
}
.govuk-header__container--full-width .govuk-header__menu-button {
  right: 15px;
}

.govuk-header__container::after {
  content: "";
  display: block;
  clear: both;
}
.govuk-header__container {
  position: relative;
  margin-bottom: -10px;
  padding-top: 10px;
  border-bottom: 10px solid #1d70b8;
}

.govuk-header--full-width-border {
  border-bottom-color: #1d70b8;
}
.govuk-header--full-width-border .govuk-header__container {
  border-bottom-color: transparent;
}

.govuk-header__logotype {
  display: inline-block;
  position: relative;
  top: -3px;
  margin-right: 5px;
  fill: currentcolor;
  vertical-align: top;
}
@media (forced-colors: active) {
  .govuk-header__logotype {
    forced-color-adjust: none;
    color: linktext;
  }
}
.govuk-header__logotype:last-child {
  margin-right: 0;
}

.govuk-header__product-name {
  font-size: 1.125rem;
  line-height: 1;
}
@media (min-width: 40.0625em) {
  .govuk-header__product-name {
    font-size: 1.5rem;
    line-height: 1;
  }
}
@media print {
  .govuk-header__product-name {
    font-size: 18pt;
    line-height: 1;
  }
}
.govuk-header__product-name {
  font-weight: 400;
  display: inline-table;
  margin-top: 10px;
}
@-moz-document url-prefix() {
  .govuk-header__product-name {
    margin-top: 9.5px;
  }
}
.govuk-header__product-name {
  vertical-align: top;
}
@media (min-width: 40.0625em) {
  .govuk-header__product-name {
    margin-top: 5px;
  }
  @-moz-document url-prefix() {
    .govuk-header__product-name {
      margin-top: 4.5px;
    }
  }
}

.govuk-header__link:link, .govuk-header__link:visited {
  color: #ffffff;
}
.govuk-header__link:hover, .govuk-header__link:active {
  color: rgba(255, 255, 255, 0.99);
}
.govuk-header__link:focus {
  color: #0b0c0c;
}
.govuk-header__link {
  text-decoration: none;
}
.govuk-header__link:hover {
  text-decoration: underline;
  text-decoration-thickness: 3px;
  text-underline-offset: 0.1578em;
}
.govuk-header__link:focus {
  outline: 3px solid transparent;
  color: #0b0c0c;
  background-color: #ffdd00;
  box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
  text-decoration: none;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

.govuk-header__link--homepage {
  display: inline-block;
  margin-right: 10px;
  font-size: 30px;
}
@media (min-width: 48.0625em) {
  .govuk-header__link--homepage {
    display: inline;
  }
  .govuk-header__link--homepage:focus {
    box-shadow: 0 0 #ffdd00;
  }
}
.govuk-header__link--homepage:link, .govuk-header__link--homepage:visited {
  text-decoration: none;
}
.govuk-header__link--homepage:hover, .govuk-header__link--homepage:active {
  margin-bottom: -3px;
  border-bottom: 3px solid;
}
.govuk-header__link--homepage:focus {
  margin-bottom: 0;
  border-bottom: 0;
}

.govuk-header__service-name {
  display: inline-block;
  margin-bottom: 10px;
  font-size: 1.125rem;
  line-height: 1.1111111111;
}
@media (min-width: 40.0625em) {
  .govuk-header__service-name {
    font-size: 1.5rem;
    line-height: 1.25;
  }
}
@media print {
  .govuk-header__service-name {
    font-size: 18pt;
    line-height: 1.15;
  }
}
.govuk-header__service-name {
  font-weight: 700;
}

.govuk-header__logo,
.govuk-header__content {
  box-sizing: border-box;
}

.govuk-header__logo {
  margin-bottom: 10px;
  padding-right: 80px;
}
@media (min-width: 48.0625em) {
  .govuk-header__logo {
    width: 33.33%;
    padding-right: 15px;
    float: left;
    vertical-align: top;
  }
  .govuk-header__logo:last-child {
    width: auto;
    padding-right: 0;
    float: none;
  }
}

@media (min-width: 48.0625em) {
  .govuk-header__content {
    width: 66.66%;
    padding-left: 15px;
    float: left;
  }
}

.govuk-header__menu-button {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-header__menu-button {
    font-family: sans-serif;
  }
}
.govuk-header__menu-button {
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.1428571429;
}
@media (min-width: 40.0625em) {
  .govuk-header__menu-button {
    font-size: 1rem;
    line-height: 1.25;
  }
}
@media print {
  .govuk-header__menu-button {
    font-size: 14pt;
    line-height: 1.2;
  }
}
.govuk-header__menu-button {
  position: absolute;
  top: 13px;
  right: 0;
  max-width: 80px;
  min-height: 24px;
  margin: 0;
  padding: 0;
  border: 0;
  color: #ffffff;
  background: none;
  word-break: break-all;
  cursor: pointer;
}
.govuk-header__menu-button:hover {
  -webkit-text-decoration: solid underline 3px;
  text-decoration: solid underline 3px;
  text-underline-offset: 0.1578em;
}
.govuk-header__menu-button:focus {
  outline: 3px solid transparent;
  color: #0b0c0c;
  background-color: #ffdd00;
  box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
  text-decoration: none;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.govuk-header__menu-button::after {
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent;
  -webkit-clip-path: polygon(0% 0%, 50% 100%, 100% 0%);
  clip-path: polygon(0% 0%, 50% 100%, 100% 0%);
  border-width: 8.66px 5px 0 5px;
  border-top-color: inherit;
  content: "";
  margin-left: 5px;
}
.govuk-header__menu-button[aria-expanded=true]::after {
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent;
  -webkit-clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  border-width: 0 5px 8.66px;
  border-bottom-color: inherit;
}
@media (min-width: 40.0625em) {
  .govuk-header__menu-button {
    top: 15px;
  }
}
.govuk-frontend-supported .govuk-header__menu-button {
  display: block;
}
.govuk-header__menu-button[hidden], .govuk-frontend-supported .govuk-header__menu-button[hidden] {
  display: none;
}

@media (min-width: 48.0625em) {
  .govuk-header__navigation {
    margin-bottom: 10px;
  }
}

.govuk-header__navigation-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.govuk-header__navigation-list[hidden] {
  display: none;
}

@media (min-width: 48.0625em) {
  .govuk-header__navigation--end {
    margin: 0;
    padding: 5px 0;
    text-align: right;
  }
}

.govuk-header__navigation-item {
  padding: 10px 0;
  border-bottom: 1px solid #2e3133;
}
@media (min-width: 48.0625em) {
  .govuk-header__navigation-item {
    display: inline-block;
    margin-right: 15px;
    padding: 5px 0;
    border: 0;
  }
}
.govuk-header__navigation-item a {
  font-size: 0.875rem;
  line-height: 1.1428571429;
}
@media (min-width: 40.0625em) {
  .govuk-header__navigation-item a {
    font-size: 1rem;
    line-height: 1.25;
  }
}
@media print {
  .govuk-header__navigation-item a {
    font-size: 14pt;
    line-height: 1.2;
  }
}
.govuk-header__navigation-item a {
  font-weight: 700;
  white-space: nowrap;
}

.govuk-header__navigation-item--active a:link, .govuk-header__navigation-item--active a:hover, .govuk-header__navigation-item--active a:visited {
  color: #1d8feb;
}
@media print {
  .govuk-header__navigation-item--active a {
    color: #1d70b8;
  }
}
.govuk-header__navigation-item--active a:focus {
  color: #0b0c0c;
}

.govuk-header__navigation-item:last-child {
  margin-right: 0;
  border-bottom: 0;
}

@media print {
  .govuk-header {
    border-bottom-width: 0;
    color: #0b0c0c;
    background: transparent;
  }
  .govuk-header__link:link, .govuk-header__link:visited {
    color: #0b0c0c;
  }
  .govuk-header__link::after {
    display: none;
  }
}






.govuk-inset-text {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-inset-text {
    font-family: sans-serif;
  }
}
.govuk-inset-text {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-inset-text {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-inset-text {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-inset-text {
  color: #0b0c0c;
}
@media print {
  .govuk-inset-text {
    color: #000000;
  }
}
.govuk-inset-text {
  padding: 15px;
  margin-top: 20px;
}
@media (min-width: 40.0625em) {
  .govuk-inset-text {
    margin-top: 30px;
  }
}
.govuk-inset-text {
  margin-bottom: 20px;
}
@media (min-width: 40.0625em) {
  .govuk-inset-text {
    margin-bottom: 30px;
  }
}
.govuk-inset-text {
  clear: both;
  border-left: 10px solid #b1b4b6;
}
.govuk-inset-text > :first-child {
  margin-top: 0;
}
.govuk-inset-text > :only-child,
.govuk-inset-text > :last-child {
  margin-bottom: 0;
}



.govuk-notification-banner {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-notification-banner {
    font-family: sans-serif;
  }
}
.govuk-notification-banner {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-notification-banner {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-notification-banner {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-notification-banner {
  margin-bottom: 30px;
}
@media (min-width: 40.0625em) {
  .govuk-notification-banner {
    margin-bottom: 50px;
  }
}
.govuk-notification-banner {
  border: 5px solid #1d70b8;
  background-color: #1d70b8;
}
.govuk-notification-banner:focus {
  outline: 3px solid #ffdd00;
}

.govuk-notification-banner__header {
  padding: 2px 15px 5px;
  border-bottom: 1px solid transparent;
}
@media (min-width: 40.0625em) {
  .govuk-notification-banner__header {
    padding: 2px 20px 5px;
  }
}

.govuk-notification-banner__title {
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-notification-banner__title {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-notification-banner__title {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-notification-banner__title {
  font-weight: 700;
  margin: 0;
  padding: 0;
  color: #ffffff;
}

.govuk-notification-banner__content {
  color: #0b0c0c;
}
@media print {
  .govuk-notification-banner__content {
    color: #000000;
  }
}
.govuk-notification-banner__content {
  padding: 15px;
  background-color: #ffffff;
}
@media (min-width: 40.0625em) {
  .govuk-notification-banner__content {
    padding: 20px;
  }
}
.govuk-notification-banner__content > * {
  box-sizing: border-box;
  max-width: 605px;
}
.govuk-notification-banner__content > :last-child {
  margin-bottom: 0;
}

.govuk-notification-banner__heading {
  font-size: 1.125rem;
  line-height: 1.1111111111;
}
@media (min-width: 40.0625em) {
  .govuk-notification-banner__heading {
    font-size: 1.5rem;
    line-height: 1.25;
  }
}
@media print {
  .govuk-notification-banner__heading {
    font-size: 18pt;
    line-height: 1.15;
  }
}
.govuk-notification-banner__heading {
  font-weight: 700;
  margin: 0 0 15px;
  padding: 0;
}

.govuk-notification-banner__link {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-notification-banner__link {
    font-family: sans-serif;
  }
}
.govuk-notification-banner__link {
  text-decoration: underline;
  text-decoration-thickness: max(1px, .0625rem);
  text-underline-offset: 0.1578em;
}
.govuk-notification-banner__link:hover {
  text-decoration-thickness: max(3px, .1875rem, .12em);
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
  -webkit-text-decoration-skip: none;
  text-decoration-skip: none;
}
.govuk-notification-banner__link:focus {
  outline: 3px solid transparent;
  color: #0b0c0c;
  background-color: #ffdd00;
  box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
  text-decoration: none;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.govuk-notification-banner__link:link {
  color: #1d70b8;
}
.govuk-notification-banner__link:visited {
  color: #1d70b8;
}
.govuk-notification-banner__link:hover {
  color: #003078;
}
.govuk-notification-banner__link:active {
  color: #0b0c0c;
}
.govuk-notification-banner__link:focus {
  color: #0b0c0c;
}

.govuk-notification-banner--success {
  border-color: #00703c;
  background-color: #00703c;
}
.govuk-notification-banner--success .govuk-notification-banner__link:link, .govuk-notification-banner--success .govuk-notification-banner__link:visited {
  color: #00703c;
}
.govuk-notification-banner--success .govuk-notification-banner__link:hover {
  color: rgb(0, 78.4, 42);
}
.govuk-notification-banner--success .govuk-notification-banner__link:active {
  color: #00703c;
}
.govuk-notification-banner--success .govuk-notification-banner__link:focus {
  color: #0b0c0c;
}


.govuk-pagination {
  margin-bottom: 20px;
}
@media (min-width: 40.0625em) {
  .govuk-pagination {
    margin-bottom: 30px;
  }
}
.govuk-pagination {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-wrap: wrap;
}
@media (min-width: 40.0625em) {
  .govuk-pagination {
    flex-direction: row;
    align-items: flex-start;
  }
}

.govuk-pagination__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.govuk-pagination__item,
.govuk-pagination__next,
.govuk-pagination__prev {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-pagination__item,
  .govuk-pagination__next,
  .govuk-pagination__prev {
    font-family: sans-serif;
  }
}
.govuk-pagination__item,
.govuk-pagination__next,
.govuk-pagination__prev {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-pagination__item,
  .govuk-pagination__next,
  .govuk-pagination__prev {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-pagination__item,
  .govuk-pagination__next,
  .govuk-pagination__prev {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-pagination__item,
.govuk-pagination__next,
.govuk-pagination__prev {
  box-sizing: border-box;
  position: relative;
  min-width: 45px;
  min-height: 45px;
  padding: 10px 15px;
  float: left;
}
.govuk-pagination__item:hover,
.govuk-pagination__next:hover,
.govuk-pagination__prev:hover {
  background-color: #f3f2f1;
}

.govuk-pagination__item {
  display: none;
  text-align: center;
}
@media (min-width: 40.0625em) {
  .govuk-pagination__item {
    display: block;
  }
}

.govuk-pagination__prev,
.govuk-pagination__next {
  font-weight: 700;
}
.govuk-pagination__prev .govuk-pagination__link,
.govuk-pagination__next .govuk-pagination__link {
  display: flex;
  align-items: center;
}

.govuk-pagination__prev {
  padding-left: 0;
}

.govuk-pagination__next {
  padding-right: 0;
}

.govuk-pagination__item--current,
.govuk-pagination__item--ellipses,
.govuk-pagination__item:first-child,
.govuk-pagination__item:last-child {
  display: block;
}

.govuk-pagination__item--current {
  font-weight: 700;
  outline: 1px solid transparent;
  background-color: #1d70b8;
}
.govuk-pagination__item--current:hover {
  background-color: #1d70b8;
}
.govuk-pagination__item--current .govuk-pagination__link:link, .govuk-pagination__item--current .govuk-pagination__link:visited {
  color: #ffffff;
}
.govuk-pagination__item--current .govuk-pagination__link:hover, .govuk-pagination__item--current .govuk-pagination__link:active {
  color: rgba(255, 255, 255, 0.99);
}
.govuk-pagination__item--current .govuk-pagination__link:focus {
  color: #0b0c0c;
}

.govuk-pagination__item--ellipses {
  font-weight: 700;
  color: #505a5f;
}
.govuk-pagination__item--ellipses:hover {
  background-color: transparent;
}

.govuk-pagination__link {
  display: block;
  min-width: 15px;
}
@media screen {
  .govuk-pagination__link::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }
}
.govuk-pagination__link:hover .govuk-pagination__link-title--decorated, .govuk-pagination__link:active .govuk-pagination__link-title--decorated {
  text-decoration: underline;
  text-decoration-thickness: max(1px, .0625rem);
  text-underline-offset: 0.1578em;
}
.govuk-pagination__link:hover .govuk-pagination__link-label,
.govuk-pagination__link:hover .govuk-pagination__link-title--decorated, .govuk-pagination__link:active .govuk-pagination__link-label,
.govuk-pagination__link:active .govuk-pagination__link-title--decorated {
  text-decoration-thickness: max(3px, .1875rem, .12em);
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
  -webkit-text-decoration-skip: none;
  text-decoration-skip: none;
}
.govuk-pagination__link:focus .govuk-pagination__icon {
  color: #0b0c0c;
}
.govuk-pagination__link:focus .govuk-pagination__link-label {
  text-decoration: none;
}
.govuk-pagination__link:focus .govuk-pagination__link-title--decorated {
  text-decoration: none;
}

.govuk-pagination__link-label {
  font-weight: 400;
  text-decoration: underline;
  text-decoration-thickness: max(1px, .0625rem);
  text-underline-offset: 0.1578em;
  display: inline-block;
}

.govuk-pagination__icon {
  width: 0.9375rem;
  height: 0.8125rem;
  color: #505a5f;
  fill: currentcolor;
  forced-color-adjust: auto;
}

.govuk-pagination__icon--prev {
  margin-right: 15px;
}

.govuk-pagination__icon--next {
  margin-left: 15px;
}

.govuk-pagination--block {
  display: block;
}
.govuk-pagination--block .govuk-pagination__next,
.govuk-pagination--block .govuk-pagination__prev {
  padding-left: 0;
  float: none;
}
.govuk-pagination--block .govuk-pagination__next .govuk-pagination__link,
.govuk-pagination--block .govuk-pagination__prev .govuk-pagination__link {
  display: inline-block;
}
.govuk-pagination--block .govuk-pagination__next {
  padding-right: 15px;
}
.govuk-pagination--block .govuk-pagination__prev + .govuk-pagination__next {
  border-top: 1px solid #b1b4b6;
}
.govuk-pagination--block .govuk-pagination__link-title::after {
  content: "";
  display: block;
}
.govuk-pagination--block .govuk-pagination__link {
  padding-left: 30px;
  text-align: left;
}
.govuk-pagination--block .govuk-pagination__link:not(:focus) {
  text-decoration: none;
}
.govuk-pagination--block .govuk-pagination__icon {
  margin-top: 0.326em;
  margin-left: -30px;
  float: left;
}


.govuk-panel {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-panel {
    font-family: sans-serif;
  }
}
.govuk-panel {
  font-weight: 400;
  font-size: 1.5rem;
  line-height: 1.0416666667;
}
@media (min-width: 40.0625em) {
  .govuk-panel {
    font-size: 2.25rem;
    line-height: 1.1111111111;
  }
}
@media print {
  .govuk-panel {
    font-size: 24pt;
    line-height: 1.05;
  }
}
.govuk-panel {
  box-sizing: border-box;
  margin-bottom: 15px;
  padding: 35px;
  border: 5px solid transparent;
  text-align: center;
}
@media (max-width: 40.0525em) {
  .govuk-panel {
    padding: 10px;
    overflow-wrap: break-word;
    word-wrap: break-word;
  }
}

.govuk-panel--confirmation {
  color: #ffffff;
  background: #00703c;
}
@media print {
  .govuk-panel--confirmation {
    border-color: currentcolor;
    color: #000000;
    background: none;
  }
}

.govuk-panel__title {
  font-size: 2rem;
  line-height: 1.09375;
}
@media (min-width: 40.0625em) {
  .govuk-panel__title {
    font-size: 3rem;
    line-height: 1.0416666667;
  }
}
@media print {
  .govuk-panel__title {
    font-size: 32pt;
    line-height: 1.15;
  }
}
.govuk-panel__title {
  font-weight: 700;
  margin-top: 0;
  margin-bottom: 30px;
}

.govuk-panel__title:last-child {
  margin-bottom: 0;
}







@media (min-width: 20em) {
  .govuk-password-input__wrapper {
    flex-direction: row;
    align-items: flex-start;
  }
}

.govuk-password-input__input::-ms-reveal {
  display: none;
}

.govuk-password-input__toggle {
  margin-top: 5px;
  margin-bottom: 0;
}
.govuk-password-input__toggle[hidden] {
  display: none;
}
@media (min-width: 20em) {
  .govuk-password-input__toggle {
    width: auto;
    flex-shrink: 0;
    flex-basis: 5em;
    margin-top: 0;
    margin-left: 5px;
  }
}


.govuk-tag {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-tag {
    font-family: sans-serif;
  }
}
.govuk-tag {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-tag {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-tag {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-tag {
  display: inline-block;
  max-width: 160px;
  margin-top: -2px;
  margin-bottom: -3px;
  padding-top: 2px;
  padding-right: 8px;
  padding-bottom: 3px;
  padding-left: 8px;
  color: rgb(11.6, 44.8, 73.6);
  background-color: rgb(187.2, 212.1, 233.7);
  text-decoration: none;
  overflow-wrap: break-word;
}
@media screen and (forced-colors: active) {
  .govuk-tag {
    font-weight: bold;
  }
}

.govuk-tag--grey {
  color: rgb(40, 45, 47.5);
  background-color: rgb(228.75, 230.25, 231);
}

.govuk-tag--purple {
  color: rgb(72.5, 21.5, 68);
  background-color: rgb(238.5, 223.2, 237.15);
}

.govuk-tag--turquoise {
  color: rgb(16, 64.4, 60.4);
  background-color: rgb(212, 236.2, 234.2);
}

.govuk-tag--blue {
  color: rgb(11.6, 44.8, 73.6);
  background-color: rgb(187.2, 212.1, 233.7);
}

.govuk-tag--light-blue {
  color: rgb(11.6, 44.8, 73.6);
  background-color: rgb(232.4, 240.7, 247.9);
}

.govuk-tag--yellow {
  color: rgb(89.25, 77.35, 0);
  background-color: rgb(255, 246.5, 191.25);
}

.govuk-tag--orange {
  color: rgb(109.8, 53.55, 25.2);
  background-color: rgb(251.7, 214.2, 195.3);
}

.govuk-tag--red {
  color: rgb(42.4, 10.6, 5.6);
  background-color: rgb(244.25, 204.5, 198.25);
}

.govuk-tag--pink {
  color: rgb(106.5, 28, 64);
  background-color: rgb(248.7, 225.15, 235.95);
}

.govuk-tag--green {
  color: rgb(0, 89.6, 48);
  background-color: rgb(204, 226.4, 216);
}


.govuk-phase-banner {
  padding-top: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #b1b4b6;
}

.govuk-phase-banner__content {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-phase-banner__content {
    font-family: sans-serif;
  }
}
.govuk-phase-banner__content {
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.1428571429;
}
@media (min-width: 40.0625em) {
  .govuk-phase-banner__content {
    font-size: 1rem;
    line-height: 1.25;
  }
}
@media print {
  .govuk-phase-banner__content {
    font-size: 14pt;
    line-height: 1.2;
  }
}
.govuk-phase-banner__content {
  color: #0b0c0c;
}
@media print {
  .govuk-phase-banner__content {
    color: #000000;
  }
}
.govuk-phase-banner__content {
  display: table;
  margin: 0;
}

.govuk-phase-banner__content__tag {
  font-size: 0.875rem;
  line-height: 1.1428571429;
}
@media (min-width: 40.0625em) {
  .govuk-phase-banner__content__tag {
    font-size: 1rem;
    line-height: 1.25;
  }
}
@media print {
  .govuk-phase-banner__content__tag {
    font-size: 14pt;
    line-height: 1.2;
  }
}
.govuk-phase-banner__content__tag {
  margin-right: 10px;
}

.govuk-phase-banner__text {
  display: table-cell;
  vertical-align: middle;
}






.govuk-radios__item {
  display: flex;
  flex-wrap: wrap;
  position: relative;
  margin-bottom: 10px;
}

.govuk-radios__item:last-child,
.govuk-radios__item:last-of-type {
  margin-bottom: 0;
}

.govuk-radios__input {
  z-index: 1;
  width: 44px;
  height: 44px;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

.govuk-radios__label {
  align-self: center;
  max-width: calc(100% - 74px);
  margin-bottom: 0;
  padding: 7px 15px;
  cursor: pointer;
  touch-action: manipulation;
}

.govuk-radios__label::before {
  content: "";
  box-sizing: border-box;
  position: absolute;
  top: 2px;
  left: 2px;
  width: 40px;
  height: 40px;
  border: 2px solid currentcolor;
  border-radius: 50%;
  background: transparent;
}

.govuk-radios__label::after {
  content: "";
  position: absolute;
  top: 12px;
  left: 12px;
  width: 0;
  height: 0;
  border: 10px solid currentcolor;
  border-radius: 50%;
  opacity: 0;
  background: currentcolor;
}

.govuk-radios__hint {
  display: block;
  width: 100%;
  margin-top: -5px;
  padding-right: 15px;
  padding-left: 59px;
}

.govuk-label:not(.govuk-label--m):not(.govuk-label--l):not(.govuk-label--xl) + .govuk-radios__hint {
  margin-bottom: 0;
}

.govuk-radios__input:focus + .govuk-radios__label::before {
  border-width: 4px;
  outline: 3px solid transparent;
  outline-offset: 1px;
}
@media screen and (forced-colors: active), (-ms-high-contrast: active) {
  .govuk-radios__input:focus + .govuk-radios__label::before {
    outline-color: Highlight;
  }
}
.govuk-radios__input:focus + .govuk-radios__label::before {
  box-shadow: 0 0 0 4px #ffdd00;
}

.govuk-radios__input:checked + .govuk-radios__label::after {
  opacity: 1;
}

.govuk-radios__input:disabled,
.govuk-radios__input:disabled + .govuk-radios__label {
  cursor: not-allowed;
}

.govuk-radios__input:disabled + .govuk-radios__label,
.govuk-radios__input:disabled ~ .govuk-hint {
  opacity: 0.5;
}

@media (min-width: 40.0625em) {
  .govuk-radios--inline {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
  }
  .govuk-radios--inline .govuk-radios__item {
    margin-right: 20px;
  }
}

.govuk-radios__divider {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-radios__divider {
    font-family: sans-serif;
  }
}
.govuk-radios__divider {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-radios__divider {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-radios__divider {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-radios__divider {
  color: #0b0c0c;
}
@media print {
  .govuk-radios__divider {
    color: #000000;
  }
}
.govuk-radios__divider {
  width: 40px;
  margin-bottom: 10px;
  text-align: center;
}

.govuk-radios__conditional {
  margin-bottom: 15px;
}
@media (min-width: 40.0625em) {
  .govuk-radios__conditional {
    margin-bottom: 20px;
  }
}
.govuk-radios__conditional {
  margin-left: 20px;
  padding-left: 35px;
  border-left: 4px solid #b1b4b6;
}
.govuk-frontend-supported .govuk-radios__conditional--hidden {
  display: none;
}
.govuk-radios__conditional > :last-child {
  margin-bottom: 0;
}

.govuk-radios--small .govuk-radios__item {
  margin-bottom: 0;
}
.govuk-radios--small .govuk-radios__input {
  margin-left: -10px;
}
.govuk-radios--small .govuk-radios__label {
  padding-left: 1px;
}
.govuk-radios--small .govuk-radios__label::before {
  top: 10px;
  left: 0;
  width: 24px;
  height: 24px;
}
.govuk-radios--small .govuk-radios__label::after {
  top: 17px;
  left: 7px;
  border-width: 5px;
}
.govuk-radios--small .govuk-radios__hint {
  padding-left: 34px;
}
.govuk-radios--small .govuk-radios__conditional {
  margin-left: 10px;
  padding-left: 20px;
}
.govuk-radios--small .govuk-radios__divider {
  width: 24px;
  margin-bottom: 5px;
}
.govuk-radios--small .govuk-radios__item:hover .govuk-radios__input:not(:disabled) + .govuk-radios__label::before {
  outline: 4px dashed transparent;
  outline-offset: 1px;
  box-shadow: 0 0 0 10px #b1b4b6;
}
@media screen and (forced-colors: active), (-ms-high-contrast: active) {
  .govuk-radios--small .govuk-radios__item:hover .govuk-radios__input:focus + .govuk-radios__label::before {
    outline-color: Highlight;
  }
}
.govuk-radios--small .govuk-radios__item:hover .govuk-radios__input:focus + .govuk-radios__label::before {
  box-shadow: 0 0 0 4px #ffdd00 0 0 0 10px #b1b4b6;
}
@media (hover: none), (pointer: coarse) {
  .govuk-radios--small .govuk-radios__item:hover .govuk-radios__input:not(:disabled) + .govuk-radios__label::before {
    box-shadow: initial;
  }
  .govuk-radios--small .govuk-radios__item:hover .govuk-radios__input:focus + .govuk-radios__label::before {
    box-shadow: 0 0 0 4px #ffdd00;
  }
}





.govuk-select {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-select {
    font-family: sans-serif;
  }
}
.govuk-select {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-select {
    font-size: 1.1875rem;
    line-height: 1.25;
  }
}
@media print {
  .govuk-select {
    font-size: 14pt;
    line-height: 1.25;
  }
}
.govuk-select {
  box-sizing: border-box;
  min-width: 11.5em;
  max-width: 100%;
  height: 2.5rem;
  padding: 5px;
  border: 2px solid #0b0c0c;
  color: #0b0c0c;
  background-color: #ffffff;
}
.govuk-select:focus {
  outline: 3px solid #ffdd00;
  outline-offset: 0;
  box-shadow: inset 0 0 0 2px;
}
.govuk-select:disabled {
  opacity: 0.5;
  color: inherit;
  cursor: not-allowed;
}

.govuk-select option:active,
.govuk-select option:checked,
.govuk-select:focus::-ms-value {
  color: #ffffff;
  background-color: #1d70b8;
}

.govuk-select--error {
  border-color: #d4351c;
}
.govuk-select--error:focus {
  border-color: #0b0c0c;
}


.govuk-service-navigation {
  border-bottom: 1px solid #b1b4b6;
  background-color: #f3f2f1;
}

.govuk-service-navigation__container {
  display: flex;
  flex-direction: column;
  align-items: start;
}
@media (min-width: 40.0625em) {
  .govuk-service-navigation__container {
    flex-direction: row;
    flex-wrap: wrap;
  }
}

.govuk-service-navigation__item,
.govuk-service-navigation__service-name {
  position: relative;
  margin: 10px 0;
  border: 0 solid rgb(26.1, 100.8, 165.6);
}
@media (min-width: 40.0625em) {
  .govuk-service-navigation__item,
  .govuk-service-navigation__service-name {
    margin-top: 0;
    margin-bottom: 0;
    padding: 20px 0;
  }
  .govuk-service-navigation__item:not(:last-child),
  .govuk-service-navigation__service-name:not(:last-child) {
    margin-right: 20px;
  }
}
@media (min-width: 40.0625em) and (min-width: 40.0625em) {
  .govuk-service-navigation__item:not(:last-child),
  .govuk-service-navigation__service-name:not(:last-child) {
    margin-right: 30px;
  }
}

@media (max-width: 40.0525em) {
  .govuk-service-navigation__item--active {
    margin-left: -15px;
    padding-left: 10px;
    border-left-width: 5px;
  }
}
@media (min-width: 40.0625em) {
  .govuk-service-navigation__item--active {
    padding-bottom: 15px;
    border-bottom-width: 5px;
  }
}

.govuk-service-navigation__link {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-service-navigation__link {
    font-family: sans-serif;
  }
}
.govuk-service-navigation__link {
  text-decoration: underline;
  text-decoration-thickness: max(1px, .0625rem);
  text-underline-offset: 0.1578em;
}
.govuk-service-navigation__link:hover {
  text-decoration-thickness: max(3px, .1875rem, .12em);
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
  -webkit-text-decoration-skip: none;
  text-decoration-skip: none;
}
.govuk-service-navigation__link:focus {
  outline: 3px solid transparent;
  color: #0b0c0c;
  background-color: #ffdd00;
  box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
  text-decoration: none;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.govuk-service-navigation__link:not(:hover):not(:active) {
  text-decoration: none;
}
.govuk-service-navigation__link:link {
  color: #1d70b8;
}
.govuk-service-navigation__link:visited {
  color: #1d70b8;
}
.govuk-service-navigation__link:hover {
  color: #003078;
}
.govuk-service-navigation__link:active {
  color: #0b0c0c;
}
.govuk-service-navigation__link:focus {
  color: #0b0c0c;
}
.govuk-service-navigation__link:not(:hover):not(:focus) {
  color: rgb(26.1, 100.8, 165.6);
}

.govuk-service-navigation__service-name {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-service-navigation__service-name {
    font-family: sans-serif;
  }
}
.govuk-service-navigation__service-name {
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-service-navigation__service-name {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-service-navigation__service-name {
    font-size: 14pt;
    line-height: 1.15;
  }
}

.govuk-service-navigation__service-name .govuk-service-navigation__link:link, .govuk-service-navigation__service-name .govuk-service-navigation__link:visited {
  color: #0b0c0c;
}
@media print {
  .govuk-service-navigation__service-name .govuk-service-navigation__link:link, .govuk-service-navigation__service-name .govuk-service-navigation__link:visited {
    color: #000000;
  }
}
.govuk-service-navigation__service-name .govuk-service-navigation__link:hover {
  color: rgba(11, 12, 12, 0.99);
}
.govuk-service-navigation__service-name .govuk-service-navigation__link:active, .govuk-service-navigation__service-name .govuk-service-navigation__link:focus {
  color: #0b0c0c;
}
@media print {
  .govuk-service-navigation__service-name .govuk-service-navigation__link:active, .govuk-service-navigation__service-name .govuk-service-navigation__link:focus {
    color: #000000;
  }
}

.govuk-service-navigation__toggle {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-service-navigation__toggle {
    font-family: sans-serif;
  }
}
.govuk-service-navigation__toggle {
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-service-navigation__toggle {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-service-navigation__toggle {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-service-navigation__toggle {
  display: inline-flex;
  margin: 10px 0;
  padding: 0;
  border: 0;
  color: rgb(26.1, 100.8, 165.6);
  background: none;
  word-break: break-all;
  cursor: pointer;
  align-items: center;
}
.govuk-service-navigation__toggle:focus {
  outline: 3px solid transparent;
  color: #0b0c0c;
  background-color: #ffdd00;
  box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
  text-decoration: none;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.govuk-service-navigation__toggle::after {
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent;
  -webkit-clip-path: polygon(0% 0%, 50% 100%, 100% 0%);
  clip-path: polygon(0% 0%, 50% 100%, 100% 0%);
  border-width: 8.66px 5px 0 5px;
  border-top-color: inherit;
  content: "";
  margin-left: 5px;
}
.govuk-service-navigation__toggle[aria-expanded=true]::after {
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent;
  -webkit-clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  border-width: 0 5px 8.66px;
  border-bottom-color: inherit;
}
.govuk-service-navigation__toggle[hidden] {
  display: none;
}
.govuk-service-navigation__service-name + .govuk-service-navigation__wrapper .govuk-service-navigation__toggle {
  margin-top: 0;
}

.govuk-service-navigation__list {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-service-navigation__list {
    font-family: sans-serif;
  }
}
.govuk-service-navigation__list {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-service-navigation__list {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-service-navigation__list {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-service-navigation__list {
  margin: 0;
  margin-bottom: 15px;
  padding: 0;
  list-style: none;
}
@media (min-width: 40.0625em) {
  .govuk-service-navigation__list {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 0;
  }
}
@media screen and (min-width: 40.0625em) and (-ms-high-contrast: active), (min-width: 40.0625em) and (-ms-high-contrast: none) {
  .govuk-service-navigation__list {
    display: block;
  }
}

.govuk-service-navigation__active-fallback {
  font-weight: inherit;
}


.govuk-skip-link:not(:active):not(:focus) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  -webkit-clip-path: inset(50%) !important;
  clip-path: inset(50%) !important;
  border: 0 !important;
  white-space: nowrap !important;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.govuk-skip-link {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-skip-link {
    font-family: sans-serif;
  }
}
.govuk-skip-link {
  text-decoration: underline;
  text-decoration-thickness: max(1px, .0625rem);
  text-underline-offset: 0.1578em;
}
.govuk-skip-link:link, .govuk-skip-link:visited {
  color: #0b0c0c;
}
@media print {
  .govuk-skip-link:link, .govuk-skip-link:visited {
    color: #000000;
  }
}
.govuk-skip-link:hover {
  color: rgba(11, 12, 12, 0.99);
}
.govuk-skip-link:active, .govuk-skip-link:focus {
  color: #0b0c0c;
}
@media print {
  .govuk-skip-link:active, .govuk-skip-link:focus {
    color: #000000;
  }
}
.govuk-skip-link {
  font-size: 0.875rem;
  line-height: 1.1428571429;
}
@media (min-width: 40.0625em) {
  .govuk-skip-link {
    font-size: 1rem;
    line-height: 1.25;
  }
}
@media print {
  .govuk-skip-link {
    font-size: 14pt;
    line-height: 1.2;
  }
}
.govuk-skip-link {
  display: block;
  padding: 10px 15px;
}
@supports (padding: max(calc(0px))) {
  .govuk-skip-link {
    padding-right: max(15px, calc(15px + env(safe-area-inset-right)));
    padding-left: max(15px, calc(15px + env(safe-area-inset-left)));
  }
}
.govuk-skip-link:focus {
  outline: 3px solid #ffdd00;
  outline-offset: 0;
  background-color: #ffdd00;
  text-decoration: underline;
  text-decoration-thickness: max(1px, .0625rem);
  text-underline-offset: 0.1578em;
  box-shadow: none;
}

.govuk-skip-link-focused-element:focus {
  outline: none;
}


.govuk-summary-list {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-summary-list {
    font-family: sans-serif;
  }
}
.govuk-summary-list {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-summary-list {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-summary-list {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-summary-list {
  color: #0b0c0c;
}
@media print {
  .govuk-summary-list {
    color: #000000;
  }
}
@media (min-width: 40.0625em) {
  .govuk-summary-list {
    display: table;
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
  }
}
.govuk-summary-list {
  margin: 0;
  margin-bottom: 20px;
}
@media (min-width: 40.0625em) {
  .govuk-summary-list {
    margin-bottom: 30px;
  }
}

.govuk-summary-list__row {
  border-bottom: 1px solid #b1b4b6;
}
@media (max-width: 40.0525em) {
  .govuk-summary-list__row {
    margin-bottom: 15px;
  }
}
@media (min-width: 40.0625em) {
  .govuk-summary-list__row {
    display: table-row;
  }
}

.govuk-summary-list__row:not(.govuk-summary-list__row--no-actions) > :last-child {
  padding-right: 0;
}

@media (min-width: 40.0625em) {
  .govuk-summary-list__row--no-actions::after {
    content: "";
    display: table-cell;
    width: 20%;
  }
}

.govuk-summary-list__key,
.govuk-summary-list__value,
.govuk-summary-list__actions {
  margin: 0;
}
@media (min-width: 40.0625em) {
  .govuk-summary-list__key,
  .govuk-summary-list__value,
  .govuk-summary-list__actions {
    display: table-cell;
    padding-top: 10px;
    padding-right: 20px;
    padding-bottom: 10px;
  }
}

.govuk-summary-list__actions {
  margin-bottom: 15px;
}
@media (min-width: 40.0625em) {
  .govuk-summary-list__actions {
    width: 20%;
    text-align: right;
  }
}

.govuk-summary-list__key,
.govuk-summary-list__value {
  word-wrap: break-word;
  overflow-wrap: break-word;
}

.govuk-summary-list__key {
  margin-bottom: 5px;
  font-weight: 700;
}
@media (min-width: 40.0625em) {
  .govuk-summary-list__key {
    width: 30%;
  }
}

@media (max-width: 40.0525em) {
  .govuk-summary-list__value {
    margin-bottom: 15px;
  }
}

.govuk-summary-list__value > p {
  margin-bottom: 10px;
}

.govuk-summary-list__value > :last-child {
  margin-bottom: 0;
}

.govuk-summary-list__actions-list {
  width: 100%;
  margin: 0;
  padding: 0;
}

.govuk-summary-list__actions-list-item {
  display: inline-block;
}

@media (max-width: 40.0525em) {
  .govuk-summary-list__actions-list-item {
    margin-right: 10px;
    padding-right: 10px;
    border-right: 1px solid #b1b4b6;
  }
  .govuk-summary-list__actions-list-item:last-child {
    margin-right: 0;
    padding-right: 0;
    border: 0;
  }
}
@media (min-width: 40.0625em) {
  .govuk-summary-list__actions-list-item {
    margin-left: 10px;
    padding-left: 10px;
  }
  .govuk-summary-list__actions-list-item:not(:first-child) {
    border-left: 1px solid #b1b4b6;
  }
  .govuk-summary-list__actions-list-item:first-child {
    margin-left: 0;
    padding-left: 0;
    border: 0;
  }
}
.govuk-summary-list__actions-list-item .govuk-link:focus {
  isolation: isolate;
}

.govuk-summary-list--no-border .govuk-summary-list__row {
  border: 0;
}
@media (min-width: 40.0625em) {
  .govuk-summary-list--no-border .govuk-summary-list__key,
  .govuk-summary-list--no-border .govuk-summary-list__value,
  .govuk-summary-list--no-border .govuk-summary-list__actions {
    padding-bottom: 11px;
  }
}

.govuk-summary-list__row--no-border {
  border: 0;
}
@media (min-width: 40.0625em) {
  .govuk-summary-list__row--no-border .govuk-summary-list__key,
  .govuk-summary-list__row--no-border .govuk-summary-list__value,
  .govuk-summary-list__row--no-border .govuk-summary-list__actions {
    padding-bottom: 11px;
  }
}

.govuk-summary-card {
  margin-bottom: 20px;
}
@media (min-width: 40.0625em) {
  .govuk-summary-card {
    margin-bottom: 30px;
  }
}
.govuk-summary-card {
  border: 1px solid #b1b4b6;
}

.govuk-summary-card__title-wrapper {
  padding: 15px;
  border-bottom: 1px solid transparent;
  background-color: #f3f2f1;
}
@media (min-width: 40.0625em) {
  .govuk-summary-card__title-wrapper {
    display: flex;
    justify-content: space-between;
    flex-wrap: nowrap;
    padding: 15px 20px;
  }
}

.govuk-summary-card__title {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-summary-card__title {
    font-family: sans-serif;
  }
}
.govuk-summary-card__title {
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-summary-card__title {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-summary-card__title {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-summary-card__title {
  color: #0b0c0c;
}
@media print {
  .govuk-summary-card__title {
    color: #000000;
  }
}
.govuk-summary-card__title {
  margin: 5px 20px 10px 0;
}
@media (min-width: 40.0625em) {
  .govuk-summary-card__title {
    margin-bottom: 5px;
  }
}

.govuk-summary-card__actions {
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-summary-card__actions {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-summary-card__actions {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-summary-card__actions {
  font-weight: 700;
  display: flex;
  flex-wrap: wrap;
  row-gap: 10px;
  margin: 5px 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 40.0625em) {
  .govuk-summary-card__actions {
    justify-content: right;
    text-align: right;
  }
}

.govuk-summary-card__action {
  display: inline;
  margin: 0 10px 0 0;
  padding-right: 10px;
  border-right: 1px solid #b1b4b6;
}
@media (min-width: 40.0625em) {
  .govuk-summary-card__action {
    margin-right: 0;
  }
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .govuk-summary-card__action {
    margin-bottom: 5px;
  }
}

.govuk-summary-card__action:last-child {
  margin: 0;
  padding-right: 0;
  border-right: none;
}
@media (min-width: 40.0625em) {
  .govuk-summary-card__action:last-child {
    padding-left: 10px;
  }
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .govuk-summary-card__action:last-child {
    margin-bottom: 0;
  }
}

.govuk-summary-card__content {
  padding: 15px 15px 0;
}
@media (min-width: 40.0625em) {
  .govuk-summary-card__content {
    padding: 15px 20px;
  }
}
.govuk-summary-card__content .govuk-summary-list {
  margin-bottom: 0;
}
.govuk-summary-card__content .govuk-summary-list__row:last-of-type {
  margin-bottom: 0;
  border-bottom: none;
}


.govuk-table {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-table {
    font-family: sans-serif;
  }
}
.govuk-table {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-table {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-table {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-table {
  color: #0b0c0c;
}
@media print {
  .govuk-table {
    color: #000000;
  }
}
.govuk-table {
  width: 100%;
  margin-bottom: 20px;
}
@media (min-width: 40.0625em) {
  .govuk-table {
    margin-bottom: 30px;
  }
}
.govuk-table {
  border-spacing: 0;
  border-collapse: collapse;
}

.govuk-table__header {
  font-weight: 700;
}

.govuk-table__header,
.govuk-table__cell {
  padding: 10px 20px 10px 0;
  border-bottom: 1px solid #b1b4b6;
  text-align: left;
  vertical-align: top;
}

.govuk-table__cell--numeric {
  font-variant-numeric: tabular-nums;
}

.govuk-table__header--numeric,
.govuk-table__cell--numeric {
  text-align: right;
}

.govuk-table__header:last-child,
.govuk-table__cell:last-child {
  padding-right: 0;
}

.govuk-table__caption {
  font-weight: 700;
  display: table-caption;
  text-align: left;
}

.govuk-table__caption--xl,
.govuk-table__caption--l,
.govuk-table__caption--m {
  margin-bottom: 15px;
}

.govuk-table__caption--xl {
  font-size: 2rem;
  line-height: 1.09375;
}
@media (min-width: 40.0625em) {
  .govuk-table__caption--xl {
    font-size: 3rem;
    line-height: 1.0416666667;
  }
}
@media print {
  .govuk-table__caption--xl {
    font-size: 32pt;
    line-height: 1.15;
  }
}

.govuk-table__caption--l {
  font-size: 1.5rem;
  line-height: 1.0416666667;
}
@media (min-width: 40.0625em) {
  .govuk-table__caption--l {
    font-size: 2.25rem;
    line-height: 1.1111111111;
  }
}
@media print {
  .govuk-table__caption--l {
    font-size: 24pt;
    line-height: 1.05;
  }
}

.govuk-table__caption--m {
  font-size: 1.125rem;
  line-height: 1.1111111111;
}
@media (min-width: 40.0625em) {
  .govuk-table__caption--m {
    font-size: 1.5rem;
    line-height: 1.25;
  }
}
@media print {
  .govuk-table__caption--m {
    font-size: 18pt;
    line-height: 1.15;
  }
}


.govuk-tabs {
  margin-top: 5px;
  margin-bottom: 20px;
}
@media (min-width: 40.0625em) {
  .govuk-tabs {
    margin-bottom: 30px;
  }
}
.govuk-tabs {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-tabs {
    font-family: sans-serif;
  }
}
.govuk-tabs {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-tabs {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-tabs {
    font-size: 14pt;
    line-height: 1.15;
  }
}

.govuk-tabs__title {
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-tabs__title {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-tabs__title {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-tabs__title {
  font-weight: 400;
  color: #0b0c0c;
}
@media print {
  .govuk-tabs__title {
    color: #000000;
  }
}
.govuk-tabs__title {
  margin-bottom: 10px;
}

.govuk-tabs__list {
  margin: 0;
  padding: 0;
  list-style: none;
  margin-bottom: 20px;
}
@media (min-width: 40.0625em) {
  .govuk-tabs__list {
    margin-bottom: 30px;
  }
}

.govuk-tabs__list-item {
  margin-left: 25px;
}
.govuk-tabs__list-item::before {
  color: #0b0c0c;
}
@media print {
  .govuk-tabs__list-item::before {
    color: #000000;
  }
}
.govuk-tabs__list-item::before {
  content: "—";
  margin-left: -25px;
  padding-right: 5px;
}

.govuk-tabs__tab {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-tabs__tab {
    font-family: sans-serif;
  }
}
.govuk-tabs__tab {
  text-decoration: underline;
  text-decoration-thickness: max(1px, .0625rem);
  text-underline-offset: 0.1578em;
}
.govuk-tabs__tab:hover {
  text-decoration-thickness: max(3px, .1875rem, .12em);
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
  -webkit-text-decoration-skip: none;
  text-decoration-skip: none;
}
.govuk-tabs__tab:focus {
  outline: 3px solid transparent;
  color: #0b0c0c;
  background-color: #ffdd00;
  box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
  text-decoration: none;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.govuk-tabs__tab:link {
  color: #1d70b8;
}
.govuk-tabs__tab:visited {
  color: #4c2c92;
}
.govuk-tabs__tab:hover {
  color: #003078;
}
.govuk-tabs__tab:active {
  color: #0b0c0c;
}
.govuk-tabs__tab:focus {
  color: #0b0c0c;
}
.govuk-tabs__tab {
  display: inline-block;
  margin-bottom: 10px;
}

.govuk-tabs__panel {
  margin-bottom: 30px;
}
@media (min-width: 40.0625em) {
  .govuk-tabs__panel {
    margin-bottom: 50px;
  }
}

@media (min-width: 40.0625em) {
  .govuk-frontend-supported .govuk-tabs__list::after {
    content: "";
    display: block;
    clear: both;
  }
  .govuk-frontend-supported .govuk-tabs__list {
    margin-bottom: 0;
    border-bottom: 1px solid #b1b4b6;
  }
  .govuk-frontend-supported .govuk-tabs__title {
    display: none;
  }
  .govuk-frontend-supported .govuk-tabs__list-item {
    position: relative;
    margin-right: 5px;
    margin-bottom: 0;
    margin-left: 0;
    padding: 10px 20px;
    float: left;
    background-color: #f3f2f1;
    text-align: center;
  }
  .govuk-frontend-supported .govuk-tabs__list-item::before {
    content: none;
  }
  .govuk-frontend-supported .govuk-tabs__list-item--selected {
    position: relative;
    margin-top: -5px;
    margin-bottom: -1px;
    padding-top: 14px;
    padding-right: 19px;
    padding-bottom: 16px;
    padding-left: 19px;
    border: 1px solid #b1b4b6;
    border-bottom: 0;
    background-color: #ffffff;
  }
  .govuk-frontend-supported .govuk-tabs__list-item--selected .govuk-tabs__tab {
    text-decoration: none;
  }
  .govuk-frontend-supported .govuk-tabs__tab:link, .govuk-frontend-supported .govuk-tabs__tab:visited {
    color: #0b0c0c;
  }
  .govuk-frontend-supported .govuk-tabs__tab {
    margin-bottom: 0;
  }
}
@media print and (min-width: 40.0625em) {
  .govuk-frontend-supported .govuk-tabs__tab:link, .govuk-frontend-supported .govuk-tabs__tab:visited {
    color: #000000;
  }
}
@media (min-width: 40.0625em) {
  .govuk-frontend-supported .govuk-tabs__tab:hover {
    color: rgba(11, 12, 12, 0.99);
  }
  .govuk-frontend-supported .govuk-tabs__tab:active, .govuk-frontend-supported .govuk-tabs__tab:focus {
    color: #0b0c0c;
  }
}
@media print and (min-width: 40.0625em) {
  .govuk-frontend-supported .govuk-tabs__tab:active, .govuk-frontend-supported .govuk-tabs__tab:focus {
    color: #000000;
  }
}
@media (min-width: 40.0625em) {
  .govuk-frontend-supported .govuk-tabs__tab::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }
  .govuk-frontend-supported .govuk-tabs__panel {
    margin-bottom: 0;
    padding: 30px 20px;
    border: 1px solid #b1b4b6;
    border-top: 0;
  }
  .govuk-frontend-supported .govuk-tabs__panel > :last-child {
    margin-bottom: 0;
  }
  .govuk-frontend-supported .govuk-tabs__panel--hidden {
    display: none;
  }
}




.govuk-task-list {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-task-list {
    font-family: sans-serif;
  }
}
.govuk-task-list {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-task-list {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-task-list {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-task-list {
  margin-top: 0;
  margin-bottom: 20px;
}
@media (min-width: 40.0625em) {
  .govuk-task-list {
    margin-bottom: 30px;
  }
}
.govuk-task-list {
  padding: 0;
  list-style-type: none;
}

.govuk-task-list__item {
  display: table;
  position: relative;
  width: 100%;
  margin-bottom: 0;
  padding-top: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #b1b4b6;
}

.govuk-task-list__item:first-child {
  border-top: 1px solid #b1b4b6;
}

.govuk-task-list__item--with-link:hover {
  background: #f3f2f1;
}

.govuk-task-list__name-and-hint {
  display: table-cell;
  vertical-align: top;
  color: #0b0c0c;
}
@media print {
  .govuk-task-list__name-and-hint {
    color: #000000;
  }
}

.govuk-task-list__status {
  display: table-cell;
  padding-left: 10px;
  text-align: right;
  vertical-align: top;
  color: #0b0c0c;
}
@media print {
  .govuk-task-list__status {
    color: #000000;
  }
}

.govuk-task-list__status--cannot-start-yet {
  color: #505a5f;
}

.govuk-task-list__link::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.govuk-task-list__hint {
  margin-top: 5px;
  color: #505a5f;
}






.govuk-warning-text {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-warning-text {
    font-family: sans-serif;
  }
}
.govuk-warning-text {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-warning-text {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-warning-text {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-warning-text {
  margin-bottom: 20px;
}
@media (min-width: 40.0625em) {
  .govuk-warning-text {
    margin-bottom: 30px;
  }
}
.govuk-warning-text {
  font-weight: 700;
  position: relative;
  padding: 10px 0;
}

.govuk-warning-text__icon {
  box-sizing: border-box;
  display: inline-block;
  position: absolute;
  left: 0;
  min-width: 35px;
  min-height: 35px;
  margin-top: -7px;
}
@media (min-width: 40.0625em) {
  .govuk-warning-text__icon {
    margin-top: -5px;
  }
}
.govuk-warning-text__icon {
  border: 3px solid #0b0c0c;
  border-radius: 50%;
  color: #ffffff;
  background: #0b0c0c;
  font-size: 30px;
  line-height: 29px;
  text-align: center;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  forced-color-adjust: none;
}
@media screen and (forced-colors: active) {
  .govuk-warning-text__icon {
    border-color: windowText;
    color: windowText;
    background: transparent;
  }
}

.govuk-warning-text__text {
  color: #0b0c0c;
}
@media print {
  .govuk-warning-text__text {
    color: #000000;
  }
}
.govuk-warning-text__text {
  display: block;
  padding-left: 45px;
  font-weight: inherit;
}



.govuk-clearfix::after {
  content: "";
  display: block;
  clear: both;
}


.govuk-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  -webkit-clip-path: inset(50%) !important;
  clip-path: inset(50%) !important;
  border: 0 !important;
  white-space: nowrap !important;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.govuk-visually-hidden::before {
  content: " ";
}
.govuk-visually-hidden::after {
  content: " ";
}

.govuk-visually-hidden-focusable:not(:active):not(:focus) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  -webkit-clip-path: inset(50%) !important;
  clip-path: inset(50%) !important;
  border: 0 !important;
  white-space: nowrap !important;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}



.govuk-\!-display-inline {
  display: inline !important;
}

.govuk-\!-display-inline-block {
  display: inline-block !important;
}

.govuk-\!-display-block {
  display: block !important;
}

.govuk-\!-display-none {
  display: none !important;
}

@media print {
  .govuk-\!-display-none-print {
    display: none !important;
  }
}

.govuk-\!-margin-0 {
  margin: 0 !important;
}

.govuk-\!-margin-top-0 {
  margin-top: 0 !important;
}

.govuk-\!-margin-right-0 {
  margin-right: 0 !important;
}

.govuk-\!-margin-bottom-0 {
  margin-bottom: 0 !important;
}

.govuk-\!-margin-left-0 {
  margin-left: 0 !important;
}

.govuk-\!-margin-1 {
  margin: 5px !important;
}

.govuk-\!-margin-top-1 {
  margin-top: 5px !important;
}

.govuk-\!-margin-right-1 {
  margin-right: 5px !important;
}

.govuk-\!-margin-bottom-1 {
  margin-bottom: 5px !important;
}

.govuk-\!-margin-left-1 {
  margin-left: 5px !important;
}

.govuk-\!-margin-2 {
  margin: 10px !important;
}

.govuk-\!-margin-top-2 {
  margin-top: 10px !important;
}

.govuk-\!-margin-right-2 {
  margin-right: 10px !important;
}

.govuk-\!-margin-bottom-2 {
  margin-bottom: 10px !important;
}

.govuk-\!-margin-left-2 {
  margin-left: 10px !important;
}

.govuk-\!-margin-3 {
  margin: 15px !important;
}

.govuk-\!-margin-top-3 {
  margin-top: 15px !important;
}

.govuk-\!-margin-right-3 {
  margin-right: 15px !important;
}

.govuk-\!-margin-bottom-3 {
  margin-bottom: 15px !important;
}

.govuk-\!-margin-left-3 {
  margin-left: 15px !important;
}

.govuk-\!-margin-4 {
  margin: 15px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-4 {
    margin: 20px !important;
  }
}

.govuk-\!-margin-top-4 {
  margin-top: 15px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-top-4 {
    margin-top: 20px !important;
  }
}

.govuk-\!-margin-right-4 {
  margin-right: 15px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-right-4 {
    margin-right: 20px !important;
  }
}

.govuk-\!-margin-bottom-4 {
  margin-bottom: 15px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-bottom-4 {
    margin-bottom: 20px !important;
  }
}

.govuk-\!-margin-left-4 {
  margin-left: 15px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-left-4 {
    margin-left: 20px !important;
  }
}

.govuk-\!-margin-5 {
  margin: 15px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-5 {
    margin: 25px !important;
  }
}

.govuk-\!-margin-top-5 {
  margin-top: 15px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-top-5 {
    margin-top: 25px !important;
  }
}

.govuk-\!-margin-right-5 {
  margin-right: 15px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-right-5 {
    margin-right: 25px !important;
  }
}

.govuk-\!-margin-bottom-5 {
  margin-bottom: 15px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-bottom-5 {
    margin-bottom: 25px !important;
  }
}

.govuk-\!-margin-left-5 {
  margin-left: 15px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-left-5 {
    margin-left: 25px !important;
  }
}

.govuk-\!-margin-6 {
  margin: 20px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-6 {
    margin: 30px !important;
  }
}

.govuk-\!-margin-top-6 {
  margin-top: 20px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-top-6 {
    margin-top: 30px !important;
  }
}

.govuk-\!-margin-right-6 {
  margin-right: 20px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-right-6 {
    margin-right: 30px !important;
  }
}

.govuk-\!-margin-bottom-6 {
  margin-bottom: 20px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-bottom-6 {
    margin-bottom: 30px !important;
  }
}

.govuk-\!-margin-left-6 {
  margin-left: 20px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-left-6 {
    margin-left: 30px !important;
  }
}

.govuk-\!-margin-7 {
  margin: 25px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-7 {
    margin: 40px !important;
  }
}

.govuk-\!-margin-top-7 {
  margin-top: 25px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-top-7 {
    margin-top: 40px !important;
  }
}

.govuk-\!-margin-right-7 {
  margin-right: 25px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-right-7 {
    margin-right: 40px !important;
  }
}

.govuk-\!-margin-bottom-7 {
  margin-bottom: 25px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-bottom-7 {
    margin-bottom: 40px !important;
  }
}

.govuk-\!-margin-left-7 {
  margin-left: 25px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-left-7 {
    margin-left: 40px !important;
  }
}

.govuk-\!-margin-8 {
  margin: 30px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-8 {
    margin: 50px !important;
  }
}

.govuk-\!-margin-top-8 {
  margin-top: 30px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-top-8 {
    margin-top: 50px !important;
  }
}

.govuk-\!-margin-right-8 {
  margin-right: 30px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-right-8 {
    margin-right: 50px !important;
  }
}

.govuk-\!-margin-bottom-8 {
  margin-bottom: 30px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-bottom-8 {
    margin-bottom: 50px !important;
  }
}

.govuk-\!-margin-left-8 {
  margin-left: 30px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-left-8 {
    margin-left: 50px !important;
  }
}

.govuk-\!-margin-9 {
  margin: 40px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-9 {
    margin: 60px !important;
  }
}

.govuk-\!-margin-top-9 {
  margin-top: 40px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-top-9 {
    margin-top: 60px !important;
  }
}

.govuk-\!-margin-right-9 {
  margin-right: 40px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-right-9 {
    margin-right: 60px !important;
  }
}

.govuk-\!-margin-bottom-9 {
  margin-bottom: 40px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-bottom-9 {
    margin-bottom: 60px !important;
  }
}

.govuk-\!-margin-left-9 {
  margin-left: 40px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-left-9 {
    margin-left: 60px !important;
  }
}

.govuk-\!-padding-0 {
  padding: 0 !important;
}

.govuk-\!-padding-top-0 {
  padding-top: 0 !important;
}

.govuk-\!-padding-right-0 {
  padding-right: 0 !important;
}

.govuk-\!-padding-bottom-0 {
  padding-bottom: 0 !important;
}

.govuk-\!-padding-left-0 {
  padding-left: 0 !important;
}

.govuk-\!-padding-1 {
  padding: 5px !important;
}

.govuk-\!-padding-top-1 {
  padding-top: 5px !important;
}

.govuk-\!-padding-right-1 {
  padding-right: 5px !important;
}

.govuk-\!-padding-bottom-1 {
  padding-bottom: 5px !important;
}

.govuk-\!-padding-left-1 {
  padding-left: 5px !important;
}

.govuk-\!-padding-2 {
  padding: 10px !important;
}

.govuk-\!-padding-top-2 {
  padding-top: 10px !important;
}

.govuk-\!-padding-right-2 {
  padding-right: 10px !important;
}

.govuk-\!-padding-bottom-2 {
  padding-bottom: 10px !important;
}

.govuk-\!-padding-left-2 {
  padding-left: 10px !important;
}

.govuk-\!-padding-3 {
  padding: 15px !important;
}

.govuk-\!-padding-top-3 {
  padding-top: 15px !important;
}

.govuk-\!-padding-right-3 {
  padding-right: 15px !important;
}

.govuk-\!-padding-bottom-3 {
  padding-bottom: 15px !important;
}

.govuk-\!-padding-left-3 {
  padding-left: 15px !important;
}

.govuk-\!-padding-4 {
  padding: 15px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-4 {
    padding: 20px !important;
  }
}

.govuk-\!-padding-top-4 {
  padding-top: 15px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-top-4 {
    padding-top: 20px !important;
  }
}

.govuk-\!-padding-right-4 {
  padding-right: 15px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-right-4 {
    padding-right: 20px !important;
  }
}

.govuk-\!-padding-bottom-4 {
  padding-bottom: 15px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-bottom-4 {
    padding-bottom: 20px !important;
  }
}

.govuk-\!-padding-left-4 {
  padding-left: 15px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-left-4 {
    padding-left: 20px !important;
  }
}

.govuk-\!-padding-5 {
  padding: 15px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-5 {
    padding: 25px !important;
  }
}

.govuk-\!-padding-top-5 {
  padding-top: 15px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-top-5 {
    padding-top: 25px !important;
  }
}

.govuk-\!-padding-right-5 {
  padding-right: 15px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-right-5 {
    padding-right: 25px !important;
  }
}

.govuk-\!-padding-bottom-5 {
  padding-bottom: 15px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-bottom-5 {
    padding-bottom: 25px !important;
  }
}

.govuk-\!-padding-left-5 {
  padding-left: 15px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-left-5 {
    padding-left: 25px !important;
  }
}

.govuk-\!-padding-6 {
  padding: 20px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-6 {
    padding: 30px !important;
  }
}

.govuk-\!-padding-top-6 {
  padding-top: 20px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-top-6 {
    padding-top: 30px !important;
  }
}

.govuk-\!-padding-right-6 {
  padding-right: 20px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-right-6 {
    padding-right: 30px !important;
  }
}

.govuk-\!-padding-bottom-6 {
  padding-bottom: 20px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-bottom-6 {
    padding-bottom: 30px !important;
  }
}

.govuk-\!-padding-left-6 {
  padding-left: 20px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-left-6 {
    padding-left: 30px !important;
  }
}

.govuk-\!-padding-7 {
  padding: 25px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-7 {
    padding: 40px !important;
  }
}

.govuk-\!-padding-top-7 {
  padding-top: 25px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-top-7 {
    padding-top: 40px !important;
  }
}

.govuk-\!-padding-right-7 {
  padding-right: 25px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-right-7 {
    padding-right: 40px !important;
  }
}

.govuk-\!-padding-bottom-7 {
  padding-bottom: 25px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-bottom-7 {
    padding-bottom: 40px !important;
  }
}

.govuk-\!-padding-left-7 {
  padding-left: 25px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-left-7 {
    padding-left: 40px !important;
  }
}

.govuk-\!-padding-8 {
  padding: 30px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-8 {
    padding: 50px !important;
  }
}

.govuk-\!-padding-top-8 {
  padding-top: 30px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-top-8 {
    padding-top: 50px !important;
  }
}

.govuk-\!-padding-right-8 {
  padding-right: 30px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-right-8 {
    padding-right: 50px !important;
  }
}

.govuk-\!-padding-bottom-8 {
  padding-bottom: 30px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-bottom-8 {
    padding-bottom: 50px !important;
  }
}

.govuk-\!-padding-left-8 {
  padding-left: 30px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-left-8 {
    padding-left: 50px !important;
  }
}

.govuk-\!-padding-9 {
  padding: 40px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-9 {
    padding: 60px !important;
  }
}

.govuk-\!-padding-top-9 {
  padding-top: 40px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-top-9 {
    padding-top: 60px !important;
  }
}

.govuk-\!-padding-right-9 {
  padding-right: 40px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-right-9 {
    padding-right: 60px !important;
  }
}

.govuk-\!-padding-bottom-9 {
  padding-bottom: 40px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-bottom-9 {
    padding-bottom: 60px !important;
  }
}

.govuk-\!-padding-left-9 {
  padding-left: 40px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-left-9 {
    padding-left: 60px !important;
  }
}

.govuk-\!-static-margin-0 {
  margin: 0 !important;
}

.govuk-\!-static-margin-top-0 {
  margin-top: 0 !important;
}

.govuk-\!-static-margin-right-0 {
  margin-right: 0 !important;
}

.govuk-\!-static-margin-bottom-0 {
  margin-bottom: 0 !important;
}

.govuk-\!-static-margin-left-0 {
  margin-left: 0 !important;
}

.govuk-\!-static-margin-1 {
  margin: 5px !important;
}

.govuk-\!-static-margin-top-1 {
  margin-top: 5px !important;
}

.govuk-\!-static-margin-right-1 {
  margin-right: 5px !important;
}

.govuk-\!-static-margin-bottom-1 {
  margin-bottom: 5px !important;
}

.govuk-\!-static-margin-left-1 {
  margin-left: 5px !important;
}

.govuk-\!-static-margin-2 {
  margin: 10px !important;
}

.govuk-\!-static-margin-top-2 {
  margin-top: 10px !important;
}

.govuk-\!-static-margin-right-2 {
  margin-right: 10px !important;
}

.govuk-\!-static-margin-bottom-2 {
  margin-bottom: 10px !important;
}

.govuk-\!-static-margin-left-2 {
  margin-left: 10px !important;
}

.govuk-\!-static-margin-3 {
  margin: 15px !important;
}

.govuk-\!-static-margin-top-3 {
  margin-top: 15px !important;
}

.govuk-\!-static-margin-right-3 {
  margin-right: 15px !important;
}

.govuk-\!-static-margin-bottom-3 {
  margin-bottom: 15px !important;
}

.govuk-\!-static-margin-left-3 {
  margin-left: 15px !important;
}

.govuk-\!-static-margin-4 {
  margin: 20px !important;
}

.govuk-\!-static-margin-top-4 {
  margin-top: 20px !important;
}

.govuk-\!-static-margin-right-4 {
  margin-right: 20px !important;
}

.govuk-\!-static-margin-bottom-4 {
  margin-bottom: 20px !important;
}

.govuk-\!-static-margin-left-4 {
  margin-left: 20px !important;
}

.govuk-\!-static-margin-5 {
  margin: 25px !important;
}

.govuk-\!-static-margin-top-5 {
  margin-top: 25px !important;
}

.govuk-\!-static-margin-right-5 {
  margin-right: 25px !important;
}

.govuk-\!-static-margin-bottom-5 {
  margin-bottom: 25px !important;
}

.govuk-\!-static-margin-left-5 {
  margin-left: 25px !important;
}

.govuk-\!-static-margin-6 {
  margin: 30px !important;
}

.govuk-\!-static-margin-top-6 {
  margin-top: 30px !important;
}

.govuk-\!-static-margin-right-6 {
  margin-right: 30px !important;
}

.govuk-\!-static-margin-bottom-6 {
  margin-bottom: 30px !important;
}

.govuk-\!-static-margin-left-6 {
  margin-left: 30px !important;
}

.govuk-\!-static-margin-7 {
  margin: 40px !important;
}

.govuk-\!-static-margin-top-7 {
  margin-top: 40px !important;
}

.govuk-\!-static-margin-right-7 {
  margin-right: 40px !important;
}

.govuk-\!-static-margin-bottom-7 {
  margin-bottom: 40px !important;
}

.govuk-\!-static-margin-left-7 {
  margin-left: 40px !important;
}

.govuk-\!-static-margin-8 {
  margin: 50px !important;
}

.govuk-\!-static-margin-top-8 {
  margin-top: 50px !important;
}

.govuk-\!-static-margin-right-8 {
  margin-right: 50px !important;
}

.govuk-\!-static-margin-bottom-8 {
  margin-bottom: 50px !important;
}

.govuk-\!-static-margin-left-8 {
  margin-left: 50px !important;
}

.govuk-\!-static-margin-9 {
  margin: 60px !important;
}

.govuk-\!-static-margin-top-9 {
  margin-top: 60px !important;
}

.govuk-\!-static-margin-right-9 {
  margin-right: 60px !important;
}

.govuk-\!-static-margin-bottom-9 {
  margin-bottom: 60px !important;
}

.govuk-\!-static-margin-left-9 {
  margin-left: 60px !important;
}

.govuk-\!-static-padding-0 {
  padding: 0 !important;
}

.govuk-\!-static-padding-top-0 {
  padding-top: 0 !important;
}

.govuk-\!-static-padding-right-0 {
  padding-right: 0 !important;
}

.govuk-\!-static-padding-bottom-0 {
  padding-bottom: 0 !important;
}

.govuk-\!-static-padding-left-0 {
  padding-left: 0 !important;
}

.govuk-\!-static-padding-1 {
  padding: 5px !important;
}

.govuk-\!-static-padding-top-1 {
  padding-top: 5px !important;
}

.govuk-\!-static-padding-right-1 {
  padding-right: 5px !important;
}

.govuk-\!-static-padding-bottom-1 {
  padding-bottom: 5px !important;
}

.govuk-\!-static-padding-left-1 {
  padding-left: 5px !important;
}

.govuk-\!-static-padding-2 {
  padding: 10px !important;
}

.govuk-\!-static-padding-top-2 {
  padding-top: 10px !important;
}

.govuk-\!-static-padding-right-2 {
  padding-right: 10px !important;
}

.govuk-\!-static-padding-bottom-2 {
  padding-bottom: 10px !important;
}

.govuk-\!-static-padding-left-2 {
  padding-left: 10px !important;
}

.govuk-\!-static-padding-3 {
  padding: 15px !important;
}

.govuk-\!-static-padding-top-3 {
  padding-top: 15px !important;
}

.govuk-\!-static-padding-right-3 {
  padding-right: 15px !important;
}

.govuk-\!-static-padding-bottom-3 {
  padding-bottom: 15px !important;
}

.govuk-\!-static-padding-left-3 {
  padding-left: 15px !important;
}

.govuk-\!-static-padding-4 {
  padding: 20px !important;
}

.govuk-\!-static-padding-top-4 {
  padding-top: 20px !important;
}

.govuk-\!-static-padding-right-4 {
  padding-right: 20px !important;
}

.govuk-\!-static-padding-bottom-4 {
  padding-bottom: 20px !important;
}

.govuk-\!-static-padding-left-4 {
  padding-left: 20px !important;
}

.govuk-\!-static-padding-5 {
  padding: 25px !important;
}

.govuk-\!-static-padding-top-5 {
  padding-top: 25px !important;
}

.govuk-\!-static-padding-right-5 {
  padding-right: 25px !important;
}

.govuk-\!-static-padding-bottom-5 {
  padding-bottom: 25px !important;
}

.govuk-\!-static-padding-left-5 {
  padding-left: 25px !important;
}

.govuk-\!-static-padding-6 {
  padding: 30px !important;
}

.govuk-\!-static-padding-top-6 {
  padding-top: 30px !important;
}

.govuk-\!-static-padding-right-6 {
  padding-right: 30px !important;
}

.govuk-\!-static-padding-bottom-6 {
  padding-bottom: 30px !important;
}

.govuk-\!-static-padding-left-6 {
  padding-left: 30px !important;
}

.govuk-\!-static-padding-7 {
  padding: 40px !important;
}

.govuk-\!-static-padding-top-7 {
  padding-top: 40px !important;
}

.govuk-\!-static-padding-right-7 {
  padding-right: 40px !important;
}

.govuk-\!-static-padding-bottom-7 {
  padding-bottom: 40px !important;
}

.govuk-\!-static-padding-left-7 {
  padding-left: 40px !important;
}

.govuk-\!-static-padding-8 {
  padding: 50px !important;
}

.govuk-\!-static-padding-top-8 {
  padding-top: 50px !important;
}

.govuk-\!-static-padding-right-8 {
  padding-right: 50px !important;
}

.govuk-\!-static-padding-bottom-8 {
  padding-bottom: 50px !important;
}

.govuk-\!-static-padding-left-8 {
  padding-left: 50px !important;
}

.govuk-\!-static-padding-9 {
  padding: 60px !important;
}

.govuk-\!-static-padding-top-9 {
  padding-top: 60px !important;
}

.govuk-\!-static-padding-right-9 {
  padding-right: 60px !important;
}

.govuk-\!-static-padding-bottom-9 {
  padding-bottom: 60px !important;
}

.govuk-\!-static-padding-left-9 {
  padding-left: 60px !important;
}


.govuk-\!-text-align-left {
  text-align: left !important;
}

.govuk-\!-text-align-centre {
  text-align: center !important;
}

.govuk-\!-text-align-right {
  text-align: right !important;
}


.govuk-\!-font-size-80 {
  font-size: 3.3125rem !important;
  line-height: 1.0377358491 !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-font-size-80 {
    font-size: 5rem !important;
    line-height: 1 !important;
  }
}
@media print {
  .govuk-\!-font-size-80 {
    font-size: 53pt !important;
    line-height: 1.1 !important;
  }
}

.govuk-\!-font-size-48 {
  font-size: 2rem !important;
  line-height: 1.09375 !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-font-size-48 {
    font-size: 3rem !important;
    line-height: 1.0416666667 !important;
  }
}
@media print {
  .govuk-\!-font-size-48 {
    font-size: 32pt !important;
    line-height: 1.15 !important;
  }
}

.govuk-\!-font-size-36 {
  font-size: 1.5rem !important;
  line-height: 1.0416666667 !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-font-size-36 {
    font-size: 2.25rem !important;
    line-height: 1.1111111111 !important;
  }
}
@media print {
  .govuk-\!-font-size-36 {
    font-size: 24pt !important;
    line-height: 1.05 !important;
  }
}

.govuk-\!-font-size-27 {
  font-size: 1.125rem !important;
  line-height: 1.1111111111 !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-font-size-27 {
    font-size: 1.6875rem !important;
    line-height: 1.1111111111 !important;
  }
}
@media print {
  .govuk-\!-font-size-27 {
    font-size: 18pt !important;
    line-height: 1.15 !important;
  }
}

.govuk-\!-font-size-24 {
  font-size: 1.125rem !important;
  line-height: 1.1111111111 !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-font-size-24 {
    font-size: 1.5rem !important;
    line-height: 1.25 !important;
  }
}
@media print {
  .govuk-\!-font-size-24 {
    font-size: 18pt !important;
    line-height: 1.15 !important;
  }
}

.govuk-\!-font-size-19 {
  font-size: 1rem !important;
  line-height: 1.25 !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-font-size-19 {
    font-size: 1.1875rem !important;
    line-height: 1.3157894737 !important;
  }
}
@media print {
  .govuk-\!-font-size-19 {
    font-size: 14pt !important;
    line-height: 1.15 !important;
  }
}

.govuk-\!-font-size-16 {
  font-size: 0.875rem !important;
  line-height: 1.1428571429 !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-font-size-16 {
    font-size: 1rem !important;
    line-height: 1.25 !important;
  }
}
@media print {
  .govuk-\!-font-size-16 {
    font-size: 14pt !important;
    line-height: 1.2 !important;
  }
}

.govuk-\!-font-size-14 {
  font-size: 0.75rem !important;
  line-height: 1.25 !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-font-size-14 {
    font-size: 0.875rem !important;
    line-height: 1.4285714286 !important;
  }
}
@media print {
  .govuk-\!-font-size-14 {
    font-size: 12pt !important;
    line-height: 1.2 !important;
  }
}

.govuk-\!-font-weight-regular {
  font-weight: 400 !important;
}

.govuk-\!-font-weight-bold {
  font-weight: 700 !important;
}

.govuk-\!-font-tabular-numbers {
  font-variant-numeric: tabular-nums !important;
}

.govuk-\!-text-break-word {
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
}


.govuk-\!-width-full {
  width: 100% !important;
}

.govuk-\!-width-three-quarters {
  width: 100% !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-width-three-quarters {
    width: 75% !important;
  }
}

.govuk-\!-width-two-thirds {
  width: 100% !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-width-two-thirds {
    width: 66.66% !important;
  }
}

.govuk-\!-width-one-half {
  width: 100% !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-width-one-half {
    width: 50% !important;
  }
}

.govuk-\!-width-one-third {
  width: 100% !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-width-one-third {
    width: 33.33% !important;
  }
}

.govuk-\!-width-one-quarter {
  width: 100% !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-width-one-quarter {
    width: 25% !important;
  }
}






.app-step-nav-header {
  color: #0b0c0c;
}
@media print {
  .app-step-nav-header {
    color: #000000;
  }
}
.app-step-nav-header {
  position: relative;
  padding: 10px;
  background: #f3f2f1;
  border-top: solid 1px #b1b4b6;
  border-bottom: solid 1px #b1b4b6;
}
@media (min-width: 40.0625em) {
  .app-step-nav-header {
    padding: 15px;
  }
}

.app-step-nav-header__part-of {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .app-step-nav-header__part-of {
    font-family: sans-serif;
  }
}
.app-step-nav-header__part-of {
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 1.1428571429;
}
@media (min-width: 40.0625em) {
  .app-step-nav-header__part-of {
    font-size: 1rem;
    line-height: 1.25;
  }
}
@media print {
  .app-step-nav-header__part-of {
    font-size: 14pt;
    line-height: 1.2;
  }
}
.app-step-nav-header__part-of {
  display: block;
  padding-bottom: 0.2em;
}

.app-step-nav-header__title {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .app-step-nav-header__title {
    font-family: sans-serif;
  }
}
.app-step-nav-header__title {
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.1111111111;
}
@media (min-width: 40.0625em) {
  .app-step-nav-header__title {
    font-size: 1.5rem;
    line-height: 1.25;
  }
}
@media print {
  .app-step-nav-header__title {
    font-size: 18pt;
    line-height: 1.15;
  }
}

.app-step-nav {
  margin-bottom: 30px;
}
@media (min-width: 40.0625em) {
  .app-step-nav.app-step-nav--large {
    margin-bottom: 60px;
  }
}
.js-enabled .app-step-nav.js-hidden {
  display: none;
}

.app-step-nav__controls {
  padding: 3px 3px 0 0;
  text-align: right;
}

.app-step-nav__button {
  color: #1d70b8;
  cursor: pointer;
  background: none;
  border: 0;
  margin: 0;
}
.app-step-nav__button:focus {
  outline: 3px solid transparent;
  color: #0b0c0c;
  background-color: #ffdd00;
  box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
  text-decoration: none;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

.app-step-nav__button::-moz-focus-inner {
  border: 0;
}

.app-step-nav__button--title {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .app-step-nav__button--title {
    font-family: sans-serif;
  }
}
.app-step-nav__button--title {
  font-size: 19px;
  font-weight: bold;
  line-height: 1.4;
}
@media (min-width: 40.0625em) {
  .app-step-nav__button--title {
    font-size: 19px;
    line-height: 1.4;
  }
}
.app-step-nav__button--title {
  display: inline-block;
  padding: 0;
  text-align: left;
  color: #0b0c0c;
}
.app-step-nav--large .app-step-nav__button--title {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .app-step-nav--large .app-step-nav__button--title {
    font-family: sans-serif;
  }
}
.app-step-nav--large .app-step-nav__button--title {
  font-size: 19px;
  font-weight: bold;
  line-height: 1.4;
}
@media (min-width: 40.0625em) {
  .app-step-nav--large .app-step-nav__button--title {
    font-size: 24px;
    line-height: 1.4;
  }
}

.app-step-nav__button--controls {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .app-step-nav__button--controls {
    font-family: sans-serif;
  }
}
.app-step-nav__button--controls {
  font-size: 14px;
  font-weight: normal;
  line-height: 1;
}
@media (min-width: 40.0625em) {
  .app-step-nav__button--controls {
    font-size: 14px;
    line-height: 1;
  }
}
.app-step-nav__button--controls {
  position: relative;
  z-index: 1;
  padding: 0.5em 0;
  text-decoration: underline;
}
.app-step-nav--large .app-step-nav__button--controls {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .app-step-nav--large .app-step-nav__button--controls {
    font-family: sans-serif;
  }
}
.app-step-nav--large .app-step-nav__button--controls {
  font-size: 14px;
  font-weight: normal;
  line-height: 1;
}
@media (min-width: 40.0625em) {
  .app-step-nav--large .app-step-nav__button--controls {
    font-size: 16px;
    line-height: 1;
  }
}

.app-step-nav__steps {
  padding: 0;
  margin: 0;
}

.app-step-nav__step {
  position: relative;
  padding-left: 45px;
  list-style: none;
}
.app-step-nav__step:after {
  content: "";
  position: absolute;
  z-index: 2;
  width: 0;
  height: 100%;
  border-left: solid 2px #b1b4b6;
  background: #ffffff;
  left: 0;
  margin-left: 12px;
  top: 15px;
}
@media (min-width: 40.0625em) {
  .app-step-nav--large .app-step-nav__step {
    padding-left: 60px;
  }
  .app-step-nav--large .app-step-nav__step:after {
    left: 0;
    margin-left: 16px;
    border-width: 3px;
    top: 30px;
  }
}

.app-step-nav__step:last-child:before {
  content: "";
  position: absolute;
  z-index: 6;
  bottom: 0;
  left: 0;
  margin-left: 6.5px;
  width: 13px;
  height: 0;
  border-bottom: solid 2px #b1b4b6;
}
.app-step-nav__step:last-child:after {
  height: -webkit-calc(100% - 15px);
  height: calc(100% - 15px);
}
.app-step-nav__step:last-child .app-step-nav__help:after {
  height: 100%;
}
@media (min-width: 40.0625em) {
  .app-step-nav--large .app-step-nav__step:last-child:before {
    margin-left: 8.75px;
    width: 17.5px;
    border-width: 3px;
  }
  .app-step-nav--large .app-step-nav__step:last-child:after {
    height: calc(100% - 30px);
  }
}

.app-step-nav__step--active:last-child:before,
.app-step-nav__step--active .app-step-nav__circle--number, .app-step-nav__step--active:after,
.app-step-nav__step--active .app-step-nav__help:after {
  border-color: #0b0c0c;
}

.app-step-nav__circle {
  box-sizing: border-box;
  position: absolute;
  z-index: 5;
  top: 15px;
  left: 0;
  width: 26px;
  height: 26px;
  color: #0b0c0c;
  background: #ffffff;
  border-radius: 100px;
  text-align: center;
}
@media (min-width: 40.0625em) {
  .app-step-nav--large .app-step-nav__circle {
    top: 30px;
    width: 35px;
    height: 35px;
  }
}

.app-step-nav__circle--number {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .app-step-nav__circle--number {
    font-family: sans-serif;
  }
}
.app-step-nav__circle--number {
  font-size: 16px;
  font-weight: bold;
  line-height: 23px;
}
@media (min-width: 40.0625em) {
  .app-step-nav__circle--number {
    font-size: 16px;
    line-height: 23px;
  }
}
.app-step-nav__circle--number {
  border: solid 2px #b1b4b6;
}
.app-step-nav--large .app-step-nav__circle--number {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .app-step-nav--large .app-step-nav__circle--number {
    font-family: sans-serif;
  }
}
.app-step-nav--large .app-step-nav__circle--number {
  font-size: 16px;
  font-weight: bold;
  line-height: 23px;
}
@media (min-width: 40.0625em) {
  .app-step-nav--large .app-step-nav__circle--number {
    font-size: 19px;
    line-height: 30px;
  }
}
@media (min-width: 40.0625em) {
  .app-step-nav--large .app-step-nav__circle--number {
    border-width: 3px;
  }
}

.app-step-nav__circle--logic {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .app-step-nav__circle--logic {
    font-family: sans-serif;
  }
}
.app-step-nav__circle--logic {
  font-size: 16px;
  font-weight: bold;
  line-height: 28px;
}
@media (min-width: 40.0625em) {
  .app-step-nav__circle--logic {
    font-size: 16px;
    line-height: 28px;
  }
}
.app-step-nav--large .app-step-nav__circle--logic {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .app-step-nav--large .app-step-nav__circle--logic {
    font-family: sans-serif;
  }
}
.app-step-nav--large .app-step-nav__circle--logic {
  font-size: 16px;
  font-weight: bold;
  line-height: 28px;
}
@media (min-width: 40.0625em) {
  .app-step-nav--large .app-step-nav__circle--logic {
    font-size: 19px;
    line-height: 34px;
  }
}

.app-step-nav__circle-inner {
  float: right;
  min-width: 100%;
}

.app-step-nav__circle-background {
  text-shadow: 0 -0.1em 0 #ffffff, 0.1em 0 0 #ffffff, 0 0.1em 0 #ffffff, -0.1em 0 0 #ffffff;
}

.app-step-nav__circle-step-label,
.app-step-nav__circle-step-colon {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  -webkit-clip-path: inset(50%) !important;
  clip-path: inset(50%) !important;
  border: 0 !important;
  white-space: nowrap !important;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.app-step-nav__circle-step-label::before,
.app-step-nav__circle-step-colon::before {
  content: " ";
}
.app-step-nav__circle-step-label::after,
.app-step-nav__circle-step-colon::after {
  content: " ";
}

.app-step-nav__header {
  padding: 15px 0;
  border-top: solid 2px #b1b4b6;
}
.app-step-nav--active .app-step-nav__header {
  cursor: pointer;
}
.app-step-nav__header .app-step-nav__button:focus {
  outline: 3px solid transparent;
  color: #0b0c0c;
  background-color: #ffdd00;
  box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
  text-decoration: none;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.app-step-nav__header .app-step-nav__button:focus .app-step-nav__toggle-link {
  outline: 3px solid transparent;
  color: #0b0c0c;
  background-color: #ffdd00;
  box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
  text-decoration: none;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.app-step-nav__header:hover .app-step-nav__button:not(:focus),
.app-step-nav__header:hover .app-step-nav__circle {
  color: #1d70b8;
}
.app-step-nav__header:hover .app-step-nav__toggle-link {
  text-decoration: underline;
}
@media (min-width: 40.0625em) {
  .app-step-nav--large .app-step-nav__header {
    padding: 30px 0;
  }
}

.app-step-nav__title {
  color: #0b0c0c;
}
@media print {
  .app-step-nav__title {
    color: #000000;
  }
}
.app-step-nav__title {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .app-step-nav__title {
    font-family: sans-serif;
  }
}
.app-step-nav__title {
  font-size: 19px;
  font-weight: bold;
  line-height: 1.4;
}
@media (min-width: 40.0625em) {
  .app-step-nav__title {
    font-size: 19px;
    line-height: 1.4;
  }
}
.app-step-nav__title {
  margin: 0;
}
.app-step-nav--large .app-step-nav__title {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .app-step-nav--large .app-step-nav__title {
    font-family: sans-serif;
  }
}
.app-step-nav--large .app-step-nav__title {
  font-size: 19px;
  font-weight: bold;
  line-height: 1.4;
}
@media (min-width: 40.0625em) {
  .app-step-nav--large .app-step-nav__title {
    font-size: 24px;
    line-height: 1.4;
  }
}

.app-step-nav__toggle-link {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .app-step-nav__toggle-link {
    font-family: sans-serif;
  }
}
.app-step-nav__toggle-link {
  font-size: 14px;
  font-weight: normal;
  line-height: 1.2;
}
@media (min-width: 40.0625em) {
  .app-step-nav__toggle-link {
    font-size: 14px;
    line-height: 1.2;
  }
}
.app-step-nav__toggle-link {
  display: block;
  color: #1d70b8;
  text-transform: capitalize;
}
.app-step-nav--large .app-step-nav__toggle-link {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .app-step-nav--large .app-step-nav__toggle-link {
    font-family: sans-serif;
  }
}
.app-step-nav--large .app-step-nav__toggle-link {
  font-size: 14px;
  font-weight: normal;
  line-height: 1.2;
}
@media (min-width: 40.0625em) {
  .app-step-nav--large .app-step-nav__toggle-link {
    font-size: 16px;
    line-height: 1.2;
  }
}

.app-step-nav__panel {
  color: #0b0c0c;
}
@media print {
  .app-step-nav__panel {
    color: #000000;
  }
}
.app-step-nav__panel {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .app-step-nav__panel {
    font-family: sans-serif;
  }
}
.app-step-nav__panel {
  font-size: 16px;
  font-weight: normal;
  line-height: 1.3;
}
@media (min-width: 40.0625em) {
  .app-step-nav__panel {
    font-size: 16px;
    line-height: 1.3;
  }
}
.app-step-nav--large .app-step-nav__panel {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .app-step-nav--large .app-step-nav__panel {
    font-family: sans-serif;
  }
}
.app-step-nav--large .app-step-nav__panel {
  font-size: 16px;
  font-weight: normal;
  line-height: 1.3;
}
@media (min-width: 40.0625em) {
  .app-step-nav--large .app-step-nav__panel {
    font-size: 19px;
    line-height: 1.3;
  }
}
.js-enabled .app-step-nav__panel.js-hidden {
  display: none;
}

.app-step-nav__paragraph {
  padding-bottom: 15px;
  margin: 0;
  font-size: inherit;
}
.app-step-nav__paragraph + .app-step-nav__list {
  margin-top: -5px;
}
@media (min-width: 40.0625em) {
  .app-step-nav--large .app-step-nav__paragraph + .app-step-nav__list {
    margin-top: -govuk-spacing(3);
  }
}
@media (min-width: 40.0625em) {
  .app-step-nav--large .app-step-nav__paragraph {
    padding-bottom: 30px;
  }
}

.app-step-nav__list {
  padding: 0;
  padding-bottom: 10px;
  list-style: none;
}
@media (min-width: 40.0625em) {
  .app-step-nav--large .app-step-nav__list {
    padding-bottom: 20px;
  }
}

.app-step-nav__list--choice {
  margin-left: 20px;
  list-style: disc;
}
.app-step-nav__list--choice .app-step-nav__list-item--active:before {
  left: -65px;
}
@media (min-width: 40.0625em) {
  .app-step-nav--large .app-step-nav__list--choice .app-step-nav__list-item--active:before {
    left: -80px;
  }
}

.app-step-nav__list-item {
  margin-bottom: 10px;
}

.app-step-nav__link {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .app-step-nav__link {
    font-family: sans-serif;
  }
}
.app-step-nav__link {
  text-decoration: underline;
  text-decoration-thickness: max(1px, .0625rem);
  text-underline-offset: 0.1578em;
}
.app-step-nav__link:hover {
  text-decoration-thickness: max(3px, .1875rem, .12em);
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
  -webkit-text-decoration-skip: none;
  text-decoration-skip: none;
}
.app-step-nav__link:focus {
  outline: 3px solid transparent;
  color: #0b0c0c;
  background-color: #ffdd00;
  box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
  text-decoration: none;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.app-step-nav__link:link {
  color: #1d70b8;
}
.app-step-nav__link:visited {
  color: #4c2c92;
}
.app-step-nav__link:hover {
  color: #003078;
}
.app-step-nav__link:active {
  color: #0b0c0c;
}
.app-step-nav__link:focus {
  color: #0b0c0c;
}

.app-step-nav__link-active-context {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  -webkit-clip-path: inset(50%) !important;
  clip-path: inset(50%) !important;
  border: 0 !important;
  white-space: nowrap !important;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.app-step-nav__link-active-context::before {
  content: " ";
}
.app-step-nav__link-active-context::after {
  content: " ";
}

.app-step-nav__list-item--active {
  position: relative;
}
.app-step-nav__list-item--active:before {
  box-sizing: border-box;
  content: "";
  position: absolute;
  z-index: 5;
  top: 0.6em;
  left: -45px;
  margin-top: -1px;
  margin-left: 13px;
  width: 13px;
  height: 2px;
  background: #0b0c0c;
}
@media (min-width: 40.0625em) {
  .app-step-nav--large .app-step-nav__list-item--active:before {
    left: -60px;
    margin-left: 17.5px;
    height: 3px;
  }
}
.app-step-nav__list-item--active .app-step-nav__link:link, .app-step-nav__list-item--active .app-step-nav__link:visited {
  color: #0b0c0c;
}
@media print {
  .app-step-nav__list-item--active .app-step-nav__link:link, .app-step-nav__list-item--active .app-step-nav__link:visited {
    color: #000000;
  }
}
.app-step-nav__list-item--active .app-step-nav__link:hover {
  color: rgba(11, 12, 12, 0.99);
}
.app-step-nav__list-item--active .app-step-nav__link:active, .app-step-nav__list-item--active .app-step-nav__link:focus {
  color: #0b0c0c;
}
@media print {
  .app-step-nav__list-item--active .app-step-nav__link:active, .app-step-nav__list-item--active .app-step-nav__link:focus {
    color: #000000;
  }
}

.app-step-nav__context {
  display: inline-block;
  font-weight: normal;
  color: #505a5f;
}
.app-step-nav__context:before {
  content: " – ";
}

.app-step-nav-related {
  color: #0b0c0c;
}
@media print {
  .app-step-nav-related {
    color: #000000;
  }
}
.app-step-nav-related {
  border-top: 2px solid #1d70b8;
  margin-bottom: 30px;
}

.app-step-nav-related__heading {
  margin-top: 15px;
  margin-bottom: 10px;
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .app-step-nav-related__heading {
    font-family: sans-serif;
  }
}
.app-step-nav-related__heading {
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .app-step-nav-related__heading {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .app-step-nav-related__heading {
    font-size: 14pt;
    line-height: 1.15;
  }
}

.app-step-nav-related__links {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .app-step-nav-related__links {
    font-family: sans-serif;
  }
}
.app-step-nav-related__links {
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 1.1428571429;
}
@media (min-width: 40.0625em) {
  .app-step-nav-related__links {
    font-size: 1rem;
    line-height: 1.25;
  }
}
@media print {
  .app-step-nav-related__links {
    font-size: 14pt;
    line-height: 1.2;
  }
}
.app-step-nav-related__links {
  margin: 0;
  padding: 0;
}

.app-step-nav-related--singular {
  margin-bottom: 13px;
}
.app-step-nav-related--singular .app-step-nav-related__heading {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .app-step-nav-related--singular .app-step-nav-related__heading {
    font-family: sans-serif;
  }
}
.app-step-nav-related--singular .app-step-nav-related__heading {
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.4;
}
@media (min-width: 40.0625em) {
  .app-step-nav-related--singular .app-step-nav-related__heading {
    font-size: 1.1875rem;
    line-height: 1.4;
  }
}
@media print {
  .app-step-nav-related--singular .app-step-nav-related__heading {
    font-size: 14pt;
    line-height: 1.4;
  }
}
.app-step-nav-related--singular .app-step-nav-related__heading {
  margin-top: 20px;
}
@media (max-width: 40.0525em) {
  .app-step-nav-related--singular .app-step-nav-related__heading {
    font-size: 19px;
  }
}
.app-step-nav-related--singular .app-step-nav-related__pretitle {
  margin-bottom: 7.5px;
}

.app-step-nav-related__pretitle {
  display: block;
  margin-bottom: 15px;
}
@media (min-width: 40.0625em) {
  .app-step-nav-related__pretitle {
    margin-bottom: 5px;
  }
}

.app-step-nav-related__links {
  list-style: none;
}

.app-step-nav-related__link-item {
  margin-top: 15px;
}
@media (min-width: 40.0625em) {
  .app-step-nav-related__link-item {
    margin-top: 5px;
  }
}

.app-task-list {
  list-style-type: none;
  padding-left: 0;
  margin-top: 0;
  margin-bottom: 0;
}
@media (min-width: 40.0625em) {
  .app-task-list {
    min-width: 550px;
  }
}

.app-task-list__section {
  display: table;
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .app-task-list__section {
    font-family: sans-serif;
  }
}
.app-task-list__section {
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.1111111111;
}
@media (min-width: 40.0625em) {
  .app-task-list__section {
    font-size: 1.5rem;
    line-height: 1.25;
  }
}
@media print {
  .app-task-list__section {
    font-size: 18pt;
    line-height: 1.15;
  }
}

.app-task-list__section-number {
  display: table-cell;
}
@media (min-width: 40.0625em) {
  .app-task-list__section-number {
    min-width: 30px;
    padding-right: 0;
  }
}

.app-task-list__items {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .app-task-list__items {
    font-family: sans-serif;
  }
}
.app-task-list__items {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .app-task-list__items {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .app-task-list__items {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.app-task-list__items {
  margin-bottom: 40px;
}
@media (min-width: 40.0625em) {
  .app-task-list__items {
    margin-bottom: 60px;
  }
}
.app-task-list__items {
  list-style: none;
  padding-left: 0;
}
@media (min-width: 40.0625em) {
  .app-task-list__items {
    padding-left: 30px;
  }
}

.app-task-list__item {
  border-bottom: 1px solid #b1b4b6;
  margin-bottom: 0 !important;
  padding-top: 10px;
  padding-bottom: 10px;
}
.app-task-list__item::after {
  content: "";
  display: block;
  clear: both;
}

.app-task-list__item:first-child {
  border-top: 1px solid #b1b4b6;
}

.app-task-list__task-name {
  display: block;
}
@media (min-width: 28.125em) {
  .app-task-list__task-name {
    float: left;
  }
}

.app-task-list__tag,
.app-task-list__task-completed {
  margin-top: 10px;
  margin-bottom: 5px;
}
@media (min-width: 28.125em) {
  .app-task-list__tag,
  .app-task-list__task-completed {
    float: right;
    margin-top: 0;
    margin-bottom: 0;
  }
}

.app-related-items {
  border-top: 2px solid #1d70b8;
  padding-top: 10px;
}

.app-related-items .govuk-list > li {
  margin-bottom: 10px;
}

/*!
Chosen, a Select Box Enhancer for jQuery and Prototype
by Patrick Filler for Harvest, http://getharvest.com

Version 1.6.2
Full source at https://github.com/harvesthq/chosen
Copyright (c) 2011-2016 Harvest http://getharvest.com

MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md
----

This particular file is a customisation of the original for the DCLG Delta
Project. It is here modified to render out GOVUK style

*/
/* @group Base */
.chosen-container-single.chosen-container-single-nosearch .chosen-search {
  position: absolute;
  left: -9999px;
}

.chosen-container {
  position: relative;
  vertical-align: middle;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  bottom: 5px;
}
.chosen-container a {
  cursor: pointer;
}
.chosen-container .chosen-drop {
  position: absolute;
  top: 100%;
  left: -9999px;
  z-index: 1010;
  width: 100%;
  border: 1px solid #aaa;
  border-top: 0;
  background: #fff;
  box-shadow: 0 4px 5px rgba(0, 0, 0, 0.15);
}
.chosen-container.chosen-with-drop .chosen-drop {
  left: 0;
}

/* @end */
/* @group Results */
.chosen-container .chosen-results {
  color: #444;
  position: relative;
  overflow-x: hidden;
  overflow-y: auto;
  margin: 0 4px 4px 0;
  padding: 0;
  max-height: 240px;
  -webkit-overflow-scrolling: touch;
}
.chosen-container .chosen-results li {
  display: none;
  margin: 0;
  padding: 5px 6px;
  list-style: none;
  line-height: 15px;
  word-wrap: break-word;
  -webkit-touch-callout: none;
  font-size: 19px;
  font-family: "GDS Transport", arial, sans-serif;
}
.chosen-container .chosen-results li.active-result {
  display: list-item;
  cursor: pointer;
}
.chosen-container .chosen-results li.disabled-result {
  display: list-item;
  color: #ccc;
  cursor: default;
}
.chosen-container .chosen-results li.highlighted {
  background-color: #3875d7;
  color: #fff;
}
.chosen-container .chosen-results li.no-results {
  color: #777;
  display: list-item;
  background: #f4f4f4;
}
.chosen-container .chosen-results li.create-option span {
  color: orange;
}

/* @end */
/* @group Multi Chosen */
.chosen-container-multi .chosen-choices {
  position: relative;
  overflow: hidden;
  margin: 0;
  padding: 0 5px;
  width: 100%;
  height: auto;
  border: 2px solid;
  color: inherit;
  background-color: #fff;
  background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(1%, #eeeeee), color-stop(15%, #ffffff));
  background-image: -webkit-linear-gradient(#eeeeee 1%, #ffffff 15%);
  background-image: -moz-linear-gradient(#eeeeee 1%, #ffffff 15%);
  background-image: -o-linear-gradient(#eeeeee 1%, #ffffff 15%);
  background-image: linear-gradient(#eeeeee 1%, #ffffff 15%);
  cursor: text;
  font-family: "GDS Transport", arial, sans-serif;
  font-size: 19px;
}
.chosen-container-multi .chosen-choices li {
  float: left;
  list-style: none;
}
.chosen-container-multi .chosen-choices li.search-field {
  margin: 0;
  padding: 0;
  white-space: nowrap;
}
.chosen-container-multi .chosen-choices li.search-field input[type=text] {
  padding: 5px 4px 0px;
  margin: 5px 5px 5px 0px;
  outline: 0;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none;
  line-height: normal;
  border-radius: 0;
  font-size: 19px;
}
.chosen-container-multi .chosen-choices li.search-choice {
  position: relative;
  margin: 5px 5px 5px 0;
  padding: 5px 25px 5px 5px;
  max-width: 100%;
  border-radius: 0;
  background-color: #003078;
  color: #fff;
  line-height: 20px;
  cursor: default;
}
.chosen-container-multi .chosen-choices li.search-choice span {
  word-wrap: break-word;
}
.chosen-container-multi .chosen-choices li.search-choice:hover {
  background-color: #005ea5;
}
.chosen-container-multi .chosen-choices li.search-choice .search-choice-close {
  position: absolute;
  top: 2px;
  right: 3px;
  display: block;
  width: 20px;
  height: 20px;
  background: url("/public/images/close-inverse.png") no-repeat 4px 4px;
  font-size: 1px;
}
.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover {
  background-color: #df3034;
}
.chosen-container-multi .chosen-choices li.search-choice-disabled {
  padding-right: 5px;
  border: 1px solid #ccc;
  background-color: #e4e4e4;
  background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eeeeee));
  background-image: -webkit-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
  background-image: -moz-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
  background-image: -o-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
  background-image: linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
  color: #666;
}
.chosen-container-multi .chosen-choices li.search-choice-focus {
  background: #d4d4d4;
}
.chosen-container-multi .chosen-choices li.search-choice-focus .search-choice-close {
  background-position: -42px -10px;
}
.chosen-container-multi .chosen-results {
  margin: 0;
  padding: 0;
}
.chosen-container-multi .chosen-drop .result-selected {
  display: list-item;
  cursor: default;
}

.chosen-container-single .chosen-single {
  border: 2px solid #0b0c0c;
  display: block;
  padding: 8px;
  line-height: 19px;
  padding-right: 20px;
  font-family: "GDS Transport", arial, sans-serif;
  font-weight: 400;
  font-size: 19px;
  text-decoration: none;
  background: #ffffff;
}
.chosen-container-single .chosen-single div {
  float: right;
}
.chosen-container-single .chosen-single div:before {
  margin-right: -15px;
  font-size: 16px;
}
.chosen-container-single .chosen-search > input {
  padding: 4px;
  margin: 7.5px 2.5%;
  width: 95%;
  box-sizing: border-box;
  font-size: 19px;
}
.chosen-container-single .chosen-search > input:focus {
  outline: 3px solid #fd0;
}
.chosen-container-single .chosen-results {
  margin: 0;
}
.chosen-container-single .chosen-results li {
  color: #0b0c0c;
  padding: 30px/4;
}

.chosen-container-active .chosen-single {
  outline: 3px solid #fd0;
}

.chosen-container-multi.chosen-container-active .chosen-choices {
  outline: 3px solid #fd0;
}

.action-list .chosen-container-single {
  float: left;
  width: 250px !important;
  margin-right: 30px/4;
}

.facets .form-panel .chosen-container {
  width: 95% !important;
  font-size: 16px;
}
.facets .form-panel .chosen-choices {
  width: 100%;
}
.facets .form-panel .search-field input {
  color: #6f777b;
}

.form .govuk-form-group .chosen-container-single {
  width: 67% !important;
}

.form .govuk-form-group .chosen-container-multi {
  width: 65.5% !important;
}

.right-content-pane .govuk-form-group .chosen-container-single {
  width: 67% !important;
}

.right-content-pane .govuk-form-group .chosen-container-multi {
  width: 65% !important;
}

.left-root-pane .left-root-pane-filter .chosen-container {
  width: 90% !important;
  font-size: 14px;
}

.facets .form-panel .chosen-container-single {
  width: 100% !important;
}
.facets .form-panel .chosen-container-single .chosen-single span {
  word-break: break-word;
}

label.block-label.selection-button-checkbox {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  display: block;
  position: relative;
  min-height: 40px;
  margin-bottom: 10px;
  padding-left: 30px;
  clear: left;
}

.selection-checkbox__input {
  opacity: 0;
}

span.govuk-label.selection-checkbox__label {
  display: inline-block;
  margin-bottom: 0;
  padding: 10px 0 5px;
  cursor: pointer;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
}

span.selection-checkbox__label:before {
  content: "";
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: absolute;
  top: 0px;
  left: 0;
  width: 40px;
  height: 40px;
  border: 2px solid currentColor;
  background: transparent;
}

.selection-checkbox__label:after {
  content: "";
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: absolute;
  top: 11px;
  left: 9px;
  width: 23px;
  height: 12px;
  transform: rotate(-45deg);
  border: solid;
  border-width: 0 0 5px 5px;
  border-top-color: transparent;
  opacity: 0;
  background: transparent;
}

.selection-checkbox__input:checked ~ .selection-checkbox__label:after {
  opacity: 1 !important;
}

.hidden-label-accessible, .ui-datepicker .ui-datepicker-next .ui-icon-circle-triangle-e, .ui-datepicker .ui-datepicker-prev .ui-icon-circle-triangle-w {
  text-indent: -99999px;
  overflow: hidden;
}

.ui-icon {
  display: block;
  height: 19px;
  width: 19px;
}

.ui-datepicker {
  background: #fff;
  border: 2px #bfc1c3 solid;
  font-size: 14px;
}
.ui-datepicker td, .ui-datepicker th {
  font-size: 14px;
  text-align: center;
  padding: 7.5px;
  border-right: 1px solid #bfc1c3;
  font-family: "GDS Transport", arial, sans-serif;
}
.ui-datepicker td:last-child, .ui-datepicker th:last-child {
  border-right: none;
}
.ui-datepicker .ui-datepicker-header {
  padding: 7.5px 15px;
  border-bottom: 2px solid #bfc1c3;
  position: relative;
  font-family: "GDS Transport", arial, sans-serif;
}
.ui-datepicker .ui-datepicker-prev {
  float: left;
  cursor: pointer;
}
.ui-datepicker .ui-datepicker-prev .ui-icon-circle-triangle-w {
  background: url("/public/images/icon-arrow-left.png") no-repeat center;
}
.ui-datepicker .ui-datepicker-next {
  float: right;
  cursor: pointer;
}
.ui-datepicker .ui-datepicker-next .ui-icon-circle-triangle-e {
  background: url("/public/images/icon-arrow-right.png") no-repeat center;
}
.ui-datepicker .ui-datepicker-title {
  text-align: center;
  font-weight: bold;
}
.ui-datepicker .ui-datepicker-unselectable {
  background: #dee0e2;
}
.ui-datepicker .ui-datepicker-days-cell-over {
  background-color: #005ea5;
}
.ui-datepicker .ui-datepicker-days-cell-over a {
  color: #fff;
}

.ui-datepicker-trigger .fa-calendar:before {
  content: "\f073";
}
.ui-datepicker-trigger:before {
  font-size: 16px;
  padding-left: 7.5px;
  cursor: pointer;
}

button.ui-datepicker-trigger {
  background: none;
  border: none;
  font-size: 0;
}

scss .ui-datepicker-trigger:before {
  font-size: 16px;
  padding-left: 7.5px;
  cursor: pointer;
  content: "\f073";
}

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

.main-pane {
  display: flex;
}

.left-root-pane {
  width: 22%;
  border-right: 1px solid #bfc1c3;
  float: left;
  flex: 0.9;
}

.right-content-pane {
  width: 70%;
  padding-left: 30px;
  float: left;
}

.right-content-pane .button-group .button-secondary {
  margin-right: 1em;
  width: auto;
}

.right-content-pane .form-control {
  width: 75%;
}

.right-content-pane .form-panel {
  width: 66.5%;
}

.right-content-pane .form-control-inline {
  width: 30%;
}

.right-content-pane .form-label-inline {
  width: 45%;
}

.right-content-pane element.style,
.right-content-pane .data-grid {
  min-height: auto;
}

.left-root-pane ul a {
  position: relative;
  display: block;
  font-family: "nta", Arial, sans-serif;
  font-weight: 400;
  text-transform: none;
  font-size: 16px;
  line-height: 1.25;
  text-decoration: none;
  padding: 12px 25px 8px 0;
}

@media (min-width: 641px) {
  .left-root-pane ul a {
    padding: 12px 30px 8px 15px;
    font-family: "nta", Arial, sans-serif;
    font-weight: 400;
    text-transform: none;
    font-size: 14px;
    line-height: 1.1428571429;
  }
}
@media (min-width: 641px) and (min-width: 641px) {
  .left-root-pane ul a {
    font-size: 16px;
    line-height: 1.25;
  }
}
.left-root-pane ul a:hover,
.left-root-pane ul a:focus {
  background: #dee0e2;
  color: #005ea5;
}

.left-root-pane ul a:after {
  position: absolute;
  top: 50%;
  margin-top: -8px;
  right: 10px;
  content: "›";
}

.left-root-pane ul .active a {
  background: #005ea5;
  color: #fff;
}

.left-root-pane .left-root-pane-filter {
  margin-top: 25px;
}

.right-content-pane .grid-1-2 .chosen-container {
  width: 75% !important;
}

.left-root-pane ul {
  list-style-type: none;
  padding-left: 0px;
}

#grantSection tfoot td button.js-table-btn {
  color: #005ea5;
  cursor: pointer;
  border: none;
  background: #fff;
  font-size: 19px;
  font-weight: 600;
}
@media (max-width: 640px) {
  #grantSection tfoot td button.js-table-btn {
    font-size: 13px !important;
  }
}

#ledgerTable td button.edit-btn, #ledgerTable td button.remove-btn {
  color: #005ea5;
  cursor: pointer;
  border: none;
  background: #fff;
  font-size: 19px;
  font-weight: 600;
}
#ledgerTable td button.edit-btn[disabled], #ledgerTable td button.remove-btn[disabled] {
  color: rgba(16, 16, 16, 0.3);
  cursor: auto;
}

#thresholds td button.js-table-btn {
  color: #005ea5;
  cursor: pointer;
  border: none;
  background: #fff;
  font-size: 19px;
  font-weight: 600;
}
#thresholds td button.threshold-remove {
  color: #005ea5;
  cursor: pointer;
  border: none;
  background: #fff;
  font-size: 19px;
  font-weight: 600;
}

.chevron-card {
  border-top: 1px solid rgb(177, 180, 182);
  margin: 0px 15px;
  padding: 5px 0px 20px;
}

.chevron-card__wrapper {
  position: relative;
  padding: 10px 30px 10px 0px;
}

.chevron-card__description {
  margin: 0px -30px 0px 0px;
}

.homepage-services-and-info__list {
  display: grid;
  grid-auto-flow: row;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  list-style: none;
  margin: 0px -15px;
  padding: 0px;
}

.homepage-section__heading--border-none {
  border-width: initial;
  border-style: none;
  border-color: initial;
  border-image: initial;
  padding: 0px;
}

.homepage-section__heading {
  border-top-style: solid;
  border-top-width: 2px;
  border-top-color: #0b0c0c;
  margin: 0 0 30px;
  padding: 15px 0 0;
}

.chevron-card__link:before {
  border-right: 3px solid #1d70b8;
  border-top: 3px solid #1d70b8;
  content: "";
  display: block;
  height: 7px;
  position: absolute;
  right: 5px;
  top: 15px;
  -webkit-transform: translateY(0) rotate(45deg) scale(1);
  -ms-transform: translateY(0) rotate(45deg) scale(1);
  transform: translateY(0) rotate(45deg) scale(1);
  width: 7px;
}

.chevron-card__link:after {
  bottom: 0;
  content: "";
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.homepage-services-and-info__list {
  display: flex;
  flex-wrap: wrap;
  box-sizing: border-box;
}

.homepage-services-and-info__list .chevron-card {
  width: calc(50% - 30px);
  flex-basis: calc(50% - 30px);
}

.jsgrid-pager-container {
  padding-top: 40px;
  font-size: 19px;
  font-family: "GDS Transport", arial, sans-serif;
}

.pager-items {
  display: none;
}

@media (min-width: 641px) {
  .pager-items {
    display: inline;
  }
  .pager-items li {
    display: inline;
    margin: 0 8px;
  }
  .pager-items li:first-child {
    margin-left: 0;
  }
  .pager-items li:last-child {
    margin-right: 0;
  }
}
.pager-next,
.pager-prev {
  margin-right: 10px;
}

@media (min-width: 641px) {
  .pager-next,
  .pager-prev {
    margin-right: 0;
  }
}
@media (min-width: 641px) {
  .pager-prev {
    margin-right: 10px;
  }
}
@media (min-width: 641px) {
  .pager-next {
    margin-left: 10px;
  }
}
@media (min-width: 641px) {
  .pager-controls {
    float: right;
  }
}
.govuk-breadcrumbs {
  display: inline-flex;
}

.dataset-instances__name-breadcrumb {
  max-width: 14em;
  text-wrap: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.govuk-header .govuk-header__logo {
  width: auto;
}
.govuk-header .govuk-header__logo .govuk-header__product-name {
  padding-right: 0;
}

.govuk-header__link--homepage {
  margin-right: 0;
}

.govuk-header .govuk-header__logotype {
  margin-right: 0;
}

.govuk-header__content {
  width: 73%;
}

.govuk-header__navigation--end.govuk-header__navigation-item {
  float: right;
  margin-right: 0;
}

.govuk-template__body .govuk-main-wrapper {
  padding-top: 0;
}

.delta-header__link--main-nav {
  margin-right: 15px;
}

.delta-page-title {
  margin-top: 20px;
  margin-bottom: 1em;
}

.delta-text-secondary {
  color: #6f777b;
  font-weight: normal;
}

.govuk-header .header-my-account {
  font-weight: inherit;
  text-decoration-line: underline;
}

.js-sliding-panel-wrapper {
  overflow: hidden;
  position: relative;
}
.js-sliding-panel-wrapper.js-sliding-panel-wrapper-expanded {
  overflow: visible;
}
.js-sliding-panel-wrapper.js-sliding-panel-wrapper-expanded .jsgrid-table th,
.js-sliding-panel-wrapper.js-sliding-panel-wrapper-expanded .jsgrid-table td {
  transition: all 0.3s ease-out;
}
.js-sliding-panel-sibling {
  font-size: 19px;
  font-family: "GDS Transport", arial, sans-serif;
  position: relative;
}
.js-sliding-panel-content {
  width: 100%;
}
.js-sliding-panel-header {
  background-color: #005ea5;
  position: relative;
  display: -moz-inline-stack;
  display: inline-block;
  padding: 0.526315em 0.789473em 0.263157em;
  border: none;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  -webkit-appearance: none;
  -webkit-box-shadow: 0 2px 0 #003259;
  -moz-box-shadow: 0 2px 0 #003259;
  box-shadow: 0 2px 0 #003259;
  font-size: 19px;
  line-height: 1.25;
  text-decoration: none;
  -webkit-font-smoothing: antialiased;
  cursor: pointer;
  color: #fff;
  display: block;
}
.js-sliding-panel-header a {
  color: #fff;
  text-decoration: none;
}

.js-sliding-panel-header {
  font-family: "GDS Transport", arial, sans-serif;
}

.left-root-pane-filter .js-sliding-panel-header {
  background-color: #005ea5;
  position: relative;
  display: -moz-inline-stack;
  display: inline-block;
  padding: 0.526315em 0.789473em 0.263157em;
  border: none;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  -webkit-appearance: none;
  -webkit-box-shadow: 0 2px 0 #003259;
  -moz-box-shadow: 0 2px 0 #003259;
  box-shadow: 0 2px 0 #003259;
  font-size: 1em;
  line-height: 1.25;
  text-decoration: none;
  -webkit-font-smoothing: antialiased;
  cursor: pointer;
  color: #fff;
  display: block;
  font-family: "GDS Transport", arial, sans-serif;
}

.deadline-submission .form-control {
  width: 80%;
}

.filter .filter-title,
.filter .filter-title a {
  background: #dee0e2;
  color: #0b0c0c;
  margin: 0;
  text-decoration: none;
  box-shadow: none;
}
.filter .filter-title {
  padding: 7.5px;
}
.filter .block-label {
  padding-left: 30px;
  margin-bottom: 0;
  float: none;
}
.filter .block-label input {
  height: 19px;
  width: 19px;
  top: 4px;
  margin-left: -2px;
}
.filter .block-label .filter-right {
  float: right;
}
.filter .content {
  padding: 15px;
  width: auto;
}
.filter .block-list li {
  background: #f8f8f8;
  margin: 7.5px;
  padding: 7.5px;
  padding-right: 25px;
  position: relative;
  word-wrap: break-word;
}
.filter .block-list li:first-child {
  margin-top: 0;
}
.filter .block-list .remove {
  float: right;
}
.filter .action-list {
  padding: 7.5px;
  margin: 0;
}
.filter input.form-control {
  font-size: 14px;
  padding: 4px 3px 3px;
  display: inline-block;
}
.filter .form-date .block-label {
  padding-left: 0;
}

.js-enabled .filter .block-label.selection-button-checkbox:before {
  height: 16px;
  width: 16px;
  top: 6px;
}
.js-enabled .filter .block-label.selection-button-checkbox:after {
  border-width: 0 0 4px 4px;
  width: 8px;
  height: 4px;
  top: 11px;
  left: 4px;
}
.js-enabled .filter .block-label.selection-button-radio:before {
  height: 16px;
  width: 16px;
  top: 6px;
}
.js-enabled .filter .block-label.selection-button-radio:after {
  border: 6px solid;
  top: 10px;
  left: 4px;
}

.action-list {
  margin-bottom: 15px;
}
.action-list::after {
  content: "";
  display: table;
  clear: both;
}
.action-list li {
  display: inline-block;
}
.action-list .action-right {
  float: right;
}
.action-list .action-right li {
  display: block;
  margin-bottom: 10px;
}
.action-list .action-link-button {
  position: relative;
  display: -moz-inline-stack;
  display: inline-block;
  padding: 0.526315em 0.789473em 0.263157em;
  -webkit-appearance: none;
  font-size: 1em;
  line-height: 1.25;
  -webkit-font-smoothing: antialiased;
  cursor: pointer;
}
.action-list.action-list-header {
  margin-bottom: 30px;
}
.action-list .block-label {
  margin-left: 0;
  padding-left: 0;
}
.action-list .form-control {
  width: 25%;
}

.block-list .action-right {
  position: absolute;
  right: 7.5px;
  top: 50%;
  transform: translateY(-50%);
}
.block-list .remove-selected-facet:before {
  background: url(/public/images/close.png) no-repeat 4px 4px;
  content: " ";
  height: 10px;
  width: 10px;
  display: block;
  padding: 4px;
}

.form-panel {
  border: 2px solid #bfc1c3;
  margin-bottom: 15px;
  font-family: "nta", Arial, sans-serif;
  font-size: 16px;
}
.form-panel .js-expander-handle {
  background-image: url("/public/images/accordion-arrow-xsmall.png");
  background-repeat: no-repeat;
  background-position: 1px 4px;
  padding-left: 32px;
}
.form-panel[data-facet-hidden=true] {
  display: none;
}
.form-panel.js-expander-initial-collapse .js-expander-target {
  display: none;
}
.form-panel.js-expander-expanded .js-expander-handle {
  background-position: 1px -28px;
}

#form-builder-fullscreen:active {
  background: none;
}

.form-group.file-upload-container, .file-upload-container.form-group-sub,
.form-group .file-upload-container,
.form-group-sub .file-upload-container {
  position: relative;
}
.form-group.file-upload-container .placeholder, .file-upload-container.form-group-sub .placeholder,
.form-group .file-upload-container .placeholder,
.form-group-sub .file-upload-container .placeholder {
  width: 36%;
}
.form-group.file-upload-container span[role=button], .file-upload-container.form-group-sub span[role=button],
.form-group .file-upload-container span[role=button],
.form-group-sub .file-upload-container span[role=button] {
  box-shadow: none;
}
.form-group.file-upload-container input[type=file], .file-upload-container.form-group-sub input[type=file],
.form-group .file-upload-container input[type=file],
.form-group-sub .file-upload-container input[type=file] {
  display: none;
}
.form-group.file-upload-container .upload-list, .file-upload-container.form-group-sub .upload-list,
.form-group .file-upload-container .upload-list,
.form-group-sub .file-upload-container .upload-list {
  margin-top: 15px;
  width: 480px;
}
.form-group.file-upload-container .upload-list .upload-list-item, .file-upload-container.form-group-sub .upload-list .upload-list-item,
.form-group .file-upload-container .upload-list .upload-list-item,
.form-group-sub .file-upload-container .upload-list .upload-list-item {
  position: relative;
  margin: 7.5px 0;
  padding: 7.5px;
  background-color: #dee0e2;
}
.form-group.file-upload-container .upload-list .upload-list-item a.remove-upload, .file-upload-container.form-group-sub .upload-list .upload-list-item a.remove-upload,
.form-group .file-upload-container .upload-list .upload-list-item a.remove-upload,
.form-group-sub .file-upload-container .upload-list .upload-list-item a.remove-upload {
  position: absolute;
  top: 0;
  right: 7.5px;
  transform: translateY(50%);
}
.form-group.file-upload-container .upload-list .upload-list-item a.remove-upload::before, .file-upload-container.form-group-sub .upload-list .upload-list-item a.remove-upload::before,
.form-group .file-upload-container .upload-list .upload-list-item a.remove-upload::before,
.form-group-sub .file-upload-container .upload-list .upload-list-item a.remove-upload::before {
  content: " ";
  background: url(/public/images/close.png) no-repeat 4px 4px;
  height: 10px;
  width: 10px;
  display: block;
  padding: 4px;
}

.form-label.form-label-inline {
  width: 25%;
  display: inline-block;
}

.form-control.form-control-inline {
  display: inline-block;
  width: 25%;
}
@media (min-width: 641px) {
  .form-control.form-control-full {
    width: 89%;
    margin-bottom: 30px;
  }
}

.form-group input.disabled, .form-group-sub input.disabled,
.form-group input[disabled],
.form-group-sub input[disabled],
.form-group input[disabled=disabled],
.form-group-sub input[disabled=disabled] {
  background: #dee0e2;
  border-color: #6f777b;
  color: #0b0c0c;
}
.form-group input.disabled::-webkit-input-placeholder, .form-group-sub input.disabled::-webkit-input-placeholder,
.form-group input[disabled]::-webkit-input-placeholder,
.form-group-sub input[disabled]::-webkit-input-placeholder,
.form-group input[disabled=disabled]::-webkit-input-placeholder,
.form-group-sub input[disabled=disabled]::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  color: #0b0c0c;
}
.form-group input.disabled::-moz-placeholder, .form-group-sub input.disabled::-moz-placeholder,
.form-group input[disabled]::-moz-placeholder,
.form-group-sub input[disabled]::-moz-placeholder,
.form-group input[disabled=disabled]::-moz-placeholder,
.form-group-sub input[disabled=disabled]::-moz-placeholder { /* Firefox 19+ */
  color: #0b0c0c;
}
.form-group input.disabled:-ms-input-placeholder, .form-group-sub input.disabled:-ms-input-placeholder,
.form-group input[disabled]:-ms-input-placeholder,
.form-group-sub input[disabled]:-ms-input-placeholder,
.form-group input[disabled=disabled]:-ms-input-placeholder,
.form-group-sub input[disabled=disabled]:-ms-input-placeholder { /* IE 10+ */
  color: #0b0c0c;
}
.form-group input.disabled:-moz-placeholder, .form-group-sub input.disabled:-moz-placeholder,
.form-group input[disabled]:-moz-placeholder,
.form-group-sub input[disabled]:-moz-placeholder,
.form-group input[disabled=disabled]:-moz-placeholder,
.form-group-sub input[disabled=disabled]:-moz-placeholder { /* Firefox 18- */
  color: #0b0c0c;
}
.form-group.error input.disabled, .error.form-group-sub input.disabled,
.form-group.error input[disabled],
.error.form-group-sub input[disabled],
.form-group.error input[disabled=disabled],
.error.form-group-sub input[disabled=disabled] {
  border-color: #b10e1e;
}

@media (min-width: 641px) {
  .form-section .form-group > p, .form-section .form-group-sub > p, .form-section .form-group > article, .form-section .form-group-sub > article {
    width: 50%;
  }
}
.form-section .form-group article, .form-section .form-group-sub article {
  margin-top: 15px;
  border-bottom: 1px solid #6f777b;
}

.form-group-sub {
  margin-top: 30px;
}

input.error {
  margin-right: 0;
}

.loading-icon {
  text-align: center;
}

.CodeMirror {
  margin-top: 30px;
  min-height: 600px;
  font-size: 14px;
}

table .form-control {
  width: 90%;
}

.js-table #grant_section_uuid, .js-table [headers=grant_section_uuid] {
  display: none;
}
.js-table #js-table-input .form-group .js-new-grant-add, .js-table #js-table-input .form-group-sub .js-new-grant-add, .js-table #js-table-input .form-group .js-new-grant-update, .js-table #js-table-input .form-group-sub .js-new-grant-update, .js-table #js-table-input .form-group .js-cancel, .js-table #js-table-input .form-group-sub .js-cancel {
  margin-top: 25px;
}
.js-table #js-table-input .grid-1-2 {
  padding: 0;
}

.file-upload-container .form-label {
  font-weight: bold;
}

input[type=time] {
  border: 2px solid #0b0c0c;
  padding: 5px;
  font-family: "GDS Transport", arial, sans-serif;
  font-size: 19px;
}

input[type=time].govuk-input--error {
  border: 2px solid #d4351c;
}

.time-span {
  font-family: "GDS Transport", arial, sans-serif;
  font-size: 19px;
}

.govuk-button-group .help {
  box-sizing: border-box;
  cursor: pointer;
  width: 40px;
  height: 40px;
  border-radius: 25px;
  display: inline-block;
  background-color: #005ea5;
  font-size: 19px;
  margin-top: 5px;
  color: white;
  padding-left: 15px;
  padding-top: 5px;
}

.govuk-form-group .govuk-label.form-label-inline {
  width: 25%;
  display: inline-block;
}

.govuk-form-group .govuk-label.form-label-inline-fluid {
  width: auto;
}

.govuk-form-group .form-control-inline {
  display: inline-block;
  width: 41%;
}

#submission_deadline td button.js-remove {
  color: #005ea5;
  cursor: pointer;
  border: none;
  background: #fff;
  font-size: 19px;
  font-weight: 600;
}
#submission_deadline td .js-add {
  color: #005ea5;
  cursor: pointer;
  border: none;
  background: #fff;
  font-size: 19px;
  font-weight: 600;
}

#sap_vendor_codes_table td button.js-remove {
  color: #005ea5;
  cursor: pointer;
  border: none;
  background: #fff;
  font-size: 19px;
  font-weight: 600;
}

#sap_vendor_codes_table td button.js-add {
  color: #005ea5;
  cursor: pointer;
  border: none;
  background: #fff;
  font-size: 19px;
  font-weight: 600;
}

#grant_payment_methods_table td button.js-addPaymentMethod {
  color: #005ea5;
  cursor: pointer;
  border: none;
  background: #fff;
  font-size: 19px;
  font-weight: 600;
}

#grant_payment_methods_table td button.js-removePaymentMethod {
  color: #005ea5;
  cursor: pointer;
  border: none;
  background: #fff;
  font-size: 19px;
  font-weight: 600;
}

.output-warning {
  color: #f47738;
}

.output-error {
  color: #b10e1e;
}

#grantSectionDetail td button.js-table-btn {
  color: #005ea5;
  cursor: pointer;
  border: none;
  background: #fff;
  font-size: 19px;
  font-weight: 600;
}

/* Hide unused/incorrect controls from the "publish" dialogue box in the form builder.
   You must update the ids whenever updating the Orbeon version */
#embedded-form-builder .orbeon-portlet-div .orbeon-portlet-body .xforms-form .yui-panel-container .xxforms-dialog-body .xforms-case-selected #o0xf-986, #embedded-form-builder .orbeon-portlet-div .orbeon-portlet-body .xforms-form .yui-panel-container .xxforms-dialog-body .xforms-case-selected #o0xf-990 {
  display: none !important;
}

.select2-container .select2-dropdown {
  z-index: 9999999;
}

a[disabled] {
  pointer-events: none;
}

.delta-dl dt {
  font-weight: 800 !important;
}
.delta-dl dd {
  margin-left: 0;
  margin-bottom: 15px;
}

#form-search-grid > table > tbody > * > td.jsgrid-cell.table-link > span > a {
  font-weight: bold;
}

#form-summary-grid {
  display: flex;
}

.govuk-button-group.delta-form-button-group {
  align-items: start;
}

.searchform,
aside.searchform {
  border: none;
  margin: 0 0 0 0;
  padding: 0;
  display: block;
  width: 100%;
}
@media (max-width: 640px) {
  .searchform,
  aside.searchform {
    padding-left: 15px;
  }
}
.searchform.form-1-2,
aside.searchform.form-1-2 {
  width: 50%;
}
.searchform.form-1-3,
aside.searchform.form-1-3 {
  width: 33.33%;
}
.searchform.form-2-3,
aside.searchform.form-2-3 {
  width: 66.66%;
}
.searchform.form-1-4,
aside.searchform.form-1-4 {
  width: 25%;
}
.searchform.form-3-4,
aside.searchform.form-3-4 {
  width: 75%;
}
.searchform.form-full,
aside.searchform.form-full {
  width: 100%;
}
.searchform .content,
aside.searchform .content {
  position: relative;
  background: #fff;
}
.js-visible .searchform,
.js-visible aside.searchform {
  display: block;
}
.js-enabled .searchform label,
.js-enabled aside.searchform label {
  float: none;
  position: absolute;
  left: 9px;
  top: 8px;
  z-index: 1;
  width: auto;
  margin-right: 0;
}
.searchform button[type=submit],
aside.searchform button[type=submit] {
  position: absolute;
  right: 2px;
  top: 0;
  width: 48px;
  height: 41px;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  border: 0;
  box-shadow: none;
}
.searchform input[type=search].form-control,
aside.searchform input[type=search].form-control {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  color: inherit;
  padding: inherit;
  line-height: 1.25;
  padding: 6px;
  position: relative;
  float: left;
  background-color: transparent;
  border: 2px solid;
  z-index: 3;
  -webkit-appearance: none;
  -moz-appearance: none;
  border-radius: 0;
}
.searchform input[type=search].form-control:focus, .searchform input[type=search].form-control.focus,
aside.searchform input[type=search].form-control:focus,
aside.searchform input[type=search].form-control.focus {
  background: #fff;
}
.js-enabled .searchform input[type=search].form-control,
.js-enabled aside.searchform input[type=search].form-control {
  width: 80%;
  width: -webkit-calc(100% - 49px);
  width: calc(100% - 49px);
}
@media (max-width: 640px) {
  .js-enabled .searchform input[type=search].form-control,
  .js-enabled aside.searchform input[type=search].form-control {
    width: 100%;
    margin-bottom: 10px;
  }
}

.data-grid {
  position: relative;
  min-height: 800px;
  width: auto;
}
.data-grid .govuk-pagination__item--current {
  color: white;
}

.pager.jsgrid-pager {
  display: flex;
  justify-content: space-between;
}

.jsgrid-pager-container .previous-next-navigation li.jsgrid-pager-nav-button {
  text-transform: capitalize;
}

.jsgrid-nodata-row {
  position: relative;
}
.jsgrid-nodata-row strong {
  display: inline;
}

.jsgrid-header-sortable button {
  position: relative;
}
.jsgrid-header-sortable button:before {
  content: "  ▼"/"";
  color: #005ea5;
  text-decoration: none;
  font-size: 12px;
  right: -10px;
  bottom: 0;
  position: absolute;
}
.jsgrid-header-sortable button:after {
  content: "  ▲"/"";
  color: #005ea5;
  text-decoration: none;
  font-size: 12px;
  bottom: 10px;
  right: -10px;
  position: absolute;
}

.jsgrid-header-sort-desc button:before {
  font-size: 16px;
  right: -12px;
  bottom: 0;
}
.jsgrid-header-sort-desc button:after {
  display: none;
}

.jsgrid-header-sort-asc button:after {
  font-size: 16px;
  right: -12px;
  bottom: 0;
}
.jsgrid-header-sort-asc button:before {
  display: none;
}

.jsgrid-header-sortable {
  cursor: pointer;
}

.jsgrid-header-sort-asc a .sort-icon:after, .jsgrid-header-sort-desc a .sort-icon:after {
  color: #444;
  text-decoration: none;
  font-size: 12px;
}
.jsgrid-header-sort-asc a .sort-icon:after {
  content: "  ▲";
}
.jsgrid-header-sort-desc a .sort-icon:after {
  content: "  ▼";
}

.js-dropdown-list-wrapper {
  position: relative;
  display: inline-block;
}
.js-dropdown-list-wrapper .fa-caret-down {
  position: absolute;
  top: 0;
  left: 112.5%;
  transform: translateY(25%);
}
.js-dropdown-list-wrapper button {
  color: #005ea5;
  cursor: pointer;
  border: none;
  background: #fff;
  font-size: 19px;
  font-weight: 600;
}

.js-dropdown-list {
  border: 1px solid #2b8cc4;
  position: absolute;
  background: #fff;
  display: block;
  padding: 15px;
  right: -30px;
  min-width: 150px;
  z-index: 999;
}
.js-dropdown-list.js-dropdown-list-closed {
  display: none;
}
.js-dropdown-list.overflown {
  right: 40px;
  bottom: calc(100% - 25px + 4px);
}
.js-dropdown-list li {
  margin-bottom: 7.5px;
  list-style-type: none;
}
.js-dropdown-list li:last-child {
  margin-bottom: 0;
}
.js-dropdown-list a {
  display: block;
}
.js-dropdown-list input[type=submit] {
  display: block;
  background: transparent;
  border: none;
  padding: 0;
  text-decoration: underline;
  cursor: pointer;
  color: #005ea5;
}

.jsgrid-table {
  table-layout: auto;
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
  font-family: "nta", Arial, sans-serif;
  line-height: inherit;
  font-weight: normal;
}
.jsgrid-table tr {
  border-bottom: 1px solid #bfc1c3;
  padding: 0.63158em 1.05263em 0.47368em 0;
}

td.jsgrid-cell,
th.jsgrid-header-cell {
  position: relative;
  font-size: 19px;
  line-height: 1.31579;
  font-family: "nta", Arial, sans-serif;
  font-weight: 400;
  text-transform: none;
  line-height: 1.25;
  padding: 0.63158em 1.05263em 0.47368em 0;
  text-align: left;
  color: #0b0c0c;
}
td.jsgrid-cell > span,
th.jsgrid-header-cell > span {
  display: block;
  padding-left: 0.5px;
  padding-right: 0.5px;
  width: calc(100% - 1px);
  word-wrap: break-word;
  text-align: left;
}
td.jsgrid-cell > span > button,
th.jsgrid-header-cell > span > button {
  color: #005ea5;
  cursor: pointer;
  border: none;
  background: #fff;
  font-size: 19px;
  font-weight: 600;
  outline: none;
  text-align: left;
}
td.jsgrid-cell > span > button:focus,
th.jsgrid-header-cell > span > button:focus {
  outline: none;
  background-color: #ffdd00; /* http://GOV.UK  yellow */
  text-decoration: underline; /* Black underline for clarity */
  text-decoration-color: #000;
  text-underline-offset: 2px;
}

td.jsgrid-cell.nowrap {
  white-space: nowrap;
}

td.jsgrid-cell.min-width-300 {
  min-width: 300px;
}

.fa {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
}

.fa-search:before {
  content: "\f002";
}

.content .button {
  background-color: #00823b;
  position: relative;
  display: -moz-inline-stack;
  display: inline-block;
  padding: 0.526315em 0.789473em 0.263157em;
  border: none;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  -webkit-appearance: none;
  -webkit-box-shadow: 0 2px 0 #003618;
  -moz-box-shadow: 0 2px 0 #003618;
  box-shadow: 0 2px 0 #003618;
  font-size: 1em;
  line-height: 1.25;
  text-decoration: none;
  -webkit-font-smoothing: antialiased;
  cursor: pointer;
  color: #fff;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  vertical-align: top;
}

th.jsgrid-header-cell {
  font-weight: 700;
}

.search-field {
  width: 66% !important;
  margin-top: 15px;
}

.fa-caret-down:before {
  content: "\f0d7";
}

.evidence-search__data-grid {
  overflow-x: auto;
}

.data-grid-delta-2 {
  position: relative;
}
.data-grid-delta-2 .active-filters-summary {
  border: 0;
  border-radius: 1rem;
  background-color: #fff;
  color: #1d70b8;
  font-size: smaller;
  font-weight: 700;
  text-transform: none;
  display: inline-block;
  margin-left: 10px;
}
.data-grid-delta-2 .multiselect-chosen-options {
  margin-bottom: 10px;
}
.data-grid-delta-2 .multiselect-chosen-options .search-choice {
  padding-right: 20px;
  position: relative;
}
.data-grid-delta-2 .multiselect-chosen-options button.search-choice-close {
  border: none;
  display: block;
  all: unset;
}
.data-grid-delta-2 .multiselect-chosen-options button.search-choice-close::before {
  content: "×";
  position: absolute;
  right: 0;
  top: -7px;
  font-size: 35px;
  cursor: pointer;
}
.data-grid-delta-2 .pager-controls {
  float: none;
}
.data-grid-delta-2 .pager-controls .pager-items {
  padding-left: 0;
}
.data-grid-delta-2 .data-grid-scroll-container {
  overflow-x: auto;
}
.data-grid-delta-2 .collection-groups__organisations-list {
  white-space: pre-line;
}
.data-grid-delta-2 .delta-table-filters {
  display: none;
  background-color: #f3f2f1;
}
.data-grid-delta-2 .delta-table-filters .delta-table-filters-header {
  padding: 1rem;
  background-color: #b1b4b6;
}
.data-grid-delta-2 .delta-table-filters .delta2-table-filters-header {
  padding: 1rem;
}
.data-grid-delta-2 .delta-table-filters .delta-filters-header-components {
  display: inline-block;
}
.data-grid-delta-2 .delta-table-filters .delta-results-active-filters {
  padding: 1rem;
  background-color: #E6E6E6;
}
.data-grid-delta-2 .delta-table-filters .facets {
  padding: 1rem;
}
.data-grid-delta-2 .delta-table-filters .searchform .content {
  background: initial;
}
.data-grid-delta-2 .delta-table-filters .searchform {
  padding-left: 0;
}
.data-grid-delta-2 .delta-table-filters .small-button {
  width: auto;
}
.data-grid-delta-2 .delta-table-filters #search-textfield {
  width: calc(100% - 43px);
  background: #ffffff;
}
.data-grid-delta-2 .delta-table-filters .search-textfield-no-button {
  width: 100% !important;
  background: #ffffff;
}
.data-grid-delta-2 .delta-table-filters .js-expander-toggle-all-gds {
  color: #1d70b8;
  position: relative;
  padding-top: 50px;
  padding-bottom: 1px;
  display: block;
  border: none;
}
.data-grid-delta-2 .delta-table-filters .apply-all-filters {
  background: #00703c;
}
.data-grid-delta-2 .delta-table-filters .clear-all-filters {
  background: #ffffff;
}
.data-grid-delta-2 .delta-table-filters .clear-all-filters {
  color: #1d70b8;
  background: unset !important;
  box-shadow: unset !important;
  text-decoration: underline;
}
.data-grid-delta-2 .delta-table-filters .clear-all-filters[disabled] {
  display: none;
}
.data-grid-delta-2 .delta-table-filters .clear-all-filters:hover {
  background-color: unset !important;
  color: #00437d;
  outline: unset !important;
  transition-duration: 0.2s;
  cursor: pointer;
}
.data-grid-delta-2 .delta-table-filters .datagrid_clear-filter-link {
  color: #1d70b8;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
  float: right;
  text-decoration: underline;
}
.data-grid-delta-2 .delta-table-filters .datagrid_clear-filter-link:hover {
  background-color: #d9eeff;
  color: #00437d;
  outline: 2px solid #d9eeff;
  transition-duration: 0.2s;
}
.data-grid-delta-2 .delta-table-filters .ds_datepicker__button {
  width: auto;
  background-color: #00703c !important;
}
.data-grid-delta-2 .delta-table-filters .ds_datepicker__input-wrapper {
  gap: 0.5rem !important;
}
.data-grid-delta-2 .delta-table-filters .ds_datepicker__input-wrapper .delta-filters_date-picker-input-container {
  display: flex;
  flex-direction: column;
}
.data-grid-delta-2 .delta-table-filters .govuk-accordion__section-button {
  border-top: 1px solid #b1b4b6;
  padding-top: 10px;
  padding-bottom: 1px;
  border-bottom: none;
  display: block;
}
.data-grid-delta-2 .delta-table-filters .govuk-accordion__section-button a {
  text-decoration: none;
  background: none;
  box-shadow: none;
}
.data-grid-delta-2 .delta-table-filters .govuk-accordion__section-button .multiselect-summary {
  display: inline-block;
}
.data-grid-delta-2 .delta-table-filters .govuk-accordion__section-button .govuk-accordion__section-toggle {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
  display: block;
  margin-top: 10px;
}
.data-grid-delta-2 .delta-table-filters .govuk-accordion__section-button .govuk-accordion__section-toggle .govuk-accordion-nav__chevron {
  top: -2px;
}
.data-grid-delta-2 .delta-table-filters .govuk-accordion__section-button:hover {
  text-decoration: none;
}
.data-grid-delta-2 .delta-table-filters .govuk-accordion__section-button:hover a {
  text-decoration: none;
}
.data-grid-delta-2 .delta-table-filters .govuk-accordion__section-button:hover .govuk-accordion-nav__chevron {
  color: #0b0c0c;
  background: #0b0c0c;
}
.data-grid-delta-2 .delta-table-filters .govuk-accordion__section-button:hover .govuk-accordion-nav__chevron::after {
  color: #f3f2f1;
}
.data-grid-delta-2 .delta-table-filter-summary {
  background-color: #1d70b8;
  padding: 1rem;
  margin-bottom: 1rem;
  align-items: center;
  color: #fff;
  display: flex;
  justify-content: space-between;
}
.data-grid-delta-2 .delta-table-filter-summary .show-filters {
  cursor: pointer;
  display: inline-block;
  margin: 0;
  background-color: #ffffff;
  box-shadow: 0 2px 0 #144e81;
  color: #1d70b8;
  padding: 8px 10px;
  font-weight: normal;
}
.data-grid-delta-2 .delta-table-filter-summary .show-filters:hover {
  background-color: #e8f1f8;
  color: #1d70b8;
}
.data-grid-delta-2 .delta-table-filter-summary .show-filters i.fa {
  padding-right: 5px;
  color: black;
}
.data-grid-delta-2 .delta-table-filter-summary .show-filters a {
  color: inherit;
  background: none;
  box-shadow: none;
}
.data-grid-delta-2 .delta-table-filter-summary .govuk-form-group {
  margin: 0;
}
.data-grid-delta-2 select.add-to-multiselect {
  width: calc(100% - 65px);
}
.data-grid-delta-2 button.add-to-multiselect {
  margin-bottom: 0;
}
.data-grid-delta-2 .js-expander-handle {
  position: relative;
}
.data-grid-delta-2 .filter.js-expander .govuk-accordion__section-toggle-text--show {
  display: inline;
}
.data-grid-delta-2 .filter.js-expander .govuk-accordion__section-toggle-text--hide {
  display: none;
}
.data-grid-delta-2 .filter.js-expander .govuk-accordion-nav__chevron {
  transform: rotate(180deg);
}
.data-grid-delta-2 .filter.js-expander.js-expander-expanded .govuk-accordion__section-toggle-text--show {
  display: none;
}
.data-grid-delta-2 .filter.js-expander.js-expander-expanded .govuk-accordion__section-toggle-text--hide {
  display: inline;
}
.data-grid-delta-2 .filter.js-expander.js-expander-expanded .govuk-accordion-nav__chevron {
  transform: rotate(0deg);
}
.data-grid-delta-2 .filter.js-expander.js-expander--initial-collapse .js-expander-target {
  display: none;
}
.data-grid-delta-2 .filter-title {
  padding: 0;
  background: 0;
}
.data-grid-delta-2 .filter .content {
  padding: 0;
}
.data-grid-delta-2 .filter {
  padding-bottom: 20px;
}
.data-grid-delta-2 .active-filters {
  padding-top: 20px;
}
.data-grid-delta-2 .govuk-pagination {
  margin-bottom: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-wrap: wrap;
}
@media (min-width: 40.0625em) {
  .data-grid-delta-2 .govuk-pagination {
    margin-bottom: 30px;
  }
}
@media (min-width: 40.0625em) {
  .data-grid-delta-2 .govuk-pagination {
    flex-direction: row;
    align-items: flex-start;
  }
}
.data-grid-delta-2 .govuk-pagination__list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.data-grid-delta-2 .govuk-pagination__item,
.data-grid-delta-2 .govuk-pagination__next,
.data-grid-delta-2 .govuk-pagination__prev {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
  box-sizing: border-box;
  position: relative;
  min-width: 45px;
  min-height: 45px;
  padding: 10px 15px;
  float: left;
}
@media print {
  .data-grid-delta-2 .govuk-pagination__item,
  .data-grid-delta-2 .govuk-pagination__next,
  .data-grid-delta-2 .govuk-pagination__prev {
    font-family: sans-serif;
  }
}
@media (min-width: 40.0625em) {
  .data-grid-delta-2 .govuk-pagination__item,
  .data-grid-delta-2 .govuk-pagination__next,
  .data-grid-delta-2 .govuk-pagination__prev {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .data-grid-delta-2 .govuk-pagination__item,
  .data-grid-delta-2 .govuk-pagination__next,
  .data-grid-delta-2 .govuk-pagination__prev {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.data-grid-delta-2 .govuk-pagination__item:hover,
.data-grid-delta-2 .govuk-pagination__next:hover,
.data-grid-delta-2 .govuk-pagination__prev:hover {
  background-color: #f3f2f1;
}
.data-grid-delta-2 .govuk-pagination__item {
  display: none;
  text-align: center;
}
@media (min-width: 40.0625em) {
  .data-grid-delta-2 .govuk-pagination__item {
    display: block;
  }
}
.data-grid-delta-2 .govuk-pagination__prev,
.data-grid-delta-2 .govuk-pagination__next {
  font-weight: 700;
}
.data-grid-delta-2 .govuk-pagination__prev .govuk-pagination__link,
.data-grid-delta-2 .govuk-pagination__next .govuk-pagination__link {
  display: flex;
  align-items: center;
}
.data-grid-delta-2 .govuk-pagination__prev {
  padding-left: 0;
}
.data-grid-delta-2 .govuk-pagination__next {
  padding-right: 0;
}
.data-grid-delta-2 .govuk-pagination__item--current,
.data-grid-delta-2 .govuk-pagination__item--ellipses,
.data-grid-delta-2 .govuk-pagination__item:first-child,
.data-grid-delta-2 .govuk-pagination__item:last-child {
  display: block;
}
.data-grid-delta-2 .govuk-pagination__item--current {
  font-weight: 700;
  outline: 1px solid transparent;
  background-color: #1d70b8;
}
.data-grid-delta-2 .govuk-pagination__item--current:hover {
  background-color: #1d70b8;
}
.data-grid-delta-2 .govuk-pagination__item--current .govuk-pagination__link:link, .data-grid-delta-2 .govuk-pagination__item--current .govuk-pagination__link:visited {
  color: #ffffff;
}
.data-grid-delta-2 .govuk-pagination__item--current .govuk-pagination__link:hover, .data-grid-delta-2 .govuk-pagination__item--current .govuk-pagination__link:active {
  color: rgba(255, 255, 255, 0.99);
}
.data-grid-delta-2 .govuk-pagination__item--current .govuk-pagination__link:focus {
  color: #0b0c0c;
}
.data-grid-delta-2 .govuk-pagination__item--ellipses {
  font-weight: 700;
  color: #505a5f;
}
.data-grid-delta-2 .govuk-pagination__item--ellipses:hover {
  background-color: transparent;
}
.data-grid-delta-2 .govuk-pagination__link {
  display: block;
  min-width: 15px;
  margin: 0;
}
@media screen {
  .data-grid-delta-2 .govuk-pagination__link::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }
}
.data-grid-delta-2 .govuk-pagination__link:hover .govuk-pagination__link-title--decorated, .data-grid-delta-2 .govuk-pagination__link:active .govuk-pagination__link-title--decorated {
  text-decoration: underline;
  text-decoration-thickness: max(1px, 0.0625rem);
  text-underline-offset: 0.1578em;
}
.data-grid-delta-2 .govuk-pagination__link:hover .govuk-pagination__link-label,
.data-grid-delta-2 .govuk-pagination__link:hover .govuk-pagination__link-title--decorated, .data-grid-delta-2 .govuk-pagination__link:active .govuk-pagination__link-label,
.data-grid-delta-2 .govuk-pagination__link:active .govuk-pagination__link-title--decorated {
  text-decoration-thickness: max(3px, 0.1875rem, 0.12em);
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
  -webkit-text-decoration-skip: none;
  text-decoration-skip: none;
}
.data-grid-delta-2 .govuk-pagination__link:focus .govuk-pagination__icon {
  color: #0b0c0c;
}
.data-grid-delta-2 .govuk-pagination__link:focus .govuk-pagination__link-label {
  text-decoration: none;
}
.data-grid-delta-2 .govuk-pagination__link:focus .govuk-pagination__link-title--decorated {
  text-decoration: none;
}
.data-grid-delta-2 .govuk-pagination__link-label {
  font-weight: 400;
  text-decoration: underline;
  text-decoration-thickness: max(1px, 0.0625rem);
  text-underline-offset: 0.1578em;
  display: inline-block;
  padding-left: 30px;
}
.data-grid-delta-2 .govuk-pagination__icon {
  width: 0.9375rem;
  height: 0.8125rem;
  color: #505a5f;
  fill: currentcolor;
  forced-color-adjust: auto;
}
.data-grid-delta-2 .govuk-pagination__icon--prev {
  margin-right: 15px;
}
.data-grid-delta-2 .govuk-pagination__icon--next {
  margin-left: 15px;
}
.data-grid-delta-2 .govuk-pagination--block {
  display: block;
}
.data-grid-delta-2 .govuk-pagination--block .govuk-pagination__item {
  padding: 15px;
  float: none;
}
.data-grid-delta-2 .govuk-pagination--block .govuk-pagination__next,
.data-grid-delta-2 .govuk-pagination--block .govuk-pagination__prev {
  padding-left: 0;
  float: none;
}
.data-grid-delta-2 .govuk-pagination--block .govuk-pagination__next {
  padding-right: 15px;
}
.data-grid-delta-2 .govuk-pagination--block .govuk-pagination__next .govuk-pagination__icon {
  margin-left: 0;
}
.data-grid-delta-2 .govuk-pagination--block .govuk-pagination__prev + .govuk-pagination__next {
  border-top: 1px solid #b1b4b6;
}
.data-grid-delta-2 .govuk-pagination--block .govuk-pagination__link,
.data-grid-delta-2 .govuk-pagination--block .govuk-pagination__link-title {
  display: inline;
}
.data-grid-delta-2 .govuk-pagination--block .govuk-pagination__link-title::after {
  content: "";
  display: block;
}
.data-grid-delta-2 .govuk-pagination--block .govuk-pagination__link {
  text-align: left;
}
.data-grid-delta-2 .govuk-pagination--block .govuk-pagination__link:focus .govuk-pagination__link-label {
  outline: 3px solid transparent;
  color: #0b0c0c;
  background-color: #ffdd00;
  box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
  text-decoration: none;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.data-grid-delta-2 .govuk-pagination--block .govuk-pagination__link:not(:focus) {
  text-decoration: none;
}
.data-grid-delta-2 .govuk-pagination--block .govuk-pagination__icon {
  margin-right: 10px;
}
.data-grid-delta-2 .govuk-pagination__item {
  margin: 0;
}
.data-grid-delta-2 .govuk-pagination__item--current {
  color: #ffffff;
}
.data-grid-delta-2 .total-records-container {
  padding-top: 80px;
}

.delta-filters_header {
  padding: 1rem;
}

.active-filters-count {
  margin-left: 0.2rem;
}

.delta-filters_container {
  padding: 1rem;
}
.delta-filters_container .delta-filters-active-tag {
  margin: 0 0.2rem;
}
.delta-filters_container .delta-filters-clear-filter-link {
  color: #1d70b8;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
  float: right;
  text-decoration: underline;
}
.delta-filters_container .delta-filters-clear-filter-link:hover {
  background-color: #d9eeff;
  color: #00437d;
  outline: 2px solid #d9eeff;
  transition-duration: 0.2s;
}
.delta-filters_container .delta-filters_chosen-option {
  padding-right: 20px;
  position: relative;
}
.delta-filters_container .delta-filters_chosen-option .delta-filters_remove-option {
  border: none;
  display: block;
  all: unset;
}
.delta-filters_container .delta-filters_chosen-option .delta-filters_remove-option::before {
  content: "×";
  position: absolute;
  right: 0;
  top: -7px;
  font-size: 35px;
  cursor: pointer;
}
.delta-filters_container .multiselect-input-container {
  display: flex;
}

.delta-filters_controls {
  padding: 1rem;
}
.delta-filters_controls #filters-clear-button, .delta-filters_controls #filters-reset-button {
  background: #ffffff;
  color: #1d70b8;
  background: unset !important;
  box-shadow: unset !important;
  text-decoration: underline;
}
.delta-filters_controls #filters-clear-button[disabled] {
  display: none;
}
.delta-filters_controls #filters-clear-button:hover, .delta-filters_controls #filters-reset-button:hover {
  background-color: unset !important;
  color: #00437d;
  outline: unset !important;
  transition-duration: 0.2s;
  cursor: pointer;
}

.delta-filters-select-with-add {
  margin-right: 0.2rem;
}

.delta-filter-container .form-group .chosen-container, .delta-filter-container .form-group-sub .chosen-container {
  width: 95% !important;
  font-size: 16px;
}

.js-active-filters-dropdown-container {
  position: relative;
}
.js-active-filters-dropdown-container > a:first-child {
  margin-right: 10.5px;
}
.js-active-filters-dropdown-container .fa-caret-down {
  position: absolute;
  top: 0;
  right: 0;
  transform: translateY(25%);
}

.js-active-filters-dropdown {
  border: 1px solid #2b8cc4;
  position: absolute;
  background: #fff;
  display: block;
  padding: 15px;
  transform: translateX(-50%);
  min-width: 150px;
  z-index: 999;
}
.js-active-filters-dropdown.js-active-filters-dropdown-closed {
  display: none;
}
.js-active-filters-dropdown li {
  margin-bottom: 7.5px;
}
.js-active-filters-dropdown li:last-child {
  margin-bottom: 0;
}
.js-active-filters-dropdown a {
  display: block;
}
.js-active-filters-dropdown input[type=submit] {
  display: block;
  background: transparent;
  border: none;
  padding: 0;
  text-decoration: underline;
  cursor: pointer;
  color: #005ea5;
}

.facets .govuk-form-group {
  margin-bottom: 0;
}

.facets .js-hidden {
  display: none;
  visibility: hidden;
}

.form-panel.js-expander .js-expander-target {
  border: none;
}

.filter .block-list.active-filters-list {
  padding-left: 0;
}
.filter .block-list.active-filters-list li {
  list-style: none;
}

.facets .sidebar-search-field .govuk-button {
  margin-bottom: 10px;
}

.notice {
  position: relative;
  padding: 15px 0 10px;
}
.notice .icon {
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -17px;
}
.notice .icon.fa {
  margin-left: 13px;
  margin-top: -9px;
}
.notice .icon.fa-2x {
  margin-left: 10px;
  margin-top: -20px;
}
.notice strong {
  display: block;
  padding-left: 65px;
}

.notice .icon.js-close-element {
  left: initial;
  right: 15px;
  display: block;
  width: 15px;
  height: 15px;
  margin-top: -7px;
}
.notice strong {
  padding-right: 45px;
}
.notice .icon-banner-warning {
  margin-left: 11px;
}
.notice .icon-banner-warning:before {
  background: #fff;
  border-radius: 50%;
  content: "i";
  display: block;
  width: 30px;
  height: 30px;
  text-align: center;
  margin-right: 15px;
  font-weight: bold;
  font-style: normal;
  font-size: 23px;
  margin-top: 3px;
  line-height: 1.3em;
}
.notice.govuk-blue-banner .icon-banner-warning:before {
  color: #005ea5;
}

.form-group .notice strong, .form-group-sub .notice strong {
  color: #005ea5;
  padding-left: 40px;
}
.form-group .notice .icon, .form-group-sub .notice .icon {
  margin-top: -13px;
}
.form-group .notice .icon-banner-warning, .form-group-sub .notice .icon-banner-warning {
  margin-left: 0;
}
.form-group .notice .icon-banner-warning:before, .form-group-sub .notice .icon-banner-warning:before {
  background: #005ea5;
  color: #fff;
  width: 20px;
  height: 20px;
  text-align: center;
  margin-right: 0;
  margin-top: 5px;
}

/* @todo: make SASS; copied as-is from _dclg.scss | blue information banner */
.govuk-blue-banner {
  background-color: #005ea5;
  color: #fff;
}
.govuk-blue-banner a:link, .govuk-blue-banner a:visited {
  color: #fff;
}
.govuk-blue-banner .icon.js-close-element {
  background: url(/public/images/close-inverse.png) no-repeat 2px 2px;
}

.govuk-red-banner {
  background-color: #b10e1e;
  color: #fff;
}
.govuk-red-banner a:link, .govuk-red-banner a:visited {
  color: #fff;
}
.govuk-red-banner .icon.js-close-element {
  background: url(/public/images/close-inverse.png) no-repeat 2px 2px;
}

.govuk-yellow-banner {
  background-color: #fd0;
  color: #0b0c0c;
}
.govuk-yellow-banner a:link, .govuk-yellow-banner a:visited {
  color: #0b0c0c;
}
.govuk-yellow-banner .icon.js-close-element {
  background: url(/public/images/close.png) no-repeat 2px 2px;
}

.govuk-green-banner {
  background-color: #006435;
  color: #fff;
}
.govuk-green-banner a:link, .govuk-green-banner a:visited {
  color: #fff;
}
.govuk-green-banner .icon.js-close-element {
  background: url(/public/images/close-inverse.png) no-repeat 2px 2px;
}

.notice-delete {
  padding: 15px 0 10px;
  background: #b10e1e;
  color: #fff;
}
.notice-delete .icon {
  left: 1.5%;
}

.form-group .info-notice, .form-group-sub .info-notice {
  margin-bottom: 55px;
  position: relative;
}
.form-group .info-notice .govuk-warning-text__icon, .form-group-sub .info-notice .govuk-warning-text__icon {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: inline-block;
  position: absolute;
  left: 0;
  min-width: 35px;
  min-height: 35px;
  border: 3px solid #0b0c0c;
  border-radius: 50%;
  color: #fff;
  background: #0b0c0c;
  font-size: 30px;
  line-height: 29px;
  text-align: center;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.form-group .info-notice .govuk-warning-text__text, .form-group-sub .info-notice .govuk-warning-text__text {
  color: #0b0c0c !important;
  font-size: 19px;
  padding-left: 50px;
  position: absolute;
}

#in-review-box {
  font-size: 16px;
  border-radius: 7px;
  background: #fafa05;
  padding: 5px;
  padding-left: 12px;
  width: 580px;
  margin-top: 30px;
  padding-right: 101px;
}
@media (max-width: 640px) {
  #in-review-box {
    font-size: 8px;
    padding-right: 97px;
  }
}

#approved-box {
  font-size: 16px;
  border-radius: 7px;
  background: #ff9f40;
  padding: 5px;
  padding-left: 12px;
  width: 580px;
  padding-right: 80px;
}

#cleared-box {
  font-size: 16px;
  border-radius: 7px;
  background: #009900;
  padding: 5px;
  padding-left: 12px;
  width: 580px;
  padding-right: 142px;
}
@media (max-width: 640px) {
  #cleared-box {
    font-size: 8px;
    padding-right: 117px;
  }
}

#forecast-box {
  font-size: 16px;
  border-radius: 7px;
  background: #21ece9;
  padding: 5px;
  padding-left: 12px;
  width: 580px;
  display: none;
  padding-right: 259px;
}
@media (max-width: 640px) {
  #forecast-box {
    padding-right: 175px;
    font-size: 8px;
  }
}

#dashboard-page {
  margin-bottom: 50px;
}

.legend-group {
  box-sizing: border-box;
  float: left;
  margin-bottom: 15px;
  width: 630px;
}
@media (max-width: 640px) {
  .legend-group {
    width: 382px;
  }
}

.form-group .legend-box, .form-group-sub .legend-box {
  font-size: 16px;
  border-radius: 7px;
  padding: 5px;
  padding-left: 15px;
  width: 580px;
}

.form-group #open-data-box, .form-group-sub #open-data-box {
  padding-right: 230px;
  background: rgb(201, 203, 207);
}

.form-group #saved-box, .form-group-sub #saved-box {
  padding-right: 386px;
  background: rgb(250, 250, 5);
}

.form-group #submitted-box, .form-group-sub #submitted-box {
  padding-right: 345px;
  background: rgb(33, 236, 233);
}

.form-group #certified-box, .form-group-sub #certified-box {
  padding-right: 365px;
  background: rgb(0, 128, 0);
}

.form-group .legend-box span, .form-group-sub .legend-box span {
  font-weight: bold;
}

section#more {
  margin-top: 30px;
}

.nav-tabs {
  zoom: 1;
  background: #fff;
  padding: 0;
  position: relative;
}
.nav-tabs:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
.nav-tabs ol, .nav-tabs ul, .nav-tabs .tabs-nav {
  float: left;
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
  z-index: 5;
}
.nav-tabs li, .nav-tabs .tabs-nav li {
  padding: 0;
  margin: 0;
  float: left;
}
@media (min-width: 641px) {
  .nav-tabs li, .nav-tabs .tabs-nav li {
    font-size: 16px;
    line-height: 1.25;
  }
}
.nav-tabs li a, .nav-tabs .tabs-nav li a {
  border: solid 1px #fff;
  border-bottom: none;
  float: left;
  height: 2.25em;
  line-height: 2.25em;
  margin-bottom: -1px;
  padding: 0 1em 0 1em;
  position: relative;
  text-align: center;
  top: 0;
}
.nav-tabs li.active a, .nav-tabs .tabs-nav li.active a {
  background-color: #fff;
  border: solid 1px #bfc1c3;
  border-bottom: solid 1px #fff;
  color: #0b0c0c;
  position: relative;
  text-decoration: none;
  z-index: 5;
}
.nav-tabs li:first-child a, .nav-tabs .tabs-nav li:first-child a {
  margin-left: 0;
}

.js-tab-content {
  overflow: hidden;
}

.tab-content .tab-pane {
  padding: 30px 0 0 0;
  border-top: solid 1px #bfc1c3;
  clear: both;
  width: auto;
}

.office-form-notice-password {
  font-size: 17px !important;
  font-family: Segoe UI, Segoe WP, Tahoma, Arial, sans-serif !important;
}

.office-form-footer-block {
  font-size: 17px !important;
  font-family: Segoe UI, Segoe WP, Tahoma, Arial, sans-serif !important;
}

.previous-next-navigation {
  position: relative;
  overflow: hidden;
  margin-top: 60px;
  width: 100%;
}

.previous-next-navigation li {
  font-family: "nta", Arial, sans-serif;
  font-size: 20px;
  line-height: 1.11111;
  font-weight: 400;
  text-transform: none;
  display: block;
  padding: 0;
  margin: 0;
  width: 50%;
  float: left;
}

@media (min-width: 641px) {
  .previous-next-navigation li {
    font-size: 27px;
    line-height: 1.11111;
  }
}
.previous-next-navigation li.next {
  float: right;
  text-align: right;
}

.previous-next-navigation li.next a {
  padding: 15px 35px 15px 0;
}

.previous-next-navigation li.next a:before {
  background: transparent url(https://assets.publishing.service.gov.uk/government/assets/arrow-sprite-2B8CC4-5e2cee3e982549b5285684a2e4f0706c5d9c531f0afdf61dfe32dfb1dfeb82f0.png) no-repeat -102px -11px;
  margin: -4px -32px 0 0;
  display: block;
  float: right;
  width: 30px;
  height: 38px;
  content: " ";
}

.previous-next-navigation li.previous a {
  padding: 15px 0 15px 35px;
}

.previous-next-navigation li.previous a:before {
  background: transparent url(https://assets.publishing.service.gov.uk/government/assets/arrow-sprite-2B8CC4-5e2cee3e982549b5285684a2e4f0706c5d9c531f0afdf61dfe32dfb1dfeb82f0.png) no-repeat -20px -11px;
  margin: -4px 0 0 -32px;
  display: block;
  float: left;
  width: 30px;
  height: 38px;
  content: " ";
}

.previous-next-navigation li a {
  display: block;
  text-decoration: none;
}

.previous-next-navigation li a span {
  display: block;
  font-family: "nta", Arial, sans-serif;
  font-size: 12px;
  line-height: 1.25;
  font-weight: 400;
  text-transform: none;
  padding-top: 6px;
  padding-bottom: 4px;
}

@media (min-width: 641px) {
  .previous-next-navigation li a span {
    font-size: 14px;
    line-height: 1.42857;
  }
}
@media (max-width: 640px) {
  .previous-next-navigation li a span {
    padding-top: 4px;
    padding-bottom: 1px;
  }
}
.previous-next-navigation li a:focus .page-numbers,
.previous-next-navigation li a:hover .page-numbers {
  text-decoration: underline;
}

.previous-next-navigation li a:hover {
  background: #f8f8f8;
}

.previous-next-navigation li a:active {
  background: #dee0e2;
}

@media (min-width: 641px) {
  .previous-next-navigation li .visuallyhidden {
    font-family: "nta", Arial, sans-serif;
    font-size: 20px;
    line-height: 1.11111;
    font-weight: 400;
    text-transform: none;
    display: inline-block;
    position: static;
  }
}
@media (min-width: 641px) and (min-width: 641px) {
  .previous-next-navigation li .visuallyhidden {
    font-size: 27px;
    line-height: 1.11111;
  }
}
dialog[open] {
  display: block;
  top: 0;
  width: 58%;
  margin: 1em;
  position: absolute;
  box-sizing: border-box;
  margin-top: 10%;
  font-size: 19px;
  font-family: "GDS Transport", arial, sans-serif;
}

@media (min-width: 641px) {
  dialog[open] {
    padding: 10px 15px 15px 15px;
    margin: 30px auto;
  }
  dialog[open] form {
    margin-top: 15px;
  }
}
dialog + .backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.1);
}

.fa-exclamation-circle:before {
  content: "\f06a";
}

dialog p {
  margin-top: 1em;
  margin-bottom: 1em;
}

dialog #dialog-title {
  font-size: 19px;
  font-family: "GDS Transport", arial, sans-serif;
}
dialog ul.list.list-bullet {
  font-size: 19px;
  font-family: "GDS Transport", arial, sans-serif;
}

dialog#confirm-s151-officer {
  width: 60%;
}

dialog#select-dataset .govuk-red-banner {
  height: 18px;
}

dialog#download-detailed-report .audit-label {
  margin-right: 70px;
  margin-bottom: 5px;
}

.warning-red-border {
  border: 5px solid #b10e1e;
}
.warning-red-border p {
  margin-top: 1em;
  margin-bottom: 1em;
}
.warning-red-border .notice {
  margin-left: -15px;
  margin-right: -15px;
  margin-top: -15px;
}
.warning-red-border .notice strong {
  padding-left: 10px;
  padding-right: 10px;
  margin: 0;
}
.warning-red-border--inline {
  padding: 10px 14px 15px 15px;
  margin: 30px auto;
  font-size: 19px;
  font-family: "GDS Transport", arial, sans-serif;
}

.dialog-is-open .dialog-wrapper:before {
  display: block;
  content: "";
  background: rgba(0, 0, 0, 0.75);
  position: fixed;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
}

.notice-banner {
  padding: 10px 0 8px;
  border-bottom: 1px solid #bfc1c3;
}

@media (min-width: 641px) {
  .notice-banner {
    padding-bottom: 10px;
  }
}
.notice-banner p {
  display: table;
  margin: 0;
  color: rgb(11, 12, 12);
  font-family: "GDS Transport", arial, sans-serif;
  font-weight: 400;
  text-transform: none;
  font-size: 1.1875rem;
  line-height: 1.3157894737;
}

@media (min-width: 641px) {
  .notice-banner p {
    font-size: 1rem;
    line-height: 1.25;
  }
}
.notice-banner .phase-tag {
  display: -moz-inline-stack;
  display: inline-block;
  margin: 0 8px 0 0;
  padding: 2px 5px 0;
  font-family: "GDS Transport", arial, sans-serif;
  font-weight: 700;
  text-transform: none;
  font-size: 14px;
  line-height: 1.14286;
  text-transform: uppercase;
  letter-spacing: 1px;
  text-decoration: none;
  color: #fff;
  background-color: #d53880;
}

@media (min-width: 641px) {
  .notice-banner .phase-tag {
    font-size: 16px;
    line-height: 1.25;
  }
}
.notice-banner span {
  vertical-align: baseline;
}

.notice-banner span {
  vertical-align: baseline;
}

.panel-limit-width {
  max-width: 650px;
}

.delta-smaller-panel .govuk-panel__title {
  font-size: 40px;
}
.delta-smaller-panel .govuk-panel__body {
  font-size: 27px;
  overflow-wrap: break-word;
}

#embedded-form-builder {
  position: relative;
  width: 100%;
  height: 800px;
}

#embedded-form-builder div.orbeon.orbeon-portlet-div {
  right: 0;
  left: 0;
  top: 0;
  width: auto;
}

#embedded-form-builder .yui-dialog {
  top: 0 !important;
}

.orbeon #o0xforms-form .xxforms-set-height .xxforms-dialog-body .fb-dialog-remaining-height {
  bottom: 110px;
}

.orbeon #o0xforms-form .xxforms-set-height .xxforms-dialog-body .fr-dialog-buttons {
  bottom: 20px;
  z-index: 999;
  padding-right: 50px;
}

.orbeon #o0xforms-form .fr-grid-td .xforms-required .xforms-label {
  position: relative;
  padding-left: 25px;
}

.orbeon .fr-mode-new .xforms-required .xforms-label:before,
.orbeon .fr-mode-test .xforms-required .xforms-label:before,
.orbeon .xforms-dialog .xforms-required .xforms-label:before {
  content: "* ";
  position: absolute;
  display: block;
  width: 15px;
  height: 15px;
  right: calc(100% - 15px);
  top: -7px;
  transform: scale(1.5);
  transform-origin: 0 0;
}

.delta-notification-banner--error {
  border-color: #d4351c;
  background-color: #d4351c;
}

.delta-notification-banner--warning {
  border-color: #FF5F15;
  background-color: #FF5F15;
}

.govuk-notification-banner {
  margin-top: 1em;
}

.govuk-notification-banner__content > * {
  max-width: 800px;
}

@media (min-width: 1400px) {
  body .govuk-width-container {
    max-width: 1280px;
  }
  body .govuk-header__content {
    padding-left: 20px;
    width: calc(100% - 250px);
  }
  body p, body strong {
    max-width: 75ch;
  }
  body p.text-no-max-width, body strong.text-no-max-width {
    max-width: unset;
  }
}
@media (min-width: 1100px) {
  body.delta-wide-page {
    padding-left: 50px;
    padding-right: 50px;
  }
  body.delta-wide-page .govuk-header {
    margin-left: -50px;
    margin-right: -50px;
    padding-right: 50px;
    padding-left: 50px;
  }
  body.delta-wide-page .govuk-width-container {
    max-width: 1600px;
  }
  body.delta-wide-page .govuk-footer {
    margin-right: -50px;
    margin-left: -50px;
    padding-right: 50px;
    padding-left: 50px;
  }
  body.delta-wide-page .govuk-header__content {
    width: calc(100% - 250px);
  }
  body.delta-wide-page .ui-datepicker {
    display: none;
  }
}
.grid-column-text-max-width {
  max-width: 50em;
}

.delta-animation-loading {
  background-color: #f3f2f1;
  padding: 0;
  border-radius: 8px;
  overflow: hidden;
  animation: deltaLoading;
  animation-duration: 1.5s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
  animation-direction: alternate-reverse;
}
.delta-animation-loading .delta-animation-loading-indicator {
  width: 10%;
  height: 16px;
  text-indent: -999px;
  overflow: hidden;
  background-color: #1d70b8;
  border-radius: 8px;
}

@keyframes deltaLoading {
  0% {
    padding-left: 0;
  }
  100% {
    padding-left: 100%;
  }
}
.delta-image-responsive {
  width: 100%;
}

.delta-screen-grab {
  box-shadow: 0 0 1rem rgba(138, 138, 138, 0.5);
  margin-bottom: 1rem;
}

.fs-help-image-overlay-display {
  background: #404040;
  opacity: 0.5;
  position: fixed;
  height: 100vh;
  width: 100vw;
  top: 0;
  left: 0;
}

.help-fs-image-container {
  position: fixed;
  top: 20px;
  width: 80%;
  height: calc(100% - 20px);
  overflow-y: scroll;
}

.hidden {
  display: none;
}

.certification-record__header {
  word-wrap: break-word;
  max-width: calc(100% - 108px);
}

#main-content.fullscreen-content {
  width: auto;
  max-width: none;
  padding: 0 30px;
  /*
  The current MHCLG laptops end up with a 1282px viewport width, which is just too small to be able to see
  all the buttons in Orbeon, so shrink the margins to give a few more pixels of space.
  */
}
@media (max-width: 1300px) {
  #main-content.fullscreen-content {
    padding: 0 10px;
  }
}

.fullscreen {
  background-color: white;
}

body .govuk-tag {
  max-width: 185px;
}

/*------------------------------------*\
    DATE PICKER
\*------------------------------------*/
.ds_datepicker {
  position: relative;
  margin-bottom: 1.5rem;
  font-family: "GDS Transport", arial, sans-serif;
}
.ds_datepicker .ds_input {
  margin-bottom: 0;
}
.ds_datepicker__input-wrapper {
  display: flex;
  align-items: end;
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.ds_datepicker__today {
  background-color: #D0E8FF;
  font-weight: bold;
  position: relative;
}
.ds_datepicker__today::after {
  background-color: currentColor;
  border-radius: 4px;
  bottom: 6px;
  content: "";
  height: 4px;
  left: 50%;
  margin-left: -2px;
  position: absolute;
  width: 4px;
}
.ds_datepicker__dialog {
  box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.15);
  background-color: #fff;
  clear: both;
  display: none;
  padding: 8px;
  outline: 1px solid #B3B3B3;
  outline-offset: -1px;
  position: static;
  top: 0;
  transition: background-color 0.2s, outline-color 0.2s;
  width: 296px;
  z-index: 2;
}
.ds_datepicker__dialog--open {
  display: block;
}
@supports (left: var(--ds-date-picker-left-offset)) {
  .ds_datepicker__dialog--open {
    left: var(--ds-date-picker-left-offset);
  }
}
.ds_datepicker__dialog__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px;
}
.ds_datepicker__dialog__navbuttons {
  display: flex;
  gap: 4px;
}
.ds_datepicker__dialog__navbuttons .ds_button {
  background-color: transparent;
  border: none;
  color: #000;
  padding: 8px;
  cursor: pointer;
  transition: background-color 0.2s, color 0.2s;
}
.ds_datepicker__dialog__navbuttons .ds_button:hover {
  background-color: #E0E0E0;
}
.ds_datepicker__dialog__title {
  margin: 0;
  font-size: 1.25rem;
  font-weight: bold;
  text-align: center;
  flex-grow: 1;
}
.ds_datepicker__dialog .ds_button .ds_icon {
  height: 1.8em;
  width: 1.8em;
  fill: #000;
  vertical-align: middle;
  pointer-events: none;
}
.ds_datepicker__dialog__table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 1rem;
}
.ds_datepicker__dialog__table th, .ds_datepicker__dialog__table td {
  width: 14.28%;
  padding: 0;
  text-align: center;
  border: none;
}
.ds_datepicker__dialog__table th {
  color: #5e5e5e;
  font-weight: normal;
  font-size: 0.875rem;
  height: auto;
}
.ds_datepicker__dialog__table td {
  background-color: #fff;
  cursor: pointer;
  border: none;
}
.ds_datepicker__dialog__table td:hover {
  background-color: #E0E0E0;
}
.ds_datepicker__dialog__table td.ds_selected {
  background-color: #FFF;
  color: #fff;
  font-weight: bold;
}
.ds_datepicker__dialog__table td[disabled=true], .ds_datepicker__dialog__table td[aria-disabled=true] {
  color: #B0B0B0;
  pointer-events: none;
}
.ds_datepicker__dialog__table td button {
  font-size: 1rem;
  width: 100%;
  height: 48px;
  background-color: transparent;
  border: none;
  color: #000;
  cursor: pointer;
  transition: background-color 0.2s, color 0.2s;
}
.ds_datepicker__dialog__table td button:hover {
  background-color: #E0E0E0;
}
.ds_datepicker__dialog__table td button.ds_selected {
  background-color: #000;
  color: #fff;
}
.ds_datepicker__dialog__buttongroup {
  display: flex;
  justify-content: space-between;
}
.ds_datepicker__dialog__buttongroup .ds_button {
  width: calc(50% - 5px);
  min-height: 40px;
  background-color: #fff;
  border: 2px solid #000;
  color: #000;
  cursor: pointer;
  transition: background-color 0.2s, color 0.2s;
}
.ds_datepicker__dialog__buttongroup .ds_button:hover {
  background-color: #E0E0E0;
}
.ds_datepicker__dialog__buttongroup .js-datepicker-ok {
  background: #00703c;
  color: #FFF;
  border: none;
}
.ds_datepicker__button {
  width: 48px;
  height: 48px;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #00703c;
  border: 1px solid #000;
  cursor: pointer;
  transition: background-color 0.2s;
}
.ds_datepicker__button:hover {
  background-color: #005a30;
}
.ds_datepicker__button .ds_icon {
  width: 30px;
  height: 30px;
  fill: #fff;
}

@media (min-width: 768px) {
  .ds_datepicker__dialog {
    position: absolute;
  }
  .ds_datepicker__dialog__title {
    padding: 8px 0;
  }
  .ds_datepicker__dialog__header > :nth-child(1) {
    top: 0;
  }
  .ds_datepicker__dialog__header > :nth-child(3) {
    top: 0;
  }
}
.ds_button {
  background-color: #00703c;
  color: #fff;
  font-weight: bold;
  border: none;
  cursor: pointer;
  transition: background-color 0.2s;
}
.ds_button:hover {
  background-color: #005a30;
}

.ds_datepicker__header {
  text-align: center;
  font-weight: bold;
  margin-bottom: 8px;
}

.ds_datepicker__footer {
  display: flex;
  justify-content: space-between;
  padding: 8px 0;
}

.fully-hidden {
  display: none !important;
}

.ds_datepicker__dialog__table-caption {
  caption-side: bottom;
  line-height: 2;
  margin-top: 8px;
  font-size: 0.8rem;
}

/*!
 *  Font Awesome 4.3.0 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */
/* FONT PATH
 * -------------------------- */
@font-face {
  font-family: "FontAwesome";
  src: url("../fonts/fontawesome-webfont.eot?v=4.3.0");
  src: url("../fonts/fontawesome-webfont.eot?#iefix&v=4.3.0") format("embedded-opentype"), url("../fonts/fontawesome-webfont.woff2?v=4.3.0") format("woff2"), url("../fonts/fontawesome-webfont.woff?v=4.3.0") format("woff"), url("../fonts/fontawesome-webfont.ttf?v=4.3.0") format("truetype"), url("../fonts/fontawesome-webfont.svg?v=4.3.0#fontawesomeregular") format("svg");
  font-weight: normal;
  font-style: normal;
}
.fa {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  transform: translate(0, 0);
}

/* makes the font 33% larger relative to the icon container */
.fa-lg {
  font-size: 1.33333333em;
  line-height: 0.75em;
  vertical-align: -15%;
}

.fa-2x {
  font-size: 2em;
}

.fa-3x {
  font-size: 3em;
}

.fa-4x {
  font-size: 4em;
}

.fa-5x {
  font-size: 5em;
}

.fa-fw {
  width: 1.28571429em;
  text-align: center;
}

.fa-ul {
  padding-left: 0;
  margin-left: 2.14285714em;
  list-style-type: none;
}

.fa-ul > li {
  position: relative;
}

.fa-li {
  position: absolute;
  left: -2.14285714em;
  width: 2.14285714em;
  top: 0.14285714em;
  text-align: center;
}

.fa-li.fa-lg {
  left: -1.85714286em;
}

.fa-border {
  padding: 0.2em 0.25em 0.15em;
  border: solid 0.08em #eeeeee;
  border-radius: 0.1em;
}

.pull-right {
  float: right;
}

.pull-left {
  float: left;
}

.fa.pull-left {
  margin-right: 0.3em;
}

.fa.pull-right {
  margin-left: 0.3em;
}

.fa-spin {
  -webkit-animation: fa-spin 2s infinite linear;
  animation: fa-spin 2s infinite linear;
}

.fa-pulse {
  -webkit-animation: fa-spin 1s infinite steps(8);
  animation: fa-spin 1s infinite steps(8);
}

@-webkit-keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
@keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
.fa-rotate-90 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}

.fa-rotate-180 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

.fa-rotate-270 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
  -webkit-transform: rotate(270deg);
  -ms-transform: rotate(270deg);
  transform: rotate(270deg);
}

.fa-flip-horizontal {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);
  -webkit-transform: scale(-1, 1);
  -ms-transform: scale(-1, 1);
  transform: scale(-1, 1);
}

.fa-flip-vertical {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);
  -webkit-transform: scale(1, -1);
  -ms-transform: scale(1, -1);
  transform: scale(1, -1);
}

:root .fa-rotate-90,
:root .fa-rotate-180,
:root .fa-rotate-270,
:root .fa-flip-horizontal,
:root .fa-flip-vertical {
  filter: none;
}

.fa-stack {
  position: relative;
  display: inline-block;
  width: 2em;
  height: 2em;
  line-height: 2em;
  vertical-align: middle;
}

.fa-stack-1x,
.fa-stack-2x {
  position: absolute;
  left: 0;
  width: 100%;
  text-align: center;
}

.fa-stack-1x {
  line-height: inherit;
}

.fa-stack-2x {
  font-size: 2em;
}

.fa-inverse {
  color: #ffffff;
}

/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
   readers do not read off random characters that represent icons */
.fa-glass:before {
  content: "\f000";
}

.fa-music:before {
  content: "\f001";
}

.fa-search:before {
  content: "\f002";
}

.fa-envelope-o:before {
  content: "\f003";
}

.fa-heart:before {
  content: "\f004";
}

.fa-star:before {
  content: "\f005";
}

.fa-star-o:before {
  content: "\f006";
}

.fa-user:before {
  content: "\f007";
}

.fa-film:before {
  content: "\f008";
}

.fa-th-large:before {
  content: "\f009";
}

.fa-th:before {
  content: "\f00a";
}

.fa-th-list:before {
  content: "\f00b";
}

.fa-check:before {
  content: "\f00c";
}

.fa-remove:before,
.fa-close:before,
.fa-times:before {
  content: "\f00d";
}

.fa-search-plus:before {
  content: "\f00e";
}

.fa-search-minus:before {
  content: "\f010";
}

.fa-power-off:before {
  content: "\f011";
}

.fa-signal:before {
  content: "\f012";
}

.fa-gear:before,
.fa-cog:before {
  content: "\f013";
}

.fa-trash-o:before {
  content: "\f014";
}

.fa-home:before {
  content: "\f015";
}

.fa-file-o:before {
  content: "\f016";
}

.fa-clock-o:before {
  content: "\f017";
}

.fa-road:before {
  content: "\f018";
}

.fa-download:before {
  content: "\f019";
}

.fa-arrow-circle-o-down:before {
  content: "\f01a";
}

.fa-arrow-circle-o-up:before {
  content: "\f01b";
}

.fa-inbox:before {
  content: "\f01c";
}

.fa-play-circle-o:before {
  content: "\f01d";
}

.fa-rotate-right:before,
.fa-repeat:before {
  content: "\f01e";
}

.fa-refresh:before {
  content: "\f021";
}

.fa-list-alt:before {
  content: "\f022";
}

.fa-lock:before {
  content: "\f023";
}

.fa-flag:before {
  content: "\f024";
}

.fa-headphones:before {
  content: "\f025";
}

.fa-volume-off:before {
  content: "\f026";
}

.fa-volume-down:before {
  content: "\f027";
}

.fa-volume-up:before {
  content: "\f028";
}

.fa-qrcode:before {
  content: "\f029";
}

.fa-barcode:before {
  content: "\f02a";
}

.fa-tag:before {
  content: "\f02b";
}

.fa-tags:before {
  content: "\f02c";
}

.fa-book:before {
  content: "\f02d";
}

.fa-bookmark:before {
  content: "\f02e";
}

.fa-print:before {
  content: "\f02f";
}

.fa-camera:before {
  content: "\f030";
}

.fa-font:before {
  content: "\f031";
}

.fa-bold:before {
  content: "\f032";
}

.fa-italic:before {
  content: "\f033";
}

.fa-text-height:before {
  content: "\f034";
}

.fa-text-width:before {
  content: "\f035";
}

.fa-align-left:before {
  content: "\f036";
}

.fa-align-center:before {
  content: "\f037";
}

.fa-align-right:before {
  content: "\f038";
}

.fa-align-justify:before {
  content: "\f039";
}

.fa-list:before {
  content: "\f03a";
}

.fa-dedent:before,
.fa-outdent:before {
  content: "\f03b";
}

.fa-indent:before {
  content: "\f03c";
}

.fa-video-camera:before {
  content: "\f03d";
}

.fa-photo:before,
.fa-image:before,
.fa-picture-o:before {
  content: "\f03e";
}

.fa-pencil:before {
  content: "\f040";
}

.fa-map-marker:before {
  content: "\f041";
}

.fa-adjust:before {
  content: "\f042";
}

.fa-tint:before {
  content: "\f043";
}

.fa-edit:before,
.fa-pencil-square-o:before {
  content: "\f044";
}

.fa-share-square-o:before {
  content: "\f045";
}

.fa-check-square-o:before {
  content: "\f046";
}

.fa-arrows:before {
  content: "\f047";
}

.fa-step-backward:before {
  content: "\f048";
}

.fa-fast-backward:before {
  content: "\f049";
}

.fa-backward:before {
  content: "\f04a";
}

.fa-play:before {
  content: "\f04b";
}

.fa-pause:before {
  content: "\f04c";
}

.fa-stop:before {
  content: "\f04d";
}

.fa-forward:before {
  content: "\f04e";
}

.fa-fast-forward:before {
  content: "\f050";
}

.fa-step-forward:before {
  content: "\f051";
}

.fa-eject:before {
  content: "\f052";
}

.fa-chevron-left:before {
  content: "\f053";
}

.fa-chevron-right:before {
  content: "\f054";
}

.fa-plus-circle:before {
  content: "\f055";
}

.fa-minus-circle:before {
  content: "\f056";
}

.fa-times-circle:before {
  content: "\f057";
}

.fa-check-circle:before {
  content: "\f058";
}

.fa-question-circle:before {
  content: "\f059";
}

.fa-info-circle:before {
  content: "\f05a";
}

.fa-crosshairs:before {
  content: "\f05b";
}

.fa-times-circle-o:before {
  content: "\f05c";
}

.fa-check-circle-o:before {
  content: "\f05d";
}

.fa-ban:before {
  content: "\f05e";
}

.fa-arrow-left:before {
  content: "\f060";
}

.fa-arrow-right:before {
  content: "\f061";
}

.fa-arrow-up:before {
  content: "\f062";
}

.fa-arrow-down:before {
  content: "\f063";
}

.fa-mail-forward:before,
.fa-share:before {
  content: "\f064";
}

.fa-expand:before {
  content: "\f065";
}

.fa-compress:before {
  content: "\f066";
}

.fa-plus:before {
  content: "\f067";
}

.fa-minus:before {
  content: "\f068";
}

.fa-asterisk:before {
  content: "\f069";
}

.fa-exclamation-circle:before {
  content: "\f06a";
}

.fa-gift:before {
  content: "\f06b";
}

.fa-leaf:before {
  content: "\f06c";
}

.fa-fire:before {
  content: "\f06d";
}

.fa-eye:before {
  content: "\f06e";
}

.fa-eye-slash:before {
  content: "\f070";
}

.fa-warning:before,
.fa-exclamation-triangle:before {
  content: "\f071";
}

.fa-plane:before {
  content: "\f072";
}

.fa-calendar:before {
  content: "\f073";
}

.fa-random:before {
  content: "\f074";
}

.fa-comment:before {
  content: "\f075";
}

.fa-magnet:before {
  content: "\f076";
}

.fa-chevron-up:before {
  content: "\f077";
}

.fa-chevron-down:before {
  content: "\f078";
}

.fa-retweet:before {
  content: "\f079";
}

.fa-shopping-cart:before {
  content: "\f07a";
}

.fa-folder:before {
  content: "\f07b";
}

.fa-folder-open:before {
  content: "\f07c";
}

.fa-arrows-v:before {
  content: "\f07d";
}

.fa-arrows-h:before {
  content: "\f07e";
}

.fa-bar-chart-o:before,
.fa-bar-chart:before {
  content: "\f080";
}

.fa-twitter-square:before {
  content: "\f081";
}

.fa-facebook-square:before {
  content: "\f082";
}

.fa-camera-retro:before {
  content: "\f083";
}

.fa-key:before {
  content: "\f084";
}

.fa-gears:before,
.fa-cogs:before {
  content: "\f085";
}

.fa-comments:before {
  content: "\f086";
}

.fa-thumbs-o-up:before {
  content: "\f087";
}

.fa-thumbs-o-down:before {
  content: "\f088";
}

.fa-star-half:before {
  content: "\f089";
}

.fa-heart-o:before {
  content: "\f08a";
}

.fa-sign-out:before {
  content: "\f08b";
}

.fa-linkedin-square:before {
  content: "\f08c";
}

.fa-thumb-tack:before {
  content: "\f08d";
}

.fa-external-link:before {
  content: "\f08e";
}

.fa-sign-in:before {
  content: "\f090";
}

.fa-trophy:before {
  content: "\f091";
}

.fa-github-square:before {
  content: "\f092";
}

.fa-upload:before {
  content: "\f093";
}

.fa-lemon-o:before {
  content: "\f094";
}

.fa-phone:before {
  content: "\f095";
}

.fa-square-o:before {
  content: "\f096";
}

.fa-bookmark-o:before {
  content: "\f097";
}

.fa-phone-square:before {
  content: "\f098";
}

.fa-twitter:before {
  content: "\f099";
}

.fa-facebook-f:before,
.fa-facebook:before {
  content: "\f09a";
}

.fa-github:before {
  content: "\f09b";
}

.fa-unlock:before {
  content: "\f09c";
}

.fa-credit-card:before {
  content: "\f09d";
}

.fa-rss:before {
  content: "\f09e";
}

.fa-hdd-o:before {
  content: "\f0a0";
}

.fa-bullhorn:before {
  content: "\f0a1";
}

.fa-bell:before {
  content: "\f0f3";
}

.fa-certificate:before {
  content: "\f0a3";
}

.fa-hand-o-right:before {
  content: "\f0a4";
}

.fa-hand-o-left:before {
  content: "\f0a5";
}

.fa-hand-o-up:before {
  content: "\f0a6";
}

.fa-hand-o-down:before {
  content: "\f0a7";
}

.fa-arrow-circle-left:before {
  content: "\f0a8";
}

.fa-arrow-circle-right:before {
  content: "\f0a9";
}

.fa-arrow-circle-up:before {
  content: "\f0aa";
}

.fa-arrow-circle-down:before {
  content: "\f0ab";
}

.fa-globe:before {
  content: "\f0ac";
}

.fa-wrench:before {
  content: "\f0ad";
}

.fa-tasks:before {
  content: "\f0ae";
}

.fa-filter:before {
  content: "\f0b0";
}

.fa-briefcase:before {
  content: "\f0b1";
}

.fa-arrows-alt:before {
  content: "\f0b2";
}

.fa-group:before,
.fa-users:before {
  content: "\f0c0";
}

.fa-chain:before,
.fa-link:before {
  content: "\f0c1";
}

.fa-cloud:before {
  content: "\f0c2";
}

.fa-flask:before {
  content: "\f0c3";
}

.fa-cut:before,
.fa-scissors:before {
  content: "\f0c4";
}

.fa-copy:before,
.fa-files-o:before {
  content: "\f0c5";
}

.fa-paperclip:before {
  content: "\f0c6";
}

.fa-save:before,
.fa-floppy-o:before {
  content: "\f0c7";
}

.fa-square:before {
  content: "\f0c8";
}

.fa-navicon:before,
.fa-reorder:before,
.fa-bars:before {
  content: "\f0c9";
}

.fa-list-ul:before {
  content: "\f0ca";
}

.fa-list-ol:before {
  content: "\f0cb";
}

.fa-strikethrough:before {
  content: "\f0cc";
}

.fa-underline:before {
  content: "\f0cd";
}

.fa-table:before {
  content: "\f0ce";
}

.fa-magic:before {
  content: "\f0d0";
}

.fa-truck:before {
  content: "\f0d1";
}

.fa-pinterest:before {
  content: "\f0d2";
}

.fa-pinterest-square:before {
  content: "\f0d3";
}

.fa-google-plus-square:before {
  content: "\f0d4";
}

.fa-google-plus:before {
  content: "\f0d5";
}

.fa-money:before {
  content: "\f0d6";
}

.fa-caret-down:before {
  content: "\f0d7";
}

.fa-caret-up:before {
  content: "\f0d8";
}

.fa-caret-left:before {
  content: "\f0d9";
}

.fa-caret-right:before {
  content: "\f0da";
}

.fa-columns:before {
  content: "\f0db";
}

.fa-unsorted:before,
.fa-sort:before {
  content: "\f0dc";
}

.fa-sort-down:before,
.fa-sort-desc:before {
  content: "\f0dd";
}

.fa-sort-up:before,
.fa-sort-asc:before {
  content: "\f0de";
}

.fa-envelope:before {
  content: "\f0e0";
}

.fa-linkedin:before {
  content: "\f0e1";
}

.fa-rotate-left:before,
.fa-undo:before {
  content: "\f0e2";
}

.fa-legal:before,
.fa-gavel:before {
  content: "\f0e3";
}

.fa-dashboard:before,
.fa-tachometer:before {
  content: "\f0e4";
}

.fa-comment-o:before {
  content: "\f0e5";
}

.fa-comments-o:before {
  content: "\f0e6";
}

.fa-flash:before,
.fa-bolt:before {
  content: "\f0e7";
}

.fa-sitemap:before {
  content: "\f0e8";
}

.fa-umbrella:before {
  content: "\f0e9";
}

.fa-paste:before,
.fa-clipboard:before {
  content: "\f0ea";
}

.fa-lightbulb-o:before {
  content: "\f0eb";
}

.fa-exchange:before {
  content: "\f0ec";
}

.fa-cloud-download:before {
  content: "\f0ed";
}

.fa-cloud-upload:before {
  content: "\f0ee";
}

.fa-user-md:before {
  content: "\f0f0";
}

.fa-stethoscope:before {
  content: "\f0f1";
}

.fa-suitcase:before {
  content: "\f0f2";
}

.fa-bell-o:before {
  content: "\f0a2";
}

.fa-coffee:before {
  content: "\f0f4";
}

.fa-cutlery:before {
  content: "\f0f5";
}

.fa-file-text-o:before {
  content: "\f0f6";
}

.fa-building-o:before {
  content: "\f0f7";
}

.fa-hospital-o:before {
  content: "\f0f8";
}

.fa-ambulance:before {
  content: "\f0f9";
}

.fa-medkit:before {
  content: "\f0fa";
}

.fa-fighter-jet:before {
  content: "\f0fb";
}

.fa-beer:before {
  content: "\f0fc";
}

.fa-h-square:before {
  content: "\f0fd";
}

.fa-plus-square:before {
  content: "\f0fe";
}

.fa-angle-double-left:before {
  content: "\f100";
}

.fa-angle-double-right:before {
  content: "\f101";
}

.fa-angle-double-up:before {
  content: "\f102";
}

.fa-angle-double-down:before {
  content: "\f103";
}

.fa-angle-left:before {
  content: "\f104";
}

.fa-angle-right:before {
  content: "\f105";
}

.fa-angle-up:before {
  content: "\f106";
}

.fa-angle-down:before {
  content: "\f107";
}

.fa-desktop:before {
  content: "\f108";
}

.fa-laptop:before {
  content: "\f109";
}

.fa-tablet:before {
  content: "\f10a";
}

.fa-mobile-phone:before,
.fa-mobile:before {
  content: "\f10b";
}

.fa-circle-o:before {
  content: "\f10c";
}

.fa-quote-left:before {
  content: "\f10d";
}

.fa-quote-right:before {
  content: "\f10e";
}

.fa-spinner:before {
  content: "\f110";
}

.fa-circle:before {
  content: "\f111";
}

.fa-mail-reply:before,
.fa-reply:before {
  content: "\f112";
}

.fa-github-alt:before {
  content: "\f113";
}

.fa-folder-o:before {
  content: "\f114";
}

.fa-folder-open-o:before {
  content: "\f115";
}

.fa-smile-o:before {
  content: "\f118";
}

.fa-frown-o:before {
  content: "\f119";
}

.fa-meh-o:before {
  content: "\f11a";
}

.fa-gamepad:before {
  content: "\f11b";
}

.fa-keyboard-o:before {
  content: "\f11c";
}

.fa-flag-o:before {
  content: "\f11d";
}

.fa-flag-checkered:before {
  content: "\f11e";
}

.fa-terminal:before {
  content: "\f120";
}

.fa-code:before {
  content: "\f121";
}

.fa-mail-reply-all:before,
.fa-reply-all:before {
  content: "\f122";
}

.fa-star-half-empty:before,
.fa-star-half-full:before,
.fa-star-half-o:before {
  content: "\f123";
}

.fa-location-arrow:before {
  content: "\f124";
}

.fa-crop:before {
  content: "\f125";
}

.fa-code-fork:before {
  content: "\f126";
}

.fa-unlink:before,
.fa-chain-broken:before {
  content: "\f127";
}

.fa-question:before {
  content: "\f128";
}

.fa-info:before {
  content: "\f129";
}

.fa-exclamation:before {
  content: "\f12a";
}

.fa-superscript:before {
  content: "\f12b";
}

.fa-subscript:before {
  content: "\f12c";
}

.fa-eraser:before {
  content: "\f12d";
}

.fa-puzzle-piece:before {
  content: "\f12e";
}

.fa-microphone:before {
  content: "\f130";
}

.fa-microphone-slash:before {
  content: "\f131";
}

.fa-shield:before {
  content: "\f132";
}

.fa-calendar-o:before {
  content: "\f133";
}

.fa-fire-extinguisher:before {
  content: "\f134";
}

.fa-rocket:before {
  content: "\f135";
}

.fa-maxcdn:before {
  content: "\f136";
}

.fa-chevron-circle-left:before {
  content: "\f137";
}

.fa-chevron-circle-right:before {
  content: "\f138";
}

.fa-chevron-circle-up:before {
  content: "\f139";
}

.fa-chevron-circle-down:before {
  content: "\f13a";
}

.fa-html5:before {
  content: "\f13b";
}

.fa-css3:before {
  content: "\f13c";
}

.fa-anchor:before {
  content: "\f13d";
}

.fa-unlock-alt:before {
  content: "\f13e";
}

.fa-bullseye:before {
  content: "\f140";
}

.fa-ellipsis-h:before {
  content: "\f141";
}

.fa-ellipsis-v:before {
  content: "\f142";
}

.fa-rss-square:before {
  content: "\f143";
}

.fa-play-circle:before {
  content: "\f144";
}

.fa-ticket:before {
  content: "\f145";
}

.fa-minus-square:before {
  content: "\f146";
}

.fa-minus-square-o:before {
  content: "\f147";
}

.fa-level-up:before {
  content: "\f148";
}

.fa-level-down:before {
  content: "\f149";
}

.fa-check-square:before {
  content: "\f14a";
}

.fa-pencil-square:before {
  content: "\f14b";
}

.fa-external-link-square:before {
  content: "\f14c";
}

.fa-share-square:before {
  content: "\f14d";
}

.fa-compass:before {
  content: "\f14e";
}

.fa-toggle-down:before,
.fa-caret-square-o-down:before {
  content: "\f150";
}

.fa-toggle-up:before,
.fa-caret-square-o-up:before {
  content: "\f151";
}

.fa-toggle-right:before,
.fa-caret-square-o-right:before {
  content: "\f152";
}

.fa-euro:before,
.fa-eur:before {
  content: "\f153";
}

.fa-gbp:before {
  content: "\f154";
}

.fa-dollar:before,
.fa-usd:before {
  content: "\f155";
}

.fa-rupee:before,
.fa-inr:before {
  content: "\f156";
}

.fa-cny:before,
.fa-rmb:before,
.fa-yen:before,
.fa-jpy:before {
  content: "\f157";
}

.fa-ruble:before,
.fa-rouble:before,
.fa-rub:before {
  content: "\f158";
}

.fa-won:before,
.fa-krw:before {
  content: "\f159";
}

.fa-bitcoin:before,
.fa-btc:before {
  content: "\f15a";
}

.fa-file:before {
  content: "\f15b";
}

.fa-file-text:before {
  content: "\f15c";
}

.fa-sort-alpha-asc:before {
  content: "\f15d";
}

.fa-sort-alpha-desc:before {
  content: "\f15e";
}

.fa-sort-amount-asc:before {
  content: "\f160";
}

.fa-sort-amount-desc:before {
  content: "\f161";
}

.fa-sort-numeric-asc:before {
  content: "\f162";
}

.fa-sort-numeric-desc:before {
  content: "\f163";
}

.fa-thumbs-up:before {
  content: "\f164";
}

.fa-thumbs-down:before {
  content: "\f165";
}

.fa-youtube-square:before {
  content: "\f166";
}

.fa-youtube:before {
  content: "\f167";
}

.fa-xing:before {
  content: "\f168";
}

.fa-xing-square:before {
  content: "\f169";
}

.fa-youtube-play:before {
  content: "\f16a";
}

.fa-dropbox:before {
  content: "\f16b";
}

.fa-stack-overflow:before {
  content: "\f16c";
}

.fa-instagram:before {
  content: "\f16d";
}

.fa-flickr:before {
  content: "\f16e";
}

.fa-adn:before {
  content: "\f170";
}

.fa-bitbucket:before {
  content: "\f171";
}

.fa-bitbucket-square:before {
  content: "\f172";
}

.fa-tumblr:before {
  content: "\f173";
}

.fa-tumblr-square:before {
  content: "\f174";
}

.fa-long-arrow-down:before {
  content: "\f175";
}

.fa-long-arrow-up:before {
  content: "\f176";
}

.fa-long-arrow-left:before {
  content: "\f177";
}

.fa-long-arrow-right:before {
  content: "\f178";
}

.fa-apple:before {
  content: "\f179";
}

.fa-windows:before {
  content: "\f17a";
}

.fa-android:before {
  content: "\f17b";
}

.fa-linux:before {
  content: "\f17c";
}

.fa-dribbble:before {
  content: "\f17d";
}

.fa-skype:before {
  content: "\f17e";
}

.fa-foursquare:before {
  content: "\f180";
}

.fa-trello:before {
  content: "\f181";
}

.fa-female:before {
  content: "\f182";
}

.fa-male:before {
  content: "\f183";
}

.fa-gittip:before,
.fa-gratipay:before {
  content: "\f184";
}

.fa-sun-o:before {
  content: "\f185";
}

.fa-moon-o:before {
  content: "\f186";
}

.fa-archive:before {
  content: "\f187";
}

.fa-bug:before {
  content: "\f188";
}

.fa-vk:before {
  content: "\f189";
}

.fa-weibo:before {
  content: "\f18a";
}

.fa-renren:before {
  content: "\f18b";
}

.fa-pagelines:before {
  content: "\f18c";
}

.fa-stack-exchange:before {
  content: "\f18d";
}

.fa-arrow-circle-o-right:before {
  content: "\f18e";
}

.fa-arrow-circle-o-left:before {
  content: "\f190";
}

.fa-toggle-left:before,
.fa-caret-square-o-left:before {
  content: "\f191";
}

.fa-dot-circle-o:before {
  content: "\f192";
}

.fa-wheelchair:before {
  content: "\f193";
}

.fa-vimeo-square:before {
  content: "\f194";
}

.fa-turkish-lira:before,
.fa-try:before {
  content: "\f195";
}

.fa-plus-square-o:before {
  content: "\f196";
}

.fa-space-shuttle:before {
  content: "\f197";
}

.fa-slack:before {
  content: "\f198";
}

.fa-envelope-square:before {
  content: "\f199";
}

.fa-wordpress:before {
  content: "\f19a";
}

.fa-openid:before {
  content: "\f19b";
}

.fa-institution:before,
.fa-bank:before,
.fa-university:before {
  content: "\f19c";
}

.fa-mortar-board:before,
.fa-graduation-cap:before {
  content: "\f19d";
}

.fa-yahoo:before {
  content: "\f19e";
}

.fa-google:before {
  content: "\f1a0";
}

.fa-reddit:before {
  content: "\f1a1";
}

.fa-reddit-square:before {
  content: "\f1a2";
}

.fa-stumbleupon-circle:before {
  content: "\f1a3";
}

.fa-stumbleupon:before {
  content: "\f1a4";
}

.fa-delicious:before {
  content: "\f1a5";
}

.fa-digg:before {
  content: "\f1a6";
}

.fa-pied-piper:before {
  content: "\f1a7";
}

.fa-pied-piper-alt:before {
  content: "\f1a8";
}

.fa-drupal:before {
  content: "\f1a9";
}

.fa-joomla:before {
  content: "\f1aa";
}

.fa-language:before {
  content: "\f1ab";
}

.fa-fax:before {
  content: "\f1ac";
}

.fa-building:before {
  content: "\f1ad";
}

.fa-child:before {
  content: "\f1ae";
}

.fa-paw:before {
  content: "\f1b0";
}

.fa-spoon:before {
  content: "\f1b1";
}

.fa-cube:before {
  content: "\f1b2";
}

.fa-cubes:before {
  content: "\f1b3";
}

.fa-behance:before {
  content: "\f1b4";
}

.fa-behance-square:before {
  content: "\f1b5";
}

.fa-steam:before {
  content: "\f1b6";
}

.fa-steam-square:before {
  content: "\f1b7";
}

.fa-recycle:before {
  content: "\f1b8";
}

.fa-automobile:before,
.fa-car:before {
  content: "\f1b9";
}

.fa-cab:before,
.fa-taxi:before {
  content: "\f1ba";
}

.fa-tree:before {
  content: "\f1bb";
}

.fa-spotify:before {
  content: "\f1bc";
}

.fa-deviantart:before {
  content: "\f1bd";
}

.fa-soundcloud:before {
  content: "\f1be";
}

.fa-database:before {
  content: "\f1c0";
}

.fa-file-pdf-o:before {
  content: "\f1c1";
}

.fa-file-word-o:before {
  content: "\f1c2";
}

.fa-file-excel-o:before {
  content: "\f1c3";
}

.fa-file-powerpoint-o:before {
  content: "\f1c4";
}

.fa-file-photo-o:before,
.fa-file-picture-o:before,
.fa-file-image-o:before {
  content: "\f1c5";
}

.fa-file-zip-o:before,
.fa-file-archive-o:before {
  content: "\f1c6";
}

.fa-file-sound-o:before,
.fa-file-audio-o:before {
  content: "\f1c7";
}

.fa-file-movie-o:before,
.fa-file-video-o:before {
  content: "\f1c8";
}

.fa-file-code-o:before {
  content: "\f1c9";
}

.fa-vine:before {
  content: "\f1ca";
}

.fa-codepen:before {
  content: "\f1cb";
}

.fa-jsfiddle:before {
  content: "\f1cc";
}

.fa-life-bouy:before,
.fa-life-buoy:before,
.fa-life-saver:before,
.fa-support:before,
.fa-life-ring:before {
  content: "\f1cd";
}

.fa-circle-o-notch:before {
  content: "\f1ce";
}

.fa-ra:before,
.fa-rebel:before {
  content: "\f1d0";
}

.fa-ge:before,
.fa-empire:before {
  content: "\f1d1";
}

.fa-git-square:before {
  content: "\f1d2";
}

.fa-git:before {
  content: "\f1d3";
}

.fa-hacker-news:before {
  content: "\f1d4";
}

.fa-tencent-weibo:before {
  content: "\f1d5";
}

.fa-qq:before {
  content: "\f1d6";
}

.fa-wechat:before,
.fa-weixin:before {
  content: "\f1d7";
}

.fa-send:before,
.fa-paper-plane:before {
  content: "\f1d8";
}

.fa-send-o:before,
.fa-paper-plane-o:before {
  content: "\f1d9";
}

.fa-history:before {
  content: "\f1da";
}

.fa-genderless:before,
.fa-circle-thin:before {
  content: "\f1db";
}

.fa-header:before {
  content: "\f1dc";
}

.fa-paragraph:before {
  content: "\f1dd";
}

.fa-sliders:before {
  content: "\f1de";
}

.fa-share-alt:before {
  content: "\f1e0";
}

.fa-share-alt-square:before {
  content: "\f1e1";
}

.fa-bomb:before {
  content: "\f1e2";
}

.fa-soccer-ball-o:before,
.fa-futbol-o:before {
  content: "\f1e3";
}

.fa-tty:before {
  content: "\f1e4";
}

.fa-binoculars:before {
  content: "\f1e5";
}

.fa-plug:before {
  content: "\f1e6";
}

.fa-slideshare:before {
  content: "\f1e7";
}

.fa-twitch:before {
  content: "\f1e8";
}

.fa-yelp:before {
  content: "\f1e9";
}

.fa-newspaper-o:before {
  content: "\f1ea";
}

.fa-wifi:before {
  content: "\f1eb";
}

.fa-calculator:before {
  content: "\f1ec";
}

.fa-paypal:before {
  content: "\f1ed";
}

.fa-google-wallet:before {
  content: "\f1ee";
}

.fa-cc-visa:before {
  content: "\f1f0";
}

.fa-cc-mastercard:before {
  content: "\f1f1";
}

.fa-cc-discover:before {
  content: "\f1f2";
}

.fa-cc-amex:before {
  content: "\f1f3";
}

.fa-cc-paypal:before {
  content: "\f1f4";
}

.fa-cc-stripe:before {
  content: "\f1f5";
}

.fa-bell-slash:before {
  content: "\f1f6";
}

.fa-bell-slash-o:before {
  content: "\f1f7";
}

.fa-trash:before {
  content: "\f1f8";
}

.fa-copyright:before {
  content: "\f1f9";
}

.fa-at:before {
  content: "\f1fa";
}

.fa-eyedropper:before {
  content: "\f1fb";
}

.fa-paint-brush:before {
  content: "\f1fc";
}

.fa-birthday-cake:before {
  content: "\f1fd";
}

.fa-area-chart:before {
  content: "\f1fe";
}

.fa-pie-chart:before {
  content: "\f200";
}

.fa-line-chart:before {
  content: "\f201";
}

.fa-lastfm:before {
  content: "\f202";
}

.fa-lastfm-square:before {
  content: "\f203";
}

.fa-toggle-off:before {
  content: "\f204";
}

.fa-toggle-on:before {
  content: "\f205";
}

.fa-bicycle:before {
  content: "\f206";
}

.fa-bus:before {
  content: "\f207";
}

.fa-ioxhost:before {
  content: "\f208";
}

.fa-angellist:before {
  content: "\f209";
}

.fa-cc:before {
  content: "\f20a";
}

.fa-shekel:before,
.fa-sheqel:before,
.fa-ils:before {
  content: "\f20b";
}

.fa-meanpath:before {
  content: "\f20c";
}

.fa-buysellads:before {
  content: "\f20d";
}

.fa-connectdevelop:before {
  content: "\f20e";
}

.fa-dashcube:before {
  content: "\f210";
}

.fa-forumbee:before {
  content: "\f211";
}

.fa-leanpub:before {
  content: "\f212";
}

.fa-sellsy:before {
  content: "\f213";
}

.fa-shirtsinbulk:before {
  content: "\f214";
}

.fa-simplybuilt:before {
  content: "\f215";
}

.fa-skyatlas:before {
  content: "\f216";
}

.fa-cart-plus:before {
  content: "\f217";
}

.fa-cart-arrow-down:before {
  content: "\f218";
}

.fa-diamond:before {
  content: "\f219";
}

.fa-ship:before {
  content: "\f21a";
}

.fa-user-secret:before {
  content: "\f21b";
}

.fa-motorcycle:before {
  content: "\f21c";
}

.fa-street-view:before {
  content: "\f21d";
}

.fa-heartbeat:before {
  content: "\f21e";
}

.fa-venus:before {
  content: "\f221";
}

.fa-mars:before {
  content: "\f222";
}

.fa-mercury:before {
  content: "\f223";
}

.fa-transgender:before {
  content: "\f224";
}

.fa-transgender-alt:before {
  content: "\f225";
}

.fa-venus-double:before {
  content: "\f226";
}

.fa-mars-double:before {
  content: "\f227";
}

.fa-venus-mars:before {
  content: "\f228";
}

.fa-mars-stroke:before {
  content: "\f229";
}

.fa-mars-stroke-v:before {
  content: "\f22a";
}

.fa-mars-stroke-h:before {
  content: "\f22b";
}

.fa-neuter:before {
  content: "\f22c";
}

.fa-facebook-official:before {
  content: "\f230";
}

.fa-pinterest-p:before {
  content: "\f231";
}

.fa-whatsapp:before {
  content: "\f232";
}

.fa-server:before {
  content: "\f233";
}

.fa-user-plus:before {
  content: "\f234";
}

.fa-user-times:before {
  content: "\f235";
}

.fa-hotel:before,
.fa-bed:before {
  content: "\f236";
}

.fa-viacoin:before {
  content: "\f237";
}

.fa-train:before {
  content: "\f238";
}

.fa-subway:before {
  content: "\f239";
}

.fa-medium:before {
  content: "\f23a";
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvcmUvX2dvdnVrLWZyb250ZW5kLXByb3BlcnRpZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvcmUvX2xpbmtzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9oZWxwZXJzL190eXBvZ3JhcGh5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9zZXR0aW5ncy9fdHlwb2dyYXBoeS1mb250LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9oZWxwZXJzL19mb250LWZhY2VzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay92ZW5kb3IvX3Nhc3MtbXEuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2hlbHBlcnMvX2xpbmtzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9zZXR0aW5ncy9fbGlua3Muc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2hlbHBlcnMvX2ZvY3VzZWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL3NldHRpbmdzL19jb2xvdXJzLWFwcGxpZWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvcmUvX2xpc3RzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9oZWxwZXJzL19zcGFjaW5nLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9jb3JlL190eXBvZ3JhcGh5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9jb3JlL19zZWN0aW9uLWJyZWFrLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9vYmplY3RzL19idXR0b24tZ3JvdXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2hlbHBlcnMvX2NsZWFyZml4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9vYmplY3RzL19mb3JtLWdyb3VwLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9vYmplY3RzL19ncmlkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9oZWxwZXJzL19ncmlkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9vYmplY3RzL19tYWluLXdyYXBwZXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL29iamVjdHMvX3RlbXBsYXRlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9vYmplY3RzL193aWR0aC1jb250YWluZXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL3NldHRpbmdzL19tZWFzdXJlbWVudHMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvbXBvbmVudHMvYWNjb3JkaW9uL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvY29tcG9uZW50cy9iYWNrLWxpbmsvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9jb21wb25lbnRzL2JyZWFkY3J1bWJzL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvY29tcG9uZW50cy9idXR0b24vX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9jb21wb25lbnRzL2Vycm9yLW1lc3NhZ2UvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9jb21wb25lbnRzL2hpbnQvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9jb21wb25lbnRzL2xhYmVsL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvY29tcG9uZW50cy90ZXh0YXJlYS9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvbXBvbmVudHMvY2hhcmFjdGVyLWNvdW50L19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvY29tcG9uZW50cy9maWVsZHNldC9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvbXBvbmVudHMvY2hlY2tib3hlcy9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvbXBvbmVudHMvY29va2llLWJhbm5lci9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvbXBvbmVudHMvaW5wdXQvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9jb21wb25lbnRzL2RhdGUtaW5wdXQvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9jb21wb25lbnRzL2RldGFpbHMvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9oZWxwZXJzL19zaGFwZS1hcnJvdy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvY29tcG9uZW50cy9lcnJvci1zdW1tYXJ5L19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvY29tcG9uZW50cy9leGl0LXRoaXMtcGFnZS9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvbXBvbmVudHMvZmlsZS11cGxvYWQvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9jb21wb25lbnRzL2Zvb3Rlci9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvbXBvbmVudHMvaGVhZGVyL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvY29tcG9uZW50cy9pbnNldC10ZXh0L19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvY29tcG9uZW50cy9ub3RpZmljYXRpb24tYmFubmVyL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvY29tcG9uZW50cy9wYWdpbmF0aW9uL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvY29tcG9uZW50cy9wYW5lbC9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvbXBvbmVudHMvcGFzc3dvcmQtaW5wdXQvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9jb21wb25lbnRzL3RhZy9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvbXBvbmVudHMvcGhhc2UtYmFubmVyL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvY29tcG9uZW50cy9yYWRpb3MvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9jb21wb25lbnRzL3NlbGVjdC9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvbXBvbmVudHMvc2VydmljZS1uYXZpZ2F0aW9uL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvaGVscGVycy9fdmlzdWFsbHktaGlkZGVuLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9jb21wb25lbnRzL3NraXAtbGluay9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvbXBvbmVudHMvc3VtbWFyeS1saXN0L19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvY29tcG9uZW50cy90YWJsZS9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvbXBvbmVudHMvdGFicy9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvbXBvbmVudHMvdGFzay1saXN0L19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvY29tcG9uZW50cy93YXJuaW5nLXRleHQvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay91dGlsaXRpZXMvX3Zpc3VhbGx5LWhpZGRlbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvb3ZlcnJpZGVzL19kaXNwbGF5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9vdmVycmlkZXMvX3NwYWNpbmcuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL292ZXJyaWRlcy9fdGV4dC1hbGlnbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvb3ZlcnJpZGVzL190eXBvZ3JhcGh5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9vdmVycmlkZXMvX3dpZHRoLnNjc3MiLCJwYXR0ZXJucy9fc3RlcC1ieS1zdGVwLWhlYWRlci5zY3NzIiwicGF0dGVybnMvX3N0ZXAtYnktc3RlcC1uYXYuc2NzcyIsInBhdHRlcm5zL19zdGVwLWJ5LXN0ZXAtcmVsYXRlZC5zY3NzIiwicGF0dGVybnMvX3Rhc2stbGlzdC5zY3NzIiwicGF0dGVybnMvX3JlbGF0ZWQtaXRlbXMuc2NzcyIsImRjbGcvX2Nob3Nlbi5zY3NzIiwiZGNsZy9fcGFsZXR0ZS5zY3NzIiwiZGNsZy9fY3VzdG9tX2NoZWNrYm94LnNjc3MiLCJkY2xnL19kYXRlcGlja2VyLnNjc3MiLCJkY2xnL19ncmFudHMuc2NzcyIsImRjbGcvX3BhZ2VyLnNjc3MiLCJkY2xnL19icmVhZGNydW1icy5zY3NzIiwiZGNsZy9faGVhZGVyLnNjc3MiLCJkY2xnL19zbGlkaW5nLXBhbmVsLnNjc3MiLCJkY2xnL19mb3Jtcy5zY3NzIiwiZGNsZy9fc2VhcmNoLnNjc3MiLCJkY2xnL19kYXRhR3JpZC5zY3NzIiwiZGNsZy9fZGF0YUdyaWREZWx0YTIuc2NzcyIsImRjbGcvZGVsdGEtZmlsdGVycy5zY3NzIiwiZGNsZy9fZmFjZXQuc2NzcyIsImRjbGcvX25vdGljZS5zY3NzIiwiZGNsZy9fYmFyX2dyYXBoX2Rlc2NyaXB0aW9uX2JveC5zY3NzIiwiZGNsZy9fdGFicy5zY3NzIiwiZGNsZy9fcHJldmlvdXMtbmV4dC1uYXZpZ2F0aW9uLnNjc3MiLCJkY2xnL19kaWFsb2dfY3VzdG9tLnNjc3MiLCJkY2xnL19iYW5uZXIuc2NzcyIsImRjbGcvX29yYmVvbi1pbnRlZ3JhdGlvbi5zY3NzIiwiZGNsZy9fbm90aWZpY2F0aW9uX2Jhbm5lci5zY3NzIiwiZGNsZy9fd2lkZV9wYWdlLnNjc3MiLCJkY2xnL19sb2FkaW5nX2FuaW1hdGlvbi5zY3NzIiwiZGNsZy9faGVscC1pbWFnZXMuc2NzcyIsImRjbGcvX2hvbWVwYWdlLnNjc3MiLCJkY2xnL19mdWxsc2NyZWVuLnNjc3MiLCJkY2xnL19nb3Z1ay1vdmVycmlkZXMuc2NzcyIsInNjb3RfZ292L19kYXRlLXBpY2tlci5zY3NzIiwiX2ZvbnQtYXdlc29tZS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7RUFHRTtFQUlFO0VBQUE7RUFBQTs7OztBQ05GO0VDY0EsYUNGa0I7RURHbEI7RUFDQTs7QUVESTtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsS0FDRTtFQUVGOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsS0FDRTtFQUVGOztBQ2tNQTtFSm5PTjtJQ3lCRSxhQ0hzQjs7O0FGdEJ4QjtFSzZCQTtFQUdFLDJCQ2hCNkI7RURvQjdCLHVCQ1AwQjs7QURoQjVCO0VBcUNFLDJCQ0xtQztFRFFuQztFQUNRO0VBQ1I7RUFDUTs7QUF2Q1Y7RUVGQTtFQUNBLE9DNER3QjtFRDNEeEIsa0JDaURtQjtFRGhEbkIsWUFDRTtFQUlGO0VBSUE7RUFDUTs7QUZnRFI7RUFDRSxPR3VEZ0I7O0FIcERsQjtFQUNFLE9HMER3Qjs7QUh2RDFCO0VBQ0UsT0c2RHNCOztBSDFEeEI7RUFDRSxPR2dFdUI7O0FIM0R6QjtFQUNFLE9HbkJzQjs7QUp1SmxCO0VDK0hGO0lBQ0U7SUFDQTtJQUtBOzs7O0FBM0tOO0VBRUUsT0d4STBCOztBSDJJNUI7RUFFRSxPR2hMZ0I7O0FIcUxsQjtFQUNFLE9HL0hzQjs7O0FIb0p4QjtFSjVMQSxPT2ZrQjs7QUo4TVo7RUNITjtJSnpMRSxPT1FzQjs7O0FId0x4QjtFQUVJOztBQUlKO0VKek1BLE9PZmtCOztBSjhNWjtFQ1VOO0lKdE1FLE9PUXNCOzs7O0FIcU54QjtFQUVFOztBQUtGO0VBRUU7O0FBR0Y7RUFDRSxPR3JNc0I7OztBSG9ReEI7RUFDRTs7O0FBdkNGO0VBQ0UsT0d2S2dCOztBSDBLbEI7RUFDRSxPRzNLZ0I7O0FIOEtsQjtFQUNFLE9HaktzQjs7QUhvS3hCO0VBQ0UsT0c5SnVCOztBSG1LekI7RUFDRSxPR2pQc0I7OztBUnpDeEI7RUtxVkE7RUFHQTtFQUdBOztBQUVBO0VFdlZBO0VBQ0EsWUFDRTs7OztBRTNDRjtFUmNBLGFDRmtCO0VER2xCO0VBQ0E7O0FHbU5NO0VLbk9OO0lSeUJFLGFDSHNCOzs7QU90QnhCO0VSa0RBO0VBNExJLFdBSmM7RUFLZCxhQUp1Qjs7QUdSckI7RUtuT047SVJ1UE0sV0FiWTtJQWNaLGFBYnFCOzs7QUdSckI7RUtuT047SVJrUE0sV0FUUTtJQVVSLGFBUnFCOzs7QVEzTzNCO0VSb0NBLE9PZmtCOztBSjhNWjtFS25PTjtJUnVDRSxPT1FzQjs7O0FDL0N4QjtFQUdFO0VDc0dJOztBTjBIQTtFS25PTjtJQ2dIUTs7O0FEaEhSO0VBS0U7RUFDQTs7QUFHQTtFQUNFOzs7QUFJSjtFQUlFOzs7QUFPRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7QUFBQTtFQUVFOztBTDhMSTtFS2hNTjtBQUFBO0lBS0k7Ozs7QUFJSjtFQUNFOztBTHNMSTtFS3ZMTjtJQUlJOzs7OztBRTlDSjtFVmtDQSxPT2ZrQjs7QUo4TVo7RU9qT047SVZxQ0UsT09Rc0I7OztBRzdDeEI7RVZZQSxhQ0ZrQjtFREdsQjtFQUNBOztBR21OTTtFT2pPTjtJVnVCRSxhQ0hzQjs7O0FTcEJ4QjtFVjBEQTtFQWtMSSxXQUpjO0VBS2QsYUFKdUI7O0FHUnJCO0VPak9OO0lWcVBNLFdBYlk7SUFjWixhQWJxQjs7O0FHUnJCO0VPak9OO0lWZ1BNLFdBVFE7SUFVUixhQVJxQjs7O0FVek8zQjtFQUlFO0VBRUE7RURpR0k7O0FOMEhBO0VPak9OO0lEOEdROzs7O0FDaEdSO0VWb0JBLE9PZmtCOztBSjhNWjtFT25OTjtJVnVCRSxPT1FzQjs7O0FHL0J4QjtFVkZBLGFDRmtCO0VER2xCO0VBQ0E7O0FHbU5NO0VPbk5OO0lWU0UsYUNIc0I7OztBU054QjtFVjRDQTtFQWtMSSxXQUpjO0VBS2QsYUFKdUI7O0FHUnJCO0VPbk5OO0lWdU9NLFdBYlk7SUFjWixhQWJxQjs7O0FHUnJCO0VPbk5OO0lWa09NLFdBVFE7SUFVUixhQVJxQjs7O0FVM04zQjtFQUlFO0VBRUE7RURtRkk7O0FOMEhBO0VPbk5OO0lEZ0dROzs7O0FDbEZSO0VWTUEsT09ma0I7O0FKOE1aO0VPck1OO0lWU0UsT09Rc0I7OztBR2pCeEI7RVZoQkEsYUNGa0I7RURHbEI7RUFDQTs7QUdtTk07RU9yTU47SVZMRSxhQ0hzQjs7O0FTUXhCO0VWOEJBO0VBa0xJLFdBSmM7RUFLZCxhQUp1Qjs7QUdSckI7RU9yTU47SVZ5Tk0sV0FiWTtJQWNaLGFBYnFCOzs7QUdSckI7RU9yTU47SVZvTk0sV0FUUTtJQVVSLGFBUnFCOzs7QVU3TTNCO0VBSUU7RUFFQTtFRHFFSTs7QU4wSEE7RU9yTU47SURrRlE7Ozs7QUNwRVI7RVZSQSxPT2ZrQjs7QUo4TVo7RU92TE47SVZMRSxPT1FzQjs7O0FHSHhCO0VWOUJBLGFDRmtCO0VER2xCO0VBQ0E7O0FHbU5NO0VPdkxOO0lWbkJFLGFDSHNCOzs7QVNzQnhCO0VWZ0JBO0VBa0xJLFdBSmM7RUFLZCxhQUp1Qjs7QUdSckI7RU92TE47SVYyTU0sV0FiWTtJQWNaLGFBYnFCOzs7QUdSckI7RU92TE47SVZzTU0sV0FUUTtJQVVSLGFBUnFCOzs7QVUvTDNCO0VBSUU7RUFFQTtFRHVESTs7QU4wSEE7RU92TE47SURvRVE7Ozs7QUNwRFI7RVY5Q0EsYUNGa0I7RURHbEI7RUFDQTs7QUdtTk07RU92S047SVZuQ0UsYUNIc0I7OztBU3NDeEI7RVZWQTtFQTRMSSxXQUpjO0VBS2QsYUFKdUI7O0FHUnJCO0VPdktOO0lWMkxNLFdBYlk7SUFjWixhQWJxQjs7O0FHUnJCO0VPdktOO0lWc0xNLFdBVFE7SUFVUixhQVJxQjs7O0FVL0szQjtFQUdFO0VBRUE7RUFFQSxPSFgwQjs7O0FHYzVCO0VWeERBLGFDRmtCO0VER2xCO0VBQ0E7O0FHbU5NO0VPN0pOO0lWN0NFLGFDSHNCOzs7QVNnRHhCO0VWcEJBO0VBNExJLFdBSmM7RUFLZCxhQUp1Qjs7QUdSckI7RU83Sk47SVZpTE0sV0FiWTtJQWNaLGFBYnFCOzs7QUdSckI7RU83Sk47SVY0S00sV0FUUTtJQVVSLGFBUnFCOzs7QVVySzNCO0VBR0U7RUFFQTtFQUNBLE9IcEIwQjs7QUoyS3RCO0VPN0pOO0lBU0k7Ozs7QUFJSjtFVnJFQSxhQ0ZrQjtFREdsQjtFQUNBOztBR21OTTtFT2hKTjtJVjFERSxhQ0hzQjs7O0FTNkR4QjtFVmpDQTtFQTRMSSxXQUpjO0VBS2QsYUFKdUI7O0FHUnJCO0VPaEpOO0lWb0tNLFdBYlk7SUFjWixhQWJxQjs7O0FHUnJCO0VPaEpOO0lWK0pNLFdBVFE7SUFVUixhQVJxQjs7O0FVeEozQjtFQUdFO0VBRUEsT0hoQzBCOzs7QUdxQzVCO0VWekRBLE9PZmtCOztBSjhNWjtFT3RJTjtJVnRERSxPT1FzQjs7O0FHOEN4QjtFVi9FQSxhQ0ZrQjtFREdsQjtFQUNBOztBR21OTTtFT3RJTjtJVnBFRSxhQ0hzQjs7O0FTdUV4QjtFVjNDQTtFQTRMSSxXQUpjO0VBS2QsYUFKdUI7O0FHUnJCO0VPdElOO0lWMEpNLFdBYlk7SUFjWixhQWJxQjs7O0FHUnJCO0VPdElOO0lWcUpNLFdBVFE7SUFVUixhQVJxQjs7O0FVOUkzQjtFQUlFO0VEUUk7O0FOMEhBO0VPdElOO0lEbUJROzs7O0FDUFI7RVZyRUEsT09ma0I7O0FKOE1aO0VPMUhOO0lWbEVFLE9PUXNCOzs7QUcwRHhCO0VWM0ZBLGFDRmtCO0VER2xCO0VBQ0E7O0FHbU5NO0VPMUhOO0lWaEZFLGFDSHNCOzs7QVNtRnhCO0VWdkRBO0VBNExJLFdBSmM7RUFLZCxhQUp1Qjs7QUdSckI7RU8xSE47SVY4SU0sV0FiWTtJQWNaLGFBYnFCOzs7QUdSckI7RU8xSE47SVZ5SU0sV0FUUTtJQVVSLGFBUnFCOzs7QVVsSTNCO0VBSUU7RURKSTs7QU4wSEE7RU8xSE47SURPUTs7OztBQ0tSO0VWakZBLE9PZmtCOztBSjhNWjtFTzlHTjtJVjlFRSxPT1FzQjs7O0FHc0V4QjtFVnZHQSxhQ0ZrQjtFREdsQjtFQUNBOztBR21OTTtFTzlHTjtJVjVGRSxhQ0hzQjs7O0FTK0Z4QjtFVm5FQTtFQTRMSSxXQUpjO0VBS2QsYUFKdUI7O0FHUnJCO0VPOUdOO0lWa0lNLFdBYlk7SUFjWixhQWJxQjs7O0FHUnJCO0VPOUdOO0lWNkhNLFdBVFE7SUFVUixhQVJxQjs7O0FVdEgzQjtFQUlFO0VEaEJJOztBTjBIQTtFTzlHTjtJRExROzs7O0FDa0JSO0VWOUZBLE9PZmtCOztBSjhNWjtFT2pHTjtJVjNGRSxPT1FzQjs7O0FHbUZ4QjtFVnBIQSxhQ0ZrQjtFREdsQjtFQUNBOztBR21OTTtFT2pHTjtJVnpHRSxhQ0hzQjs7O0FTNEd4QjtFVmhGQTtFQTRMSSxXQUpjO0VBS2QsYUFKdUI7O0FHUnJCO0VPakdOO0lWcUhNLFdBYlk7SUFjWixhQWJxQjs7O0FHUnJCO0VPakdOO0lWZ0hNLFdBVFE7SUFVUixhQVJxQjs7O0FVekczQjtFQUlFO0VEN0JJOztBTjBIQTtFT2pHTjtJRGxCUTs7OztBQytDUjtFQUNFOztBUG1FSTtFT3BFTjtJQUlJOzs7O0FBSUo7QUFBQTtBQUFBO0FBQUE7QUFBQTtFRDlETTs7QU4wSEE7RU81RE47QUFBQTtBQUFBO0FBQUE7QUFBQTtJRHZEUTs7OztBQzZEUjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBTUU7O0FQZ0RJO0VPdEROO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7SUFTSTs7Ozs7QUN0TEo7RUFDRTtFQUNBOzs7QUFTRjtFRjhGTTs7QU4wSEE7RVF4Tk47SUZxR1E7OztBRXJHUjtFRjhGTTs7QU4wSEE7RVF4Tk47SUZxR1E7Ozs7QUU1RlI7RUZxRk07O0FOMEhBO0VRL01OO0lGNEZROzs7QUU1RlI7RUZxRk07O0FOMEhBO0VRL01OO0lGNEZROzs7O0FFbkZSO0VGNEVNOztBTjBIQTtFUXRNTjtJRm1GUTs7O0FFbkZSO0VGNEVNOztBTjBIQTtFUXRNTjtJRm1GUTs7OztBRXhFUjtFQUNFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUMvQkY7RUgrRk07O0FOMEhBO0VTek5OO0lIc0dROzs7QUd0R1I7RUFvQkU7RUFDQTtFQUNBOztBQU9BO0VaekJGLGFDRmtCO0VER2xCO0VBQ0E7O0FHbU5NO0VTNUxKO0laZEEsYUNIc0I7OztBV2lCdEI7RVpXRjtFQTRMSSxXQUpjO0VBS2QsYUFKdUI7O0FHUnJCO0VTNUxKO0laZ05JLFdBYlk7SUFjWixhQWJxQjs7O0FHUnJCO0VTNUxKO0laMk1JLFdBVFE7SUFVUixhQVJxQjs7O0FZcE16QjtFQUVFO0VBR0E7RUFDQSxZQTNCYTtFQTRCYjtFQUNBOztBQUtGO0VBQ0U7O0FUOEtFO0VTek5OO0lBa0RJO0lBRUE7SUFDQTtJQUNBOztFQUVBO0FBQUE7SUFFRSxjQXpEYTs7RUE0RGY7SUFDRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDaEVOO0VBQ0U7RUFDQTtFQUNBOztBQ1RGO0VMdUdNOztBTjBIQTtFV2pPTjtJTDhHUTs7O0FLMUdOO0VBQ0U7OztBQUlKO0VBQ0U7RUFDQTs7QUFFQTtFQUVFO0VBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FEVko7RUFDRTtFQUNBO0VBQ0E7O0FFVEY7RUFFRTtFQUNBOzs7QUFJQTtFQ3lDRjtFQUVFO0VBRUY7O0FiNktNO0VZMU5KO0lDK0NBO0lBQ0EsT0FSMkM7Ozs7QUR4QzNDO0VDeUNGO0VBRUU7RUFFRjs7QWI2S007RVkxTko7SUMrQ0E7SUFDQSxPQVIyQzs7OztBRHhDM0M7RUN5Q0Y7RUFFRTtFQUVGOztBYjZLTTtFWTFOSjtJQytDQTtJQUNBLE9BUjJDOzs7O0FEeEMzQztFQ3lDRjtFQUVFO0VBRUY7O0FiNktNO0VZMU5KO0lDK0NBO0lBQ0EsT0FSMkM7Ozs7QUR4QzNDO0VDeUNGO0VBRUU7RUFFRjs7QWI2S007RVkxTko7SUMrQ0E7SUFDQSxPQVIyQzs7OztBRHhDM0M7RUN5Q0Y7RUFFRTtFQUVGOztBYjZLTTtFWTFOSjtJQytDQTtJQUNBLE9BUjJDOzs7O0FEL0IzQztFQ2dDRjtFQUlBOztBYjZLTTtFWWpOSjtJQ3NDQTtJQUNBLE9BUjJDOzs7O0FEL0IzQztFQ2dDRjtFQUlBOztBYjZLTTtFWWpOSjtJQ3NDQTtJQUNBLE9BUjJDOzs7O0FEL0IzQztFQ2dDRjtFQUlBOztBYjZLTTtFWWpOSjtJQ3NDQTtJQUNBLE9BUjJDOzs7O0FEL0IzQztFQ2dDRjtFQUlBOztBYjZLTTtFWWpOSjtJQ3NDQTtJQUNBLE9BUjJDOzs7O0FEL0IzQztFQ2dDRjtFQUlBOztBYjZLTTtFWWpOSjtJQ3NDQTtJQUNBLE9BUjJDOzs7O0FEL0IzQztFQ2dDRjtFQUlBOztBYjZLTTtFWWpOSjtJQ3NDQTtJQUNBLE9BUjJDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUMxQjdDO0VBSUU7RUFDQTtFQUNBOztBZHNNSTtFYzVNTjtJQVlJO0lBQ0E7Ozs7QUFXSjtBQUFBO0VSMERNOztBTjBIQTtFY3BMTjtBQUFBO0lSaUVROzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QVM3R1I7RUFHRSxrQlh5QjZCO0VXckI3QjtFQUNHO0VBQ0s7O0FBY1I7RUF2QkY7SUF3Qkk7O0VBRUE7SUFDRTs7O0FmcU1BO0VlaE9OO0lBa0NJOzs7O0FBS0o7RUFHRTtFQUVBLGtCWFQyQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QVlnQzdCO0VBbERBLFdDUmlCO0VEV2pCLGNDMkJrQjtFRDFCbEIsYUMwQmtCOztBRHZCbEI7RUEyQ0E7SUFyQ0U7SUFDQTs7O0FoQmlNSTtFZ0I3Sk47SUEvQkUsY0NJVztJREhYLGFDR1c7O0VEQVg7SUEyQkY7TUFyQkk7TUFDQTs7OztBaEJpTEU7RWdCN0pOO0lBYkU7SUFDQTs7RUFJQTtJQVFGO01BUEk7TUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUUzREo7RVpvR007O0FOMEhBO0VrQjlOTjtJWjJHUTs7OztBWXZHUjtFQUNFOzs7QUFHRjtFQUVFO0VBQ0E7RUFFQTtFQUNBOzs7QUFHRjtFckJSQSxhQ0ZrQjtFREdsQjtFQUNBOztBR21OTTtFa0I3TU47SXJCR0UsYUNIc0I7OztBb0JBeEI7RXJCc0NBO0VBa0xJLFdBSmM7RUFLZCxhQUp1Qjs7QUdSckI7RWtCN01OO0lyQmlPTSxXQWJZO0lBY1osYUFicUI7OztBR1JyQjtFa0I3TU47SXJCNE5NLFdBVFE7SUFVUixhQVJxQjs7O0FxQnJOM0I7RXJCY0EsT09ma0I7O0FKOE1aO0VrQjdNTjtJckJpQkUsT09Rc0I7OztBY3pCeEI7RUFJRTtFQUNBO0VBQ0E7OztBQUlGO0VBQ0U7OztBQUtBO0VBRUU7O0FBR0Y7RUFDRTs7QUFLRjtFQUNFO0VadURFO0VBQUE7O0FOMEhBO0VrQmxMSjtJWitETTs7O0FZckRKO0VBREY7SUFFSTtJQUNBOzs7QUFISjtFQU9FO0VBQ0E7O0FBSUY7RUFDRTs7QUFHRjtFckI1REYsYUNGa0I7RURHbEI7RUFDQTs7QUdtTk07RWtCekpKO0lyQmpEQSxhQ0hzQjs7O0FvQm9EdEI7RXJCeEJGO0VBNExJLFdBSmM7RUFLZCxhQUp1Qjs7QUdSckI7RWtCekpKO0lyQjZLSSxXQWJZO0lBY1osYUFicUI7OztBR1JyQjtFa0J6Sko7SXJCd0tJLFdBVFE7SUFVUixhQVJxQjs7O0FxQmpLekI7RUFFRTtFQUNBO0VBRUE7RUFDQTtFQUVBO0VBRUEsT2RnRGM7RWMvQ2Q7RUFFQTtFQUNBOztBbEIySUU7RWtCekpKO0lBaUJJOzs7QUFJRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRSxPQXJHd0I7RUFzR3hCLFlBckd5QjtFQXlHekIsWUFDRTs7QUFHRjtFQUNFLE9BL0dzQjs7QUFrSHhCO0VBQ0UsT0FuSHNCO0VBb0h0QixZQXBIc0I7O0FBdUh4QjtFQUNFLE9Bdkh1Qjs7QUEySDNCO0VmN0dKO0VBQ0EsT0M0RHdCO0VEM0R4QixrQkNpRG1CO0VEaERuQixZQUNFO0VBSUY7RUFJQTtFQUNROztBZW1HRjtFQUNFLFlBaElzQjs7QUFtSXhCO0VBQ0UsT2RsRVc7O0FjdUVqQjtFQUNFOztBQUlGO0VBQ0U7RUFDQTtFQUVBO0VBR0E7RUFDQTtFQUVBO0VBQ0E7RUFFQTs7QUFHQTtFQUNFO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFFQTtFQUVBO0VBQ0E7O0FBS0o7RUFDRTs7QUFHRjtFQUNFO0VBRUE7RUFFQTtFQUVBO0VBS0E7RUFFQSxPZC9LYztFY2dMZDtFQUVBO0VBRUE7RUFDQTs7QWxCeUJFO0VrQjdDSjtJQXVCSTs7O0FBR0Y7RUFDRSxPZHhEbUI7RWN5RG5COztBQUdGO0VBQ0UsT0F0TndCO0VBdU54QixZQXROeUI7O0FBd056QjtFQUNFLE9BMU5zQjs7QUE2TnhCO0VBQ0UsT0E5TnNCO0VBK050QixZQS9Oc0I7O0FBa094QjtFQUNFLE9BbE91Qjs7QUFzTzNCO0VBR0U7O0FBRUE7QUFBQTtBQUFBO0VmN05OO0VBQ0EsT0M0RHdCO0VEM0R4QixrQkNpRG1CO0VEaERuQixZQUNFO0VBSUY7RUFJQTtFQUNROztBZXNORjtFQUNFLE9BblBzQjtFQW9QdEIsWUFwUHNCOztBQXVQeEI7RUFDRSxPZHRMVzs7QWMyTGY7RUFDRTtFQUNBOztBQVFKO0VBQ0U7RUFDQTs7QWxCdENFO0VrQm9DSjtJQUtJOzs7QUFNSjtFQUNFOztBbEJoREU7RWtCK0NKO0lBSUk7OztBQUlKO0FBQUE7QUFBQTtFQUdFO0VBQ0E7O0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBR0U7O0FBS0o7RXJCMURFLFdBSmM7RUFLZCxhQUp1Qjs7QUdSckI7RWtCcUVKO0lyQmpESSxXQWJZO0lBY1osYUFicUI7OztBR1JyQjtFa0JxRUo7SXJCdERJLFdBVFE7SUFVUixhQVJxQjs7O0FxQjZEekI7RXJCdFBGO0VxQnlQSSxPZHZLYzs7QWM2S2hCO0FBQUE7RUFFRTtFQUNBOztBQXdCRjtFQUdJO0FBQUE7SUFDRTs7RUFNRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0lBSUU7SUFDQTs7O0FBT047RUFDRTtJQUNFLGtCZDdQYztJYytQZDs7RUFFQTtJQUNFLGtCZGxRWTs7Ozs7QWUxRnBCO0V0QmlPSSxXQUpjO0VBS2QsYUFKdUI7O0FHUnJCO0VtQnROTjtJdEIwT00sV0FiWTtJQWNaLGFBYnFCOzs7QUdSckI7RW1CdE5OO0l0QnFPTSxXQVRRO0lBVVIsYUFScUI7OztBc0I5TjNCO0V0QkNBLGFDRmtCO0VER2xCO0VBQ0E7O0FHbU5NO0VtQnROTjtJdEJZRSxhQ0hzQjs7O0FxQlR4QjtFbEJnQkE7RUFHRSwyQkNoQjZCO0VEb0I3Qix1QkNQMEI7O0FEaEI1QjtFQXFDRSwyQkNMbUM7RURRbkM7RUFDUTtFQUNSO0VBQ1E7O0FBdkNWO0VFRkE7RUFDQSxPQzREd0I7RUQzRHhCLGtCQ2lEbUI7RURoRG5CLFlBQ0U7RUFJRjtFQUlBO0VBQ1E7O0FGb01SO0VKNUxBLE9PZmtCOztBSjhNWjtFQ0hOO0lKekxFLE9PUXNCOzs7QUh3THhCO0VBRUk7O0FBSUo7RUp6TUEsT09ma0I7O0FKOE1aO0VDVU47SUp0TUUsT09Rc0I7OztBZWxDeEI7RUFLRTtFQUNBO0VBRUE7RUFDQTtFQUdBOzs7QUFJRjtFQUNFO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUVBLE9BbkNhO0VBb0NiLFFBcENhO0VBc0NiO0VBRUE7RUFFQTtFQUNBO0VBQ0EsY2ZRMEI7O0FlTjFCO0VBckJGO0lBeUJJO0lBQ0E7Ozs7QUFJSjtFQUNFLGNmZ0JzQjs7O0FlYnhCO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QWxCK0xGO0VBRUU7O0FBS0Y7RUFFRTs7QUFHRjtFQUNFLE9Hck1zQjs7QWVEdEI7RUFDRTs7OztBQ3pESjtFdkJMQSxhQ0ZrQjtFREdsQjtFQUNBOztBR21OTTtFb0JoTk47SXZCTUUsYUNIc0I7OztBc0JIeEI7RXZCK0JBO0VBNExJLFdBSmM7RUFLZCxhQUp1Qjs7QUdSckI7RW9CaE5OO0l2Qm9PTSxXQWJZO0lBY1osYUFicUI7OztBR1JyQjtFb0JoTk47SXZCK05NLFdBVFE7SUFVUixhQVJxQjs7O0F1QnhOM0I7RXZCaUJBLE9PZmtCOztBSjhNWjtFb0JoTk47SXZCb0JFLE9PUXNCOzs7QWdCNUJ4QjtFQUlFO0VBQ0E7OztBVmhCRjtFQUNFO0VBQ0E7RUFDQTs7QVVnQkY7RUFHRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUVBO0VBSUE7RUFDQTtFQUVBOztBQUdBO0VBQ0U7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUlBO0VBRUEsT0F6RFc7RUEwRFgsUUExRFc7RUE0RFg7RUFFQTtFQUVBO0VBQ0E7RUFDQSxjaEJkd0I7O0FnQmdCeEI7RUF2QkY7SUEyQkk7SUFDQTs7O0FBSUo7RUFDRTtFQUNBOztBQUVBO0VBQ0U7RUFDQTs7O0FBS047RXZCOUVBLGFDRmtCO0VER2xCO0VBQ0E7O0FHbU5NO0VvQnZJTjtJdkJuRUUsYUNIc0I7OztBc0JzRXhCO0VuQi9EQTtFQUdFLDJCQ2hCNkI7RURvQjdCLHVCQ1AwQjs7QURoQjVCO0VBcUNFLDJCQ0xtQztFRFFuQztFQUNRO0VBQ1I7RUFDUTs7QUF2Q1Y7RUVGQTtFQUNBLE9DNER3QjtFRDNEeEIsa0JDaURtQjtFRGhEbkIsWUFDRTtFQUlGO0VBSUE7RUFDUTs7QUZvTVI7RUo1TEEsT09ma0I7O0FKOE1aO0VDSE47SUp6TEUsT09Rc0I7OztBSHdMeEI7RUFFSTs7QUFJSjtFSnpNQSxPT2ZrQjs7QUo4TVo7RUNVTjtJSnRNRSxPT1FzQjs7OztBSm9MbEI7RW9CaElGO0lBQ0U7O0VBRUE7SUFFRTs7RUFHRjtJQUNFO0lBQ0E7O0VBSUo7SUFDRTs7OztBQUtOO0VBQ0U7O0FuQjRJRjtFQUVFOztBQUtGO0VBRUU7O0FBR0Y7RUFDRSxPR3JNc0I7O0FnQmtEdEI7RUFDRTs7OztBQ25FSjtFeEI5Q0EsYUNGa0I7RURHbEI7RUFDQTs7QUdtTk07RXFCdktOO0l4Qm5DRSxhQ0hzQjs7O0F1QnNDeEI7RXhCVkE7RUE0TEksV0FKYztFQUtkLGFBSnVCOztBR1JyQjtFcUJ2S047SXhCMkxNLFdBYlk7SUFjWixhQWJxQjs7O0FHUnJCO0VxQnZLTjtJeEJzTE0sV0FUUTtJQVVSLGFBUnFCOzs7QXdCL0szQjtFQUdFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0Vmb0NJOztBTjBIQTtFcUJ2S047SWZvRFE7OztBZXBEUjtFQVdFO0VBRUE7RUFDQTtFQUNBLE9BNUR1QjtFQTZEdkIsa0JBcEU2QjtFQXFFN0I7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QXJCa0pJO0VxQnZLTjtJQXdCSTs7O0FBSUY7RUFJRSxPQTdFcUI7RUE4RXJCOztBQUlGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFLGtCQXJFd0I7O0FBd0UxQjtFQUVFLEtKMUI0Qjs7QUk2QjlCO0VBQ0UsY2pCOUNlO0VpQitDZjtFQUNBOztBQUdGO0VBQ0UsY2pCcERlO0VpQnFEZixPakIzQ29CO0VpQjRDcEIsa0JqQnREZTtFaUJ1RGY7O0FBUUY7RUFDRTtFQUNBO0VBRUE7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBOztBQWFGO0VBQ0U7OztBQUlKO0VBQ0U7O0FBRUE7RUFDRSxrQkExSjJCO0VBMkozQjs7QUFHRjtFQUNFO0VBQ0E7OztBQUlKO0VBQ0Usa0JBdkk4QjtFQXdJOUI7O0FBRUE7RUFLRSxPQTlJaUM7O0FBaUpuQztFQUNFLGtCQWpKa0M7O0FBbUpsQztFQUNFLGtCQXRKMEI7OztBQTJKaEM7RUFDRSxrQkF0SjRCO0VBdUo1Qjs7QUFFQTtFQUtFLE9BN0orQjs7QUFnS2pDO0VBQ0Usa0JBaEtnQzs7QUFrS2hDO0VBQ0Usa0JBckt3Qjs7O0FBMEs5QjtFQUNFLGtCQWpNcUM7RUFrTXJDOztBQUVBO0VBS0UsT2pCak5lOztBaUJvTmpCO0VBQ0Usa0JBL0tnQzs7QUFpTGhDO0VBQ0Usa0JBaE5pQzs7O0FBcU52QztFeEIvS0E7RUFrTEksV0FKYztFQUtkLGFBSnVCOztBR1JyQjtFcUJRTjtJeEJZTSxXQWJZO0lBY1osYUFicUI7OztBR1JyQjtFcUJRTjtJeEJPTSxXQVRRO0lBVVIsYUFScUI7OztBd0JBM0I7RUFJRTtFQUNBO0VBRUE7OztBQUdGO0VBQ0U7O0FyQm5CSTtFcUJrQk47SUFJSTs7O0FBSko7RUFNRTtFQUNBO0VBQ0E7RUFHQTs7OztBQ2hRRjtFekJjQSxhQ0ZrQjtFREdsQjtFQUNBOztBR21OTTtFc0JuT047SXpCeUJFLGFDSHNCOzs7QXdCdEJ4QjtFekI0REE7RUFrTEksV0FKYztFQUtkLGFBSnVCOztBR1JyQjtFc0JuT047SXpCdVBNLFdBYlk7SUFjWixhQWJxQjs7O0FHUnJCO0VzQm5PTjtJekJrUE0sV0FUUTtJQVVSLGFBUnFCOzs7QXlCM08zQjtFQUdFO0VBQ0E7RUFDQTtFQUNBO0VBRUEsT2xCNkVpQjs7OztBbUJyRm5CO0UxQmNBLGFDRmtCO0VER2xCO0VBQ0E7O0FHbU5NO0V1Qm5PTjtJMUJ5QkUsYUNIc0I7OztBeUJ0QnhCO0UxQmtEQTtFQTRMSSxXQUpjO0VBS2QsYUFKdUI7O0FHUnJCO0V1Qm5PTjtJMUJ1UE0sV0FiWTtJQWNaLGFBYnFCOzs7QUdSckI7RXVCbk9OO0kxQmtQTSxXQVRRO0lBVVIsYUFScUI7OztBMEIzTzNCO0VBR0U7RUFFQSxPbkJtRDBCOzs7QW1CdEM1QjtFQUNFOzs7QUFjRjtFQUNFOzs7QUFJRjtFQUNFOzs7O0FDdkNGO0UzQmNBLGFDRmtCO0VER2xCO0VBQ0E7O0FHbU5NO0V3Qm5PTjtJM0J5QkUsYUNIc0I7OztBMEJ0QnhCO0UzQmtEQTtFQTRMSSxXQUpjO0VBS2QsYUFKdUI7O0FHUnJCO0V3Qm5PTjtJM0J1UE0sV0FiWTtJQWNaLGFBYnFCOzs7QUdSckI7RXdCbk9OO0kzQmtQTSxXQVRRO0lBVVIsYUFScUI7OztBMkIzTzNCO0UzQm9DQSxPT2ZrQjs7QUo4TVo7RXdCbk9OO0kzQnVDRSxPT1FzQjs7O0FvQi9DeEI7RUFJRTtFQUVBOzs7QUFJRjtBQUFBO0FBQUE7RTNCa0RBO0UyQjlDRTs7O0FBR0Y7RTNCNk5JLFdBSmM7RUFLZCxhQUp1Qjs7QUdSckI7RXdCbE5OO0kzQnNPTSxXQWJZO0lBY1osYUFicUI7OztBR1JyQjtFd0JsTk47STNCaU9NLFdBVFE7SUFVUixhQVJxQjs7OztBMkJ0TjNCO0UzQnlOSSxXQUpjO0VBS2QsYUFKdUI7O0FHUnJCO0V3QjlNTjtJM0JrT00sV0FiWTtJQWNaLGFBYnFCOzs7QUdSckI7RXdCOU1OO0kzQjZOTSxXQVRRO0lBVVIsYUFScUI7Ozs7QTJCbE4zQjtFM0JxTkksV0FKYztFQUtkLGFBSnVCOztBR1JyQjtFd0IxTU47STNCOE5NLFdBYlk7SUFjWixhQWJxQjs7O0FHUnJCO0V3QjFNTjtJM0J5Tk0sV0FUUTtJQVVSLGFBUnFCOzs7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QTtFQUNBO0VBQ0E7RUFDQTs7O0FBV0E7RUFDRTs7QUFHRjtFQUNFOzs7Ozs7OztBQy9FSjtFdkNRQSxhQ0ZrQjtFREdsQjtFQUNBOztBR21OTTtFb0M3Tk47SXZDbUJFLGFDSHNCOzs7QXNDaEJ4QjtFdkM0Q0E7RUE0TEksV0FKYztFQUtkLGFBSnVCOztBR1JyQjtFb0M3Tk47SXZDaVBNLFdBYlk7SUFjWixhQWJxQjs7O0FHUnJCO0VvQzdOTjtJdkM0T00sV0FUUTtJQVVSLGFBUnFCOzs7QXVDck8zQjtFdkM4QkEsT09ma0I7O0FKOE1aO0VvQzdOTjtJdkNpQ0UsT09Rc0I7OztBZ0N6Q3hCO0VBR0U7RUFDQTtFQUNBLFNBUGtCOztBQWFsQjtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBSUE7O0FBUUY7RUFDRTtFQUVBOztBQUdGO0VBQ0U7RUFDQTs7OztBQ3BDSjtFeENNQSxhQ0ZrQjtFREdsQjtFQUNBOztBR21OTTtFcUMzTk47SXhDaUJFLGFDSHNCOzs7QXVDZHhCO0V4QzBDQTtFQTRMSSxXQUpjO0VBS2QsYUFKdUI7O0FHUnJCO0VxQzNOTjtJeEMrT00sV0FiWTtJQWNaLGFBYnFCOzs7QUdSckI7RXFDM05OO0l4QzBPTSxXQVRRO0lBVVIsYUFScUI7OztBd0NuTzNCO0UvQmlHTTs7QU4wSEE7RXFDM05OO0kvQndHUTs7O0ErQnhHUjtFL0JpR007O0FOMEhBO0VxQzNOTjtJL0J3R1E7OztBK0J4R1I7RUFLRTtFQUNBLE9qQ09nQjtFaUNOaEIsWWpDZ0I2Qjs7O0FpQ2IvQjtFeENKQSxhQ0ZrQjtFREdsQjtFQUNBOztBR21OTTtFcUNqTk47SXhDT0UsYUNIc0I7OztBdUNKeEI7RXBDV0E7RUFHRSwyQkNoQjZCO0VEb0I3Qix1QkNQMEI7O0FEaEI1QjtFQXFDRSwyQkNMbUM7RURRbkM7RUFDUTtFQUNSO0VBQ1E7O0FBdkNWO0VFRkE7RUFDQSxPQzREd0I7RUQzRHhCLGtCQ2lEbUI7RURoRG5CLFlBQ0U7RUFJRjtFQUlBO0VBQ1E7O0FGb01SO0VKNUxBLE9PZmtCOztBSjhNWjtFQ0hOO0lKekxF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a0NrVGY7RUFDRSxPbENyUGtCOzs7QWtDMFB4QjtFQUNFO0VBQ0E7OztBdENyR0k7RXNDeUdKO0lBQ0U7SUFDQTtJQUNBOztFQUlBO0lBRUU7O0VBSUY7SUFDRTs7Ozs7Ozs7O0FDMVZOO0UxQ2NBLGFDRmtCO0VER2xCO0VBQ0E7O0FHbU5NO0V1Q25PTjtJMUN5QkUsYUNIc0I7OztBeUN0QnhCO0UxQ2tEQTtFQTRMSSxXQUpjO0VBS2QsYUFKdUI7O0FHUnJCO0V1Q25PTjtJMUN1UE0sV0FiWTtJQWNaLGFBYnFCOzs7QUdSckI7RXVDbk9OO0kxQ2tQTSxXQVRRO0lBVVIsYUFScUI7OztBMEMzTzNCO0UxQ29DQSxPT2ZrQjs7QUo4TVo7RXVDbk9OO0kxQ3VDRSxPT1FzQjs7O0FtQy9DeEI7RUFHRTtFakNzR0k7O0FOMEhBO0V1Q25PTjtJakNnSFE7OztBaUNoSFI7RWpDeUdNOztBTjBIQTtFdUNuT047SWpDZ0hROzs7QWlDaEhSO0VBU0U7RUFFQTs7QUFFQTtFQUNFOztBQUdGO0FBQUE7RUFFRTs7Ozs7QUNuQko7RTNDY0EsYUNGa0I7RURHbEI7RUFDQTs7QUdtTk07RXdDbk9OO0kzQ3lCRSxhQ0hzQjs7O0EwQ3RCeEI7RTNDa0RBO0VBNExJLFdBSmM7RUFLZCxhQUp1Qjs7QUdSckI7RXdDbk9OO0kzQ3VQTSxXQWJZO0lBY1osYUFicUI7OztBR1JyQjtFd0NuT047STNDa1BNLFdBVFE7SUFVUixhQVJxQjs7O0EyQzNPM0I7RWxDeUdNOztBTjBIQTtFd0NuT047SWxDZ0hROzs7QWtDaEhSO0VBSUU7RUFFQSxrQnBDUWlCOztBb0NOakI7RUFDRTs7O0FBSUo7RUFDRTtFQUlBOztBeENpTkk7RXdDdE5OO0lBUUk7Ozs7QUFJSjtFM0NxTkksV0FKYztFQUtkLGFBSnVCOztBR1JyQjtFd0MxTU47STNDOE5NLFdBYlk7SUFjWixhQWJxQjs7O0FHUnJCO0V3QzFNTjtJM0N5Tk0sV0FUUTtJQVVSLGFBUnFCOzs7QTJDbE4zQjtFM0NtQ0E7RTJDOUJFO0VBQ0E7RUFDQTs7O0FBR0Y7RTNDQ0EsT09ma0I7O0FKOE1aO0V3Q2hNTjtJM0NJRSxPT1FzQjs7O0FvQ1p4QjtFQUdFO0VBRUEsa0JwQ0YyQjs7QUo2THZCO0V3Q2hNTjtJQVFJLFNBUGU7OztBQVlqQjtFQUdFO0VBT0E7O0FBR0Y7RUFDRTs7O0FBSUo7RTNDNEtJLFdBSmM7RUFLZCxhQUp1Qjs7QUdSckI7RXdDaktOO0kzQ3FMTSxXQWJZO0lBY1osYUFicUI7OztBR1JyQjtFd0NqS047STNDZ0xNLFdBVFE7SUFVUixhQVJxQjs7O0EyQ3pLM0I7RTNDTkE7RTJDVUU7RUFFQTs7O0FBR0Y7RTNDN0RBLGFDRmtCO0VER2xCO0VBQ0E7O0FHbU5NO0V3Q3hKTjtJM0NsREUsYUNIc0I7OztBMENxRHhCO0V2QzlDQTtFQUdFLDJCQ2hCNkI7RURvQjdCLHVCQ1AwQjs7QURoQjVCO0VBcUNFLDJCQ0xtQztFRFFuQztFQUNRO0VBQ1I7RUFDUTs7QUF2Q1Y7RUVGQTtFQUNBLE9DNER3QjtFRDNEeEIsa0JDaURtQjtFRGhEbkIsWUFDRTtFQUlGO0VBSUE7RUFDUTs7QUY4UVI7RUFDRSxPR3ZLZ0I7O0FIMEtsQjtFQUNFLE9HM0tnQjs7QUg4S2xCO0VBQ0UsT0dqS3NCOztBSG9LeEI7RUFDRSxPRzlKdUI7O0FIbUt6QjtFQUNFLE9HalBzQjs7O0FvQ0l4QjtFQUNFLGNwQ2FtQjtFb0NYbkIsa0JwQ1dtQjs7QUgyRHJCO0VBRUUsT0c3RG1COztBSGdFckI7RUFDRTs7QUFHRjtFQUNFLE9HckVtQjs7QUgwRXJCO0VBQ0UsT0c3RnNCOzs7O0FxQzFFeEI7RW5DdUdNOztBTjBIQTtFeUNqT047SW5DOEdROzs7QW1DOUdSO0VBRUU7RUFDQTtFQUNBO0VBQ0E7O0F6QzROSTtFeUNqT047SUFRSTtJQUNBOzs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtFNUNQQSxhQ0ZrQjtFREdsQjtFQUNBOztBR21OTTtFeUM5TU47QUFBQTtBQUFBO0k1Q0lFLGFDSHNCOzs7QTJDRHhCO0FBQUE7QUFBQTtFNUM2QkE7RUE0TEksV0FKYztFQUtkLGFBSnVCOztBR1JyQjtFeUM5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R2xCO0VBQ0E7O0FHbU5NO0VrRG5PTjtJckR5QkUsYUNIc0I7OztBb0R0QnhCO0VqRDZCQTtFQUdFLDJCQ2hCNkI7RURvQjdCLHVCQ1AwQjs7QURtTTVCO0VKNUxBLE9PZmtCOztBSjhNWjtFQ0hOO0lKekxFLE9PUXNCOzs7QUh3THhCO0VBRUk7O0FBSUo7RUp6TUEsT09ma0I7O0FKOE1aO0VDVU47SUp0TUUsT09Rc0I7OztBOEMvQ3hCO0VyRDhPSSxXQUpjO0VBS2QsYUFKdUI7O0FHUnJCO0VrRG5PTjtJckR1UE0sV0FiWTtJQWNaLGFBYnFCOzs7QUdSckI7RWtEbk9OO0lyRGtQTSxXQVRRO0lBVVIsYUFScUI7OztBcUQzTzNCO0VBT0U7RUFDQTs7QUFHQTtFQVhGO0lBaUJJO0lBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBLGtCOUMwQ2U7RUhyQ25CO0VBR0UsMkJDaEI2QjtFRG9CN0IsdUJDUDBCO0VnREF0Qjs7O0FBTUo7RUFVRTs7OztBQzdDSjtFdERjQSxhQ0ZrQjtFREdsQjtFQUNBOztBR21OTTtFbURuT047SXREeUJFLGFDSHNCOzs7QXFEdEJ4QjtFdERrREE7RUE0TEksV0FKYztFQUtkLGFBSnVCOztBR1JyQjtFbURuT047SXREdVBNLFdBYlk7SUFjWixhQWJxQjs7O0FHUnJCO0VtRG5PTjtJdERrUE0sV0FUUTtJQVVSLGFBUnFCOzs7QXNEM08zQjtFdERvQ0EsT09ma0I7O0FKOE1aO0VtRG5PTjtJdER1Q0UsT09Rc0I7OztBSm9MbEI7RW1Ebk9OO0lBSUk7SUFDQTtJQUNBO0lBQ0E7OztBQVBKO0VBU0U7RTdDZ0dJOztBTjBIQTtFbURuT047STdDZ0hROzs7O0E2Q25HUjtFQUNFOztBbkRxTkk7RW1EdE5OO0lBSUk7OztBbkRrTkU7RW1EdE5OO0lBT0k7Ozs7QUFLSjtFQUNFOzs7QW5EeU1JO0VtRGxNRjtJQUNFO0lBQ0E7SUFDQTs7OztBQUtOO0FBQUE7QUFBQTtFQUdFOztBbkR1TEk7RW1EMUxOO0FBQUE7QUFBQTtJQU1JO0lBQ0E7SUFDQTtJQUNBOzs7O0FBSUo7RUFDRTs7QW5ENEtJO0VtRDdLTjtJQUdJO0lBQ0E7Ozs7QUFJSjtBQUFBO0VBR0U7RUFDQTs7O0FBR0Y7RUFDRTtFdERWRjs7QUd1S007RW1EOUpOO0lBSUk7Ozs7QW5EMEpFO0VtRHRKTjtJQUVJOzs7O0FBSUo7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBbkRpSUk7RW1EN0hKO0lBQ0U7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBOzs7QW5Eb0hFO0VtRC9HSjtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7O0FBU0o7RUFDRTs7O0FBS0E7RUFDRTs7QW5EbUZFO0VtRDlFRjtBQUFBO0FBQUE7SUFHRTs7OztBQU1OO0VBQ0U7O0FuRG9FSTtFbURoRUY7QUFBQTtBQUFBO0lBR0U7Ozs7QUFNTjtFN0NuRU07O0FOMEhBO0VtRHZETjtJN0M1RFE7OztBNkM0RFI7RUFFRTs7O0FBR0Y7RUFDRTtFQUlBO0VBQ0E7O0FuRDRDSTtFbURsRE47SUFTSTtJQUNBO0lBQ0E7SUFDQTs7OztBQUlKO0V0RG5MQSxhQ0ZrQjtFREdsQjtFQUNBOztBR21OTTtFbURsQ047SXREeEtFLGFDSHNCOzs7QXFEMkt4QjtFdERySUE7RUFrTEksV0FKYztFQUtkLGFBSnVCOztBR1JyQjtFbURsQ047SXREc0RNLFdBYlk7SUFjWixhQWJxQjs7O0FHUnJCO0VtRGxDTjtJdERpRE0sV0FUUTtJQVVSLGFBUnFCOzs7QXNEMUMzQjtFdEQ3SkEsT09ma0I7O0FKOE1aO0VtRGxDTjtJdEQxSkUsT09Rc0I7OztBK0NrSnhCO0VBR0U7O0FuRCtCSTtFbURsQ047SUFNSTs7OztBQUlKO0V0RG1DSSxXQUpjO0VBS2QsYUFKdUI7O0FHUnJCO0VtRHhCTjtJdEQ0Q00sV0FiWTtJQWNaLGFBYnFCOzs7QUdSckI7RW1EeEJOO0l0RHVDTSxXQVRRO0lBVVIsYUFScUI7OztBc0RoQzNCO0V0RC9JQTtFc0RrSkU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBbkRnQkk7RW1EeEJOO0lBV0k7SUFDQTs7OztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FuRElJO0VtRFJOO0lBT0k7OztBQVlGO0VBbkJGO0lBb0JJOzs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7O0FuRG5CSTtFbURnQk47SUFNSTs7O0FBSUY7RUFWRjtJQVdJOzs7O0FBSUo7RUFDRTs7QW5EaENJO0VtRCtCTjtJQUlJOzs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7RUFDQTs7OztBQy9RSjtFdkRjQSxhQ0ZrQjtFREdsQjtFQUNBOztBR21OTTtFb0RuT047SXZEeUJFLGFDSHNCOzs7QXNEdEJ4QjtFdkRrREE7RUE0TEksV0FKYztFQUtkLGFBSnVCOztBR1JyQjtFb0RuT047SXZEdVBNLFdBYlk7SUFjWixhQWJxQjs7O0FHUnJCO0VvRG5PTjtJdkRrUE0sV0FUUTtJQVVSLGFBUnFCOzs7QXVEM08zQjtFdkRvQ0EsT09ma0I7O0FKOE1aO0VvRG5PTjtJdkR1Q0UsT09Rc0I7OztBZ0QvQ3hCO0VBR0U7RTlDc0dJOztBTjBIQTtFb0RuT047STlDZ0hROzs7QThDaEhSO0VBTUU7RUFDQTs7O0FBYUY7RXZEd0NBOzs7QXVEcENBO0FBQUE7RUFFRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RXZENkNBOzs7QXVEekNBO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUFHRjtFdkRjQTtFdURYRTtFQUNBOzs7QUFJRjtBQUFBO0FBQUE7RUFHRTs7O0FBR0Y7RXZEa0xJLFdBSmM7RUFLZCxhQUp1Qjs7QUdSckI7RW9EdktOO0l2RDJMTSxXQWJZO0lBY1osYUFicUI7OztBR1JyQjtFb0R2S047SXZEc0xNLFdBVFE7SUFVUixhQVJxQjs7OztBdUQzSzNCO0V2RDhLSSxXQUpjO0VBS2QsYUFKdUI7O0FHUnJCO0VvRG5LTjtJdkR1TE0sV0FiWTtJQWNaLGFBYnFCOzs7QUdSckI7RW9EbktOO0l2RGtMTSxXQVRRO0lBVVIsYUFScUI7Ozs7QXVEdkszQjtFdkQwS0ksV0FKYztFQUtkLGFBSnVCOztBR1JyQjtFb0QvSk47SXZEbUxNLFdBYlk7SUFjWixhQWJxQjs7O0FHUnJCO0VvRC9KTjtJdkQ4S00sV0FUUTtJQVVSLGFBUnFCOzs7OztBd0QzTzNCO0UvQ3lHTTtFQUFBOztBTjBIQTtFcURuT047SS9DZ0hROzs7QStDaEhSO0V4RGNBLGFDRmtCO0VER2xCO0VBQ0E7O0FHbU5NO0VxRG5PTjtJeER5QkUsYUNIc0I7OztBdUR0QnhCO0V4RGtEQTtFQTRMSSxXQUpjO0VBS2QsYUFKdUI7O0FHUnJCO0VxRG5PTjtJeER1UE0sV0FiWTtJQWNaLGFBYnFCOzs7QUdSckI7RXFEbk9OO0l4RGtQTSxXQVRRO0lBVVIsYUFScUI7Ozs7QXdEck8zQjtFeER3T0ksV0FKYztFQUtkLGFBSnVCOztBR1JyQjtFcUQ3Tk47SXhEaVBNLFdBYlk7SUFjWixhQWJxQjs7O0FHUnJCO0VxRDdOTjtJeEQ0T00sV0FUUTtJQVVSLGFBUnFCOzs7QXdEck8zQjtFeEQ0Q0E7RUFkQSxPT2ZrQjs7QUo4TVo7RXFEN05OO0l4RGlDRSxPT1FzQjs7O0FpRHpDeEI7RUFNRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RS9DdUZJOztBTjBIQTtFcURwTk47SS9DaUdROzs7O0ErQzFGUjtFQUNFOztBQUVBO0V4RFdGLE9PZmtCOztBSjhNWjtFcUQxTUo7SXhEY0EsT09Rc0I7OztBaUR0QnRCO0VBRUU7RUFDQTtFQUNBOzs7QUFJSjtFeERuQkEsYUNGa0I7RURHbEI7RUFDQTs7QUdtTk07RXFEbE1OO0l4RFJFLGFDSHNCOzs7QXVEV3hCO0VwREpBO0VBR0UsMkJDaEI2QjtFRG9CN0IsdUJDUDBCOztBRGhCNUI7RUFxQ0UsMkJDTG1DO0VEUW5DO0VBQ1E7RUFDUjtFQUNROztBQXZDVjtFRUZBO0VBQ0EsT0M0RHdCO0VEM0R4QixrQkNpRG1CO0VEaERuQixZQUNFO0VBSUY7RUFJQTtFQUNROztBRmdEUjtFQUNFLE9HdURnQjs7QUhwRGxCO0VBQ0UsT0cwRHdCOztBSHZEMUI7RUFDRSxPRzZEc0I7O0FIMUR4QjtFQUNFLE9HZ0V1Qjs7QUgzRHpCO0VBQ0UsT0duQnNCOztBaUQzQ3hCO0VBSUU7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O0VwRCtERTs7O0FvRC9ERjtFcEQrREU7OztBb0RyRUo7RXBEbUVJOzs7QW9EN0RGO0VwRCtERTs7O0FvRC9ERjtFcEQrREU7OztBb0QvREY7RXBEK0RFOzs7QW9EL0RGO0VwRCtERTs7O0FvRHJFSjtFcERtRUk7OztBb0Q3REY7RXBEK0RFOzs7QW9EL0RGO0VwRCtERTs7O0FvRC9ERjtFcEQrREU7OztBb0QvREY7RXBEK0RFOzs7QW9EckVKO0VwRG1FSTs7O0FvRDdERjtFcEQrREU7OztBb0QvREY7RXBEK0RFOzs7QW9EL0RGO0VwRCtERTs7O0FvRC9ERjtFcEQrREU7OztBb0RyRUo7RXBEbUVJOztBTjRIQTtFMEQvTEo7SXBEMEVNOzs7O0FvRHBFSjtFcEQrREU7O0FOMEhBO0UwRHpMRjtJcERzRUk7Ozs7QW9EdEVKO0VwRCtERTs7QU4wSEE7RTBEekxGO0lwRHNFSTs7OztBb0R0RUo7RXBEK0RFOztBTjBIQTtFMER6TEY7SXBEc0VJOzs7O0FvRHRFSjtFcEQrREU7O0FOMEhBO0UwRHpMRjtJcERzRUk7Ozs7QW9ENUVOO0VwRG1FSTs7QU40SEE7RTBEL0xKO0lwRDBFTTs7OztBb0RwRUo7RXBEK0RFOztBTjBIQTtFMER6TEY7SXBEc0VJOzs7O0FvRHRFSjtFcEQrREU7O0FOMEhBO0UwRHpMRjtJcERzRUk7Ozs7QW9EdEVKO0VwRCtERTs7QU4wSEE7RTBEekxGO0lwRHNFSTs7OztBb0R0RUo7RXBEK0RFOztBTjBIQTtFMER6TEY7SXBEc0VJOzs7O0FvRDVFTjtFcERtRUk7O0FONEhBO0UwRC9MSjtJcEQwRU07Ozs7QW9EcEVKO0VwRCtERTs7QU4wSEE7RTBEekxGO0lwRHNFSTs7OztBb0R0RUo7RXBEK0RFOztBTjBIQTtFMER6TEY7SXBEc0VJOzs7O0FvRHRFSjtFcEQrREU7O0FOMEhBO0UwRHpMRjtJcERzRUk7Ozs7QW9EdEVKO0VwRCtERTs7QU4wSEE7RTBEekxGO0lwRHNFSTs7OztBb0Q1RU47RXBEbUVJOztBTjRIQTtFMEQvTEo7SXBEMEVNOzs7O0FvRHBFSjtFcEQrREU7O0FOMEhBO0UwRHpMRjtJcERzRUk7Ozs7QW9EdEVKO0VwRCtERTs7QU4wSEE7RTBEekxGO0lwRHNFSTs7OztBb0R0RUo7RXBEK0RFOztBTjBIQTtFMER6TEY7SXBEc0VJOzs7O0FvRHRFSjtFcEQrREU7O0FOMEhBO0UwRHpMRjtJcERzRUk7Ozs7QW9ENUVOO0VwRG1FSTs7QU40SEE7RTBEL0xKO0lwRDBFTTs7OztBb0RwRUo7RXBEK0RFOztBTjBIQTtFMER6TEY7SXBEc0VJOzs7O0FvRHRFSjtFcEQrREU7O0FOMEhBO0UwRHpMRjtJcERzRUk7Ozs7QW9EdEVKO0VwRCtERTs7QU4wSEE7RTBEekxGO0lwRHNFSTs7OztBb0R0RUo7RXBEK0RFOztBTjBIQTtFMER6TEY7SXBEc0VJOzs7O0FvRDVFTjtFcERtRUk7O0FONEhBO0UwRC9MSjtJcEQwRU07Ozs7QW9EcEVKO0VwRCtERTs7QU4wSEE7RTBEekxGO0lwRHNFSTs7OztBb0R0RUo7RXBEK0RFOztBTjBIQTtFMER6TEY7SXBEc0VJOzs7O0FvRHRFSjtFcEQrREU7O0FOMEhBO0UwRHpMRjtJcERzRUk7Ozs7QW9EdEVKO0VwRCtERTs7QU4wSEE7RTBEekxGO0lwRHNFSTs7OztBb0Q1RU47RXBEbUVJOzs7QW9EN0RGO0VwRCtERTs7O0FvRC9ERjtFcEQrREU7OztBb0QvREY7RXBEK0RFOzs7QW9EL0RGO0VwRCtERTs7O0FvRHJFSjtFcERtRUk7OztBb0Q3REY7RXBEK0RFOzs7QW9EL0RGO0VwRCtERTs7O0FvRC9ERjtFcEQrREU7OztBb0QvREY7RXBEK0RFOzs7QW9EckVKO0VwRG1FSTs7O0FvRDdERjtFcEQrREU7OztBb0QvREY7RXBEK0RFOzs7QW9EL0RGO0VwRCtERTs7O0FvRC9ERjtFcEQrREU7OztBb0RyRUo7RXBEbUVJOzs7QW9EN0RGO0VwRCtERTs7O0FvRC9ERjtFcEQrREU7OztBb0QvREY7RXBEK0RFOzs7QW9EL0RGO0VwRCtERTs7O0FvRHJFSjtFcERtRUk7O0FONEhBO0UwRC9MSjtJcEQwRU07Ozs7QW9EcEVKO0VwRCtERTs7QU4wSEE7RTBEekxGO0lwRHNFSTs7OztBb0R0RUo7RXBEK0RFOztBTjBIQTtFMER6TEY7SXBEc0VJOzs7O0FvRHRFSjtFcEQrREU7O0FOMEhBO0UwRHpMRjtJcERzRUk7Ozs7QW9EdEVKO0VwRCtERTs7QU4wSEE7RTBEekxGO0lwRHNFSTs7OztBb0Q1RU47RXBEbUVJOztBTjRIQTtFMEQvTEo7SXBEMEVNOzs7O0FvRHBFSjtFcEQrREU7O0FOMEhBO0UwRHpMRjtJcERzRUk7Ozs7QW9EdEVKO0VwRCtERTs7QU4wSEE7RTBEekxGO0lwRHNFSTs7OztBb0R0RUo7RXBEK0RFOztBTjBIQTtFMER6TEY7SXBEc0VJOzs7O0FvRHRFSjtFcEQrREU7O0FOMEhBO0UwRHpMRjtJcERzRUk7Ozs7QW9ENUVOO0VwRG1FSTs7QU40SEE7RTBEL0xKO0lwRDBFTTs7OztBb0RwRUo7RXBEK0RFOztBTjBIQTtFMER6TEY7SXBEc0VJOzs7O0FvRHRFSjtFcEQrREU7O0FOMEhBO0UwRHpMRjtJcERzRUk7Ozs7QW9EdEVKO0VwRCtERTs7QU4wSEE7RTBEekxGO0lwRHNFSTs7OztBb0R0RUo7RXBEK0RFOztBTjBIQTtFMER6TEY7SXBEc0VJOzs7O0FvRDVFTjtFcERtRUk7O0FONEhBO0UwRC9MSjtJcEQwRU07Ozs7QW9EcEVKO0VwRCtERTs7QU4wSEE7RTBEekxGO0lwRHNFSTs7OztBb0R0RUo7RXBEK0RFOztBTjBIQTtFMER6TEY7SXBEc0VJOzs7O0FvRHRFSjtFcEQrREU7O0FOMEhBO0UwRHpMRjtJcERzRUk7Ozs7QW9EdEVKO0VwRCtERTs7QU4wSEE7RTBEekxGO0lwRHNFSTs7OztBb0Q1RU47RXBEbUVJOztBTjRIQTtFMEQvTEo7SXBEMEVNOzs7O0FvRHBFSjtFcEQrREU7O0FOMEhBO0UwRHpMRjtJcERzRUk7Ozs7QW9EdEVKO0VwRCtERTs7QU4wSEE7RTBEekxGO0lwRHNFSTs7OztBb0R0RUo7RXBEK0RFOztBTjBIQTtFMER6TEY7SXBEc0VJOzs7O0FvRHRFSjtFcEQrREU7O0FOMEhBO0UwRHpMRjtJcERzRUk7Ozs7QW9ENUVOO0VwRG1FSTs7QU40SEE7RTBEL0xKO0lwRDBFTTs7OztBb0RwRUo7RXBEK0RFOztBTjBIQTtFMER6TEY7SXBEc0VJOzs7O0FvRHRFSjtFcEQrREU7O0FOMEhBO0UwRHpMRjtJcERzRUk7Ozs7QW9EdEVKO0VwRCtERTs7QU4wSEE7RTBEekxGO0lwRHNFSTs7OztBb0R0RUo7RXBEK0RFOztBTjBIQTtFMER6TEY7SXBEc0VJOzs7O0FvRGhETjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFOSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFOSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFOSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFOSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFOSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFOSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFOSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFOSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFOSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFOSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFOSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFOSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFOSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFOSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFOSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFOSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFOSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFOSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFOSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7O0FDckVOO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7Ozs7QUNIQTtFL0R1T0UsV0FKYztFQUtkLGFBSnVCOztBR1JyQjtFNEQ1Tko7SS9EZ1BJLFdBYlk7SUFjWixhQWJxQjs7O0FHUnJCO0U0RDVOSjtJL0QyT0ksV0FUUTtJQVVSLGFBUnFCOzs7O0ErRHBPekI7RS9EdU9FLFdBSmM7RUFLZCxhQUp1Qjs7QUdSckI7RTRENU5KO0kvRGdQSSxXQWJZO0lBY1osYUFicUI7OztBR1JyQjtFNEQ1Tko7SS9EMk9JLFdBVFE7SUFVUixhQVJxQjs7OztBK0RwT3pCO0UvRHVPRSxXQUpjO0VBS2QsYUFKdUI7O0FHUnJCO0U0RDVOSjtJL0RnUEksV0FiWTtJQWNaLGFBYnFCOzs7QUdSckI7RTRENU5KO0kvRDJPSSxXQVRRO0lBVVIsYUFScUI7Ozs7QStEcE96QjtFL0R1T0UsV0FKYztFQUtkLGFBSnVCOztBR1JyQjtFNEQ1Tko7SS9EZ1BJLFdBYlk7SUFjWixhQWJxQjs7O0FHUnJCO0U0RDVOSjtJL0QyT0ksV0FUUTtJQVVSLGFBUnFCOzs7O0ErRHBPekI7RS9EdU9FLFdBSmM7RUFLZCxhQUp1Qjs7QUdSckI7RTRENU5KO0kvRGdQSSxXQWJZO0lBY1osYUFicUI7OztBR1JyQjtFNEQ1Tko7SS9EMk9JLFdBVFE7SUFVUixhQVJxQjs7OztBK0RwT3pCO0UvRHVPRSxXQUpjO0VBS2QsYUFKdUI7O0FHUnJCO0U0RDVOSjtJL0RnUEksV0FiWTtJQWNaLGFBYnFCOzs7QUdSckI7RTRENU5KO0kvRDJPSSxXQVRRO0lBVVIsYUFScUI7Ozs7QStEcE96QjtFL0R1T0UsV0FKYztFQUtkLGFBSnVCOztBR1JyQjtFNEQ1Tko7SS9EZ1BJLFdBYlk7SUFjWixhQWJxQjs7O0FHUnJCO0U0RDVOSjtJL0QyT0ksV0FUUTtJQVVSLGFBUnFCOzs7O0ErRHBPekI7RS9EdU9FLFdBSmM7RUFLZCxhQUp1Qjs7QUdSckI7RTRENU5KO0kvRGdQSSxXQWJZO0lBY1osYUFicUI7OztBR1JyQjtFNEQ1Tko7SS9EMk9JLFdBVFE7SUFVUixhQVJxQjs7OztBK0R0TjNCO0UvRDZCQTs7O0ErRHpCQTtFL0RtQ0E7OztBK0Q3QkE7RS9EOENBOzs7QStEMUNBO0UvRHdEQTtFQUdBOzs7O0FnRTdGQTtFQUNFOzs7QUFHRjtFQUNFOztBN0Q2Tkk7RTZEOU5OO0lBSUk7Ozs7QUFJSjtFQUNFOztBN0RxTkk7RTZEdE5OO0lBSUk7Ozs7QUFJSjtFQUNFOztBN0Q2TUk7RTZEOU1OO0lBSUk7Ozs7QUFJSjtFQUNFOztBN0RxTUk7RTZEdE1OO0lBSUk7Ozs7QUFJSjtFQUNFOztBN0Q2TEk7RTZEOUxOO0lBSUk7Ozs7Ozs7OztBQ3ZDTjtFakVrQ0UsT09ma0I7O0FKOE1aO0U4RGpPUjtJakVxQ0ksT09Rc0I7OztBMEQ3QzFCO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QTlEMk5NO0U4RGpPUjtJQVNJOzs7O0FBTUo7RWpFSEUsYUNGa0I7RURHbEI7RUFDQTs7QUdtTk07RThEbE5SO0lqRVFJLGFDSHNCOzs7QWdFTDFCO0Vq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RTNXRSxhQ0ZrQjtFREdsQjtFQUNBOztBR21OTTtFK0RzSlI7SWxFaFdJLGFDSHNCOzs7QWlFbVcxQjtFOUQ1VkU7RUFHRSwyQkNoQjZCO0VEb0I3Qix1QkNQMEI7O0FEaEI1QjtFQXFDRSwyQkNMbUM7RURRbkM7RUFDUTtFQUNSO0VBQ1E7O0FBdkNWO0VFRkE7RUFDQSxPQzREd0I7RUQzRHhCLGtCQ2lEbUI7RURoRG5CLFlBQ0U7RUFJRjtFQUlBO0VBQ1E7O0FGZ0RSO0VBQ0UsT0d1RGdCOztBSHBEbEI7RUFDRSxPRzBEd0I7O0FIdkQxQjtFQUNFLE9HNkRzQjs7QUgxRHhCO0VBQ0UsT0dnRXVCOztBSDNEekI7RUFDRSxPR25Cc0I7OztBMkRrVDFCO0VkL1dFO0VBRUE7RUFDQTtFQUdBO0VBQ0E7RUFFQTtFQUdBO0VBQ0E7RUFDUTtFQUVSO0VBS0E7RUFLQTtFQUNJO0VBQ0k7O0FBZ0JSO0VBQ0U7O0FBR0Y7RUFDRTs7O0Fja1VKO0VBQ0U7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxRQTVZVztFQTZZWDs7QS9EN0tJO0UrRGtMRjtJQUNFO0lBQ0E7SUFDQSxRQXBaYTs7O0E5RDRObkI7RUo1TEEsT09ma0I7O0FKOE1aO0VDSE47SUp6TEUsT09Rc0I7OztBSHdMeEI7RUFFSTs7QUFJSjtFSnpNQSxPT2ZrQjs7QUo4TVo7RUNVTjtJSnRNRSxPT1FzQjs7OztBMkRtWDFCO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0VBQ0U7OztBQ3JhSjtFbkVpQ0UsT09ma0I7O0FKOE1aO0VnRWhPUjtJbkVvQ0ksT09Rc0I7OztBNEQ1QzFCO0VBRUU7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VuRUdBLGFDRmtCO0VER2xCO0VBQ0E7O0FHbU5NO0VnRTFOUjtJbkVnQkksYUNIc0I7OztBa0ViMUI7RW5FbURFO0VBa0xJLFdBSmM7RUFLZCxhQUp1Qjs7QUdSckI7RWdFMU5SO0luRThPUSxXQWJZO0lBY1osYUFicUI7OztBR1JyQjtFZ0UxTlI7SW5FeU9RLFdBVFE7SUFVUixhQVJxQjs7OztBbUU1TjdCO0VuRURFLGFDRmtCO0VER2xCO0VBQ0E7O0FHbU5NO0VnRXBOUjtJbkVVSSxhQ0hzQjs7O0FrRVAxQjtFbkU2Q0U7RUFrTEksV0FKYztFQUtkLGFBSnVCOztBR1JyQjtFZ0VwTlI7SW5Fd09RLFdBYlk7SUFjWixhQWJxQjs7O0FHUnJCO0VnRXBOUjtJbkVtT1EsV0FUUTtJQVVSLGFBUnFCOzs7QW1FNU43QjtFQUVFO0VBQ0E7OztBQUdGO0VBQ0U7O0FBRUE7RW5FVkEsYUNGa0I7RURHbEI7RUFDQTs7QUdtTk07RWdFM01OO0luRUNFLGFDSHNCOzs7QWtFRXhCO0VuRW9DQTtFQWtMSSxXQUpjO0VBS2QsYUFKdUI7O0FHUnJCO0VnRTNNTjtJbkUrTk0sV0FiWTtJQWNaLGFBYnFCOzs7QUdSckI7RWdFM01OO0luRTBOTSxXQVRRO0lBVVIsYUFScUI7OztBbUVuTjNCO0VBRUU7O0FoRXlNSTtFZ0UzTU47SUFLSTs7O0FBSUo7RUFDRTs7O0FBSUo7RUFDRTtFQUNBOztBaEUyTE07RWdFN0xSO0lBS0k7Ozs7QUFJSjtFQUNFOzs7QUFHRjtFQUNFOztBaEUrS007RWdFaExSO0lBSUk7Ozs7QUN0REo7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QWpFOE5NO0VpRWxPUjtJQU1JOzs7O0FBSUo7RUFDRTtFcEVFQSxhQ0ZrQjtFREdsQjtFQUNBOztBR21OTTtFaUV4TlI7SXBFY0ksYUNIc0I7OztBbUVYMUI7RXBFaURFO0VBa0xJLFdBSmM7RUFLZCxhQUp1Qjs7QUdSckI7RWlFeE5SO0lwRTRPUSxXQWJZO0lBY1osYUFicUI7OztBR1JyQjtFaUV4TlI7SXBFdU9RLFdBVFE7SUFVUixhQVJxQjs7OztBb0UzTjdCO0VBQ0U7O0FqRWtOTTtFaUVuTlI7SUFJSTtJQUNBOzs7O0FBSUo7RXBFWEUsYUNGa0I7RURHbEI7RUFDQTs7QUdtTk07RWlFMU1SO0lwRUFJLGFDSHNCOzs7QW1FRzFCO0VwRXlCRTtFQTRMSSxXQUpjO0VBS2QsYUFKdUI7O0FHUnJCO0VpRTFNUjtJcEU4TlEsV0FiWTtJQWNa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SjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0M7RUFDQTs7O0FDN09EO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFFRjtFQUNFO0lBQ0U7O0VBRUY7SUFDRTtJQUNBOztFQUVGO0lBQ0U7O0VBRUY7SUFDRTs7O0FBR0o7QUFBQTtFQUVFOzs7QUFFRjtFQUNFO0FBQUE7SUFFRTs7O0FBR0o7RUFDRTtJQUNFOzs7QUFHSjtFQUNFO0lBQ0U7OztBQUdKO0VBQ0U7SUFDRTs7O0FDOUNKO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQ1JKO0VBQ0U7O0FBRUE7RUFDRTs7O0FBS0o7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUVFO0VBQ0E7OztBQUdGO0VBQ0UsT05VTztFTVRQOzs7QUFJQTtFQUNFO0VBQ0E7OztBQzdDQTtFQUNJO0VBQ0E7O0FBRUE7RUFDSTs7QUFFQTtBQUFBO0VBRUk7O0FBTVo7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTs7QUFHSjtFQUNJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSSxPUElKO0VPSEk7OztBQUtaO0VBQ0k7OztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUN2RUo7RUFDRTs7O0FBT0U7QUFBQTtFQUVJLFlSaUNDO0VRaENELE9SNkJBO0VRNUJBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJLFNBekJhOztBQTRCakI7RUFFSTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJOztBQUtSO0VBQ0ksU0E5Q007RUErQ047O0FBSUE7RUFDSSxZQWxESDtFQW1ERyxRQXZEUztFQXdEVCxTQXhEUztFQTBEVDtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFLUjtFQUNJOztBQUlSO0VBQ0ksU0ExRWE7RUEyRWI7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7O0FBS0E7RUFDSTs7O0FBVUo7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUtKO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFLWjtFQUVJLGVBL0hVOztBQWlJVjtFQUVJO0VBQ0E7RUFDQTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7O0FBRUE7RUFDSTtFQUNBOztBQUlSO0VBRUk7RUFDQTtFQUNFO0VBTUY7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUdBOztBQUdKO0VBQ0ksZUEvS0M7O0FBa0xMO0VBQ0k7RUFDQTs7QUFHSjtFQUNJOzs7QUFPSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUlBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFNWjtFQUNJO0VBQ0EsZUFsTlU7RUFtTlY7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7O0FBS0E7RUFDSTs7QUFNSjtFQUNJOzs7QUFPUjtFQUNJOzs7QUFJUjtBQUFBO0FBQUE7RUFFSTs7QUFHQTtBQUFBO0FBQUE7RUFDSTs7QUFHSjtBQUFBO0FBQUE7RUFDSTs7QUFHSjtBQUFBO0FBQUE7RUFDSTs7QUFlSjtBQUFBO0FBQUE7RUFDSTtFQUNBOztBQUVBO0FBQUE7QUFBQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0FBQUE7QUFBQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0FBQUE7QUFBQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBU2hCO0VBQ0k7RUFDQTs7O0FBS0o7RUFDSTtFQUNBOztBQUtBO0VBREo7SUFFUTtJQUNBLGVBdFVIOzs7O0FBNlVMO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFHSSxZUjdSQztFUThSRCxjUmhTQztFUWlTRCxPUmxTQTs7QVFvU0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUNJLE9SclNKOztBUXVTQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0ksT1J4U0o7O0FRMFNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFDSSxPUjNTSjs7QVE2U0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUNJLE9SOVNKOztBUW9UQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBR0ksY1JyVk47OztBUThWTTtFQURKO0lBRVE7OztBQUlSO0VBQ0ksWUFuWEU7RUFvWEY7OztBQU1aO0VBRUUsWUEvWE87OztBQWtZVDtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJLFlBM1lLO0VBNFlMO0VBQ0E7OztBQVFKO0VBQ0U7OztBQU9FO0VBQ0k7O0FBSUE7RUFDSTs7QUFJUjtFQUNJOzs7QUFLUjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUFzQzs7O0FBRXRDO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTs7O0FBRUo7RUFDSTtFQUNBOzs7QUFJQTtFQUNRO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFUjtFQUNRO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSVo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUlBO0VBQ1E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJWjtBQUFBO0FBR0k7RUFDSTs7O0FBSVI7RUFDSTs7O0FBR0o7RUFDSTs7O0FBS0E7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7OztBQUtSO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQzlrQko7QUFBQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFQRjtBQUFBO0lBUUk7OztBQUtGO0FBQUE7RUFDRTs7QUFHRjtBQUFBO0VBQ0U7O0FBR0Y7QUFBQTtFQUNFOztBQUdGO0FBQUE7RUFDRTs7QUFHRjtBQUFBO0VBQ0U7O0FBR0Y7QUFBQTtFQUNFOztBQUdGO0FBQUE7RUFDRTtFQUNBOztBQUdGO0FBQUE7RUFDRTs7QUFHRjtBQUFBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7QUFBQTtFQUNFO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlGO0FBQUE7RUFFRTtFQUNLO0VBQ0s7RUFFVjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFFQTs7QUFHQTtBQUFBO0FBQUE7RUFDSTs7QUFHSjtBQUFBO0VBQ0k7RUFDQTtFQUNBOztBQUNBO0VBSko7QUFBQTtJQUtRO0lBQ0E7Ozs7QUMzR1o7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7O0FBSVI7RUFDSTtFQUNBOzs7QUFLRDtFQUNDOzs7QUFLSjtFQUNDOztBQUVBO0VBQ0M7OztBQUtFO0VBQ0k7O0FBSUo7RUFDSTtFQUNBLE9WdENLO0VVdUNMO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBLE9WaERLO0VVaURMO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUtKO0VBQ0k7RUFDQTtFQUNBOztBQUVKO0VBQ0k7OztBQUtKO0VBQ0k7RUFDQTtFQUNBOztBQUVKO0VBQ0k7OztBQUtSO0VBQ0k7OztBQVVRO0VBQ0k7RUFDQTtFQUNBOztBQU1SO0VBQ0k7O0FBS0o7RUFDSTs7O0FBUVo7RUFDSTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDUTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlaO0VBRUk7RUFDQTtFQUNBLFlWckZJO0VVc0ZKO0VBQ0EsU0Z6SVU7RUUwSVY7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0VBQ0ksZUYxSmE7RUUySmI7O0FBRUE7RUFDSTs7QUFJUjtFQUNJOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsT1YvS0s7OztBVW9MYjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0k7RUFDQTs7O0FBSVI7QUFBQTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0FBQUE7RUFDSTtFQUVBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7O0FBRUE7QUFBQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7QUFBQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQU9aO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJSjtFQUNFOzs7QUFNRjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0U7OztBQUdGO0VBQ0k7OztBQ2hUSjtFQUNJOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7O0FBQ0E7RUFDSTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlSO0VBQ0k7O0FBQ0E7RUFDSTs7QUFJUjtFQUNJOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFFSjtFQUNJOztBQUVKO0VBQ0k7O0FBRUo7RUFDSTtFQUNBOztBQUVKO0VBQ0k7O0FBR0o7RUFDSTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJOztBQUVBO0VBQ0k7RUFDQTs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDSTs7QUFJUjtFQUNJOztBQUNBO0VBQ0k7O0FBR0o7RUFDSTtFQUNBOztBQUVBO0VBQ0k7O0FBT3BCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7O0FBS1o7RUFDSTs7QUFHSjtFQUNJOztBQUVKO0VBQ0k7O0FBR0o7RUFDSTs7QUFJQTtFQUNJOztBQUVKO0VBQ0k7O0FBR0o7RUFDSTs7QUFJQTtFQUNJOztBQUVKO0VBQ0k7O0FBR0o7RUFDSTs7QUFLSjtFQUNJOztBQUtaO0VBQ0k7RUFDQTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTs7QUFJSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtJQUNJOzs7QUFHUjtFQUNJO0lBQ0k7SUFDQTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7QUFBQTtBQUFBO0VBR0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0VBQ0k7QUFBQTtBQUFBO0lBR0k7OztBQUdSO0VBQ0k7QUFBQTtBQUFBO0lBR0k7SUFDQTs7O0FBR1I7RUFDSTtBQUFBO0FBQUE7SUFHSTtJQUNBOzs7QUFHUjtBQUFBO0FBQUE7RUFHSTs7QUFHSjtFQUNJO0VBQ0E7O0FBRUo7RUFDSTtJQUNJOzs7QUFJUjtBQUFBO0VBRUk7O0FBRUo7QUFBQTtFQUVJO0VBQ0E7O0FBR0o7RUFDSTs7QUFHSjtFQUNJOztBQUdKO0FBQUE7QUFBQTtBQUFBO0VBSUk7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTs7QUFFSjtFQUNJOztBQUVKO0VBQ0k7O0FBRUo7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7O0FBRUo7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOzs7QUFHUjtFQUNJO0VBQ0E7RUFDQTs7QUFFSjtBQUFBO0FBQUE7RUFHSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0VBQ0k7O0FBRUo7RUFDSTs7QUFFSjtFQUNJOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7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Ozs7O0FBSUY7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNGO0VBVEY7SUFVRTtJQUNBOzs7O0FBSUY7RUFDSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUxKO0lBTVE7Ozs7QUFLUjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0k7RUFDQTs7O0FBRUo7RUFDSTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTs7O0FDL0ZKO0VBQ0UsWUhDTzs7O0FHRVQ7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7RUFMRjtJQU1JO0lBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFOzs7QUFLTjtFQUNJOzs7QUFHSjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FDcEZKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlGO0VBQ0U7SUFDRTtJQUNBOzs7QUFJSDtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSDtFQUNFO0lBQ0U7SUFDQTs7O0FBSUo7RUFDRTtJQUNFO0lBQ0E7OztBQUlIO0FBQUE7RUFFRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0g7RUFDRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOzs7QUFJSjtFQUNFO0lBQ0U7SUFDQTs7O0FDdEhKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0lBQ0U7SUFDQTs7RUFFSDtJQUNDOzs7QUFLRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFJQTtFQUNJO0VBQ0E7O0FBRUo7RUFDSTtFQUNBOzs7QUFHUjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7O0FBRUE7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBOztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQU9BO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUN2R1o7RUFDRTtFQUNBOzs7QUFDQTtFQUNFO0lBQ0U7OztBQUVOO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBQ0E7RUFDRTtJQUNFO0lBQ0E7OztBQUVOO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBQ0E7RUFDRTtJQUNFO0lBQ0E7OztBQUNOO0VBQ0U7OztBQUVKO0VBQ0k7OztBQUdKO0VBQ0U7OztBQUlBO0VBQ0U7O0FBRUY7RUFDRTtFQUNBOzs7QUN4REo7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUlKO0VBQ0k7OztBQUdKO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUlGO0FBQUE7QUFBQTtFQUdFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDOUNGO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUNmSjtFQUVJO0lBQ0U7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7O0VBR0Y7SUFDRTs7O0FBS047RUFDRTtJQUNFO0lBQ0E7O0VBRUE7SUFDRTtJQUNBO0lBQ0E7SUFDQTs7RUFHRjtJQUNFOztFQUdGO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTs7RUFHRjtJQUVFOzs7QUFLTjtFQUdFOzs7QUN6REY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlKO0VBQ0U7SUFDRTs7RUFFRjtJQUNFOzs7QUMzQko7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBRUU7OztBQy9CRjtFQUNFO0VBQ0E7OztBQ0ZGO0VBQ0U7RUFDQTtFQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7O0FBSUE7RUFSRjtJQVNNOzs7O0FBSU47RUFDRTs7O0FDZEY7RUFFRTs7O0FDRkY7QUFBQTtBQUFBO0FBWUE7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0FBQ0E7RUFGRjtJQUdJOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUtOO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7RUFFRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUdGO0VBQ0U7RUFDQTs7QUFNUjtFQUNFO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUlKO0VBQ0U7RUFDQTtFQUNBOztBQUtOO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FBak5GO0VBd05BO0lBQ0U7O0VBRUE7SUFDRTs7RUFJQTtJQUNFOztFQUdGO0lBQ0U7OztBQU9WO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7OztBQUlKO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FDblJGO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtBQUNBO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTs7O0FBRUY7RUFDRTtJQUNFO0lBQ0E7O0VBRUY7SUFDRTtJQUNBOzs7QUFHSjtFQUNFO0lBQ0U7SUFDQTs7RUFFRjtJQUNFO0lBQ0E7OztBQUdKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFLRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0FBQUE7RUFFRTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtBQUVBO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7QUFBQTtFQUdFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtBQUFBO0FBQUE7RUFHRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtFQUNFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7QUFBQTtFQUdFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtBQUFBO0VBR0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtFQUNFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtBQUFBO0FBQUE7RUFJRTs7O0FBRUY7QUFBQTtBQUFBO0VBR0U7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtBQUFBO0FBQUE7RUFHRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtBQUFBO0VBR0U7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFLRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtBQUFBO0FBQUE7RUFHRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFIiwiZmlsZSI6ImFwcGxpY2F0aW9uLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIjpyb290IHtcbiAgLy8gVGhpcyB2YXJpYWJsZSBpcyBhdXRvbWF0aWNhbGx5IG92ZXJ3cml0dGVuIGR1cmluZyBidWlsZHMgYW5kIHJlbGVhc2VzLlxuICAvLyBJdCBkb2Vzbid0IG5lZWQgdG8gYmUgdXBkYXRlZCBtYW51YWxseS5cbiAgLS1nb3Z1ay1mcm9udGVuZC12ZXJzaW9uOiBcIjUuNy4xXCI7XG5cbiAgLy8gQ1NTIGN1c3RvbSBwcm9wZXJ0eSBmb3IgZWFjaCBicmVha3BvaW50XG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGdvdnVrLWJyZWFrcG9pbnRzIHtcbiAgICAtLWdvdnVrLWZyb250ZW5kLWJyZWFrcG9pbnQtI3skbmFtZX06ICN7Z292dWstcHgtdG8tcmVtKCR2YWx1ZSl9O1xuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9nb3Z1ay1mcm9udGVuZC1wcm9wZXJ0aWVzLnNjc3MubWFwICovXG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29yZS9saW5rc1wiKSB7XG4gICVnb3Z1ay1saW5rIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1wcmludC1mcmllbmRseTtcbiAgfVxuXG4gIC5nb3Z1ay1saW5rIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1saW5rO1xuICB9XG5cbiAgLy8gVmFyaWFudCBjbGFzc2VzIHNob3VsZCBhbHdheXMgYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSAuZ292dWstbGlua1xuICAvLyBjbGFzcywgc28gd2UgZG8gbm90IG5lZWQgdGhlIGNvbW1vbiBsaW5rIHN0eWxlcyBhcyB0aGV5IHdpbGwgYmUgaW5oZXJpdGVkLlxuXG4gIC5nb3Z1ay1saW5rLS1tdXRlZCB7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1tdXRlZDtcbiAgfVxuXG4gIC5nb3Z1ay1saW5rLS10ZXh0LWNvbG91ciB7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS10ZXh0O1xuICB9XG5cbiAgLmdvdnVrLWxpbmstLWludmVyc2Uge1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtaW52ZXJzZTtcbiAgfVxuXG4gIC5nb3Z1ay1saW5rLS1uby11bmRlcmxpbmUge1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtbm8tdW5kZXJsaW5lO1xuICB9XG5cbiAgLmdvdnVrLWxpbmstLW5vLXZpc2l0ZWQtc3RhdGUge1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtbm8tdmlzaXRlZC1zdGF0ZTtcbiAgfVxuXG4gIC8vIExpbmtzIHRoYXQgb25seSBjb250YWluIGltYWdlc1xuXG4gIC5nb3Z1ay1saW5rLWltYWdlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWltYWdlO1xuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9saW5rcy5zY3NzLm1hcCAqL1xuIiwiLy8vL1xuLy8vIEBncm91cCBoZWxwZXJzL3R5cG9ncmFwaHlcbi8vLy9cblxuQGltcG9ydCBcIi4uL3Rvb2xzL3B4LXRvLXJlbVwiO1xuXG4vLy8gJ0NvbW1vbiB0eXBvZ3JhcGh5JyBoZWxwZXJcbi8vL1xuLy8vIFNldHMgdGhlIGZvbnQgZmFtaWx5IGFuZCBhc3NvY2lhdGVkIHByb3BlcnRpZXMsIHN1Y2ggYXMgZm9udCBzbW9vdGhpbmcuIEFsc29cbi8vLyBvdmVycmlkZXMgdGhlIGZvbnQgZm9yIHByaW50LlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkZm9udC1mYW1pbHkgWyRnb3Z1ay1mb250LWZhbWlseV0gRm9udCBmYW1pbHkgdG8gdXNlXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLXR5cG9ncmFwaHktY29tbW9uKCRmb250LWZhbWlseTogJGdvdnVrLWZvbnQtZmFtaWx5KSB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuXG4gIC8vIElmIHRoZSB1c2VyIGlzIHVzaW5nIHRoZSBkZWZhdWx0IEdEUyBUcmFuc3BvcnQgZm9udCB3ZSBuZWVkIHRvIGluY2x1ZGVcbiAgLy8gdGhlIGZvbnQtZmFjZSBkZWNsYXJhdGlvbnMuXG4gIEBpZiAkZ292dWstaW5jbHVkZS1kZWZhdWx0LWZvbnQtZmFjZSB7XG4gICAgQGluY2x1ZGUgX2dvdnVrLWZvbnQtZmFjZS1nZHMtdHJhbnNwb3J0O1xuICB9XG5cbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJG1lZGlhLXR5cGU6IHByaW50KSB7XG4gICAgZm9udC1mYW1pbHk6ICRnb3Z1ay1mb250LWZhbWlseS1wcmludDtcbiAgfVxufVxuXG4vLy8gVGV4dCBjb2xvdXIgaGVscGVyXG4vLy9cbi8vLyBTZXRzIHRoZSB0ZXh0IGNvbG91ciwgaW5jbHVkaW5nIGEgc3VpdGFibGUgb3ZlcnJpZGUgZm9yIHByaW50LlxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLXRleHQtY29sb3VyIHtcbiAgY29sb3I6ICRnb3Z1ay10ZXh0LWNvbG91cjtcblxuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkbWVkaWEtdHlwZTogcHJpbnQpIHtcbiAgICBjb2xvcjogJGdvdnVrLXByaW50LXRleHQtY29sb3VyO1xuICB9XG59XG5cbi8vLyBSZWd1bGFyIGZvbnQgd2VpZ2h0IGhlbHBlclxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW1wb3J0YW50IFtmYWxzZV0gLSBXaGV0aGVyIHRvIG1hcmsgZGVjbGFyYXRpb25zIGFzXG4vLy8gICBgIWltcG9ydGFudGAuIEdlbmVyYWxseSBVc2VkIHRvIGNyZWF0ZSBvdmVycmlkZSBjbGFzc2VzLlxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1yZWd1bGFyKCRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIGZvbnQtd2VpZ2h0OiAkZ292dWstZm9udC13ZWlnaHQtcmVndWxhciBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcbn1cblxuLy8vIEJvbGQgZm9udCB3ZWlnaHQgaGVscGVyXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbXBvcnRhbnQgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gbWFyayBkZWNsYXJhdGlvbnMgYXNcbi8vLyAgIGAhaW1wb3J0YW50YC4gR2VuZXJhbGx5IFVzZWQgdG8gY3JlYXRlIG92ZXJyaWRlIGNsYXNzZXMuXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LWJvbGQoJGltcG9ydGFudDogZmFsc2UpIHtcbiAgZm9udC13ZWlnaHQ6ICRnb3Z1ay1mb250LXdlaWdodC1ib2xkIGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xufVxuXG4vLy8gVGFidWxhciBudW1iZXIgaGVscGVyXG4vLy9cbi8vLyBTd2l0Y2hlcyBudW1lcmljYWwgZ2x5cGhzICgw4oCTOSkgdG8gdXNlIGFsdGVybmF0aXZlIGZvcm1zIHdpdGggYVxuLy8vIG1vbm9zcGFjZWQgYm91bmRpbmcgYm94LiBUaGlzIGVuc3VyZXMgdGhhdCBjb2x1bW5zIG9mIG51bWJlcnMsIHN1Y2hcbi8vLyBhcyB0aG9zZSBpbiB0YWJsZXMsIHJlbWFpbiBob3Jpem9udGFsbHkgYWxpZ25lZCB3aXRoIG9uZSBhbm90aGVyLlxuLy8vIFRoaXMgYWxzbyBoYXMgdGhlIHVzZWZ1bCBzaWRlIGVmZmVjdCBvZiBtYWtpbmcgbnVtYmVycyBtb3JlIGxlZ2libGVcbi8vLyBpbiBzb21lIHNpdHVhdGlvbnMsIHN1Y2ggYXMgcmVmZXJlbmNlIGNvZGVzLCBhcyB0aGUgbnVtYmVycyBhcmUgbW9yZVxuLy8vIGRpc3RpbmN0IGFuZCB2aXN1YWxseSBzZXBhcmF0ZWQgZnJvbSBvbmUgYW5vdGhlci5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGltcG9ydGFudCBbZmFsc2VdIC0gV2hldGhlciB0byBtYXJrIGRlY2xhcmF0aW9ucyBhc1xuLy8vICAgYCFpbXBvcnRhbnRgLiBHZW5lcmFsbHkgVXNlZCB0byBjcmVhdGUgb3ZlcnJpZGUgY2xhc3Nlcy5cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstZm9udC10YWJ1bGFyLW51bWJlcnMoJGltcG9ydGFudDogZmFsc2UpIHtcbiAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcyBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcbn1cblxuLy8vIFdvcmQgYnJlYWsgaGVscGVyXG4vLy9cbi8vLyBGb3JjaWJseSBicmVha3MgbG9uZyB3b3JkcyB0aGF0IGxhY2sgc3BhY2VzLCBzdWNoIGFzIGVtYWlsIGFkZHJlc3Nlcyxcbi8vLyBhY3Jvc3MgbXVsdGlwbGUgbGluZXMgd2hlbiB0aGV5IHdvdWxkbid0IG90aGVyd2lzZSBmaXQuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbXBvcnRhbnQgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gbWFyayBkZWNsYXJhdGlvbnMgYXNcbi8vLyAgIGAhaW1wb3J0YW50YC4gR2VuZXJhbGx5IHVzZWQgdG8gY3JlYXRlIG92ZXJyaWRlIGNsYXNzZXMuXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLXRleHQtYnJlYWstd29yZCgkaW1wb3J0YW50OiBmYWxzZSkge1xuICAvLyBJRSAxMSBhbmQgRWRnZSAxNuKAkzE3IG9ubHkgc3VwcG9ydCB0aGUgbm9uLXN0YW5kYXJkIGB3b3JkLXdyYXBgIHByb3BlcnR5XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZCBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcblxuICAvLyBBbGwgb3RoZXIgYnJvd3NlcnMgc3VwcG9ydCBgb3ZlcmZsb3ctd3JhcGBcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZCBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcbn1cblxuLy8vIENvbnZlcnQgbGluZS1oZWlnaHRzIHNwZWNpZmllZCBpbiBwaXhlbHMgaW50byBhIHJlbGF0aXZlIHZhbHVlLCB1bmxlc3Ncbi8vLyB0aGV5IGFyZSBhbHJlYWR5IHVuaXQtbGVzcyAoYW5kIHRodXMgYWxyZWFkeSB0cmVhdGVkIGFzIHJlbGF0aXZlIHZhbHVlcylcbi8vLyBvciB0aGUgdW5pdHMgZG8gbm90IG1hdGNoIHRoZSB1bml0cyB1c2VkIGZvciB0aGUgZm9udCBzaXplLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsaW5lLWhlaWdodCBMaW5lIGhlaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZm9udC1zaXplIEZvbnQgc2l6ZVxuLy8vIEByZXR1cm4ge051bWJlcn0gVGhlIGxpbmUgaGVpZ2h0IGFzIGVpdGhlciBhIHJlbGF0aXZlIHZhbHVlIG9yIHVubW9kaWZpZWRcbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuXG5AZnVuY3Rpb24gX2dvdnVrLWxpbmUtaGVpZ2h0KCRsaW5lLWhlaWdodCwgJGZvbnQtc2l6ZSkge1xuICBAaWYgbm90IHVuaXRsZXNzKCRsaW5lLWhlaWdodCkgYW5kIHVuaXQoJGxpbmUtaGVpZ2h0KSA9PSB1bml0KCRmb250LXNpemUpIHtcbiAgICAkbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodCAvICRmb250LXNpemU7XG4gIH1cblxuICBAcmV0dXJuICRsaW5lLWhlaWdodDtcbn1cblxuLy8vIEZvbnQgc2l6ZSBhbmQgbGluZSBoZWlnaHQgaGVscGVyXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgLSBQb2ludCBmcm9tIHRoZSB0eXBlIHNjYWxlICh0aGUgc2l6ZSBhcyBpdCB3b3VsZFxuLy8vICAgYXBwZWFyIG9uIHRhYmxldCBhbmQgYWJvdmUpXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvdmVycmlkZS1saW5lLWhlaWdodCBbZmFsc2VdIC0gTm9uIHJlc3BvbnNpdmUgY3VzdG9tIGxpbmVcbi8vLyAgIGhlaWdodC4gT21pdCB0byB1c2UgdGhlIGxpbmUgaGVpZ2h0IGZyb20gdGhlIGZvbnQgbWFwLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGltcG9ydGFudCBbZmFsc2VdIC0gV2hldGhlciB0byBtYXJrIGRlY2xhcmF0aW9ucyBhc1xuLy8vICAgYCFpbXBvcnRhbnRgLlxuLy8vXG4vLy8gQHRocm93IGlmIGAkc2l6ZWAgaXMgbm90IGEgdmFsaWQgcG9pbnQgZnJvbSB0aGUgdHlwZSBzY2FsZVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vL1xuLy8vIEBhbGlhcyBnb3Z1ay1mb250LXNpemVcbi8vLyBAZGVwcmVjYXRlZCBVc2UgYGdvdnVrLWZvbnQtc2l6ZWAgaW5zdGVhZFxuXG5AbWl4aW4gZ292dWstdHlwb2dyYXBoeS1yZXNwb25zaXZlKCRzaXplLCAkb3ZlcnJpZGUtbGluZS1oZWlnaHQ6IGZhbHNlLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICBAaW5jbHVkZSBfd2FybmluZyhcbiAgICBcImdvdnVrLXR5cG9ncmFwaHktcmVzcG9uc2l2ZVwiLFxuICAgIFwiZ292dWstdHlwb2dyYXBoeS1yZXNwb25zaXZlIGlzIGRlcHJlY2F0ZWQuIFVzZSBnb3Z1ay1mb250LXNpemUgaW5zdGVhZC5cIlxuICApO1xuICBAaW5jbHVkZSBnb3Z1ay1mb250LXNpemUoJHNpemUsICRvdmVycmlkZS1saW5lLWhlaWdodCwgJGltcG9ydGFudCk7XG59XG5cbi8vLyBGb250IHNpemUgYW5kIGxpbmUgaGVpZ2h0IGhlbHBlclxuLy8vXG4vLy8gVGFrZXMgYSBwb2ludCBmcm9tIHRoZSByZXNwb25zaXZlICdmb250IG1hcCcgYXMgYW4gYXJndW1lbnQgKHRoZSBzaXplIGFzIGl0XG4vLy8gd291bGQgYXBwZWFyIG9uIHRhYmxldCBhbmQgYWJvdmUpLCBhbmQgdXNlcyBpdCB0byBjcmVhdGUgZm9udC1zaXplIGFuZFxuLy8vIGxpbmUtaGVpZ2h0IGRlY2xhcmF0aW9ucyBmb3IgZGlmZmVyZW50IGJyZWFrcG9pbnRzLCBhbmQgcHJpbnQuXG4vLy9cbi8vLyBFeGFtcGxlIGZvbnQgbWFwOlxuLy8vXG4vLy8gYGBgc2Nzc1xuLy8vIDE5OiAoXG4vLy8gICBudWxsOiAoXG4vLy8gICAgIGZvbnQtc2l6ZTogMTZweCxcbi8vLyAgICAgbGluZS1oZWlnaHQ6IDIwcHhcbi8vLyAgICksXG4vLy8gICB0YWJsZXQ6IChcbi8vLyAgICAgZm9udC1zaXplOiAxOXB4LFxuLy8vICAgICBsaW5lLWhlaWdodDogMjVweFxuLy8vICAgKSxcbi8vLyAgIHByaW50OiAoXG4vLy8gICAgIGZvbnQtc2l6ZTogMTRwdCxcbi8vLyAgICAgbGluZS1oZWlnaHQ6IDEuMTVcbi8vLyAgIClcbi8vLyApO1xuLy8vIGBgYFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgfCBTdHJpbmd9ICRzaXplIC0gUG9pbnQgZnJvbSB0aGUgdHlwZSBzY2FsZSAodGhlIHNpemUgYXNcbi8vLyAgIGl0IHdvdWxkIGFwcGVhciBvbiB0YWJsZXQgYW5kIGFib3ZlKVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbGluZS1oZWlnaHQgW2ZhbHNlXSAtIE5vbiByZXNwb25zaXZlIGN1c3RvbSBsaW5lXG4vLy8gICBoZWlnaHQuIE9taXQgdG8gdXNlIHRoZSBsaW5lIGhlaWdodCBmcm9tIHRoZSBmb250IG1hcC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbXBvcnRhbnQgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gbWFyayBkZWNsYXJhdGlvbnMgYXNcbi8vLyAgIGAhaW1wb3J0YW50YC5cbi8vL1xuLy8vIEB0aHJvdyBpZiBgJHNpemVgIGlzIG5vdCBhIHZhbGlkIHBvaW50IGZyb20gdGhlIHR5cGUgc2NhbGVcbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1mb250LXNpemUoJHNpemUsICRsaW5lLWhlaWdodDogZmFsc2UsICRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIC8vIEZsYWcgZm9udCBzaXplcyB0aGF0IHN0YXJ0IHdpdGggdW5kZXJzY29yZXMgc28gd2UgY2FuIHN1cHByZXNzIHdhcm5pbmdzIG9uXG4gIC8vIGRlcHJlY2F0ZWQgc2l6ZXMgdXNlZCBpbnRlcm5hbGx5LCBmb3IgZXhhbXBsZSBgZ292dWstZm9udCgkc2l6ZTogXCJfMTRcIilgXG4gICRzaXplLWludGVybmFsLXVzZS1vbmx5OiBzdHItc2xpY2UoI3skc2l6ZX0sIDEsIDEpID09IFwiX1wiO1xuXG4gIC8vIFJlbW92ZSB1bmRlcnNjb3JlIGZyb20gZm9udCBzaXplcyBmbGFnZ2VkIGZvciBpbnRlcm5hbCB1c2VcbiAgQGlmICRzaXplLWludGVybmFsLXVzZS1vbmx5IHtcbiAgICAkc2l6ZTogc3RyLXNsaWNlKCN7JHNpemV9LCAyKTtcbiAgfVxuXG4gIC8vIENoZWNrIGZvciBhIGZvbnQgbWFwIGV4YWN0bHkgbWF0Y2hpbmcgdGhlIGdpdmVuIHNpemVcbiAgJGZvbnQtbWFwOiBtYXAtZ2V0KCRnb3Z1ay10eXBvZ3JhcGh5LXNjYWxlLCAkc2l6ZSk7XG5cbiAgLy8gTm8gbWF0Y2g/IFRyeSB3aXRoIHN0cmluZyB0eXBlIChlLmcuICRzaXplOiBcIjE2XCIgbm90IDE2KVxuICBAaWYgbm90ICRmb250LW1hcCB7XG4gICAgQGVhY2ggJGZvbnQtc2l6ZSBpbiBtYXAta2V5cygkZ292dWstdHlwb2dyYXBoeS1zY2FsZSkge1xuICAgICAgQGlmIG5vdCAkZm9udC1tYXAgYW5kICN7JGZvbnQtc2l6ZX0gPT0gI3skc2l6ZX0ge1xuICAgICAgICAkZm9udC1tYXA6IG1hcC1nZXQoJGdvdnVrLXR5cG9ncmFwaHktc2NhbGUsICRmb250LXNpemUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFN0aWxsIG5vIG1hdGNoPyBUaHJvdyBlcnJvclxuICBAaWYgbm90ICRmb250LW1hcCB7XG4gICAgQGVycm9yIFwiVW5rbm93biBmb250IHNpemUgYCN7JHNpemV9YCAtIGV4cGVjdGVkIGEgcG9pbnQgZnJvbSB0aGUgdHlwZSBzY2FsZS5cIjtcbiAgfVxuXG4gIC8vIENoZWNrIGZvciBhIGRlcHJlY2F0aW9uIHdpdGhpbiB0aGUgdHlwZSBzY2FsZVxuICAkZGVwcmVjYXRpb246IG1hcC1nZXQoJGZvbnQtbWFwLCBcImRlcHJlY2F0aW9uXCIpO1xuXG4gIEBpZiAkZGVwcmVjYXRpb24ge1xuICAgIC8vIFdhcm4gb24gZGVwcmVjYXRlZCBmb250IHNpemVzIHVubGVzcyBmbGFnZ2VkIGZvciBpbnRlcm5hbCB1c2VcbiAgICBAaWYgbm90ICRzaXplLWludGVybmFsLXVzZS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIF93YXJuaW5nKG1hcC1nZXQoJGRlcHJlY2F0aW9uLCBcImtleVwiKSwgbWFwLWdldCgkZGVwcmVjYXRpb24sIFwibWVzc2FnZVwiKSk7XG4gICAgfVxuXG4gICAgLy8gcmVtb3ZlIHRoZSBkZXByZWNhdGlvbiBtYXAga2V5cyBzbyB0aGV5IGRvIG5vdCBicmVhayB0aGUgYnJlYWtwb2ludCBsb29wXG4gICAgJGZvbnQtbWFwOiBtYXAtcmVtb3ZlKCRmb250LW1hcCwgXCJkZXByZWNhdGlvblwiKTtcbiAgfVxuXG4gIEBlYWNoICRicmVha3BvaW50LCAkYnJlYWtwb2ludC1tYXAgaW4gJGZvbnQtbWFwIHtcbiAgICAkZm9udC1zaXplOiBtYXAtZ2V0KCRicmVha3BvaW50LW1hcCwgXCJmb250LXNpemVcIik7XG4gICAgJGZvbnQtc2l6ZS1yZW06IGdvdnVrLXB4LXRvLXJlbSgkZm9udC1zaXplKTtcblxuICAgIC8vICRjYWxjdWxhdGVkLWxpbmUtaGVpZ2h0IGlzIGEgc2VwYXJhdGUgdmFyaWFibGUgZnJvbSAkbGluZS1oZWlnaHQsXG4gICAgLy8gYXMgb3RoZXJ3aXNlIHRoZSB2YWx1ZSB3b3VsZCBnZXQgcmVkZWZpbmVkIHdpdGggZWFjaCBsb29wIGFuZFxuICAgIC8vIGV2ZW50dWFsbHkgYnJlYWsgX2dvdnVrLWxpbmUtaGVpZ2h0LlxuICAgIC8vXG4gICAgLy8gV2UgY29udGludWUgdG8gY2FsbCB0aGUgcGFyYW0gJGxpbmUtaGVpZ2h0IHRvIHN0YXkgY29uc2lzdGVudCB3aXRoIHRoZVxuICAgIC8vIG5hbWluZyB3aXRoIGdvdnVrLWZvbnQuXG4gICAgJGNhbGN1bGF0ZWQtbGluZS1oZWlnaHQ6IF9nb3Z1ay1saW5lLWhlaWdodChcbiAgICAgICRsaW5lLWhlaWdodDogaWYoJGxpbmUtaGVpZ2h0LCAkbGluZS1oZWlnaHQsIG1hcC1nZXQoJGJyZWFrcG9pbnQtbWFwLCBcImxpbmUtaGVpZ2h0XCIpKSxcbiAgICAgICRmb250LXNpemU6ICRmb250LXNpemVcbiAgICApO1xuXG4gICAgLy8gTWFyayBydWxlcyBhcyAhaW1wb3J0YW50IGlmICRpbXBvcnRhbnQgaXMgdHJ1ZSAtIHRoaXMgd2lsbCByZXN1bHQgaW5cbiAgICAvLyB0aGVzZSB2YXJpYWJsZXMgYmVjb21pbmcgc3RyaW5ncywgc28gdGhpcyBuZWVkcyB0byBoYXBwZW4gKmFmdGVyKiB0aGV5XG4gICAgLy8gYXJlIHVzZWQgaW4gY2FsY3VsYXRpb25zXG4gICAgJGZvbnQtc2l6ZTogJGZvbnQtc2l6ZSBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAkZm9udC1zaXplLXJlbTogJGZvbnQtc2l6ZS1yZW0gaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgJGNhbGN1bGF0ZWQtbGluZS1oZWlnaHQ6ICRjYWxjdWxhdGVkLWxpbmUtaGVpZ2h0IGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuXG4gICAgQGlmIG5vdCAkYnJlYWtwb2ludCB7XG4gICAgICBmb250LXNpemU6ICRmb250LXNpemUtcmVtO1xuICAgICAgbGluZS1oZWlnaHQ6ICRjYWxjdWxhdGVkLWxpbmUtaGVpZ2h0O1xuICAgIH0gQGVsc2UgaWYgJGJyZWFrcG9pbnQgPT0gXCJwcmludFwiIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRtZWRpYS10eXBlOiBwcmludCkge1xuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkY2FsY3VsYXRlZC1saW5lLWhlaWdodDtcbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiAkYnJlYWtwb2ludCkge1xuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtcmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogJGNhbGN1bGF0ZWQtbGluZS1oZWlnaHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBGb250IGhlbHBlclxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgfCBCb29sZWFuIHwgU3RyaW5nfSAkc2l6ZSBQb2ludCBmcm9tIHRoZSB0eXBlIHNjYWxlICh0aGVcbi8vLyAgIHNpemUgYXMgaXQgd291bGQgYXBwZWFyIG9uIHRhYmxldCBhbmQgYWJvdmUpLiBVc2UgYGZhbHNlYCB0byBhdm9pZCBzZXR0aW5nXG4vLy8gICBhIHNpemUuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR3ZWlnaHQgW3JlZ3VsYXJdIC0gV2VpZ2h0OiBgYm9sZGAgb3IgYHJlZ3VsYXJgXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdGFidWxhciBbZmFsc2VdIC0gV2hldGhlciB0byB1c2UgdGFidWxhciBudW1iZXJzIG9yIG5vdFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbGluZS1oZWlnaHQgW2ZhbHNlXSAtIExpbmUtaGVpZ2h0LCBpZiBvdmVycmlkaW5nIHRoZVxuLy8vICAgZGVmYXVsdFxuLy8vXG4vLy8gQHRocm93IGlmIGAkc2l6ZWAgaXMgbm90IGEgdmFsaWQgcG9pbnQgZnJvbSB0aGUgdHlwZSBzY2FsZSAob3IgZmFsc2UpXG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstZm9udCgkc2l6ZSwgJHdlaWdodDogcmVndWxhciwgJHRhYnVsYXI6IGZhbHNlLCAkbGluZS1oZWlnaHQ6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktY29tbW9uO1xuXG4gIEBpZiAkdGFidWxhciB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udC10YWJ1bGFyLW51bWJlcnM7XG4gIH1cblxuICBAaWYgJHdlaWdodCA9PSByZWd1bGFyIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1yZWd1bGFyO1xuICB9IEBlbHNlIGlmICR3ZWlnaHQgPT0gYm9sZCB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZDtcbiAgfVxuXG4gIEBpZiAkc2l6ZSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udC1zaXplKCRzaXplLCAkbGluZS1oZWlnaHQpO1xuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV90eXBvZ3JhcGh5LnNjc3MubWFwICovXG4iLCIvLy8vXG4vLy8gQGdyb3VwIHNldHRpbmdzL3R5cG9ncmFwaHlcbi8vLy9cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBGb250IGZhbWlsaWVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8vIEZvbnQgZmFtaWxpZXMgdG8gdXNlIGZvciBhbGwgdHlwb2dyYXBoeSBvbiBzY3JlZW4gbWVkaWFcbi8vL1xuLy8vIEB0eXBlIExpc3Rcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstZm9udC1mYW1pbHk6IFwiR0RTIFRyYW5zcG9ydFwiLCBhcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWxpZXMgdG8gdXNlIGZvciBwcmludCBtZWRpYVxuLy8vXG4vLy8gV2UgcmVjb21tZW5kIHRoYXQgeW91IHVzZSBzeXN0ZW0gZm9udHMgd2hlbiBwcmludGluZy4gVGhpcyB3aWxsIGF2b2lkIGlzc3Vlc1xuLy8vIHdpdGggc29tZSBwcmludGVyIGRyaXZlcnMgYW5kIG9wZXJhdGluZyBzeXN0ZW1zLlxuLy8vXG4vLy8gQHR5cGUgTGlzdFxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1mb250LWZhbWlseS1wcmludDogc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8vIEluY2x1ZGUgdGhlIGRlZmF1bHQgQGZvbnQtZmFjZSBkZWNsYXJhdGlvbnNcbi8vL1xuLy8vIERlZmF1bHRzIHRvIHRydWUgaWYgXCJHRFMgVHJhbnNwb3J0XCIgYXBwZWFycyBpbiB0aGUgJGdvdnVrLWZvbnQtZmFtaWx5XG4vLy8gc2V0dGluZy5cbi8vL1xuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstaW5jbHVkZS1kZWZhdWx0LWZvbnQtZmFjZTogaWYoaW5kZXgoJGdvdnVrLWZvbnQtZmFtaWx5LCBcIkdEUyBUcmFuc3BvcnRcIiksIHRydWUsIGZhbHNlKSAhZGVmYXVsdDtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBGb250IHdlaWdodHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIHJlZ3VsYXIgdHlwb2dyYXBoeVxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcbiRnb3Z1ay1mb250LXdlaWdodC1yZWd1bGFyOiA0MDAgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgYm9sZCB0eXBvZ3JhcGh5XG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuJGdvdnVrLWZvbnQtd2VpZ2h0LWJvbGQ6IDcwMCAhZGVmYXVsdDtcblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X3R5cG9ncmFwaHktZm9udC5zY3NzLm1hcCAqL1xuIiwiLy8vL1xuLy8vIEBncm91cCBoZWxwZXJzXG4vLy8vXG5cbkBpbXBvcnQgXCIuLi90b29scy9leHBvcnRzXCI7XG5cbi8vLyBGb250IEZhY2UgLSBHRFMgVHJhbnNwb3J0XG4vLy9cbi8vLyBPdXRwdXRzIHRoZSBmb250LWZhY2UgZGVjbGFyYXRpb24gZm9yIEdEUyBUcmFuc3BvcnQgYXQgdGhlIHJvb3Qgb2YgdGhlIENTUyBkb2N1bWVudFxuLy8vIHRoZSBmaXJzdCB0aW1lIGl0IGlzIGNhbGxlZC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuXG5AbWl4aW4gX2dvdnVrLWZvbnQtZmFjZS1nZHMtdHJhbnNwb3J0IHtcbiAgQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2hlbHBlcnMvZm9udC1mYWNlc1wiKSB7XG4gICAgQGF0LXJvb3Qge1xuICAgICAgLyohIENvcHlyaWdodCAoYykgMjAxMSBieSBNYXJnYXJldCBDYWx2ZXJ0ICYgSGVucmlrIEt1YmVsLiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGUgZm9udCBoYXMgYmVlbiBjdXN0b21pc2VkIGZvciBleGNsdXNpdmUgdXNlIG9uIGdvdi51ay4gVGhpcyBjdXQgaXMgbm90IGNvbW1lcmNpYWxseSBhdmFpbGFibGUuICovIC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgc2Nzcy9jb21tZW50LW5vLWxvdWQgICovXG4gICAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiR0RTIFRyYW5zcG9ydFwiO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIHNyYzpcbiAgICAgICAgICBnb3Z1ay1mb250LXVybChcImxpZ2h0LTk0YTA3ZTA2YTEtdjIud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksXG4gICAgICAgICAgZ292dWstZm9udC11cmwoXCJsaWdodC1mNTkxYjEzZjdkLXYyLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgICAgICAgZm9udC1kaXNwbGF5OiBmYWxsYmFjaztcbiAgICAgIH1cblxuICAgICAgQGZvbnQtZmFjZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkdEUyBUcmFuc3BvcnRcIjtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgc3JjOlxuICAgICAgICAgIGdvdnVrLWZvbnQtdXJsKFwiYm9sZC1iNTQyYmViMjc0LXYyLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLFxuICAgICAgICAgIGdvdnVrLWZvbnQtdXJsKFwiYm9sZC1hZmZhOTY1NzFkLXYyLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgICAgICAgZm9udC1kaXNwbGF5OiBmYWxsYmFjaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2ZvbnQtZmFjZXMuc2Nzcy5tYXAgKi9cbiIsIi8vIG1xKCkgdjQuMC4yXG4vLyBzYXNzLW1xL3Nhc3MtbXFcblxuQGNoYXJzZXQgXCJVVEYtOFwiOyAvLyBGaXhlcyBhbiBpc3N1ZSB3aGVyZSBSdWJ5IGxvY2FsZSBpcyBub3Qgc2V0IHByb3Blcmx5XG4gICAgICAgICAgICAgICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcS9wdWxsLzEwXG5cbi8vLyBCYXNlIGZvbnQgc2l6ZSBvbiB0aGUgYDxib2R5PmAgZWxlbWVudFxuLy8vIEB0eXBlIE51bWJlciAodW5pdClcbiRtcS1iYXNlLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcblxuLy8vIFJlc3BvbnNpdmUgbW9kZVxuLy8vXG4vLy8gU2V0IHRvIGBmYWxzZWAgdG8gZW5hYmxlIHN1cHBvcnQgZm9yIGJyb3dzZXJzIHRoYXQgZG8gbm90IHN1cHBvcnQgQG1lZGlhIHF1ZXJpZXMsXG4vLy8gKElFIDw9IDgsIEZpcmVmb3ggPD0gMywgT3BlcmEgPD0gOSlcbi8vL1xuLy8vIFlvdSBjb3VsZCBjcmVhdGUgYSBzdHlsZXNoZWV0IHNlcnZlZCBleGNsdXNpdmVseSB0byBvbGRlciBicm93c2Vycyxcbi8vLyB3aGVyZSBAbWVkaWEgcXVlcmllcyBhcmUgcmFzdGVyaXplZFxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAvLyBvbGQtaWUuc2Nzc1xuLy8vICAkbXEtcmVzcG9uc2l2ZTogZmFsc2U7XG4vLy8gIEBpbXBvcnQgJ21haW4nOyAvLyBAbWVkaWEgcXVlcmllcyBpbiB0aGlzIGZpbGUgd2lsbCBiZSByYXN0ZXJpemVkIHVwIHRvICRtcS1zdGF0aWMtYnJlYWtwb2ludFxuLy8vICAgICAgICAgICAgICAgICAgIC8vIGxhcmdlciBicmVha3BvaW50cyB3aWxsIGJlIGlnbm9yZWRcbi8vL1xuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3Jlc3BvbnNpdmUtbW9kZS1vZmYgRGlzYWJsZWQgcmVzcG9uc2l2ZSBtb2RlIGRvY3VtZW50YXRpb25cbiRtcS1yZXNwb25zaXZlOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBsaXN0XG4vLy9cbi8vLyBOYW1lIHlvdXIgYnJlYWtwb2ludHMgaW4gYSB3YXkgdGhhdCBjcmVhdGVzIGEgdWJpcXVpdG91cyBsYW5ndWFnZVxuLy8vIGFjcm9zcyB0ZWFtIG1lbWJlcnMuIEl0IHdpbGwgaW1wcm92ZSBjb21tdW5pY2F0aW9uIGJldHdlZW5cbi8vLyBzdGFrZWhvbGRlcnMsIGRlc2lnbmVycywgZGV2ZWxvcGVycywgYW5kIHRlc3RlcnMuXG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3NlZWluZy10aGUtY3VycmVudGx5LWFjdGl2ZS1icmVha3BvaW50IEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcbiRtcS1icmVha3BvaW50czogKFxuICAgIG1vYmlsZTogIDMyMHB4LFxuICAgIHRhYmxldDogIDc0MHB4LFxuICAgIGRlc2t0b3A6IDk4MHB4LFxuICAgIHdpZGU6ICAgIDEzMDBweFxuKSAhZGVmYXVsdDtcblxuLy8vIFN0YXRpYyBicmVha3BvaW50IChmb3IgZml4ZWQtd2lkdGggbGF5b3V0cylcbi8vL1xuLy8vIERlZmluZSB0aGUgYnJlYWtwb2ludCBmcm9tICRtcS1icmVha3BvaW50cyB0aGF0IHNob3VsZFxuLy8vIGJlIHVzZWQgYXMgdGhlIHRhcmdldCB3aWR0aCBmb3IgdGhlIGZpeGVkLXdpZHRoIGxheW91dFxuLy8vIChpLmUuIHdoZW4gJG1xLXJlc3BvbnNpdmUgaXMgc2V0IHRvICdmYWxzZScpIGluIGEgb2xkLWllLnNjc3Ncbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgLy8gdGFibGV0LW9ubHkuc2Nzc1xuLy8vICAvL1xuLy8vICAvLyBJZ25vcmUgYWxsIHN0eWxlcyBhYm92ZSB0YWJsZXQgYnJlYWtwb2ludCxcbi8vLyAgLy8gYW5kIGZpeCB0aGUgc3R5bGVzIChlLmcuIGxheW91dCkgYXQgdGFibGV0IHdpZHRoXG4vLy8gICRtcS1yZXNwb25zaXZlOiBmYWxzZTtcbi8vLyAgJG1xLXN0YXRpYy1icmVha3BvaW50OiB0YWJsZXQ7XG4vLy8gIEBpbXBvcnQgJ21haW4nOyAvLyBAbWVkaWEgcXVlcmllcyBpbiB0aGlzIGZpbGUgd2lsbCBiZSByYXN0ZXJpemVkIHVwIHRvIHRhYmxldFxuLy8vICAgICAgICAgICAgICAgICAgIC8vIGxhcmdlciBicmVha3BvaW50cyB3aWxsIGJlIGlnbm9yZWRcbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjYWRkaW5nLWN1c3RvbS1icmVha3BvaW50cyBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXG4kbXEtc3RhdGljLWJyZWFrcG9pbnQ6IGRlc2t0b3AgIWRlZmF1bHQ7XG5cbi8vLyBTaG93IGJyZWFrcG9pbnRzIGluIHRoZSB0b3AgcmlnaHQgY29ybmVyXG4vLy9cbi8vLyBJZiB5b3Ugd2FudCB0byBkaXNwbGF5IHRoZSBjdXJyZW50bHkgYWN0aXZlIGJyZWFrcG9pbnQgaW4gdGhlIHRvcFxuLy8vIHJpZ2h0IGNvcm5lciBvZiB5b3VyIHNpdGUgZHVyaW5nIGRldmVsb3BtZW50LCBhZGQgdGhlIGJyZWFrcG9pbnRzXG4vLy8gdG8gdGhpcyBsaXN0LCBvcmRlcmVkIGJ5IHdpZHRoLCBlLmcuIChtb2JpbGUsIHRhYmxldCwgZGVza3RvcCkuXG4vLy9cbi8vLyBAdHlwZSBtYXBcbiRtcS1zaG93LWJyZWFrcG9pbnRzOiAoKSAhZGVmYXVsdDtcblxuLy8vIEN1c3RvbWl6ZSB0aGUgbWVkaWEgdHlwZSAoZS5nLiBgQG1lZGlhIHNjcmVlbmAgb3IgYEBtZWRpYSBwcmludGApXG4vLy8gQnkgZGVmYXVsdCBzYXNzLW1xIHVzZXMgYW4gXCJhbGxcIiBtZWRpYSB0eXBlIChgQG1lZGlhIGFsbCBhbmQg4oCmYClcbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjY2hhbmdpbmctbWVkaWEtdHlwZSBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXG4kbXEtbWVkaWEtdHlwZTogYWxsICFkZWZhdWx0O1xuXG4vLy8gQ29udmVydCBwaXhlbHMgdG8gZW1zXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHB4IC0gdmFsdWUgdG8gY29udmVydFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZS1mb250LXNpemUgKCRtcS1iYXNlLWZvbnQtc2l6ZSkgLSBgPGJvZHk+YCBmb250IHNpemVcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgJGZvbnQtc2l6ZS1pbi1lbXM6IG1xLXB4MmVtKDE2cHgpO1xuLy8vICBwIHsgZm9udC1zaXplOiBtcS1weDJlbSgxNnB4KTsgfVxuLy8vXG4vLy8gQHJlcXVpcmVzICRtcS1iYXNlLWZvbnQtc2l6ZVxuLy8vIEByZXR1cm5zIHtOdW1iZXJ9XG5AZnVuY3Rpb24gbXEtcHgyZW0oJHB4LCAkYmFzZS1mb250LXNpemU6ICRtcS1iYXNlLWZvbnQtc2l6ZSkge1xuICAgIEBpZiB1bml0bGVzcygkcHgpIHtcbiAgICAgICAgQHdhcm4gXCJBc3N1bWluZyAjeyRweH0gdG8gYmUgaW4gcGl4ZWxzLCBhdHRlbXB0aW5nIHRvIGNvbnZlcnQgaXQgaW50byBwaXhlbHMuXCI7XG4gICAgICAgIEByZXR1cm4gbXEtcHgyZW0oJHB4ICogMXB4LCAkYmFzZS1mb250LXNpemUpO1xuICAgIH0gQGVsc2UgaWYgdW5pdCgkcHgpID09IGVtIHtcbiAgICAgICAgQHJldHVybiAkcHg7XG4gICAgfVxuICAgIEByZXR1cm4gKCRweCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07XG59XG5cbi8vLyBHZXQgYSBicmVha3BvaW50J3Mgd2lkdGhcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGJyZWFrcG9pbnQuIE9uZSBvZiAkbXEtYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgJHRhYmxldC13aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgodGFibGV0KTtcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKGRlc2t0b3ApKSB7fVxuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBWYWx1ZSBpbiBwaXhlbHNcbkBmdW5jdGlvbiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkbXEtYnJlYWtwb2ludHMpIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkbmFtZSkge1xuICAgICAgICBAcmV0dXJuIG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEB3YXJuIFwiQnJlYWtwb2ludCAjeyRuYW1lfSB3YXNuJ3QgZm91bmQgaW4gJGJyZWFrcG9pbnRzLlwiO1xuICAgIH1cbn1cblxuLy8vIE1lZGlhIFF1ZXJ5IG1peGluXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICRmcm9tIChmYWxzZSkgLSBPbmUgb2YgJG1xLWJyZWFrcG9pbnRzXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkdW50aWwgKGZhbHNlKSAtIE9uZSBvZiAkbXEtYnJlYWtwb2ludHNcbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICRhbmQgKGZhbHNlKSAtIEFkZGl0aW9uYWwgbWVkaWEgcXVlcnkgcGFyYW1ldGVyc1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVkaWEtdHlwZSAoJG1xLW1lZGlhLXR5cGUpIC0gTWVkaWEgdHlwZTogc2NyZWVuLCBwcmludOKAplxuLy8vXG4vLy8gQGlnbm9yZSBVbmRvY3VtZW50ZWQgQVBJLCBmb3IgYWR2YW5jZWQgdXNlIG9ubHk6XG4vLy8gQGlnbm9yZSBAcGFyYW0ge01hcH0gJGJyZWFrcG9pbnRzICgkbXEtYnJlYWtwb2ludHMpXG4vLy8gQGlnbm9yZSBAcGFyYW0ge1N0cmluZ30gJHN0YXRpYy1icmVha3BvaW50ICgkbXEtc3RhdGljLWJyZWFrcG9pbnQpXG4vLy9cbi8vLyBAY29udGVudCBzdHlsaW5nIHJ1bGVzLCB3cmFwcGVkIGludG8gYSBAbWVkaWEgcXVlcnkgd2hlbiAkcmVzcG9uc2l2ZSBpcyB0cnVlXG4vLy9cbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtbWVkaWEtdHlwZVxuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1zdGF0aWMtYnJlYWtwb2ludFxuLy8vIEByZXF1aXJlcyB7ZnVuY3Rpb259IG1xLXB4MmVtXG4vLy8gQHJlcXVpcmVzIHtmdW5jdGlvbn0gbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGhcbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjcmVzcG9uc2l2ZS1tb2RlLW9uLWRlZmF1bHQgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAuZWxlbWVudCB7XG4vLy8gICAgQGluY2x1ZGUgbXEoJGZyb206IG1vYmlsZSkge1xuLy8vICAgICAgY29sb3I6IHJlZDtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEoJHVudGlsOiB0YWJsZXQpIHtcbi8vLyAgICAgIGNvbG9yOiBibHVlO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcShtb2JpbGUsIHRhYmxldCkge1xuLy8vICAgICAgY29sb3I6IGdyZWVuO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0LCAkYW5kOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJykge1xuLy8vICAgICAgY29sb3I6IHRlYWw7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKDk1MHB4KSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEodGFibGV0LCAkbWVkaWEtdHlwZTogc2NyZWVuKSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gICAgLy8gQWR2YW5jZWQgdXNlOlxuLy8vICAgICRteS1icmVha3BvaW50czogKEw6IDkwMHB4LCBYTDogMTIwMHB4KTtcbi8vLyAgICBAaW5jbHVkZSBtcShMLCAkYnJlYWtwb2ludHM6ICRteS1icmVha3BvaW50cywgJHN0YXRpYy1icmVha3BvaW50OiBMKSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gIH1cbkBtaXhpbiBtcShcbiAgICAkZnJvbTogZmFsc2UsXG4gICAgJHVudGlsOiBmYWxzZSxcbiAgICAkYW5kOiBmYWxzZSxcbiAgICAkbWVkaWEtdHlwZTogJG1xLW1lZGlhLXR5cGUsXG4gICAgJGJyZWFrcG9pbnRzOiAkbXEtYnJlYWtwb2ludHMsXG4gICAgJHJlc3BvbnNpdmU6ICRtcS1yZXNwb25zaXZlLFxuICAgICRzdGF0aWMtYnJlYWtwb2ludDogJG1xLXN0YXRpYy1icmVha3BvaW50XG4pIHtcbiAgICAkbWluLXdpZHRoOiAwO1xuICAgICRtYXgtd2lkdGg6IDA7XG4gICAgJG1lZGlhLXF1ZXJ5OiAnJztcblxuICAgIC8vIEZyb206IHRoaXMgYnJlYWtwb2ludCAoaW5jbHVzaXZlKVxuICAgIEBpZiAkZnJvbSB7XG4gICAgICAgIEBpZiB0eXBlLW9mKCRmcm9tKSA9PSBudW1iZXIge1xuICAgICAgICAgICAgJG1pbi13aWR0aDogbXEtcHgyZW0oJGZyb20pO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICRtaW4td2lkdGg6IG1xLXB4MmVtKG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRmcm9tLCAkYnJlYWtwb2ludHMpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFVudGlsOiB0aGF0IGJyZWFrcG9pbnQgKGV4Y2x1c2l2ZSlcbiAgICBAaWYgJHVudGlsIHtcbiAgICAgICAgQGlmIHR5cGUtb2YoJHVudGlsKSA9PSBudW1iZXIge1xuICAgICAgICAgICAgJG1heC13aWR0aDogbXEtcHgyZW0oJHVudGlsKTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAkbWF4LXdpZHRoOiBtcS1weDJlbShtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkdW50aWwsICRicmVha3BvaW50cykpIC0gLjAxZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIHN1cHBvcnQgaXMgZGlzYWJsZWQsIHJhc3Rlcml6ZSB0aGUgb3V0cHV0IG91dHNpZGUgQG1lZGlhIGJsb2Nrc1xuICAgIC8vIFRoZSBicm93c2VyIHdpbGwgcmVseSBvbiB0aGUgY2FzY2FkZSBpdHNlbGYuXG4gICAgQGlmICRyZXNwb25zaXZlID09IGZhbHNlIHtcbiAgICAgICAgJHN0YXRpYy1icmVha3BvaW50LXdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkc3RhdGljLWJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG4gICAgICAgICR0YXJnZXQtd2lkdGg6IG1xLXB4MmVtKCRzdGF0aWMtYnJlYWtwb2ludC13aWR0aCk7XG5cbiAgICAgICAgLy8gT3V0cHV0IG9ubHkgcnVsZXMgdGhhdCBzdGFydCBhdCBvciBzcGFuIG91ciB0YXJnZXQgd2lkdGhcbiAgICAgICAgQGlmIChcbiAgICAgICAgICAgICRhbmQgPT0gZmFsc2VcbiAgICAgICAgICAgIGFuZCAkbWluLXdpZHRoIDw9ICR0YXJnZXQtd2lkdGhcbiAgICAgICAgICAgIGFuZCAoXG4gICAgICAgICAgICAgICAgJHVudGlsID09IGZhbHNlIG9yICRtYXgtd2lkdGggPj0gJHRhcmdldC13aWR0aFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgYW5kICRtZWRpYS10eXBlICE9ICdwcmludCdcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgc3VwcG9ydCBpcyBlbmFibGVkLCBvdXRwdXQgcnVsZXMgaW5zaWRlIEBtZWRpYSBxdWVyaWVzXG4gICAgQGVsc2Uge1xuICAgICAgICBAaWYgJG1pbi13aWR0aCAhPSAwIHsgJG1lZGlhLXF1ZXJ5OiAnI3skbWVkaWEtcXVlcnl9IGFuZCAobWluLXdpZHRoOiAjeyRtaW4td2lkdGh9KSc7IH1cbiAgICAgICAgQGlmICRtYXgtd2lkdGggIT0gMCB7ICRtZWRpYS1xdWVyeTogJyN7JG1lZGlhLXF1ZXJ5fSBhbmQgKG1heC13aWR0aDogI3skbWF4LXdpZHRofSknOyB9XG4gICAgICAgIEBpZiAkYW5kICAgICAgICAgICAgeyAkbWVkaWEtcXVlcnk6ICcjeyRtZWRpYS1xdWVyeX0gYW5kICN7JGFuZH0nOyB9XG5cbiAgICAgICAgLy8gUmVtb3ZlIHVubmVjZXNzYXJ5IG1lZGlhIHF1ZXJ5IHByZWZpeCAnYWxsIGFuZCAnXG4gICAgICAgIEBpZiAoJG1lZGlhLXR5cGUgPT0gJ2FsbCcgYW5kICRtZWRpYS1xdWVyeSAhPSAnJykge1xuICAgICAgICAgICAgJG1lZGlhLXR5cGU6ICcnO1xuICAgICAgICAgICAgJG1lZGlhLXF1ZXJ5OiBzdHItc2xpY2UodW5xdW90ZSgkbWVkaWEtcXVlcnkpLCA2KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAjeyRtZWRpYS10eXBlICsgJG1lZGlhLXF1ZXJ5fSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8vIFF1aWNrIHNvcnRcbi8vL1xuLy8vIEBhdXRob3IgU2FtIFJpY2hhcmRzXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIExpc3QgdG8gc29ydFxuLy8vIEByZXR1cm5zIHtMaXN0fSBTb3J0ZWQgTGlzdFxuQGZ1bmN0aW9uIF9tcS1xdWljay1zb3J0KCRsaXN0KSB7XG4gICAgJGxlc3M6ICAoKTtcbiAgICAkZXF1YWw6ICgpO1xuICAgICRsYXJnZTogKCk7XG5cbiAgICBAaWYgbGVuZ3RoKCRsaXN0KSA+IDEge1xuICAgICAgICAkc2VlZDogbnRoKCRsaXN0LCBjZWlsKGxlbmd0aCgkbGlzdCkgLyAyKSk7XG5cbiAgICAgICAgQGVhY2ggJGl0ZW0gaW4gJGxpc3Qge1xuICAgICAgICAgICAgQGlmICgkaXRlbSA9PSAkc2VlZCkge1xuICAgICAgICAgICAgICAgICRlcXVhbDogYXBwZW5kKCRlcXVhbCwgJGl0ZW0pO1xuICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGl0ZW0gPCAkc2VlZCkge1xuICAgICAgICAgICAgICAgICRsZXNzOiBhcHBlbmQoJGxlc3MsICRpdGVtKTtcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRpdGVtID4gJHNlZWQpIHtcbiAgICAgICAgICAgICAgICAkbGFyZ2U6IGFwcGVuZCgkbGFyZ2UsICRpdGVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEByZXR1cm4gam9pbihqb2luKF9tcS1xdWljay1zb3J0KCRsZXNzKSwgJGVxdWFsKSwgX21xLXF1aWNrLXNvcnQoJGxhcmdlKSk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkbGlzdDtcbn1cblxuLy8vIFNvcnQgYSBtYXAgYnkgdmFsdWVzICh3b3JrcyB3aXRoIG51bWJlcnMgb25seSlcbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHNvcnRcbi8vLyBAcmV0dXJucyB7TWFwfSBNYXAgc29ydGVkIGJ5IHZhbHVlXG5AZnVuY3Rpb24gX21xLW1hcC1zb3J0LWJ5LXZhbHVlKCRtYXApIHtcbiAgICAkbWFwLXNvcnRlZDogKCk7XG4gICAgJG1hcC1rZXlzOiBtYXAta2V5cygkbWFwKTtcbiAgICAkbWFwLXZhbHVlczogbWFwLXZhbHVlcygkbWFwKTtcbiAgICAkbWFwLXZhbHVlcy1zb3J0ZWQ6IF9tcS1xdWljay1zb3J0KCRtYXAtdmFsdWVzKTtcblxuICAgIC8vIFJlb3JkZXIga2V5L3ZhbHVlIHBhaXJzIGJhc2VkIG9uIGtleSB2YWx1ZXNcbiAgICBAZWFjaCAkdmFsdWUgaW4gJG1hcC12YWx1ZXMtc29ydGVkIHtcbiAgICAgICAgJGluZGV4OiBpbmRleCgkbWFwLXZhbHVlcywgJHZhbHVlKTtcbiAgICAgICAgJGtleTogbnRoKCRtYXAta2V5cywgJGluZGV4KTtcbiAgICAgICAgJG1hcC1zb3J0ZWQ6IG1hcC1tZXJnZSgkbWFwLXNvcnRlZCwgKCRrZXk6ICR2YWx1ZSkpO1xuXG4gICAgICAgIC8vIFVuc2V0IHRoZSB2YWx1ZSBpbiAkbWFwLXZhbHVlcyB0byBwcmV2ZW50IHRoZSBsb29wXG4gICAgICAgIC8vIGZyb20gZmluZGluZyB0aGUgc2FtZSBpbmRleCB0d2ljZVxuICAgICAgICAkbWFwLXZhbHVlczogc2V0LW50aCgkbWFwLXZhbHVlcywgJGluZGV4LCAwKTtcbiAgICB9XG5cbiAgICBAcmV0dXJuICRtYXAtc29ydGVkO1xufVxuXG4vLy8gQWRkIGEgYnJlYWtwb2ludFxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUgYnJlYWtwb2ludFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgYnJlYWtwb2ludFxuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIEBpbmNsdWRlIG1xLWFkZC1icmVha3BvaW50KHR2c2NyZWVuLCAxOTIwcHgpO1xuLy8vICBAaW5jbHVkZSBtcSh0dnNjcmVlbikge31cbkBtaXhpbiBtcS1hZGQtYnJlYWtwb2ludCgkbmFtZSwgJHdpZHRoKSB7XG4gICAgJG5ldy1icmVha3BvaW50OiAoJG5hbWU6ICR3aWR0aCk7XG4gICAgJG1xLWJyZWFrcG9pbnRzOiBtYXAtbWVyZ2UoJG1xLWJyZWFrcG9pbnRzLCAkbmV3LWJyZWFrcG9pbnQpICFnbG9iYWw7XG4gICAgJG1xLWJyZWFrcG9pbnRzOiBfbXEtbWFwLXNvcnQtYnktdmFsdWUoJG1xLWJyZWFrcG9pbnRzKSAhZ2xvYmFsO1xufVxuXG4vLy8gU2hvdyB0aGUgYWN0aXZlIGJyZWFrcG9pbnQgaW4gdGhlIHRvcCByaWdodCBjb3JuZXIgb2YgdGhlIHZpZXdwb3J0XG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNzZWVpbmctdGhlLWN1cnJlbnRseS1hY3RpdmUtYnJlYWtwb2ludFxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2hvdy1icmVha3BvaW50cyAoJG1xLXNob3ctYnJlYWtwb2ludHMpIC0gTGlzdCBvZiBicmVha3BvaW50cyB0byBzaG93IGluIHRoZSB0b3AgcmlnaHQgY29ybmVyXG4vLy8gQHBhcmFtIHtNYXB9ICRicmVha3BvaW50cyAoJG1xLWJyZWFrcG9pbnRzKSAtIEJyZWFrcG9pbnQgbmFtZXMgYW5kIHNpemVzXG4vLy9cbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtYnJlYWtwb2ludHNcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtc2hvdy1icmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAvLyBTaG93IGJyZWFrcG9pbnRzIHVzaW5nIGdsb2JhbCBzZXR0aW5nc1xuLy8vICBAaW5jbHVkZSBtcS1zaG93LWJyZWFrcG9pbnRzO1xuLy8vXG4vLy8gIC8vIFNob3cgYnJlYWtwb2ludHMgdXNpbmcgY3VzdG9tIHNldHRpbmdzXG4vLy8gIEBpbmNsdWRlIG1xLXNob3ctYnJlYWtwb2ludHMoKEwsIFhMKSwgKFM6IDMwMHB4LCBMOiA4MDBweCwgWEw6IDEyMDBweCkpO1xuQG1peGluIG1xLXNob3ctYnJlYWtwb2ludHMoJHNob3ctYnJlYWtwb2ludHM6ICRtcS1zaG93LWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludHM6ICRtcS1icmVha3BvaW50cykge1xuICAgIGJvZHk6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGQ0Y4RTM7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRkJFRUQ1O1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNGQkVFRDU7XG4gICAgICAgIGNvbG9yOiAjQzA5ODUzO1xuICAgICAgICBmb250OiBzbWFsbC1jYXB0aW9uO1xuICAgICAgICBwYWRkaW5nOiAzcHggNnB4O1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB6LWluZGV4OiAxMDA7XG5cbiAgICAgICAgLy8gTG9vcCB0aHJvdWdoIHRoZSBicmVha3BvaW50cyB0aGF0IHNob3VsZCBiZSBzaG93blxuICAgICAgICBAZWFjaCAkc2hvdy1icmVha3BvaW50IGluICRzaG93LWJyZWFrcG9pbnRzIHtcbiAgICAgICAgICAgICR3aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJHNob3ctYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCRzaG93LWJyZWFrcG9pbnQsICRicmVha3BvaW50czogJGJyZWFrcG9pbnRzKSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCIjeyRzaG93LWJyZWFrcG9pbnR9IOKJpSAjeyR3aWR0aH0gKCN7bXEtcHgyZW0oJHdpZHRoKX0pXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpZiBsZW5ndGgoJG1xLXNob3ctYnJlYWtwb2ludHMpID4gMCB7XG4gICAgQGluY2x1ZGUgbXEtc2hvdy1icmVha3BvaW50cztcbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X3Nhc3MtbXEuc2Nzcy5tYXAgKi9cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgaGVscGVycy9saW5rc1xuLy8vL1xuXG4vLy8gQ29tbW9uIGxpbmsgc3R5bGVzXG4vLy9cbi8vLyBQcm92aWRlcyB0aGUgdHlwb2dyYXBoeSBhbmQgZm9jdXMgc3RhdGUsIHJlZ2FyZGxlc3Mgb2YgbGluayBzdHlsZS5cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1saW5rLWNvbW1vbiB7XG4gIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktY29tbW9uO1xuICBAaW5jbHVkZSBnb3Z1ay1saW5rLWRlY29yYXRpb247XG5cbiAgJjpob3ZlciB7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9jdXNlZC10ZXh0O1xuICB9XG59XG5cbi8vLyBMaW5rIGRlY29yYXRpb25cbi8vL1xuLy8vIFByb3ZpZGVzIHRoZSB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzLCBpbmNsdWRpbmcgdGhpY2tuZXNzIGFuZCB1bmRlcmxpbmVcbi8vLyBvZmZzZXQuIFVzZSB0aGlzIG1peGluIG9ubHkgaWYgeW91IGNhbm5vdCB1c2UgdGhlIGBnb3Z1ay1saW5rLWNvbW1vbmAgbWl4aW4uXG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuQG1peGluIGdvdnVrLWxpbmstZGVjb3JhdGlvbiB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gIEBpZiAkZ292dWstbGluay11bmRlcmxpbmUtdGhpY2tuZXNzIHtcbiAgICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAkZ292dWstbGluay11bmRlcmxpbmUtdGhpY2tuZXNzO1xuICB9XG5cbiAgQGlmICRnb3Z1ay1saW5rLXVuZGVybGluZS1vZmZzZXQge1xuICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogJGdvdnVrLWxpbmstdW5kZXJsaW5lLW9mZnNldDtcbiAgfVxufVxuXG4vLy8gTGluayBob3ZlciBkZWNvcmF0aW9uXG4vLy9cbi8vLyBQcm92aWRlcyB0aGUgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcyBpbiB0aGVpciBob3ZlciBzdGF0ZSwgZm9yIHlvdSB0byB1c2Vcbi8vLyB3aXRoaW4gYSBgOmhvdmVyYCBwc2V1ZG8tc2VsZWN0b3IuIFVzZSB0aGlzIG1peGluIG9ubHkgaWYgeW91IGNhbm5vdCB1c2UgdGhlXG4vLy8gYGdvdnVrLWxpbmstY29tbW9uYCBtaXhpbi5cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1saW5rLWhvdmVyLWRlY29yYXRpb24ge1xuICBAaWYgJGdvdnVrLWxpbmstaG92ZXItdW5kZXJsaW5lLXRoaWNrbmVzcyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogJGdvdnVrLWxpbmstaG92ZXItdW5kZXJsaW5lLXRoaWNrbmVzcztcbiAgICAvLyBEaXNhYmxlIGluayBza2lwcGluZyBvbiB1bmRlcmxpbmVzIG9uIGhvdmVyLiBCcm93c2VycyBoYXZlbid0XG4gICAgLy8gc3RhbmRhcmRpc2VkIG9uIHRoaXMgcGFydCBvZiB0aGUgc3BlYyB5ZXQsIHNvIHNldCBib3RoIHByb3BlcnRpZXNcbiAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwLWluazogbm9uZTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogbm9uZTsgLy8gQ2hyb21pdW0sIEZpcmVmb3hcbiAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBub25lO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uLXNraXA6IG5vbmU7IC8vIFNhZmFyaVxuICB9XG59XG5cbi8vLyBEZWZhdWx0IGxpbmsgc3R5bGVzXG4vLy9cbi8vLyBNYWtlcyBsaW5rcyB1c2UgdGhlIGRlZmF1bHQgdW52aXNpdGVkLCB2aXNpdGVkLCBob3ZlciBhbmQgYWN0aXZlIGNvbG91cnMuXG4vLy9cbi8vLyBJZiB5b3UgdXNlIHRoaXMgbWl4aW4gaW4gYSBjb21wb25lbnQsIHlvdSBtdXN0IGFsc28gaW5jbHVkZSB0aGVcbi8vLyBgZ292dWstbGluay1jb21tb25gIG1peGluIHRvIGdldCB0aGUgY29ycmVjdCBmb2N1cyBhbmQgaG92ZXIgc3RhdGVzLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmdvdnVrLWNvbXBvbmVudF9fbGluayB7XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuLy8vICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLWRlZmF1bHQ7XG4vLy8gICB9XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstbGluay1zdHlsZS1kZWZhdWx0IHtcbiAgJjpsaW5rIHtcbiAgICBjb2xvcjogJGdvdnVrLWxpbmstY29sb3VyO1xuICB9XG5cbiAgJjp2aXNpdGVkIHtcbiAgICBjb2xvcjogJGdvdnVrLWxpbmstdmlzaXRlZC1jb2xvdXI7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGdvdnVrLWxpbmstaG92ZXItY29sb3VyO1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiAkZ292dWstbGluay1hY3RpdmUtY29sb3VyO1xuICB9XG5cbiAgLy8gV2hlbiBmb2N1c3NlZCwgdGhlIHRleHQgY29sb3VyIG5lZWRzIHRvIGJlIGRhcmtlciB0byBlbnN1cmUgdGhhdCBjb2xvdXJcbiAgLy8gY29udHJhc3QgaXMgc3RpbGwgYWNjZXB0YWJsZVxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xuICB9XG59XG5cbi8vLyBFcnJvciBsaW5rIHN0eWxlc1xuLy8vXG4vLy8gTWFrZXMgbGlua3MgdXNlIHRoZSBlcnJvciBjb2xvdXIuIFRoZSBsaW5rIHdpbGwgZGFya2VuIGlmIGl0J3MgYWN0aXZlIG9yIGFcbi8vLyB1c2VyIGhvdmVycyB0aGVpciBjdXJzb3Igb3ZlciBpdC5cbi8vL1xuLy8vIElmIHlvdSB1c2UgdGhpcyBtaXhpbiBpbiBhIGNvbXBvbmVudCwgeW91IG11c3QgYWxzbyBpbmNsdWRlIHRoZVxuLy8vIGBnb3Z1ay1saW5rLWNvbW1vbmAgbWl4aW4gdG8gZ2V0IHRoZSBjb3JyZWN0IGZvY3VzIGFuZCBob3ZlciBzdGF0ZXMuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZ292dWstY29tcG9uZW50X19saW5rIHtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtZXJyb3I7XG4vLy8gICB9XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstbGluay1zdHlsZS1lcnJvciB7XG4gICY6bGluayxcbiAgJjp2aXNpdGVkIHtcbiAgICBjb2xvcjogJGdvdnVrLWVycm9yLWNvbG91cjtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiBzY2FsZS1jb2xvcigkZ292dWstZXJyb3ItY29sb3VyLCAkbGlnaHRuZXNzOiAtMzAlKTtcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogJGdvdnVrLWVycm9yLWNvbG91cjtcbiAgfVxuXG4gIC8vIFdoZW4gZm9jdXNzZWQsIHRoZSB0ZXh0IGNvbG91ciBuZWVkcyB0byBiZSBkYXJrZXIgdG8gZW5zdXJlIHRoYXQgY29sb3VyXG4gIC8vIGNvbnRyYXN0IGlzIHN0aWxsIGFjY2VwdGFibGVcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRnb3Z1ay1mb2N1cy10ZXh0LWNvbG91cjtcbiAgfVxufVxuXG4vLy8gU3VjY2VzcyBsaW5rIHN0eWxlc1xuLy8vXG4vLy8gTWFrZXMgbGlua3MgdXNlIHRoZSBzdWNjZXNzIGNvbG91ci4gVGhlIGxpbmsgd2lsbCBkYXJrZW4gaWYgaXQncyBhY3RpdmUgb3IgYVxuLy8vIHVzZXIgaG92ZXJzIHRoZWlyIGN1cnNvciBvdmVyIGl0LlxuLy8vXG4vLy8gSWYgeW91IHVzZSB0aGlzIG1peGluIGluIGEgY29tcG9uZW50LCB5b3UgbXVzdCBhbHNvIGluY2x1ZGUgdGhlXG4vLy8gYGdvdnVrLWxpbmstY29tbW9uYCBtaXhpbiB0byBnZXQgdGhlIGNvcnJlY3QgZm9jdXMgYW5kIGhvdmVyIHN0YXRlcy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5nb3Z1ay1jb21wb25lbnRfX2xpbmsge1xuLy8vICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1zdWNjZXNzO1xuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWxpbmstc3R5bGUtc3VjY2VzcyB7XG4gICY6bGluayxcbiAgJjp2aXNpdGVkIHtcbiAgICBjb2xvcjogJGdvdnVrLXN1Y2Nlc3MtY29sb3VyO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IHNjYWxlLWNvbG9yKCRnb3Z1ay1zdWNjZXNzLWNvbG91ciwgJGxpZ2h0bmVzczogLTMwJSk7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6ICRnb3Z1ay1zdWNjZXNzLWNvbG91cjtcbiAgfVxuXG4gIC8vIFdoZW4gZm9jdXNzZWQsIHRoZSB0ZXh0IGNvbG91ciBuZWVkcyB0byBiZSBkYXJrZXIgdG8gZW5zdXJlIHRoYXQgY29sb3VyXG4gIC8vIGNvbnRyYXN0IGlzIHN0aWxsIGFjY2VwdGFibGVcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRnb3Z1ay1mb2N1cy10ZXh0LWNvbG91cjtcbiAgfVxufVxuXG4vLy8gTXV0ZWQgbGluayBzdHlsZXNcbi8vL1xuLy8vIE1ha2VzIGxpbmtzIHVzZSB0aGUgc2Vjb25kYXJ5IHRleHQgY29sb3VyLiBUaGUgbGluayB3aWxsIGRhcmtlbiBpZiBpdCdzXG4vLy8gYWN0aXZlIG9yIGEgdXNlciBob3ZlcnMgdGhlaXIgY3Vyc29yIG92ZXIgaXQuXG4vLy9cbi8vLyBJZiB5b3UgdXNlIHRoaXMgbWl4aW4gaW4gYSBjb21wb25lbnQsIHlvdSBtdXN0IGFsc28gaW5jbHVkZSB0aGVcbi8vLyBgZ292dWstbGluay1jb21tb25gIG1peGluIHRvIGdldCB0aGUgY29ycmVjdCBmb2N1cyBhbmQgaG92ZXIgc3RhdGVzLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmdvdnVrLWNvbXBvbmVudF9fbGluayB7XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuLy8vICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLW11dGVkO1xuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWxpbmstc3R5bGUtbXV0ZWQge1xuICAmOmxpbmssXG4gICY6dmlzaXRlZCB7XG4gICAgY29sb3I6ICRnb3Z1ay1zZWNvbmRhcnktdGV4dC1jb2xvdXI7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6ICRnb3Z1ay10ZXh0LWNvbG91cjtcbiAgfVxuXG4gIC8vIFdoZW4gZm9jdXNzZWQsIHRoZSB0ZXh0IGNvbG91ciBuZWVkcyB0byBiZSBkYXJrZXIgdG8gZW5zdXJlIHRoYXQgY29sb3VyXG4gIC8vIGNvbnRyYXN0IGlzIHN0aWxsIGFjY2VwdGFibGVcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRnb3Z1ay1mb2N1cy10ZXh0LWNvbG91cjtcbiAgfVxufVxuXG4vLy8gVGV4dCBsaW5rIHN0eWxlc1xuLy8vXG4vLy8gTWFrZXMgbGlua3MgdXNlIHRoZSBwcmltYXJ5IHRleHQgY29sb3VyLCBpbiBhbGwgc3RhdGVzLiBVc2UgdGhpcyBtaXhpbiBmb3Jcbi8vLyBuYXZpZ2F0aW9uIGNvbXBvbmVudHMsIHN1Y2ggYXMgYnJlYWRjcnVtYnMgb3IgdGhlIGJhY2sgbGluay5cbi8vL1xuLy8vIElmIHlvdSB1c2UgdGhpcyBtaXhpbiBpbiBhIGNvbXBvbmVudCwgeW91IG11c3QgYWxzbyBpbmNsdWRlIHRoZVxuLy8vIGBnb3Z1ay1saW5rLWNvbW1vbmAgbWl4aW4gdG8gZ2V0IHRoZSBjb3JyZWN0IGZvY3VzIGFuZCBob3ZlciBzdGF0ZXMuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZ292dWstY29tcG9uZW50X19saW5rIHtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtdGV4dDtcbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1saW5rLXN0eWxlLXRleHQge1xuICAmOmxpbmssXG4gICY6dmlzaXRlZCB7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gIH1cblxuICAvLyBGb3JjZSBhIGNvbG91ciBjaGFuZ2Ugb24gaG92ZXIgdG8gd29yayBhcm91bmQgYSBidWcgaW4gU2FmYXJpXG4gIC8vIGh0dHBzOi8vd2Via2l0Lm9yZy9iLzIyNDQ4M1xuICAmOmhvdmVyIHtcbiAgICBAaWYgdHlwZS1vZigkZ292dWstdGV4dC1jb2xvdXIpID09IGNvbG9yIHtcbiAgICAgIGNvbG9yOiByZ2JhKCRnb3Z1ay10ZXh0LWNvbG91ciwgMC45OSk7XG4gICAgfVxuICB9XG5cbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICB9XG59XG5cbi8vLyBJbnZlcnNlIGxpbmsgc3R5bGVzXG4vLy9cbi8vLyBNYWtlcyBsaW5rcyB3aGl0ZSwgaW4gYWxsIHN0YXRlcy4gVXNlIHRoaXMgbWl4aW4gaWYgeW91J3JlIGRpc3BsYXlpbmcgbGlua3Ncbi8vLyBhZ2FpbnN0IGEgZGFyayBiYWNrZ3JvdW5kLlxuLy8vXG4vLy8gSWYgeW91IHVzZSB0aGlzIG1peGluIGluIGEgY29tcG9uZW50LCB5b3UgbXVzdCBhbHNvIGluY2x1ZGUgdGhlXG4vLy8gYGdvdnVrLWxpbmstY29tbW9uYCBtaXhpbiB0byBnZXQgdGhlIGNvcnJlY3QgZm9jdXMgYW5kIGhvdmVyIHN0YXRlcy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5nb3Z1ay1jb21wb25lbnRfX2xpbmsge1xuLy8vICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1pbnZlcnNlO1xuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWxpbmstc3R5bGUtaW52ZXJzZSB7XG4gICY6bGluayxcbiAgJjp2aXNpdGVkIHtcbiAgICBjb2xvcjogZ292dWstY29sb3VyKFwid2hpdGVcIik7XG4gIH1cblxuICAvLyBGb3JjZSBhIGNvbG91ciBjaGFuZ2Ugb24gaG92ZXIgdG8gd29yayBhcm91bmQgYSBidWcgaW4gU2FmYXJpXG4gIC8vIGh0dHBzOi8vd2Via2l0Lm9yZy9iLzIyNDQ4M1xuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6IHJnYmEoZ292dWstY29sb3VyKFwid2hpdGVcIiksIDAuOTkpO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRnb3Z1ay1mb2N1cy10ZXh0LWNvbG91cjtcbiAgfVxufVxuXG4vLy8gRGVmYXVsdCBsaW5rIHN0eWxlcywgd2l0aG91dCBhIHZpc2l0ZWQgc3RhdGVcbi8vL1xuLy8vIE1ha2VzIGxpbmtzIHVzZSB0aGUgZGVmYXVsdCB1bnZpc2l0ZWQsIGhvdmVyIGFuZCBhY3RpdmUgY29sb3Vycywgd2l0aCBub1xuLy8vIGRpc3RpbmN0IHZpc2l0ZWQgc3RhdGUuXG4vLy9cbi8vLyBVc2UgdGhpcyBtaXhpbiB3aGVuIGl0J3Mgbm90IGhlbHBmdWwgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiB2aXNpdGVkIGFuZFxuLy8vIG5vbi12aXNpdGVkIGxpbmtzLiBGb3IgZXhhbXBsZSwgd2hlbiB5b3UgbGluayB0byBwYWdlcyB3aXRoXG4vLy8gZnJlcXVlbnRseS1jaGFuZ2luZyBjb250ZW50LCBzdWNoIGFzIHRoZSBkYXNoYm9hcmQgZm9yIGFuIGFkbWluIGludGVyZmFjZS5cbi8vL1xuLy8vIElmIHlvdSB1c2UgdGhpcyBtaXhpbiBpbiBhIGNvbXBvbmVudCwgeW91IG11c3QgYWxzbyBpbmNsdWRlIHRoZVxuLy8vIGBnb3Z1ay1saW5rLWNvbW1vbmAgbWl4aW4gdG8gZ2V0IHRoZSBjb3JyZWN0IGZvY3VzIGFuZCBob3ZlciBzdGF0ZXMuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZ292dWstY29tcG9uZW50X19saW5rIHtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtbm8tdmlzaXRlZC1zdGF0ZTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1saW5rLXN0eWxlLW5vLXZpc2l0ZWQtc3RhdGUge1xuICAmOmxpbmsge1xuICAgIGNvbG9yOiAkZ292dWstbGluay1jb2xvdXI7XG4gIH1cblxuICAmOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAkZ292dWstbGluay1jb2xvdXI7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGdvdnVrLWxpbmstaG92ZXItY29sb3VyO1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiAkZ292dWstbGluay1hY3RpdmUtY29sb3VyO1xuICB9XG5cbiAgLy8gV2hlbiBmb2N1c3NlZCwgdGhlIHRleHQgY29sb3VyIG5lZWRzIHRvIGJlIGRhcmtlciB0byBlbnN1cmUgdGhhdCBjb2xvdXJcbiAgLy8gY29udHJhc3QgaXMgc3RpbGwgYWNjZXB0YWJsZVxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xuICB9XG59XG5cbi8vLyBSZW1vdmUgdW5kZXJsaW5lIGZyb20gbGlua3Ncbi8vL1xuLy8vIFJlbW92ZSB1bmRlcmxpbmVzIGZyb20gbGlua3MgdW5sZXNzIHRoZSBsaW5rIGlzIGFjdGl2ZSBvciBhIHVzZXIgaG92ZXJzXG4vLy8gdGhlaXIgY3Vyc29yIG92ZXIgaXQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZ292dWstY29tcG9uZW50X19saW5rIHtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtZGVmYXVsdDtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1uby11bmRlcmxpbmU7XG4vLy8gICB9XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstbGluay1zdHlsZS1uby11bmRlcmxpbmUge1xuICAmOm5vdCg6aG92ZXIpOm5vdCg6YWN0aXZlKSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cbi8vLyBJbmNsdWRlIGxpbmsgZGVzdGluYXRpb24gd2hlbiBwcmludGluZyB0aGUgcGFnZVxuLy8vXG4vLy8gSWYgdGhlIHVzZXIgcHJpbnRzIHRoZSBwYWdlLCBhZGQgdGhlIGRlc3RpbmF0aW9uIFVSTCBhZnRlciB0aGUgbGluayB0ZXh0LCBpZlxuLy8vIHRoZSBVUkwgc3RhcnRzIHdpdGggYC9gLCBgaHR0cDovL2Agb3IgYGh0dHBzOi8vYC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1saW5rLXByaW50LWZyaWVuZGx5IHtcbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJG1lZGlhLXR5cGU6IHByaW50KSB7XG4gICAgJltocmVmXj1cIi9cIl0sXG4gICAgJltocmVmXj1cImh0dHA6Ly9cIl0sXG4gICAgJltocmVmXj1cImh0dHBzOi8vXCJdXG4gICAge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjtcbiAgICAgICAgZm9udC1zaXplOiA5MCU7XG5cbiAgICAgICAgLy8gQmVjYXVzZSB0aGUgVVJMcyBtYXkgYmUgdmVyeSBsb25nLCBlbnN1cmUgdGhhdCB0aGV5IG1heSBiZSBicm9rZW5cbiAgICAgICAgLy8gYXQgYXJiaXRyYXJ5IHBvaW50cyBpZiB0aGVyZSBhcmUgbm8gb3RoZXJ3aXNlIGFjY2VwdGFibGUgYnJlYWtcbiAgICAgICAgLy8gcG9pbnRzIGluIHRoZSBsaW5lXG4gICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEltYWdlIGxpbmsgc3R5bGVzXG4vLy9cbi8vLyBQcmVwYXJlcyBhbmQgcHJvdmlkZXMgdGhlIGZvY3VzIHN0YXRlIGZvciBsaW5rcyB0aGF0IG9ubHkgY29udGFpbiBpbWFnZXNcbi8vLyB3aXRoIG5vIGFjY29tcGFueWluZyB0ZXh0LlxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWxpbmstaW1hZ2Uge1xuICAvLyBOZWVkZWQgdG8gZHJhdyB0aGUgZm9jdXMgYXJvdW5kIHRoZSBlbnRpcmUgaW1hZ2VcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gIC8vIFJlbW92ZSBleHRyYSBzcGFjZSBhdCB0aGUgYm90dG9tIG9mIHRoZSBpbWFnZSB0aGF0J3MgYWRkZWQgYnkgbGluZS1oZWlnaHRcbiAgbGluZS1oZWlnaHQ6IDA7XG5cbiAgLy8gRG9uJ3QgcmVuZGVyIGFuIHVuZGVybGluZVxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgJjpmb2N1cyB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9jdXNlZC1ib3g7XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2xpbmtzLnNjc3MubWFwICovXG4iLCIvLy8vXG4vLy8gQGdyb3VwIHNldHRpbmdzL2xpbmtzXG4vLy8vXG5cbi8vLyBUaGlja25lc3Mgb2YgbGluayB1bmRlcmxpbmVzXG4vLy9cbi8vLyBUaGUgZGVmYXVsdCB3aWxsIGJlIGVpdGhlcjpcbi8vL1xuLy8vICAtIDFweFxuLy8vICAtIDAuMDYyNXJlbSwgaWYgaXQncyB0aGlja2VyIHRoYW4gMXB4IGJlY2F1c2UgdGhlIHVzZXIgaGFzIGNoYW5nZWQgdGhlIHRleHRcbi8vLyAgICBzaXplIGluIHRoZWlyIGJyb3dzZXJcbi8vL1xuLy8vIFNldCB0aGlzIHZhcmlhYmxlIHRvIGBmYWxzZWAgdG8gYXZvaWQgc2V0dGluZyBhIHRoaWNrbmVzcy5cbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1saW5rLXVuZGVybGluZS10aGlja25lc3M6IHVucXVvdGUoXCJtYXgoMXB4LCAuMDYyNXJlbSlcIikgIWRlZmF1bHQ7XG5cbi8vLyBPZmZzZXQgb2YgbGluayB1bmRlcmxpbmVzIGZyb20gdGV4dCBiYXNlbGluZVxuLy8vXG4vLy8gVGhlIGRlZmF1bHQgaXMgM3B4IGV4cHJlc3NlZCBhcyBlbXMsIGFzIGNhbGN1bGF0ZWQgYWdhaW5zdCB0aGUgZGVmYXVsdCBib2R5XG4vLy8gZm9udCBzaXplIChvbiBkZXNrdG9wKSBvZiAxOXB4LlxuLy8vIDMgw7cgMTkgPSAwLjE1Nzhcbi8vL1xuLy8vIFNldCB0aGlzIHZhcmlhYmxlIHRvIGBmYWxzZWAgdG8gYXZvaWQgc2V0dGluZyBhbiBvZmZzZXQuXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstbGluay11bmRlcmxpbmUtb2Zmc2V0OiAwLjE1NzhlbSAhZGVmYXVsdDtcblxuLy8vIFRoaWNrbmVzcyBvZiBsaW5rIHVuZGVybGluZXMgaW4gaG92ZXIgc3RhdGVcbi8vL1xuLy8vIFRoZSBkZWZhdWx0IGZvciBlYWNoIGxpbmsgd2lsbCBiZSB0aGUgdGhpY2tlc3Qgb2YgdGhlIGZvbGxvd2luZzpcbi8vL1xuLy8vICAtIDNweFxuLy8vICAtIDAuMTg3NXJlbSwgaWYgaXQncyB0aGlja2VyIHRoYW4gM3B4IGJlY2F1c2UgdGhlIHVzZXIgaGFzIGNoYW5nZWQgdGhlIHRleHRcbi8vLyAgICBzaXplIGluIHRoZWlyIGJyb3dzZXJcbi8vLyAgLSAwLjEyZW0gKHJlbGF0aXZlIHRvIHRoZSBsaW5rJ3MgdGV4dCBzaXplKVxuLy8vXG4vLy8gU2V0IHRoaXMgdmFyaWFibGUgdG8gYGZhbHNlYCB0byBhdm9pZCBzZXR0aW5nIGEgdGhpY2tuZXNzLlxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWxpbmstaG92ZXItdW5kZXJsaW5lLXRoaWNrbmVzczogdW5xdW90ZShcIm1heCgzcHgsIC4xODc1cmVtLCAuMTJlbSlcIikgIWRlZmF1bHQ7XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9saW5rcy5zY3NzLm1hcCAqL1xuIiwiLy8vL1xuLy8vIEBncm91cCBoZWxwZXJzL2FjY2Vzc2liaWxpdHlcbi8vLy9cblxuLy8vIEZvY3VzZWQgdGV4dFxuLy8vXG4vLy8gUHJvdmlkZXMgYW4gb3V0bGluZSB0byBjbGVhcmx5IGluZGljYXRlIHdoZW4gdGhlIHRhcmdldCBlbGVtZW50IGlzIGZvY3VzZWQuXG4vLy8gVXNlZCBmb3IgaW50ZXJhY3RpdmUgdGV4dC1iYXNlZCBlbGVtZW50cy5cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1mb2N1c2VkLXRleHQge1xuICAvLyBXaGVuIGNvbG91cnMgYXJlIG92ZXJyaWRkZW4sIGZvciBleGFtcGxlIHdoZW4gdXNlcnMgaGF2ZSBhIGRhcmsgbW9kZSxcbiAgLy8gYmFja2dyb3VuZHMgYW5kIGJveC1zaGFkb3dzIGRpc2FwcGVhciwgc28gd2UgbmVlZCB0byBlbnN1cmUgdGhlcmUncyBhXG4gIC8vIHRyYW5zcGFyZW50IG91dGxpbmUgd2hpY2ggd2lsbCBiZSBzZXQgdG8gYSB2aXNpYmxlIGNvbG91ci5cblxuICBvdXRsaW5lOiAkZ292dWstZm9jdXMtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAkZ292dWstZm9jdXMtdGV4dC1jb2xvdXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gIGJveC1zaGFkb3c6XG4gICAgMCAtMnB4ICRnb3Z1ay1mb2N1cy1jb2xvdXIsXG4gICAgMCA0cHggJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xuICAvLyBXaGVuIGxpbmsgaXMgZm9jdXNzZWQsIGhpZGUgdGhlIGRlZmF1bHQgdW5kZXJsaW5lIHNpbmNlIHRoZVxuICAvLyBib3ggc2hhZG93IGFkZHMgdGhlIFwidW5kZXJsaW5lXCJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gIC8vIFdoZW4gYSBmb2N1c2VkIGJveCBpcyBicm9rZW4gYnkgZS5nLiBhIGxpbmUgYnJlYWssIGVuc3VyZSB0aGF0IHRoZVxuICAvLyBib3gtc2hhZG93IGlzIGFwcGxpZWQgdG8gZWFjaCBmcmFnbWVudCBpbmRlcGVuZGVudGx5LlxuICAtd2Via2l0LWJveC1kZWNvcmF0aW9uLWJyZWFrOiBjbG9uZTtcbiAgICAgICAgICBib3gtZGVjb3JhdGlvbi1icmVhazogY2xvbmU7XG59XG5cbi8vLyBGb2N1c2VkIGJveFxuLy8vXG4vLy8gUHJvdmlkZXMgYW4gb3V0bGluZSB0byBjbGVhcmx5IGluZGljYXRlIHdoZW4gdGhlIHRhcmdldCBlbGVtZW50IGlzIGZvY3VzZWQuXG4vLy8gVW5saWtlIGdvdnVrLWZvY3VzZWQtdGV4dCwgd2hpY2ggb25seSBkcmF3cyBhbiB1bmRlcmxpbmUgYmVsb3cgdGhlIGVsZW1lbnQsXG4vLy8gZ292dWstZm9jdXNlZC1ib3ggZHJhd3MgYW4gb3V0bGluZSBhcm91bmQgYWxsIHNpZGVzIG9mIHRoZSBlbGVtZW50LlxuLy8vIEJlc3QgdXNlZCBmb3Igbm9uLXRleHQgY29udGVudCBjb250YWluZWQgd2l0aGluIGxpbmtzLlxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWZvY3VzZWQtYm94IHtcbiAgb3V0bGluZTogJGdvdnVrLWZvY3VzLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OlxuICAgIDAgMCAwIDRweCAkZ292dWstZm9jdXMtY29sb3VyLFxuICAgIDAgMCAwIDhweCAkZ292dWstZm9jdXMtdGV4dC1jb2xvdXI7XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9mb2N1c2VkLnNjc3MubWFwICovXG4iLCIvLy8vXG4vLy8gQGdyb3VwIHNldHRpbmdzL2NvbG91cnNcbi8vLy9cblxuQGltcG9ydCBcIi4uL2hlbHBlcnMvY29sb3VyXCI7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gR2VuZXJpY1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vLyBCcmFuZCBjb2xvdXJcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1icmFuZC1jb2xvdXI6IGdvdnVrLWNvbG91cihcImJsdWVcIikgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG91clxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLXRleHQtY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKSAhZGVmYXVsdDtcblxuLy8vIENhbnZhcyBiYWNrZ3JvdW5kIGNvbG91clxuLy8vXG4vLy8gVXNlZCBieSB0aGUgZm9vdGVyIGNvbXBvbmVudCBhbmQgdGVtcGxhdGUgdG8gZ2l2ZSB0aGUgaWxsdXNpb24gb2YgYSBsb25nXG4vLy8gZm9vdGVyLlxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWNhbnZhcy1iYWNrZ3JvdW5kLWNvbG91cjogZ292dWstY29sb3VyKFwibGlnaHQtZ3JleVwiKSAhZGVmYXVsdDtcblxuLy8vIEJvZHkgYmFja2dyb3VuZCBjb2xvdXJcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1ib2R5LWJhY2tncm91bmQtY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJ3aGl0ZVwiKSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3VyIGZvciBwcmludCBtZWRpYVxuLy8vXG4vLy8gVXNlICd0cnVlIGJsYWNrJyB0byBhdm9pZCBwcmludGVycyB1c2luZyBjb2xvdXIgaW5rIHRvIHByaW50IGJvZHkgdGV4dFxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLXByaW50LXRleHQtY29sb3VyOiAjMDAwMDAwICFkZWZhdWx0O1xuXG4vLy8gU2Vjb25kYXJ5IHRleHQgY29sb3VyXG4vLy9cbi8vLyBVc2VkIGluIGZvciBleGFtcGxlICdtdXRlZCcgdGV4dCBhbmQgaGVscCB0ZXh0LlxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLXNlY29uZGFyeS10ZXh0LWNvbG91cjogZ292dWstY29sb3VyKFwiZGFyay1ncmV5XCIpICFkZWZhdWx0O1xuXG4vLy8gRm9jdXMgY29sb3VyXG4vLy9cbi8vLyBVc2VkIGZvciBvdXRsaW5lIChhbmQgYmFja2dyb3VuZCwgd2hlcmUgYXBwcm9wcmlhdGUpIHdoZW4gaW50ZXJhY3RpdmVcbi8vLyBlbGVtZW50cyAobGlua3MsIGZvcm0gY29udHJvbHMpIGhhdmUga2V5Ym9hcmQgZm9jdXMuXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstZm9jdXMtY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJ5ZWxsb3dcIikgIWRlZmF1bHQ7XG5cbi8vLyBGb2N1c2VkIHRleHQgY29sb3VyXG4vLy9cbi8vLyBFbnN1cmUgdGhhdCB0aGUgY29udHJhc3QgYmV0d2VlbiB0aGUgdGV4dCBhbmQgYmFja2dyb3VuZCBjb2xvdXIgcGFzc2VzXG4vLy8gV0NBRyBMZXZlbCBBQSBjb250cmFzdCByZXF1aXJlbWVudHMuXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstZm9jdXMtdGV4dC1jb2xvdXI6IGdvdnVrLWNvbG91cihcImJsYWNrXCIpICFkZWZhdWx0O1xuXG4vLy8gRXJyb3IgY29sb3VyXG4vLy9cbi8vLyBVc2VkIHRvIGhpZ2hsaWdodCBlcnJvciBtZXNzYWdlcyBhbmQgZm9ybSBjb250cm9scyBpbiBhbiBlcnJvciBzdGF0ZVxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWVycm9yLWNvbG91cjogZ292dWstY29sb3VyKFwicmVkXCIpICFkZWZhdWx0O1xuXG4vLy8gU3VjY2VzcyBjb2xvdXJcbi8vL1xuLy8vIFVzZWQgdG8gaGlnaGxpZ2h0IHN1Y2Nlc3MgbWVzc2FnZXMgYW5kIGJhbm5lcnNcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1zdWNjZXNzLWNvbG91cjogZ292dWstY29sb3VyKFwiZ3JlZW5cIikgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgY29sb3VyXG4vLy9cbi8vLyBVc2VkIGluIGZvciBleGFtcGxlIGJvcmRlcnMsIHNlcGFyYXRvcnMsIHJ1bGVzIGFuZCBrZXlsaW5lcy5cbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1ib3JkZXItY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJtaWQtZ3JleVwiKSAhZGVmYXVsdDtcblxuLy8vIElucHV0IGJvcmRlciBjb2xvdXJcbi8vL1xuLy8vIFVzZWQgZm9yIGZvcm0gaW5wdXRzIGFuZCBjb250cm9sc1xuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWlucHV0LWJvcmRlci1jb2xvdXI6IGdvdnVrLWNvbG91cihcImJsYWNrXCIpICFkZWZhdWx0O1xuXG4vLy8gSW5wdXQgaG92ZXIgY29sb3VyXG4vLy9cbi8vLyBVc2VkIGZvciBob3ZlciBzdGF0ZXMgb24gZm9ybSBjb250cm9sc1xuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWhvdmVyLWNvbG91cjogZ292dWstY29sb3VyKFwibWlkLWdyZXlcIikgIWRlZmF1bHQ7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBMaW5rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8vIExpbmsgY29sb3VyXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstbGluay1jb2xvdXI6IGdvdnVrLWNvbG91cihcImJsdWVcIikgIWRlZmF1bHQ7XG5cbi8vLyBWaXNpdGVkIGxpbmsgY29sb3VyXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstbGluay12aXNpdGVkLWNvbG91cjogZ292dWstY29sb3VyKFwicHVycGxlXCIpICFkZWZhdWx0O1xuXG4vLy8gTGluayBob3ZlciBjb2xvdXJcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1saW5rLWhvdmVyLWNvbG91cjogZ292dWstY29sb3VyKFwiZGFyay1ibHVlXCIpICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGxpbmsgY29sb3VyXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstbGluay1hY3RpdmUtY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKSAhZGVmYXVsdDtcblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2NvbG91cnMtYXBwbGllZC5zY3NzLm1hcCAqL1xuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvcmUvbGlzdHNcIikge1xuICAlZ292dWstbGlzdCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAgIC8vIEFkZCBhIHRvcCBtYXJnaW4gZm9yIG5lc3RlZCBsaXN0c1xuICAgICVnb3Z1ay1saXN0IHtcbiAgICAgIG1hcmdpbi10b3A6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgfVxuICB9XG5cbiAgJWdvdnVrLWxpc3QgPiBsaSB7XG4gICAgLy8gTGlzdHMgd2l0aG91dCBudW1iZXJzIG9yIGJ1bGxldHMgc2hvdWxkIGFsd2F5cyBoYXZlIGV4dHJhIHNwYWNlIGJldHdlZW5cbiAgICAvLyBsaXN0IGl0ZW1zLiBMaXN0cyB3aXRoIG51bWJlcnMgb3IgYnVsbGV0cyBvbmx5IGhhdmUgdGhpcyBleHRyYSBzcGFjZSBvblxuICAgIC8vIHRhYmxldCBhbmQgYWJvdmVcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICB9XG5cbiAgLmdvdnVrLWxpc3Qge1xuICAgIEBleHRlbmQgJWdvdnVrLWxpc3Q7XG4gIH1cblxuICAlZ292dWstbGlzdC0tYnVsbGV0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IGdvdnVrLXNwYWNpbmcoNCk7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuICB9XG5cbiAgJWdvdnVrLWxpc3QtLW51bWJlciB7XG4gICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDQpO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcbiAgfVxuXG4gICVnb3Z1ay1saXN0LS1idWxsZXQgPiBsaSxcbiAgJWdvdnVrLWxpc3QtLW51bWJlciA+IGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcbiAgICB9XG4gIH1cblxuICAlZ292dWstbGlzdC0tc3BhY2VkID4gbGkge1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1saXN0LS1idWxsZXQge1xuICAgIEBleHRlbmQgJWdvdnVrLWxpc3QtLWJ1bGxldDtcbiAgfVxuXG4gIC5nb3Z1ay1saXN0LS1udW1iZXIge1xuICAgIEBleHRlbmQgJWdvdnVrLWxpc3QtLW51bWJlcjtcbiAgfVxuXG4gIC5nb3Z1ay1saXN0LS1zcGFjZWQge1xuICAgIEBleHRlbmQgJWdvdnVrLWxpc3QtLXNwYWNlZDtcbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1fbGlzdHMuc2Nzcy5tYXAgKi9cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgaGVscGVycy9zcGFjaW5nXG4vLy8vXG5cbi8vLyBTaW5nbGUgcG9pbnQgc3BhY2luZ1xuLy8vXG4vLy8gUmV0dXJucyBtZWFzdXJlbWVudCBjb3JyZXNwb25kaW5nIHRvIHRoZSBzcGFjaW5nIHBvaW50IHJlcXVlc3RlZC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZy1wb2ludCAtIFBvaW50IG9uIHRoZSBzcGFjaW5nIHNjYWxlXG4vLy8gIChzZXQgaW4gYHNldHRpbmdzL19zcGFjaW5nLnNjc3NgKVxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gU3BhY2luZyBtZWFzdXJlbWVudCBlZy4gMTBweFxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDUpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyBVc2luZyBuZWdhdGl2ZSBzcGFjaW5nXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG1hcmdpbi10b3A6IGdvdnVrLXNwYWNpbmcoLTEpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyBNYXJraW5nIHNwYWNpbmcgZGVjbGFyYXRpb25zIGFzIGltcG9ydGFudFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBtYXJnaW4tdG9wOiBnb3Z1ay1zcGFjaW5nKDEpICFpbXBvcnRhbnQ7XG4vLy8gICB9XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AZnVuY3Rpb24gZ292dWstc3BhY2luZygkc3BhY2luZy1wb2ludCkge1xuICAkYWN0dWFsLWlucHV0LXR5cGU6IHR5cGUtb2YoJHNwYWNpbmctcG9pbnQpO1xuICBAaWYgJGFjdHVhbC1pbnB1dC10eXBlICE9IFwibnVtYmVyXCIge1xuICAgIEBlcnJvciBcIkV4cGVjdGVkIGEgbnVtYmVyIChpbnRlZ2VyKSwgYnV0IGdvdCBhIFwiXG4gICAgICArIFwiI3skYWN0dWFsLWlucHV0LXR5cGV9LlwiO1xuICB9XG5cbiAgJGlzLW5lZ2F0aXZlOiBmYWxzZTtcbiAgQGlmICRzcGFjaW5nLXBvaW50IDwgMCB7XG4gICAgJGlzLW5lZ2F0aXZlOiB0cnVlO1xuICAgICRzcGFjaW5nLXBvaW50OiBhYnMoJHNwYWNpbmctcG9pbnQpO1xuICB9XG5cbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkZ292dWstc3BhY2luZy1wb2ludHMsICRzcGFjaW5nLXBvaW50KSB7XG4gICAgQGVycm9yIFwiVW5rbm93biBzcGFjaW5nIHZhcmlhYmxlIGAjeyRzcGFjaW5nLXBvaW50fWAuIE1ha2Ugc3VyZSB5b3UgYXJlIHVzaW5nIGEgcG9pbnQgZnJvbSB0aGUgc3BhY2luZyBzY2FsZSBpbiBgX3NldHRpbmdzL3NwYWNpbmcuc2Nzc2AuXCI7XG4gIH1cblxuICAkdmFsdWU6IG1hcC1nZXQoJGdvdnVrLXNwYWNpbmctcG9pbnRzLCAkc3BhY2luZy1wb2ludCk7XG4gIEByZXR1cm4gaWYoJGlzLW5lZ2F0aXZlLCAkdmFsdWUgKiAtMSwgJHZhbHVlKTtcbn1cblxuLy8vIFJlc3BvbnNpdmUgc3BhY2luZ1xuLy8vXG4vLy8gQWRkcyByZXNwb25zaXZlIHNwYWNpbmcgKGVpdGhlciBwYWRkaW5nIG9yIG1hcmdpbiwgZGVwZW5kaW5nIG9uIGAkcHJvcGVydHlgKVxuLy8vIGJ5IGZldGNoaW5nIGEgJ3NwYWNpbmcgbWFwJyBmcm9tIHRoZSByZXNwb25zaXZlIHNwYWNpbmcgc2NhbGUsIHdoaWNoIGRlZmluZXNcbi8vLyBkaWZmZXJlbnQgc3BhY2luZyB2YWx1ZXMgYXQgZGlmZmVyZW50IGJyZWFrcG9pbnRzLlxuLy8vXG4vLy8gVG8gZ2VuZXJhdGUgcmVzcG9uc2l2ZSBzcGFjaW5nLCB1c2UgJ2dvdnVrLXJlc3BvbnNpdmUtbWFyZ2luJyBvclxuLy8vICdnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcnIG1peGluc1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQgLSBQb2ludCBvbiB0aGUgcmVzcG9uc2l2ZSBzcGFjaW5nXG4vLy8gICBzY2FsZSwgY29ycmVzcG9uZHMgdG8gYSBtYXAgb2YgYnJlYWtwb2ludHMgYW5kIHNwYWNpbmcgdmFsdWVzXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRwcm9wZXJ0eSAtIFByb3BlcnR5IHRvIGFkZCBzcGFjaW5nIHRvIChlLmcuICdtYXJnaW4nKVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlyZWN0aW9uIFthbGxdIC0gRGlyZWN0aW9uIHRvIGFkZCBzcGFjaW5nIHRvXG4vLy8gICAoYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBgbGVmdGAsIGBhbGxgKVxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGltcG9ydGFudCBbZmFsc2VdIC0gV2hldGhlciB0byBtYXJrIGFzIGAhaW1wb3J0YW50YFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYWRqdXN0bWVudCBbZmFsc2VdIC0gT2Zmc2V0IHRvIGFkanVzdCBzcGFjaW5nIGJ5XG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuQG1peGluIF9nb3Z1ay1yZXNwb25zaXZlLXNwYWNpbmcoXG4gICRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQsXG4gICRwcm9wZXJ0eSxcbiAgJGRpcmVjdGlvbjogXCJhbGxcIixcbiAgJGltcG9ydGFudDogZmFsc2UsXG4gICRhZGp1c3RtZW50OiBmYWxzZVxuKSB7XG4gICRhY3R1YWwtaW5wdXQtdHlwZTogdHlwZS1vZigkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50KTtcbiAgQGlmICRhY3R1YWwtaW5wdXQtdHlwZSAhPSBcIm51bWJlclwiIHtcbiAgICBAZXJyb3IgXCJFeHBlY3RlZCBhIG51bWJlciAoaW50ZWdlciksIGJ1dCBnb3QgYSBcIiArIFwiI3skYWN0dWFsLWlucHV0LXR5cGV9LlwiO1xuICB9XG5cbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkZ292dWstc3BhY2luZy1yZXNwb25zaXZlLXNjYWxlLCAkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50KSB7XG4gICAgQGVycm9yIFwiVW5rbm93biBzcGFjaW5nIHBvaW50IGAjeyRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnR9YC4gTWFrZSBzdXJlIHlvdSBhcmUgdXNpbmcgYSBwb2ludCBmcm9tIHRoZSBcIlxuICAgICAgKyBcInJlc3BvbnNpdmUgc3BhY2luZyBzY2FsZSBpbiBgX3NldHRpbmdzL3NwYWNpbmcuc2Nzc2AuXCI7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGhhdCB0aGUgcmV0dXJuIHZhbHVlIGZyb20gYF9zZXR0aW5ncy9zcGFjaW5nLnNjc3NgIGlzIGEgbWFwLlxuICAkc2NhbGUtbWFwOiBtYXAtZ2V0KCRnb3Z1ay1zcGFjaW5nLXJlc3BvbnNpdmUtc2NhbGUsICRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQpO1xuICAkYWN0dWFsLW1hcC10eXBlOiB0eXBlLW9mKCRzY2FsZS1tYXApO1xuICBAaWYgJGFjdHVhbC1tYXAtdHlwZSAhPSBcIm1hcFwiIHtcbiAgICBAZXJyb3IgXCJFeHBlY3RlZCBhIG51bWJlciAoaW50ZWdlciksIGJ1dCBnb3QgYSBcIlxuICAgICAgKyBcIiN7JGFjdHVhbC1tYXAtdHlwZX0uIE1ha2Ugc3VyZSB5b3UgYXJlIHVzaW5nIGEgbWFwIHRvIHNldCB0aGUgcmVzcG9uc2l2ZSBzcGFjaW5nIGluIGBfc2V0dGluZ3Mvc3BhY2luZy5zY3NzYClcIjtcbiAgfVxuXG4gIC8vIExvb3AgdGhyb3VnaCBlYWNoIGJyZWFrcG9pbnQgaW4gdGhlIG1hcFxuICBAZWFjaCAkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnQtdmFsdWUgaW4gJHNjYWxlLW1hcCB7XG4gICAgQGlmICRhZGp1c3RtZW50IHtcbiAgICAgICRicmVha3BvaW50LXZhbHVlOiAkYnJlYWtwb2ludC12YWx1ZSArICRhZGp1c3RtZW50O1xuICAgIH1cblxuICAgIC8vIFRoZSAnbnVsbCcgYnJlYWtwb2ludCBpcyBmb3IgbW9iaWxlLlxuICAgIEBpZiBub3QgJGJyZWFrcG9pbnQge1xuICAgICAgQGlmICRkaXJlY3Rpb24gPT0gYWxsIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiAkYnJlYWtwb2ludC12YWx1ZSBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAjeyRwcm9wZXJ0eX0tI3skZGlyZWN0aW9ufTogJGJyZWFrcG9pbnQtdmFsdWUgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgQGlmICRkaXJlY3Rpb24gPT0gYWxsIHtcbiAgICAgICAgICAjeyRwcm9wZXJ0eX06ICRicmVha3BvaW50LXZhbHVlIGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAjeyRwcm9wZXJ0eX0tI3skZGlyZWN0aW9ufTogJGJyZWFrcG9pbnQtdmFsdWUgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFJlc3BvbnNpdmUgbWFyZ2luXG4vLy9cbi8vLyBBZGRzIHJlc3BvbnNpdmUgbWFyZ2luIGJ5IGZldGNoaW5nIGEgJ3NwYWNpbmcgbWFwJyBmcm9tIHRoZSByZXNwb25zaXZlXG4vLy8gc3BhY2luZyBzY2FsZSwgd2hpY2ggZGVmaW5lcyBkaWZmZXJlbnQgc3BhY2luZyB2YWx1ZXMgYXQgZGlmZmVyZW50XG4vLy8gYnJlYWtwb2ludHMuIFdyYXBwZXIgZm9yIHRoZSBgX2dvdnVrLXJlc3BvbnNpdmUtc3BhY2luZ2AgbWl4aW4uXG4vLy9cbi8vLyBAc2VlIHttaXhpbn0gX2dvdnVrLXJlc3BvbnNpdmUtc3BhY2luZ1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQgLSBQb2ludCBvbiB0aGUgcmVzcG9uc2l2ZSBzcGFjaW5nXG4vLy8gc2NhbGUsIGNvcnJlc3BvbmRzIHRvIGEgbWFwIG9mIGJyZWFrcG9pbnRzIGFuZCBzcGFjaW5nIHZhbHVlc1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlyZWN0aW9uIFthbGxdIC0gRGlyZWN0aW9uIHRvIGFkZCBzcGFjaW5nIHRvXG4vLy8gICAoYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBgbGVmdGAsIGBhbGxgKVxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGltcG9ydGFudCBbZmFsc2VdIC0gV2hldGhlciB0byBtYXJrIGFzIGAhaW1wb3J0YW50YFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYWRqdXN0bWVudCBbZmFsc2VdIC0gT2Zmc2V0IHRvIGFkanVzdCBzcGFjaW5nIGJ5XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImxlZnRcIiwgJGFkanVzdG1lbnQ6IDFweCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oJHJlc3BvbnNpdmUtc3BhY2luZy1wb2ludCwgJGRpcmVjdGlvbjogXCJhbGxcIiwgJGltcG9ydGFudDogZmFsc2UsICRhZGp1c3RtZW50OiBmYWxzZSkge1xuICBAaW5jbHVkZSBfZ292dWstcmVzcG9uc2l2ZS1zcGFjaW5nKCRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQsIFwibWFyZ2luXCIsICRkaXJlY3Rpb24sICRpbXBvcnRhbnQsICRhZGp1c3RtZW50KTtcbn1cblxuLy8vIFJlc3BvbnNpdmUgcGFkZGluZ1xuLy8vXG4vLy8gQWRkcyByZXNwb25zaXZlIHBhZGRpbmcgYnkgZmV0Y2hpbmcgYSAnc3BhY2luZyBtYXAnIGZyb20gdGhlIHJlc3BvbnNpdmVcbi8vLyBzcGFjaW5nIHNjYWxlLCB3aGljaCBkZWZpbmVzIGRpZmZlcmVudCBzcGFjaW5nIHZhbHVlcyBhdCBkaWZmZXJlbnRcbi8vLyBicmVha3BvaW50cy4gV3JhcHBlciBmb3IgdGhlIGBfZ292dWstcmVzcG9uc2l2ZS1zcGFjaW5nYCBtaXhpbi5cbi8vL1xuLy8vIEBzZWUge21peGlufSBfZ292dWstcmVzcG9uc2l2ZS1zcGFjaW5nXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHJlc3BvbnNpdmUtc3BhY2luZy1wb2ludCAtIFBvaW50IG9uIHRoZSByZXNwb25zaXZlIHNwYWNpbmdcbi8vLyAgIHNjYWxlLCBjb3JyZXNwb25kcyB0byBhIG1hcCBvZiBicmVha3BvaW50cyBhbmQgc3BhY2luZyB2YWx1ZXNcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpcmVjdGlvbiBbYWxsXSAtIERpcmVjdGlvbiB0byBhZGQgc3BhY2luZyB0b1xuLy8vICAgKGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgYGxlZnRgLCBgYWxsYClcbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbXBvcnRhbnQgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gbWFyayBhcyBgIWltcG9ydGFudGBcbi8vLyBAcGFyYW0ge051bWJlcn0gJGFkanVzdG1lbnQgW2ZhbHNlXSAtIE9mZnNldCB0byBhZGp1c3Qgc3BhY2luZ1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1wYWRkaW5nKDYsIFwibGVmdFwiLCAkYWRqdXN0bWVudDogMXB4KTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcoJHJlc3BvbnNpdmUtc3BhY2luZy1wb2ludCwgJGRpcmVjdGlvbjogXCJhbGxcIiwgJGltcG9ydGFudDogZmFsc2UsICRhZGp1c3RtZW50OiBmYWxzZSkge1xuICBAaW5jbHVkZSBfZ292dWstcmVzcG9uc2l2ZS1zcGFjaW5nKCRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQsIFwicGFkZGluZ1wiLCAkZGlyZWN0aW9uLCAkaW1wb3J0YW50LCAkYWRqdXN0bWVudCk7XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9zcGFjaW5nLnNjc3MubWFwICovXG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29yZS90eXBvZ3JhcGh5XCIpIHtcbiAgLy8gSGVhZGluZ3NcblxuICAlZ292dWstaGVhZGluZy14bCB7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogNDgsICR3ZWlnaHQ6IGJvbGQpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDgsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLWhlYWRpbmcteGwge1xuICAgIEBleHRlbmQgJWdvdnVrLWhlYWRpbmcteGw7XG4gIH1cblxuICAlZ292dWstaGVhZGluZy1sIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAzNiwgJHdlaWdodDogYm9sZCk7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstaGVhZGluZy1sIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1oZWFkaW5nLWw7XG4gIH1cblxuICAlZ292dWstaGVhZGluZy1tIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAyNCwgJHdlaWdodDogYm9sZCk7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstaGVhZGluZy1tIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1oZWFkaW5nLW07XG4gIH1cblxuICAlZ292dWstaGVhZGluZy1zIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSwgJHdlaWdodDogYm9sZCk7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstaGVhZGluZy1zIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1oZWFkaW5nLXM7XG4gIH1cblxuICAvLyBDYXB0aW9ucyB0byBiZSB1c2VkIGluc2lkZSBoZWFkaW5nc1xuXG4gIC5nb3Z1ay1jYXB0aW9uLXhsIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAyNyk7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMSk7XG5cbiAgICBjb2xvcjogJGdvdnVrLXNlY29uZGFyeS10ZXh0LWNvbG91cjtcbiAgfVxuXG4gIC5nb3Z1ay1jYXB0aW9uLWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDI0KTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcbiAgICBjb2xvcjogJGdvdnVrLXNlY29uZGFyeS10ZXh0LWNvbG91cjtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWNhcHRpb24tbSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBjb2xvcjogJGdvdnVrLXNlY29uZGFyeS10ZXh0LWNvbG91cjtcbiAgfVxuXG4gIC8vIEJvZHkgKHBhcmFncmFwaHMpXG5cbiAgJWdvdnVrLWJvZHktbCB7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMjQpO1xuXG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay1ib2R5LWwge1xuICAgIEBleHRlbmQgJWdvdnVrLWJvZHktbDtcbiAgfVxuXG4gICVnb3Z1ay1ib2R5LW0ge1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcblxuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstYm9keS1tIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1ib2R5LW07XG4gIH1cblxuICAlZ292dWstYm9keS1zIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxNik7XG5cbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLWJvZHktcyB7XG4gICAgQGV4dGVuZCAlZ292dWstYm9keS1zO1xuICB9XG5cbiAgLy8gQGRlcHJlY2F0ZWRcbiAgJWdvdnVrLWJvZHkteHMge1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IF8xNCk7XG5cbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLy8gQGRlcHJlY2F0ZWRcbiAgLmdvdnVrLWJvZHkteHMge1xuICAgIEBleHRlbmQgJWdvdnVrLWJvZHkteHM7XG4gIH1cblxuICAvLyBVc2FnZSBhbGlhc2VzXG5cbiAgLy8gVXNpbmcgZXh0ZW5kIHRvIGFsaWFzIG1lYW5zIHdlIGFsc28gaW5oZXJpdCBhbnkgY29udGV4dHVhbCBhZGp1c3RtZW50cyB0aGF0XG4gIC8vIHJlZmVyIHRvIHRoZSAnb3JpZ2luYWwnIGNsYXNzIG5hbWVcblxuICAuZ292dWstYm9keS1sZWFkIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1ib2R5LWw7XG4gIH1cblxuICAuZ292dWstYm9keSB7XG4gICAgQGV4dGVuZCAlZ292dWstYm9keS1tO1xuICB9XG5cbiAgLy8gQ29udGV4dHVhbCBhZGp1c3RtZW50c1xuICAvLyBBZGQgdG9wIHBhZGRpbmcgdG8gaGVhZGluZ3MgdGhhdCBhcHBlYXIgZGlyZWN0bHkgYWZ0ZXIgcGFyYWdyYXBocy5cblxuICAlZ292dWstYm9keS1sICsgJWdvdnVrLWhlYWRpbmctbCB7XG4gICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMSk7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygyKTtcbiAgICB9XG4gIH1cblxuICAlZ292dWstYm9keS1tICsgJWdvdnVrLWhlYWRpbmctbCxcbiAgJWdvdnVrLWJvZHktcyArICVnb3Z1ay1oZWFkaW5nLWwsXG4gICVnb3Z1ay1saXN0ICsgJWdvdnVrLWhlYWRpbmctbCB7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1wYWRkaW5nKDQsIFwidG9wXCIpO1xuICB9XG5cbiAgJWdvdnVrLWJvZHktbSArICVnb3Z1ay1oZWFkaW5nLW0sXG4gICVnb3Z1ay1ib2R5LXMgKyAlZ292dWstaGVhZGluZy1tLFxuICAlZ292dWstbGlzdCArICVnb3Z1ay1oZWFkaW5nLW0sXG4gICVnb3Z1ay1ib2R5LW0gKyAlZ292dWstaGVhZGluZy1zLFxuICAlZ292dWstYm9keS1zICsgJWdvdnVrLWhlYWRpbmctcyxcbiAgJWdvdnVrLWxpc3QgKyAlZ292dWstaGVhZGluZy1zIHtcbiAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygxKTtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIH1cbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1fdHlwb2dyYXBoeS5zY3NzLm1hcCAqL1xuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvcmUvc2VjdGlvbi1icmVha1wiKSB7XG4gICVnb3Z1ay1zZWN0aW9uLWJyZWFrIHtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgLmdvdnVrLXNlY3Rpb24tYnJlYWsge1xuICAgIEBleHRlbmQgJWdvdnVrLXNlY3Rpb24tYnJlYWs7XG4gIH1cblxuICAvLyBTaXplc1xuXG4gICVnb3Z1ay1zZWN0aW9uLWJyZWFrLS14bCB7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oOCwgXCJ0b3BcIik7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oOCwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstc2VjdGlvbi1icmVhay0teGwge1xuICAgIEBleHRlbmQgJWdvdnVrLXNlY3Rpb24tYnJlYWstLXhsO1xuICB9XG5cbiAgJWdvdnVrLXNlY3Rpb24tYnJlYWstLWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwidG9wXCIpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLXNlY3Rpb24tYnJlYWstLWwge1xuICAgIEBleHRlbmQgJWdvdnVrLXNlY3Rpb24tYnJlYWstLWw7XG4gIH1cblxuICAlZ292dWstc2VjdGlvbi1icmVhay0tbSB7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJ0b3BcIik7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstc2VjdGlvbi1icmVhay0tbSB7XG4gICAgQGV4dGVuZCAlZ292dWstc2VjdGlvbi1icmVhay0tbTtcbiAgfVxuXG4gIC8vIFZpc2libGUgdmFyaWFudFxuXG4gICVnb3Z1ay1zZWN0aW9uLWJyZWFrLS12aXNpYmxlIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gIH1cblxuICAuZ292dWstc2VjdGlvbi1icmVhay0tdmlzaWJsZSB7XG4gICAgQGV4dGVuZCAlZ292dWstc2VjdGlvbi1icmVhay0tdmlzaWJsZTtcbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1fc2VjdGlvbi1icmVhay5zY3NzLm1hcCAqL1xuIiwiQGltcG9ydCBcIi4uL2Jhc2VcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL29iamVjdHMvYnV0dG9uLWdyb3VwXCIpIHtcbiAgLy8gQnV0dG9uIGdyb3VwcyBjYW4gYmUgdXNlZCB0byBncm91cCBidXR0b25zIGFuZCBsaW5rcyB0b2dldGhlciBhcyBhIGdyb3VwLlxuICAvL1xuICAvLyBXaXRoaW4gYSBidXR0b24gZ3JvdXA6XG4gIC8vXG4gIC8vIC0gbGlua3MgYXJlIHN0eWxlZCB0byBsaW5lIHVwIHZpc3VhbGx5IHdpdGggdGhlIGJ1dHRvbnMsIGluY2x1ZGluZyBiZWluZ1xuICAvLyAgIGNlbnRyZS1hbGlnbmVkIG9uIG1vYmlsZVxuICAvLyAtIHNwYWNpbmcgYmV0d2VlbiB0aGUgYnV0dG9ucyBhbmQgbGlua3MgaXMgaGFuZGxlZCBhdXRvbWF0aWNhbGx5LCBpbmNsdWRpbmdcbiAgLy8gICB3aGVuIHRoZXkgd3JhcCBhY3Jvc3MgbXVsdGlwbGUgbGluZXNcbiAgLmdvdnVrLWJ1dHRvbi1ncm91cCB7XG4gICAgJGhvcml6b250YWwtZ2FwOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgICR2ZXJ0aWNhbC1nYXA6IGdvdnVrLXNwYWNpbmcoMyk7XG5cbiAgICAvLyBUaGVzZSBuZWVkIHRvIGJlIGtlcHQgaW4gc3luYyB3aXRoIHRoZSBidXR0b24gY29tcG9uZW50J3Mgc3R5bGVzXG4gICAgJGJ1dHRvbi1wYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgICRidXR0b24tc2hhZG93LXNpemU6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50O1xuXG4gICAgJGxpbmstc3BhY2luZzogZ292dWstc3BhY2luZygxKTtcblxuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIsICRhZGp1c3RtZW50OiAkdmVydGljYWwtZ2FwICogLTEpO1xuXG4gICAgLy8gRmxleGJveCBpcyB1c2VkIHRvIGNlbnRlci1hbGlnbiBsaW5rcyBvbiBtb2JpbGUsIGFsaWduIGV2ZXJ5dGhpbmcgYWxvbmdcbiAgICAvLyB0aGUgYmFzZWxpbmUgb24gdGFibGV0IGFuZCBhYm92ZSwgYW5kIHRvIHJlbW92ZXMgZXh0cmEgd2hpdGVzcGFjZSB0aGF0XG4gICAgLy8gd2UnZCBnZXQgYmV0d2VlbiB0aGUgYnV0dG9ucyBhbmQgbGlua3MgYmVjYXVzZSB0aGV5J3JlIGlubGluZS1ibG9ja3MuXG4gICAgLy9cbiAgICAvLyBJZGVhbGx5IHdlJ2QgdXNlIGBnYXBgIHdpdGggZmxleGJveCByYXRoZXIgdGhhbiBoYXZpbmcgdG8gZG8gaXQgYWxsIHdpdGhcbiAgICAvLyBtYXJnaW5zLCBidXQgdW5mb3J0dW5hdGVseSB0aGUgc3VwcG9ydCBpc24ndCB0aGVyZSAoeWV0KSBhbmQgQHN1cHBvcnRzXG4gICAgLy8gZG9lc24ndCBwbGF5IG5pY2VseSB3aXRoIGl0XG4gICAgLy8gKGh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctZHJhZnRzL2lzc3Vlcy8zNTU5KVxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgLy8gR2l2ZSBsaW5rcyB3aXRoaW4gdGhlIGJ1dHRvbiBncm91cCB0aGUgc2FtZSBmb250LXNpemUgYW5kIGxpbmUtaGVpZ2h0XG4gICAgLy8gYXMgYnV0dG9ucy5cbiAgICAvL1xuICAgIC8vIEJlY2F1c2Ugd2Ugd2FudCB0aGUgZm9jdXMgc3RhdGUgdG8gYmUgdGlnaHQgYXJvdW5kIHRoZSBsaW5rIHRleHQsIHdlIHVzZVxuICAgIC8vIG1hcmdpbnMgd2hlcmUgdGhlIGJ1dHRvbnMgd291bGQgdXNlIHBhZGRpbmcuXG4gICAgLmdvdnVrLWxpbmsge1xuICAgICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTksICRsaW5lLWhlaWdodDogMTlweCk7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAvLyBQcmV2ZW50IGxpbmtzIG92ZXJmbG93aW5nIHRoZWlyIGNvbnRhaW5lciBpbiBJRTEwLzExIGJlY2F1c2Ugb2YgYnVnXG4gICAgICAvLyB3aXRoIGFsaWduLWl0ZW1zOiBjZW50ZXJcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi10b3A6ICRsaW5rLXNwYWNpbmc7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkbGluay1zcGFjaW5nICsgJHZlcnRpY2FsLWdhcDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAvLyBSZWR1Y2UgdGhlIGJvdHRvbSBtYXJnaW4gdG8gdGhlIHNpemUgb2YgdGhlIHZlcnRpY2FsIGdhcCAoYWNjb21tb2RhdGluZ1xuICAgIC8vIHRoZSBidXR0b24gc2hhZG93KSDigJMgdGhlICdsb3N0JyBtYXJnaW4gaXMgbW92ZWQgdG8gdGhlIGJ1dHRvbi1ncm91cC5cbiAgICAuZ292dWstYnV0dG9uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICR2ZXJ0aWNhbC1nYXAgKyAkYnV0dG9uLXNoYWRvdy1zaXplO1xuICAgIH1cblxuICAgIC8vIE9uIHRhYmxldCBhbmQgYWJvdmUsIHdlIGFsc28gaW50cm9kdWNlIGEgJ2NvbHVtbiBnYXAnIGJldHdlZW4gdGhlXG4gICAgLy8gYnV0dG9ucyBhbmQgbGlua3MgaW4gZWFjaCByb3cgYW5kIGxlZnQgYWxpZ24gbGlua3NcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICAvLyBDYW5jZWwgb3V0IHRoZSBjb2x1bW4gZ2FwIGZvciB0aGUgbGFzdCBpdGVtIGluIGVhY2ggcm93XG4gICAgICBtYXJnaW4tcmlnaHQ6ICgkaG9yaXpvbnRhbC1nYXAgKiAtMSk7XG5cbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG5cbiAgICAgIC5nb3Z1ay1idXR0b24sXG4gICAgICAuZ292dWstbGluayB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJGhvcml6b250YWwtZ2FwO1xuICAgICAgfVxuXG4gICAgICAuZ292dWstbGluayB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9idXR0b24tZ3JvdXAuc2Nzcy5tYXAgKi9cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgaGVscGVycy9sYXlvdXRcbi8vLy9cblxuLy8vIENsZWFyIGZsb2F0ZWQgY29udGVudCB3aXRoaW4gYSBjb250YWluZXIgdXNpbmcgYSBwc2V1ZG8gZWxlbWVudFxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWNsZWFyZml4IHtcbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2NsZWFyZml4LnNjc3MubWFwICovXG4iLCJAaW1wb3J0IFwiLi4vYmFzZVwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvb2JqZWN0cy9mb3JtLWdyb3VwXCIpIHtcbiAgLmdvdnVrLWZvcm0tZ3JvdXAge1xuICAgIEBpbmNsdWRlIGdvdnVrLWNsZWFyZml4O1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuXG4gICAgLmdvdnVrLWZvcm0tZ3JvdXA6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIFJlbW92ZSBtYXJnaW4gZnJvbSBsYXN0IGl0ZW0gaW4gbmVzdGVkIGdyb3Vwc1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1mb3JtLWdyb3VwLS1lcnJvciB7XG4gICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIGJvcmRlci1sZWZ0OiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZ3JvdXAtZXJyb3Igc29saWQgJGdvdnVrLWVycm9yLWNvbG91cjtcblxuICAgIC5nb3Z1ay1mb3JtLWdyb3VwIHtcbiAgICAgIC8vIFJlc2V0IGVycm9yIHN0eWxlcyBpbiBuZXN0ZWQgZm9ybSBncm91cHMgdGhhdCBtaWdodCBoYXZlIGVycm9yIGNsYXNzXG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1fZm9ybS1ncm91cC5zY3NzLm1hcCAqL1xuIiwiQGltcG9ydCBcIi4uL2Jhc2VcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL29iamVjdHMvZ3JpZFwiKSB7XG4gIC5nb3Z1ay1ncmlkLXJvdyB7XG4gICAgQGluY2x1ZGUgZ292dWstY2xlYXJmaXg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtKCRnb3Z1ay1ndXR0ZXItaGFsZik7XG4gICAgbWFyZ2luLWxlZnQ6IC0oJGdvdnVrLWd1dHRlci1oYWxmKTtcbiAgfVxuXG4gIEBlYWNoICR3aWR0aCBpbiBtYXAta2V5cygkZ292dWstZ3JpZC13aWR0aHMpIHtcbiAgICAuZ292dWstZ3JpZC1jb2x1bW4tI3skd2lkdGh9IHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLWdyaWQtY29sdW1uKCR3aWR0aCk7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhlc2UgKm11c3QqIGJlIGRlZmluZWQgaW4gYSBzZXBhcmF0ZSBsb29wIGFzIHRoZXkgaGF2ZSB0aGUgc2FtZVxuICAvLyBzcGVjaWZpY2l0eSBhcyB0aGUgbm9uLWJyZWFrcG9pbnQgc3BlY2lmaWMgY2xhc3Nlcywgc28gbmVlZCB0byBhcHBlYXIgYWZ0ZXJcbiAgLy8gdGhlbSBpbiB0aGUgb3V0cHV0dGVkIENTU1xuICBAZWFjaCAkd2lkdGggaW4gbWFwLWtleXMoJGdvdnVrLWdyaWQtd2lkdGhzKSB7XG4gICAgLmdvdnVrLWdyaWQtY29sdW1uLSN7JHdpZHRofS1mcm9tLWRlc2t0b3Age1xuICAgICAgQGluY2x1ZGUgZ292dWstZ3JpZC1jb2x1bW4oJHdpZHRoLCAkYXQ6IGRlc2t0b3ApO1xuICAgIH1cbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1fZ3JpZC5zY3NzLm1hcCAqL1xuIiwiLy8vL1xuLy8vIEBncm91cCBoZWxwZXJzL2xheW91dFxuLy8vL1xuXG4vLy8gR3JpZCB3aWR0aCBwZXJjZW50YWdlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIE5hbWUgb2YgZ3JpZCB3aWR0aCAoZS5nLiB0d28tdGhpcmRzKVxuLy8vIEByZXR1cm4ge051bWJlcn0gUGVyY2VudGFnZSB3aWR0aFxuLy8vIEB0aHJvdyBpZiBgJGtleWAgaXMgbm90IGEgdmFsaWQgZ3JpZCB3aWR0aFxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBmdW5jdGlvbiBnb3Z1ay1ncmlkLXdpZHRoKCRrZXkpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRnb3Z1ay1ncmlkLXdpZHRocywgJGtleSkge1xuICAgIEByZXR1cm4gbWFwLWdldCgkZ292dWstZ3JpZC13aWR0aHMsICRrZXkpO1xuICB9XG5cbiAgQGVycm9yIFwiVW5rbm93biBncmlkIHdpZHRoIGAjeyRrZXl9YFwiO1xufVxuXG4vLy8gR2VuZXJhdGUgZ3JpZCBjb2x1bW4gc3R5bGVzXG4vLy9cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4gd2l0aCBzdGFuZGFyZCBndXR0ZXIgYmV0d2VlbiB0aGUgY29sdW1ucy5cbi8vL1xuLy8vIEdyaWQgd2lkdGhzIGFyZSBkZWZpbmVkIGluIHRoZSBgJGdvdnVrLWdyaWQtd2lkdGhzYCBtYXAuXG4vLy9cbi8vLyBCeSBkZWZhdWx0IHRoZSBjb2x1bW4gd2lkdGggY2hhbmdlcyBmcm9tIDEwMCUgdG8gc3BlY2lmaWVkIHdpZHRoIGF0IHRoZVxuLy8vICd0YWJsZXQnIGJyZWFrcG9pbnQsIGJ1dCBvdGhlciBicmVha3BvaW50cyBjYW4gYmUgc3BlY2lmaWVkIHVzaW5nIHRoZSBgJGF0YFxuLy8vIHBhcmFtZXRlci5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkd2lkdGggW2Z1bGxdIG5hbWUgb2YgYSBncmlkIHdpZHRoIGZyb20gJGdvdnVrLWdyaWQtd2lkdGhzXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRmbG9hdCBbbGVmdF0gbGVmdCB8IHJpZ2h0XG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRhdCBbdGFibGV0XSAtIG1vYmlsZSB8IHRhYmxldCB8IGRlc2t0b3AgfCBhbnkgY3VzdG9tIGJyZWFrcG9pbnRcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBEZWZhdWx0XG4vLy8gICAuZ292dWstZ3JpZC1jb2x1bW4tdHdvLXRoaXJkcyB7XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWdyaWQtY29sdW1uKHR3by10aGlyZHMpXG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3VzdG9taXNpbmcgdGhlIGJyZWFrcG9pbnQgd2hlcmUgd2lkdGggcGVyY2VudGFnZSBpcyBhcHBsaWVkXG4vLy8gICAuZ292dWstZ3JpZC1jb2x1bW4tb25lLWhhbGYtZnJvbS1kZXNrdG9wIHtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstZ3JpZC1jb2x1bW4ob25lLWhhbGYsICRhdDogZGVza3RvcCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3VzdG9taXNpbmcgdGhlIGZsb2F0IGRpcmVjdGlvblxuLy8vICAgLmdvdnVrLWdyaWQtY29sdW1uLW9uZS1oYWxmLXJpZ2h0IHtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstZ3JpZC1jb2x1bW4odHdvLXRoaXJkcywgJGZsb2F0OiByaWdodCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstZ3JpZC1jb2x1bW4oJHdpZHRoOiBmdWxsLCAkZmxvYXQ6IGxlZnQsICRhdDogdGFibGV0KSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIEBpZiAkYXQgIT0gZGVza3RvcCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgcGFkZGluZzogMCAkZ292dWstZ3V0dGVyLWhhbGY7XG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiAkYXQpIHtcbiAgICB3aWR0aDogZ292dWstZ3JpZC13aWR0aCgkd2lkdGgpO1xuICAgIGZsb2F0OiAkZmxvYXQ7XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2dyaWQuc2Nzcy5tYXAgKi9cbiIsIkBpbXBvcnQgXCIuLi9iYXNlXCI7XG5cbi8vLy9cbi8vLyBAZ3JvdXAgb2JqZWN0cy9sYXlvdXRcbi8vLy9cblxuLy8gRXhhbXBsZSB1c2FnZSB3aXRoIEJyZWFkY3J1bWJzLCBwaGFzZSBiYW5uZXJzLCBiYWNrIGxpbmtzOlxuLy8gPGRpdiBjbGFzcz1cImdvdnVrLXdpZHRoLWNvbnRhaW5lclwiPlxuLy8gICA8IS0tIEJyZWFkY3J1bWJzLCBwaGFzZSBiYW5uZXJzLCBiYWNrIGxpbmtzIGFyZSBwbGFjZWQgaW4gaGVyZS4gLS0+XG4vLyAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1tYWluLXdyYXBwZXJcIj5cbi8vICAgICAgIDwhLS0gV3JhcHBlciBmb3IgdGhlIG1haW4gY29udGVudCBvZiB5b3VyIHBhZ2Ugd2hpY2ggYXBwbGllcyBwYWRkaW5nXG4vLyAgICAgICAgICAgIHRvIHRoZSB0b3AgLyBib3R0b20gLS0+XG4vLyAgIDwvZGl2PlxuLy8gPC9kaXY+XG4vL1xuLy8gRXhhbXBsZSB1c2FnZSB3aXRob3V0IEJyZWFkY3J1bWJzLCBwaGFzZSBiYW5uZXJzLCBiYWNrIGxpbmtzOlxuLy8gPGRpdiBjbGFzcz1cImdvdnVrLXdpZHRoLWNvbnRhaW5lclwiPlxuLy8gICA8ZGl2IGNsYXNzPVwiZ292dWstbWFpbi13cmFwcGVyIGdvdnVrLW1haW4td3JhcHBlci0tbFwiPlxuLy8gICAgICAgPCEtLSBXcmFwcGVyIGZvciB0aGUgbWFpbiBjb250ZW50IG9mIHlvdXIgcGFnZSB3aGljaCBhcHBsaWVzIHBhZGRpbmdcbi8vICAgICAgICAgICAgdG8gdGhlIHRvcCAvIGJvdHRvbSAtLT5cbi8vICAgPC9kaXY+XG4vLyA8L2Rpdj5cblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL29iamVjdHMvbWFpbi13cmFwcGVyXCIpIHtcbiAgLmdvdnVrLW1haW4td3JhcHBlciB7XG4gICAgLy8gSW4gSUUxMSB0aGUgYG1haW5gIGVsZW1lbnQgY2FuIGJlIHVzZWQsIGJ1dCBpcyBub3QgcmVjb2duaXplZCAg4oCTXG4gICAgLy8gbWVhbmluZyBpdCdzIG5vdCBkZWZpbmVkIGluIElFJ3MgZGVmYXVsdCBzdHlsZSBzaGVldCxcbiAgICAvLyBzbyBpdCB1c2VzIENTUyBpbml0aWFsIHZhbHVlLCB3aGljaCBpcyBpbmxpbmUuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoNCk7XG4gICAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoNCk7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICAvLyBUaGlzIHNwYWNpbmcgaXMgbWFudWFsbHkgYWRqdXN0ZWQgdG8gcmVwbGljYXRlIHRoZSBtYXJnaW4gb2ZcbiAgICAgIC8vIGdvdnVrLWhlYWRpbmcteGwgKDUwcHgpIG1pbnVzIHRoZSBzcGFjaW5nIG9mIGJhY2sgbGluayBhbmRcbiAgICAgIC8vIGJyZWFkY3J1bWJzICgxMHB4KVxuICAgICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoNyk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZyg3KTtcbiAgICB9XG4gIH1cblxuICAvLyBVc2luZyB0aGUgYC5nb3Z1ay1tYWluLXdyYXBwZXItLWF1dG8tc3BhY2luZ2AgbW9kaWZpZXIgc2hvdWxkIGFwcGx5IHRoZVxuICAvLyBjb3JyZWN0IHNwYWNpbmcgZGVwZW5kaW5nIG9uIHdoZXRoZXIgdGhlcmUgYXJlIGFueSBlbGVtZW50c1xuICAvLyAoc3VjaCB0aGUgYmFjayBsaW5rLCBicmVhZGNydW1icyBvciBwaGFzZSBiYW5uZXIgY29tcG9uZW50cykgYmVmb3JlIHRoZVxuICAvLyBgLmdvdnVrLW1haW4td3JhcHBlcmAgaW4gdGhlIGBnb3Z1ay13aWR0aC1jb250YWluZXJgLlxuICAvL1xuICAvLyBJZiB5b3UgbmVlZCB0byBjb250cm9sIHRoZSBzcGFjaW5nIG1hbnVhbGx5LCB1c2UgdGhlXG4gIC8vIGBnb3Z1ay1tYWluLXdyYXBwZXItLWxgIG1vZGlmaWVyIGluc3RlYWQuXG4gIC5nb3Z1ay1tYWluLXdyYXBwZXItLWF1dG8tc3BhY2luZzpmaXJzdC1jaGlsZCxcbiAgLmdvdnVrLW1haW4td3JhcHBlci0tbCB7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1wYWRkaW5nKDgsIFwidG9wXCIpO1xuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9tYWluLXdyYXBwZXIuc2Nzcy5tYXAgKi9cbiIsIkBpbXBvcnQgXCIuLi9iYXNlXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vYmplY3RzL3RlbXBsYXRlXCIpIHtcbiAgLy8gQXBwbGllZCB0byB0aGUgPGh0bWw+IGVsZW1lbnRcbiAgLmdvdnVrLXRlbXBsYXRlIHtcbiAgICAvLyBTZXQgdGhlIG92ZXJhbGwgcGFnZSBiYWNrZ3JvdW5kIGNvbG91ciB0byB0aGUgc2FtZSBjb2xvdXIgYXMgdXNlZCBieSB0aGVcbiAgICAvLyBmb290ZXIgdG8gZ2l2ZSB0aGUgaWxsdXNpb24gb2YgYSBsb25nIGZvb3Rlci5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstY2FudmFzLWJhY2tncm91bmQtY29sb3VyO1xuXG4gICAgLy8gUHJldmVudCBhdXRvbWF0aWMgdGV4dCBzaXppbmcsIGFzIHdlIGFscmVhZHkgY2F0ZXIgZm9yIHNtYWxsIGRldmljZXMgYW5kXG4gICAgLy8gd291bGQgbGlrZSB0aGUgYnJvd3NlciB0byBzdGF5IG9uIDEwMCUgdGV4dCB6b29tIGJ5IGRlZmF1bHQuXG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAgICAgIC1tb3otdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgICAgICAgICAgIHRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG5cbiAgICAvLyBBZGQgc2Nyb2xsIHBhZGRpbmcgdG8gdGhlIHRvcCBvZiBnb3Z1ay10ZW1wbGF0ZSBidXQgcmVtb3ZlIGl0IGlmIHRoZVxuICAgIC8vIGV4aXQgdGhpcyBwYWdlIGNvbXBvbmVudCBpcyBwcmVzZW50LlxuICAgIC8vXG4gICAgLy8gVGhpcyBpcyBhIHNvbHV0aW9uIHRvIGV4aXQgdGhpcyBwYWdlIHBvdGVudGlhbGx5IGZhaWxpbmcgV0NBRyBTQyAyLjQuMTI6XG4gICAgLy8gRm9jdXMgTm90IE9ic2N1cmVkIChodHRwczovL3d3dy53My5vcmcvV0FJL1dDQUcyMi9VbmRlcnN0YW5kaW5nL2ZvY3VzLW5vdC1vYnNjdXJlZC1taW5pbXVtLmh0bWwpXG4gICAgLy8gZHVlIHRvIGl0J3Mgc3RpY2t5IHBvc2l0aW9uaW5nLlxuICAgIC8vXG4gICAgLy8gVGhpcyB3aWxsIGFwcGx5IHNjcm9sbC1wYWRkaW5nLXRvcCBpbiBhbnkgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IDpoYXNcbiAgICAvLyAoaHR0cHM6Ly9jYW5pdXNlLmNvbS9jc3MtaGFzKS4gVGhpcyBpcyBwYXJ0IG9mIHRoZSByZWFzb24gd2UgZG8gdGhpcyBpblxuICAgIC8vIGEgXCJ3cm9uZyB3YXkgcm91bmRcIiB3YXkgYXMgd2UgaHlwb3RoZXNpc2UgdGhhdCB0aGUgcmlza3Mgb2YgaGF2aW5nXG4gICAgLy8gc2Nyb2xsLXBhZGRpbmcgdW5uZWNlc3NhcmlseSBpcyBiZXR0ZXIgdGhhbiByaXNraW5nIG5vdCBoYXZpbmcgc2Nyb2xsLXBhZGRpbmdcbiAgICAvLyBhbmQgbmVlZGluZyBpdCB0byBhY2NvdW50IGZvciBleGl0IHRoaXMgcGFnZS5cbiAgICBAc3VwcG9ydHMgKChwb3NpdGlvbjogLXdlYmtpdC1zdGlja3kpIG9yIChwb3NpdGlvbjogc3RpY2t5KSkge1xuICAgICAgc2Nyb2xsLXBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDkpO1xuXG4gICAgICAmOm5vdCg6aGFzKC5nb3Z1ay1leGl0LXRoaXMtcGFnZSkpIHtcbiAgICAgICAgc2Nyb2xsLXBhZGRpbmctdG9wOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEZvcmNlIHRoZSBzY3JvbGxiYXIgdG8gYWx3YXlzIGRpc3BsYXkgaW4gSUUsIHRvIHByZXZlbnQgaG9yaXpvbnRhbCBwYWdlXG4gICAgLy8ganVtcHMgYXMgY29udGVudCBoZWlnaHQgY2hhbmdlcyAoZS5nLiBhdXRvY29tcGxldGUgcmVzdWx0cyBvcGVuKS5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkbWVkaWEtdHlwZTogc2NyZWVuKSB7XG4gICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgfVxuICB9XG5cbiAgLy8gQXBwbGllZCB0byB0aGUgPGJvZHk+IGVsZW1lbnRcbiAgLmdvdnVrLXRlbXBsYXRlX19ib2R5IHtcbiAgICAvLyBUaGUgZGVmYXVsdCBtYXJnaW5zIHNldCBieSB1c2VyLWFnZW50cyBhcmUgbm90IHJlcXVpcmVkIHNpbmNlIHdlIGhhdmUgb3VyXG4gICAgLy8gb3duIGNvbnRhaW5lcnMuXG4gICAgbWFyZ2luOiAwO1xuICAgIC8vIFNldCB0aGUgb3ZlcmFsbCBib2R5IG9mIHRoZSBwYWdlIGJhY2sgdG8gdGhlIHR5cGljYWwgYmFja2dyb3VuZCBjb2xvdXIuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLWJvZHktYmFja2dyb3VuZC1jb2xvdXI7XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X3RlbXBsYXRlLnNjc3MubWFwICovXG4iLCJAaW1wb3J0IFwiLi4vYmFzZVwiO1xuXG4vLy8vXG4vLy8gQGdyb3VwIG9iamVjdHMvbGF5b3V0XG4vLy8vXG5cbi8vLyBXaWR0aCBjb250YWluZXIgbWl4aW5cbi8vL1xuLy8vIFVzZWQgdG8gY3JlYXRlIHBhZ2Ugd2lkdGggYW5kIGN1c3RvbSB3aWR0aCBjb250YWluZXIgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkd2lkdGggWyRnb3Z1ay1wYWdlLXdpZHRoXSAtIFdpZHRoIGluIHBpeGVsc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0aW5nIGEgMTIwMHB4IHdpZGUgY29udGFpbmVyIGNsYXNzXG4vLy8gIC5hcHAtd2lkdGgtY29udGFpbmVyLS13aWRlIHtcbi8vLyAgICBAaW5jbHVkZSBnb3Z1ay13aWR0aC1jb250YWluZXIoMTIwMHB4KTtcbi8vLyAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLXdpZHRoLWNvbnRhaW5lcigkd2lkdGg6ICRnb3Z1ay1wYWdlLXdpZHRoKSB7XG4gIC8vIEJ5IGRlZmF1bHQsIGxpbWl0IHRoZSB3aWR0aCBvZiB0aGUgY29udGFpbmVyIHRvIHRoZSBwYWdlIHdpZHRoXG4gIG1heC13aWR0aDogJHdpZHRoO1xuXG4gIC8vIE9uIG1vYmlsZSwgYWRkIGhhbGYgd2lkdGggZ3V0dGVyc1xuICBtYXJnaW4tcmlnaHQ6ICRnb3Z1ay1ndXR0ZXItaGFsZjtcbiAgbWFyZ2luLWxlZnQ6ICRnb3Z1ay1ndXR0ZXItaGFsZjtcblxuICAvLyBSZXNwZWN0ICdkaXNwbGF5IGN1dG91dCcgc2FmZSBhcmVhIChhdm9pZHMgbm90Y2hlcyBhbmQgcm91bmRlZCBjb3JuZXJzKVxuICBAc3VwcG9ydHMgKG1hcmdpbjogdW5xdW90ZShcIm1heChjYWxjKDBweCkpXCIpKSB7XG4gICAgJGd1dHRlci1zYWZlLWFyZWEtcmlnaHQ6IGNhbGMoI3skZ292dWstZ3V0dGVyLWhhbGZ9ICsgZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCkpO1xuICAgICRndXR0ZXItc2FmZS1hcmVhLWxlZnQ6IGNhbGMoI3skZ292dWstZ3V0dGVyLWhhbGZ9ICsgZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0KSk7XG5cbiAgICAvLyBVc2UgbWF4KCkgdG8gcGljayBsYXJnZXN0IG1hcmdpbiwgZGVmYXVsdCBvciB3aXRoIHNhZmUgYXJlYVxuICAgIC8vIEVzY2FwZWQgZHVlIHRvIFNhc3MgbWF4KCkgdnMuIENTUyBuYXRpdmUgbWF4KClcbiAgICBtYXJnaW4tcmlnaHQ6IHVucXVvdGUoXCJtYXgoI3skZ292dWstZ3V0dGVyLWhhbGZ9LCAjeyRndXR0ZXItc2FmZS1hcmVhLXJpZ2h0fSlcIik7XG4gICAgbWFyZ2luLWxlZnQ6IHVucXVvdGUoXCJtYXgoI3skZ292dWstZ3V0dGVyLWhhbGZ9LCAjeyRndXR0ZXItc2FmZS1hcmVhLWxlZnR9KVwiKTtcbiAgfVxuXG4gIC8vIE9uIHRhYmxldCwgYWRkIGZ1bGwgd2lkdGggZ3V0dGVyc1xuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZ292dWstZ3V0dGVyO1xuICAgIG1hcmdpbi1sZWZ0OiAkZ292dWstZ3V0dGVyO1xuXG4gICAgLy8gUmVzcGVjdCAnZGlzcGxheSBjdXRvdXQnIHNhZmUgYXJlYSAoYXZvaWRzIG5vdGNoZXMgYW5kIHJvdW5kZWQgY29ybmVycylcbiAgICBAc3VwcG9ydHMgKG1hcmdpbjogdW5xdW90ZShcIm1heChjYWxjKDBweCkpXCIpKSB7XG4gICAgICAkZ3V0dGVyLXNhZmUtYXJlYS1yaWdodDogY2FsYygjeyRnb3Z1ay1ndXR0ZXItaGFsZn0gKyBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0KSk7XG4gICAgICAkZ3V0dGVyLXNhZmUtYXJlYS1sZWZ0OiBjYWxjKCN7JGdvdnVrLWd1dHRlci1oYWxmfSArIGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCkpO1xuXG4gICAgICAvLyBVc2UgbWF4KCkgdG8gcGljayBsYXJnZXN0IG1hcmdpbiwgZGVmYXVsdCBvciB3aXRoIHNhZmUgYXJlYVxuICAgICAgLy8gRXNjYXBlZCBkdWUgdG8gU2FzcyBtYXgoKSB2cy4gQ1NTIG5hdGl2ZSBtYXgoKVxuICAgICAgbWFyZ2luLXJpZ2h0OiB1bnF1b3RlKFwibWF4KCN7JGdvdnVrLWd1dHRlcn0sICN7JGd1dHRlci1zYWZlLWFyZWEtcmlnaHR9KVwiKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiB1bnF1b3RlKFwibWF4KCN7JGdvdnVrLWd1dHRlcn0sICN7JGd1dHRlci1zYWZlLWFyZWEtbGVmdH0pXCIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFzIHNvb24gYXMgdGhlIHZpZXdwb3J0IGlzIGdyZWF0ZXIgdGhhbiB0aGUgd2lkdGggb2YgdGhlIHBhZ2UgcGx1cyB0aGVcbiAgLy8gZ3V0dGVycywganVzdCBjZW50cmUgdGhlIGNvbnRlbnQgaW5zdGVhZCBvZiBhZGRpbmcgZ3V0dGVycy5cbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGFuZDogXCIobWluLXdpZHRoOiAjeygkd2lkdGggKyAkZ292dWstZ3V0dGVyICogMil9KVwiKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuXG4gICAgLy8gU2luY2UgYSBzYWZlIGFyZWEgbWF5IGhhdmUgcHJldmlvdXNseSBiZWVuIHNldCBhYm92ZSxcbiAgICAvLyB3ZSBuZWVkIHRvIGR1cGxpY2F0ZSB0aGlzIG1hcmdpbiB0aGF0IGNlbnRlcnMgdGhlIHBhZ2UuXG4gICAgQHN1cHBvcnRzIChtYXJnaW46IHVucXVvdGUoXCJtYXgoY2FsYygwcHgpKVwiKSkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vYmplY3RzL3dpZHRoLWNvbnRhaW5lclwiKSB7XG4gIC5nb3Z1ay13aWR0aC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGdvdnVrLXdpZHRoLWNvbnRhaW5lcjtcbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1fd2lkdGgtY29udGFpbmVyLnNjc3MubWFwICovXG4iLCIvLy8vXG4vLy8gQGdyb3VwIHNldHRpbmdzL2xheW91dFxuLy8vL1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFBhZ2UgbGF5b3V0XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8vIFdpZHRoIG9mIG1haW4gY29udGFpbmVyXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstcGFnZS13aWR0aDogOTYwcHggIWRlZmF1bHQ7XG5cbi8vLyBNYXAgb2YgZ3JpZCBjb2x1bW4gd2lkdGhzXG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstZ3JpZC13aWR0aHM6IChcbiAgb25lLXF1YXJ0ZXI6IChcbiAgICAxMDAlIC8gNFxuICApLFxuICBvbmUtdGhpcmQ6IChcbiAgICAxMDAlIC8gM1xuICApLFxuICBvbmUtaGFsZjogKFxuICAgIDEwMCUgLyAyXG4gICksXG4gIHR3by10aGlyZHM6IChcbiAgICAyMDAlIC8gM1xuICApLFxuICB0aHJlZS1xdWFydGVyczogKFxuICAgIDMwMCUgLyA0XG4gICksXG4gIGZ1bGw6IDEwMCVcbikgIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBvZiBndXR0ZXIgYmV0d2VlbiBncmlkIGNvbHVtbnNcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1ndXR0ZXI6IDMwcHggIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBvZiBoYWxmIHRoZSBndXR0ZXIgYmV0d2VlbiBncmlkIGNvbHVtbnNcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1ndXR0ZXItaGFsZjogJGdvdnVrLWd1dHRlciAvIDI7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQm9yZGVyc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vLyBTdGFuZGFyZCBib3JkZXIgd2lkdGhcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1ib3JkZXItd2lkdGg6IDVweCAhZGVmYXVsdDtcblxuLy8vIFdpZGUgYm9yZGVyIHdpZHRoXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstYm9yZGVyLXdpZHRoLXdpZGU6IDEwcHggIWRlZmF1bHQ7XG5cbi8vLyBOYXJyb3cgYm9yZGVyIHdpZHRoXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstYm9yZGVyLXdpZHRoLW5hcnJvdzogNHB4ICFkZWZhdWx0O1xuXG4vLy8gRm9ybSBjb250cm9sIGJvcmRlciB3aWR0aFxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQ6IDJweCAhZGVmYXVsdDtcblxuLy8vIEZvcm0gZ3JvdXAgYm9yZGVyIHdpZHRoIHdoZW4gaW4gZXJyb3Igc3RhdGVcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1ncm91cC1lcnJvcjogJGdvdnVrLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciB3aWR0aCBvZiBmb2N1cyBvdXRsaW5lXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstZm9jdXMtd2lkdGg6IDNweCAhZGVmYXVsdDtcblxuLy8vIEhvdmVyIHdpZHRoIGZvciBmb3JtIGNvbnRyb2xzIHdpdGggYSBob3ZlciBzdGF0ZVxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWhvdmVyLXdpZHRoOiAxMHB4ICFkZWZhdWx0O1xuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1fbWVhc3VyZW1lbnRzLnNjc3MubWFwICovXG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2FjY29yZGlvblwiKSB7XG4gICRnb3Z1ay1hY2NvcmRpb24tYmFzZS1jb2xvdXI6IGdvdnVrLWNvbG91cihcImJsYWNrXCIpO1xuICAkZ292dWstYWNjb3JkaW9uLWhvdmVyLWNvbG91cjogZ292dWstY29sb3VyKFwibGlnaHQtZ3JleVwiKTtcbiAgJGdvdnVrLWFjY29yZGlvbi1pY29uLWZvY3VzLWNvbG91cjogJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgJGdvdnVrLWFjY29yZGlvbi1ib3R0b20tYm9yZGVyLXdpZHRoOiAxcHg7XG5cbiAgLmdvdnVrLWFjY29yZGlvbiB7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygzKTtcbiAgfVxuXG4gIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24taGVhZGluZyB7XG4gICAgLy8gT3ZlcnJpZGUgYnJvd3NlciBkZWZhdWx0cyB0byBlbnN1cmUgY29uc2lzdGVudCBlbGVtZW50IGhlaWdodFxuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIHBhZGRpbmctYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICB9XG5cbiAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1idXR0b24ge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDI0LCAkd2VpZ2h0OiBib2xkKTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMyk7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGJvdHRvbSBtYXJnaW4gZnJvbSB0aGUgbGFzdCBpdGVtIGluc2lkZSB0aGUgY29udGVudFxuICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLWNvbnRlbnQgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC8vIEdPVi5VSyBGcm9udGVuZCBKYXZhU2NyaXB0IGVuYWJsZWRcbiAgLmdvdnVrLWZyb250ZW5kLXN1cHBvcnRlZCB7XG4gICAgLmdvdnVrLWFjY29yZGlvbiB7XG4gICAgICAvLyBCb3JkZXIgYXQgdGhlIGJvdHRvbSBvZiB0aGUgd2hvbGUgYWNjb3JkaW9uXG4gICAgICBib3JkZXItYm90dG9tOiAkZ292dWstYWNjb3JkaW9uLWJvdHRvbS1ib3JkZXItd2lkdGggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gICAgfVxuXG4gICAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbiB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG5cbiAgICAvLyBIaWRlIHRoZSBib2R5IG9mIGNvbGxhcHNlZCBzZWN0aW9ucyBieSBkZWZhdWx0IGZvciBicm93c2VycyB0aGF0IGxhY2tcbiAgICAvLyBzdXBwb3J0IGZvciBgY29udGVudC12aXNpYmlsaXR5YCBwYWlyZWQgd2l0aCBbaGlkZGVuPXVudGlsLWZvdW5kXVxuICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcoMywgXCJ0b3BcIik7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcoOCwgXCJib3R0b21cIik7XG4gICAgfVxuXG4gICAgLy8gSGlkZSB0aGUgYm9keSBvZiBjb2xsYXBzZWQgc2VjdGlvbnMgdXNpbmcgYGNvbnRlbnQtdmlzaWJpbGl0eWAgdG8gZW5hYmxlXG4gICAgLy8gcGFnZSBzZWFyY2ggd2l0aGluIFtoaWRkZW49dW50aWwtZm91bmRdIHJlZ2lvbnMgd2hlcmUgYnJvd3NlciBzdXBwb3J0ZWRcbiAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLWNvbnRlbnRbaGlkZGVuXSB7XG4gICAgICBAc3VwcG9ydHMgKGNvbnRlbnQtdmlzaWJpbGl0eTogaGlkZGVuKSB7XG4gICAgICAgIGNvbnRlbnQtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICBkaXNwbGF5OiBpbmhlcml0O1xuICAgICAgfVxuXG4gICAgICAvLyBIaWRlIHRoZSBwYWRkaW5nIG9mIGNvbGxhcHNlZCBzZWN0aW9uc1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAvLyBTaG93IHRoZSBib2R5IG9mIGV4cGFuZGVkIHNlY3Rpb25zXG4gICAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi0tZXhwYW5kZWQgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5nb3Z1ay1hY2NvcmRpb25fX3Nob3ctYWxsIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgIG1hcmdpbi1ib3R0b206IDlweDtcbiAgICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMSkgMnB4IGdvdnVrLXNwYWNpbmcoMSkgMDtcblxuICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuXG4gICAgICBjb2xvcjogJGdvdnVrLWxpbmstY29sb3VyO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcblxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXG4gICAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE0cHg7XG4gICAgICB9XG5cbiAgICAgIC8vIFJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBmb2N1cyBvdXRsaW5lIGluIEZpcmVmb3hcbiAgICAgICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGdvdnVrLWFjY29yZGlvbi1iYXNlLWNvbG91cjtcbiAgICAgICAgYmFja2dyb3VuZDogJGdvdnVrLWFjY29yZGlvbi1ob3Zlci1jb2xvdXI7XG4gICAgICAgIC8vIFRoZSBmb2N1cyBzdGF0ZSBhZGRzIGEgYm94LXNoYWRvdyB0byB0aGUgdG9wIGFuZCBib3R0b20gb2YgdGhlXG4gICAgICAgIC8vIGJ1dHRvbi4gV2UgYWRkIGEgZ3JleSBib3gtc2hhZG93IG9uIGhvdmVyIHRvbywgdG8gbWFrZSB0aGUgaGVpZ2h0IG9mXG4gICAgICAgIC8vIHRoZSBob3ZlciBzdGF0ZSBtYXRjaCB0aGUgaGVpZ2h0IG9mIHRoZSBmb2N1cyBzdGF0ZS5cbiAgICAgICAgYm94LXNoYWRvdzpcbiAgICAgICAgICAwIC0ycHggJGdvdnVrLWFjY29yZGlvbi1ob3Zlci1jb2xvdXIsXG4gICAgICAgICAgMCA0cHggJGdvdnVrLWFjY29yZGlvbi1ob3Zlci1jb2xvdXI7XG5cbiAgICAgICAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi10b2dnbGUtdGV4dCB7XG4gICAgICAgICAgY29sb3I6ICRnb3Z1ay1hY2NvcmRpb24tYmFzZS1jb2xvdXI7XG4gICAgICAgIH1cblxuICAgICAgICAuZ292dWstYWNjb3JkaW9uLW5hdl9fY2hldnJvbiB7XG4gICAgICAgICAgY29sb3I6ICRnb3Z1ay1hY2NvcmRpb24tYmFzZS1jb2xvdXI7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGdvdnVrLWFjY29yZGlvbi1iYXNlLWNvbG91cjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5nb3Z1ay1hY2NvcmRpb24tbmF2X19jaGV2cm9uOjphZnRlciB7XG4gICAgICAgICAgY29sb3I6ICRnb3Z1ay1hY2NvcmRpb24taG92ZXItY29sb3VyO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2VkLXRleHQ7XG5cbiAgICAgICAgLmdvdnVrLWFjY29yZGlvbi1uYXZfX2NoZXZyb24ge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRnb3Z1ay1hY2NvcmRpb24tYmFzZS1jb2xvdXI7XG4gICAgICAgIH1cblxuICAgICAgICAuZ292dWstYWNjb3JkaW9uLW5hdl9fY2hldnJvbjo6YWZ0ZXIge1xuICAgICAgICAgIGNvbG9yOiAkZ292dWstYWNjb3JkaW9uLWljb24tZm9jdXMtY29sb3VyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1oZWFkaW5nIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLy8gQ3JlYXRlIENoZXZyb24gaWNvbiBhbGlnbmVkIHdpdGggdGV4dFxuICAgIC5nb3Z1ay1hY2NvcmRpb24tbmF2X19jaGV2cm9uIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgLy8gU2V0IHNpemUgdXNpbmcgcmVtcyBzbyBpY29uIHNjYWxlcyB3aXRoIHRleHRcbiAgICAgIHdpZHRoOiBnb3Z1ay1weC10by1yZW0oMjBweCk7XG4gICAgICBoZWlnaHQ6IGdvdnVrLXB4LXRvLXJlbSgyMHB4KTtcblxuICAgICAgYm9yZGVyOiBnb3Z1ay1weC10by1yZW0oMXB4KSBzb2xpZDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgLy8gQ3JlYXRlIGlubmVyIGNoZXZyb24gYXJyb3dcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IGdvdnVrLXB4LXRvLXJlbSg1cHgpO1xuICAgICAgICBsZWZ0OiBnb3Z1ay1weC10by1yZW0oNnB4KTtcblxuICAgICAgICB3aWR0aDogZ292dWstcHgtdG8tcmVtKDZweCk7XG4gICAgICAgIGhlaWdodDogZ292dWstcHgtdG8tcmVtKDZweCk7XG5cbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcblxuICAgICAgICBib3JkZXItdG9wOiBnb3Z1ay1weC10by1yZW0oMnB4KSBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBnb3Z1ay1weC10by1yZW0oMnB4KSBzb2xpZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSb3RhdGUgaWNvbiB0byBjcmVhdGUgXCJEb3duXCIgdmVyc2lvblxuICAgIC5nb3Z1ay1hY2NvcmRpb24tbmF2X19jaGV2cm9uLS1kb3duIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgfVxuXG4gICAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1idXR0b24ge1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMikgMCAwO1xuXG4gICAgICBib3JkZXI6IDA7XG5cbiAgICAgIGJvcmRlci10b3A6ICRnb3Z1ay1hY2NvcmRpb24tYm90dG9tLWJvcmRlci13aWR0aCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcblxuICAgICAgLy8gVmlzdWFsbHkgc2VwYXJhdGUgdGhlIHNlY3Rpb24gZnJvbSB0aGUgb25lIHVuZGVybmVhdGggd2hlbiB1c2VyIGNoYW5nZXNcbiAgICAgIC8vIGNvbG91cnMgaW4gdGhlaXIgYnJvd3Nlci4gU2VlXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vYWxwaGFnb3YvZ292dWstZnJvbnRlbmQvaXNzdWVzLzIzMjEjaXNzdWVjb21tZW50LTkyNDIwMTQ4OFxuICAgICAgYm9yZGVyLWJvdHRvbTogZ292dWstc3BhY2luZygyKSBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAgICAgY29sb3I6ICRnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG5cbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAvLyBTZWN0aW9uIGhlYWRlcnMgaGF2ZSBhIHBvaW50ZXIgY3Vyc29yIGFzIGFuIGFkZGl0aW9uYWwgYWZmb3JkYW5jZVxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXG4gICAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgICAgfVxuXG4gICAgICAmOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkZ292dWstbGluay1hY3RpdmUtY29sb3VyO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRnb3Z1ay1hY2NvcmRpb24tYmFzZS1jb2xvdXI7XG4gICAgICAgIGJhY2tncm91bmQ6ICRnb3Z1ay1hY2NvcmRpb24taG92ZXItY29sb3VyO1xuXG4gICAgICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tdG9nZ2xlLXRleHQge1xuICAgICAgICAgIGNvbG9yOiAkZ292dWstYWNjb3JkaW9uLWJhc2UtY29sb3VyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmdvdnVrLWFjY29yZGlvbi1uYXZfX2NoZXZyb24ge1xuICAgICAgICAgIGNvbG9yOiAkZ292dWstYWNjb3JkaW9uLWJhc2UtY29sb3VyO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRnb3Z1ay1hY2NvcmRpb24tYmFzZS1jb2xvdXI7XG4gICAgICAgIH1cblxuICAgICAgICAuZ292dWstYWNjb3JkaW9uLW5hdl9fY2hldnJvbjo6YWZ0ZXIge1xuICAgICAgICAgIGNvbG9yOiAkZ292dWstYWNjb3JkaW9uLWhvdmVyLWNvbG91cjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgLy8gUmVtb3ZlIGRlZmF1bHQgZm9jdXMgYm9yZGVyIGFyb3VuZCBidXR0b24gYXMgc3R5bGluZyBpcyBiZWluZyBhcHBsaWVkXG4gICAgICAgIC8vIHRvIGlubmVyIHRleHQgZWxlbWVudHMgdGhhdCByZWNlaXZlIGZvY3VzXG4gICAgICAgIG91dGxpbmU6IDA7XG5cbiAgICAgICAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1oZWFkaW5nLXRleHQtZm9jdXMsXG4gICAgICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tc3VtbWFyeS1mb2N1cyxcbiAgICAgICAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi10b2dnbGUtZm9jdXMge1xuICAgICAgICAgIEBpbmNsdWRlIGdvdnVrLWZvY3VzZWQtdGV4dDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5nb3Z1ay1hY2NvcmRpb24tbmF2X19jaGV2cm9uIHtcbiAgICAgICAgICBjb2xvcjogJGdvdnVrLWFjY29yZGlvbi1iYXNlLWNvbG91cjtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ292dWstYWNjb3JkaW9uLWJhc2UtY29sb3VyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmdvdnVrLWFjY29yZGlvbi1uYXZfX2NoZXZyb246OmFmdGVyIHtcbiAgICAgICAgICBjb2xvcjogJGdvdnVrLWFjY29yZGlvbi1pY29uLWZvY3VzLWNvbG91cjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBSZW1vdmUgZGVmYXVsdCBidXR0b24gZm9jdXMgb3V0bGluZSBpbiBGaXJlZm94XG4gICAgICAmOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlbW92ZSB0aGUgdHJhbnNwYXJlbnQgYm9yZGVyIHdoZW4gdGhlIHNlY3Rpb24gaXMgZXhwYW5kZWQgdG8gbWFrZSBpdFxuICAgIC8vIGNsZWFyIHRoYXQgdGhlIGhlYWRpbmcgcmVsYXRlcyB0byB0aGUgY29udGVudCBiZWxvdy4gQWRqdXN0IHBhZGRpbmcgdG9cbiAgICAvLyBtYWludGFpbiB0aGUgaGVpZ2h0IG9mIHRoZSBlbGVtZW50LiBTZWVcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vYWxwaGFnb3YvZ292dWstZnJvbnRlbmQvcHVsbC8yMjU3I2lzc3VlY29tbWVudC05NTE5MjA3OThcbiAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLS1leHBhbmRlZCAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLWJ1dHRvbiB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG5cbiAgICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoNCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQXMgQ2hldnJvbiBpY29uIGlzIHZlcnRpY2FsbHkgYWxpZ25lZCBpdCBvdmVybGFwcyB3aXRoIHRoZSBmb2N1cyBzdGF0ZVxuICAgIC8vIGJvdHRvbSBib3JkZXIg4oCTIHRoaXMgYWRkcyBzb21lIHNwYWNpbmdcbiAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLWJ1dHRvbjpmb2N1cyAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLXRvZ2dsZS1mb2N1cyB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogM3B4O1xuXG4gICAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogZGVza3RvcCkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tdG9nZ2xlLFxuICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24taGVhZGluZy10ZXh0LFxuICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tc3VtbWFyeSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IDEzcHg7XG5cbiAgICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24taGVhZGluZy10ZXh0LWZvY3VzLFxuICAgICAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1zdW1tYXJ5LWZvY3VzLFxuICAgICAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi10b2dnbGUtZm9jdXMge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWRkIHRvZ2dsZSBsaW5rIHdpdGggQ2hldnJvbiBpY29uIG9uIGxlZnQuXG4gICAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi10b2dnbGUge1xuICAgICAgQGluY2x1ZGUgZ292dWstZm9udC1zaXplKCRzaXplOiAxOSk7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1yZWd1bGFyO1xuICAgICAgY29sb3I6ICRnb3Z1ay1saW5rLWNvbG91cjtcbiAgICB9XG5cbiAgICAvLyBBZGQgc3BhY2UgYmV0d2VlbiB0aGUgaWNvbiBhbmQgdGV4dC4gQXZvaWQgYXBwbHlpbmcgc3BhY2luZyBkaXJlY3RseSB0b1xuICAgIC8vIHRoZSBpY29uIGFzIHRoZSB1c2Ugb2YgYHRyYW5zZm9ybWAgd2lsbCBjaGFuZ2UgdGhlIHBsYWNlbWVudCBvZiBhbnlcbiAgICAvLyBtYXJnaW5zLlxuICAgIC5nb3Z1ay1hY2NvcmRpb25fX3Nob3ctYWxsLXRleHQsXG4gICAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi10b2dnbGUtdGV4dCB7XG4gICAgICBtYXJnaW4tbGVmdDogZ292dWstc3BhY2luZygxKTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLy8gQmFja2dyb3VuZCBjb2xvdXIgYWRqdXN0bWVudCB3aGVuIHVzZXIgY2hhbmdlcyBjb2xvdXJzIGluIEZpcmVmb3hcbiAgICAvL1xuICAgIC8vIFdoZW4gdXNlciBjaGFuZ2VzIGNvbG91cnMgaW4gRmlyZWZveCwgdGV4dCBjb2xvdXIgaW5zaWRlIDxidXR0b24+IGlzXG4gICAgLy8gYWx3YXlzIGJsYWNrIChyZWdhcmRsZXNzIG9mIHRoZSBjdXN0b20gY29sb3VycyB0aGUgdXNlciBoYXMgc2V0KS4gVGhpcyBpc1xuICAgIC8vIGZpbmUgd2hlbiB0aGUgdGV4dCBpbiB0aGUgYnV0dG9uIGlzIG5vdCBuZXN0ZWQgaW5zaWRlIGFub3RoZXIgZWxlbWVudFxuICAgIC8vIGJlY2F1c2Ugd2hlbiB1c2VyIGNoYW5nZXMgY29sb3VycyBpbiBGaXJlZm94LCB0aGUgaW1tZWRpYXRlIGJhY2tncm91bmRcbiAgICAvLyBjb2xvdXIgb2YgYnV0dG9ucyBpcyBhbHdheXMgd2hpdGUgKGFnYWluLCByZWdhcmRsZXNzIG9mIHVzZXIncyBjdXN0b21cbiAgICAvLyBjb2xvdXJzKS5cbiAgICAvL1xuICAgIC8vIEhvd2V2ZXIsIHdoZW4gdGhlIHRleHQgaW5zaWRlIDxidXR0b24+IGlzIHdyYXBwZWQgaW5zaWRlIGFub3RoZXIgZWxlbWVudFxuICAgIC8vIEFORCB0aGF0IGVsZW1lbnQgc2V0cyBhIGJhY2tncm91bmQgY29sb3VyLCB0aGUgdGV4dCBjb2xvdXIgaXMgc3RpbGwgYmxhY2tcbiAgICAvLyBidXQgdGhlIGJhY2tncm91bmQgb2YgdGhhdCBuZXN0ZWQgZWxlbWVudCBnZXRzIHRoZSB1c2VyJ3MgY3VzdG9tXG4gICAgLy8gYmFja2dyb3VuZCBjb2xvdXIuIFdoZW4gdGhlIGN1c3RvbSBiYWNrZ3JvdW5kIGlzIGEgbGlnaHRlciBodWUsIHRoZVxuICAgIC8vIGNvbnRyYXN0IG1pZ2h0IGJlIHN1ZmZpY2llbnQuIEJ1dCBpZiB0aGUgdXNlcidzIGN1c3RvbSBiYWNrZ3JvdW5kIGNvbG91clxuICAgIC8vIGlzIGEgZGFya2VyIGNvbG91ciwgdGhlIGNvbnRyYXN0IHdpdGggdGhlIHRleHQgbWlnaHQgbm90IGJlIHN1ZmZpY2llbnQuXG4gICAgLy9cbiAgICAvLyBUbyBlbnN1cmUgc3VmZmljaWVudCBjb250cmFzdCwgb3ZlcnJpZGUgdGhlIGJhY2tncm91bmQgY29sb3VyIHNldCBieSB0aGVcbiAgICAvLyBmb2N1cyBzdGF0ZSBvbiB0aGUgbmVzdGVkIGVsZW1lbnRzIHRvIGJlIHRyYW5zcGFyZW50LlxuICAgIC8vXG4gICAgLy8gQWxzbyBvdmVycmlkZSB0aGUgYmFja2dyb3VuZCBjb2xvdXIgb2YgdGhlIFNob3cvSGlkZSBjaGV2cm9ucyB3aGljaCBzZXQgYVxuICAgIC8vIGJhY2tncm91bmQgY29sb3VyIG9uIGhvdmVyLlxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChmb3JjZWQtY29sb3JzOiBhY3RpdmUpIHtcbiAgICAgIC5nb3Z1ay1hY2NvcmRpb25fX3Nob3ctYWxsOmhvdmVyLFxuICAgICAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1idXR0b246aG92ZXIge1xuICAgICAgICAuZ292dWstYWNjb3JkaW9uLW5hdl9fY2hldnJvbiB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmdvdnVrLWFjY29yZGlvbl9fc2hvdy1hbGw6Zm9jdXMsXG4gICAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLWJ1dHRvbjpmb2N1cyB7XG4gICAgICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24taGVhZGluZy10ZXh0LWZvY3VzLFxuICAgICAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLXN1bW1hcnktZm9jdXMsXG4gICAgICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tdG9nZ2xlLWZvY3VzLFxuICAgICAgICAuZ292dWstYWNjb3JkaW9uLW5hdl9fY2hldnJvbiB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBGb3IgZGV2aWNlcyB0aGF0IGNhbid0IGhvdmVyIHN1Y2ggYXMgdG91Y2ggZGV2aWNlcyxcbiAgICAvLyByZW1vdmUgaG92ZXIgc3RhdGUgYXMgaXQgY2FuIGJlIHN0dWNrIGluIHRoYXQgc3RhdGUgKGlPUykuXG4gICAgQG1lZGlhIChob3Zlcjogbm9uZSkge1xuICAgICAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1oZWFkZXI6aG92ZXIge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkZ292dWstYm9yZGVyLWNvbG91cjtcblxuICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDNweCAwIDAgJGdvdnVrLWxpbmstY29sb3VyO1xuXG4gICAgICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tYnV0dG9uIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkZ292dWstYm9yZGVyLWNvbG91cjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1faW5kZXguc2Nzcy5tYXAgKi9cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvYmFjay1saW5rXCIpIHtcbiAgLy8gQ29tcG9uZW50IGZvbnQtc2l6ZSBvbiB0aGUgRnJvbnRlbmQgKHVzZWQgZm9yIGNhbGN1bGF0aW9ucylcbiAgJGZvbnQtc2l6ZTogMTY7XG5cbiAgLy8gU2l6ZSBvZiBjaGV2cm9uIChleGNsdWRpbmcgYm9yZGVyKVxuICAkY2hldnJvbi1zaXplOiBnb3Z1ay1lbSg3cHgsICRmb250LXNpemUpO1xuXG4gIC8vIFNpemUgb2YgY2hldnJvbiBib3JkZXJcbiAgJGNoZXZyb24tYm9yZGVyLW1pbi13aWR0aDogMXB4O1xuICAkY2hldnJvbi1ib3JkZXItd2lkdGg6IGdvdnVrLWVtKCRjaGV2cm9uLWJvcmRlci1taW4td2lkdGgsICRmb250LXNpemUpO1xuXG4gIC8vIENvbG91ciBvZiBjaGV2cm9uXG4gICRjaGV2cm9uLWJvcmRlci1jb2xvdXI6ICRnb3Z1ay1zZWNvbmRhcnktdGV4dC1jb2xvdXI7XG5cbiAgLmdvdnVrLWJhY2stbGluayB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udC1zaXplKCRzaXplOiAkZm9udC1zaXplKTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLXRleHQ7XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgbWFyZ2luLXRvcDogZ292dWstc3BhY2luZygzKTtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuXG4gICAgLy8gQWxsb3cgc3BhY2UgZm9yIHRoZSBhcnJvd1xuICAgIHBhZGRpbmctbGVmdDogZ292dWstZW0oMTRweCwgJGZvbnQtc2l6ZSk7XG4gIH1cblxuICAvLyBQcmVwZW5kIGxlZnQgcG9pbnRpbmcgY2hldnJvblxuICAuZ292dWstYmFjay1saW5rOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAvLyBWZXJ0aWNhbGx5IGFsaWduIHdpdGggdGhlIHBhcmVudCBlbGVtZW50XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogZ292dWstZW0oM3B4LCAkZm9udC1zaXplKTtcblxuICAgIHdpZHRoOiAkY2hldnJvbi1zaXplO1xuICAgIGhlaWdodDogJGNoZXZyb24tc2l6ZTtcblxuICAgIG1hcmdpbjogYXV0byAwO1xuXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMjI1ZGVnKTtcblxuICAgIGJvcmRlcjogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkY2hldnJvbi1ib3JkZXItbWluLXdpZHRoICRjaGV2cm9uLWJvcmRlci1taW4td2lkdGggMCAwO1xuICAgIGJvcmRlci1jb2xvcjogJGNoZXZyb24tYm9yZGVyLWNvbG91cjtcblxuICAgIEBzdXBwb3J0cyAoYm9yZGVyLXdpZHRoOiB1bnF1b3RlKFwibWF4KDBweClcIikpIHtcbiAgICAgICRib3JkZXItd2lkdGgtZXZhbDogXCJtYXgoI3skY2hldnJvbi1ib3JkZXItbWluLXdpZHRofSwgI3skY2hldnJvbi1ib3JkZXItd2lkdGh9KVwiO1xuXG4gICAgICAvLyBFbnN1cmUgdGhhdCB0aGUgY2hldnJvbiBuZXZlciBnZXRzIHNtYWxsZXIgdGhhbiAxNnB4XG4gICAgICBib3JkZXItd2lkdGg6IHVucXVvdGUoJGJvcmRlci13aWR0aC1ldmFsKSB1bnF1b3RlKCRib3JkZXItd2lkdGgtZXZhbCkgMCAwO1xuICAgICAgZm9udC1zaXplOiB1bnF1b3RlKFwibWF4KCN7JGZvbnQtc2l6ZSAqIDFweH0sIDFlbSlcIik7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWJhY2stbGluazpmb2N1czo6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6ICRnb3Z1ay1mb2N1cy10ZXh0LWNvbG91cjtcbiAgfVxuXG4gIC5nb3Z1ay1iYWNrLWxpbms6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0xNHB4O1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogLTE0cHg7XG4gICAgbGVmdDogMDtcbiAgfVxuXG4gIC5nb3Z1ay1iYWNrLWxpbmstLWludmVyc2Uge1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtaW52ZXJzZTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3JkZXItY29sb3I6IGN1cnJlbnRjb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2luZGV4LnNjc3MubWFwICovXG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2JyZWFkY3J1bWJzXCIpIHtcbiAgLy8gQ29tcG9uZW50IGZvbnQtc2l6ZSBvbiB0aGUgRnJvbnRlbmQgKHVzZWQgZm9yIGNhbGN1bGF0aW9ucylcbiAgJGZvbnQtc2l6ZTogMTY7XG5cbiAgLy8gU2l6ZSBvZiBjaGV2cm9uIChleGNsdWRpbmcgYm9yZGVyKVxuICAkY2hldnJvbi1zaXplOiBnb3Z1ay1lbSg3cHgsICRmb250LXNpemUpO1xuXG4gIC8vIFNpemUgb2YgY2hldnJvbiBib3JkZXJcbiAgJGNoZXZyb24tYm9yZGVyLW1pbi13aWR0aDogMXB4O1xuICAkY2hldnJvbi1ib3JkZXItd2lkdGg6IGdvdnVrLWVtKCRjaGV2cm9uLWJvcmRlci1taW4td2lkdGgsICRmb250LXNpemUpO1xuXG4gIC8vIENvbG91ciBvZiBjaGV2cm9uXG4gICRjaGV2cm9uLWJvcmRlci1jb2xvdXI6ICRnb3Z1ay1zZWNvbmRhcnktdGV4dC1jb2xvdXI7XG5cbiAgLy8gQ2FsY3VsYXRlZCBhbHRpdHVkZSAo4paz4oaVKSBvZiB0aGUgcmlnaHQtYW5nbGVkIGlzb3NjZWxlcyBjaGV2cm9uIHdpdGggc2lkZXNcbiAgLy8gb2YgbGVuZ3RoIDggKDdweCArIDFweCBib3JkZXIpOlxuICAvL1xuICAvLyDiiJooOMKyICsgOMKyKSAqIDAuNSDiiYUgNS42NTVcbiAgJGNoZXZyb24tYWx0aXR1ZGUtY2FsY3VsYXRlZDogZ292dWstZW0oNS42NTVweCwgJGZvbnQtc2l6ZSk7XG5cbiAgLmdvdnVrLWJyZWFkY3J1bWJzIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAkZm9udC1zaXplKTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcblxuICAgIG1hcmdpbi10b3A6IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgfVxuXG4gIC5nb3Z1ay1icmVhZGNydW1ic19fbGlzdCB7XG4gICAgQGluY2x1ZGUgZ292dWstY2xlYXJmaXg7XG5cbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIH1cblxuICAuZ292dWstYnJlYWRjcnVtYnNfX2xpc3QtaXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMSk7XG5cbiAgICAvLyBBZGQgYm90aCBtYXJnaW4gYW5kIHBhZGRpbmcgc3VjaCB0aGF0IHRoZSBjaGV2cm9uIGFwcGVhcnMgY2VudHJhbGx5XG4gICAgLy8gYmV0d2VlbiBlYWNoIGJyZWFkY3J1bWIgaXRlbVxuICAgIG1hcmdpbi1sZWZ0OiBnb3Z1ay1lbShnb3Z1ay1zcGFjaW5nKDIpLCAkZm9udC1zaXplKTtcbiAgICBwYWRkaW5nLWxlZnQ6IGdvdnVrLWVtKGdvdnVrLXNwYWNpbmcoMiksICRmb250LXNpemUpICsgJGNoZXZyb24tYWx0aXR1ZGUtY2FsY3VsYXRlZDtcblxuICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgLy8gQ3JlYXRlIGEgY2hldnJvbiB1c2luZyBhIGJveCB3aXRoIGJvcmRlcnMgb24gdHdvIHNpZGVzLCByb3RhdGVkIDQ1ZGVnLlxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcblxuICAgICAgLy8gT2Zmc2V0IGJ5IHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIHdpZHRoIG9mIHRoZSBub24tcm90YXRlZCBzcXVhcmVcbiAgICAgIC8vIGFuZCBpdHMgd2lkdGggd2hlbiByb3RhdGVkXG4gICAgICBsZWZ0OiAoKCRjaGV2cm9uLWFsdGl0dWRlLWNhbGN1bGF0ZWQgKiAtMikgKyAkY2hldnJvbi1zaXplICsgJGNoZXZyb24tYm9yZGVyLXdpZHRoKTtcblxuICAgICAgd2lkdGg6ICRjaGV2cm9uLXNpemU7XG4gICAgICBoZWlnaHQ6ICRjaGV2cm9uLXNpemU7XG5cbiAgICAgIG1hcmdpbjogYXV0byAwO1xuXG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG5cbiAgICAgIGJvcmRlcjogc29saWQ7XG4gICAgICBib3JkZXItd2lkdGg6ICRjaGV2cm9uLWJvcmRlci1taW4td2lkdGggJGNoZXZyb24tYm9yZGVyLW1pbi13aWR0aCAwIDA7XG4gICAgICBib3JkZXItY29sb3I6ICRjaGV2cm9uLWJvcmRlci1jb2xvdXI7XG5cbiAgICAgIEBzdXBwb3J0cyAoYm9yZGVyLXdpZHRoOiB1bnF1b3RlKFwibWF4KDBweClcIikpIHtcbiAgICAgICAgJGJvcmRlci13aWR0aC1ldmFsOiBcIm1heCgjeyRjaGV2cm9uLWJvcmRlci1taW4td2lkdGh9LCAjeyRjaGV2cm9uLWJvcmRlci13aWR0aH0pXCI7XG5cbiAgICAgICAgLy8gRW5zdXJlIHRoYXQgdGhlIGNoZXZyb24gbmV2ZXIgZ2V0cyBzbWFsbGVyIHRoYW4gMTZweFxuICAgICAgICBib3JkZXItd2lkdGg6IHVucXVvdGUoJGJvcmRlci13aWR0aC1ldmFsKSB1bnF1b3RlKCRib3JkZXItd2lkdGgtZXZhbCkgMCAwO1xuICAgICAgICBmb250LXNpemU6IHVucXVvdGUoXCJtYXgoI3skZm9udC1zaXplICogMXB4fSwgMWVtKVwiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1icmVhZGNydW1ic19fbGluayB7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS10ZXh0O1xuICB9XG5cbiAgLmdvdnVrLWJyZWFkY3J1bWJzLS1jb2xsYXBzZS1vbi1tb2JpbGUge1xuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCR1bnRpbDogdGFibGV0KSB7XG4gICAgICAuZ292dWstYnJlYWRjcnVtYnNfX2xpc3QtaXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCxcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogZ292dWstZW0oNnB4LCAkZm9udC1zaXplKTtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmdvdnVrLWJyZWFkY3J1bWJzX19saXN0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ292dWstYnJlYWRjcnVtYnMtLWludmVyc2Uge1xuICAgIGNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJ3aGl0ZVwiKTtcblxuICAgIC5nb3Z1ay1icmVhZGNydW1ic19fbGluayB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLWludmVyc2U7XG4gICAgfVxuXG4gICAgLmdvdnVrLWJyZWFkY3J1bWJzX19saXN0LWl0ZW06OmJlZm9yZSB7XG4gICAgICBib3JkZXItY29sb3I6IGN1cnJlbnRjb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2luZGV4LnNjc3MubWFwICovXG4iLCIvLy8vXG4vLy8gQGdyb3VwIGNvbXBvbmVudHMvYnV0dG9uXG4vLy8vXG5cbi8vLyBCdXR0b24gY29tcG9uZW50IGJhY2tncm91bmQgY29sb3VyXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJncmVlblwiKSAhZGVmYXVsdDtcblxuLy8vIEJ1dHRvbiBjb21wb25lbnQgdGV4dCBjb2xvdXJcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1idXR0b24tdGV4dC1jb2xvdXI6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpICFkZWZhdWx0O1xuXG4vLy8gSW52ZXJ0ZWQgYnV0dG9uIGNvbXBvbmVudCBiYWNrZ3JvdW5kIGNvbG91clxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWludmVyc2UtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJ3aGl0ZVwiKSAhZGVmYXVsdDtcblxuLy8vIEludmVydGVkIGJ1dHRvbiBjb21wb25lbnQgdGV4dCBjb2xvdXJcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1pbnZlcnNlLWJ1dHRvbi10ZXh0LWNvbG91cjogJGdvdnVrLWJyYW5kLWNvbG91ciAhZGVmYXVsdDtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9idXR0b25cIikge1xuICAkZ292dWstYnV0dG9uLWNvbG91cjogJGdvdnVrLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjtcbiAgJGdvdnVrLWJ1dHRvbi10ZXh0LWNvbG91cjogJGdvdnVrLWJ1dHRvbi10ZXh0LWNvbG91cjtcbiAgJGdvdnVrLWJ1dHRvbi1ob3Zlci1jb2xvdXI6IGdvdnVrLXNoYWRlKCRnb3Z1ay1idXR0b24tY29sb3VyLCAyMCUpO1xuICAkZ292dWstYnV0dG9uLXNoYWRvdy1jb2xvdXI6IGdvdnVrLXNoYWRlKCRnb3Z1ay1idXR0b24tY29sb3VyLCA2MCUpO1xuXG4gIC8vIFNlY29uZGFyeSBidXR0b24gdmFyaWFibGVzXG4gICRnb3Z1ay1zZWNvbmRhcnktYnV0dG9uLWNvbG91cjogZ292dWstY29sb3VyKFwibGlnaHQtZ3JleVwiKTtcbiAgJGdvdnVrLXNlY29uZGFyeS1idXR0b24tdGV4dC1jb2xvdXI6IGdvdnVrLWNvbG91cihcImJsYWNrXCIpO1xuICAkZ292dWstc2Vjb25kYXJ5LWJ1dHRvbi1ob3Zlci1jb2xvdXI6IGdvdnVrLXNoYWRlKCRnb3Z1ay1zZWNvbmRhcnktYnV0dG9uLWNvbG91ciwgMTAlKTtcbiAgJGdvdnVrLXNlY29uZGFyeS1idXR0b24tc2hhZG93LWNvbG91cjogZ292dWstc2hhZGUoJGdvdnVrLXNlY29uZGFyeS1idXR0b24tY29sb3VyLCA0MCUpO1xuXG4gIC8vIFdhcm5pbmcgYnV0dG9uIHZhcmlhYmxlc1xuICAkZ292dWstd2FybmluZy1idXR0b24tY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJyZWRcIik7XG4gICRnb3Z1ay13YXJuaW5nLWJ1dHRvbi10ZXh0LWNvbG91cjogZ292dWstY29sb3VyKFwid2hpdGVcIik7XG4gICRnb3Z1ay13YXJuaW5nLWJ1dHRvbi1ob3Zlci1jb2xvdXI6IGdvdnVrLXNoYWRlKCRnb3Z1ay13YXJuaW5nLWJ1dHRvbi1jb2xvdXIsIDIwJSk7XG4gICRnb3Z1ay13YXJuaW5nLWJ1dHRvbi1zaGFkb3ctY29sb3VyOiBnb3Z1ay1zaGFkZSgkZ292dWstd2FybmluZy1idXR0b24tY29sb3VyLCA2MCUpO1xuXG4gIC8vIEludmVyc2UgYnV0dG9uIHZhcmlhYmxlc1xuICAkZ292dWstaW52ZXJzZS1idXR0b24tY29sb3VyOiAkZ292dWstaW52ZXJzZS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI7XG4gICRnb3Z1ay1pbnZlcnNlLWJ1dHRvbi10ZXh0LWNvbG91cjogJGdvdnVrLWludmVyc2UtYnV0dG9uLXRleHQtY29sb3VyO1xuICAkZ292dWstaW52ZXJzZS1idXR0b24taG92ZXItY29sb3VyOiBnb3Z1ay10aW50KCRnb3Z1ay1pbnZlcnNlLWJ1dHRvbi10ZXh0LWNvbG91ciwgOTAlKTtcbiAgJGdvdnVrLWludmVyc2UtYnV0dG9uLXNoYWRvdy1jb2xvdXI6IGdvdnVrLXNoYWRlKCRnb3Z1ay1pbnZlcnNlLWJ1dHRvbi10ZXh0LWNvbG91ciwgMzAlKTtcblxuICAvLyBCZWNhdXNlIHRoZSBzaGFkb3cgKHMwKSBpcyB2aXN1YWxseSAncGFydCBvZicgdGhlIGJ1dHRvbiwgd2UgbmVlZCB0byByZWR1Y2VcbiAgLy8gdGhlIGhlaWdodCBvZiB0aGUgYnV0dG9uIHRvIGNvbXBlbnNhdGUgYnkgYWRqdXN0aW5nIGl0cyBwYWRkaW5nIChzMSkgYW5kXG4gIC8vIGluY3JlYXNlIHRoZSBib3R0b20gbWFyZ2luIHRvIGluY2x1ZGUgaXQgKHMyKS5cbiAgJGJ1dHRvbi1zaGFkb3ctc2l6ZTogJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQ7XG5cbiAgLmdvdnVrLWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTksICRsaW5lLWhlaWdodDogMTlweCk7XG5cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIiwgJGFkanVzdG1lbnQ6ICRidXR0b24tc2hhZG93LXNpemUpOyAvLyBzMlxuICAgIHBhZGRpbmc6IChnb3Z1ay1zcGFjaW5nKDIpIC0gJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQpIGdvdnVrLXNwYWNpbmcoMilcbiAgICAgIChnb3Z1ay1zcGFjaW5nKDIpIC0gJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQgLSAoJGJ1dHRvbi1zaGFkb3ctc2l6ZSAvIDIpKTsgLy8gczFcbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgY29sb3I6ICRnb3Z1ay1idXR0b24tdGV4dC1jb2xvdXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLWJ1dHRvbi1jb2xvdXI7XG4gICAgYm94LXNoYWRvdzogMCAkYnV0dG9uLXNoYWRvdy1zaXplIDAgJGdvdnVrLWJ1dHRvbi1zaGFkb3ctY29sb3VyOyAvLyBzMFxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICAvLyBFbnN1cmUgdGhhdCBhbnkgZ2xvYmFsIGxpbmsgc3R5bGVzIGFyZSBvdmVycmlkZGVuXG4gICAgJjpsaW5rLFxuICAgICY6dmlzaXRlZCxcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkZ292dWstYnV0dG9uLXRleHQtY29sb3VyO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgIC8vIEZpeCB1bndhbnRlZCBidXR0b24gcGFkZGluZyBpbiBGaXJlZm94XG4gICAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLWJ1dHRvbi1ob3Zlci1jb2xvdXI7XG4gICAgfVxuXG4gICAgJjphY3RpdmUge1xuICAgICAgLy8gQnVtcCB0aGUgYnV0dG9uIGRvd24gc28gaXQgbG9va3MgbGlrZSBpdHMgYmVpbmcgcHJlc3NlZCBpblxuICAgICAgdG9wOiAkYnV0dG9uLXNoYWRvdy1zaXplO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkZ292dWstZm9jdXMtY29sb3VyO1xuICAgICAgb3V0bGluZTogJGdvdnVrLWZvY3VzLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4ICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gICAgfVxuXG4gICAgJjpmb2N1czpub3QoOmFjdGl2ZSk6bm90KDpob3Zlcikge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkZ292dWstZm9jdXMtY29sb3VyO1xuICAgICAgY29sb3I6ICRnb3Z1ay1mb2N1cy10ZXh0LWNvbG91cjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gICAgICBib3gtc2hhZG93OiAwIDJweCAwICRnb3Z1ay1mb2N1cy10ZXh0LWNvbG91cjtcbiAgICB9XG5cbiAgICAvLyBUaGUgZm9sbG93aW5nIGFkanVzdG1lbnRzIGRvIG5vdCB3b3JrIGZvciA8aW5wdXQgdHlwZT1cImJ1dHRvblwiPiBhc1xuICAgIC8vIG5vbi1jb250YWluZXIgZWxlbWVudHMgY2Fubm90IGluY2x1ZGUgcHNldWRvIGVsZW1lbnRzIChpLmUuIDo6YmVmb3JlKS5cblxuICAgIC8vIFVzZSBhIHBzZXVkbyBlbGVtZW50IHRvIGV4cGFuZCB0aGUgY2xpY2sgdGFyZ2V0IGFyZWEgdG8gaW5jbHVkZSB0aGVcbiAgICAvLyBidXR0b24ncyBzaGFkb3cgYXMgd2VsbCwgaW4gY2FzZSB1c2VycyB0cnkgdG8gY2xpY2sgaXQuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICB0b3A6IC0kZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudDtcbiAgICAgIHJpZ2h0OiAtJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQ7XG4gICAgICBib3R0b206IC0oJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQgKyAkYnV0dG9uLXNoYWRvdy1zaXplKTtcbiAgICAgIGxlZnQ6IC0kZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudDtcblxuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLy8gV2hlbiB0aGUgYnV0dG9uIGlzIGFjdGl2ZSBpdCBpcyBzaGlmdGVkIGRvd24gYnkgJGJ1dHRvbi1zaGFkb3ctc2l6ZSB0b1xuICAgIC8vIGRlbm90ZSBhICdwcmVzc2VkJyBzdGF0ZS4gSWYgdGhlIHVzZXIgaGFwcGVuZWQgdG8gY2xpY2sgYXQgdGhlIHZlcnkgdG9wXG4gICAgLy8gb2YgdGhlIGJ1dHRvbiwgdGhlaXIgbW91c2UgaXMgbm8gbG9uZ2VyIG92ZXIgdGhlIGJ1dHRvbiAoYmVjYXVzZSBpdCBoYXNcbiAgICAvLyAnbW92ZWQgYmVuZWF0aCB0aGVtJykgYW5kIHNvIHRoZSBjbGljayBldmVudCBpcyBub3QgZmlyZWQuXG4gICAgLy9cbiAgICAvLyBUaGlzIGNvcnJlY3RzIHRoYXQgYnkgc2hpZnRpbmcgdGhlIHRvcCBvZiB0aGUgcHNldWRvIGVsZW1lbnQgc28gdGhhdCBpdFxuICAgIC8vIGNvbnRpbnVlcyB0byBjb3ZlciB0aGUgYXJlYSB0aGF0IHRoZSB1c2VyIG9yaWdpbmFsbHkgY2xpY2tlZCwgd2hpY2ggbWVhbnNcbiAgICAvLyB0aGUgY2xpY2sgZXZlbnQgaXMgc3RpbGwgZmlyZWQuXG4gICAgLy9cbiAgICAvLyDwn46JXG4gICAgJjphY3RpdmU6OmJlZm9yZSB7XG4gICAgICB0b3A6IC0oJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQgKyAkYnV0dG9uLXNoYWRvdy1zaXplKTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgb3BhY2l0eTogKDAuNSk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1idXR0b24tY29sb3VyO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3gtc2hhZG93OiAwICRidXR0b24tc2hhZG93LXNpemUgMCAkZ292dWstYnV0dG9uLXNoYWRvdy1jb2xvdXI7IC8vIHMwXG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWJ1dHRvbi0tc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstc2Vjb25kYXJ5LWJ1dHRvbi1jb2xvdXI7XG4gICAgYm94LXNoYWRvdzogMCAkYnV0dG9uLXNoYWRvdy1zaXplIDAgJGdvdnVrLXNlY29uZGFyeS1idXR0b24tc2hhZG93LWNvbG91cjtcblxuICAgICYsXG4gICAgJjpsaW5rLFxuICAgICY6dmlzaXRlZCxcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkZ292dWstc2Vjb25kYXJ5LWJ1dHRvbi10ZXh0LWNvbG91cjtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1zZWNvbmRhcnktYnV0dG9uLWhvdmVyLWNvbG91cjtcblxuICAgICAgJltkaXNhYmxlZF0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstc2Vjb25kYXJ5LWJ1dHRvbi1jb2xvdXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWJ1dHRvbi0td2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLXdhcm5pbmctYnV0dG9uLWNvbG91cjtcbiAgICBib3gtc2hhZG93OiAwICRidXR0b24tc2hhZG93LXNpemUgMCAkZ292dWstd2FybmluZy1idXR0b24tc2hhZG93LWNvbG91cjtcblxuICAgICYsXG4gICAgJjpsaW5rLFxuICAgICY6dmlzaXRlZCxcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkZ292dWstd2FybmluZy1idXR0b24tdGV4dC1jb2xvdXI7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstd2FybmluZy1idXR0b24taG92ZXItY29sb3VyO1xuXG4gICAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay13YXJuaW5nLWJ1dHRvbi1jb2xvdXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWJ1dHRvbi0taW52ZXJzZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLWludmVyc2UtYnV0dG9uLWNvbG91cjtcbiAgICBib3gtc2hhZG93OiAwICRidXR0b24tc2hhZG93LXNpemUgMCAkZ292dWstaW52ZXJzZS1idXR0b24tc2hhZG93LWNvbG91cjtcblxuICAgICYsXG4gICAgJjpsaW5rLFxuICAgICY6dmlzaXRlZCxcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkZ292dWstaW52ZXJzZS1idXR0b24tdGV4dC1jb2xvdXI7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstaW52ZXJzZS1idXR0b24taG92ZXItY29sb3VyO1xuXG4gICAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1pbnZlcnNlLWJ1dHRvbi1jb2xvdXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWJ1dHRvbi0tc3RhcnQge1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LWJvbGQ7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udC1zaXplKCRzaXplOiAyNCwgJGxpbmUtaGVpZ2h0OiAxKTtcblxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIG1pbi1oZWlnaHQ6IGF1dG87XG5cbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gIC5nb3Z1ay1idXR0b25fX3N0YXJ0LWljb24ge1xuICAgIG1hcmdpbi1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDEpO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIH1cbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAvLyBXb3JrIGFyb3VuZCBTVkdzIG5vdCBpbmhlcml0aW5nIGNvbG9yIGZyb20gcGFyZW50IGluIGZvcmNlZCBjb2xvciBtb2RlXG4gICAgLy8gKGh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctZHJhZnRzL2lzc3Vlcy82MzEwKVxuICAgIGZvcmNlZC1jb2xvci1hZGp1c3Q6IGF1dG87XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2luZGV4LnNjc3MubWFwICovXG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2Vycm9yLW1lc3NhZ2VcIikge1xuICAuZ292dWstZXJyb3ItbWVzc2FnZSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTksICR3ZWlnaHQ6IGJvbGQpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMDsgLy8gUmVzZXQgYW55IGRlZmF1bHQgYnJvd3NlciBtYXJnaW5zIGZvciBwYXJhZ3JhcGhzXG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgICBjbGVhcjogYm90aDtcblxuICAgIGNvbG9yOiAkZ292dWstZXJyb3ItY29sb3VyO1xuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9pbmRleC5zY3NzLm1hcCAqL1xuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9oaW50XCIpIHtcbiAgLmdvdnVrLWhpbnQge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcblxuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG5cbiAgICBjb2xvcjogJGdvdnVrLXNlY29uZGFyeS10ZXh0LWNvbG91cjtcbiAgfVxuXG4gIC8vIFJlZHVjZXMgbWFyZ2luLWJvdHRvbSBvZiBoaW50IHdoZW4gdXNlZCBhZnRlciB0aGUgZGVmYXVsdCBsYWJlbCAobm8gY2xhc3MpXG4gIC8vIG9yIGdvdnVrLWxhYmVsLS1zIGZvciBiZXR0ZXIgdmVydGljYWwgYWxpZ25tZW50LlxuXG4gIC8vIFRoaXMgYWRqdXN0bWVudCB3aWxsIG5vdCB3b3JrIHdoZW4gdGhlIGxhYmVsIGlzIGluc2lkZSB0aGUgPGgxPiwgaG93ZXZlciBpdFxuICAvLyBpcyB1bmxpa2VseSB0aGF0IHRoZSBkZWZhdWx0IG9yIGdvdnVrLWxhYmVsLS1zIGNsYXNzIHdvdWxkIGJlIHVzZWQgaW4gdGhpc1xuICAvLyBjYXNlLlxuXG4gIC8vIFRoaXMgYWRqdXN0bWVudCB3aWxsIG5vdCB3b3JrIGluIGJyb3dzZXJzIHRoYXQgZG8gbm90IHN1cHBvcnQgOm5vdCgpLlxuICAvLyBVc2VycyB3aXRoIHRoZXNlIGJyb3dzZXJzIHdpbGwgc2VlIHRoZSBkZWZhdWx0IHNpemUgbWFyZ2luICg1cHggbGFyZ2VyKS5cblxuICAuZ292dWstbGFiZWw6bm90KC5nb3Z1ay1sYWJlbC0tbSk6bm90KC5nb3Z1ay1sYWJlbC0tbCk6bm90KC5nb3Z1ay1sYWJlbC0teGwpICsgLmdvdnVrLWhpbnQge1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gIH1cblxuICAvLyBSZWR1Y2VzIG1hcmdpbi1ib3R0b20gb2YgaGludCB3aGVuIHVzZWQgYWZ0ZXIgdGhlIGRlZmF1bHQgbGVnZW5kIChubyBjbGFzcylcbiAgLy8gb3IgZ292dWstZmllbGRzZXRfX2xlZ2VuZC0tcyBmb3IgYmV0dGVyIHZlcnRpY2FsIGFsaWdubWVudC5cblxuICAvLyBUaGlzIGFkanVzdG1lbnQgd2lsbCBub3Qgd29yayB3aGVuIHRoZSBsZWdlbmQgaXMgb3V0c2lkZSB0aGUgPGgxPiwgaG93ZXZlclxuICAvLyBpdCBpcyB1bmxpa2VseSB0aGF0IHRoZSBkZWZhdWx0IG9yIGdvdnVrLWZpZWxkc2V0X19sZWdlbmQtLXMgY2xhc3Mgd291bGQgYmVcbiAgLy8gdXNlZCBpbiB0aGlzIGNhc2UuXG5cbiAgLy8gVGhpcyBhZGp1c3RtZW50IHdpbGwgbm90IHdvcmsgaW4gYnJvd3NlcnMgdGhhdCBkbyBub3Qgc3VwcG9ydCA6bm90KCkuXG4gIC8vIFVzZXJzIHdpdGggdGhlc2UgYnJvd3NlcnMgd2lsbCBzZWUgdGhlIGRlZmF1bHQgc2l6ZSBtYXJnaW4gKDVweCBsYXJnZXIpLlxuXG4gIC8vIHByZXR0aWVyLWlnbm9yZVxuICAuZ292dWstZmllbGRzZXRfX2xlZ2VuZDpub3QoLmdvdnVrLWZpZWxkc2V0X19sZWdlbmQtLW0pOm5vdCguZ292dWstZmllbGRzZXRfX2xlZ2VuZC0tbCk6bm90KC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kLS14bCkgKyAuZ292dWstaGludCB7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgfVxuXG4gIC8vIFJlZHVjZXMgdmlzdWFsIHNwYWNpbmcgb2YgbGVnZW5kIHdoZW4gdGhlcmUgaXMgYSBoaW50XG4gIC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kICsgLmdvdnVrLWhpbnQge1xuICAgIG1hcmdpbi10b3A6IGdvdnVrLXNwYWNpbmcoLTEpO1xuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9pbmRleC5zY3NzLm1hcCAqL1xuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9sYWJlbFwiKSB7XG4gIC5nb3Z1ay1sYWJlbCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICB9XG5cbiAgLy8gTW9kaWZpZXJzIHRoYXQgbWFrZSBsYWJlbHMgbG9vayBtb3JlIGxpa2UgdGhlaXIgZXF1aXZhbGVudCBoZWFkaW5nc1xuICAuZ292dWstbGFiZWwtLXhsLFxuICAuZ292dWstbGFiZWwtLWwsXG4gIC5nb3Z1ay1sYWJlbC0tbSB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZDtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICB9XG5cbiAgLmdvdnVrLWxhYmVsLS14bCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udC1zaXplKCRzaXplOiA0OCk7XG4gIH1cblxuICAuZ292dWstbGFiZWwtLWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQtc2l6ZSgkc2l6ZTogMzYpO1xuICB9XG5cbiAgLmdvdnVrLWxhYmVsLS1tIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250LXNpemUoJHNpemU6IDI0KTtcbiAgfVxuXG4gIC5nb3Z1ay1sYWJlbC0tcyB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZDtcbiAgfVxuXG4gIC8vIFdoZW4gdGhlIGxhYmVsIGlzIG5lc3RlZCBpbnNpZGUgYSBoZWFkaW5nLCBvdmVycmlkZSB0aGUgaGVhZGluZyBzbyB0aGF0IGl0XG4gIC8vIGRvZXMgbm90IGhhdmUgYSBtYXJnaW4uIEVmZmVjdGl2ZWx5IHdlIHdhbnQgdG8gYmUgYWJsZSB0byB0cmVhdCB0aGUgaGVhZGluZ1xuICAvLyBhcyBpZiBpdCBpcyBub3QgdGhlcmUuXG4gIC8vXG4gIC8vIFRoaXMgYnJlYWtzIEJFTSBjb252ZW50aW9ucyBiZWNhdXNlIGl0IGV4aXN0cyBhcyBhIHBhcmVudCBvZiB0aGUgJ2Jsb2NrJyxcbiAgLy8gc28gd2UgY2FuJ3QgcmVhbGx5IGNvbnNpZGVyIGFuIGVsZW1lbnQuXG4gIC5nb3Z1ay1sYWJlbC13cmFwcGVyIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2luZGV4LnNjc3MubWFwICovXG4iLCJAaW1wb3J0IFwiLi4vZXJyb3ItbWVzc2FnZS9pbmRleFwiO1xuQGltcG9ydCBcIi4uL2hpbnQvaW5kZXhcIjtcbkBpbXBvcnQgXCIuLi9sYWJlbC9pbmRleFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3RleHRhcmVhXCIpIHtcbiAgLmdvdnVrLXRleHRhcmVhIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSwgJGxpbmUtaGVpZ2h0OiAxLjI1KTtcblxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogNDBweDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDEpO1xuXG4gICAgcmVzaXplOiB2ZXJ0aWNhbDtcblxuICAgIGJvcmRlcjogJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQgc29saWQgJGdvdnVrLWlucHV0LWJvcmRlci1jb2xvdXI7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogJGdvdnVrLWZvY3VzLXdpZHRoIHNvbGlkICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gICAgICAvLyBFbnN1cmUgb3V0bGluZSBhcHBlYXJzIG91dHNpZGUgb2YgdGhlIGVsZW1lbnRcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAwO1xuICAgICAgLy8gRG91YmxlIHRoZSBib3JkZXIgYnkgYWRkaW5nIGl0cyB3aWR0aCBhZ2Fpbi4gVXNlIGBib3gtc2hhZG93YCB0byBkb1xuICAgICAgLy8gdGhpcyBpbnN0ZWFkIG9mIGNoYW5naW5nIGBib3JkZXItd2lkdGhgICh3aGljaCBjaGFuZ2VzIGVsZW1lbnQgc2l6ZSlcbiAgICAgIC8vIGFuZCBzaW5jZSBgb3V0bGluZWAgaXMgYWxyZWFkeSB1c2VkIGZvciB0aGUgeWVsbG93IGZvY3VzIHN0YXRlLlxuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQ7XG4gICAgfVxuXG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstdGV4dGFyZWEtLWVycm9yIHtcbiAgICBib3JkZXItY29sb3I6ICRnb3Z1ay1lcnJvci1jb2xvdXI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGdvdnVrLWlucHV0LWJvcmRlci1jb2xvdXI7XG4gICAgfVxuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9pbmRleC5zY3NzLm1hcCAqL1xuIiwiQGltcG9ydCBcIi4uL2Vycm9yLW1lc3NhZ2UvaW5kZXhcIjtcbkBpbXBvcnQgXCIuLi9oaW50L2luZGV4XCI7XG5AaW1wb3J0IFwiLi4vbGFiZWwvaW5kZXhcIjtcbkBpbXBvcnQgXCIuLi90ZXh0YXJlYS9pbmRleFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2NoYXJhY3Rlci1jb3VudFwiKSB7XG4gIC5nb3Z1ay1jaGFyYWN0ZXItY291bnQge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuXG4gICAgLmdvdnVrLWZvcm0tZ3JvdXAsXG4gICAgLmdvdnVrLXRleHRhcmVhIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMSk7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWNoYXJhY3Rlci1jb3VudF9fbWVzc2FnZSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udC10YWJ1bGFyLW51bWJlcnM7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgLy8gWmVyby13aWR0aCBzcGFjZSB0aGF0IHdpbGwgcmVzZXJ2ZSB2ZXJ0aWNhbCBzcGFjZSB3aGVuIG5vIGhpbnQgaXNcbiAgICAgIC8vIHByb3ZpZGVkIGFzOlxuICAgICAgLy8gLSBzZXR0aW5nIGEgbWluLWhlaWdodCBpcyBub3QgcG9zc2libGUgd2l0aG91dCBhIG1hZ2ljIG51bWJlciBiZWNhdXNlXG4gICAgICAvLyAgIHRoZSBsaW5lLWhlaWdodCBpcyBzZXQgYnkgdGhlIGBnb3Z1ay1mb250YCBjYWxsIGFib3ZlXG4gICAgICAvLyAtIHVzaW5nIGA6ZW1wdHlgIGlzIG5vdCBwb3NzaWJsZSBhcyB0aGUgaGludCBtYWNybyBvdXRwdXRzIGxpbmUgYnJlYWtzXG4gICAgICBjb250ZW50OiBcIlxcMjAwQlwiO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1jaGFyYWN0ZXItY291bnRfX21lc3NhZ2UtLWRpc2FibGVkIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2luZGV4LnNjc3MubWFwICovXG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2ZpZWxkc2V0XCIpIHtcbiAgLmdvdnVrLWZpZWxkc2V0IHtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLWNsZWFyZml4O1xuICB9XG5cbiAgLy8gRml4IGZvciBGaXJlZm94IDwgNTMgKGh0dHBzOi8vYnVnemlsLmxhLzUwNDYyMilcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItdHlwZS1uby11bmtub3duIC0tIElnbm9yZSAneDotbW96LWFueS1saW5rJ1xuICBAc3VwcG9ydHMgbm90IChjYXJldC1jb2xvcjogYXV0bykge1xuICAgIC5nb3Z1ay1maWVsZHNldCxcbiAgICB4Oi1tb3otYW55LWxpbmsge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB9XG4gIH1cbiAgLy8gc3R5bGVsaW50LWVuYWJsZSBzZWxlY3Rvci10eXBlLW5vLXVua25vd25cblxuICAuZ292dWstZmllbGRzZXRfX2xlZ2VuZCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuXG4gICAgLy8gRml4IGxlZ2VuZCB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFXG4gICAgLy8gMS4gSUU5LTExICYgRWRnZSAxMi0xM1xuICAgIC8vIDIuIElFOC0xMVxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbiAgICBkaXNwbGF5OiB0YWJsZTsgLy8gMlxuICAgIG1heC13aWR0aDogMTAwJTsgLy8gMVxuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgcGFkZGluZzogMDtcblxuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8vIDFcbiAgfVxuXG4gIC8vIE1vZGlmaWVycyB0aGF0IG1ha2UgbGVnZW5kcyBsb29rIG1vcmUgbGlrZSB0aGVpciBlcXVpdmFsZW50IGhlYWRpbmdzXG4gIC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kLS14bCxcbiAgLmdvdnVrLWZpZWxkc2V0X19sZWdlbmQtLWwsXG4gIC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1tIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1ib2xkO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gIH1cblxuICAuZ292dWstZmllbGRzZXRfX2xlZ2VuZC0teGwge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQtc2l6ZSgkc2l6ZTogNDgpO1xuICB9XG5cbiAgLmdvdnVrLWZpZWxkc2V0X19sZWdlbmQtLWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQtc2l6ZSgkc2l6ZTogMzYpO1xuICB9XG5cbiAgLmdvdnVrLWZpZWxkc2V0X19sZWdlbmQtLW0ge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQtc2l6ZSgkc2l6ZTogMjQpO1xuICB9XG5cbiAgLmdvdnVrLWZpZWxkc2V0X19sZWdlbmQtLXMge1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LWJvbGQ7XG4gIH1cblxuICAvLyBXaGVuIHRoZSBsZWdlbmQgY29udGFpbnMgYW4gSDEsIHdlIHdhbnQgdGhlIEgxIHRvIGluaGVyaXQgYWxsIHN0eWxlcyBmcm9tXG4gIC8vIHRoZSBsZWdlbmQuIEVmZmVjdGl2ZWx5IHRyZWF0IHRoZSBoZWFkaW5nIGFzIGlmIGl0IGlzIG5vdCB0aGVyZS5cbiAgLmdvdnVrLWZpZWxkc2V0X19oZWFkaW5nIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9pbmRleC5zY3NzLm1hcCAqL1xuIiwiQGltcG9ydCBcIi4uL2Vycm9yLW1lc3NhZ2UvaW5kZXhcIjtcbkBpbXBvcnQgXCIuLi9maWVsZHNldC9pbmRleFwiO1xuQGltcG9ydCBcIi4uL2hpbnQvaW5kZXhcIjtcbkBpbXBvcnQgXCIuLi9sYWJlbC9pbmRleFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2NoZWNrYm94ZXNcIikge1xuICAkZ292dWstdG91Y2gtdGFyZ2V0LWd1dHRlcjogNHB4O1xuICAkZ292dWstY2hlY2tib3hlcy1zaXplOiA0MHB4O1xuICAkZ292dWstdG91Y2gtdGFyZ2V0LXNpemU6ICgkZ292dWstY2hlY2tib3hlcy1zaXplICsgJGdvdnVrLXRvdWNoLXRhcmdldC1ndXR0ZXIpO1xuICAkZ292dWstc21hbGwtY2hlY2tib3hlcy1zaXplOiAyNHB4O1xuICAkZ292dWstY2hlY2tib3hlcy1sYWJlbC1wYWRkaW5nLWxlZnQtcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMyk7XG4gICRnb3Z1ay1jaGVja2JveC1jaGVjay1ob3Jpem9udGFsLXBvc2l0aW9uOiAxMHB4O1xuXG4gIC5nb3Z1ay1jaGVja2JveGVzX19pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgfVxuXG4gIC5nb3Z1ay1jaGVja2JveGVzX19pdGVtOmxhc3QtY2hpbGQsXG4gIC5nb3Z1ay1jaGVja2JveGVzX19pdGVtOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5nb3Z1ay1jaGVja2JveGVzX19pbnB1dCB7XG4gICAgLy8gQWxsb3cgdGhlIGlucHV0IHRvIHNpdCBhYm92ZSB0aGUgbGFiZWwsIGVuYWJsaW5nIGl0cyBwcm9wZXIgZGV0ZWN0aW9uXG4gICAgLy8gd2hlbiBleHBsb3JpbmcgYnkgdG91Y2ggb3IgdXNpbmcgYXV0b21hdGlvbiB0b29scyBsaWtlIFNlbGVuaXVtXG4gICAgei1pbmRleDogMTtcbiAgICB3aWR0aDogJGdvdnVrLXRvdWNoLXRhcmdldC1zaXplO1xuICAgIGhlaWdodDogJGdvdnVrLXRvdWNoLXRhcmdldC1zaXplO1xuICAgIG1hcmdpbjogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbCB7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuXG4gICAgLy8gRW5zdXJlIHRoYXQgdGhlIHdpZHRoIG9mIHRoZSBsYWJlbCBpcyBuZXZlciBtb3JlIHRoYW4gdGhlIHdpZHRoIG9mIHRoZVxuICAgIC8vIGNvbnRhaW5lciBtaW51cyB0aGUgaW5wdXQgd2lkdGggbWludXMgdGhlIHBhZGRpbmcgb24gZWl0aGVyIHNpZGUgb2ZcbiAgICAvLyB0aGUgbGFiZWwuIFRoaXMgcHJldmVudHMgdGhlIGxhYmVsIGZyb20gZ29pbmcgb250byB0aGUgbmV4dCBsaW5lIGR1ZSB0b1xuICAgIC8vIF9faXRlbSB1c2luZyBmbGV4LXdyYXAgYmVjYXVzZSB3ZSB3YW50IGhpbnRzIG9uIGEgc2VwYXJhdGUgbGluZS5cbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICN7KCgkZ292dWstY2hlY2tib3hlcy1sYWJlbC1wYWRkaW5nLWxlZnQtcmlnaHQgKiAyKSArICRnb3Z1ay10b3VjaC10YXJnZXQtc2l6ZSl9KTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6IChnb3Z1ay1zcGFjaW5nKDEpICsgJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQpIGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIC8vIHJlbW92ZSAzMDBtcyBwYXVzZSBvbiBtb2JpbGVcbiAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgfVxuXG4gIC8vIFsgXSBDaGVjayBib3hcbiAgLmdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAoJGdvdnVrLXRvdWNoLXRhcmdldC1ndXR0ZXIgLyAyKTtcbiAgICBsZWZ0OiAoJGdvdnVrLXRvdWNoLXRhcmdldC1ndXR0ZXIgLyAyKTtcbiAgICB3aWR0aDogJGdvdnVrLWNoZWNrYm94ZXMtc2l6ZTtcbiAgICBoZWlnaHQ6ICRnb3Z1ay1jaGVja2JveGVzLXNpemU7XG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudCBzb2xpZCBjdXJyZW50Y29sb3I7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAvLyDinJQgQ2hlY2sgbWFya1xuICAvL1xuICAvLyBUaGUgY2hlY2sgbWFyayBpcyBhIGJveCB3aXRoIGEgYm9yZGVyIG9uIHRoZSBsZWZ0IGFuZCBib3R0b20gc2lkZSAo4pSU4pSA4pSAKSxcbiAgLy8gcm90YXRlZCA0NSBkZWdyZWVzXG4gIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAvLyBVc2UgXCJtYWdpYyBudW1iZXJzXCIgdG8gZGVmaW5lIHNoYXBlIGFuZCBwb3NpdGlvbiBvZiBjaGVjayBtYXJrIGJlY2F1c2VcbiAgICAvLyB0aGUgY29tcGxleGl0eSBvZiB0aGUgc2hhcGUgbWFrZXMgaXQgZGlmZmljdWx0IHRvIGNhbGN1bGF0ZSBkeW5hbWljYWxseS5cbiAgICB0b3A6IDEzcHg7XG4gICAgbGVmdDogJGdvdnVrLWNoZWNrYm94LWNoZWNrLWhvcml6b250YWwtcG9zaXRpb247XG4gICAgd2lkdGg6IDIzcHg7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgYm9yZGVyOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDAgMCA1cHggNXB4O1xuICAgIC8vIEZpeCBidWcgaW4gSUUxMSBjYXVzZWQgYnkgdHJhbnNmb3JtIHJvdGF0ZSAoLTQ1ZGVnKS5cbiAgICAvLyBTZWU6IGFscGhhZ292L2dvdnVrX2VsZW1lbnRzL2lzc3Vlcy81MThcbiAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLmdvdnVrLWNoZWNrYm94ZXNfX2hpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IGdvdnVrLXNwYWNpbmcoLTEpO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRnb3Z1ay1jaGVja2JveGVzLWxhYmVsLXBhZGRpbmctbGVmdC1yaWdodDtcbiAgICBwYWRkaW5nLWxlZnQ6ICgkZ292dWstY2hlY2tib3hlcy1sYWJlbC1wYWRkaW5nLWxlZnQtcmlnaHQgKyAkZ292dWstdG91Y2gtdGFyZ2V0LXNpemUpO1xuICB9XG5cbiAgLy8gVGhpcyBpcyB0byBieXBhc3MgZ292dWstaGludCdzIHNwZWNpZmljaXR5IG9uIGhpbnRzIGZvbGxvd2luZyBsYWJlbHMgaGF2aW5nXG4gIC8vIGEgbWFyZ2luIGJvdHRvbSBvZiAxMHB4IChnb3Z1ay1zcGFjaW5nKDIpKS4gQmVjYXVzZSBjaGVja2JveGVzIGFyZSBmbGV4Ym94LFxuICAvLyB0aGUgbWFyZ2luIGRvZXNuJ3QgY29sbGFwc2Ugc28gd2UgaGF2ZSB0byBkbyB0aGlzIG1hbnVhbGx5LlxuICAuZ292dWstbGFiZWw6bm90KC5nb3Z1ay1sYWJlbC0tbSk6bm90KC5nb3Z1ay1sYWJlbC0tbCk6bm90KC5nb3Z1ay1sYWJlbC0teGwpICsgLmdvdnVrLWNoZWNrYm94ZXNfX2hpbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAvLyBGb2N1c2VkIHN0YXRlXG4gIC5nb3Z1ay1jaGVja2JveGVzX19pbnB1dDpmb2N1cyArIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbDo6YmVmb3JlIHtcbiAgICBib3JkZXItd2lkdGg6IDRweDtcblxuICAgIC8vIFdoZW4gY29sb3VycyBhcmUgb3ZlcnJpZGRlbiwgdGhlIHllbGxvdyBib3gtc2hhZG93IGJlY29tZXMgaW52aXNpYmxlXG4gICAgLy8gd2hpY2ggbWVhbnMgdGhlIGZvY3VzIHN0YXRlIGlzIGxlc3Mgb2J2aW91cy4gQnkgYWRkaW5nIGEgdHJhbnNwYXJlbnRcbiAgICAvLyBvdXRsaW5lLCB3aGljaCBiZWNvbWVzIHNvbGlkICh0ZXh0LWNvbG91cmVkKSBpbiB0aGF0IGNvbnRleHQsIHdlIGVuc3VyZVxuICAgIC8vIHRoZSBmb2N1cyByZW1haW5zIGNsZWFybHkgdmlzaWJsZS5cbiAgICBvdXRsaW5lOiAkZ292dWstZm9jdXMtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcblxuICAgIC8vIFdoZW4gaW4gYW4gZXhwbGljaXQgZm9yY2VkLWNvbG9yIG1vZGUsIHdlIGNhbiB1c2UgdGhlIEhpZ2hsaWdodCBzeXN0ZW1cbiAgICAvLyBjb2xvciBmb3IgdGhlIG91dGxpbmUgdG8gYmV0dGVyIG1hdGNoIGZvY3VzIHN0YXRlcyBvZiBuYXRpdmUgY29udHJvbHNcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcbiAgICAgIG91dGxpbmUtY29sb3I6IEhpZ2hsaWdodDtcbiAgICB9XG5cbiAgICBib3gtc2hhZG93OiAwIDAgMCAkZ292dWstZm9jdXMtd2lkdGggJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgfVxuXG4gIC8vIFNlbGVjdGVkIHN0YXRlXG4gIC5nb3Z1ay1jaGVja2JveGVzX19pbnB1dDpjaGVja2VkICsgLmdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsOjphZnRlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gIC5nb3Z1ay1jaGVja2JveGVzX19pbnB1dDpkaXNhYmxlZCxcbiAgLmdvdnVrLWNoZWNrYm94ZXNfX2lucHV0OmRpc2FibGVkICsgLmdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICB9XG5cbiAgLmdvdnVrLWNoZWNrYm94ZXNfX2lucHV0OmRpc2FibGVkICsgLmdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsLFxuICAuZ292dWstY2hlY2tib3hlc19faW5wdXQ6ZGlzYWJsZWQgfiAuZ292dWstaGludCB7XG4gICAgb3BhY2l0eTogMC41O1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIERpdmlkZXJzICgnb3InKVxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAuZ292dWstY2hlY2tib3hlc19fZGl2aWRlciB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgICRnb3Z1ay1kaXZpZGVyLXNpemU6ICRnb3Z1ay1jaGVja2JveGVzLXNpemUgIWRlZmF1bHQ7XG4gICAgd2lkdGg6ICRnb3Z1ay1kaXZpZGVyLXNpemU7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gQ29uZGl0aW9uYWwgcmV2ZWFsc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBUaGUgbmFycm93IGJvcmRlciBpcyB1c2VkIGluIHRoZSBjb25kaXRpb25hbCByZXZlYWxzIGJlY2F1c2UgdGhlIGJvcmRlciBoYXNcbiAgLy8gdG8gYmUgYW4gZXZlbiBudW1iZXIgaW4gb3JkZXIgdG8gYmUgY2VudHJlZCB1bmRlciB0aGUgNDBweCBjaGVja2JveCBvciByYWRpby5cbiAgJGNvbmRpdGlvbmFsLWJvcmRlci13aWR0aDogJGdvdnVrLWJvcmRlci13aWR0aC1uYXJyb3c7XG4gIC8vIENhbGN1bGF0ZSB0aGUgYW1vdW50IG9mIHBhZGRpbmcgbmVlZGVkIHRvIGtlZXAgdGhlIGJvcmRlciBjZW50ZXJlZCBhZ2FpbnN0IHRoZSBjaGVja2JveC5cbiAgJGNvbmRpdGlvbmFsLWJvcmRlci1wYWRkaW5nOiAoJGdvdnVrLXRvdWNoLXRhcmdldC1zaXplIC8gMikgLSAoJGNvbmRpdGlvbmFsLWJvcmRlci13aWR0aCAvIDIpO1xuICAvLyBNb3ZlIHRoZSBib3JkZXIgY2VudGVyZWQgd2l0aCB0aGUgY2hlY2tib3hcbiAgJGNvbmRpdGlvbmFsLW1hcmdpbi1sZWZ0OiAkY29uZGl0aW9uYWwtYm9yZGVyLXBhZGRpbmc7XG4gIC8vIE1vdmUgdGhlIGNvbnRlbnRzIG9mIHRoZSBjb25kaXRpb25hbCBpbmxpbmUgd2l0aCB0aGUgbGFiZWxcbiAgJGNvbmRpdGlvbmFsLXBhZGRpbmctbGVmdDogJGNvbmRpdGlvbmFsLWJvcmRlci1wYWRkaW5nICsgJGdvdnVrLWNoZWNrYm94ZXMtbGFiZWwtcGFkZGluZy1sZWZ0LXJpZ2h0O1xuXG4gIC5nb3Z1ay1jaGVja2JveGVzX19jb25kaXRpb25hbCB7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gICAgbWFyZ2luLWxlZnQ6ICRjb25kaXRpb25hbC1tYXJnaW4tbGVmdDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRjb25kaXRpb25hbC1wYWRkaW5nLWxlZnQ7XG4gICAgYm9yZGVyLWxlZnQ6ICRjb25kaXRpb25hbC1ib3JkZXItd2lkdGggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG5cbiAgICAuZ292dWstZnJvbnRlbmQtc3VwcG9ydGVkICYtLWhpZGRlbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBTbWFsbCBjaGVja2JveGVzXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC5nb3Z1ay1jaGVja2JveGVzLS1zbWFsbCB7XG4gICAgJGlucHV0LW9mZnNldDogKCRnb3Z1ay10b3VjaC10YXJnZXQtc2l6ZSAtICRnb3Z1ay1zbWFsbC1jaGVja2JveGVzLXNpemUpIC8gMjtcblxuICAgIC5nb3Z1ay1jaGVja2JveGVzX19pdGVtIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLy8gU2hpZnQgdGhlIHRvdWNoIHRhcmdldCBpbnRvIHRoZSBsZWZ0IG1hcmdpbiBzbyB0aGF0IHRoZSB2aXNpYmxlIGVkZ2Ugb2ZcbiAgICAvLyB0aGUgY29udHJvbCBpcyBhbGlnbmVkXG4gICAgLy9cbiAgICAvLyAgIOKUhldoYXQgY29sb3VycyBkbyB5b3UgbGlrZT9cbiAgICAvLyAg4pSM4pSG4pSA4pSA4pSA4pSQXG4gICAgLy8gIOKUguKUhltdIOKUgiBQdXJwbGVcbiAgICAvLyAg4pSU4pSG4pay4pSA4pSA4pSYXG4gICAgLy8gIOKWsuKUhuKUlOKUgCBDaGVjayBib3ggcHNldWRvIGVsZW1lbnQsIGFsaWduZWQgd2l0aCBtYXJnaW5cbiAgICAvLyAg4pSU4pSA4pSA4pSAIFRvdWNoIHRhcmdldCAoaW52aXNpYmxlIGlucHV0KSwgc2hpZnRlZCBpbnRvIHRoZSBtYXJnaW5cbiAgICAuZ292dWstY2hlY2tib3hlc19faW5wdXQge1xuICAgICAgbWFyZ2luLWxlZnQ6ICRpbnB1dC1vZmZzZXQgKiAtMTtcbiAgICB9XG5cbiAgICAuZ292dWstY2hlY2tib3hlc19fbGFiZWwge1xuICAgICAgLy8gQ3JlYXRlIGEgdGlueSBzcGFjZSBiZXR3ZWVuIHRoZSBzbWFsbCBjaGVja2JveCBob3ZlciBzdGF0ZSBzbyB0aGF0IGl0XG4gICAgICAvLyBkb2Vzbid0IGNsYXNoIHdpdGggdGhlIGxhYmVsXG4gICAgICBwYWRkaW5nLWxlZnQ6IDFweDtcbiAgICB9XG5cbiAgICAvLyBbIF0gQ2hlY2sgYm94XG4gICAgLy9cbiAgICAvLyBSZWR1Y2UgdGhlIHNpemUgb2YgdGhlIGNoZWNrIGJveCBbMV0sIHZlcnRpY2FsbHkgY2VudGVyIGl0IHdpdGhpbiB0aGVcbiAgICAvLyB0b3VjaCB0YXJnZXQgWzJdXG4gICAgLy8gTGVmdCBoZXJlIGlzIDAgYmVjYXVzZSB3ZSd2ZSBzaGlmdGVkIHRoZSBpbnB1dCBpbnRvIHRoZSBsZWZ0IG1hcmdpblxuICAgIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbDo6YmVmb3JlIHtcbiAgICAgIHRvcDogJGlucHV0LW9mZnNldDsgLy8gMlxuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAkZ292dWstc21hbGwtY2hlY2tib3hlcy1zaXplOyAvLyAxXG4gICAgICBoZWlnaHQ6ICRnb3Z1ay1zbWFsbC1jaGVja2JveGVzLXNpemU7IC8vIDFcbiAgICB9XG5cbiAgICAvLyDinJQgQ2hlY2sgbWFya1xuICAgIC8vXG4gICAgLy8gUmVkdWNlIHRoZSBzaXplIG9mIHRoZSBjaGVjayBtYXJrIGFuZCByZS1hbGlnbiB3aXRoaW4gdGhlIGNoZWNrYm94XG4gICAgLmdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsOjphZnRlciB7XG4gICAgICB0b3A6IDE3cHg7XG5cbiAgICAgIC8vIEhvcml6b250YWwgcG9zaXRpb24gaXMganVzdCB0aGUgbm9ybWFsIHNpemVkIGxlZnQgdmFsdWUgYWNjb3VudGluZyBmb3JcbiAgICAgIC8vIHRoZSBuZXcgd2lkdGggb2YgdGhlIHNtYWxsZXIgY2hlY2tib3hcbiAgICAgIGxlZnQ6ICgxNnB4IC0gJGdvdnVrLWNoZWNrYm94LWNoZWNrLWhvcml6b250YWwtcG9zaXRpb24pO1xuICAgICAgd2lkdGg6IDEycHg7XG4gICAgICBoZWlnaHQ6IDYuNXB4O1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgM3B4IDNweDtcbiAgICB9XG5cbiAgICAvLyBGaXggcG9zaXRpb24gb2YgaGludCB3aXRoIHNtYWxsIGNoZWNrYm94ZXNcbiAgICAvL1xuICAgIC8vIERvIG5vdCB1c2UgaGludHMgd2l0aCBzbWFsbCBjaGVja2JveGVzIOKAkyBiZWNhdXNlIHRoZXkncmUgd2l0aGluIHRoZSBpbnB1dFxuICAgIC8vIHdyYXBwZXIgdGhleSB0cmlnZ2VyIHRoZSBob3ZlciBzdGF0ZSwgYnV0IGNsaWNraW5nIHRoZW0gZG9lc24ndCBhY3R1YWxseVxuICAgIC8vIGFjdGl2YXRlIHRoZSBjb250cm9sLlxuICAgIC8vXG4gICAgLy8gKElmIHlvdSBkbyB1c2UgdGhlbSwgdGhleSB3b24ndCBsb29rIGNvbXBsZXRlbHkgYnJva2VuLi4uIGJ1dCBzZXJpb3VzbHksXG4gICAgLy8gZG9uJ3QgdXNlIHRoZW0pXG4gICAgLmdvdnVrLWNoZWNrYm94ZXNfX2hpbnQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAoJGdvdnVrLXNtYWxsLWNoZWNrYm94ZXMtc2l6ZSArICRpbnB1dC1vZmZzZXQpO1xuICAgIH1cblxuICAgIC8vIEFsaWduIGNvbmRpdGlvbmFsIHJldmVhbHMgd2l0aCBzbWFsbCBjaGVja2JveGVzXG4gICAgLmdvdnVrLWNoZWNrYm94ZXNfX2NvbmRpdGlvbmFsIHtcbiAgICAgICRtYXJnaW4tbGVmdDogKCRnb3Z1ay1zbWFsbC1jaGVja2JveGVzLXNpemUgLyAyKSAtICgkY29uZGl0aW9uYWwtYm9yZGVyLXdpZHRoIC8gMik7XG4gICAgICBtYXJnaW4tbGVmdDogJG1hcmdpbi1sZWZ0O1xuICAgICAgcGFkZGluZy1sZWZ0OiAoJGdvdnVrLXRvdWNoLXRhcmdldC1zaXplIC0gJGlucHV0LW9mZnNldCkgLSAoJG1hcmdpbi1sZWZ0ICsgJGNvbmRpdGlvbmFsLWJvcmRlci13aWR0aCk7XG4gICAgfVxuXG4gICAgLmdvdnVrLWNoZWNrYm94ZXNfX2RpdmlkZXIge1xuICAgICAgd2lkdGg6ICRnb3Z1ay1zbWFsbC1jaGVja2JveGVzLXNpemU7XG4gICAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgIH1cblxuICAgIC8vIEhvdmVyIHN0YXRlIGZvciBzbWFsbCBjaGVja2JveGVzLlxuICAgIC8vXG4gICAgLy8gV2UgdXNlIGEgaG92ZXIgc3RhdGUgZm9yIHNtYWxsIGNoZWNrYm94ZXMgYmVjYXVzZSB0aGUgdG91Y2ggdGFyZ2V0IHNpemVcbiAgICAvLyBpcyBzbyBtdWNoIGxhcmdlciB0aGFuIHRoZWlyIHZpc2libGUgc2l6ZSwgYW5kIHNvIHdlIG5lZWQgdG8gcHJvdmlkZVxuICAgIC8vIGZlZWRiYWNrIHRvIHRoZSB1c2VyIGFzIHRvIHdoaWNoIGNoZWNrYm94IHRoZXkgd2lsbCBzZWxlY3Qgd2hlbiB0aGVpclxuICAgIC8vIGN1cnNvciBpcyBvdXRzaWRlIG9mIHRoZSB2aXNpYmxlIGFyZWEuXG4gICAgLmdvdnVrLWNoZWNrYm94ZXNfX2l0ZW06aG92ZXIgLmdvdnVrLWNoZWNrYm94ZXNfX2lucHV0Om5vdCg6ZGlzYWJsZWQpICsgLmdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsOjpiZWZvcmUge1xuICAgICAgLy8gRm9yY2VkIGNvbG91cnMgbW9kZXMgdGVuZCB0byBpZ25vcmUgYm94LXNoYWRvdy5cbiAgICAgIC8vIEFwcGx5IGFuIG91dGxpbmUgZm9yIHRob3NlIG1vZGVzIHRvIHVzZSBpbnN0ZWFkLlxuICAgICAgb3V0bGluZTogJGdvdnVrLWZvY3VzLXdpZHRoIGRhc2hlZCB0cmFuc3BhcmVudDtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAkZ292dWstaG92ZXItd2lkdGggJGdvdnVrLWhvdmVyLWNvbG91cjtcbiAgICB9XG5cbiAgICAvLyBCZWNhdXNlIHdlJ3ZlIG92ZXJyaWRkZW4gdGhlIGJvcmRlci1zaGFkb3cgcHJvdmlkZWQgYnkgdGhlIGZvY3VzIHN0YXRlLFxuICAgIC8vIHdlIG5lZWQgdG8gcmVkZWZpbmUgdGhhdCB0b28uXG4gICAgLy9cbiAgICAvLyBXZSB1c2UgdHdvIGJveCBzaGFkb3dzLCBvbmUgdGhhdCByZXN0b3JlcyB0aGUgb3JpZ2luYWwgZm9jdXMgc3RhdGUgWzFdXG4gICAgLy8gYW5kIGFub3RoZXIgdGhhdCB0aGVuIGFwcGxpZXMgdGhlIGhvdmVyIHN0YXRlIFsyXS5cbiAgICAuZ292dWstY2hlY2tib3hlc19faXRlbTpob3ZlciAuZ292dWstY2hlY2tib3hlc19faW5wdXQ6Zm9jdXMgKyAuZ292dWstY2hlY2tib3hlc19fbGFiZWw6OmJlZm9yZSB7XG4gICAgICAvLyBTZXQgZGlmZmVyZW50IEhDTSBjb2xvdXIgd2hlbiB3ZSBoYXZlIGJvdGggaG92ZXIvZm9jdXMgYXBwbGllZCBhdCBvbmNlXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcbiAgICAgICAgb3V0bGluZS1jb2xvcjogSGlnaGxpZ2h0O1xuICAgICAgfVxuICAgICAgLy8gcHJldHRpZXItaWdub3JlXG4gICAgICBib3gtc2hhZG93OlxuICAgICAgICAwIDAgMCAkZ292dWstZm9jdXMtd2lkdGggJGdvdnVrLWZvY3VzLWNvbG91ciwgLy8gMVxuICAgICAgICAwIDAgMCAkZ292dWstaG92ZXItd2lkdGggJGdvdnVrLWhvdmVyLWNvbG91cjsgLy8gMlxuICAgIH1cblxuICAgIC8vIEZvciBkZXZpY2VzIHRoYXQgZXhwbGljaXRseSBkb24ndCBzdXBwb3J0IGhvdmVyLCBkb24ndCBwcm92aWRlIGEgaG92ZXJcbiAgICAvLyBzdGF0ZSAoZS5nLiBvbiB0b3VjaCBkZXZpY2VzIGxpa2UgaU9TKS5cbiAgICAvL1xuICAgIC8vIFdlIGNhbid0IHVzZSBgQG1lZGlhIChob3ZlcjogaG92ZXIpYCBiZWNhdXNlIHdlIHdvdWxkbid0IGdldCB0aGUgaG92ZXJcbiAgICAvLyBzdGF0ZSBpbiBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgYEBtZWRpYSAoaG92ZXIpYCAobGlrZSBJbnRlcm5ldFxuICAgIC8vIEV4cGxvcmVyKSDigJMgc28gd2UgaGF2ZSB0byAndW5kbycgdGhlIGhvdmVyIHN0YXRlIGluc3RlYWQuXG4gICAgQG1lZGlhIChob3Zlcjogbm9uZSksIChwb2ludGVyOiBjb2Fyc2UpIHtcbiAgICAgIC5nb3Z1ay1jaGVja2JveGVzX19pdGVtOmhvdmVyIC5nb3Z1ay1jaGVja2JveGVzX19pbnB1dDpub3QoOmRpc2FibGVkKSArIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgYm94LXNoYWRvdzogaW5pdGlhbDtcbiAgICAgIH1cblxuICAgICAgLmdvdnVrLWNoZWNrYm94ZXNfX2l0ZW06aG92ZXIgLmdvdnVrLWNoZWNrYm94ZXNfX2lucHV0OmZvY3VzICsgLmdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsOjpiZWZvcmUge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkZ292dWstZm9jdXMtd2lkdGggJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2luZGV4LnNjc3MubWFwICovXG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2Nvb2tpZS1iYW5uZXJcIikge1xuICAvLyBUaGlzIG5lZWRzIHRvIGJlIGtlcHQgaW4gc3luYyB3aXRoIHRoZSBoZWFkZXIgY29tcG9uZW50J3Mgc3R5bGVzXG4gICRib3JkZXItYm90dG9tLXdpZHRoOiBnb3Z1ay1zcGFjaW5nKDIpO1xuXG4gIC5nb3Z1ay1jb29raWUtYmFubmVyIHtcbiAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZyg0KTtcbiAgICAvLyBUaGUgY29tcG9uZW50IGRvZXMgbm90IHNldCBib3R0b20gc3BhY2luZy4gVGhlIGJvdHRvbSBzcGFjaW5nIHNob3VsZCBiZVxuICAgIC8vIGNyZWF0ZWQgYnkgdGhlIGl0ZW1zIGluc2lkZSB0aGUgY29tcG9uZW50LlxuXG4gICAgLy8gVmlzdWFsbHkgc2VwYXJhdGUgdGhlIGNvb2tpZSBiYW5uZXIgZnJvbSBjb250ZW50IHVuZGVybmVhdGggd2hlbiB1c2VyXG4gICAgLy8gY2hhbmdlcyBjb2xvdXJzIGluIHRoZWlyIGJyb3dzZXIuXG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlci1ib3R0b20td2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstY2FudmFzLWJhY2tncm91bmQtY29sb3VyO1xuICB9XG5cbiAgLy8gU3VwcG9ydCBvbGRlciBicm93c2VycyB3aGljaCBkb24ndCBoaWRlIGVsZW1lbnRzIHdpdGggdGhlIGBoaWRkZW5gIGF0dHJpYnV0ZVxuICAvLyB3aGVuIHVzZXIgaGlkZXMgdGhlIHdob2xlIGNvb2tpZSBiYW5uZXIgd2l0aCBhICdIaWRlJyBidXR0b24uXG4gIC5nb3Z1ay1jb29raWUtYmFubmVyW2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuZ292dWstY29va2llLWJhbm5lcl9fbWVzc2FnZSB7XG4gICAgLy8gUmVtb3ZlIHRoZSBleHRyYSBoZWlnaHQgYWRkZWQgYnkgdGhlIHNlcGFyYXRvciBib3JkZXIuXG4gICAgbWFyZ2luLWJvdHRvbTogLSRib3JkZXItYm90dG9tLXdpZHRoO1xuXG4gICAgJltoaWRkZW5dIHtcbiAgICAgIC8vIFN1cHBvcnQgb2xkZXIgYnJvd3NlcnMgd2hpY2ggZG9uJ3QgaGlkZSBlbGVtZW50cyB3aXRoIHRoZSBgaGlkZGVuYFxuICAgICAgLy8gYXR0cmlidXRlIHdoZW4gdGhlIHZpc2liaWxpdHkgb2YgY29va2llIGFuZCByZXBsYWNlbWVudCBtZXNzYWdlcyBpc1xuICAgICAgLy8gdG9nZ2xlZC5cbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICAvLyBSZW1vdmUgdGhlIG5hdGl2ZSB2aXNpYmxlIGZvY3VzIGluZGljYXRvciB3aGVuIHRoZSBlbGVtZW50IGlzXG4gICAgICAvLyBwcm9ncmFtbWF0aWNhbGx5IGZvY3VzZWQuXG4gICAgICAvL1xuICAgICAgLy8gVGhlIGZvY3VzZWQgY29va2llIGJhbm5lciBpcyB0aGUgZmlyc3QgZWxlbWVudCBvbiB0aGUgcGFnZSBhbmQgdGhlIGxhc3RcbiAgICAgIC8vIHRoaW5nIHRoZSB1c2VyIGludGVyYWN0ZWQgd2l0aCBwcmlvciB0byBpdCBnYWluaW5nIGZvY3VzLiBXZSB0aGVyZWZvcmVcbiAgICAgIC8vIGFzc3VtZSB0aGF0IG1vdmluZyBmb2N1cyB0byBpdCBpcyBub3QgZ29pbmcgdG8gc3VycHJpc2UgdXNlcnMsIGFuZCB0aGF0XG4gICAgICAvLyBnaXZpbmcgaXQgYSB2aXNpYmxlIGZvY3VzIGluZGljYXRvciBjb3VsZCBiZSBtb3JlIGNvbmZ1c2luZyB0aGFuXG4gICAgICAvLyBoZWxwZnVsLCBlc3BlY2lhbGx5IGFzIHRoZSBlbGVtZW50IGlzIG5vdCBub3JtYWxseSBrZXlib2FyZCBvcGVyYWJsZS5cbiAgICAgIC8vXG4gICAgICAvLyBXZSBoYXZlIGZsYWdnZWQgdGhpcyBpbiB0aGUgcmVzZWFyY2ggc2VjdGlvbiBvZiB0aGUgZ3VpZGFuY2UgYXNcbiAgICAgIC8vIHNvbWV0aGluZyB0byBtb25pdG9yLlxuICAgICAgLy9cbiAgICAgIC8vIEEgcmVsYXRlZCBkaXNjdXNzaW9uOiBodHRwczovL2dpdGh1Yi5jb20vdzNjL3djYWcvaXNzdWVzLzEwMDFcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9pbmRleC5zY3NzLm1hcCAqL1xuIiwiQGltcG9ydCBcIi4uL2Vycm9yLW1lc3NhZ2UvaW5kZXhcIjtcbkBpbXBvcnQgXCIuLi9oaW50L2luZGV4XCI7XG5AaW1wb3J0IFwiLi4vbGFiZWwvaW5kZXhcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9pbnB1dFwiKSB7XG4gIC5nb3Z1ay1pbnB1dCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGdvdnVrLXB4LXRvLXJlbSg0MHB4KTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMSk7XG4gICAgLy8gU2V0dGluZyBhbnkgYmFja2dyb3VuZC1jb2xvciBtYWtlcyB0ZXh0IGludmlzaWJsZSB3aGVuIGNoYW5naW5nIGNvbG91cnNcbiAgICAvLyB0byBkYXJrIGJhY2tncm91bmRzIGluIEZpcmVmb3ggKGh0dHBzOi8vYnVnemlsLmxhLzEzMzU0NzYpLiBBc1xuICAgIC8vIGJhY2tncm91bmQtY29sb3IgYW5kIGNvbG9yIG5lZWQgdG8gYWx3YXlzIGJlIHNldCB0b2dldGhlciwgY29sb3Igc2hvdWxkXG4gICAgLy8gbm90IGJlIHNldCBlaXRoZXJcbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50IHNvbGlkICRnb3Z1ay1pbnB1dC1ib3JkZXItY29sb3VyO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAvLyBEaXNhYmxlIGlubmVyIHNoYWRvdyBhbmQgcmVtb3ZlIHJvdW5kZWQgY29ybmVyc1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6ICRnb3Z1ay1mb2N1cy13aWR0aCBzb2xpZCAkZ292dWstZm9jdXMtY29sb3VyO1xuICAgICAgLy8gRW5zdXJlIG91dGxpbmUgYXBwZWFycyBvdXRzaWRlIG9mIHRoZSBlbGVtZW50XG4gICAgICBvdXRsaW5lLW9mZnNldDogMDtcbiAgICAgIC8vIERvdWJsZSB0aGUgYm9yZGVyIGJ5IGFkZGluZyBpdHMgd2lkdGggYWdhaW4uIFVzZSBgYm94LXNoYWRvd2AgZm9yIHRoaXNcbiAgICAgIC8vIGluc3RlYWQgb2YgY2hhbmdpbmcgYGJvcmRlci13aWR0aGAgLSB0aGlzIGlzIGZvciBjb25zaXN0ZW5jeSB3aXRoXG4gICAgICAvLyBjb21wb25lbnRzIHN1Y2ggYXMgdGV4dGFyZWEgd2hlcmUgd2UgYXZvaWQgY2hhbmdpbmcgYGJvcmRlci13aWR0aGAgYXNcbiAgICAgIC8vIGl0IHdpbGwgY2hhbmdlIHRoZSBlbGVtZW50IHNpemUuIEFsc28sIGBvdXRsaW5lYCBjYW5ub3QgYmUgdXRpbGlzZWRcbiAgICAgIC8vIGhlcmUgYXMgaXQgaXMgYWxyZWFkeSB1c2VkIGZvciB0aGUgeWVsbG93IGZvY3VzIHN0YXRlLlxuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQ7XG4gICAgfVxuXG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstaW5wdXQ6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sXG4gIC5nb3Z1ay1pbnB1dDo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC5nb3Z1ay1pbnB1dFt0eXBlPVwibnVtYmVyXCJdIHtcbiAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgfVxuXG4gIC5nb3Z1ay1pbnB1dC0tZXJyb3Ige1xuICAgIGJvcmRlci1jb2xvcjogJGdvdnVrLWVycm9yLWNvbG91cjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkZ292dWstaW5wdXQtYm9yZGVyLWNvbG91cjtcbiAgICB9XG4gIH1cblxuICAuZ292dWstaW5wdXQtLWV4dHJhLWxldHRlci1zcGFjaW5nIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250LXRhYnVsYXItbnVtYmVycztcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuICB9XG5cbiAgLy8gZW0gbWVhc3VyZW1lbnRzIGFyZSBiYXNlZCBvbiB0aGUgcG9pbnQgc2l6ZSBvZiB0aGUgdHlwZWZhY2VcbiAgLy8gRXh0cmEgc3BhY2UgaXMgYWRkZWQgb24gdGhlIHJpZ2h0IHRvIGFsbG93IGZvciB0aGUgU2FmYXJpIHByZWZpbGwgaWNvblxuXG4gIC5nb3Z1ay1pbnB1dC0td2lkdGgtMzAge1xuICAgIG1heC13aWR0aDogMjkuNWVtO1xuICB9XG5cbiAgLmdvdnVrLWlucHV0LS13aWR0aC0yMCB7XG4gICAgbWF4LXdpZHRoOiAyMC41ZW07XG4gIH1cblxuICAuZ292dWstaW5wdXQtLXdpZHRoLTEwIHtcbiAgICBtYXgtd2lkdGg6IDExLjVlbTtcbiAgfVxuXG4gIC5nb3Z1ay1pbnB1dC0td2lkdGgtNSB7XG4gICAgbWF4LXdpZHRoOiA1LjVlbTtcbiAgfVxuXG4gIC5nb3Z1ay1pbnB1dC0td2lkdGgtNCB7XG4gICAgbWF4LXdpZHRoOiA0LjVlbTtcbiAgfVxuXG4gIC5nb3Z1ay1pbnB1dC0td2lkdGgtMyB7XG4gICAgbWF4LXdpZHRoOiAzLjc1ZW07XG4gIH1cblxuICAuZ292dWstaW5wdXQtLXdpZHRoLTIge1xuICAgIG1heC13aWR0aDogMi43NWVtO1xuICB9XG5cbiAgLmdvdnVrLWlucHV0X193cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgLmdvdnVrLWlucHV0IHtcbiAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIH1cblxuICAgIC5nb3Z1ay1pbnB1dDpmb2N1cyB7XG4gICAgICAvLyBIYWNrIHRvIHN0b3AgZm9jdXMgc3R5bGUgYmVpbmcgb3ZlcmxhcHBlZCBieSB0aGUgc3VmZml4XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgIC8vIFNwbGl0IHByZWZpeC9zdWZmaXggb250byBzZXBhcmF0ZSBsaW5lcyBvbiBuYXJyb3cgc2NyZWVuc1xuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCR1bnRpbDogbW9iaWxlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgLmdvdnVrLWlucHV0IHtcbiAgICAgICAgLy8gU2V0IG1heC13aWR0aCB0byBvdmVycmlkZSBwb3RlbnRpYWwgd2lkdGggb3ZlcnJpZGUgY2xhc3Mgb24gdGhlIGlucHV0XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ292dWstaW5wdXRfX3ByZWZpeCxcbiAgLmdvdnVrLWlucHV0X19zdWZmaXgge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC8vIFVzZSBmbGV4Ym94IHRvIGFsaWduIHRleHQgd2l0aGluIHRoZSBwcmVmaXggYW5kIHN1ZmZpeFxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtaW4td2lkdGg6IGdvdnVrLXB4LXRvLXJlbSg0MHB4KTtcbiAgICBoZWlnaHQ6IGdvdnVrLXB4LXRvLXJlbSg0MHB4KTtcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgIGJvcmRlcjogJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQgc29saWQgJGdvdnVrLWlucHV0LWJvcmRlci1jb2xvdXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ292dWstY29sb3VyKFwibGlnaHQtZ3JleVwiKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAvLyBFbXBoYXNpc2Ugbm9uLWVkaXRhYmxlIHN0YXR1cyBvZiBwcmVmaXhlcyBhbmQgc3VmZml4ZXNcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgLy8gU3BsaXQgcHJlZml4L3N1ZmZpeCBvbnRvIHNlcGFyYXRlIGxpbmVzIG9uIG5hcnJvdyBzY3JlZW5zXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJHVudGlsOiBtb2JpbGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstaW5wdXRfX3ByZWZpeCB7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJHVudGlsOiBtb2JpbGUpIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgfVxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiBtb2JpbGUpIHtcbiAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICB9XG4gIH1cblxuICAvLyBTcGxpdCBwcmVmaXgvc3VmZml4IG9udG8gc2VwYXJhdGUgbGluZXMgb24gbmFycm93IHNjcmVlbnNcbiAgLmdvdnVrLWlucHV0X19zdWZmaXgge1xuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCR1bnRpbDogbW9iaWxlKSB7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgIH1cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogbW9iaWxlKSB7XG4gICAgICBib3JkZXItbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2luZGV4LnNjc3MubWFwICovXG4iLCJAaW1wb3J0IFwiLi4vZXJyb3ItbWVzc2FnZS9pbmRleFwiO1xuQGltcG9ydCBcIi4uL2lucHV0L2luZGV4XCI7XG5AaW1wb3J0IFwiLi4vaGludC9pbmRleFwiO1xuQGltcG9ydCBcIi4uL2xhYmVsL2luZGV4XCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvZGF0ZS1pbnB1dFwiKSB7XG4gIC5nb3Z1ay1kYXRlLWlucHV0IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1jbGVhcmZpeDtcbiAgICBmb250LXNpemU6IDA7IC8vIHJlbW92ZXMgd2hpdGVzcGFjZSBjYXVzZWQgYnkgaW5saW5lLWJsb2NrXG4gIH1cblxuICAuZ292dWstZGF0ZS1pbnB1dF9faXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogZ292dWstc3BhY2luZyg0KTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmdvdnVrLWRhdGUtaW5wdXRfX2xhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC5nb3Z1ay1kYXRlLWlucHV0X19pbnB1dCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1faW5kZXguc2Nzcy5tYXAgKi9cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvZGV0YWlsc1wiKSB7XG4gIC5nb3Z1ay1kZXRhaWxzIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIik7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC5nb3Z1ay1kZXRhaWxzX19zdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC5nb3Z1ay1kZXRhaWxzW29wZW5dIC5nb3Z1ay1kZXRhaWxzX19zdW1tYXJ5IHtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICB9XG5cbiAgLmdvdnVrLWRldGFpbHNfX3N1bW1hcnktdGV4dCB7XG4gICAgPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICA+IDpvbmx5LWNoaWxkLFxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstZGV0YWlsc19fdGV4dCB7XG4gICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDQpO1xuICB9XG5cbiAgLmdvdnVrLWRldGFpbHNfX3RleHQgcCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDQpO1xuICB9XG5cbiAgLmdvdnVrLWRldGFpbHNfX3RleHQgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC8vIEhhY2sgdG8gdGFyZ2V0IElFOCAtIElFMTEgKGFuZCBSRUFMTFkgb2xkIEZpcmVmb3gpXG4gIC8vIFRoZXNlIGJyb3dzZXJzIGRvbid0IHN1cHBvcnQgdGhlIGRldGFpbHMgZWxlbWVudCwgc28gZmFsbCBiYWNrIHRvIGxvb2tpbmdcbiAgLy8gbGlrZSBpbnNldCB0ZXh0XG4gIEBtZWRpYSBzY3JlZW5cXDAge1xuICAgIC5nb3Z1ay1kZXRhaWxzIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAkZ292dWstYm9yZGVyLXdpZHRoLXdpZGUgc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gICAgfVxuXG4gICAgLmdvdnVrLWRldGFpbHNfX3N1bW1hcnkge1xuICAgICAgbWFyZ2luLXRvcDogZ292dWstc3BhY2luZygzKTtcbiAgICB9XG5cbiAgICAuZ292dWstZGV0YWlsc19fc3VtbWFyeS10ZXh0IHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LWJvbGQ7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig0LCBcImJvdHRvbVwiKTtcbiAgICAgIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZyg0KTtcbiAgICB9XG4gIH1cblxuICAvLyBXZSB3cmFwIHN0eWxlcyBmb3IgbmV3ZXIgYnJvd3NlcnMgaW4gYSBmZWF0dXJlIHF1ZXJ5LCB3aGljaCBpcyBpZ25vcmVkIGJ5XG4gIC8vIG9sZGVyIGJyb3dzZXJzLCB3aGljaCBhbHdheXMgZXhwYW5kIHRoZSBkZXRhaWxzIGVsZW1lbnQuXG4gIC8vXG4gIC8vIEFkZGl0aW9uYWxseSwgLW1zLWltZS1hbGlnbiBpcyBvbmx5IHN1cHBvcnRlZCBieSBFZGdlIDEyIC0gMThcbiAgLy9cbiAgLy8gVGhpcyBlbnN1cmVzIHdlIGRvbid0IHVzZSB0aGVzZSBzdHlsZXMgaW4gYnJvd3NlcnMgd2hpY2g6XG4gIC8vICAgLSBzdXBwb3J0IEVTNiBtb2R1bGVzIGJ1dCBub3QgdGhlIDxkZXRhaWxzPiBlbGVtZW50IChFZGdlIDE2IC0gMTgpXG4gIC8vICAgLSBkbyBub3Qgc3VwcG9ydCBFUzYgbW9kdWxlcyBvciB0aGUgPGRldGFpbHM+IGVsZW1lbnQgKGVnLCBJRTgrKVxuICBAc3VwcG9ydHMgbm90ICgtbXMtaW1lLWFsaWduOiBhdXRvKSB7XG4gICAgLmdvdnVrLWRldGFpbHNfX3N1bW1hcnkge1xuICAgICAgLy8gQWJzb2x1dGVseSBwb3NpdGlvbiB0aGUgbWFya2VyIGFnYWluc3QgdGhpcyBlbGVtZW50XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIC8vIE1ha2UgdGhlIGZvY3VzIG91dGxpbmUgc2hyaW5rLXdyYXAgdGhlIHRleHQgY29udGVudCBvZiB0aGUgc3VtbWFyeVxuICAgICAgd2lkdGg6IC13ZWJraXQtZml0LWNvbnRlbnQ7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG5cbiAgICAgIC8vIEFsbG93IGZvciBhYnNvbHV0ZWx5IHBvc2l0aW9uZWQgbWFya2VyIGFuZCBhbGlnbiB3aXRoIGRpc2Nsb3NlZCB0ZXh0XG4gICAgICBwYWRkaW5nLWxlZnQ6IGdvdnVrLXNwYWNpbmcoNCkgKyAkZ292dWstYm9yZGVyLXdpZHRoO1xuXG4gICAgICAvLyBTdHlsZSB0aGUgc3VtbWFyeSB0byBsb29rIGxpa2UgYSBsaW5rLi4uXG4gICAgICBjb2xvcjogJGdvdnVrLWxpbmstY29sb3VyO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRnb3Z1ay1saW5rLWhvdmVyLWNvbG91cjtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIEBpbmNsdWRlIGdvdnVrLWZvY3VzZWQtdGV4dDtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gLi4uYnV0IG9ubHkgdW5kZXJsaW5lIHRoZSB0ZXh0LCBub3QgdGhlIGFycm93XG4gICAgLmdvdnVrLWRldGFpbHNfX3N1bW1hcnktdGV4dCB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWRlY29yYXRpb247XG4gICAgfVxuXG4gICAgLmdvdnVrLWRldGFpbHNfX3N1bW1hcnk6aG92ZXIgLmdvdnVrLWRldGFpbHNfX3N1bW1hcnktdGV4dCB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWhvdmVyLWRlY29yYXRpb247XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIHRoZSB1bmRlcmxpbmUgd2hlbiBmb2N1c3NlZCB0byBhdm9pZCBkdXBsaWNhdGUgYm9yZGVyc1xuICAgIC5nb3Z1ay1kZXRhaWxzX19zdW1tYXJ5OmZvY3VzIC5nb3Z1ay1kZXRhaWxzX19zdW1tYXJ5LXRleHQge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgIC8vIFJlbW92ZSB0aGUgZGVmYXVsdCBkZXRhaWxzIG1hcmtlciBzbyB3ZSBjYW4gc3R5bGUgb3VyIG93biBjb25zaXN0ZW50bHkgYW5kXG4gICAgLy8gZW5zdXJlIGl0IGRpc3BsYXlzIGluIEZpcmVmb3ggKHNlZSBpbXBsZW1lbnRhdGlvbi5tZCBmb3IgZGV0YWlscylcbiAgICAuZ292dWstZGV0YWlsc19fc3VtbWFyeTo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8vIEFwcGVuZCBvdXIgb3duIG9wZW4gLyBjbG9zZWQgbWFya2VyIHVzaW5nIGEgcHNldWRvLWVsZW1lbnRcbiAgICAuZ292dWstZGV0YWlsc19fc3VtbWFyeTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgIHRvcDogLTFweDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG5cbiAgICAgIG1hcmdpbjogYXV0bztcblxuICAgICAgQGluY2x1ZGUgZ292dWstc2hhcGUtYXJyb3coJGRpcmVjdGlvbjogcmlnaHQsICRiYXNlOiAxNHB4KTtcblxuICAgICAgLmdvdnVrLWRldGFpbHNbb3Blbl0gPiAmIHtcbiAgICAgICAgQGluY2x1ZGUgZ292dWstc2hhcGUtYXJyb3coJGRpcmVjdGlvbjogZG93biwgJGJhc2U6IDE0cHgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5nb3Z1ay1kZXRhaWxzX190ZXh0IHtcbiAgICAgIGJvcmRlci1sZWZ0OiAkZ292dWstYm9yZGVyLXdpZHRoIHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICAgIH1cbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1faW5kZXguc2Nzcy5tYXAgKi9cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgaGVscGVycy9zaGFwZXNcbi8vLy9cblxuLy8vIENhbGN1bGF0ZSB0aGUgaGVpZ2h0IG9mIGFuIGVxdWlsYXRlcmFsIHRyaWFuZ2xlXG4vLy9cbi8vLyBNdWx0aXBseWluZyBoYWxmIHRoZSBsZW5ndGggb2YgdGhlIGJhc2Ugb2YgYW4gZXF1aWxhdGVyYWwgdHJpYW5nbGUgYnkgdGhlXG4vLy8gc3F1YXJlIHJvb3Qgb2YgdGhyZWUgZ2l2ZXMgdXMgaXRzIGhlaWdodC4gV2UgdXNlIDEuNzMyIGFzIGFuIGFwcHJveGltYXRpb24uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBMZW5ndGggb2YgdGhlIGJhc2Ugb2YgdGhlIHRyaWFuZ2xlXG4vLy8gQHJldHVybiB7TnVtYmVyfSBDYWxjdWxhdGVkIGhlaWdodCBvZiB0aGUgdHJpYW5nbGVcbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuQGZ1bmN0aW9uIF9nb3Z1ay1lcXVpbGF0ZXJhbC1oZWlnaHQoJGJhc2UpIHtcbiAgJHNxdWFyZS1yb290LW9mLXRocmVlOiAxLjczMjtcblxuICBAcmV0dXJuICgkYmFzZSAvIDIpICogJHNxdWFyZS1yb290LW9mLXRocmVlO1xufVxuXG4vLy8gQXJyb3cgbWl4aW5cbi8vL1xuLy8vIEdlbmVyYXRlIEFycm93cyAodHJpYW5nbGVzKSBieSB1c2luZyBhIG1peCBvZiB0cmFuc3BhcmVudCAoMSkgYW5kIGNvbG91cmVkXG4vLy8gYm9yZGVycy4gVGhlIGNvbG91cmVkIGJvcmRlcnMgaW5oZXJpdCB0aGUgdGV4dCBjb2xvdXIgb2YgdGhlIGVsZW1lbnQgKDIpLlxuLy8vXG4vLy8gRW5zdXJlIHRoZSBhcnJvdyBpcyByZW5kZXJlZCBjb3JyZWN0bHkgaWYgYnJvd3NlciBjb2xvdXJzIGFyZSBvdmVycmlkZGVuIGJ5XG4vLy8gcHJvdmlkaW5nIGEgY2xpcCBwYXRoICgzKS4gV2l0aG91dCB0aGlzIHRoZSB0cmFuc3BhcmVudCBib3JkZXJzIGFyZVxuLy8vIG92ZXJyaWRkZW4gdG8gYmVjb21lIHZpc2libGUgd2hpY2ggcmVzdWx0cyBpbiBhIHNxdWFyZS5cbi8vL1xuLy8vIFdlIG5lZWQgYm90aCBiZWNhdXNlIG9sZGVyIGJyb3dzZXJzIGRvIG5vdCBzdXBwb3J0IGNsaXAtcGF0aC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlyZWN0aW9uIC0gRGlyZWN0aW9uIGZvciBhcnJvdzogdXAsIHJpZ2h0LCBkb3duLCBsZWZ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIExlbmd0aCBvZiB0aGUgdHJpYW5nbGUgJ2Jhc2UnIHNpZGVcbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbbnVsbF0gLSBIZWlnaHQgb2YgdHJpYW5nbGUuIE9taXQgZm9yIGVxdWlsYXRlcmFsLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlzcGxheSBbYmxvY2tdIC0gQ1NTIGRpc3BsYXkgcHJvcGVydHkgb2YgdGhlIGFycm93XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstc2hhcGUtYXJyb3coJGRpcmVjdGlvbiwgJGJhc2UsICRoZWlnaHQ6IG51bGwsICRkaXNwbGF5OiBibG9jaykge1xuICBkaXNwbGF5OiAkZGlzcGxheTtcblxuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuXG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIDFcblxuICAkcGVycGVuZGljdWxhcjogJGJhc2UgLyAyO1xuXG4gIEBpZiBub3QgJGhlaWdodCB7XG4gICAgJGhlaWdodDogX2dvdnVrLWVxdWlsYXRlcmFsLWhlaWdodCgkYmFzZSk7XG4gIH1cblxuICBAaWYgJGRpcmVjdGlvbiA9PSBcInVwXCIge1xuICAgIC13ZWJraXQtY2xpcC1wYXRoOiBwb2x5Z29uKDUwJSAwJSwgMCUgMTAwJSwgMTAwJSAxMDAlKTtcbiAgICAgICAgICAgIGNsaXAtcGF0aDogcG9seWdvbig1MCUgMCUsIDAlIDEwMCUsIDEwMCUgMTAwJSk7IC8vIDNcblxuICAgIGJvcmRlci13aWR0aDogMCAkcGVycGVuZGljdWxhciAkaGVpZ2h0O1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwicmlnaHRcIiB7XG4gICAgLXdlYmtpdC1jbGlwLXBhdGg6IHBvbHlnb24oMCUgMCUsIDEwMCUgNTAlLCAwJSAxMDAlKTtcbiAgICAgICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwJSAwJSwgMTAwJSA1MCUsIDAlIDEwMCUpOyAvLyAzXG5cbiAgICBib3JkZXItd2lkdGg6ICRwZXJwZW5kaWN1bGFyIDAgJHBlcnBlbmRpY3VsYXIgJGhlaWdodDtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogaW5oZXJpdDsgLy8gMlxuICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJkb3duXCIge1xuICAgIC13ZWJraXQtY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDAlLCA1MCUgMTAwJSwgMTAwJSAwJSk7XG4gICAgICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCUgMCUsIDUwJSAxMDAlLCAxMDAlIDAlKTsgLy8gM1xuXG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICRwZXJwZW5kaWN1bGFyIDAgJHBlcnBlbmRpY3VsYXI7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogaW5oZXJpdDsgLy8gMlxuICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJsZWZ0XCIge1xuICAgIC13ZWJraXQtY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDUwJSwgMTAwJSAxMDAlLCAxMDAlIDAlKTtcbiAgICAgICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwJSA1MCUsIDEwMCUgMTAwJSwgMTAwJSAwJSk7IC8vIDNcblxuICAgIGJvcmRlci13aWR0aDogJHBlcnBlbmRpY3VsYXIgJGhlaWdodCAkcGVycGVuZGljdWxhciAwO1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogaW5oZXJpdDsgLy8gMlxuICB9IEBlbHNlIHtcbiAgICBAZXJyb3IgXCJJbnZhbGlkIGFycm93IGRpcmVjdGlvbjogZXhwZWN0ZWQgYHVwYCwgYHJpZ2h0YCwgYGRvd25gIG9yIGBsZWZ0YCwgZ290IGAjeyRkaXJlY3Rpb259YFwiO1xuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9zaGFwZS1hcnJvdy5zY3NzLm1hcCAqL1xuIiwiQGltcG9ydCBcIi4uLy4uL2NvcmUvbGlzdHNcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9lcnJvci1zdW1tYXJ5XCIpIHtcbiAgLmdvdnVrLWVycm9yLXN1bW1hcnkge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcoNCk7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oOCwgXCJib3R0b21cIik7XG5cbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGggc29saWQgJGdvdnVrLWVycm9yLWNvbG91cjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogJGdvdnVrLWZvY3VzLXdpZHRoIHNvbGlkICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWVycm9yLXN1bW1hcnlfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250LXNpemUoJHNpemU6IDI0KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1ib2xkO1xuXG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig0LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay1lcnJvci1zdW1tYXJ5X19ib2R5IHtcbiAgICBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgPiAqICsgKiB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig0LCBcInRvcFwiKTtcbiAgICB9XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDEsIFwiYm90dG9tXCIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENyb3NzLWNvbXBvbmVudCBjbGFzcyAtIGFkanVzdHMgc3R5bGluZyBvZiBsaXN0IGNvbXBvbmVudFxuICAuZ292dWstZXJyb3Itc3VtbWFyeV9fbGlzdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgYm90dG9tIG1hcmdpbiBmcm9tIHRoZSBsYXN0IGxpc3QgaXRlbVxuICAuZ292dWstZXJyb3Itc3VtbWFyeV9fbGlzdCBsaTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmdvdnVrLWVycm9yLXN1bW1hcnlfX2xpc3QgYSB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLWVycm9yO1xuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9pbmRleC5zY3NzLm1hcCAqL1xuIiwiQGltcG9ydCBcIi4uL2J1dHRvbi9pbmRleFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2V4aXQtdGhpcy1wYWdlXCIpIHtcbiAgJGluZGljYXRvci1zaXplOiAwLjc1ZW07XG5cbiAgLmdvdnVrLWV4aXQtdGhpcy1wYWdlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig4LCBcImJvdHRvbVwiKTtcbiAgICBwb3NpdGlvbjogLXdlYmtpdC1zdGlja3k7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB6LWluZGV4OiAxMDAwO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWV4aXQtdGhpcy1wYWdlX19idXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAuZ292dWstZXhpdC10aGlzLXBhZ2VfX2luZGljYXRvciB7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1wYWRkaW5nKDIpO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6IDA7IC8vIHJlbW92ZXMgZXh0cmEgbmVnYXRpdmUgc3BhY2UgYmVsb3cgdGhlIGluZGljYXRvcnNcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICAuZ292dWstZXhpdC10aGlzLXBhZ2VfX2luZGljYXRvci0tdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAuZ292dWstZXhpdC10aGlzLXBhZ2VfX2luZGljYXRvci1saWdodCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6ICRpbmRpY2F0b3Itc2l6ZTtcbiAgICBoZWlnaHQ6ICRpbmRpY2F0b3Itc2l6ZTtcbiAgICBtYXJnaW46IDAgMC4xMjVlbTtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3JkZXItY29sb3I6IGN1cnJlbnRjb2xvcjtcbiAgfVxuXG4gIC5nb3Z1ay1leGl0LXRoaXMtcGFnZV9faW5kaWNhdG9yLWxpZ2h0LS1vbiB7XG4gICAgYm9yZGVyLXdpZHRoOiAkaW5kaWNhdG9yLXNpemUgLyAyO1xuICB9XG5cbiAgQG1lZGlhIG9ubHkgcHJpbnQge1xuICAgIC5nb3Z1ay1leGl0LXRoaXMtcGFnZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1leGl0LXRoaXMtcGFnZS1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogOTk5OTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ292dWstY29sb3VyKFwid2hpdGVcIik7XG4gIH1cblxuICAvLyBUaGlzIGNsYXNzIGlzIGFkZGVkIHRvIHRoZSBib2R5IHdoZW4gdGhlIEV4aXQgVGhpcyBQYWdlIGJ1dHRvbiBpcyBhY3RpdmF0ZWRcbiAgLy8gaW4gYWRkaXRpb24gdG8gdGhlIG92ZXJsYXkgdG8gYm90aCBibG9jayB0aGUgZW50aXJlIHNjcmVlbiBhbmQgaGlkZSBldmVyeXRoaW5nXG4gIC8vIHVuZGVybmVhdGggaXQuXG4gIC8vXG4gIC8vIFdlIGRvIHRoaXMgdG8gZW5zdXJlIHRoYXQgdXNlcnMgZG9uJ3QgcmlzayBpbnRlcmFjdGluZyB3aXRoIHRoZSBwYWdlIHVuZGVybmVhdGhcbiAgLy8gdGhlIG92ZXJsYXkgYmV0d2VlbiBhY3RpdmF0aW5nIHRoZSBidXR0b24gYW5kIG5hdmlnYXRpbmcgdG8gdGhlIG5leHQgcGFnZS5cbiAgLmdvdnVrLWV4aXQtdGhpcy1wYWdlLWhpZGUtY29udGVudCB7XG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgKiB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmdvdnVrLWV4aXQtdGhpcy1wYWdlLW92ZXJsYXkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2luZGV4LnNjc3MubWFwICovXG4iLCJAaW1wb3J0IFwiLi4vZXJyb3ItbWVzc2FnZS9pbmRleFwiO1xuQGltcG9ydCBcIi4uL2hpbnQvaW5kZXhcIjtcbkBpbXBvcnQgXCIuLi9sYWJlbC9pbmRleFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2ZpbGUtdXBsb2FkXCIpIHtcbiAgJGNvbXBvbmVudC1wYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDEpO1xuXG4gIC5nb3Z1ay1maWxlLXVwbG9hZCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogLSRjb21wb25lbnQtcGFkZGluZztcbiAgICBwYWRkaW5nOiAkY29tcG9uZW50LXBhZGRpbmc7XG5cbiAgICAvLyBUaGUgZGVmYXVsdCBmaWxlIHVwbG9hZCBidXR0b24gaW4gU2FmYXJpIGRvZXMgbm90IHN1cHBvcnQgc2V0dGluZyBhXG4gICAgLy8gY3VzdG9tIGZvbnQtc2l6ZS4gU2V0IGAtd2Via2l0LWFwcGVhcmFuY2VgIHRvIGBidXR0b25gIHRvIGRyb3Agb3V0IG9mIHRoZVxuICAgIC8vIG5hdGl2ZSBhcHBlYXJhbmNlIHNvIHRoZSBmb250LXNpemUgaXMgc2V0IHRvIDE5cHhcbiAgICAvLyBodHRwczovL3dlYmtpdC5vcmcvYi8yMjQ3NDZcbiAgICAmOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgZm9udDogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6ICRnb3Z1ay1mb2N1cy13aWR0aCBzb2xpZCAkZ292dWstZm9jdXMtY29sb3VyO1xuICAgICAgLy8gVXNlIGBib3gtc2hhZG93YCB0byBhZGQgYm9yZGVyIGluc3RlYWQgb2YgY2hhbmdpbmcgYGJvcmRlci13aWR0aGBcbiAgICAgIC8vICh3aGljaCBjaGFuZ2VzIGVsZW1lbnQgc2l6ZSkgYW5kIHNpbmNlIGBvdXRsaW5lYCBpcyBhbHJlYWR5IHVzZWQgZm9yXG4gICAgICAvLyB0aGUgeWVsbG93IGZvY3VzIHN0YXRlLlxuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgNHB4ICRnb3Z1ay1pbnB1dC1ib3JkZXItY29sb3VyO1xuICAgIH1cblxuICAgIC8vIFNldCBcImZvY3VzLXdpdGhpblwiIHRvIGZpeCBodHRwczovL2J1Z3ppbC5sYS8xNDMwMTk2IHNvIHRoYXQgY29tcG9uZW50XG4gICAgLy8gcmVjZWl2ZXMgZm9jdXMgaW4gRmlyZWZveC5cbiAgICAvLyBUaGlzIGNhbid0IGJlIHNldCB0b2dldGhlciB3aXRoIGA6Zm9jdXNgIGFzIGFsbCB2ZXJzaW9ucyBvZiBJRSBmYWlsXG4gICAgLy8gdG8gcmVjb2duaXNlIGBmb2N1cy13aXRoaW5gIGFuZCBkb24ndCBzZXQgYW55IHN0eWxlcyBmcm9tIHRoZSBibG9ja1xuICAgIC8vIHdoZW4gaXQncyBhIHNlbGVjdG9yLlxuICAgICY6Zm9jdXMtd2l0aGluIHtcbiAgICAgIG91dGxpbmU6ICRnb3Z1ay1mb2N1cy13aWR0aCBzb2xpZCAkZ292dWstZm9jdXMtY29sb3VyO1xuXG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCA0cHggJGdvdnVrLWlucHV0LWJvcmRlci1jb2xvdXI7XG4gICAgfVxuXG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1faW5kZXguc2Nzcy5tYXAgKi9cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvZm9vdGVyXCIpIHtcbiAgJGdvdnVrLWZvb3Rlci1iYWNrZ3JvdW5kOiAkZ292dWstY2FudmFzLWJhY2tncm91bmQtY29sb3VyO1xuICAkZ292dWstZm9vdGVyLWJvcmRlcjogJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gICRnb3Z1ay1mb290ZXItdGV4dDogJGdvdnVrLXRleHQtY29sb3VyO1xuXG4gIC8vIFJveWFsIEFybXMgaW1hZ2UgZGltZW5zaW9uc1xuICAkZ292dWstZm9vdGVyLWNyZXN0LWltYWdlLXdpZHRoOiAxMjVweDtcbiAgJGdvdnVrLWZvb3Rlci1jcmVzdC1pbWFnZS1oZWlnaHQ6IDEwMnB4O1xuXG4gIC5nb3Z1ay1mb290ZXIge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IGlmKCRnb3Z1ay1uZXctdHlwb2dyYXBoeS1zY2FsZSwgMTksIDE2KSk7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1wYWRkaW5nKDcsIFwidG9wXCIpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtcGFkZGluZyg1LCBcImJvdHRvbVwiKTtcblxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ292dWstZm9vdGVyLWJvcmRlcjtcbiAgICBjb2xvcjogJGdvdnVrLWZvb3Rlci10ZXh0O1xuICAgIGJhY2tncm91bmQ6ICRnb3Z1ay1mb290ZXItYmFja2dyb3VuZDtcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX2xpbmsge1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtdGV4dDtcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX3NlY3Rpb24tYnJlYWsge1xuICAgIG1hcmdpbjogMDsgLy8gUmVzZXQgYDxocj5gIGRlZmF1bHQgbWFyZ2luc1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDgsIFwiYm90dG9tXCIpO1xuICAgIGJvcmRlcjogMDsgLy8gUmVzZXQgYDxocj5gIGRlZmF1bHQgYm9yZGVyc1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ292dWstZm9vdGVyLWJvcmRlcjtcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX21ldGEge1xuICAgIGRpc3BsYXk6IGZsZXg7IC8vIFN1cHBvcnQ6IEZsZXhib3hcbiAgICBtYXJnaW4tcmlnaHQ6IC0kZ292dWstZ3V0dGVyLWhhbGY7XG4gICAgbWFyZ2luLWxlZnQ6IC0kZ292dWstZ3V0dGVyLWhhbGY7XG4gICAgZmxleC13cmFwOiB3cmFwOyAvLyBTdXBwb3J0OiBGbGV4Ym94XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyAvLyBTdXBwb3J0OiBGbGV4Ym94XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IC8vIFN1cHBvcnQ6IEZsZXhib3hcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX21ldGEtaXRlbSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZ292dWstZ3V0dGVyLWhhbGY7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZyg1KTtcbiAgICBtYXJnaW4tbGVmdDogJGdvdnVrLWd1dHRlci1oYWxmO1xuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fbWV0YS1pdGVtLS1ncm93IHtcbiAgICBmbGV4OiAxOyAvLyBTdXBwb3J0OiBGbGV4Ym94XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJHVudGlsOiB0YWJsZXQpIHtcbiAgICAgIGZsZXgtYmFzaXM6IDMyMHB4OyAvLyBTdXBwb3J0OiBGbGV4Ym94XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fbGljZW5jZS1sb2dvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCR1bnRpbDogZGVza3RvcCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgICB9XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAvLyBXb3JrIGFyb3VuZCBTVkdzIG5vdCBpbmhlcml0aW5nIGNvbG9yIGZyb20gcGFyZW50IGluIGZvcmNlZCBjb2xvciBtb2RlXG4gICAgLy8gKGh0dHBzOi8vZ2l0aHViLmNvbS93M2MvY3Nzd2ctZHJhZnRzL2lzc3Vlcy82MzEwKVxuICAgIGZvcmNlZC1jb2xvci1hZGp1c3Q6IGF1dG87XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19saWNlbmNlLWRlc2NyaXB0aW9uIHtcbiAgICAvLyBUaGlzIG1ha2VzIHRoZSBsaWNlbnNlIGRlc2NyaXB0aW9uIHJlZmxvdyB1bmRlciB0aGUgbG9nbyB3aGVuIHNwYWNlIGdldHMgdG9vIG5hcnJvd1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvLyBUaGlzIHByZXZlbnRzIHRoZSBkZXNjcmlwdGlvbiBmcm9tIGhhdmluZyBvcnBoYW5zIHdoZW4gc3BhY2UgaXMgbmFycm93IGVub3VnaFxuICAgIC8vIGFuZCBtYWtlcyB0aGUgdGV4dCByZWZsb3cgbW9yZSBuaWNlbHlcbiAgICB0ZXh0LXdyYXA6IGJhbGFuY2U7XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19jb3B5cmlnaHQtbG9nbyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1pbi13aWR0aDogJGdvdnVrLWZvb3Rlci1jcmVzdC1pbWFnZS13aWR0aDtcbiAgICBwYWRkaW5nLXRvcDogKCRnb3Z1ay1mb290ZXItY3Jlc3QtaW1hZ2UtaGVpZ2h0ICsgZ292dWstc3BhY2luZygyKSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogZ292dWstaW1hZ2UtdXJsKFwiZ292dWstY3Jlc3Quc3ZnXCIpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDAlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogJGdvdnVrLWZvb3Rlci1jcmVzdC1pbWFnZS13aWR0aCAkZ292dWstZm9vdGVyLWNyZXN0LWltYWdlLWhlaWdodDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX2lubGluZS1saXN0IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX21ldGEtY3VzdG9tIHtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDQpO1xuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9faW5saW5lLWxpc3QtaXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogZ292dWstc3BhY2luZygzKTtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9faGVhZGluZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZyg2KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZyg0KTtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCR1bnRpbDogdGFibGV0KSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgICB9XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1mb290ZXItYm9yZGVyO1xuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fbmF2aWdhdGlvbiB7XG4gICAgQGluY2x1ZGUgZ292dWstY2xlYXJmaXg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtJGdvdnVrLWd1dHRlci1oYWxmO1xuICAgIG1hcmdpbi1sZWZ0OiAtJGdvdnVrLWd1dHRlci1oYWxmO1xuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fc2VjdGlvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206ICRnb3Z1ay1ndXR0ZXI7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX2xpc3Qge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgY29sdW1uLWdhcDogJGdvdnVrLWd1dHRlcjsgLy8gU3VwcG9ydDogQ29sdW1uc1xuICB9XG5cbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IGRlc2t0b3ApIHtcbiAgICAuZ292dWstZm9vdGVyX19saXN0LS1jb2x1bW5zLTIge1xuICAgICAgY29sdW1uLWNvdW50OiAyOyAvLyBTdXBwb3J0OiBDb2x1bW5zXG4gICAgfVxuXG4gICAgLmdvdnVrLWZvb3Rlcl9fbGlzdC0tY29sdW1ucy0zIHtcbiAgICAgIGNvbHVtbi1jb3VudDogMzsgLy8gU3VwcG9ydDogQ29sdW1uc1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX2xpc3QtaXRlbSB7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19saXN0LWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1faW5kZXguc2Nzcy5tYXAgKi9cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvaGVhZGVyXCIpIHtcbiAgJGdvdnVrLWhlYWRlci1iYWNrZ3JvdW5kOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcbiAgJGdvdnVrLWhlYWRlci1ib3JkZXItY29sb3I6ICRnb3Z1ay1icmFuZC1jb2xvdXI7XG4gICRnb3Z1ay1oZWFkZXItYm9yZGVyLXdpZHRoOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAkZ292dWstaGVhZGVyLXRleHQ6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICAkZ292dWstaGVhZGVyLWxpbmstYWN0aXZlOiAjMWQ4ZmViO1xuICAkZ292dWstaGVhZGVyLW5hdi1pdGVtLWJvcmRlci1jb2xvcjogIzJlMzEzMztcbiAgJGdvdnVrLWhlYWRlci1saW5rLXVuZGVybGluZS10aGlja25lc3M6IDNweDtcbiAgJGdvdnVrLWhlYWRlci12ZXJ0aWNhbC1zcGFjaW5nLXZhbHVlOiAyO1xuICAvLyBUaGlzIGNyb3duIGhlaWdodCBpcyBvbmx5IHVzZWQgdG8gY2FsY3VsYXRlIHRvcCBvZmZzZXQgb2YgbW9iaWxlIG1lbnUgYnV0dG9uXG4gIC8vIGFzIHRoZSBjcm93biBzdmcgaGVpZ2h0IGlzIHRoZSBvbmx5IHRoaW5nIHRoYXQgY29udHJvbHMgdGhlIGhlaWdodCBvZiB0aGUgaGVhZGVyXG4gICRnb3Z1ay1oZWFkZXItY3Jvd24taGVpZ2h0OiAzMHB4O1xuICAkZ292dWstaGVhZGVyLW1lbnUtYnV0dG9uLWhlaWdodDogMjRweDtcbiAgJGdvdnVrLWhlYWRlci1tZW51LWJ1dHRvbi13aWR0aDogODBweDtcblxuICAuZ292dWstaGVhZGVyIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxNiwgJGxpbmUtaGVpZ2h0OiAxKTtcblxuICAgIGJvcmRlci1ib3R0b206IGdvdnVrLXNwYWNpbmcoMikgc29saWQgZ292dWstY29sb3VyKFwid2hpdGVcIik7XG4gICAgY29sb3I6ICRnb3Z1ay1oZWFkZXItdGV4dDtcbiAgICBiYWNrZ3JvdW5kOiAkZ292dWstaGVhZGVyLWJhY2tncm91bmQ7XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19jb250YWluZXItLWZ1bGwtd2lkdGgge1xuICAgIHBhZGRpbmc6IDAgZ292dWstc3BhY2luZygzKTtcbiAgICBib3JkZXItY29sb3I6ICRnb3Z1ay1oZWFkZXItYm9yZGVyLWNvbG9yO1xuXG4gICAgLmdvdnVrLWhlYWRlcl9fbWVudS1idXR0b24ge1xuICAgICAgcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1jbGVhcmZpeDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogLSRnb3Z1ay1oZWFkZXItYm9yZGVyLXdpZHRoO1xuICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKCRnb3Z1ay1oZWFkZXItdmVydGljYWwtc3BhY2luZy12YWx1ZSk7XG4gICAgYm9yZGVyLWJvdHRvbTogJGdvdnVrLWhlYWRlci1ib3JkZXItd2lkdGggc29saWQgJGdvdnVrLWhlYWRlci1ib3JkZXItY29sb3I7XG4gIH1cblxuICAuZ292dWstaGVhZGVyLS1mdWxsLXdpZHRoLWJvcmRlciB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGdvdnVrLWhlYWRlci1ib3JkZXItY29sb3I7XG5cbiAgICAuZ292dWstaGVhZGVyX19jb250YWluZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbG9nb3R5cGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtM3B4O1xuXG4gICAgLy8gQWRkIGEgZ2FwIGFmdGVyIHRoZSBsb2dvIGluIGNhc2UgaXQncyBmb2xsb3dlZCBieSBhIHByb2R1Y3QgbmFtZS4gVGhpc1xuICAgIC8vIGdldHMgcmVtb3ZlZCBsYXRlciBpZiB0aGUgbG9nb3R5cGUgaXMgYSA6bGFzdC1jaGlsZC5cbiAgICBtYXJnaW4tcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMSk7XG4gICAgZmlsbDogY3VycmVudGNvbG9yO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cbiAgICAvLyBQcmV2ZW50IHJlYWRhYmlsaXR5IGJhY2twbGF0ZSBmcm9tIG9ic2N1cmluZyB1bmRlcmxpbmUgaW4gV2luZG93cyBIaWdoXG4gICAgLy8gQ29udHJhc3QgTW9kZVxuICAgIEBtZWRpYSAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gICAgICBmb3JjZWQtY29sb3ItYWRqdXN0OiBub25lO1xuICAgICAgY29sb3I6IGxpbmt0ZXh0O1xuICAgIH1cblxuICAgIC8vIFJlbW92ZSB0aGUgZ2FwIGFmdGVyIHRoZSBsb2dvIGlmIHRoZXJlJ3Mgbm8gcHJvZHVjdCBuYW1lIHRvIGtlZXAgaG92ZXJcbiAgICAvLyBhbmQgZm9jdXMgc3RhdGVzIG5lYXRcbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX3Byb2R1Y3QtbmFtZSB7XG4gICAgJHByb2R1Y3QtbmFtZS1vZmZzZXQ6IGlmKCRnb3Z1ay1uZXctdHlwb2dyYXBoeS1zY2FsZSwgN3B4LCAxMHB4KTtcbiAgICAkcHJvZHVjdC1uYW1lLW9mZnNldC10YWJsZXQ6IDVweDtcblxuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQtc2l6ZSgkc2l6ZTogMjQsICRsaW5lLWhlaWdodDogMSk7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtcmVndWxhcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7XG5cbiAgICAvLyBNYWludGFpbiBzcGFjZSBiZWxvdyBsb2dvIHdoZW4gd3JhcHBlZFxuICAgIG1hcmdpbi10b3A6ICRwcm9kdWN0LW5hbWUtb2Zmc2V0O1xuXG4gICAgLy8gRmlyZWZveCBwbGFjZXMgdGhlIEdPVi5VSyBsb2dvIG9uZSBwaXhlbCBoaWdoZXIsIGR1ZSB0byBob3cgaXQgcm91bmRzXG4gICAgLy8gc3VicGl4ZWxzLCBzbyBudWRnZSB0aGUgcHJvZHVjdCBuYW1lIGluIEZGIHRvIHN0aWxsIGJlIGFsaWduZWQuXG4gICAgQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcbiAgICAgIG1hcmdpbi10b3A6ICRwcm9kdWN0LW5hbWUtb2Zmc2V0IC0gMC41cHg7XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gdmVydGljYWxseSB3aXRoIGxvZ28gd2hlbiBub3Qgd3JhcHBlZFxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBtYXJnaW4tdG9wOiAkcHJvZHVjdC1uYW1lLW9mZnNldC10YWJsZXQ7XG4gICAgICBALW1vei1kb2N1bWVudCB1cmwtcHJlZml4KCkge1xuICAgICAgICBtYXJnaW4tdG9wOiAkcHJvZHVjdC1uYW1lLW9mZnNldC10YWJsZXQgLSAwLjVweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19saW5rIHtcbiAgICAvLyBBdm9pZCB1c2luZyB0aGUgYGdvdnVrLWxpbmstY29tbW9uYCBtaXhpbiBiZWNhdXNlIHRoZSBsaW5rcyBpbiB0aGUgaGVhZGVyXG4gICAgLy8gZ2V0IGEgc3BlY2lhbCB0cmVhdG1lbnQsIGJlY2F1c2U6XG4gICAgLy9cbiAgICAvLyAtIHVuZGVybGluZXMgYXJlIG9ubHkgdmlzaWJsZSBvbiBob3ZlclxuICAgIC8vIC0gYWxsIGxpbmtzIGdldCBhIDNweCB1bmRlcmxpbmUgcmVnYXJkbGVzcyBvZiB0ZXh0IHNpemUsIGFzIHRoZXJlIGFyZVxuICAgIC8vICAgbXVsdGlwbGUgZ3JvdXBlZCBlbGVtZW50cyBjbG9zZSB0byBvbmUgYW5vdGhlciBhbmQgaGF2aW5nIHNsaWdodGx5XG4gICAgLy8gICBkaWZmZXJlbnQgdW5kZXJsaW5lIHdpZHRocyBsb29rcyB1bmJhbGFuY2VkXG4gICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1pbnZlcnNlO1xuXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6ICRnb3Z1ay1oZWFkZXItbGluay11bmRlcmxpbmUtdGhpY2tuZXNzO1xuXG4gICAgICBAaWYgJGdvdnVrLWxpbmstdW5kZXJsaW5lLW9mZnNldCB7XG4gICAgICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogJGdvdnVrLWxpbmstdW5kZXJsaW5lLW9mZnNldDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLWZvY3VzZWQtdGV4dDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19saW5rLS1ob21lcGFnZSB7XG4gICAgLy8gRm9udCBzaXplIG5lZWRzIHRvIGJlIHNldCBvbiB0aGUgbGluayBzbyB0aGF0IHRoZSBib3ggc2l6aW5nIGlzIGNvcnJlY3RcbiAgICAvLyBpbiBGaXJlZm94XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogZ292dWstc3BhY2luZygyKTtcbiAgICBmb250LXNpemU6IDMwcHg7IC8vIFdlIGRvbid0IGhhdmUgYSBtaXhpbiB0aGF0IHByb2R1Y2VzIDMwcHggZm9udCBzaXplXG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogZGVza3RvcCkge1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgLy8gUmVwbGljYXRlIHRoZSBmb2N1cyBib3ggc2hhZG93IGJ1dCB3aXRob3V0IHRoZSAtMnB4IHktb2Zmc2V0IG9mIHRoZSBmaXJzdCB5ZWxsb3cgc2hhZG93XG4gICAgICAgIC8vIFRoaXMgaXMgdG8gc3RvcCB0aGUgbG9nbyBnZXR0aW5nIGN1dCBvZmYgYnkgdGhlIGJveCBzaGFkb3cgd2hlbiBmb2N1c2VkIG9uIGFib3ZlIGEgcHJvZHVjdCBuYW1lXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAkZ292dWstZm9jdXMtY29sb3VyO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bGluayxcbiAgICAmOnZpc2l0ZWQge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUge1xuICAgICAgLy8gTmVnYXRlIHRoZSBhZGRlZCBib3JkZXJcbiAgICAgIG1hcmdpbi1ib3R0b206ICRnb3Z1ay1oZWFkZXItbGluay11bmRlcmxpbmUtdGhpY2tuZXNzICogLTE7XG4gICAgICBib3JkZXItYm90dG9tOiAkZ292dWstaGVhZGVyLWxpbmstdW5kZXJsaW5lLXRoaWNrbmVzcyBzb2xpZDtcbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgYW55IGJvcmRlcnMgdGhhdCBzaG93IHdoZW4gZm9jdXNlZCBhbmQgaG92ZXJlZC5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX3NlcnZpY2UtbmFtZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udC1zaXplKCRzaXplOiAyNCk7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZDtcbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX2xvZ28sXG4gIC5nb3Z1ay1oZWFkZXJfX2NvbnRlbnQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19sb2dvIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbigkZ292dWstaGVhZGVyLXZlcnRpY2FsLXNwYWNpbmctdmFsdWUsIFwiYm90dG9tXCIpO1xuICAgIC8vIFByb3RlY3QgdGhlIGFic29sdXRlIHBvc2l0aW9uZWQgbWVudSBidXR0b24gZnJvbSBvdmVybGFwcGluZyB3aXRoIHRoZVxuICAgIC8vIGxvZ28gd2l0aCByaWdodCBwYWRkaW5nIHVzaW5nIHRoZSBidXR0b24ncyB3aWR0aFxuICAgIHBhZGRpbmctcmlnaHQ6ICRnb3Z1ay1oZWFkZXItbWVudS1idXR0b24td2lkdGg7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogZGVza3RvcCkge1xuICAgICAgd2lkdGg6IDMzLjMzJTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRnb3Z1ay1ndXR0ZXItaGFsZjtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcblxuICAgICAgLy8gUmVzZXQgZmxvYXQgd2hlbiBsb2dvIGlzIHRoZSBsYXN0IGNoaWxkLCB3aXRob3V0IGEgbmF2aWdhdGlvblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX2NvbnRlbnQge1xuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiBkZXNrdG9wKSB7XG4gICAgICB3aWR0aDogNjYuNjYlO1xuICAgICAgcGFkZGluZy1sZWZ0OiAkZ292dWstZ3V0dGVyLWhhbGY7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19tZW51LWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTYpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAvLyBjYWxjdWxhdGUgdG9wIG9mZnNldCBieTpcbiAgICAvLyAtIGdldHRpbmcgdGhlIHZlcnRpY2FsIHNwYWNpbmcgZm9yIHRoZSB0b3AgYW5kIHRoZSBib3R0b20gb2YgdGhlIGhlYWRlclxuICAgIC8vIC0gYWRkaW5nIHRoYXQgdG8gdGhlIGNyb3duIGhlaWdodFxuICAgIC8vIC0gZGl2aWRpbmcgaXQgYnkgMiBzbyB5b3UgaGF2ZSB0aGUgdmVydGljYWwgY2VudHJlIG9mIHRoZSBoZWFkZXJcbiAgICAvLyAtIHN1YnRyYWN0aW5nIGhhbGYgdGhlIGhlaWdodCBvZiB0aGUgbWVudSBidXR0b25cbiAgICB0b3A6ICgoKGdvdnVrLXNwYWNpbmcoJGdvdnVrLWhlYWRlci12ZXJ0aWNhbC1zcGFjaW5nLXZhbHVlKSAqIDIpICsgJGdvdnVrLWhlYWRlci1jcm93bi1oZWlnaHQpIC8gMikgLVxuICAgICAgKCRnb3Z1ay1oZWFkZXItbWVudS1idXR0b24taGVpZ2h0IC8gMik7XG4gICAgcmlnaHQ6IDA7XG4gICAgbWF4LXdpZHRoOiAkZ292dWstaGVhZGVyLW1lbnUtYnV0dG9uLXdpZHRoO1xuICAgIG1pbi1oZWlnaHQ6ICRnb3Z1ay1oZWFkZXItbWVudS1idXR0b24taGVpZ2h0O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBjb2xvcjogZ292dWstY29sb3VyKFwid2hpdGVcIik7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogc29saWQgdW5kZXJsaW5lICRnb3Z1ay1oZWFkZXItbGluay11bmRlcmxpbmUtdGhpY2tuZXNzO1xuICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHNvbGlkIHVuZGVybGluZSAkZ292dWstaGVhZGVyLWxpbmstdW5kZXJsaW5lLXRoaWNrbmVzcztcblxuICAgICAgQGlmICRnb3Z1ay1saW5rLXVuZGVybGluZS1vZmZzZXQge1xuICAgICAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6ICRnb3Z1ay1saW5rLXVuZGVybGluZS1vZmZzZXQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2VkLXRleHQ7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgZ292dWstc2hhcGUtYXJyb3coJGRpcmVjdGlvbjogZG93biwgJGJhc2U6IDEwcHgsICRkaXNwbGF5OiBpbmxpbmUtYmxvY2spO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIG1hcmdpbi1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgIH1cblxuICAgICZbYXJpYS1leHBhbmRlZD1cInRydWVcIl06OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLXNoYXBlLWFycm93KCRkaXJlY3Rpb246IHVwLCAkYmFzZTogMTBweCwgJGRpc3BsYXk6IGlubGluZS1ibG9jayk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgdG9wOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIH1cblxuICAgIC5nb3Z1ay1mcm9udGVuZC1zdXBwb3J0ZWQgJiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmW2hpZGRlbl0sXG4gICAgLmdvdnVrLWZyb250ZW5kLXN1cHBvcnRlZCAmW2hpZGRlbl0ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19uYXZpZ2F0aW9uIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogZGVza3RvcCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19uYXZpZ2F0aW9uLWxpc3Qge1xuICAgIC8vIFJlc2V0IHVzZXItYWdlbnQgZGVmYXVsdCBsaXN0IHN0eWxlc1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICAmW2hpZGRlbl0ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19uYXZpZ2F0aW9uLS1lbmQge1xuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiBkZXNrdG9wKSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDEpIDA7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19uYXZpZ2F0aW9uLWl0ZW0ge1xuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMikgMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvdnVrLWhlYWRlci1uYXYtaXRlbS1ib3JkZXItY29sb3I7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogZGVza3RvcCkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgICAgcGFkZGluZzogZ292dWstc3BhY2luZygxKSAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgQGluY2x1ZGUgZ292dWstZm9udC1zaXplKCRzaXplOiAxNik7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1ib2xkO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19uYXZpZ2F0aW9uLWl0ZW0tLWFjdGl2ZSB7XG4gICAgYSB7XG4gICAgICAmOmxpbmssXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjp2aXNpdGVkIHtcbiAgICAgICAgY29sb3I6ICRnb3Z1ay1oZWFkZXItbGluay1hY3RpdmU7XG4gICAgICB9XG5cbiAgICAgIC8vIFdoZW4gcHJpbnRpbmcsIHVzZSB0aGUgbm9ybWFsIGJsdWUgYXMgdGhpcyBjb250cmFzdHMgYmV0dGVyIHdpdGggdGhlXG4gICAgICAvLyB3aGl0ZSBwcmludGluZyBoZWFkZXJcbiAgICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRtZWRpYS10eXBlOiBwcmludCkge1xuICAgICAgICBjb2xvcjogJGdvdnVrLWJyYW5kLWNvbG91cjtcbiAgICAgIH1cblxuICAgICAgLy8gV2hlbiBmb2N1c3NlZCwgdGhlIHRleHQgY29sb3VyIG5lZWRzIHRvIGJlIGRhcmtlciB0byBlbnN1cmUgdGhhdCBjb2xvdXJcbiAgICAgIC8vIGNvbnRyYXN0IGlzIHN0aWxsIGFjY2VwdGFibGVcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX25hdmlnYXRpb24taXRlbTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRtZWRpYS10eXBlOiBwcmludCkge1xuICAgIC5nb3Z1ay1oZWFkZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICAgIGNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC5nb3Z1ay1oZWFkZXJfX2xpbmsge1xuICAgICAgJjpsaW5rLFxuICAgICAgJjp2aXNpdGVkIHtcbiAgICAgICAgY29sb3I6IGdvdnVrLWNvbG91cihcImJsYWNrXCIpO1xuICAgICAgfVxuXG4gICAgICAvLyBEbyBub3QgYXBwZW5kIGxpbmsgaHJlZiB0byBHT1YuVUsgbGluayB3aGVuIHByaW50aW5nIChlLmcuICcoLyknKVxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1faW5kZXguc2Nzcy5tYXAgKi9cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvaW5zZXQtdGV4dFwiKSB7XG4gIC5nb3Z1ay1pbnNldC10ZXh0IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgcGFkZGluZzogZ292dWstc3BhY2luZygzKTtcbiAgICAvLyBNYXJnaW4gdG9wIGludGVuZGVkIHRvIGNvbGxhcHNlXG4gICAgLy8gVGhpcyBhZGRzIGFuIGFkZGl0aW9uYWwgMTBweCB0byB0aGUgcGFyYWdyYXBoIGFib3ZlXG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJ0b3BcIik7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIik7XG5cbiAgICBjbGVhcjogYm90aDtcblxuICAgIGJvcmRlci1sZWZ0OiAkZ292dWstYm9yZGVyLXdpZHRoLXdpZGUgc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG5cbiAgICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cblxuICAgID4gOm9ubHktY2hpbGQsXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1faW5kZXguc2Nzcy5tYXAgKi9cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvbm90aWZpY2F0aW9uLWJhbm5lclwiKSB7XG4gIC5nb3Z1ay1ub3RpZmljYXRpb24tYmFubmVyIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oOCwgXCJib3R0b21cIik7XG5cbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGggc29saWQgJGdvdnVrLWJyYW5kLWNvbG91cjtcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1icmFuZC1jb2xvdXI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6ICRnb3Z1ay1mb2N1cy13aWR0aCBzb2xpZCAkZ292dWstZm9jdXMtY29sb3VyO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1ub3RpZmljYXRpb24tYmFubmVyX19oZWFkZXIge1xuICAgIHBhZGRpbmc6IDJweCBnb3Z1ay1zcGFjaW5nKDMpIGdvdnVrLXNwYWNpbmcoMSk7XG5cbiAgICAvLyBFbnN1cmVzIHRoZSBub3RpZmljYXRpb24gaGVhZGVyIGFwcGVhcnMgc2VwYXJhdGUgdG8gdGhlIG5vdGlmaWNhdGlvbiBib2R5XG4gICAgLy8gdGV4dCBpbiBoaWdoIGNvbnRyYXN0IG1vZGVcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBwYWRkaW5nOiAycHggZ292dWstc3BhY2luZyg0KSBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1ub3RpZmljYXRpb24tYmFubmVyX190aXRsZSB7XG4gICAgLy8gU2V0IHRoZSBzaXplIGFnYWluIGJlY2F1c2UgdGhpcyBlbGVtZW50IGlzIGEgaGVhZGluZyBhbmQgdGhlIHVzZXIgYWdlbnRcbiAgICAvLyBmb250IHNpemUgb3ZlcnJpZGVzIHRoZSBpbmhlcml0ZWQgZm9udCBzaXplXG4gICAgQGluY2x1ZGUgZ292dWstZm9udC1zaXplKCRzaXplOiAxOSk7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBjb2xvcjogZ292dWstY29sb3VyKFwid2hpdGVcIik7XG4gIH1cblxuICAuZ292dWstbm90aWZpY2F0aW9uLWJhbm5lcl9fY29udGVudCB7XG4gICAgJHBhZGRpbmctdGFibGV0OiBnb3Z1ay1zcGFjaW5nKDQpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMyk7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstYm9keS1iYWNrZ3JvdW5kLWNvbG91cjtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmc6ICRwYWRkaW5nLXRhYmxldDtcbiAgICB9XG5cbiAgICAvLyBXcmFwIGNvbnRlbnQgYXQgdGhlIHNhbWUgcGxhY2UgdGhhdCBhIDIvMyBncmlkIGNvbHVtbiBlbmRzLCB0byBtYWludGFpblxuICAgIC8vIHNob3J0ZXIgbGluZS1sZW5ndGhzIHdoZW4gdGhlIG5vdGlmaWNhdGlvbiBiYW5uZXIgaXMgZnVsbCB3aWR0aFxuICAgID4gKiB7XG4gICAgICAvLyBXaGVuIGVsZW1lbnRzIGhhdmUgdGhlaXIgb3duIHBhZGRpbmcgKGxpa2UgbGlzdHMpLCBpbmNsdWRlIHRoZSBwYWRkaW5nXG4gICAgICAvLyBpbiB0aGUgbWF4LXdpZHRoIGNhbGN1bGF0aW9uXG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgICAvLyBDYWxjdWxhdGUgdGhlIGludGVybmFsIHdpZHRoIG9mIGEgdHdvLXRoaXJkcyBjb2x1bW4uLi5cbiAgICAgICR0d28tY29sLXdpZHRoOiAoJGdvdnVrLXBhZ2Utd2lkdGggKiAyIC8gMykgLSAoJGdvdnVrLWd1dHRlciAqIDEgLyAzKTtcblxuICAgICAgLy8gLi4uYW5kIHRoZW4gZmFjdG9yIGluIHRoZSBsZWZ0IGJvcmRlciBhbmQgcGFkZGluZ1xuICAgICAgJGJhbm5lci1leHRlcmlvcjogKCRwYWRkaW5nLXRhYmxldCArICRnb3Z1ay1ib3JkZXItd2lkdGgpO1xuICAgICAgbWF4LXdpZHRoOiAkdHdvLWNvbC13aWR0aCAtICRiYW5uZXItZXh0ZXJpb3I7XG4gICAgfVxuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1ub3RpZmljYXRpb24tYmFubmVyX19oZWFkaW5nIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250LXNpemUoJHNpemU6IDI0KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1ib2xkO1xuXG4gICAgbWFyZ2luOiAwIDAgZ292dWstc3BhY2luZygzKTtcblxuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAuZ292dWstbm90aWZpY2F0aW9uLWJhbm5lcl9fbGluayB7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1uby12aXNpdGVkLXN0YXRlO1xuICB9XG5cbiAgLmdvdnVrLW5vdGlmaWNhdGlvbi1iYW5uZXItLXN1Y2Nlc3Mge1xuICAgIGJvcmRlci1jb2xvcjogJGdvdnVrLXN1Y2Nlc3MtY29sb3VyO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLXN1Y2Nlc3MtY29sb3VyO1xuXG4gICAgLmdvdnVrLW5vdGlmaWNhdGlvbi1iYW5uZXJfX2xpbmsge1xuICAgICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1zdWNjZXNzO1xuICAgIH1cbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1faW5kZXguc2Nzcy5tYXAgKi9cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvcGFnaW5hdGlvblwiKSB7XG4gIC8vIEZsZXhib3ggZW5oYW5jZW1lbnQgZm9yIHNtYWxsIHNjcmVlbiB2aXN1YWwgZGVzaWduXG4gIC8vIEZhbGxzIGJhY2sgdG8gYSBmbG9hdDogbGVmdCBsYXlvdXQgb24gbm9uLWZsZXggYnJvd3NlcnNcbiAgLmdvdnVrLXBhZ2luYXRpb24ge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstcGFnaW5hdGlvbl9fbGlzdCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgfVxuXG4gIC5nb3Z1ay1wYWdpbmF0aW9uX19pdGVtLFxuICAuZ292dWstcGFnaW5hdGlvbl9fbmV4dCxcbiAgLmdvdnVrLXBhZ2luYXRpb25fX3ByZXYge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoMTkpO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1pbi13aWR0aDogNDVweDtcbiAgICBtaW4taGVpZ2h0OiA0NXB4O1xuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMikgZ292dWstc3BhY2luZygzKTtcbiAgICBmbG9hdDogbGVmdDsgLy8gRmxvYXQgaXMgaWdub3JlZCBpZiBmbGV4IGlzIGFjdGl2ZSBmb3IgcHJldi9uZXh0IGxpbmtzXG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGdvdnVrLWNvbG91cihcImxpZ2h0LWdyZXlcIik7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXBhZ2luYXRpb25fX2l0ZW0ge1xuICAgIC8vIEhpZGUgaXRlbXMgb24gc21hbGwgc2NyZWVucyBleGNlcHQgdGhlIHByZXYvbmV4dCBpdGVtcyxcbiAgICAvLyBub24tbGluayBpdGVtcyBhbmQgdGhlIGZpcnN0IGFuZCBsYXN0IGl0ZW1zXG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIC8vIENlbnRlciBhbGlnbiBwYWdpbmF0aW9uIGxpbmtzIGluIHRoZWlyIHBhcmVudCBsaXN0IGl0ZW0gc28gdGhhdCB0aGV5XG4gICAgLy8gdmlzdWFsbHkgc2l0IGluIHRoZSBtaWRkbGUgb2YgdGhlaXIgdG91Y2ggYXJlYVxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1wYWdpbmF0aW9uX19wcmV2LFxuICAuZ292dWstcGFnaW5hdGlvbl9fbmV4dCB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZDtcblxuICAgIC8vIFVzZSBmbGV4IHRvIGF2b2lkIGV4dHJhIHNwYWNlIGJlaW5nIGludHJvZHVjZWQgd2hlbiB3aGl0ZXNwYWNlIGV4aXN0c1xuICAgIC8vIGJldHdlZW4gdGhlIGFycm93IHN2ZyBhbmQgdGhlIGxpbmsgdGV4dFxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1wYWdpbmF0aW9uX19wcmV2IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICAuZ292dWstcGFnaW5hdGlvbl9fbmV4dCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuXG4gIC8vIE9ubHkgc2hvdyBmaXJzdCwgbGFzdCBhbmQgbm9uLWxpbmsgaXRlbXMgb24gbW9iaWxlXG4gIC5nb3Z1ay1wYWdpbmF0aW9uX19pdGVtLS1jdXJyZW50LFxuICAuZ292dWstcGFnaW5hdGlvbl9faXRlbS0tZWxsaXBzZXMsXG4gIC5nb3Z1ay1wYWdpbmF0aW9uX19pdGVtOmZpcnN0LWNoaWxkLFxuICAuZ292dWstcGFnaW5hdGlvbl9faXRlbTpsYXN0LWNoaWxkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC5nb3Z1ay1wYWdpbmF0aW9uX19pdGVtLS1jdXJyZW50IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1ib2xkO1xuICAgIG91dGxpbmU6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstbGluay1jb2xvdXI7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1saW5rLWNvbG91cjtcbiAgICB9XG5cbiAgICAuZ292dWstcGFnaW5hdGlvbl9fbGluayB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLWludmVyc2U7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXBhZ2luYXRpb25fX2l0ZW0tLWVsbGlwc2VzIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1ib2xkO1xuICAgIGNvbG9yOiAkZ292dWstc2Vjb25kYXJ5LXRleHQtY29sb3VyO1xuXG4gICAgLy8gUmVtb3ZlIGhvdmVyIHN0YXRlIGZvciBlbGxpcHNpcyBpdGVtcyBhcyB0aGV5IGRvbid0IGNvbnRhaW4gbGlua3NcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtaW4td2lkdGg6IGdvdnVrLXNwYWNpbmcoMyk7XG5cbiAgICAvLyBJbmNyZWFzZSB0aGUgdG91Y2ggYXJlYSBmb3IgdGhlIGxpbmsgdG8gdGhlIHBhcmVudCBlbGVtZW50LlxuICAgIEBtZWRpYSBzY3JlZW4ge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBZGQgbGluayBob3ZlciBkZWNvcmF0aW9uIHRvIHByZXYvbmV4dCB0ZXh0IGlmIG5vIGxhYmVsIHByZXNlbnQgb25cbiAgICAvLyBwcmV2L25leHQgb25seSBtb2RlLCAgc28gdGhhdCB3ZSBoYXZlIGEgaG92ZXIgc3RhdGUgaW4gYWxsIGNhc2VzXG4gICAgJjpob3ZlcixcbiAgICAmOmFjdGl2ZSB7XG4gICAgICAuZ292dWstcGFnaW5hdGlvbl9fbGluay10aXRsZS0tZGVjb3JhdGVkIHtcbiAgICAgICAgQGluY2x1ZGUgZ292dWstbGluay1kZWNvcmF0aW9uO1xuICAgICAgfVxuXG4gICAgICAuZ292dWstcGFnaW5hdGlvbl9fbGluay1sYWJlbCxcbiAgICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rLXRpdGxlLS1kZWNvcmF0ZWQge1xuICAgICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWhvdmVyLWRlY29yYXRpb247XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICAuZ292dWstcGFnaW5hdGlvbl9faWNvbiB7XG4gICAgICAgIGNvbG9yOiAkZ292dWstZm9jdXMtdGV4dC1jb2xvdXI7XG4gICAgICB9XG5cbiAgICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rLWxhYmVsIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgfVxuXG4gICAgICAuZ292dWstcGFnaW5hdGlvbl9fbGluay10aXRsZS0tZGVjb3JhdGVkIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rLWxhYmVsIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1yZWd1bGFyO1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstZGVjb3JhdGlvbjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cblxuICAuZ292dWstcGFnaW5hdGlvbl9faWNvbiB7XG4gICAgLy8gU2V0IHNpemUgdXNpbmcgcmVtcyB0byBtYWtlIHRoZSBpY29uIHNjYWxlIHdpdGggdGV4dFxuICAgIHdpZHRoOiBnb3Z1ay1weC10by1yZW0oMTVweCk7XG4gICAgaGVpZ2h0OiBnb3Z1ay1weC10by1yZW0oMTNweCk7XG4gICAgY29sb3I6ICRnb3Z1ay1zZWNvbmRhcnktdGV4dC1jb2xvdXI7XG4gICAgZmlsbDogY3VycmVudGNvbG9yO1xuICAgIGZvcmNlZC1jb2xvci1hZGp1c3Q6IGF1dG87XG4gIH1cblxuICAuZ292dWstcGFnaW5hdGlvbl9faWNvbi0tcHJldiB7XG4gICAgbWFyZ2luLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDMpO1xuICB9XG5cbiAgLmdvdnVrLXBhZ2luYXRpb25fX2ljb24tLW5leHQge1xuICAgIG1hcmdpbi1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDMpO1xuICB9XG5cbiAgLy8gQmxvY2sgbW9kZSAtIHBvc2l0aW9uIHByZXZpb3VzIGFuZCBuZXh0IGxpbmtzIGFib3ZlIGFuZCBiZWxvdyBudW1iZXJzXG4gIC5nb3Z1ay1wYWdpbmF0aW9uLS1ibG9jayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAuZ292dWstcGFnaW5hdGlvbl9fbmV4dCxcbiAgICAuZ292dWstcGFnaW5hdGlvbl9fcHJldiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBmbG9hdDogbm9uZTtcblxuICAgICAgLmdvdnVrLXBhZ2luYXRpb25fX2xpbmsge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX25leHQge1xuICAgICAgcGFkZGluZy1yaWdodDogZ292dWstc3BhY2luZygzKTtcbiAgICB9XG5cbiAgICAvLyBPbmx5IGFwcGx5IGEgYm9yZGVyIGJldHdlZW4gcHJldiBhbmQgbmV4dCBpZiBib3RoIGFyZSBwcmVzZW50XG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX3ByZXYgKyAuZ292dWstcGFnaW5hdGlvbl9fbmV4dCB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gICAgfVxuXG4gICAgLy8gU2V0IHRoZSBhZnRlciBwc2V1ZG8gZWxlbWVudCB0byBhIGJsb2NrIHdoaWNoIG1ha2VzIHRoZSB0aXRsZSB2aXN1YWxseVxuICAgIC8vIGRpc3BsYXkgYXMgYmxvY2sgbGV2ZWwgd2hpbHN0IHByb2dyYW1tYXRpY2FsbHkgYmVpbmcgaW5saW5lLiBXZSBkbyB0aGlzXG4gICAgLy8gdG8gZ2V0IGFyb3VuZCBhbiBOVkRBIHF1aXJrIHdoZXJlIGFkamFjZW50IGJsb2NrIGxldmVsIGVsZW1lbnRzIGFyZVxuICAgIC8vIGFsd2F5cyByZWFkIG91dCBzZXBhcmF0ZWx5XG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX2xpbmstdGl0bGU6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuZ292dWstcGFnaW5hdGlvbl9fbGluayB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IGdvdnVrLXNwYWNpbmcoNik7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAmOm5vdCg6Zm9jdXMpIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19pY29uIHtcbiAgICAgIC8vIFRoaXMgbWFnaWMgbnVtYmVyIGlzIGJyb3VnaHQgdG8geW91IGJ5IHRoZSBmb2xsb3dpbmcgZXF1YXRpb246XG4gICAgICAvLyAoKGxpbmVIZWlnaHQg4oiSIGFycm93SGVpZ2h0KSDDtyAyKSDDtyBmb250U2l6ZVxuICAgICAgLy8gKCgyNSDiiJIgMTMpIMO3IDIpIMO3IDE5ID0gMC4zMjZlbVxuICAgICAgLy9cbiAgICAgIC8vIFRoaXMgY291bGQgaGF2ZSBiZWVuIGRvbmUgcHJvZ3JhbW1hdGljYWxseSBidXQgd2UgZG9uJ3QgaGF2ZSBmdW5jdGlvbnNcbiAgICAgIC8vIGZvciBncmFiYmluZyB0aGUgbGluZS1oZWlnaHQgb2Ygc3BlY2lmaWMgdHlwb2dyYXBoeSBzaXplcyBqdXN0IHlldC5cbiAgICAgIG1hcmdpbi10b3A6IDAuMzI2ZW07XG4gICAgICBtYXJnaW4tbGVmdDogZ292dWstc3BhY2luZyg2KSAqIC0xO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9pbmRleC5zY3NzLm1hcCAqL1xuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9wYW5lbFwiKSB7XG4gIC5nb3Z1ay1wYW5lbCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMzYpO1xuXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgcGFkZGluZzogZ292dWstc3BhY2luZyg3KSAtICRnb3Z1ay1ib3JkZXItd2lkdGg7XG5cbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkdW50aWw6IHRhYmxldCkge1xuICAgICAgcGFkZGluZzogZ292dWstc3BhY2luZyhpZigkZ292dWstbmV3LXR5cG9ncmFwaHktc2NhbGUsIDQsIDMpKSAtICRnb3Z1ay1ib3JkZXItd2lkdGg7XG5cbiAgICAgIC8vIFRoaXMgaXMgYW4gaWYtYWxsLWVsc2UtZmFpbHMgYXR0ZW1wdCB0byBzdG9wIGxvbmcgd29yZHMgZnJvbVxuICAgICAgLy8gb3ZlcmZsb3dpbmcgdGhlIGNvbnRhaW5lciBvbiB2ZXJ5IG5hcnJvdyB2aWV3cG9ydHMgYnkgZm9yY2luZyB0aGVtIHRvXG4gICAgICAvLyBicmVhayBhbmQgd3JhcCBpbnN0ZWFkLiBUaGlzIG92ZXJmbG93aW5nIGlzIG1vcmUgbGlrZWx5IHRvIGhhcHBlbiB3aGVuXG4gICAgICAvLyB1c2VyIGluY3JlYXNlcyB0ZXh0IHNpemUgb24gYSBtb2JpbGUgZWcuIHVzaW5nIGlPUyBTYWZhcmkgdGV4dCByZXNpemVcbiAgICAgIC8vIGNvbnRyb2xzLlxuICAgICAgLy9cbiAgICAgIC8vIFRoZSBvdmVyZmxvd2luZyBpcyBhIHBhcnRpY3VsYXIgcHJvYmxlbSB3aXRoIHRoZSBwYW5lbCBjb21wb25lbnQgc2luY2VcbiAgICAgIC8vIGl0IHVzZXMgd2hpdGUgdGV4dDogd2hlbiB0aGUgdGV4dCBvdmVyZmxvd3MgdGhlIGNvbnRhaW5lciwgaXQgaXNcbiAgICAgIC8vIGludmlzaWJsZSBvbiB0aGUgd2hpdGUgKHBhZ2UpIGJhY2tncm91bmQuIFdoZW4gdGhlIHRleHQgaW4gb3VyIG90aGVyXG4gICAgICAvLyBjb21wb25lbnRzIG92ZXJmbG93LCB0aGUgdXNlciBtaWdodCBoYXZlIHRvIHNjcm9sbCBob3Jpem9udGFsbHkgdG8gdmlld1xuICAgICAgLy8gaXQgYnV0IHRoZSB0aGUgdGV4dCByZW1haW5zIGxlZ2libGUuXG4gICAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuXG4gICAgICAvLyBTdXBwb3J0IElFIChhdXRvcHJlZml4ZXIgZG9lc24ndCBhZGQgdGhpcyBhcyBpdCdzIG5vdCBhIHByZWZpeClcbiAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstcGFuZWwtLWNvbmZpcm1hdGlvbiB7XG4gICAgY29sb3I6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICAgIGJhY2tncm91bmQ6IGdvdnVrLWNvbG91cihcImdyZWVuXCIpO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJG1lZGlhLXR5cGU6IHByaW50KSB7XG4gICAgICBib3JkZXItY29sb3I6IGN1cnJlbnRjb2xvcjtcbiAgICAgIGNvbG9yOiAkZ292dWstcHJpbnQtdGV4dC1jb2xvdXI7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1wYW5lbF9fdGl0bGUge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQtc2l6ZSgkc2l6ZTogNDgpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LWJvbGQ7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDYpO1xuICB9XG5cbiAgLmdvdnVrLXBhbmVsX190aXRsZTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9pbmRleC5zY3NzLm1hcCAqL1xuIiwiQGltcG9ydCBcIi4uL2J1dHRvbi9pbmRleFwiO1xuQGltcG9ydCBcIi4uL2lucHV0L2luZGV4XCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvcGFzc3dvcmQtaW5wdXRcIikge1xuICAuZ292dWstcGFzc3dvcmQtaW5wdXRfX3dyYXBwZXIge1xuICAgIC8vIFRoaXMgZWxlbWVudCBpbmhlcml0cyBzdHlsZXMgZnJvbSAuZ292dWstaW5wdXRfX3dyYXBwZXIsIGluY2x1ZGluZzpcbiAgICAvLyAtIGJlaW5nIGRpc3BsYXk6IGJsb2NrIHdpdGggY29udGVudHMgaW4gYSBzdGFja2VkIGNvbHVtbiBiZWxvdyB0aGUgbW9iaWxlXG4gICAgLy8gICBicmVha3BvaW50XG4gICAgLy8gLSBiZWluZyBkaXNwbGF5OiBmbGV4IGFib3ZlIHRoZSBtb2JpbGUgYnJlYWtwb2ludFxuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IG1vYmlsZSkge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgICAgLy8gVGhlIGRlZmF1bHQgb2YgYHN0cmV0Y2hgIG1ha2VzIHRoZSB0b2dnbGUgYnV0dG9uIGFwcGVhciB0YWxsZXIgdGhhbiB0aGVcbiAgICAgIC8vIGlucHV0LCBkdWUgdG8gdXNpbmcgYm94LXNoYWRvdywgd2hpY2ggd2UgZG9uJ3QgcGFydGljdWxhcmx5IHdhbnQgaW5cbiAgICAgIC8vIHRoaXMgc2l0dWF0aW9uXG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstcGFzc3dvcmQtaW5wdXRfX2lucHV0IHtcbiAgICAvLyBJRSAxMSBhbmQgTWljcm9zb2Z0IEVkZ2UgY29tZXMgd2l0aCBpdHMgb3duIHBhc3N3b3JkIHJldmVhbCBmdW5jdGlvbi4gV2VcbiAgICAvLyB3YW50IHRvIGhpZGUgaXQsIHNvIHRoYXQgdGhlcmUgYXJlbid0IHR3byBjb250cm9scyBwcmVzZW50ZWQgdG8gdGhlIHVzZXJcbiAgICAvLyB0aGF0IGRvIHRoZSBzYW1lIHRoaW5nIGJ1dCBhcmVuJ3QgaW4gc3luYyB3aXRoIG9uZSBhbm90aGVyLiBUaGlzIGRvZXNuJ3RcbiAgICAvLyBhZmZlY3QgdGhlIGZ1bmN0aW9uIHRoYXQgYWxsb3dzIEVkZ2UgdXNlcnMgdG8gdG9nZ2xlIHBhc3N3b3JkIHZpc2liaWxpdHlcbiAgICAvLyBieSBwcmVzc2luZyBBbHQrRjgsIHdoaWNoIGNhbm5vdCBiZSBwcm9ncmFtbWF0aWNhbGx5IGRpc2FibGVkLlxuICAgICY6Oi1tcy1yZXZlYWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstcGFzc3dvcmQtaW5wdXRfX3RvZ2dsZSB7XG4gICAgLy8gQWRkIHRvcCBtYXJnaW4gc28gdGhlIGJ1dHRvbiBkb2Vzbid0IG9ic2N1cmUgdGhlIGlucHV0J3MgZm9jdXMgc3R5bGVcbiAgICBtYXJnaW4tdG9wOiBnb3Z1ay1zcGFjaW5nKDEpO1xuXG4gICAgLy8gUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLWJvdHRvbSBmcm9tIGJ1dHRvblxuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAvLyBIaWRlIHRoZSBidXR0b24gYnkgZGVmYXVsdCwgSlMgcmVtb3ZlcyB0aGlzIGF0dHJpYnV0ZVxuICAgICZbaGlkZGVuXSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiBtb2JpbGUpIHtcbiAgICAgIC8vIEJ1dHRvbnMgYXJlIG5vcm1hbGx5IDEwMCUgd2lkZSBvbiBtb2JpbGUsIGJ1dCB3ZSBkb24ndCB3YW50IHRoYXQgaGVyZVxuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIGZsZXgtYmFzaXM6IDVlbTtcblxuICAgICAgLy8gTW92ZSB0aGUgc3BhY2luZyBmcm9tIHRvcCB0byB0aGUgbGVmdFxuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgIH1cbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1faW5kZXguc2Nzcy5tYXAgKi9cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvdGFnXCIpIHtcbiAgJGdvdnVrLXRhZy1tYXgtd2lkdGg6IGlmKG1hcC1oYXMta2V5KCRnb3Z1ay1icmVha3BvaW50cywgXCJtb2JpbGVcIiksIG1hcC1nZXQoJGdvdnVrLWJyZWFrcG9pbnRzLCBcIm1vYmlsZVwiKSAvIDIsIDE2MHB4KTtcblxuICAuZ292dWstdGFnIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAvLyBzZXQgYSBtYXgtd2lkdGggYWxvbmcgd2l0aCBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkIGJlbG93IGZvciBpbnN0YW5jZXNcbiAgICAvLyB3aGVyZSBhIHRhZyBoYXMgYSBzaW5nbGUgbG9uZyB3b3JkIGFuZCBjb3VsZCBvdmVyZmxvdyBpdHMgYm91bmRhcmllcy5cbiAgICAvLyBUaGUgbWF4LXdpZHRoIGlzIG5lY2Vzc2FyeSBhcyBicmVhay13b3JkIHJlcXVpcmVzIGEgYm91bmRpbmcgYm94IHRvIGJhc2VcbiAgICAvLyB3aGVyZSB0byBicmVhayBvZmYgb2YuXG4gICAgbWF4LXdpZHRoOiAkZ292dWstdGFnLW1heC13aWR0aDtcblxuICAgIC8vIFRoZXNlIG5lZ2F0aXZlIG1hcmdpbnMgbWFrZSBzdXJlIHRoYXQgdGhlIHRhZyBjb21wb25lbnQgZG9lc27igJl0IGluY3JlYXNlXG4gICAgLy8gdGhlIHNpemUgb2YgaXRzIGNvbnRhaW5lci4gT3RoZXJ3aXNlLCBmb3IgZXhhbXBsZSwgYSB0YWJsZSByb3cgY29udGFpbmluZ1xuICAgIC8vIGEgdGFnIHdpbGwgYmUgdGFsbGVyIHRoYW4gb25lIGNvbnRhaW5pbmcgcGxhaW4gdGV4dC5cbiAgICAvL1xuICAgIC8vIFRoZSBuZWdhdGl2ZSBtYXJnaW4gYWRkZWQgdG8gdGhlIHRvcCBhbmQgYm90dG9tIG1hdGNoZXMgdGhlIGV4dHJhIHBhZGRpbmdcbiAgICAvLyBhZGRlZC5cbiAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgIG1hcmdpbi1ib3R0b206IC0zcHg7XG5cbiAgICBwYWRkaW5nLXRvcDogMnB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3B4O1xuICAgIHBhZGRpbmctbGVmdDogOHB4O1xuICAgIGNvbG9yOiBnb3Z1ay1zaGFkZShnb3Z1ay1jb2xvdXIoXCJibHVlXCIpLCA2MCUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGdvdnVrLXRpbnQoZ292dWstY29sb3VyKFwiYmx1ZVwiKSwgNzAlKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcblxuICAgIC8vIFdoZW4gZm9yY2VkIGNvbG91ciBtb2RlIGlzIGFjdGl2ZSwgZm9yIGV4YW1wbGUgdG8gcHJvdmlkZSBoaWdoIGNvbnRyYXN0LFxuICAgIC8vIHRoZSBiYWNrZ3JvdW5kIGNvbG91ciBvZiB0aGUgdGFnIGlzIHRoZSBzYW1lIGFzIHRoZSByZXN0IG9mIHRoZSBwYWdlLiBUb1xuICAgIC8vIGVuc3VyZSB0aGF0IHRoZSB0YWcgaXMgcGVyY2VpdmVkIGFzIHNlcGFyYXRlIGZyb20gYW55IHN1cnJvdW5kIHRleHQsIGl0XG4gICAgLy8gaXMgbWFkZSBib2xkLlxuICAgIC8vXG4gICAgLy8gVHJhbnNwYXJlbnQgb3V0bGluZXMgYXJlIG5vIGxvbmdlciBhZGRlZCwgYXMgdGhleSBtYWtlIHRoZSBUYWcgbG9va1xuICAgIC8vIGluZGlzdGluZ3Vpc2hhYmxlIGZyb20gYSBidXR0b24g4oCTIGJ1dCB0aGUgdGFnIGlzIG5vdCBpbnRlcmFjdGl2ZSBpbiB0aGVcbiAgICAvLyBzYW1lIHdheS5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstdGFnLS1ncmV5IHtcbiAgICBjb2xvcjogZ292dWstc2hhZGUoZ292dWstY29sb3VyKFwiZGFyay1ncmV5XCIpLCA1MCUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGdvdnVrLXRpbnQoZ292dWstY29sb3VyKFwiZGFyay1ncmV5XCIpLCA4NSUpO1xuICB9XG5cbiAgLmdvdnVrLXRhZy0tcHVycGxlIHtcbiAgICBjb2xvcjogZ292dWstc2hhZGUoZ292dWstY29sb3VyKFwiYnJpZ2h0LXB1cnBsZVwiKSwgNTAlKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnb3Z1ay10aW50KGdvdnVrLWNvbG91cihcImJyaWdodC1wdXJwbGVcIiksIDg1JSk7XG4gIH1cblxuICAuZ292dWstdGFnLS10dXJxdW9pc2Uge1xuICAgIGNvbG9yOiBnb3Z1ay1zaGFkZShnb3Z1ay1jb2xvdXIoXCJ0dXJxdW9pc2VcIiksIDYwJSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ292dWstdGludChnb3Z1ay1jb2xvdXIoXCJ0dXJxdW9pc2VcIiksIDgwJSk7XG4gIH1cblxuICAuZ292dWstdGFnLS1ibHVlIHtcbiAgICBjb2xvcjogZ292dWstc2hhZGUoZ292dWstY29sb3VyKFwiYmx1ZVwiKSwgNjAlKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnb3Z1ay10aW50KGdvdnVrLWNvbG91cihcImJsdWVcIiksIDcwJSk7XG4gIH1cblxuICAuZ292dWstdGFnLS1saWdodC1ibHVlIHtcbiAgICBjb2xvcjogZ292dWstc2hhZGUoZ292dWstY29sb3VyKFwiYmx1ZVwiKSwgNjAlKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnb3Z1ay10aW50KGdvdnVrLWNvbG91cihcImJsdWVcIiksIDkwJSk7XG4gIH1cblxuICAuZ292dWstdGFnLS15ZWxsb3cge1xuICAgIGNvbG9yOiBnb3Z1ay1zaGFkZShnb3Z1ay1jb2xvdXIoXCJ5ZWxsb3dcIiksIDY1JSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ292dWstdGludChnb3Z1ay1jb2xvdXIoXCJ5ZWxsb3dcIiksIDc1JSk7XG4gIH1cblxuICAuZ292dWstdGFnLS1vcmFuZ2Uge1xuICAgIGNvbG9yOiBnb3Z1ay1zaGFkZShnb3Z1ay1jb2xvdXIoXCJvcmFuZ2VcIiksIDU1JSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ292dWstdGludChnb3Z1ay1jb2xvdXIoXCJvcmFuZ2VcIiksIDcwJSk7XG4gIH1cblxuICAuZ292dWstdGFnLS1yZWQge1xuICAgIGNvbG9yOiBnb3Z1ay1zaGFkZShnb3Z1ay1jb2xvdXIoXCJyZWRcIiksIDgwJSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ292dWstdGludChnb3Z1ay1jb2xvdXIoXCJyZWRcIiksIDc1JSk7XG4gIH1cblxuICAuZ292dWstdGFnLS1waW5rIHtcbiAgICBjb2xvcjogZ292dWstc2hhZGUoZ292dWstY29sb3VyKFwicGlua1wiKSwgNTAlKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnb3Z1ay10aW50KGdvdnVrLWNvbG91cihcInBpbmtcIiksIDg1JSk7XG4gIH1cblxuICAuZ292dWstdGFnLS1ncmVlbiB7XG4gICAgY29sb3I6IGdvdnVrLXNoYWRlKGdvdnVrLWNvbG91cihcImdyZWVuXCIpLCAyMCUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGdvdnVrLXRpbnQoZ292dWstY29sb3VyKFwiZ3JlZW5cIiksIDgwJSk7XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2luZGV4LnNjc3MubWFwICovXG4iLCJAaW1wb3J0IFwiLi4vdGFnL2luZGV4XCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvcGhhc2UtYmFubmVyXCIpIHtcbiAgLmdvdnVrLXBoYXNlLWJhbm5lciB7XG4gICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG5cbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gIH1cblxuICAuZ292dWstcGhhc2UtYmFubmVyX19jb250ZW50IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxNik7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG5cbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAuZ292dWstcGhhc2UtYmFubmVyX19jb250ZW50X190YWcge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQtc2l6ZSgkc2l6ZTogMTYpO1xuICAgIG1hcmdpbi1yaWdodDogZ292dWstc3BhY2luZyhpZigkZ292dWstbmV3LXR5cG9ncmFwaHktc2NhbGUsIDMsIDIpKTtcblxuICAgIEBpZiAkZ292dWstbmV3LXR5cG9ncmFwaHktc2NhbGUge1xuICAgICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXBoYXNlLWJhbm5lcl9fdGV4dCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9pbmRleC5zY3NzLm1hcCAqL1xuIiwiQGltcG9ydCBcIi4uL2Vycm9yLW1lc3NhZ2UvaW5kZXhcIjtcbkBpbXBvcnQgXCIuLi9maWVsZHNldC9pbmRleFwiO1xuQGltcG9ydCBcIi4uL2hpbnQvaW5kZXhcIjtcbkBpbXBvcnQgXCIuLi9sYWJlbC9pbmRleFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3JhZGlvc1wiKSB7XG4gICRnb3Z1ay10b3VjaC10YXJnZXQtZ3V0dGVyOiA0cHg7XG4gICRnb3Z1ay1yYWRpb3Mtc2l6ZTogNDBweDtcbiAgJGdvdnVrLXRvdWNoLXRhcmdldC1zaXplOiAoJGdvdnVrLXJhZGlvcy1zaXplICsgJGdvdnVrLXRvdWNoLXRhcmdldC1ndXR0ZXIpO1xuICAkZ292dWstc21hbGwtcmFkaW9zLXNpemU6IDI0cHg7XG4gICRnb3Z1ay1yYWRpb3MtbGFiZWwtcGFkZGluZy1sZWZ0LXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAvLyBXaGVuIHRoZSBkZWZhdWx0IGZvY3VzIHdpZHRoIGlzIHVzZWQgb24gYSBjdXJ2ZWQgZWRnZSBpdCBsb29rcyB2aXN1YWxseVxuICAvLyBzbWFsbGVyLiBTbyBmb3IgdGhlIGNpcmN1bGFyIHJhZGlvcyB3ZSBidW1wIHRoZSBkZWZhdWx0IHRvIG1ha2UgaXQgbG9va1xuICAvLyB2aXN1YWxseSBjb25zaXN0ZW50LlxuICAkZ292dWstcmFkaW9zLWZvY3VzLXdpZHRoOiAkZ292dWstZm9jdXMtd2lkdGggKyAxcHg7XG5cbiAgLmdvdnVrLXJhZGlvc19faXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gIH1cblxuICAuZ292dWstcmFkaW9zX19pdGVtOmxhc3QtY2hpbGQsXG4gIC5nb3Z1ay1yYWRpb3NfX2l0ZW06bGFzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmdvdnVrLXJhZGlvc19faW5wdXQge1xuICAgIC8vIEFsbG93IHRoZSBpbnB1dCB0byBzaXQgYWJvdmUgdGhlIGxhYmVsLCBlbmFibGluZyBpdHMgcHJvcGVyIGRldGVjdGlvblxuICAgIC8vIHdoZW4gZXhwbG9yaW5nIGJ5IHRvdWNoIG9yIHVzaW5nIGF1dG9tYXRpb24gdG9vbHMgbGlrZSBTZWxlbml1bVxuICAgIHotaW5kZXg6IDE7XG4gICAgd2lkdGg6ICRnb3Z1ay10b3VjaC10YXJnZXQtc2l6ZTtcbiAgICBoZWlnaHQ6ICRnb3Z1ay10b3VjaC10YXJnZXQtc2l6ZTtcbiAgICBtYXJnaW46IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAuZ292dWstcmFkaW9zX19sYWJlbCB7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuXG4gICAgLy8gRW5zdXJlIHRoYXQgdGhlIHdpZHRoIG9mIHRoZSBsYWJlbCBpcyBuZXZlciBtb3JlIHRoYW4gdGhlIHdpZHRoIG9mIHRoZVxuICAgIC8vIGNvbnRhaW5lciBtaW51cyB0aGUgaW5wdXQgd2lkdGggbWludXMgdGhlIHBhZGRpbmcgb24gZWl0aGVyIHNpZGUgb2ZcbiAgICAvLyB0aGUgbGFiZWwuIFRoaXMgcHJldmVudHMgdGhlIGxhYmVsIGZyb20gZ29pbmcgb250byB0aGUgbmV4dCBsaW5lIGR1ZSB0b1xuICAgIC8vIF9faXRlbSB1c2luZyBmbGV4LXdyYXAgYmVjYXVzZSB3ZSB3YW50IGhpbnRzIG9uIGEgc2VwYXJhdGUgbGluZVxuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gI3soJGdvdnVrLXJhZGlvcy1sYWJlbC1wYWRkaW5nLWxlZnQtcmlnaHQgKyAkZ292dWstdG91Y2gtdGFyZ2V0LXNpemUgKyBnb3Z1ay1zcGFjaW5nKDMpKX0pO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZzogKGdvdnVrLXNwYWNpbmcoMSkgKyAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudCkgZ292dWstc3BhY2luZygzKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLy8gcmVtb3ZlIDMwMG1zIHBhdXNlIG9uIG1vYmlsZVxuICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICB9XG5cbiAgLy8gKCApIFJhZGlvIHJpbmdcbiAgLmdvdnVrLXJhZGlvc19fbGFiZWw6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICgkZ292dWstdG91Y2gtdGFyZ2V0LWd1dHRlciAvIDIpO1xuICAgIGxlZnQ6ICgkZ292dWstdG91Y2gtdGFyZ2V0LWd1dHRlciAvIDIpO1xuICAgIHdpZHRoOiAkZ292dWstcmFkaW9zLXNpemU7XG4gICAgaGVpZ2h0OiAkZ292dWstcmFkaW9zLXNpemU7XG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudCBzb2xpZCBjdXJyZW50Y29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLy8gIOKAoiAgUmFkaW8gYnV0dG9uXG4gIC8vXG4gIC8vIFdlIGNyZWF0ZSB0aGUgJ2J1dHRvbicgZW50aXJlbHkgb3V0IG9mICdib3JkZXInIHNvIHRoYXQgdGhleSByZW1haW5cbiAgLy8gJ2ZpbGxlZCcgZXZlbiB3aGVuIGNvbG91cnMgYXJlIG92ZXJyaWRkZW4gaW4gdGhlIGJyb3dzZXIuXG4gIC5nb3Z1ay1yYWRpb3NfX2xhYmVsOjphZnRlciB7XG4gICAgJHJhZGlvLWJ1dHRvbi1zaXplOiBnb3Z1ay1zcGFjaW5nKDIpO1xuXG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAvLyBQb3NpdGlvbmVkIGJ5IGdldHRpbmcgaGFsZiB0aGUgdG91Y2ggdGFyZ2V0LCBzbyB3ZSBoYXZlIHRoZSBjZW50cmUgb2YgdGhlXG4gICAgLy8gaW5wdXQsIGFuZCB0aGVuIG1vdmluZyBiYWNrIGJ5IHRoZSBidXR0b24ncyBib3JkZXIgd2lkdGgsIHRodXMgcG9zaXRpb25pbmdcbiAgICAvLyB0aGUgY2VudHJlIG9mIHRoZSBidXR0b24gaW4gdGhlIGNlbnRyZSBvZiB0aGUgaW5wdXQuXG4gICAgdG9wOiAoKCRnb3Z1ay10b3VjaC10YXJnZXQtc2l6ZSAvIDIpIC0gJHJhZGlvLWJ1dHRvbi1zaXplKTtcbiAgICBsZWZ0OiAoKCRnb3Z1ay10b3VjaC10YXJnZXQtc2l6ZSAvIDIpIC0gJHJhZGlvLWJ1dHRvbi1zaXplKTtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiAkcmFkaW8tYnV0dG9uLXNpemUgc29saWQgY3VycmVudGNvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGJhY2tncm91bmQ6IGN1cnJlbnRjb2xvcjtcbiAgfVxuXG4gIC5nb3Z1ay1yYWRpb3NfX2hpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IGdvdnVrLXNwYWNpbmcoLTEpO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRnb3Z1ay1yYWRpb3MtbGFiZWwtcGFkZGluZy1sZWZ0LXJpZ2h0O1xuICAgIHBhZGRpbmctbGVmdDogKCRnb3Z1ay1yYWRpb3MtbGFiZWwtcGFkZGluZy1sZWZ0LXJpZ2h0ICsgJGdvdnVrLXRvdWNoLXRhcmdldC1zaXplKTtcbiAgfVxuXG4gIC8vIFRoaXMgaXMgdG8gYnlwYXNzIGdvdnVrLWhpbnQncyBzcGVjaWZpY2l0eSBvbiBoaW50cyBmb2xsb3dpbmcgbGFiZWxzIGhhdmluZ1xuICAvLyBhIG1hcmdpbiBib3R0b20gb2YgMTBweCAoZ292dWstc3BhY2luZygyKSkuIEJlY2F1c2UgcmFkaW9zIGFyZSBmbGV4Ym94LFxuICAvLyB0aGUgbWFyZ2luIGRvZXNuJ3QgY29sbGFwc2Ugc28gd2UgaGF2ZSB0byBkbyB0aGlzIG1hbnVhbGx5LlxuICAuZ292dWstbGFiZWw6bm90KC5nb3Z1ay1sYWJlbC0tbSk6bm90KC5nb3Z1ay1sYWJlbC0tbCk6bm90KC5nb3Z1ay1sYWJlbC0teGwpICsgLmdvdnVrLXJhZGlvc19faGludCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC8vIEZvY3VzZWQgc3RhdGVcbiAgLmdvdnVrLXJhZGlvc19faW5wdXQ6Zm9jdXMgKyAuZ292dWstcmFkaW9zX19sYWJlbDo6YmVmb3JlIHtcbiAgICBib3JkZXItd2lkdGg6IDRweDtcblxuICAgIC8vIFdoZW4gY29sb3VycyBhcmUgb3ZlcnJpZGRlbiwgdGhlIHllbGxvdyBib3gtc2hhZG93IGJlY29tZXMgaW52aXNpYmxlXG4gICAgLy8gd2hpY2ggbWVhbnMgdGhlIGZvY3VzIHN0YXRlIGlzIGxlc3Mgb2J2aW91cy4gQnkgYWRkaW5nIGEgdHJhbnNwYXJlbnRcbiAgICAvLyBvdXRsaW5lLCB3aGljaCBiZWNvbWVzIHNvbGlkICh0ZXh0LWNvbG91cmVkKSBpbiB0aGF0IGNvbnRleHQsIHdlIGVuc3VyZVxuICAgIC8vIHRoZSBmb2N1cyByZW1haW5zIGNsZWFybHkgdmlzaWJsZS5cbiAgICBvdXRsaW5lOiAkZ292dWstZm9jdXMtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcblxuICAgIC8vIFdoZW4gaW4gYW4gZXhwbGljaXQgZm9yY2VkLWNvbG9yIG1vZGUsIHdlIGNhbiB1c2UgdGhlIEhpZ2hsaWdodCBzeXN0ZW1cbiAgICAvLyBjb2xvciBmb3IgdGhlIG91dGxpbmUgdG8gYmV0dGVyIG1hdGNoIGZvY3VzIHN0YXRlcyBvZiBuYXRpdmUgY29udHJvbHNcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcbiAgICAgIG91dGxpbmUtY29sb3I6IEhpZ2hsaWdodDtcbiAgICB9XG5cbiAgICBib3gtc2hhZG93OiAwIDAgMCAkZ292dWstcmFkaW9zLWZvY3VzLXdpZHRoICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gIH1cblxuICAvLyBTZWxlY3RlZCBzdGF0ZVxuICAuZ292dWstcmFkaW9zX19pbnB1dDpjaGVja2VkICsgLmdvdnVrLXJhZGlvc19fbGFiZWw6OmFmdGVyIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgLmdvdnVrLXJhZGlvc19faW5wdXQ6ZGlzYWJsZWQsXG4gIC5nb3Z1ay1yYWRpb3NfX2lucHV0OmRpc2FibGVkICsgLmdvdnVrLXJhZGlvc19fbGFiZWwge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cblxuICAuZ292dWstcmFkaW9zX19pbnB1dDpkaXNhYmxlZCArIC5nb3Z1ay1yYWRpb3NfX2xhYmVsLFxuICAuZ292dWstcmFkaW9zX19pbnB1dDpkaXNhYmxlZCB+IC5nb3Z1ay1oaW50IHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gSW5saW5lIHJhZGlvc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAuZ292dWstcmFkaW9zLS1pbmxpbmUge1xuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICAgICAgLmdvdnVrLXJhZGlvc19faXRlbSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogZ292dWstc3BhY2luZyg0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gRGl2aWRlcnMgKCdvcicpXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC5nb3Z1ay1yYWRpb3NfX2RpdmlkZXIge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICAkZ292dWstZGl2aWRlci1zaXplOiAkZ292dWstcmFkaW9zLXNpemUgIWRlZmF1bHQ7XG4gICAgd2lkdGg6ICRnb3Z1ay1kaXZpZGVyLXNpemU7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gQ29uZGl0aW9uYWwgcmV2ZWFsc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBUaGUgbmFycm93IGJvcmRlciBpcyB1c2VkIGluIHRoZSBjb25kaXRpb25hbCByZXZlYWxzIGJlY2F1c2UgdGhlIGJvcmRlciBoYXNcbiAgLy8gdG8gYmUgYW4gZXZlbiBudW1iZXIgaW4gb3JkZXIgdG8gYmUgY2VudHJlZCB1bmRlciB0aGUgNDBweCBjaGVja2JveCByYWRpby5cbiAgJGNvbmRpdGlvbmFsLWJvcmRlci13aWR0aDogJGdvdnVrLWJvcmRlci13aWR0aC1uYXJyb3c7XG4gIC8vIENhbGN1bGF0ZSB0aGUgYW1vdW50IG9mIHBhZGRpbmcgbmVlZGVkIHRvIGtlZXAgdGhlIGJvcmRlciBjZW50ZXJlZCBhZ2FpbnN0XG4gIC8vIHRoZSByYWRpb3MuXG4gICRjb25kaXRpb25hbC1ib3JkZXItcGFkZGluZzogKCRnb3Z1ay10b3VjaC10YXJnZXQtc2l6ZSAvIDIpIC0gKCRjb25kaXRpb25hbC1ib3JkZXItd2lkdGggLyAyKTtcbiAgLy8gTW92ZSB0aGUgYm9yZGVyIGNlbnRlcmVkIHdpdGggdGhlIHJhZGlvc1xuICAkY29uZGl0aW9uYWwtbWFyZ2luLWxlZnQ6ICRjb25kaXRpb25hbC1ib3JkZXItcGFkZGluZztcbiAgLy8gTW92ZSB0aGUgY29udGVudHMgb2YgdGhlIGNvbmRpdGlvbmFsIGlubGluZSB3aXRoIHRoZSBsYWJlbFxuICAkY29uZGl0aW9uYWwtcGFkZGluZy1sZWZ0OiAkY29uZGl0aW9uYWwtYm9yZGVyLXBhZGRpbmcgKyAkZ292dWstcmFkaW9zLWxhYmVsLXBhZGRpbmctbGVmdC1yaWdodDtcblxuICAuZ292dWstcmFkaW9zX19jb25kaXRpb25hbCB7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gICAgbWFyZ2luLWxlZnQ6ICRjb25kaXRpb25hbC1tYXJnaW4tbGVmdDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRjb25kaXRpb25hbC1wYWRkaW5nLWxlZnQ7XG4gICAgYm9yZGVyLWxlZnQ6ICRjb25kaXRpb25hbC1ib3JkZXItd2lkdGggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG5cbiAgICAuZ292dWstZnJvbnRlbmQtc3VwcG9ydGVkICYtLWhpZGRlbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBTbWFsbCBjaGVja2JveGVzXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC5nb3Z1ay1yYWRpb3MtLXNtYWxsIHtcbiAgICAkaW5wdXQtb2Zmc2V0OiAoJGdvdnVrLXRvdWNoLXRhcmdldC1zaXplIC0gJGdvdnVrLXNtYWxsLXJhZGlvcy1zaXplKSAvIDI7XG5cbiAgICAuZ292dWstcmFkaW9zX19pdGVtIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLy8gU2hpZnQgdGhlIHRvdWNoIHRhcmdldCBpbnRvIHRoZSBsZWZ0IG1hcmdpbiBzbyB0aGF0IHRoZSB2aXNpYmxlIGVkZ2Ugb2ZcbiAgICAvLyB0aGUgY29udHJvbCBpcyBhbGlnbmVkXG4gICAgLy9cbiAgICAvLyAgIOKUhldoaWNoIGNvbG91ciBpcyB5b3VyIGZhdm91cml0ZT9cbiAgICAvLyAg4pSM4pSG4pSA4pSA4pSA4pSQXG4gICAgLy8gIOKUguKUhigpIOKUgiBQdXJwbGVcbiAgICAvLyAg4pSU4pSG4pay4pSA4pSA4pSYXG4gICAgLy8gIOKWsuKUhuKUlOKUgCBSYWRpbyBwc2V1ZG8gZWxlbWVudCwgYWxpZ25lZCB3aXRoIG1hcmdpblxuICAgIC8vICDilJTilIDilIDilIAgVG91Y2ggdGFyZ2V0IChpbnZpc2libGUgaW5wdXQpLCBzaGlmdGVkIGludG8gdGhlIG1hcmdpblxuICAgIC5nb3Z1ay1yYWRpb3NfX2lucHV0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkaW5wdXQtb2Zmc2V0ICogLTE7XG4gICAgfVxuXG4gICAgLmdvdnVrLXJhZGlvc19fbGFiZWwge1xuICAgICAgLy8gQ3JlYXRlIGEgdGlueSBzcGFjZSBiZXR3ZWVuIHRoZSBzbWFsbCByYWRpbyBob3ZlciBzdGF0ZSBzbyB0aGF0IGl0XG4gICAgICAvLyBkb2Vzbid0IGNsYXNoIHdpdGggdGhlIGxhYmVsXG4gICAgICBwYWRkaW5nLWxlZnQ6IDFweDtcbiAgICB9XG5cbiAgICAvLyAoICkgUmFkaW8gcmluZ1xuICAgIC8vXG4gICAgLy8gUmVkdWNlIHRoZSBzaXplIG9mIHRoZSBjb250cm9sIFsxXSwgdmVydGljYWxseSBjZW50ZXJpbmcgaXQgd2l0aGluIHRoZVxuICAgIC8vIHRvdWNoIHRhcmdldCBbMl1cbiAgICAvLyBMZWZ0IGhlcmUgaXMgMCBiZWNhdXNlIHdlJ3ZlIHNoaWZ0ZWQgdGhlIGlucHV0IGludG8gdGhlIGxlZnQgbWFyZ2luXG4gICAgLmdvdnVrLXJhZGlvc19fbGFiZWw6OmJlZm9yZSB7XG4gICAgICB0b3A6ICRpbnB1dC1vZmZzZXQ7IC8vIDJcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogJGdvdnVrLXNtYWxsLXJhZGlvcy1zaXplOyAvLyAxXG4gICAgICBoZWlnaHQ6ICRnb3Z1ay1zbWFsbC1yYWRpb3Mtc2l6ZTsgLy8gMVxuICAgIH1cblxuICAgIC8vICDigKIgIFJhZGlvIGJ1dHRvblxuICAgIC8vXG4gICAgLy8gUmVkdWNlIHRoZSBzaXplIG9mIHRoZSAnYnV0dG9uJyBhbmQgY2VudGVyIGl0IHdpdGhpbiB0aGUgcmluZ1xuICAgIC5nb3Z1ay1yYWRpb3NfX2xhYmVsOjphZnRlciB7XG4gICAgICAkcmFkaW8tYnV0dG9uLXNpemU6IGdvdnVrLXNwYWNpbmcoMSk7XG5cbiAgICAgIC8vIFRoZSBzYW1lIGNhbGN1bGF0aW9uIGFzIG5vcm1hbCByYWRpbyBidXR0b25zIGJ1dCByZWR1Y2UgdGhlIGJvcmRlciB3aWR0aFxuICAgICAgdG9wOiAoKCRnb3Z1ay10b3VjaC10YXJnZXQtc2l6ZSAvIDIpIC0gJHJhZGlvLWJ1dHRvbi1zaXplKTtcbiAgICAgIGxlZnQ6ICgoKCRnb3Z1ay10b3VjaC10YXJnZXQtc2l6ZSAvIDIpIC0gJHJhZGlvLWJ1dHRvbi1zaXplKSAtICRpbnB1dC1vZmZzZXQpO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkcmFkaW8tYnV0dG9uLXNpemU7XG4gICAgfVxuXG4gICAgLy8gRml4IHBvc2l0aW9uIG9mIGhpbnQgd2l0aCBzbWFsbCByYWRpb3NcbiAgICAvL1xuICAgIC8vIERvIG5vdCB1c2UgaGludHMgd2l0aCBzbWFsbCByYWRpb3Mg4oCTIGJlY2F1c2UgdGhleSdyZSB3aXRoaW4gdGhlIGlucHV0XG4gICAgLy8gd3JhcHBlciB0aGV5IHRyaWdnZXIgdGhlIGhvdmVyIHN0YXRlLCBidXQgY2xpY2tpbmcgdGhlbSBkb2Vzbid0IGFjdHVhbGx5XG4gICAgLy8gYWN0aXZhdGUgdGhlIGNvbnRyb2wuXG4gICAgLy9cbiAgICAvLyAoSWYgeW91IGRvIHVzZSB0aGVtLCB0aGV5IHdvbid0IGxvb2sgY29tcGxldGVseSBicm9rZW4uLi4gYnV0IHNlcmlvdXNseSxcbiAgICAvLyBkb24ndCB1c2UgdGhlbSlcbiAgICAuZ292dWstcmFkaW9zX19oaW50IHtcbiAgICAgIHBhZGRpbmctbGVmdDogKCRnb3Z1ay1zbWFsbC1yYWRpb3Mtc2l6ZSArICRpbnB1dC1vZmZzZXQpO1xuICAgIH1cblxuICAgIC8vIEFsaWduIGNvbmRpdGlvbmFsIHJldmVhbHMgd2l0aCBzbWFsbCByYWRpb3NcbiAgICAuZ292dWstcmFkaW9zX19jb25kaXRpb25hbCB7XG4gICAgICAkbWFyZ2luLWxlZnQ6ICgkZ292dWstc21hbGwtcmFkaW9zLXNpemUgLyAyKSAtICgkY29uZGl0aW9uYWwtYm9yZGVyLXdpZHRoIC8gMik7XG4gICAgICBtYXJnaW4tbGVmdDogJG1hcmdpbi1sZWZ0O1xuICAgICAgcGFkZGluZy1sZWZ0OiAoJGdvdnVrLXRvdWNoLXRhcmdldC1zaXplIC0gJGlucHV0LW9mZnNldCkgLSAoJG1hcmdpbi1sZWZ0ICsgJGNvbmRpdGlvbmFsLWJvcmRlci13aWR0aCk7XG4gICAgfVxuXG4gICAgLmdvdnVrLXJhZGlvc19fZGl2aWRlciB7XG4gICAgICB3aWR0aDogJGdvdnVrLXNtYWxsLXJhZGlvcy1zaXplO1xuICAgICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcbiAgICB9XG5cbiAgICAvLyBIb3ZlciBzdGF0ZSBmb3Igc21hbGwgcmFkaW9zLlxuICAgIC8vXG4gICAgLy8gV2UgdXNlIGEgaG92ZXIgc3RhdGUgZm9yIHNtYWxsIHJhZGlvcyBiZWNhdXNlIHRoZSB0b3VjaCB0YXJnZXQgc2l6ZVxuICAgIC8vIGlzIHNvIG11Y2ggbGFyZ2VyIHRoYW4gdGhlaXIgdmlzaWJsZSBzaXplLCBhbmQgc28gd2UgbmVlZCB0byBwcm92aWRlXG4gICAgLy8gZmVlZGJhY2sgdG8gdGhlIHVzZXIgYXMgdG8gd2hpY2ggcmFkaW8gdGhleSB3aWxsIHNlbGVjdCB3aGVuIHRoZWlyXG4gICAgLy8gY3Vyc29yIGlzIG91dHNpZGUgb2YgdGhlIHZpc2libGUgYXJlYS5cbiAgICAuZ292dWstcmFkaW9zX19pdGVtOmhvdmVyIC5nb3Z1ay1yYWRpb3NfX2lucHV0Om5vdCg6ZGlzYWJsZWQpICsgLmdvdnVrLXJhZGlvc19fbGFiZWw6OmJlZm9yZSB7XG4gICAgICAvLyBGb3JjZWQgY29sb3VycyBtb2RlcyB0ZW5kIHRvIGlnbm9yZSBib3gtc2hhZG93LlxuICAgICAgLy8gQXBwbHkgYW4gb3V0bGluZSBmb3IgdGhvc2UgbW9kZXMgdG8gdXNlIGluc3RlYWQuXG4gICAgICBvdXRsaW5lOiAkZ292dWstcmFkaW9zLWZvY3VzLXdpZHRoIGRhc2hlZCB0cmFuc3BhcmVudDtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAkZ292dWstaG92ZXItd2lkdGggJGdvdnVrLWhvdmVyLWNvbG91cjtcbiAgICB9XG5cbiAgICAvLyBCZWNhdXNlIHdlJ3ZlIG92ZXJyaWRkZW4gdGhlIGJvcmRlci1zaGFkb3cgcHJvdmlkZWQgYnkgdGhlIGZvY3VzIHN0YXRlLFxuICAgIC8vIHdlIG5lZWQgdG8gcmVkZWZpbmUgdGhhdCB0b28uXG4gICAgLy9cbiAgICAvLyBXZSB1c2UgdHdvIGJveCBzaGFkb3dzLCBvbmUgdGhhdCByZXN0b3JlcyB0aGUgb3JpZ2luYWwgZm9jdXMgc3RhdGUgWzFdXG4gICAgLy8gYW5kIGFub3RoZXIgdGhhdCB0aGVuIGFwcGxpZXMgdGhlIGhvdmVyIHN0YXRlIFsyXS5cbiAgICAuZ292dWstcmFkaW9zX19pdGVtOmhvdmVyIC5nb3Z1ay1yYWRpb3NfX2lucHV0OmZvY3VzICsgLmdvdnVrLXJhZGlvc19fbGFiZWw6OmJlZm9yZSB7XG4gICAgICAvLyBTZXQgZGlmZmVyZW50IEhDTSBjb2xvdXIgd2hlbiB3ZSBoYXZlIGJvdGggaG92ZXIvZm9jdXMgYXBwbGllZCBhdCBvbmNlXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcbiAgICAgICAgb3V0bGluZS1jb2xvcjogSGlnaGxpZ2h0O1xuICAgICAgfVxuICAgICAgLy8gcHJldHRpZXItaWdub3JlXG4gICAgICBib3gtc2hhZG93OlxuICAgICAgICAwIDAgMCAkZ292dWstcmFkaW9zLWZvY3VzLXdpZHRoICRnb3Z1ay1mb2N1cy1jb2xvdXIgLy8gMSxcbiAgICAgICAgMCAwIDAgJGdvdnVrLWhvdmVyLXdpZHRoICRnb3Z1ay1ob3Zlci1jb2xvdXI7IC8vIDJcbiAgICB9XG5cbiAgICAvLyBGb3IgZGV2aWNlcyB0aGF0IGV4cGxpY2l0bHkgZG9uJ3Qgc3VwcG9ydCBob3ZlciwgZG9uJ3QgcHJvdmlkZSBhIGhvdmVyXG4gICAgLy8gc3RhdGUgKGUuZy4gb24gdG91Y2ggZGV2aWNlcyBsaWtlIGlPUykuXG4gICAgLy9cbiAgICAvLyBXZSBjYW4ndCB1c2UgYEBtZWRpYSAoaG92ZXI6IGhvdmVyKWAgYmVjYXVzZSB3ZSB3b3VsZG4ndCBnZXQgdGhlIGhvdmVyXG4gICAgLy8gc3RhdGUgaW4gYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IGBAbWVkaWEgKGhvdmVyKWAgKGxpa2UgSW50ZXJuZXRcbiAgICAvLyBFeHBsb3Jlcikg4oCTIHNvIHdlIGhhdmUgdG8gJ3VuZG8nIHRoZSBob3ZlciBzdGF0ZSBpbnN0ZWFkLlxuICAgIEBtZWRpYSAoaG92ZXI6IG5vbmUpLCAocG9pbnRlcjogY29hcnNlKSB7XG4gICAgICAuZ292dWstcmFkaW9zX19pdGVtOmhvdmVyIC5nb3Z1ay1yYWRpb3NfX2lucHV0Om5vdCg6ZGlzYWJsZWQpICsgLmdvdnVrLXJhZGlvc19fbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IGluaXRpYWw7XG4gICAgICB9XG5cbiAgICAgIC5nb3Z1ay1yYWRpb3NfX2l0ZW06aG92ZXIgLmdvdnVrLXJhZGlvc19faW5wdXQ6Zm9jdXMgKyAuZ292dWstcmFkaW9zX19sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGdvdnVrLXJhZGlvcy1mb2N1cy13aWR0aCAkZ292dWstZm9jdXMtY29sb3VyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1faW5kZXguc2Nzcy5tYXAgKi9cbiIsIkBpbXBvcnQgXCIuLi9lcnJvci1tZXNzYWdlL2luZGV4XCI7XG5AaW1wb3J0IFwiLi4vaGludC9pbmRleFwiO1xuQGltcG9ydCBcIi4uL2xhYmVsL2luZGV4XCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvc2VsZWN0XCIpIHtcbiAgLmdvdnVrLXNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTksICRsaW5lLWhlaWdodDogMS4yNSk7XG5cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgLy8gVGhpcyBtaW4td2lkdGggd2FzIGNob3NlbiBiZWNhdXNlOlxuICAgIC8vIC0gaXQgbWFrZXMgdGhlIFNlbGVjdCB3aWRlciB0aGFuIGl0IGlzIHRhbGwgKHdoaWNoIGlzIHdoYXQgdXNlcnMgZXhwZWN0KVxuICAgIC8vIC0gMTEuNWVtIG1hdGNoZXMgdGhlICdsZW5ndGgtMTAnIHZhcmlhbnQgb2YgdGhlIGlucHV0IGNvbXBvbmVudFxuICAgIC8vIC0gaXQgZml0cyBjb21mb3J0YWJseSBvbiBzY3JlZW5zIGFzIG5hcnJvdyBhcyAyNDBweCB3aWRlXG4gICAgbWluLXdpZHRoOiAxMS41ZW07XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogZ292dWstcHgtdG8tcmVtKDQwcHgpO1xuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMSk7XG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudCBzb2xpZCAkZ292dWstaW5wdXQtYm9yZGVyLWNvbG91cjtcblxuICAgIC8vIERlZmF1bHQgdXNlciBhZ2VudCBjb2xvdXJzIGZvciBzZWxlY3RzIGNhbiBoYXZlIGxvdyBjb250cmFzdCxcbiAgICAvLyBhbmQgbWF5IGxvb2sgZGlzYWJsZWQgKCMyNDM1KVxuICAgIGNvbG9yOiAkZ292dWstdGV4dC1jb2xvdXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ292dWstY29sb3VyKFwid2hpdGVcIik7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6ICRnb3Z1ay1mb2N1cy13aWR0aCBzb2xpZCAkZ292dWstZm9jdXMtY29sb3VyO1xuICAgICAgLy8gRW5zdXJlIG91dGxpbmUgYXBwZWFycyBvdXRzaWRlIG9mIHRoZSBlbGVtZW50XG4gICAgICBvdXRsaW5lLW9mZnNldDogMDtcbiAgICAgIC8vIERvdWJsZSB0aGUgYm9yZGVyIGJ5IGFkZGluZyBpdHMgd2lkdGggYWdhaW4uIFVzZSBgYm94LXNoYWRvd2AgdG8gZG9cbiAgICAgIC8vIHRoaXMgaW5zdGVhZCBvZiBjaGFuZ2luZyBgYm9yZGVyLXdpZHRoYCAod2hpY2ggY2hhbmdlcyBlbGVtZW50IHNpemUpXG4gICAgICAvLyBhbmQgc2luY2UgYG91dGxpbmVgIGlzIGFscmVhZHkgdXNlZCBmb3IgdGhlIHllbGxvdyBmb2N1cyBzdGF0ZS5cbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50O1xuICAgIH1cblxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1zZWxlY3Qgb3B0aW9uOmFjdGl2ZSxcbiAgLmdvdnVrLXNlbGVjdCBvcHRpb246Y2hlY2tlZCxcbiAgLmdvdnVrLXNlbGVjdDpmb2N1czo6LW1zLXZhbHVlIHtcbiAgICBjb2xvcjogZ292dWstY29sb3VyKFwid2hpdGVcIik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ292dWstY29sb3VyKFwiYmx1ZVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay1zZWxlY3QtLWVycm9yIHtcbiAgICBib3JkZXItY29sb3I6ICRnb3Z1ay1lcnJvci1jb2xvdXI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGdvdnVrLWlucHV0LWJvcmRlci1jb2xvdXI7XG4gICAgfVxuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9pbmRleC5zY3NzLm1hcCAqL1xuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9zZXJ2aWNlLW5hdmlnYXRpb25cIikge1xuICAkZ292dWstc2VydmljZS1uYXZpZ2F0aW9uLWFjdGl2ZS1saW5rLWJvcmRlci13aWR0aDogZ292dWstc3BhY2luZygxKTtcbiAgJGdvdnVrLXNlcnZpY2UtbmF2aWdhdGlvbi1iYWNrZ3JvdW5kOiAkZ292dWstY2FudmFzLWJhY2tncm91bmQtY29sb3VyO1xuICAkZ292dWstc2VydmljZS1uYXZpZ2F0aW9uLWJvcmRlci1jb2xvdXI6ICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuXG4gIC8vIFdlIG1ha2UgdGhlIGxpbmsgY29sb3VyIGEgbGl0dGxlIGRhcmtlciB0aGFuIG5vcm1hbCBoZXJlIHNvIHRoYXQgaXQgaGFzXG4gIC8vIGJldHRlciBwZXJjZXB0dWFsIGNvbnRyYXN0IHdpdGggdGhlIG5hdmlnYXRpb24gYmFja2dyb3VuZC5cbiAgJGdvdnVrLXNlcnZpY2UtbmF2aWdhdGlvbi1saW5rLWNvbG91cjogZ292dWstc2hhZGUoJGdvdnVrLWxpbmstY29sb3VyLCAxMCUpO1xuXG4gIC5nb3Z1ay1zZXJ2aWNlLW5hdmlnYXRpb24ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ292dWstc2VydmljZS1uYXZpZ2F0aW9uLWJvcmRlci1jb2xvdXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLXNlcnZpY2UtbmF2aWdhdGlvbi1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLmdvdnVrLXNlcnZpY2UtbmF2aWdhdGlvbl9fY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG4gIH1cblxuICAvLyBUaGVzZSBzdHlsZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIG5hdiBpdGVtcyBhbmQgdGhlIHNlcnZpY2UgbmFtZSwgdGhleVxuICAvLyBlbnN1cmUgdGhhdCBib3RoIG9mIHRoZW0gcmVtYWluIHZlcnRpY2FsbHkgYWxpZ25lZCB3aXRoIG9uZSBhbm90aGVyXG4gIC5nb3Z1ay1zZXJ2aWNlLW5hdmlnYXRpb25fX2l0ZW0sXG4gIC5nb3Z1ay1zZXJ2aWNlLW5hdmlnYXRpb25fX3NlcnZpY2UtbmFtZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogZ292dWstc3BhY2luZygyKSAwO1xuICAgIGJvcmRlcjogMCBzb2xpZCAkZ292dWstc2VydmljZS1uYXZpZ2F0aW9uLWxpbmstY29sb3VyO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDQpIDA7XG5cbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsICRkaXJlY3Rpb246IHJpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ292dWstc2VydmljZS1uYXZpZ2F0aW9uX19pdGVtLS1hY3RpdmUge1xuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCR1bnRpbDogdGFibGV0KSB7XG4gICAgICAvLyBOZWdhdGl2ZSBvZmZzZXQgdGhlIGxlZnQgbWFyZ2luIHNvIHdlIGNhbiBwbGFjZSBhIGN1cnJlbnQgcGFnZSBpbmRpY2F0b3JcbiAgICAgIC8vIHRvIHRoZSBsZWZ0IHdpdGhvdXQgbWlzYWxpZ25pbmcgdGhlIGxpc3QgaXRlbSB0ZXh0LlxuICAgICAgbWFyZ2luLWxlZnQ6ICgoZ292dWstc3BhY2luZygyKSArICRnb3Z1ay1zZXJ2aWNlLW5hdmlnYXRpb24tYWN0aXZlLWxpbmstYm9yZGVyLXdpZHRoKSAqIC0xKTtcbiAgICAgIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZygyKTtcbiAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAkZ292dWstc2VydmljZS1uYXZpZ2F0aW9uLWFjdGl2ZS1saW5rLWJvcmRlci13aWR0aDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZyg0KSAtICRnb3Z1ay1zZXJ2aWNlLW5hdmlnYXRpb24tYWN0aXZlLWxpbmstYm9yZGVyLXdpZHRoO1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogJGdvdnVrLXNlcnZpY2UtbmF2aWdhdGlvbi1hY3RpdmUtbGluay1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXNlcnZpY2UtbmF2aWdhdGlvbl9fbGluayB7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1uby11bmRlcmxpbmU7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1uby12aXNpdGVkLXN0YXRlO1xuXG4gICAgJjpub3QoOmhvdmVyKTpub3QoOmZvY3VzKSB7XG4gICAgICAvLyBXZSBzZXQgdGhlIGNvbG91ciBoZXJlIGFzIHdlIGRvbid0IHdhbnQgdG8gb3ZlcnJpZGUgdGhlIGhvdmVyIG9yXG4gICAgICAvLyBmb2N1cyBjb2xvdXJzXG4gICAgICBjb2xvcjogJGdvdnVrLXNlcnZpY2UtbmF2aWdhdGlvbi1saW5rLWNvbG91cjtcbiAgICB9XG4gIH1cblxuICAvL1xuICAvLyBTZXJ2aWNlIG5hbWUgc3BlY2lmaWMgY29kZVxuICAvL1xuXG4gIC5nb3Z1ay1zZXJ2aWNlLW5hdmlnYXRpb25fX3NlcnZpY2UtbmFtZSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTksICR3ZWlnaHQ6IGJvbGQpO1xuICB9XG5cbiAgLy8gQW5ub3lpbmdseSB0aGlzIHJlcXVpcmVzIGEgY29tcG91bmQgc2VsZWN0b3IgaW4gb3JkZXIgdG8gb3ZlcmNvbWUgdGhlXG4gIC8vIHNwZWNpZmljaXR5IG9mIHRoZSBvdGhlciBsaW5rIGNvbG91ciBvdmVycmlkZSB3ZSdyZSBkb2luZ1xuICAuZ292dWstc2VydmljZS1uYXZpZ2F0aW9uX19zZXJ2aWNlLW5hbWUgLmdvdnVrLXNlcnZpY2UtbmF2aWdhdGlvbl9fbGluayB7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS10ZXh0O1xuICB9XG5cbiAgLy9cbiAgLy8gTmF2aWdhdGlvbiBsaXN0IHNwZWNpZmljIGNvZGVcbiAgLy9cblxuICAuZ292dWstc2VydmljZS1uYXZpZ2F0aW9uX190b2dnbGUge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5LCAkd2VpZ2h0OiBib2xkKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBtYXJnaW46IGdvdnVrLXNwYWNpbmcoMikgMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBjb2xvcjogJGdvdnVrLXNlcnZpY2UtbmF2aWdhdGlvbi1saW5rLWNvbG91cjtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZ292dWstZm9jdXNlZC10ZXh0O1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLXNoYXBlLWFycm93KCRkaXJlY3Rpb246IGRvd24sICRiYXNlOiAxMHB4LCAkZGlzcGxheTogaW5saW5lLWJsb2NrKTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBtYXJnaW4tbGVmdDogZ292dWstc3BhY2luZygxKTtcbiAgICB9XG5cbiAgICAmW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1zaGFwZS1hcnJvdygkZGlyZWN0aW9uOiB1cCwgJGJhc2U6IDEwcHgsICRkaXNwbGF5OiBpbmxpbmUtYmxvY2spO1xuICAgIH1cblxuICAgIC8vIEVuc3VyZSB0aGUgYnV0dG9uIHN0YXlzIGhpZGRlbiBpZiB0aGUgaGlkZGVuIGF0dHJpYnV0ZSBpcyBwcmVzZW50XG4gICAgJltoaWRkZW5dIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gSWYgd2UgaGF2ZSBib3RoIGEgc2VydmljZSBuYW1lIGFuZCBuYXZpZ2F0aW9uIHRvZ2dsZSwgcmVtb3ZlIHRoZVxuICAgIC8vIG1hcmdpbi10b3Agc28gdGhhdCB0aGVyZSBpc24ndCBhIGJ1bmNoIG9mIHNwYWNlIGJldHdlZW4gdGhlbVxuICAgIC5nb3Z1ay1zZXJ2aWNlLW5hdmlnYXRpb25fX3NlcnZpY2UtbmFtZSArIC5nb3Z1ay1zZXJ2aWNlLW5hdmlnYXRpb25fX3dyYXBwZXIgJiB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1zZXJ2aWNlLW5hdmlnYXRpb25fX2xpc3Qge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICAvLyBNYWtlIHRoZSBuYXZpZ2F0aW9uIGxpc3QgYSBmbGV4Ym94LiBEb2luZyBzbyByZXNvbHZlcyBhIGNvdXBsZSBvZlxuICAgIC8vIGFjY2Vzc2liaWxpdHkgcHJvYmxlbXMgY2F1c2VkIGJ5IHRoZSBsaXN0IGl0ZW1zIGJlaW5nIGlubGluZS1ibG9ja3M6XG4gICAgLy8gLSBSZW1vdmVzIHRoZSBleHRyYSB3aGl0ZXNwYWNlIGZyb20gYmV0d2VlbiBlYWNoIGxpc3QgaXRlbSB0aGF0IHNjcmVlblxuICAgIC8vICAgcmVhZGVycyB3b3VsZCBwb2ludGxlc3NseSBhbm5vdW5jZS5cbiAgICAvLyAtIEZpeGVzIGFuIE5WREEgaXNzdWUgaW4gRmlyZWZveCBhbmQgQ2hyb21lIDw9IDEyNCB3aGVyZSBpdCB3b3VsZCByZWFkXG4gICAgLy8gICBhbGwgb2YgdGhlIGxpbmtzIGFzIGEgcnVuLW9uIHNlbnRlbmNlLlxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAvLyBIb3dldmVyLi4uIElFMTEgdG90YWxseSB0cmlwcyBvdmVyIGZsZXhib3ggYW5kIGRvZXNuJ3Qgd3JhcCBhbnl0aGluZyxcbiAgICAgIC8vIG1ha2luZyBhbGwgb2YgdGhlIGl0ZW1zIGludG8gYSBzaW5nbGUsIGhvcml6b250YWxseSBzY3JvbGxpbmcgcm93LFxuICAgICAgLy8gd2hpY2ggaXMgbm8gZ29vZC4gVGhpcyBDU1MgaGFjayByZW1vdmVzIHRoZSBmbGV4Ym94IGRlZmluaXRpb24gZm9yXG4gICAgICAvLyBJRSAxMCAmIDExLCByZXZlcnRpbmcgaXQgdG8gdGhlIGZsYXdlZCwgYnV0IE9LLCBub24tZmxleGJveCB2ZXJzaW9uLlxuICAgICAgLy9cbiAgICAgIC8vIENTUyBoYWNrIHRha2VuIGZyb20gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMTExNzMxMDYvYXBwbHktc3R5bGUtb25seS1vbi1pZSNhbnN3ZXItMzY0NDg4NjBcbiAgICAgIC8vIHdoaWNoIGFsc28gaW5jbHVkZXMgYW4gZXhwbGFuYXRpb24gb2Ygd2h5IHRoaXMgd29ya3NcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFRoaXMgaXMgYSA8c3Ryb25nPiBlbGVtZW50IHRoYXQgaXMgdXNlZCBhcyBhIGZhbGxiYWNrIG1lY2hhbmlzbSBmb3JcbiAgLy8gdmlzdWFsbHkgaW5kaWNhdGluZyB0aGUgY3VycmVudCBwYWdlIGluIHNjZW5hcmlvcyB3aGVyZSBDU1MgaXNuJ3RcbiAgLy8gYXZhaWxhYmxlLiBXZSBkb24ndCBhY3R1YWxseSB3YW50IGl0IHRvIGJlIGJvbGQgbm9ybWFsbHksIHNvIHNldCBpdCB0b1xuICAvLyBpbmhlcml0IHRoZSBwYXJlbnQgZm9udC13ZWlnaHQuXG4gIC5nb3Z1ay1zZXJ2aWNlLW5hdmlnYXRpb25fX2FjdGl2ZS1mYWxsYmFjayB7XG4gICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2luZGV4LnNjc3MubWFwICovXG4iLCIvLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnMvYWNjZXNzaWJpbGl0eVxuLy8vL1xuXG4vLy8gSGVscGVyIGZ1bmN0aW9uIGNvbnRhaW5pbmcgdGhlIGNvbW1vbiBjb2RlIGZvciB0aGUgZm9sbG93aW5nIHR3byBtaXhpbnNcbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5XG4vLy8gICAtIEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5LCBKb25hdGhhbiBTbm9vaywgRmVicnVhcnkgMjAxMVxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvOWYxMzY5NWQyMWZmOTJjNTVjNzhkZmE5ZjE2YmIwMmExYjZlOTExZi9zcmMvY3NzL21haW4uY3NzI0wxMjEtTDE1OFxuLy8vICAgLSBoNWJwL2h0bWw1LWJvaWxlcnBsYXRlIC0gVGhhbmtzIVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW1wb3J0YW50IFt0cnVlXSAtIFdoZXRoZXIgdG8gbWFyayBhcyBgIWltcG9ydGFudGBcbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuXG5AbWl4aW4gX2dvdnVrLXZpc3VhbGx5LWhpZGUtY29udGVudCgkaW1wb3J0YW50OiB0cnVlKSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcblxuICB3aWR0aDogMXB4IGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuICBoZWlnaHQ6IDFweCBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcbiAgLy8gSWYgbWFyZ2luIGlzIHNldCB0byBhIG5lZ2F0aXZlIHZhbHVlIGl0IGNhbiBjYXVzZSB0ZXh0IHRvIGJlIGFubm91bmNlZCBpblxuICAvLyB0aGUgd3Jvbmcgb3JkZXIgaW4gVm9pY2VPdmVyIGZvciBPU1hcbiAgbWFyZ2luOiAwIGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuICBwYWRkaW5nOiAwIGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuXG4gIG92ZXJmbG93OiBoaWRkZW4gaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG5cbiAgLy8gYGNsaXBgIGlzIG5lZWRlZCBmb3IgSUUxMSBzdXBwb3J0XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCkgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG4gIC13ZWJraXQtY2xpcC1wYXRoOiBpbnNldCg1MCUpIGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICAgICAgIGNsaXAtcGF0aDogaW5zZXQoNTAlKSBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcblxuICBib3JkZXI6IDAgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG5cbiAgLy8gRm9yIGxvbmcgY29udGVudCwgbGluZSBmZWVkcyBhcmUgbm90IGludGVycHJldGVkIGFzIHNwYWNlcyBhbmQgc21hbGwgd2lkdGhcbiAgLy8gY2F1c2VzIGNvbnRlbnQgdG8gd3JhcCAxIHdvcmQgcGVyIGxpbmU6XG4gIC8vIGh0dHBzOi8vbWVkaXVtLmNvbS9AamVzc2ViZWFjaC9iZXdhcmUtc211c2hlZC1vZmYtc2NyZWVuLWFjY2Vzc2libGUtdGV4dC01OTUyYTRjMmNiZmVcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcblxuICAvLyBQcmV2ZW50IHVzZXJzIGZyb20gc2VsZWN0aW5nIG9yIGNvcHlpbmcgdmlzdWFsbHktaGlkZGVuIHRleHQuIFRoaXMgcHJldmVudHNcbiAgLy8gYSB1c2VyIHVuaW50ZW50aW9uYWxseSBjb3B5aW5nIG1vcmUgdGV4dCB0aGFuIHRoZXkgaW50ZW5kZWQgYW5kIG5lZWRpbmcgdG9cbiAgLy8gbWFudWFsbHkgdHJpbSBpdCBkb3duIGFnYWluLlxuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbXBvcnRhbnQgW3RydWVdIC0gV2hldGhlciB0byBtYXJrIGFzIGAhaW1wb3J0YW50YFxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLXZpc3VhbGx5LWhpZGRlbigkaW1wb3J0YW50OiB0cnVlKSB7XG4gIEBpbmNsdWRlIF9nb3Z1ay12aXN1YWxseS1oaWRlLWNvbnRlbnQoJGltcG9ydGFudDogJGltcG9ydGFudCk7XG5cbiAgLy8gQWJzb2x1dGUgcG9zaXRpb25pbmcgaGFzIHRoZSB1bmludGVuZGVkIGNvbnNlcXVlbmNlIG9mIHJlbW92aW5nIGFueVxuICAvLyB3aGl0ZXNwYWNlIHN1cnJvdW5kaW5nIHZpc3VhbGx5IGhpZGRlbiB0ZXh0IGZyb20gdGhlIGFjY2Vzc2liaWxpdHkgdHJlZS5cbiAgLy8gSW5zZXJ0IGEgc3BhY2UgY2hhcmFjdGVyIGJlZm9yZSBhbmQgYWZ0ZXIgdmlzdWFsbHkgaGlkZGVuIHRleHQgdG8gc2VwYXJhdGVcbiAgLy8gaXQgZnJvbSBhbnkgdmlzaWJsZSB0ZXh0IHN1cnJvdW5kaW5nIGl0LlxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFwwMGEwXCI7XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogXCJcXDAwYTBcIjtcbiAgfVxufVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzIHdoaWxzdFxuLy8vIGFsbG93aW5nIHRoZSBlbGVtZW50IHRvIGJlIGZvY3VzZWQgd2hlbiBuYXZpZ2F0ZWQgdG8gdmlhIHRoZSBrZXlib2FyZCAoZS5nLlxuLy8vIGZvciB0aGUgc2tpcCBsaW5rKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW1wb3J0YW50IFt0cnVlXSAtIFdoZXRoZXIgdG8gbWFyayBhcyBgIWltcG9ydGFudGBcbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay12aXN1YWxseS1oaWRkZW4tZm9jdXNhYmxlKCRpbXBvcnRhbnQ6IHRydWUpIHtcbiAgLy8gSUUgMTEgZG9lc24ndCBzdXBwb3J0IHRoZSBjb21iaW5lZCBgOm5vdCg6YWN0aXZlLCA6Zm9jdXMpYCBzeW50YXguXG4gICY6bm90KDphY3RpdmUpOm5vdCg6Zm9jdXMpIHtcbiAgICBAaW5jbHVkZSBfZ292dWstdmlzdWFsbHktaGlkZS1jb250ZW50KCRpbXBvcnRhbnQ6ICRpbXBvcnRhbnQpO1xuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV92aXN1YWxseS1oaWRkZW4uc2Nzcy5tYXAgKi9cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvc2tpcC1saW5rXCIpIHtcbiAgLmdvdnVrLXNraXAtbGluayB7XG4gICAgQGluY2x1ZGUgZ292dWstdmlzdWFsbHktaGlkZGVuLWZvY3VzYWJsZTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LWNvbW1vbjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWRlY29yYXRpb247XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS10ZXh0O1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQtc2l6ZSgkc2l6ZTogMTYpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogZ292dWstc3BhY2luZygyKSBnb3Z1ay1zcGFjaW5nKDMpO1xuXG4gICAgLy8gUmVzcGVjdCAnZGlzcGxheSBjdXRvdXQnIHNhZmUgYXJlYSAoYXZvaWRzIG5vdGNoZXMgYW5kIHJvdW5kZWQgY29ybmVycylcbiAgICBAc3VwcG9ydHMgKHBhZGRpbmc6IHVucXVvdGUoXCJtYXgoY2FsYygwcHgpKVwiKSkge1xuICAgICAgJHBhZGRpbmctc2FmZS1hcmVhLXJpZ2h0OiBjYWxjKCN7Z292dWstc3BhY2luZygzKX0gKyBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0KSk7XG4gICAgICAkcGFkZGluZy1zYWZlLWFyZWEtbGVmdDogY2FsYygje2dvdnVrLXNwYWNpbmcoMyl9ICsgZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0KSk7XG5cbiAgICAgIC8vIFVzZSBtYXgoKSB0byBwaWNrIGxhcmdlc3QgcGFkZGluZywgZGVmYXVsdCBvciB3aXRoIHNhZmUgYXJlYVxuICAgICAgLy8gRXNjYXBlZCBkdWUgdG8gU2FzcyBtYXgoKSB2cy4gQ1NTIG5hdGl2ZSBtYXgoKVxuICAgICAgcGFkZGluZy1yaWdodDogdW5xdW90ZShcIm1heCgje2dvdnVrLXNwYWNpbmcoMyl9LCAjeyRwYWRkaW5nLXNhZmUtYXJlYS1yaWdodH0pXCIpO1xuICAgICAgcGFkZGluZy1sZWZ0OiB1bnF1b3RlKFwibWF4KCN7Z292dWstc3BhY2luZygzKX0sICN7JHBhZGRpbmctc2FmZS1hcmVhLWxlZnR9KVwiKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6ICRnb3Z1ay1mb2N1cy13aWR0aCBzb2xpZCAkZ292dWstZm9jdXMtY29sb3VyO1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstZm9jdXMtY29sb3VyO1xuXG4gICAgICAvLyBVbmRvIHVud2FudGVkIGNoYW5nZXMgd2hlbiBnbG9iYWwgc3R5bGVzIGFyZSBlbmFibGVkXG4gICAgICBAaWYgJGdvdnVrLWdsb2JhbC1zdHlsZXMge1xuICAgICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWRlY29yYXRpb247XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXNraXAtbGluay1mb2N1c2VkLWVsZW1lbnQge1xuICAgICY6Zm9jdXMge1xuICAgICAgLy8gUmVtb3ZlIHRoZSBuYXRpdmUgdmlzaWJsZSBmb2N1cyBpbmRpY2F0b3Igd2hlbiB0aGUgZWxlbWVudCBpc1xuICAgICAgLy8gcHJvZ3JhbW1hdGljYWxseSBmb2N1c2VkLlxuICAgICAgLy9cbiAgICAgIC8vIFdlIHNldCB0aGUgZm9jdXMgb24gdGhlIGxpbmtlZCBlbGVtZW50ICh0aGlzIGlzIHVzdWFsbHkgdGhlIDxtYWluPlxuICAgICAgLy8gZWxlbWVudCkgd2hlbiB0aGUgc2tpcCBsaW5rIGlzIGFjdGl2YXRlZCB0byBpbXByb3ZlIHNjcmVlbiByZWFkZXJcbiAgICAgIC8vIGFubm91bmNlbWVudHMuIEhvd2V2ZXIsIHdlIHJlbW92ZSB0aGUgdmlzaWJsZSBmb2N1cyBpbmRpY2F0b3IgZnJvbSB0aGVcbiAgICAgIC8vIGxpbmtlZCBlbGVtZW50IGJlY2F1c2UgdGhlIHVzZXIgY2Fubm90IGludGVyYWN0IHdpdGggaXQuXG4gICAgICAvL1xuICAgICAgLy8gQSByZWxhdGVkIGRpc2N1c3Npb246IGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2NhZy9pc3N1ZXMvMTAwMVxuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2luZGV4LnNjc3MubWFwICovXG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3N1bW1hcnktbGlzdFwiKSB7XG4gIC5nb3Z1ay1zdW1tYXJ5LWxpc3Qge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZDsgLy8gUmVxdWlyZWQgdG8gYWxsb3cgdXMgdG8gd3JhcCB3b3JkcyB0aGF0IG92ZXJmbG93LlxuICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICB9XG4gICAgbWFyZ2luOiAwOyAvLyBSZXNldCBkZWZhdWx0IHVzZXIgYWdlbnQgc3R5bGVzXG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstc3VtbWFyeS1saXN0X19yb3cge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCR1bnRpbDogdGFibGV0KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVtb3ZlIHJpZ2h0IHBhZGRpbmcgZnJvbSB0aGUgbGFzdCBjb2x1bW4gaW4gdGhlIHJvd1xuICAuZ292dWstc3VtbWFyeS1saXN0X19yb3c6bm90KC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX3Jvdy0tbm8tYWN0aW9ucykgPiA6bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuXG4gIC8vIFByb3ZpZGUgYW4gZW1wdHkgJ2NlbGwnIGZvciByb3dzIHRoYXQgZG9uJ3QgaGF2ZSBhY3Rpb25zIOKAkyBvdGhlcndpc2UgdGhlXG4gIC8vIGJvdHRvbSBib3JkZXIgaXMgbm90IGRyYXduIGZvciB0aGF0IHBhcnQgb2YgdGhlIHJvdyBpbiBzb21lIGJyb3dzZXJzLlxuICAuZ292dWstc3VtbWFyeS1saXN0X19yb3ctLW5vLWFjdGlvbnMge1xuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgd2lkdGg6IDIwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ292dWstc3VtbWFyeS1saXN0X19rZXksXG4gIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlLFxuICAuZ292dWstc3VtbWFyeS1saXN0X19hY3Rpb25zIHtcbiAgICBtYXJnaW46IDA7IC8vIFJlc2V0IGRlZmF1bHQgdXNlciBhZ2VudCBzdHlsZXNcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygyKTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IGdvdnVrLXNwYWNpbmcoNCk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstc3VtbWFyeS1saXN0X19hY3Rpb25zIHtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHdpZHRoOiAyMCU7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstc3VtbWFyeS1saXN0X19rZXksXG4gIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlIHtcbiAgICAvLyBBdXRvbWF0aWMgd3JhcHBpbmcgZm9yIHVuYnJlYWthYmxlIHRleHQgKGUuZy4gVVJMcylcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7IC8vIEZhbGxiYWNrIGZvciBvbGRlciBicm93c2VycyBvbmx5XG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgfVxuXG4gIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSB7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1ib2xkO1xuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHdpZHRoOiAzMCU7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUge1xuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCR1bnRpbDogdGFibGV0KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlID4gcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgfVxuXG4gIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAuZ292dWstc3VtbWFyeS1saXN0X19hY3Rpb25zLWxpc3Qge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDsgLy8gUmVzZXQgZGVmYXVsdCB1c2VyIGFnZW50IHN0eWxlc1xuICAgIHBhZGRpbmc6IDA7IC8vIFJlc2V0IGRlZmF1bHQgdXNlciBhZ2VudCBzdHlsZXNcbiAgfVxuXG4gIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX2FjdGlvbnMtbGlzdC1pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cblxuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkdW50aWw6IHRhYmxldCkge1xuICAgIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX2FjdGlvbnMtbGlzdC1pdGVtIHtcbiAgICAgIG1hcmdpbi1yaWdodDogZ292dWstc3BhY2luZygyKTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcbiAgICB9XG5cbiAgICAuZ292dWstc3VtbWFyeS1saXN0X19hY3Rpb25zLWxpc3QtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX2FjdGlvbnMtbGlzdC1pdGVtIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIH1cblxuICAgIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX2FjdGlvbnMtbGlzdC1pdGVtOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gICAgfVxuXG4gICAgLmdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9ucy1saXN0LWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gTGFyZ2UgZ3JvdXBzIG9mIGFjdGlvbiBsaW5rcyBtYXkgd3JhcCBvbnRvIG11bHRpcGxlIGxpbmVzLiBCZWNhdXNlIHRoZSBsaW5rXG4gIC8vIGZvY3VzIHN0eWxlcyBhcmUgYXBwbGllZCBvdXRzaWRlIG9mIHRoZSBsaW5rJ3MgYm91bmRpbmcgYm94LCB0aGVyZSBhcmVcbiAgLy8gc2l0dWF0aW9ucyB3aGVyZSB0aGUgZm9jdXMgc3R5bGUgb24gYSBsaW5rIGNhbiBiZSBvdmVybGFwcGVkIGJ5IHN1YnNlcXVlbnRcbiAgLy8gbGlua3MuIFdlIGRvbid0IHdhbnQgdGhpcywgc28gbGV0J3MgY3JlYXRlIGEgbmV3IHN0YWNraW5nIGNvbnRleHQgb24gZm9jdXNcbiAgLy8gc28gdGhlIGxpbmsgYWx3YXlzIGFwcGVhcnMgdG8gYmUgJ29uIHRvcCcuXG4gIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX2FjdGlvbnMtbGlzdC1pdGVtIC5nb3Z1ay1saW5rOmZvY3VzIHtcbiAgICBpc29sYXRpb246IGlzb2xhdGU7XG4gIH1cblxuICAvLyBObyBib3JkZXIgb24gZW50aXJlIHN1bW1hcnkgbGlzdFxuICAuZ292dWstc3VtbWFyeS1saXN0LS1uby1ib3JkZXIge1xuICAgIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX3JvdyB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuXG4gICAgLy8gSW5jcmVhc2UgcGFkZGluZyBieSAxcHggdG8gY29tcGVuc2F0ZSBmb3IgJ21pc3NpbmcnIGJvcmRlclxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSxcbiAgICAgIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlLFxuICAgICAgLmdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9ucyB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpICsgMXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE5vIGJvcmRlciBvbiBzcGVjaWZpYyByb3dzXG4gIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX3Jvdy0tbm8tYm9yZGVyIHtcbiAgICBib3JkZXI6IDA7XG5cbiAgICAvLyBJbmNyZWFzZSBwYWRkaW5nIGJ5IDFweCB0byBjb21wZW5zYXRlIGZvciAnbWlzc2luZycgYm9yZGVyXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgLmdvdnVrLXN1bW1hcnktbGlzdF9fa2V5LFxuICAgICAgLmdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUsXG4gICAgICAuZ292dWstc3VtbWFyeS1saXN0X19hY3Rpb25zIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoMikgKyAxcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQWRkaXRpb25hbCBibG9jayBmb3IgdGhlIHN1bW1hcnkgY2FyZFxuICAuZ292dWstc3VtbWFyeS1jYXJkIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcbiAgfVxuXG4gIC5nb3Z1ay1zdW1tYXJ5LWNhcmRfX3RpdGxlLXdyYXBwZXIge1xuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMyk7XG5cbiAgICAvLyBFbnN1cmVzIHRoZSBjYXJkIGhlYWRlciBhcHBlYXJzIHNlcGFyYXRlIHRvIHRoZSBzdW1tYXJ5IGxpc3QgaW4gZm9yY2VkXG4gICAgLy8gY29sb3VycyBtb2RlXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IGdvdnVrLWNvbG91cihcImxpZ2h0LWdyZXlcIik7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogXCJ0YWJsZXRcIikge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgcGFkZGluZzogZ292dWstc3BhY2luZygzKSBnb3Z1ay1zcGFjaW5nKDQpO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1zdW1tYXJ5LWNhcmRfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSwgJHdlaWdodDogYm9sZCk7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgbWFyZ2luOiBnb3Z1ay1zcGFjaW5nKDEpIGdvdnVrLXNwYWNpbmcoNCkgZ292dWstc3BhY2luZygyKSAwO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IFwidGFibGV0XCIpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMSk7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktY2FyZF9fYWN0aW9ucyB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udC1zaXplKCRzaXplOiAxOSk7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICByb3ctZ2FwOiAxMHB4O1xuICAgIG1hcmdpbjogZ292dWstc3BhY2luZygxKSAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiBcInRhYmxldFwiKSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHJpZ2h0O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktY2FyZF9fYWN0aW9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgbWFyZ2luOiAwIGdvdnVrLXNwYWNpbmcoMikgMCAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogXCJ0YWJsZXRcIikge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgIC8vIFdlIHVzZSB0aGUgZm9sbG93aW5nIG1lZGlhIHF1ZXJ5IHRvIHRhcmdldCBJRTExIGFuZCAxMCBvbmx5IHRvIGFkZCBtYXJnaW5cbiAgICAvLyBiZXR3ZWVuIGFjdGlvbnMuXG4gICAgLy9cbiAgICAvLyBXZSBkbyB0aGlzIGJlY2F1c2Ugd2UncmUgdXNpbmcgcm93LWdhcCB0byBjcmVhdGUgc3BhY2UgYmV0d2VlbiBhY3Rpb25zIG9uXG4gICAgLy8gbW9yZSBldmVyZ3JlZW4gYnJvd3NlcnMgd2hpY2ggSUUgZG9lc24ndCBzdXBwb3J0LiBAc3VwcG9ydHMgY3VycmVudGx5IGlzbid0XG4gICAgLy8gYSB2aWFibGUgc29sdXRpb24sIHNlZSBodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLWRyYWZ0cy9pc3N1ZXMvMzU1OS5cbiAgICAvL1xuICAgIC8vIFNvbHV0aW9uIHRha2VuIGZyb20gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMTExNzMxMDYvYXBwbHktc3R5bGUtb25seS1vbi1pZSNhbnN3ZXItMzY0NDg4NjBcbiAgICAvLyB3aGljaCBhbHNvIGluY2x1ZGVzIGFuIGV4cGxhbmF0aW9uIG9mIHdoeSB0aGlzIHdvcmtzXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMSk7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktY2FyZF9fYWN0aW9uOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1yaWdodDogbm9uZTtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiBcInRhYmxldFwiKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgfVxuXG4gICAgLy8gU2VlIGFib3ZlIGNvbW1lbnQgZm9yIHdoeSB0aGlzIGlzIGhlcmVcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstc3VtbWFyeS1jYXJkX19jb250ZW50IHtcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDMpIGdvdnVrLXNwYWNpbmcoMykgMDtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiBcInRhYmxldFwiKSB7XG4gICAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDMpIGdvdnVrLXNwYWNpbmcoNCk7XG4gICAgfVxuXG4gICAgLmdvdnVrLXN1bW1hcnktbGlzdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX3JvdzpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9pbmRleC5zY3NzLm1hcCAqL1xuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC90YWJsZVwiKSB7XG4gIC5nb3Z1ay10YWJsZSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuXG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgfVxuXG4gIEBpZiAkZ292dWstbmV3LXR5cG9ncmFwaHktc2NhbGUge1xuICAgIC8vIE1vZGlmaWVyIGZvciB0YWJsZXMgd2l0aCBhIGxvdCBvZiBkYXRhLiBUYWJsZXMgd2l0aCBsb3RzIG9mIGRhdGEgYmVuZWZpdFxuICAgIC8vIGZyb20gYSBzbWFsbGVyIGZvbnQgc2l6ZSBvbiBzbWFsbCBzY3JlZW5zLlxuICAgIC5nb3Z1ay10YWJsZS0tc21hbGwtdGV4dC11bnRpbC10YWJsZXQge1xuICAgICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJHVudGlsOiB0YWJsZXQpIHtcbiAgICAgICAgQGluY2x1ZGUgZ292dWstZm9udC1zaXplKCRzaXplOiAxNik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXRhYmxlX19oZWFkZXIge1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LWJvbGQ7XG4gIH1cblxuICAuZ292dWstdGFibGVfX2hlYWRlcixcbiAgLmdvdnVrLXRhYmxlX19jZWxsIHtcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDIpIGdvdnVrLXNwYWNpbmcoNCkgZ292dWstc3BhY2luZygyKSAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cblxuICAuZ292dWstdGFibGVfX2NlbGwtLW51bWVyaWMge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQtdGFidWxhci1udW1iZXJzO1xuICB9XG5cbiAgLmdvdnVrLXRhYmxlX19oZWFkZXItLW51bWVyaWMsXG4gIC5nb3Z1ay10YWJsZV9fY2VsbC0tbnVtZXJpYyB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cblxuICAuZ292dWstdGFibGVfX2hlYWRlcjpsYXN0LWNoaWxkLFxuICAuZ292dWstdGFibGVfX2NlbGw6bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuXG4gIC5nb3Z1ay10YWJsZV9fY2FwdGlvbiB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZDtcblxuICAgIGRpc3BsYXk6IHRhYmxlLWNhcHRpb247XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuXG4gIC8vIE1vZGlmaWVycyB0aGF0IG1ha2UgY2FwdGlvbnMgbG9vayBtb3JlIGxpa2UgdGhlaXIgZXF1aXZhbGVudCBoZWFkaW5nc1xuICAuZ292dWstdGFibGVfX2NhcHRpb24tLXhsLFxuICAuZ292dWstdGFibGVfX2NhcHRpb24tLWwsXG4gIC5nb3Z1ay10YWJsZV9fY2FwdGlvbi0tbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgfVxuXG4gIC5nb3Z1ay10YWJsZV9fY2FwdGlvbi0teGwge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQtc2l6ZSgkc2l6ZTogNDgpO1xuICB9XG5cbiAgLmdvdnVrLXRhYmxlX19jYXB0aW9uLS1sIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250LXNpemUoJHNpemU6IDM2KTtcbiAgfVxuXG4gIC5nb3Z1ay10YWJsZV9fY2FwdGlvbi0tbSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udC1zaXplKCRzaXplOiAyNCk7XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2luZGV4LnNjc3MubWFwICovXG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3RhYnNcIikge1xuICAuZ292dWstdGFicyB7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oMSwgXCJ0b3BcIik7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIik7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICB9XG5cbiAgLmdvdnVrLXRhYnNfX3RpdGxlIHtcbiAgICAvLyBTZXQgdGhlIHNpemUgYW5kIHdlaWdodCBhZ2FpbiBiZWNhdXNlIHRoaXMgZWxlbWVudCBpcyBhIGhlYWRpbmcgYW5kIHRoZVxuICAgIC8vIHVzZXIgYWdlbnQgZm9udCBzaXplIG92ZXJyaWRlcyB0aGUgaW5oZXJpdGVkIGZvbnQgc2l6ZVxuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQtc2l6ZSgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LXJlZ3VsYXI7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgfVxuXG4gIC5nb3Z1ay10YWJzX19saXN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLXRhYnNfX2xpc3QtaXRlbSB7XG4gICAgbWFyZ2luLWxlZnQ6IGdvdnVrLXNwYWNpbmcoNSk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgICBjb250ZW50OiBcIlxcMjAxNCBcIjsgLy8gXCLigJQgXCJcbiAgICAgIG1hcmdpbi1sZWZ0OiBnb3Z1ay1zcGFjaW5nKC01KTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMSk7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXRhYnNfX3RhYiB7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1kZWZhdWx0O1xuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gIH1cblxuICAuZ292dWstdGFic19fcGFuZWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDgsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLy8gR09WLlVLIEZyb250ZW5kIEphdmFTY3JpcHQgZW5hYmxlZFxuICAuZ292dWstZnJvbnRlbmQtc3VwcG9ydGVkIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICAuZ292dWstdGFic19fbGlzdCB7XG4gICAgICAgIEBpbmNsdWRlIGdvdnVrLWNsZWFyZml4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gICAgICB9XG5cbiAgICAgIC5nb3Z1ay10YWJzX190aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC5nb3Z1ay10YWJzX19saXN0LWl0ZW0ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgcGFkZGluZzogZ292dWstc3BhY2luZygyKSBnb3Z1ay1zcGFjaW5nKDQpO1xuXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJsaWdodC1ncmV5XCIpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5nb3Z1ay10YWJzX19saXN0LWl0ZW0tLXNlbGVjdGVkIHtcbiAgICAgICAgJGJvcmRlci13aWR0aDogMXB4O1xuXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBtYXJnaW4tdG9wOiBnb3Z1ay1zcGFjaW5nKC0xKTtcblxuICAgICAgICAvLyBDb21wZW5zYXRpb24gZm9yIGJvcmRlciAob3RoZXJ3aXNlIHdlIGdldCBhIHNoaWZ0KVxuICAgICAgICBtYXJnaW4tYm90dG9tOiAtJGJvcmRlci13aWR0aDtcbiAgICAgICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMykgLSAkYm9yZGVyLXdpZHRoO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDQpIC0gJGJvcmRlci13aWR0aDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoMykgKyAkYm9yZGVyLXdpZHRoO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IGdvdnVrLXNwYWNpbmcoNCkgLSAkYm9yZGVyLXdpZHRoO1xuXG4gICAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcblxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstYm9keS1iYWNrZ3JvdW5kLWNvbG91cjtcblxuICAgICAgICAuZ292dWstdGFic19fdGFiIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmdvdnVrLXRhYnNfX3RhYiB7XG4gICAgICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtdGV4dDtcblxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmdvdnVrLXRhYnNfX3BhbmVsIHtcbiAgICAgICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oMCwgXCJib3R0b21cIik7XG4gICAgICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoNikgZ292dWstc3BhY2luZyg0KTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gICAgICAgIGJvcmRlci10b3A6IDA7XG5cbiAgICAgICAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5nb3Z1ay10YWJzX19wYW5lbC0taGlkZGVuIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2luZGV4LnNjc3MubWFwICovXG4iLCJAaW1wb3J0IFwiLi4vdGFnL2luZGV4XCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvdGFzay1saXN0XCIpIHtcbiAgJGdvdnVrLXRhc2stbGlzdC1ob3Zlci1jb2xvdXI6IGdvdnVrLWNvbG91cihcImxpZ2h0LWdyZXlcIik7XG5cbiAgLmdvdnVrLXRhc2stbGlzdCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIik7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIH1cblxuICAvLyBUaGlzIHVzZXMgdGFibGUgbGF5b3V0IHNvIHRoYXQgdGhlIHRhc2sgbmFtZSBhbmQgc3RhdHVzIGFsd2F5cyBhcHBlYXJcbiAgLy8gc2lkZS1ieS1zaWRlLCB3aXRoIHRoZSB3aWR0aCBvZiBlYWNoICdjb2x1bW4nIGJlaW5nIGZsZXhpYmxlIGRlcGVuZGluZyB1cG9uXG4gIC8vIHRoZSBsZW5ndGggb2YgdGhlIHRhc2sgbmFtZXMgYW5kIHN0YXR1c2VzLlxuICAvL1xuICAvLyBUaGUgcG9zaXRpb24gaXMgc2V0IHRvICdyZWxhdGl2ZScgc28gdGhhbiBhbiBhYnNvbHV0ZWx5LXBvc2l0aW9uZWRcbiAgLy8gdHJhbnNwYXJlbnQgZWxlbWVudCBib3ggY2FuIGJlIGFkZGVkIHdpdGhpbiB0aGUgbGluayBzbyB0aGF0IHRoZSB3aG9sZSByb3dcbiAgLy8gY2FuIGJlIGNsaWNrYWJsZS5cbiAgLmdvdnVrLXRhc2stbGlzdF9faXRlbSB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICB9XG5cbiAgLmdvdnVrLXRhc2stbGlzdF9faXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICB9XG5cbiAgLy8gVGhpcyBjbGFzcyBpcyBhZGRlZCB0byB0aGUgPGxpPiBlbGVtZW50cyB3aGVyZSB0aGUgdGFzayBuYW1lIGlzIGEgbGluay4gVGhlXG4gIC8vIGJhY2tncm91bmQgaG92ZXIgY29sb3VyIGlzIGFkZGVkIHRvIGhlbHAgaW5kaWNhdGUgdGhhdCB0aGUgd2hvbGUgcm93IGlzXG4gIC8vIGNsaWNrYWJsZSwgcmF0aGVyIHRoYW4ganVzdCB0aGUgdmlzaWJsZSBsaW5rIHRleHQuXG4gIC5nb3Z1ay10YXNrLWxpc3RfX2l0ZW0tLXdpdGgtbGluazpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJGdvdnVrLXRhc2stbGlzdC1ob3Zlci1jb2xvdXI7XG4gIH1cblxuICAuZ292dWstdGFzay1saXN0X19uYW1lLWFuZC1oaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gIH1cblxuICAuZ292dWstdGFzay1saXN0X19zdGF0dXMge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gIH1cblxuICAuZ292dWstdGFzay1saXN0X19zdGF0dXMtLWNhbm5vdC1zdGFydC15ZXQge1xuICAgIGNvbG9yOiAkZ292dWstc2Vjb25kYXJ5LXRleHQtY29sb3VyO1xuICB9XG5cbiAgLy8gVGhpcyBhZGRzIGFuIGVtcHR5IHRyYW5zcGFyZW50IGJveCBjb3ZlcmluZyB0aGUgd2hvbGUgcm93LCBpbmNsdWRpbmcgdGhlXG4gIC8vIHRhc2sgc3RhdHVzIGFuZCBhbnkgaGludCB0ZXh0LiBCZWNhdXNlIHRoaXMgaXMgZ2VuZXJhdGVkIHdpdGhpbiB0aGUgbGlua1xuICAvLyBlbGVtZW50LCB0aGlzIGFsbG93cyB0aGUgd2hvbGUgYXJlYSB0byBiZSBjbGlja2FibGUuXG4gIC5nb3Z1ay10YXNrLWxpc3RfX2xpbms6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICAuZ292dWstdGFzay1saXN0X19oaW50IHtcbiAgICBtYXJnaW4tdG9wOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgIGNvbG9yOiAkZ292dWstc2Vjb25kYXJ5LXRleHQtY29sb3VyO1xuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9pbmRleC5zY3NzLm1hcCAqL1xuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC93YXJuaW5nLXRleHRcIikge1xuICAuZ292dWstd2FybmluZy10ZXh0IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIik7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogZ292dWstc3BhY2luZygyKSAwO1xuICB9XG5cbiAgLmdvdnVrLXdhcm5pbmctdGV4dF9faWNvbiB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuXG4gICAgbWluLXdpZHRoOiAzNXB4O1xuICAgIG1pbi1oZWlnaHQ6IDM1cHg7XG4gICAgbWFyZ2luLXRvcDogLTdweDtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIG1hcmdpbi10b3A6IC01cHg7XG4gICAgfVxuXG4gICAgLy8gV2hlbiBhIHVzZXIgY3VzdG9taXNlcyB0aGVpciBjb2xvdXJzIHRoZSBiYWNrZ3JvdW5kIGNvbG91ciB3aWxsIG9mdGVuIGJlXG4gICAgLy8gcmVtb3ZlZC4gQWRkaW5nIGEgYm9yZGVyIHRvIHRoZSBjb21wb25lbnQga2VlcHMgaXQncyBzaGFwZSBhcyBhIGNpcmNsZS5cbiAgICBib3JkZXI6IDNweCBzb2xpZCAkZ292dWstdGV4dC1jb2xvdXI7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gICAgY29sb3I6ICRnb3Z1ay1ib2R5LWJhY2tncm91bmQtY29sb3VyO1xuICAgIGJhY2tncm91bmQ6ICRnb3Z1ay10ZXh0LWNvbG91cjtcblxuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICBsaW5lLWhlaWdodDogMjlweDtcblxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIC8vIFByZXZlbnQgdGhlIGV4Y2xhbWF0aW9uIG1hcmsgZnJvbSBiZWluZyBpbmNsdWRlZCB3aGVuIHRoZSB3YXJuaW5nIHRleHRcbiAgICAvLyBpcyBjb3BpZWQsIGZvciBleGFtcGxlLlxuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICAgLy8gSW1wcm92ZSByZW5kZXJpbmcgaW4gV2luZG93cyBIaWdoIENvbnRyYXN0IE1vZGUgKEVkZ2UpLCB3aGVyZSBhXG4gICAgLy8gcmVhZGFiaWxpdHkgYmFja3BsYXRlIGJlaGluZCB0aGUgZXhjbGFtYXRpb24gbWFyayBvYnNjdXJlcyB0aGUgY2lyY2xlXG4gICAgZm9yY2VkLWNvbG9yLWFkanVzdDogbm9uZTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChmb3JjZWQtY29sb3JzOiBhY3RpdmUpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogd2luZG93VGV4dDtcbiAgICAgIGNvbG9yOiB3aW5kb3dUZXh0O1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXdhcm5pbmctdGV4dF9fdGV4dCB7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy1sZWZ0OiA0NXB4O1xuICAgIC8vIFdoaWxlIGA8c3Ryb25nPmAgaXMgc3R5bGVkIGBib2xkYCBvciBgYm9sZGVyYCBieSB1c2VyLWFnZW50c1xuICAgIC8vIHRoaXMgY2FuIGJlIHJlc2V0IGJ5IHRoZSBhcHAncyBzdHlsZXNoZWV0XG4gICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2luZGV4LnNjc3MubWFwICovXG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvdXRpbGl0aWVzL3Zpc3VhbGx5LWhpZGRlblwiKSB7XG4gIC5nb3Z1ay12aXN1YWxseS1oaWRkZW4ge1xuICAgIEBpbmNsdWRlIGdvdnVrLXZpc3VhbGx5LWhpZGRlbjtcbiAgfVxuXG4gIC5nb3Z1ay12aXN1YWxseS1oaWRkZW4tZm9jdXNhYmxlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay12aXN1YWxseS1oaWRkZW4tZm9jdXNhYmxlO1xuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV92aXN1YWxseS1oaWRkZW4uc2Nzcy5tYXAgKi9cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL292ZXJyaWRlcy9kaXNwbGF5XCIpIHtcbiAgLmdvdnVrLVxcIS1kaXNwbGF5LWlubGluZSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZ292dWstXFwhLWRpc3BsYXktaW5saW5lLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5nb3Z1ay1cXCEtZGlzcGxheS1ibG9jayB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5nb3Z1ay1cXCEtZGlzcGxheS1ub25lIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkbWVkaWEtdHlwZTogcHJpbnQpIHtcbiAgICAuZ292dWstXFwhLWRpc3BsYXktbm9uZS1wcmludCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9kaXNwbGF5LnNjc3MubWFwICovXG4iLCIvLy8vXG4vLy8gQGdyb3VwIG92ZXJyaWRlc1xuLy8vL1xuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8vIERpcmVjdGlvbnMgZm9yIHNwYWNpbmdcbi8vL1xuLy8vIEB0eXBlIE1hcFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuXG4kX3NwYWNpbmctZGlyZWN0aW9uczogKFwidG9wXCIsIFwicmlnaHRcIiwgXCJib3R0b21cIiwgXCJsZWZ0XCIpICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGUgcmVzcG9uc2l2ZSBzcGFjaW5nIG92ZXJyaWRlIGNsYXNzZXNcbi8vL1xuLy8vIEdlbmVyYXRlIHNwYWNpbmcgb3ZlcnJpZGUgY2xhc3NlcyBmb3IgdGhlIGdpdmVuIHByb3BlcnR5IChlLmcuIG1hcmdpbilcbi8vLyBmb3IgZWFjaCBwb2ludCBpbiB0aGUgcmVzcG9uc2l2ZSBzcGFjaW5nIHNjYWxlLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRwcm9wZXJ0eSAtIFByb3BlcnR5IHRvIGFkZCBzcGFjaW5nIHRvIChlLmcuICdtYXJnaW4nKVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzXG4vLy8gIC5nb3Z1ay1cXCEtbWFyZ2luLTQge1xuLy8vICAgIG1hcmdpbjogMTVweCAhaW1wb3J0YW50O1xuLy8vICB9XG4vLy9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuLy8vICAgIC5nb3Z1ay1cXCEtbWFyZ2luLTQge1xuLy8vICAgICAgbWFyZ2luOiAyMHB4ICFpbXBvcnRhbnQ7XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuQG1peGluIF9nb3Z1ay1nZW5lcmF0ZS1yZXNwb25zaXZlLXNwYWNpbmctb3ZlcnJpZGVzKCRwcm9wZXJ0eSkge1xuICAvLyBGb3IgZWFjaCBwb2ludCBpbiB0aGUgc3BhY2luZyBzY2FsZSAoZGVmaW5lZCBpbiBzZXR0aW5ncyksIGNyZWF0ZSBhblxuICAvLyBvdmVycmlkZSB0aGF0IGFmZmVjdHMgYWxsIGRpcmVjdGlvbnMuLi5cbiAgQGVhY2ggJHNjYWxlLXBvaW50LCAkc2NhbGUtbWFwIGluICRnb3Z1ay1zcGFjaW5nLXJlc3BvbnNpdmUtc2NhbGUge1xuICAgIC5nb3Z1ay1cXCEtI3skcHJvcGVydHl9LSN7JHNjYWxlLXBvaW50fSB7XG4gICAgICBAaW5jbHVkZSBfZ292dWstcmVzcG9uc2l2ZS1zcGFjaW5nKCRzY2FsZS1wb2ludCwgJHByb3BlcnR5LCBcImFsbFwiLCB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyAuLi4gYW5kIHRoZW4gYW4gb3ZlcnJpZGUgZm9yIGVhY2ggaW5kaXZpZHVhbCBkaXJlY3Rpb25cbiAgICBAZWFjaCAkZGlyZWN0aW9uIGluICRfc3BhY2luZy1kaXJlY3Rpb25zIHtcbiAgICAgIC5nb3Z1ay1cXCEtI3skcHJvcGVydHl9LSN7JGRpcmVjdGlvbn0tI3skc2NhbGUtcG9pbnR9IHtcbiAgICAgICAgQGluY2x1ZGUgX2dvdnVrLXJlc3BvbnNpdmUtc3BhY2luZygkc2NhbGUtcG9pbnQsICRwcm9wZXJ0eSwgJGRpcmVjdGlvbiwgdHJ1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSBzdGF0aWMgc3BhY2luZyBvdmVycmlkZSBjbGFzc2VzXG4vLy9cbi8vLyBHZW5lcmF0ZSBzcGFjaW5nIG92ZXJyaWRlIGNsYXNzZXMgZm9yIHRoZSBnaXZlbiBwcm9wZXJ0eSAoZS5nLiBtYXJnaW4pXG4vLy8gZm9yIGVhY2ggcG9pbnQgaW4gdGhlIG5vbi1yZXNwb25zaXZlIHNwYWNpbmcgc2NhbGUuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHByb3BlcnR5IC0gUHJvcGVydHkgdG8gYWRkIHNwYWNpbmcgdG8gKGUuZy4gJ21hcmdpbicpXG4vLy9cbi8vLyBAZXhhbXBsZSBjc3Ncbi8vLyAgIC5nb3Z1ay1cXCEtc3RhdGljLW1hcmdpbi00IHtcbi8vLyAgICAgIG1hcmdpbjogMjBweCAhaW1wb3J0YW50O1xuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gX2dvdnVrLWdlbmVyYXRlLXN0YXRpYy1zcGFjaW5nLW92ZXJyaWRlcygkcHJvcGVydHkpIHtcbiAgQGVhY2ggJHNwYWNpbmctcG9pbnQgaW4gbWFwLWtleXMoJGdvdnVrLXNwYWNpbmctcG9pbnRzKSB7XG4gICAgLmdvdnVrLVxcIS1zdGF0aWMtI3skcHJvcGVydHl9LSN7JHNwYWNpbmctcG9pbnR9IHtcbiAgICAgICN7JHByb3BlcnR5fTogZ292dWstc3BhY2luZygkc3BhY2luZy1wb2ludCkgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAZWFjaCAkZGlyZWN0aW9uIGluICRfc3BhY2luZy1kaXJlY3Rpb25zIHtcbiAgICAgIC5nb3Z1ay1cXCEtc3RhdGljLSN7JHByb3BlcnR5fS0jeyRkaXJlY3Rpb259LSN7JHNwYWNpbmctcG9pbnR9IHtcbiAgICAgICAgI3skcHJvcGVydHl9LSN7JGRpcmVjdGlvbn06IGdvdnVrLXNwYWNpbmcoJHNwYWNpbmctcG9pbnQpICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vdmVycmlkZXMvc3BhY2luZ1wiKSB7XG4gIEBpbmNsdWRlIF9nb3Z1ay1nZW5lcmF0ZS1yZXNwb25zaXZlLXNwYWNpbmctb3ZlcnJpZGVzKFwibWFyZ2luXCIpO1xuICBAaW5jbHVkZSBfZ292dWstZ2VuZXJhdGUtcmVzcG9uc2l2ZS1zcGFjaW5nLW92ZXJyaWRlcyhcInBhZGRpbmdcIik7XG5cbiAgQGluY2x1ZGUgX2dvdnVrLWdlbmVyYXRlLXN0YXRpYy1zcGFjaW5nLW92ZXJyaWRlcyhcIm1hcmdpblwiKTtcbiAgQGluY2x1ZGUgX2dvdnVrLWdlbmVyYXRlLXN0YXRpYy1zcGFjaW5nLW92ZXJyaWRlcyhcInBhZGRpbmdcIik7XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9zcGFjaW5nLnNjc3MubWFwICovXG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vdmVycmlkZXMvdGV4dC1hbGlnblwiKSB7XG4gIC5nb3Z1ay1cXCEtdGV4dC1hbGlnbi1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZ292dWstXFwhLXRleHQtYWxpZ24tY2VudHJlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5nb3Z1ay1cXCEtdGV4dC1hbGlnbi1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1fdGV4dC1hbGlnbi5zY3NzLm1hcCAqL1xuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL292ZXJyaWRlcy90eXBvZ3JhcGh5XCIpIHtcbiAgLy8gRm9udCBzaXplIGFuZCBsaW5lIGhlaWdodFxuXG4gIC8vIEdlbmVyYXRlIHR5cG9ncmFwaHkgb3ZlcnJpZGUgY2xhc3NlcyBmb3IgZWFjaCByZXNwb25zaXZlIGZvbnQgbWFwIGluIHRoZVxuICAvLyB0eXBvZ3JhcGh5IHNjYWxlIGVnIC5nb3Z1ay1cXCEtZm9udC1zaXplLTgwXG4gIC8vXG4gIC8vIGdvdnVrLSEtZm9udC1zaXplLTE0IGlzIGRlcHJlY2F0ZWRcbiAgQGVhY2ggJHNpemUsICRmb250LW1hcCBpbiAkZ292dWstdHlwb2dyYXBoeS1zY2FsZSB7XG4gICAgLmdvdnVrLVxcIS1mb250LXNpemUtI3skc2l6ZX0ge1xuICAgICAgJGZvbnQtbWFwOiBtYXAtZ2V0KCRnb3Z1ay10eXBvZ3JhcGh5LXNjYWxlLCAkc2l6ZSk7XG5cbiAgICAgIC8vIEFkZCB1bmRlcnNjb3JlIHRvIGRlcHJlY2F0ZWQgdHlwb2dyYXBoeSBzY2FsZSBrZXlzXG4gICAgICBAaWYgbWFwLWhhcy1rZXkoJGZvbnQtbWFwLCBcImRlcHJlY2F0aW9uXCIpIHtcbiAgICAgICAgJHNpemU6IF8jeyRzaXplfTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgZ292dWstZm9udC1zaXplKCRzaXplLCAkaW1wb3J0YW50OiB0cnVlKTtcbiAgICB9XG4gIH1cblxuICAvLyBXZWlnaHRzXG5cbiAgLmdvdnVrLVxcIS1mb250LXdlaWdodC1yZWd1bGFyIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1yZWd1bGFyKCRpbXBvcnRhbnQ6IHRydWUpO1xuICB9XG5cbiAgLmdvdnVrLVxcIS1mb250LXdlaWdodC1ib2xkIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1ib2xkKCRpbXBvcnRhbnQ6IHRydWUpO1xuICB9XG5cbiAgLy8gVHlwb2dyYXBoeSBoZWxwZXJzXG5cbiAgLmdvdnVrLVxcIS1mb250LXRhYnVsYXItbnVtYmVycyB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udC10YWJ1bGFyLW51bWJlcnMoJGltcG9ydGFudDogdHJ1ZSk7XG4gIH1cblxuICAuZ292dWstXFwhLXRleHQtYnJlYWstd29yZCB7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1icmVhay13b3JkKCRpbXBvcnRhbnQ6IHRydWUpO1xuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV90eXBvZ3JhcGh5LnNjc3MubWFwICovXG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vdmVycmlkZXMvd2lkdGhcIikge1xuICAuZ292dWstXFwhLXdpZHRoLWZ1bGwge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZ292dWstXFwhLXdpZHRoLXRocmVlLXF1YXJ0ZXJzIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgd2lkdGg6IDc1JSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1cXCEtd2lkdGgtdHdvLXRoaXJkcyB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHdpZHRoOiA2Ni42NiUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstXFwhLXdpZHRoLW9uZS1oYWxmIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1cXCEtd2lkdGgtb25lLXRoaXJkIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgd2lkdGg6IDMzLjMzJSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1cXCEtd2lkdGgtb25lLXF1YXJ0ZXIge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICB3aWR0aDogMjUlICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV93aWR0aC5zY3NzLm1hcCAqL1xuIiwiLy8gQmFzZWQgb24gaHR0cHM6Ly9naXRodWIuY29tL2FscGhhZ292L2dvdnVrX3B1Ymxpc2hpbmdfY29tcG9uZW50cy9ibG9iL3YyMi4wLjAvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9nb3Z1a19wdWJsaXNoaW5nX2NvbXBvbmVudHMvY29tcG9uZW50cy9fc3RlcC1ieS1zdGVwLW5hdi1oZWFkZXIuc2Nzc1xuLy8gTm90ZSAtIHRoaXMgY29kZSBmb3IgcHJvdG90eXBlIHB1cnBvc2VzIG9ubHkuIEl0IGlzIG5vdCBwcm9kdWN0aW9uIGNvZGUuXG5cbi5hcHAtc3RlcC1uYXYtaGVhZGVyIHtcbiAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMTBweDtcbiAgYmFja2dyb3VuZDogZ292dWstY29sb3VyKFwibGlnaHQtZ3JleVwiLCAkbGVnYWN5OiBcImdyZXktNFwiKTtcbiAgYm9yZGVyLXRvcDogc29saWQgMXB4IGdvdnVrLWNvbG91cihcIm1pZC1ncmV5XCIsICRsZWdhY3k6IFwiZ3JleS0yXCIpO1xuICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggZ292dWstY29sb3VyKFwibWlkLWdyZXlcIiwgJGxlZ2FjeTogXCJncmV5LTJcIik7XG5cbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMyk7XG4gIH1cbn1cblxuLy8gc2Nzcy1saW50OmRpc2FibGUgU2VsZWN0b3JGb3JtYXRcblxuLmFwcC1zdGVwLW5hdi1oZWFkZXJfX3BhcnQtb2Yge1xuICBAaW5jbHVkZSBnb3Z1ay1mb250KDE2LCAkd2VpZ2h0OiBib2xkKTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy1ib3R0b206IC4yZW07XG59XG5cbi5hcHAtc3RlcC1uYXYtaGVhZGVyX190aXRsZSB7XG4gIEBleHRlbmQgJWdvdnVrLWxpbms7XG4gIEBpbmNsdWRlIGdvdnVrLWZvbnQoMjQsICR3ZWlnaHQ6IGJvbGQpO1xufVxuXG4vLyBzY3NzLWxpbnQ6ZW5hYmxlIFNlbGVjdG9yRm9ybWF0XG4iLCIvLyBCYXNlZCBvbiBodHRwczovL2dpdGh1Yi5jb20vYWxwaGFnb3YvZ292dWtfcHVibGlzaGluZ19jb21wb25lbnRzL2Jsb2IvdjIyLjAuMC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2dvdnVrX3B1Ymxpc2hpbmdfY29tcG9uZW50cy9jb21wb25lbnRzL19zdGVwLWJ5LXN0ZXAtbmF2LnNjc3Ncbi8vIE5vdGUgLSB0aGlzIGNvZGUgZm9yIHByb3RvdHlwZSBwdXJwb3NlcyBvbmx5LiBJdCBpcyBub3QgcHJvZHVjdGlvbiBjb2RlLlxuQHVzZSAnc2FzczptYXRoJztcblxuJHN0cm9rZS13aWR0aDogMnB4O1xuJHN0cm9rZS13aWR0aC1sYXJnZTogM3B4O1xuJG51bWJlci1jaXJjbGUtc2l6ZTogMjZweDtcbiRudW1iZXItY2lyY2xlLXNpemUtbGFyZ2U6IDM1cHg7XG4kdG9wLWJvcmRlcjogc29saWQgMnB4IGdvdnVrLWNvbG91cihcIm1pZC1ncmV5XCIsICRsZWdhY3k6IFwiZ3JleS0zXCIpO1xuXG5AbWl4aW4gc3RlcC1uYXYtdmVydGljYWwtbGluZSAoJGxpbmUtc3R5bGU6IHNvbGlkKSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMjtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgYm9yZGVyLWxlZnQ6ICRsaW5lLXN0eWxlICRzdHJva2Utd2lkdGggZ292dWstY29sb3VyKFwibWlkLWdyZXlcIiwgJGxlZ2FjeTogXCJncmV5LTJcIik7XG4gIGJhY2tncm91bmQ6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xufVxuXG5AbWl4aW4gc3RlcC1uYXYtbGluZS1wb3NpdGlvbiB7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiBtYXRoLmRpdigkbnVtYmVyLWNpcmNsZS1zaXplLCAyKSAtIG1hdGguZGl2KCRzdHJva2Utd2lkdGgsIDIpO1xufVxuXG5AbWl4aW4gc3RlcC1uYXYtbGluZS1wb3NpdGlvbi1sYXJnZSB7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiBtYXRoLmRpdigkbnVtYmVyLWNpcmNsZS1zaXplLWxhcmdlLCAyKSAtIG1hdGguZGl2KCRzdHJva2Utd2lkdGgtbGFyZ2UsIDIpO1xuICBib3JkZXItd2lkdGg6ICRzdHJva2Utd2lkdGgtbGFyZ2U7XG59XG5cbi8vIGN1c3RvbSBtaXhpbiBhcyBnb3Z1ay1mb250IGRvZXMgdW5kZXNpcmFibGUgdGhpbmdzIGF0IGRpZmZlcmVudCBicmVha3BvaW50c1xuLy8gd2Ugd2FudCB0byBlbnN1cmUgdGhhdCBib3RoIGxhcmdlIGFuZCBzbWFsbCBzdGVwIG5hdnMgaGF2ZSB0aGUgc2FtZSBzaXplIGZvbnQgb24gbW9iaWxlXG4vLyB0aGlzIHdpbGwgc3RvcCB0ZXh0IHJlc2l6aW5nIGlmIGNvbXBhdGliaWxpdHkgbW9kZSBpcyB0dXJuZWQgb2ZmXG5AbWl4aW4gc3RlcC1uYXYtZm9udCgkc2l6ZSwgJHRhYmxldC1zaXplOiAkc2l6ZSwgJHdlaWdodDogbm9ybWFsLCAkbGluZS1oZWlnaHQ6IDEuMywgJHRhYmxldC1saW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0KSB7XG4gIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktY29tbW9uKCk7XG4gIGZvbnQtc2l6ZTogJHNpemUgKyBweDtcbiAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG5cbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgIGZvbnQtc2l6ZTogJHRhYmxldC1zaXplICsgcHg7XG4gICAgbGluZS1oZWlnaHQ6ICR0YWJsZXQtbGluZS1oZWlnaHQ7XG4gIH1cbn1cblxuLmFwcC1zdGVwLW5hdiB7XG4gIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoNik7XG5cbiAgJi5hcHAtc3RlcC1uYXYtLWxhcmdlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDkpO1xuICAgIH1cbiAgfVxuXG4gIC5qcy1lbmFibGVkICYuanMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5hcHAtc3RlcC1uYXZfX2NvbnRyb2xzIHtcbiAgcGFkZGluZzogM3B4IDNweCAwIDA7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uYXBwLXN0ZXAtbmF2X19idXR0b24ge1xuICBjb2xvcjogJGdvdnVrLWxpbmstY29sb3VyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgbWFyZ2luOiAwO1xuXG4gICY6Zm9jdXMge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvY3VzZWQtdGV4dDtcbiAgfVxufVxuXG4vLyByZW1vdmVzIGV4dHJhIGRvdHRlZCBvdXRsaW5lIGZyb20gYnV0dG9ucyBpbiBGaXJlZm94XG4vLyBvbiBmb2N1cyAoc3RhbmRhcmQgeWVsbG93IG91dGxpbmUgdW5hZmZlY3RlZClcbi5hcHAtc3RlcC1uYXZfX2J1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbn1cblxuLmFwcC1zdGVwLW5hdl9fYnV0dG9uLS10aXRsZSB7XG4gIEBpbmNsdWRlIHN0ZXAtbmF2LWZvbnQoMTksICR3ZWlnaHQ6IGJvbGQsICRsaW5lLWhlaWdodDogMS40KTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjb2xvcjogZ292dWstY29sb3VyKFwiYmxhY2tcIik7XG5cbiAgLmFwcC1zdGVwLW5hdi0tbGFyZ2UgJiB7XG4gICAgQGluY2x1ZGUgc3RlcC1uYXYtZm9udCgxOSwgJHRhYmxldC1zaXplOiAyNCwgJHdlaWdodDogYm9sZCwgJGxpbmUtaGVpZ2h0OiAxLjQpO1xuICB9XG59XG5cbi5hcHAtc3RlcC1uYXZfX2J1dHRvbi0tY29udHJvbHMge1xuICBAaW5jbHVkZSBzdGVwLW5hdi1mb250KDE0LCAkbGluZS1oZWlnaHQ6IDEpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7IC8vIHRoaXMgYW5kIHJlbGF0aXZlIHBvc2l0aW9uIHN0b3BzIGZvY3VzIG91dGxpbmUgdW5kZXJsYXAgd2l0aCBib3JkZXIgb2YgYWNjb3JkaW9uXG4gIHBhZGRpbmc6IC41ZW0gMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cbiAgLmFwcC1zdGVwLW5hdi0tbGFyZ2UgJiB7XG4gICAgQGluY2x1ZGUgc3RlcC1uYXYtZm9udCgxNCwgJHRhYmxldC1zaXplOiAxNiwgJGxpbmUtaGVpZ2h0OiAxKTtcbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X19zdGVwcyB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbn1cblxuLmFwcC1zdGVwLW5hdl9fc3RlcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDYpICsgZ292dWstc3BhY2luZygzKTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAvLyBsaW5lIGRvd24gdGhlIHNpZGUgb2YgYSBzdGVwXG4gICY6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIHN0ZXAtbmF2LXZlcnRpY2FsLWxpbmU7XG4gICAgQGluY2x1ZGUgc3RlcC1uYXYtbGluZS1wb3NpdGlvbjtcbiAgICB0b3A6IGdvdnVrLXNwYWNpbmcoMyk7XG4gIH1cblxuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAmIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IGdvdnVrLXNwYWNpbmcoOSk7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBzdGVwLW5hdi1saW5lLXBvc2l0aW9uLWxhcmdlO1xuICAgICAgICB0b3A6IGdvdnVrLXNwYWNpbmcoNik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5hcHAtc3RlcC1uYXZfX3N0ZXA6bGFzdC1jaGlsZCB7XG4gIC8vIGxpdHRsZSBkYXNoIGF0IHRoZSBib3R0b20gb2YgdGhlIGxpbmVcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDY7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IG1hdGguZGl2KCRudW1iZXItY2lyY2xlLXNpemUsIDQpO1xuICAgIHdpZHRoOiBtYXRoLmRpdigkbnVtYmVyLWNpcmNsZS1zaXplLCAyKTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogc29saWQgJHN0cm9rZS13aWR0aCBnb3Z1ay1jb2xvdXIoXCJtaWQtZ3JleVwiLCAkbGVnYWN5OiBcImdyZXktMlwiKTtcbiAgfVxuXG4gICY6YWZ0ZXIge1xuICAgIC8vIHNjc3MtbGludDpkaXNhYmxlIER1cGxpY2F0ZVByb3BlcnR5XG4gICAgLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tZHVwbGljYXRlLXByb3BlcnRpZXNcbiAgICBoZWlnaHQ6IC13ZWJraXQtY2FsYygxMDAlIC0gI3tnb3Z1ay1zcGFjaW5nKDMpfSk7IC8vIGZhbGxiYWNrIGZvciBpcGhvbmUgNFxuICAgIGhlaWdodDogY2FsYygxMDAlIC0gI3tnb3Z1ay1zcGFjaW5nKDMpfSk7XG4gICAgLy8gc2Fzcy1saW50OmVuYWJsZSBuby1kdXBsaWNhdGUtcHJvcGVydGllc1xuICAgIC8vIHNjc3MtbGludDplbmFibGUgRHVwbGljYXRlUHJvcGVydHlcbiAgfVxuXG4gIC5hcHAtc3RlcC1uYXZfX2hlbHA6YWZ0ZXIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC5hcHAtc3RlcC1uYXYtLWxhcmdlICYge1xuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IG1hdGguZGl2KCRudW1iZXItY2lyY2xlLXNpemUtbGFyZ2UsIDQpO1xuICAgICAgICB3aWR0aDogbWF0aC5kaXYoJG51bWJlci1jaXJjbGUtc2l6ZS1sYXJnZSwgMik7XG4gICAgICAgIGJvcmRlci13aWR0aDogJHN0cm9rZS13aWR0aC1sYXJnZTtcbiAgICAgIH1cblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gI3tnb3Z1ay1zcGFjaW5nKDYpfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5hcHAtc3RlcC1uYXZfX3N0ZXAtLWFjdGl2ZSB7XG4gICY6bGFzdC1jaGlsZDpiZWZvcmUsXG4gIC5hcHAtc3RlcC1uYXZfX2NpcmNsZS0tbnVtYmVyLFxuICAmOmFmdGVyLFxuICAuYXBwLXN0ZXAtbmF2X19oZWxwOmFmdGVyIHtcbiAgICBib3JkZXItY29sb3I6IGdvdnVrLWNvbG91cihcImJsYWNrXCIpO1xuICB9XG59XG5cbi5hcHAtc3RlcC1uYXZfX2NpcmNsZSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogNTtcbiAgdG9wOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogJG51bWJlci1jaXJjbGUtc2l6ZTtcbiAgaGVpZ2h0OiAkbnVtYmVyLWNpcmNsZS1zaXplO1xuICBjb2xvcjogZ292dWstY29sb3VyKFwiYmxhY2tcIik7XG4gIGJhY2tncm91bmQ6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIC5hcHAtc3RlcC1uYXYtLWxhcmdlICYge1xuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHRvcDogZ292dWstc3BhY2luZyg2KTtcbiAgICAgIHdpZHRoOiAkbnVtYmVyLWNpcmNsZS1zaXplLWxhcmdlO1xuICAgICAgaGVpZ2h0OiAkbnVtYmVyLWNpcmNsZS1zaXplLWxhcmdlO1xuICAgIH1cbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X19jaXJjbGUtLW51bWJlciB7XG4gIEBpbmNsdWRlIHN0ZXAtbmF2LWZvbnQoMTYsICR3ZWlnaHQ6IGJvbGQsICRsaW5lLWhlaWdodDogMjNweCk7XG4gIGJvcmRlcjogc29saWQgJHN0cm9rZS13aWR0aCBnb3Z1ay1jb2xvdXIoXCJtaWQtZ3JleVwiLCAkbGVnYWN5OiBcImdyZXktMlwiKTtcblxuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAmIHtcbiAgICBAaW5jbHVkZSBzdGVwLW5hdi1mb250KDE2LCAkdGFibGV0LXNpemU6IDE5LCAkd2VpZ2h0OiBib2xkLCAkbGluZS1oZWlnaHQ6IDIzcHgsICR0YWJsZXQtbGluZS1oZWlnaHQ6IDMwcHgpO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgYm9yZGVyLXdpZHRoOiAkc3Ryb2tlLXdpZHRoLWxhcmdlO1xuICAgIH1cbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X19jaXJjbGUtLWxvZ2ljIHtcbiAgQGluY2x1ZGUgc3RlcC1uYXYtZm9udCgxNiwgJHdlaWdodDogYm9sZCwgJGxpbmUtaGVpZ2h0OiAyOHB4KTtcblxuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAmIHtcbiAgICBAaW5jbHVkZSBzdGVwLW5hdi1mb250KDE2LCAkdGFibGV0LXNpemU6IDE5LCAkd2VpZ2h0OiBib2xkLCAkbGluZS1oZWlnaHQ6IDI4cHgsICR0YWJsZXQtbGluZS1oZWlnaHQ6IDM0cHgpO1xuICB9XG59XG5cbi8vIG1ha2VzIHN1cmUgbG9naWMgdGV4dCBleHBhbmRzIHRvIHRoZSBsZWZ0IGlmIHRleHQgc2l6ZSBpcyB6b29tZWQsIHByZXZlbnRpbmcgb3ZlcmxhcFxuLmFwcC1zdGVwLW5hdl9fY2lyY2xlLWlubmVyIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtaW4td2lkdGg6IDEwMCU7XG59XG5cbi5hcHAtc3RlcC1uYXZfX2NpcmNsZS1iYWNrZ3JvdW5kIHtcbiAgJHNoYWRvdy1vZmZzZXQ6IC4xZW07XG4gICRzaGFkb3ctY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJ3aGl0ZVwiKTtcblxuICAvLyB0byBtYWtlIG51bWJlcnMgcmVhZGFibGUgZm9yIHVzZXJzIHpvb21pbmcgdGV4dCBvbmx5IGluIGJyb3dzZXJzIHN1Y2ggYXMgRmlyZWZveFxuICB0ZXh0LXNoYWRvdzogMCAtI3skc2hhZG93LW9mZnNldH0gMCAkc2hhZG93LWNvbG91ciwgJHNoYWRvdy1vZmZzZXQgMCAwICRzaGFkb3ctY29sb3VyLCAwICRzaGFkb3ctb2Zmc2V0IDAgJHNoYWRvdy1jb2xvdXIsIC0jeyRzaGFkb3ctb2Zmc2V0fSAwIDAgJHNoYWRvdy1jb2xvdXI7XG59XG5cbi5hcHAtc3RlcC1uYXZfX2NpcmNsZS1zdGVwLWxhYmVsLFxuLmFwcC1zdGVwLW5hdl9fY2lyY2xlLXN0ZXAtY29sb24ge1xuICBAaW5jbHVkZSBnb3Z1ay12aXN1YWxseS1oaWRkZW47XG59XG5cbi5hcHAtc3RlcC1uYXZfX2hlYWRlciB7XG4gIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMykgMDtcbiAgYm9yZGVyLXRvcDogJHRvcC1ib3JkZXI7XG5cbiAgLmFwcC1zdGVwLW5hdi0tYWN0aXZlICYge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gIC5hcHAtc3RlcC1uYXZfX2J1dHRvbiB7XG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2VkLXRleHQ7XG5cbiAgICAgIC5hcHAtc3RlcC1uYXZfX3RvZ2dsZS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgZ292dWstZm9jdXNlZC10ZXh0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIC5hcHAtc3RlcC1uYXZfX2J1dHRvbjpub3QoOmZvY3VzKSxcbiAgICAuYXBwLXN0ZXAtbmF2X19jaXJjbGUge1xuICAgICAgY29sb3I6ICRnb3Z1ay1saW5rLWNvbG91cjtcbiAgICB9XG5cbiAgICAuYXBwLXN0ZXAtbmF2X190b2dnbGUtbGluayB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cblxuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAmIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDYpIDA7XG4gICAgfVxuICB9XG59XG5cbi5hcHAtc3RlcC1uYXZfX3RpdGxlIHtcbiAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gIEBpbmNsdWRlIHN0ZXAtbmF2LWZvbnQoMTksICR3ZWlnaHQ6IGJvbGQsICRsaW5lLWhlaWdodDogMS40KTtcbiAgbWFyZ2luOiAwO1xuXG4gIC5hcHAtc3RlcC1uYXYtLWxhcmdlICYge1xuICAgIEBpbmNsdWRlIHN0ZXAtbmF2LWZvbnQoMTksICR0YWJsZXQtc2l6ZTogMjQsICR3ZWlnaHQ6IGJvbGQsICRsaW5lLWhlaWdodDogMS40KTtcbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X190b2dnbGUtbGluayB7XG4gIEBpbmNsdWRlIHN0ZXAtbmF2LWZvbnQoMTQsICRsaW5lLWhlaWdodDogMS4yKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAkZ292dWstbGluay1jb2xvdXI7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuXG4gIC5hcHAtc3RlcC1uYXYtLWxhcmdlICYge1xuICAgIEBpbmNsdWRlIHN0ZXAtbmF2LWZvbnQoMTQsICR0YWJsZXQtc2l6ZTogMTYsICRsaW5lLWhlaWdodDogMS4yKTtcbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X19wYW5lbCB7XG4gIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICBAaW5jbHVkZSBzdGVwLW5hdi1mb250KDE2KTtcblxuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAmIHtcbiAgICBAaW5jbHVkZSBzdGVwLW5hdi1mb250KDE2LCAkdGFibGV0LXNpemU6IDE5KTtcbiAgfVxuXG4gIC5qcy1lbmFibGVkICYuanMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIGNvbnRlbnRzIG9mIHRoZSBzdGVwcywgc3VjaCBhcyBwYXJhZ3JhcGhzIGFuZCBsaW5rc1xuXG4uYXBwLXN0ZXAtbmF2X19wYXJhZ3JhcGgge1xuICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG5cbiAgKyAuYXBwLXN0ZXAtbmF2X19saXN0IHtcbiAgICBtYXJnaW4tdG9wOiAtNXB4O1xuXG4gICAgLmFwcC1zdGVwLW5hdi0tbGFyZ2UgJiB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICAgIG1hcmdpbi10b3A6IC1nb3Z1ay1zcGFjaW5nKDMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5hcHAtc3RlcC1uYXYtLWxhcmdlICYge1xuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDYpO1xuICAgIH1cbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X19saXN0IHtcbiAgcGFkZGluZzogMDtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgLmFwcC1zdGVwLW5hdi0tbGFyZ2UgJiB7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgfVxuICB9XG59XG5cbi5hcHAtc3RlcC1uYXZfX2xpc3QtLWNob2ljZSB7XG4gICRsaW5rcy1tYXJnaW46IDIwcHg7XG5cbiAgbWFyZ2luLWxlZnQ6ICRsaW5rcy1tYXJnaW47XG4gIGxpc3Qtc3R5bGU6IGRpc2M7XG5cbiAgLmFwcC1zdGVwLW5hdl9fbGlzdC1pdGVtLS1hY3RpdmU6YmVmb3JlIHtcbiAgICBsZWZ0OiAtKGdvdnVrLXNwYWNpbmcoNikgKyBnb3Z1ay1zcGFjaW5nKDMpKSAtICRsaW5rcy1tYXJnaW47XG4gIH1cblxuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAmIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICAuYXBwLXN0ZXAtbmF2X19saXN0LWl0ZW0tLWFjdGl2ZTpiZWZvcmUge1xuICAgICAgICBsZWZ0OiAtKGdvdnVrLXNwYWNpbmcoOSkpIC0gJGxpbmtzLW1hcmdpbjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmFwcC1zdGVwLW5hdl9fbGlzdC1pdGVtIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLmFwcC1zdGVwLW5hdl9fbGluayB7XG4gIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLWRlZmF1bHQ7XG59XG5cbi5hcHAtc3RlcC1uYXZfX2xpbmstYWN0aXZlLWNvbnRleHQge1xuICBAaW5jbHVkZSBnb3Z1ay12aXN1YWxseS1oaWRkZW47XG59XG5cbi5hcHAtc3RlcC1uYXZfX2xpc3QtaXRlbS0tYWN0aXZlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6YmVmb3JlIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgdG9wOiAuNmVtOyAvLyBwb3NpdGlvbiB0aGUgZG90IHRvIGFsaWduIHdpdGggdGhlIGZpcnN0IHJvdyBvZiB0ZXh0IGluIHRoZSBsaW5rXG4gICAgbGVmdDogLShnb3Z1ay1zcGFjaW5nKDYpICsgZ292dWstc3BhY2luZygzKSk7XG4gICAgbWFyZ2luLXRvcDogLSBtYXRoLmRpdigkc3Ryb2tlLXdpZHRoLCAyKTtcbiAgICBtYXJnaW4tbGVmdDogbWF0aC5kaXYoJG51bWJlci1jaXJjbGUtc2l6ZSwgMik7XG4gICAgd2lkdGg6IG1hdGguZGl2KCRudW1iZXItY2lyY2xlLXNpemUsIDIpO1xuICAgIGhlaWdodDogJHN0cm9rZS13aWR0aDtcbiAgICBiYWNrZ3JvdW5kOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcbiAgfVxuXG4gIC5hcHAtc3RlcC1uYXYtLWxhcmdlICYge1xuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogLShnb3Z1ay1zcGFjaW5nKDkpKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IG1hdGguZGl2KCRudW1iZXItY2lyY2xlLXNpemUtbGFyZ2UsIDIpO1xuICAgICAgICBoZWlnaHQ6ICRzdHJva2Utd2lkdGgtbGFyZ2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmFwcC1zdGVwLW5hdl9fbGluayB7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS10ZXh0O1xuICB9XG59XG5cbi5hcHAtc3RlcC1uYXZfX2NvbnRleHQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJkYXJrLWdyZXlcIiwgJGxlZ2FjeTogXCJncmV5LTFcIik7XG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiIFxcMjAxM1xcMDBhMFwiOyAvLyBkYXNoIGZvbGxvd2VkIGJ5ICZuYnNwO1xuICB9XG59XG4iLCIvLyBCYXNlZCBvbiBodHRwczovL2dpdGh1Yi5jb20vYWxwaGFnb3YvZ292dWtfcHVibGlzaGluZ19jb21wb25lbnRzL2Jsb2IvdjIyLjAuMC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2dvdnVrX3B1Ymxpc2hpbmdfY29tcG9uZW50cy9jb21wb25lbnRzL19zdGVwLWJ5LXN0ZXAtcmVsYXRlZC5zY3NzXG4vLyBOb3RlIC0gdGhpcyBjb2RlIGZvciBwcm90b3R5cGUgcHVycG9zZXMgb25seS4gSXQgaXMgbm90IHByb2R1Y3Rpb24gY29kZS5cbkB1c2UgJ3Nhc3M6bWF0aCc7XG5cbi5hcHAtc3RlcC1uYXYtcmVsYXRlZCB7XG4gIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICBib3JkZXItdG9wOiAycHggc29saWQgZ292dWstY29sb3VyKFwiYmx1ZVwiKTtcbiAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZyg2KTtcbn1cblxuLmFwcC1zdGVwLW5hdi1yZWxhdGVkX19oZWFkaW5nIHtcbiAgbWFyZ2luLXRvcDogZ292dWstc3BhY2luZygzKTtcbiAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgQGluY2x1ZGUgZ292dWstZm9udCgxOSwgJHdlaWdodDogYm9sZCk7XG59XG5cbi5hcHAtc3RlcC1uYXYtcmVsYXRlZF9fbGlua3Mge1xuICBAaW5jbHVkZSBnb3Z1ay1mb250KDE2LCAkd2VpZ2h0OiBib2xkKTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4uYXBwLXN0ZXAtbmF2LXJlbGF0ZWQtLXNpbmd1bGFyIHtcbiAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygyKSArIDM7XG5cbiAgLmFwcC1zdGVwLW5hdi1yZWxhdGVkX19oZWFkaW5nIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KDE5LCAkd2VpZ2h0OiBib2xkLCAkbGluZS1oZWlnaHQ6IDEuNCk7XG4gICAgbWFyZ2luLXRvcDogZ292dWstc3BhY2luZyg0KTtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCR1bnRpbDogdGFibGV0KSB7XG4gICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgfVxuICB9XG5cbiAgLmFwcC1zdGVwLW5hdi1yZWxhdGVkX19wcmV0aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogbWF0aC5kaXYoZ292dWstc3BhY2luZyg2KSwgNCk7XG4gIH1cbn1cblxuLmFwcC1zdGVwLW5hdi1yZWxhdGVkX19wcmV0aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICB9XG59XG5cbi5hcHAtc3RlcC1uYXYtcmVsYXRlZF9fbGlua3Mge1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uYXBwLXN0ZXAtbmF2LXJlbGF0ZWRfX2xpbmstaXRlbSB7XG4gIG1hcmdpbi10b3A6IGdvdnVrLXNwYWNpbmcoMyk7XG5cbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgIG1hcmdpbi10b3A6IGdvdnVrLXNwYWNpbmcoMSk7XG4gIH1cbn1cblxuLmFwcC1zdGVwLW5hdi1yZWxhdGVkX19saW5rIHtcbiAgQGV4dGVuZCAlZ292dWstbGluaztcbn1cbiIsIi8vIFRhc2sgbGlzdCBwYXR0ZXJuXG5cbi5hcHAtdGFzay1saXN0IHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICBtaW4td2lkdGg6IDU1MHB4O1xuICB9XG59XG5cbi5hcHAtdGFzay1saXN0X19zZWN0aW9uIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6MjQsICR3ZWlnaHQ6IGJvbGQpO1xufVxuXG4uYXBwLXRhc2stbGlzdF9fc2VjdGlvbi1udW1iZXIge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICBtaW4td2lkdGg6IGdvdnVrLXNwYWNpbmcoNik7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxufVxuXG4uYXBwLXRhc2stbGlzdF9faXRlbXMge1xuICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDksIFwiYm90dG9tXCIpO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IGdvdnVrLXNwYWNpbmcoNik7XG4gIH1cbn1cblxuLmFwcC10YXNrLWxpc3RfX2l0ZW0ge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMik7XG4gIHBhZGRpbmctYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICBAaW5jbHVkZSBnb3Z1ay1jbGVhcmZpeDtcbn1cblxuLmFwcC10YXNrLWxpc3RfX2l0ZW06Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG59XG5cbi5hcHAtdGFzay1saXN0X190YXNrLW5hbWUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IDQ1MHB4KSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbn1cblxuLy8gVGhlIGBhcHAtdGFzay1saXN0X190YXNrLWNvbXBsZXRlZGAgY2xhc3Mgd2FzIHByZXZpb3VzbHkgdXNlZCBvbiB0aGUgdGFza1xuLy8gbGlzdCBmb3IgdGhlIGNvbXBsZXRlZCB0YWcgKGNoYW5nZWQgaW4gODZjOTBlYykg4oCTIGl0J3Mgc3RpbGwgaW5jbHVkZWQgaGVyZSB0b1xuLy8gYXZvaWQgYnJlYWtpbmcgdGFzayBsaXN0cyBpbiBleGlzdGluZyBwcm90b3R5cGVzLlxuLmFwcC10YXNrLWxpc3RfX3RhZyxcbi5hcHAtdGFzay1saXN0X190YXNrLWNvbXBsZXRlZCB7XG4gIG1hcmdpbi10b3A6IGdvdnVrLXNwYWNpbmcoMik7XG4gIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMSk7XG5cbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IDQ1MHB4KSB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuIiwiLy8gVGhpcyBpcyBhIEdPVi5VSyBQdWJsaXNoaW5nIHNwZWNpZmljIGNvbXBvbmVudCB0aGF0XG4vLyBjYW4gYmUgc2VlbiBhdCBodHRwOi8vZ292dWstc3RhdGljLmhlcm9rdWFwcC5jb20vY29tcG9uZW50LWd1aWRlL3JlbGF0ZWRfaXRlbXNcblxuLmFwcC1yZWxhdGVkLWl0ZW1zIHtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIGdvdnVrLWNvbG91cihcImJsdWVcIik7XG4gIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDIpO1xufVxuXG4uYXBwLXJlbGF0ZWQtaXRlbXMgLmdvdnVrLWxpc3QgPiBsaSB7XG4gIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG59XG4iLCIvKiFcbkNob3NlbiwgYSBTZWxlY3QgQm94IEVuaGFuY2VyIGZvciBqUXVlcnkgYW5kIFByb3RvdHlwZVxuYnkgUGF0cmljayBGaWxsZXIgZm9yIEhhcnZlc3QsIGh0dHA6Ly9nZXRoYXJ2ZXN0LmNvbVxuXG5WZXJzaW9uIDEuNi4yXG5GdWxsIHNvdXJjZSBhdCBodHRwczovL2dpdGh1Yi5jb20vaGFydmVzdGhxL2Nob3NlblxuQ29weXJpZ2h0IChjKSAyMDExLTIwMTYgSGFydmVzdCBodHRwOi8vZ2V0aGFydmVzdC5jb21cblxuTUlUIExpY2Vuc2UsIGh0dHBzOi8vZ2l0aHViLmNvbS9oYXJ2ZXN0aHEvY2hvc2VuL2Jsb2IvbWFzdGVyL0xJQ0VOU0UubWRcbi0tLS1cblxuVGhpcyBwYXJ0aWN1bGFyIGZpbGUgaXMgYSBjdXN0b21pc2F0aW9uIG9mIHRoZSBvcmlnaW5hbCBmb3IgdGhlIERDTEcgRGVsdGFcblByb2plY3QuIEl0IGlzIGhlcmUgbW9kaWZpZWQgdG8gcmVuZGVyIG91dCBHT1ZVSyBzdHlsZVxuXG4qL1xuXG4vKiBAZ3JvdXAgQmFzZSAqL1xuXG4uY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUtbm9zZWFyY2ggLmNob3Nlbi1zZWFyY2gge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC05OTk5cHg7XG59XG5cbi5jaG9zZW4tY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgYm90dG9tOiA1cHg7XG5cbiAgICAqIHtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgICAuY2hvc2VuLWRyb3Age1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgbGVmdDogLTk5OTlweDtcbiAgICAgICAgei1pbmRleDogMTAxMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XG4gICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgIH1cblxuICAgICYuY2hvc2VuLXdpdGgtZHJvcCB7XG4gICAgICAgIC5jaG9zZW4tZHJvcCB7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBAZW5kICovXG5cbi8qIEBncm91cCBSZXN1bHRzICovXG4uY2hvc2VuLWNvbnRhaW5lciAuY2hvc2VuLXJlc3VsdHMge1xuICAgIGNvbG9yOiAjNDQ0O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXJnaW46IDAgNHB4IDRweCAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWF4LWhlaWdodDogMjQwcHg7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDVweCA2cHg7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNXB4O1xuICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICBmb250LWZhbWlseTogXCJHRFMgVHJhbnNwb3J0XCIsIGFyaWFsLCBzYW5zLXNlcmlmO1xuXG4gICAgICAgICYuYWN0aXZlLXJlc3VsdCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmLmRpc2FibGVkLXJlc3VsdCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gICAgICAgICAgICBjb2xvcjogI2NjYztcbiAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuaGlnaGxpZ2h0ZWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzM4NzVkNztcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5uby1yZXN1bHRzIHtcbiAgICAgICAgICAgIGNvbG9yOiAjNzc3O1xuICAgICAgICAgICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2Y0ZjRmNDtcbiAgICAgICAgfVxuICAgICAgICAmLmNyZWF0ZS1vcHRpb24ge1xuICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgY29sb3I6IG9yYW5nZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIEBlbmQgKi9cblxuLyogQGdyb3VwIE11bHRpIENob3NlbiAqL1xuLmNob3Nlbi1jb250YWluZXItbXVsdGkge1xuICAgIC5jaG9zZW4tY2hvaWNlcyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQ7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgNTAlIDAlLCA1MCUgMTAwJSwgY29sb3Itc3RvcCgxJSwgI2VlZWVlZSksIGNvbG9yLXN0b3AoMTUlLCAjZmZmZmZmKSk7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KCNlZWVlZWUgMSUsICNmZmZmZmYgMTUlKTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQoI2VlZWVlZSAxJSwgI2ZmZmZmZiAxNSUpO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoI2VlZWVlZSAxJSwgI2ZmZmZmZiAxNSUpO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoI2VlZWVlZSAxJSwgI2ZmZmZmZiAxNSUpO1xuICAgICAgICBjdXJzb3I6IHRleHQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkdEUyBUcmFuc3BvcnRcIiwgYXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMTlweDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBsaS5zZWFyY2gtZmllbGQge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAgICAgICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggNHB4IDBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDVweCA1cHggNXB4IDBweDtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbGkuc2VhcmNoLWNob2ljZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBtYXJnaW46IDVweCA1cHggNXB4IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggMjVweCA1cHggNXB4O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDMwNzg7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDVlYTU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zZWFyY2gtY2hvaWNlLWNsb3NlIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAycHg7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDNweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcvcHVibGljL2ltYWdlcy9jbG9zZS1pbnZlcnNlLnBuZycpIG5vLXJlcGVhdCA0cHggNHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMXB4O1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZjMwMzQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbGkuc2VhcmNoLWNob2ljZS1kaXNhYmxlZCB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U0ZTRlNDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCA1MCUgMCUsIDUwJSAxMDAlLCBjb2xvci1zdG9wKDIwJSwgI2Y0ZjRmNCksIGNvbG9yLXN0b3AoNTAlLCAjZjBmMGYwKSwgY29sb3Itc3RvcCg1MiUsICNlOGU4ZTgpLCBjb2xvci1zdG9wKDEwMCUsICNlZWVlZWUpKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KCNmNGY0ZjQgMjAlLCAjZjBmMGYwIDUwJSwgI2U4ZThlOCA1MiUsICNlZWVlZWUgMTAwJSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCgjZjRmNGY0IDIwJSwgI2YwZjBmMCA1MCUsICNlOGU4ZTggNTIlLCAjZWVlZWVlIDEwMCUpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KCNmNGY0ZjQgMjAlLCAjZjBmMGYwIDUwJSwgI2U4ZThlOCA1MiUsICNlZWVlZWUgMTAwJSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoI2Y0ZjRmNCAyMCUsICNmMGYwZjAgNTAlLCAjZThlOGU4IDUyJSwgI2VlZWVlZSAxMDAlKTtcbiAgICAgICAgICAgIGNvbG9yOiAjNjY2O1xuICAgICAgICB9XG5cbiAgICAgICAgbGkuc2VhcmNoLWNob2ljZS1mb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZDRkNGQ0O1xuXG4gICAgICAgICAgICAuc2VhcmNoLWNob2ljZS1jbG9zZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQycHggLTEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNob3Nlbi1yZXN1bHRzIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5jaG9zZW4tZHJvcCAucmVzdWx0LXNlbGVjdGVkIHtcbiAgICAgICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxufVxuXG5cblxuLmNob3Nlbi1jb250YWluZXItc2luZ2xlIHtcblxuICAgIC5jaG9zZW4tc2luZ2xlIHtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGJsYWNrO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTlweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiR0RTIFRyYW5zcG9ydFwiLCBhcmlhbCwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG5cbiAgICAgICAgZGl2IHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xNXB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmNob3Nlbi1zZWFyY2gge1xuICAgICAgICA+IGlucHV0IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDRweDtcbiAgICAgICAgICAgIG1hcmdpbjogY2FsYygzMHB4LzQpIDIuNSU7XG4gICAgICAgICAgICB3aWR0aDogOTUlO1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgfVxuICAgICAgICA+IGlucHV0OmZvY3VzIHtcbiAgICAgICAgICAgIG91dGxpbmU6IDNweCBzb2xpZCAjZmQwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNob3Nlbi1yZXN1bHRzIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgcGFkZGluZzogMzBweCAvIDQ7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLmNob3Nlbi1jb250YWluZXItYWN0aXZlIC5jaG9zZW4tc2luZ2xlIHtcbiAgb3V0bGluZTogM3B4IHNvbGlkICR5ZWxsb3c7XG59XG5cbi5jaG9zZW4tY29udGFpbmVyLW11bHRpLmNob3Nlbi1jb250YWluZXItYWN0aXZlIC5jaG9zZW4tY2hvaWNlc3tcbiAgb3V0bGluZTogM3B4IHNvbGlkICR5ZWxsb3c7XG59XG5cbi5hY3Rpb24tbGlzdCB7XG5cbiAgICAuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgd2lkdGg6IDI1MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMzBweCAvIDQ7XG4gICAgfVxuXG59XG5cbi5mYWNldHMgLmZvcm0tcGFuZWwge1xuXG4gICAgLmNob3Nlbi1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogOTUlICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB9XG5cbiAgICAuY2hvc2VuLWNob2ljZXMge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuc2VhcmNoLWZpZWxkIGlucHV0IHtcbiAgICAgICAgY29sb3I6ICRncmV5LTE7XG4gICAgfVxuXG59XG5cbi5mb3JtIC5nb3Z1ay1mb3JtLWdyb3VwIC5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSB7XG4gICAgd2lkdGg6IDY3JSAhaW1wb3J0YW50O1xufVxuXG4uZm9ybSAuZ292dWstZm9ybS1ncm91cCAuY2hvc2VuLWNvbnRhaW5lci1tdWx0aSB7XG4gICAgd2lkdGg6IDY1LjUlICFpbXBvcnRhbnQ7XG59XG4ucmlnaHQtY29udGVudC1wYW5lIC5nb3Z1ay1mb3JtLWdyb3VwIC5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSB7XG4gICAgd2lkdGg6IDY3JSAhaW1wb3J0YW50O1xufVxuLnJpZ2h0LWNvbnRlbnQtcGFuZSAuZ292dWstZm9ybS1ncm91cCAuY2hvc2VuLWNvbnRhaW5lci1tdWx0aSB7XG4gICAgd2lkdGg6IDY1JSAhaW1wb3J0YW50O1xufVxuXG4ubGVmdC1yb290LXBhbmUgLmxlZnQtcm9vdC1wYW5lLWZpbHRlciAuY2hvc2VuLWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiA5MCUgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4uZmFjZXRzIC5mb3JtLXBhbmVsIC5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAuY2hvc2VuLXNpbmdsZSBzcGFuIHtcbiAgICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICB9XG59XG4iLCIvLyBCcmFuZCBjb2xvdXJzXG4kZ292dWstYmx1ZTogIzAwNWVhNTtcbiRtYWluc3RyZWFtLWJyYW5kOiAkZ292dWstYmx1ZTtcblxuLy8gU3RhbmRhcmQgcGFsZXR0ZSwgY29sb3Vyc1xuJHB1cnBsZTogIzJlMzU4YjtcbiRwdXJwbGUtNTA6ICM5Nzk5YzQ7XG4kcHVycGxlLTI1OiAjZDVkNmU3O1xuJG1hdXZlOiAjNmY3MmFmO1xuJG1hdXZlLTUwOiAjYjdiOWQ3O1xuJG1hdXZlLTI1OiAjZTJlMmVmO1xuJGZ1c2NoaWE6ICM5MTJiODg7XG4kZnVzY2hpYS01MDogI2M5OTRjMztcbiRmdXNjaGlhLTI1OiAjZTlkNGU2O1xuJHBpbms6ICNkNTM4ODA7XG4kcGluay01MDogI2ViOWJiZTtcbiRwaW5rLTI1OiAjZjZkN2U1O1xuJGJhYnktcGluazogI2Y0OTliZTtcbiRiYWJ5LXBpbmstNTA6ICNmYWNjZGY7XG4kYmFieS1waW5rLTI1OiAjZmRlYmYyO1xuJHJlZDogI2IxMGUxZTtcbiRyZWQtNTA6ICNkOTg4OGM7XG4kcmVkLTI1OiAjZWZjZmQxO1xuJG1lbGxvdy1yZWQ6ICNkZjMwMzQ7XG4kbWVsbG93LXJlZC01MDogI2VmOTk5ODtcbiRtZWxsb3ctcmVkLTI1OiAjZjlkNmQ2O1xuJG9yYW5nZTogI2Y0NzczODtcbiRvcmFuZ2UtNTA6ICNmYWJiOTY7XG4kb3JhbmdlLTI1OiAjZmRlNGQ0O1xuJGJyb3duOiAjYjU4ODQwO1xuJGJyb3duLTUwOiAjZGFjMzljO1xuJGJyb3duLTI1OiAjZjBlN2Q3O1xuLy8keWVsbG93OiAjZmZiZjQ3O1xuJHllbGxvdzogI2ZkMDtcbiR5ZWxsb3ctNTA6ICNmZmRmOTQ7XG4keWVsbG93LTI1OiAjZmZmMmQzO1xuJGdyYXNzLWdyZWVuOiAjODU5OTRiO1xuJGdyYXNzLWdyZWVuLTUwOiAjYzJjY2EzO1xuJGdyYXNzLWdyZWVuLTI1OiAjZTdlYmRhO1xuJGdyZWVuOiAjMDA2NDM1O1xuJGdyZWVuLTUwOiAjN2ZiMjk5O1xuJGdyZWVuLTI1OiAjY2NlMGQ2O1xuJHR1cnF1b2lzZTogIzI4YTE5NztcbiR0dXJxdW9pc2UtNTA6ICM5NWQwY2I7XG4kdHVycXVvaXNlLTI1OiAjZDVlY2VhO1xuJGxpZ2h0LWJsdWU6ICMyYjhjYzQ7XG4kbGlnaHQtYmx1ZS01MDogIzk2YzZlMjtcbiRsaWdodC1ibHVlLTI1OiAjZDVlOGYzO1xuXG4vLyBTdGFuZGFyZCBwYWxldHRlLCBncmV5c1xuJGJsYWNrOiAjMGIwYzBjO1xuJGdyZXktMTogIzZmNzc3YjtcbiRncmV5LTI6ICNiZmMxYzM7XG4kZ3JleS0zOiAjZGVlMGUyO1xuJGdyZXktNDogI2Y4ZjhmODtcbiR3aGl0ZTogI2ZmZjtcblxuLy8gU2VtYW50aWMgY29sb3VyIG5hbWVzXG4kbGluay1jb2xvdXI6ICRnb3Z1ay1ibHVlO1xuJGxpbmstYWN0aXZlLWNvbG91cjogJGxpZ2h0LWJsdWU7XG4kbGluay1ob3Zlci1jb2xvdXI6ICRsaWdodC1ibHVlO1xuJGxpbmstdmlzaXRlZC1jb2xvdXI6ICM0YzJjOTI7XG4kYnV0dG9uLWNvbG91cjogIzAwODIzYjtcbiRmb2N1cy1jb2xvdXI6ICR5ZWxsb3c7XG4kdGV4dC1jb2xvdXI6ICRibGFjazsgICAgICAgICAgICAgLy8gU3RhbmRhcmQgdGV4dCBjb2xvdXJcbiRzZWNvbmRhcnktdGV4dC1jb2xvdXI6ICRncmV5LTE7ICAvLyBTZWN0aW9uIGhlYWRlcnMsIGhlbHAgdGV4dCBldGMuXG4kYm9yZGVyLWNvbG91cjogJGdyZXktMjsgICAgICAgICAgLy8gQm9yZGVycywgc2VwZXJhdG9ycywgcnVsZXMsIGtleWxpbmVzIGV0Yy5cbiRwYW5lbC1jb2xvdXI6ICRncmV5LTM7ICAgICAgICAgICAvLyBSZWxhdGVkIGxpbmtzIHBhbmVsLCBwYWdlIGZvb3RlciBldGMuXG4kY2FudmFzLWNvbG91cjogJGdyZXktNDsgICAgICAgICAgLy8gUGFnZSBiYWNrZ3JvdW5kXG4kaGlnaGxpZ2h0LWNvbG91cjogJGdyZXktNDsgICAgICAgLy8gVGFibGUgc3RyaXBlcyBldGMuXG4kcGFnZS1jb2xvdXI6ICR3aGl0ZTsgICAgICAgICAgICAgLy8gVGhlIHBhZ2VcbiRkaXNjb3ZlcnktY29sb3VyOiAkZnVzY2hpYTsgICAgICAvLyBEaXNjb3ZlcnkgYmFkZ2VzIGFuZCBiYW5uZXJzXG4kYWxwaGEtY29sb3VyOiAkcGluazsgICAgICAgICAgICAgLy8gQWxwaGEgYmFkZ2VzIGFuZCBiYW5uZXJzXG4kYmV0YS1jb2xvdXI6ICRvcmFuZ2U7ICAgICAgICAgICAgLy8gQmV0YSBiYWRnZXMgYW5kIGJhbm5lcnNcbiRsaXZlLWNvbG91cjogJGdyYXNzLWdyZWVuOyAgICAgICAvLyBMaXZlIGJhZGdlcyBhbmQgYmFubmVyc1xuJGJhbm5lci10ZXh0LWNvbG91cjogIzAwMDsgICAgICAgIC8vIFRleHQgY29sb3VyIGZvciBBbHBoYSAmIEJldGEgYmFubmVyc1xuJGVycm9yLWNvbG91cjogJHJlZDsgICAgICAgICAgICAgIC8vIEVycm9yIHRleHQgYW5kIGJvcmRlciBjb2xvdXJcbiRlcnJvci1iYWNrZ3JvdW5kOiAjZmVmN2Y3OyAgICAgICAvLyBFcnJvciBiYWNrZ3JvdW5kIGNvbG91clxuIiwibGFiZWwuYmxvY2stbGFiZWwuc2VsZWN0aW9uLWJ1dHRvbi1jaGVja2JveCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR0RTIFRyYW5zcG9ydFwiLGFyaWFsLHNhbnMtc2VyaWY7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgY2xlYXI6IGxlZnQ7XG59XG5cbi5zZWxlY3Rpb24tY2hlY2tib3hfX2lucHV0IHtcbiAgICBvcGFjaXR5OiAwO1xufVxuXG5zcGFuLmdvdnVrLWxhYmVsLnNlbGVjdGlvbi1jaGVja2JveF9fbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6IDEwcHggMCA1cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIC1tcy10b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbn1cblxuc3Bhbi5zZWxlY3Rpb24tY2hlY2tib3hfX2xhYmVsOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwcHg7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgY3VycmVudENvbG9yO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4uc2VsZWN0aW9uLWNoZWNrYm94X19sYWJlbDphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMXB4O1xuICAgIGxlZnQ6IDlweDtcbiAgICB3aWR0aDogMjNweDtcbiAgICBoZWlnaHQ6IDEycHg7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICBib3JkZXI6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMCAwIDVweCA1cHg7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgb3BhY2l0eTogMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLnNlbGVjdGlvbi1jaGVja2JveF9faW5wdXQ6Y2hlY2tlZCB+IC5zZWxlY3Rpb24tY2hlY2tib3hfX2xhYmVsOmFmdGVyIHtcbiAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG59IiwiQHVzZSAnc2FzczptYXRoJztcblxuJGd1dHRlcjogMzBweDtcbiRndXR0ZXItb25lLXF1YXJ0ZXI6IG1hdGguZGl2KCRndXR0ZXIsIDQpO1xuJGd1dHRlci1vbmUtdGhpcmQ6IG1hdGguZGl2KCRndXR0ZXIsIDMpO1xuJGd1dHRlci1oYWxmOiBtYXRoLmRpdigkZ3V0dGVyLCAyKTtcbiRwcm9wb3NpdGlvbi1hY3RpdmUtbmF2OiAjMWQ4ZmViO1xuXG4uaGlkZGVuLWxhYmVsLWFjY2Vzc2libGUge1xuICAgIHRleHQtaW5kZW50OiAtOTk5OTlweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4udWktaWNvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxOXB4O1xuICAgIHdpZHRoOiAxOXB4O1xufVxuXG4udWktZGF0ZXBpY2tlciB7XG5cbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgYm9yZGVyOiAycHggJGJvcmRlci1jb2xvdXIgc29saWQ7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuXG4gICAgdGQsIHRoIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6ICRndXR0ZXItb25lLXF1YXJ0ZXI7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRib3JkZXItY29sb3VyO1xuICAgICAgICBmb250LWZhbWlseTogXCJHRFMgVHJhbnNwb3J0XCIsIGFyaWFsLCBzYW5zLXNlcmlmO1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudWktZGF0ZXBpY2tlci1oZWFkZXIge1xuICAgICAgICBwYWRkaW5nOiAkZ3V0dGVyLW9uZS1xdWFydGVyICRndXR0ZXItaGFsZjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRib3JkZXItY29sb3VyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkdEUyBUcmFuc3BvcnRcIiwgYXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgfVxuXG4gICAgLnVpLWRhdGVwaWNrZXItcHJldiB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgLnVpLWljb24tY2lyY2xlLXRyaWFuZ2xlLXcge1xuICAgICAgICAgICAgQGV4dGVuZCAuaGlkZGVuLWxhYmVsLWFjY2Vzc2libGU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy9wdWJsaWMvaW1hZ2VzL2ljb24tYXJyb3ctbGVmdC5wbmcnKSBuby1yZXBlYXQgY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnVpLWRhdGVwaWNrZXItbmV4dCB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIC51aS1pY29uLWNpcmNsZS10cmlhbmdsZS1lIHtcbiAgICAgICAgICAgIEBleHRlbmQgLmhpZGRlbi1sYWJlbC1hY2Nlc3NpYmxlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcvcHVibGljL2ltYWdlcy9pY29uLWFycm93LXJpZ2h0LnBuZycpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudWktZGF0ZXBpY2tlci10aXRsZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuXG4gICAgLnVpLWRhdGVwaWNrZXItdW5zZWxlY3RhYmxlIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGdyZXktMztcbiAgICB9XG5cbiAgICAudWktZGF0ZXBpY2tlci1kYXlzLWNlbGwtb3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3IgOiAjMDA1ZWE1O1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yIDogI2ZmZjtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4udWktZGF0ZXBpY2tlci10cmlnZ2VyIHtcbiAgICAuZmEtY2FsZW5kYXI6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GzXCI7IH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyLW9uZS1xdWFydGVyO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxufVxuXG5idXR0b24udWktZGF0ZXBpY2tlci10cmlnZ2VyIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBmb250LXNpemU6IDA7XG59c2Nzc1xuXG4udWktZGF0ZXBpY2tlci10cmlnZ2VyOmJlZm9yZSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIHBhZGRpbmctbGVmdDogNy41cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbnRlbnQ6IFwi74GzXCI7XG59XG5cbi8vIEhpZGUsIGJ1dCBub3QgZm9yIHNjcmVlbnJlYWRlcnNcbi52aXN1YWxseS1oaWRkZW4sXG4udmlzdWFsbHloaWRkZW4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gIGhlaWdodDogMXB4O1xuICB3aWR0aDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbn1cbiIsIi5tYWluLXBhbmV7XG4gICAgZGlzcGxheTogZmxleDtcbn1cblxuLmxlZnQtcm9vdC1wYW5lXG57XG4gICAgd2lkdGg6IDIyJTtcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2JmYzFjMztcbiAgICBmbG9hdDogbGVmdDtcbiAgICBmbGV4OiAwLjk7XG59XG4ucmlnaHQtY29udGVudC1wYW5lXG57XG4gICAgd2lkdGg6IDcwJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5yaWdodC1jb250ZW50LXBhbmUgLmJ1dHRvbi1ncm91cCAuYnV0dG9uLXNlY29uZGFyeVxue1xuICAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgICAgd2lkdGg6IGF1dG87XG59XG5cbi5yaWdodC1jb250ZW50LXBhbmUgLmZvcm0tY29udHJvbHtcbiAgICB3aWR0aDogNzUlO1xufVxuXG4ucmlnaHQtY29udGVudC1wYW5lIC5mb3JtLXBhbmVse1xuICAgIHdpZHRoOiA2Ni41JTtcbn1cblxuLnJpZ2h0LWNvbnRlbnQtcGFuZSAuZm9ybS1jb250cm9sLWlubGluZXtcbiAgICB3aWR0aDogMzAlO1xufVxuXG4ucmlnaHQtY29udGVudC1wYW5lIC5mb3JtLWxhYmVsLWlubGluZXtcbiAgICB3aWR0aDogNDUlO1xufVxuXG5cblxuLnJpZ2h0LWNvbnRlbnQtcGFuZSBlbGVtZW50LnN0eWxlLFxuLnJpZ2h0LWNvbnRlbnQtcGFuZSAuZGF0YS1ncmlkXG57XG5taW4taGVpZ2h0OiBhdXRvO1xufVxuXG4gLmxlZnQtcm9vdC1wYW5lIHVsIGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LWZhbWlseTogXCJudGFcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHBhZGRpbmc6IDEycHggMjVweCA4cHggMFxufVxuXG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NDFweCkge1xuICAgICAubGVmdC1yb290LXBhbmUgdWwgYSB7XG4gICAgICAgIHBhZGRpbmc6IDEycHggMzBweCA4cHggMTVweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwibnRhXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNDI4NTcxNDI5XG4gICAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQxcHgpIGFuZCAobWluLXdpZHRoOiA2NDFweCkge1xuICAgICAubGVmdC1yb290LXBhbmUgdWwgYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjVcbiAgICB9XG59XG5cbiAubGVmdC1yb290LXBhbmUgdWwgYTpob3ZlcixcbiAubGVmdC1yb290LXBhbmUgdWwgYTpmb2N1cyxcbiAge1xuICAgIGJhY2tncm91bmQ6ICNkZWUwZTI7XG4gICAgY29sb3I6ICMwMDVlYTVcbn1cblxuXG4gLmxlZnQtcm9vdC1wYW5lIHVsIGE6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtOHB4O1xuICAgIHJpZ2h0OiAxMHB4O1xuICAgIGNvbnRlbnQ6IFwiXFwyMDNBXCJcbn1cblxuXG5cbiAubGVmdC1yb290LXBhbmUgdWwgLmFjdGl2ZSBhIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDA1ZWE1O1xuICAgIGNvbG9yOiAjZmZmXG59XG5cbiAubGVmdC1yb290LXBhbmUgLmxlZnQtcm9vdC1wYW5lLWZpbHRlciB7XG4gICAgbWFyZ2luLXRvcDogMjVweDtcbiB9XG5cbi5yaWdodC1jb250ZW50LXBhbmUgLmdyaWQtMS0yIC5jaG9zZW4tY29udGFpbmVyIHtcbiAgICB3aWR0aDogNzUlICFpbXBvcnRhbnQ7XG59XG5cbi5sZWZ0LXJvb3QtcGFuZSB1bCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIHBhZGRpbmctbGVmdDogMHB4O1xufVxuXG4jZ3JhbnRTZWN0aW9uIHRmb290IHRkIHtcbiAgICBidXR0b24uanMtdGFibGUtYnRue1xuICAgICAgICAgICAgY29sb3I6ICMwMDVlYTU7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIH1cbn1cblxuI2xlZGdlclRhYmxlIHRkIHtcbiAgICBidXR0b24uZWRpdC1idG4sIGJ1dHRvbi5yZW1vdmUtYnRuIHtcbiAgICAgICAgY29sb3I6ICMwMDVlYTU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG5cbiAgICAgICAgJltkaXNhYmxlZF0ge1xuICAgICAgICAgICAgY29sb3I6IHJnYmEoMTYsIDE2LCAxNiwgMC4zKTtcbiAgICAgICAgICAgIGN1cnNvcjogYXV0bztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuI3RocmVzaG9sZHMgdGQge1xuICAgIGJ1dHRvbi5qcy10YWJsZS1idG4ge1xuICAgICAgICAgICAgY29sb3I6ICMwMDVlYTU7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG4gICAgYnV0dG9uLnRocmVzaG9sZC1yZW1vdmUge1xuICAgICAgICAgICAgY29sb3I6ICMwMDVlYTU7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG59XG5cbi5jaGV2cm9uLWNhcmQge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2IoMTc3LCAxODAsIDE4Mik7XG4gICAgbWFyZ2luOiAwcHggMTVweDtcbiAgICBwYWRkaW5nOiA1cHggMHB4IDIwcHg7XG59XG5cbi5jaGV2cm9uLWNhcmRfX3dyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAxMHB4IDMwcHggMTBweCAwcHg7XG59XG5cbi5jaGV2cm9uLWNhcmRfX2Rlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW46IDBweCAtMzBweCAwcHggMHB4O1xufVxuXG4uaG9tZXBhZ2Utc2VydmljZXMtYW5kLWluZm9fX2xpc3Qge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC1hdXRvLWZsb3c6IHJvdztcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmciAxZnIgMWZyIDFmciAxZnIgMWZyIDFmciAxZnIgMWZyIDFmciAxZnIgMWZyIDFmciAxZnIgMWZyIDFmcjtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMHB4IC0xNXB4O1xuICAgIHBhZGRpbmc6IDBweDtcbn1cblxuLmhvbWVwYWdlLXNlY3Rpb25fX2hlYWRpbmctLWJvcmRlci1ub25lIHtcbiAgICBib3JkZXItd2lkdGg6IGluaXRpYWw7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgIGJvcmRlci1jb2xvcjogaW5pdGlhbDtcbiAgICBib3JkZXItaW1hZ2U6IGluaXRpYWw7XG4gICAgcGFkZGluZzogMHB4O1xufVxuLmhvbWVwYWdlLXNlY3Rpb25fX2hlYWRpbmcge1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDJweDtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMGIwYzBjO1xuICAgIG1hcmdpbjogMCAwIDMwcHg7XG4gICAgcGFkZGluZzogMTVweCAwIDA7XG59XG4uY2hldnJvbi1jYXJkX19saW5rOmJlZm9yZSB7XG4gICAgYm9yZGVyLXJpZ2h0OiAzcHggc29saWQgIzFkNzBiODtcbiAgICBib3JkZXItdG9wOiAzcHggc29saWQgIzFkNzBiODtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogN3B4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogNXB4O1xuICAgIHRvcDogMTVweDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSByb3RhdGUoXG40NWRlZ1xuKSBzY2FsZSgxKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZSg0NWRlZykgc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZSg0NWRlZykgc2NhbGUoMSk7XG4gICAgd2lkdGg6IDdweDtcbn1cblxuLmNoZXZyb24tY2FyZF9fbGluazphZnRlciB7XG4gICAgYm90dG9tOiAwO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xufVxuLmhvbWVwYWdlLXNlcnZpY2VzLWFuZC1pbmZvX19saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4uaG9tZXBhZ2Utc2VydmljZXMtYW5kLWluZm9fX2xpc3QgLmNoZXZyb24tY2FyZCB7XG5cdHdpZHRoOiBjYWxjKCgxMDAlIC8gMikgLSAzMHB4KTtcblx0ZmxleC1iYXNpczogY2FsYygoMTAwJSAvIDIpIC0gMzBweCk7XG59IiwiLmpzZ3JpZC1wYWdlci1jb250YWluZXIge1xuICBwYWRkaW5nLXRvcDogNDBweDtcbiAgZm9udC1zaXplOiAxOXB4O1xuICBmb250LWZhbWlseTogXCJHRFMgVHJhbnNwb3J0XCIsIGFyaWFsLCBzYW5zLXNlcmlmO1xufVxuXG4ucGFnZXItaXRlbXMge1xuICBkaXNwbGF5OiBub25lO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gIC5wYWdlci1pdGVtcyB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICB9XG4gIC5wYWdlci1pdGVtcyBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIG1hcmdpbjogMCA4cHg7XG4gIH1cbiAgLnBhZ2VyLWl0ZW1zIGxpOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAucGFnZXItaXRlbXMgbGk6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG4ucGFnZXItbmV4dCxcbi5wYWdlci1wcmV2IHtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gIC5wYWdlci1uZXh0LFxuICAucGFnZXItcHJldiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgLnBhZ2VyLXByZXYge1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gIC5wYWdlci1uZXh0IHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gIC5wYWdlci1jb250cm9scyB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICB9XG59XG4iLCIuZ292dWstYnJlYWRjcnVtYnMge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xufVxuXG4uZGF0YXNldC1pbnN0YW5jZXNfX25hbWUtYnJlYWRjcnVtYiB7XG4gICAgbWF4LXdpZHRoOiAxNGVtO1xuICAgIHRleHQtd3JhcDogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59IiwiLmdvdnVrLWhlYWRlciAuZ292dWstaGVhZGVyX19sb2dvIHtcbiAgd2lkdGg6IGF1dG87XG5cbiAgLmdvdnVrLWhlYWRlcl9fcHJvZHVjdC1uYW1lIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG5cbn1cblxuLmdvdnVrLWhlYWRlcl9fbGluay0taG9tZXBhZ2Uge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5nb3Z1ay1oZWFkZXIgLmdvdnVrLWhlYWRlcl9fbG9nb3R5cGUge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5nb3Z1ay1oZWFkZXJfX2NvbnRlbnQge1xuICB3aWR0aDogNzMlO1xufVxuXG4uZ292dWstaGVhZGVyX19uYXZpZ2F0aW9uLS1lbmQuZ292dWstaGVhZGVyX19uYXZpZ2F0aW9uLWl0ZW0ge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLmdvdnVrLXRlbXBsYXRlX19ib2R5IC5nb3Z1ay1tYWluLXdyYXBwZXIge1xuICBwYWRkaW5nLXRvcDogMDtcbn1cblxuLmRlbHRhLWhlYWRlcl9fbGluay0tbWFpbi1uYXYge1xuICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG59XG5cbi5kZWx0YS1wYWdlLXRpdGxlIHtcbiAgQGV4dGVuZCAuZ292dWstaGVhZGluZy1sO1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG59XG5cbi5kZWx0YS10ZXh0LXNlY29uZGFyeSB7XG4gIGNvbG9yOiAkc2Vjb25kYXJ5LXRleHQtY29sb3VyO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4uZ292dWstaGVhZGVyICB7XG4gIC5oZWFkZXItbXktYWNjb3VudCB7XG4gICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IHVuZGVybGluZTtcbiAgfVxufSIsIi8vIEphdmFTY3JpcHQgc2xpZGluZyBwYW5lbCBzdHlsaW5nXG4uanMtc2xpZGluZy1wYW5lbCB7XG5cbiAgICAmLXdyYXBwZXIge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJi5qcy1zbGlkaW5nLXBhbmVsLXdyYXBwZXItZXhwYW5kZWQge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgICAgICAgICAgIC5qc2dyaWQtdGFibGUgdGgsXG4gICAgICAgICAgICAuanNncmlkLXRhYmxlIHRkIHtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2Utb3V0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAmLXNpYmxpbmcge1xuICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkdEUyBUcmFuc3BvcnRcIiwgYXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAmLWNvbnRlbnQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmLWhlYWRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDVlYTU7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBkaXNwbGF5OiAtbW96LWlubGluZS1zdGFjaztcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmc6IC41MjYzMTVlbSAuNzg5NDczZW0gLjI2MzE1N2VtO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAycHggMCAjMDAzMjU5O1xuICAgICAgICAgICAgLW1vei1ib3gtc2hhZG93OiAwIDJweCAwICMwMDMyNTk7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDJweCAwICMwMDMyNTk7XG4gICAgICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbi5qcy1zbGlkaW5nLXBhbmVsLWhlYWRlciB7XG4gICAgZm9udC1mYW1pbHk6IFwiR0RTIFRyYW5zcG9ydFwiLCBhcmlhbCwgc2Fucy1zZXJpZjtcbn1cbi5sZWZ0LXJvb3QtcGFuZS1maWx0ZXIgLmpzLXNsaWRpbmctcGFuZWwtaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1ZWE1O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiAtbW96LWlubGluZS1zdGFjaztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogLjUyNjMxNWVtIC43ODk0NzNlbSAuMjYzMTU3ZW07XG4gICAgYm9yZGVyOiBub25lO1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDJweCAwICMwMDMyNTk7XG4gICAgLW1vei1ib3gtc2hhZG93OiAwIDJweCAwICMwMDMyNTk7XG4gICAgYm94LXNoYWRvdzogMCAycHggMCAjMDAzMjU5O1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1mYW1pbHk6IFwiR0RTIFRyYW5zcG9ydFwiLCBhcmlhbCwgc2Fucy1zZXJpZjtcbn1cbiIsIkB1c2UgJ3Nhc3M6bWF0aCc7XG5cbiRndXR0ZXI6IDMwcHg7XG4kZ3V0dGVyLW9uZS1xdWFydGVyOiBtYXRoLmRpdigkZ3V0dGVyLCA0KTtcbiRndXR0ZXItb25lLXRoaXJkOiBtYXRoLmRpdigkZ3V0dGVyLCAzKTtcbiRndXR0ZXItaGFsZjogbWF0aC5kaXYoJGd1dHRlciwgMik7XG4kcHJvcG9zaXRpb24tYWN0aXZlLW5hdjogIzFkOGZlYjtcbiRncmV5LTQ6ICNmOGY4Zjg7XG4kbWluLWhlaWdodDogXCJcIjtcblxuLmRlYWRsaW5lLXN1Ym1pc3Npb24gLmZvcm0tY29udHJvbCB7XG4gIHdpZHRoOiA4MCU7XG59XG5cbi8vIEZpbHRlcnMgbmVlZCBzbGlnaHRseSBzbWFsbGVyIHN0eWxpbmcgdG8gZml0IG1vcmUgaW50byB0aGUgdmlld1xuLmZpbHRlciB7XG5cblxuICAgIC5maWx0ZXItdGl0bGUsXG4gICAgLmZpbHRlci10aXRsZSBhIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHBhbmVsLWNvbG91cjtcbiAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG91cjtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuXG4gICAgLmZpbHRlci10aXRsZSB7XG4gICAgICAgIHBhZGRpbmc6ICRndXR0ZXItb25lLXF1YXJ0ZXI7XG4gICAgfVxuXG4gICAgLmJsb2NrLWxhYmVsIHtcblxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGZsb2F0OiBub25lO1xuXG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgIGhlaWdodDogMTlweDtcbiAgICAgICAgICAgIHdpZHRoOiAxOXB4O1xuICAgICAgICAgICAgdG9wOiA0cHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTJweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5maWx0ZXItcmlnaHQge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6ICRndXR0ZXItaGFsZjtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuXG4gICAgLmJsb2NrLWxpc3Qge1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JleS00O1xuICAgICAgICAgICAgbWFyZ2luOiAkZ3V0dGVyLW9uZS1xdWFydGVyO1xuICAgICAgICAgICAgcGFkZGluZzogJGd1dHRlci1vbmUtcXVhcnRlcjtcblxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJGd1dHRlci1vbmUtdGhpcmQgKyAkZ3V0dGVyLWhhbGY7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5yZW1vdmUge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFjdGlvbi1saXN0IHtcbiAgICAgICAgcGFkZGluZzogJGd1dHRlci1vbmUtcXVhcnRlcjtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIGlucHV0LmZvcm0tY29udHJvbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgcGFkZGluZzogNHB4IDNweCAzcHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAuZm9ybS1kYXRlIHtcblxuICAgICAgICAuYmxvY2stbGFiZWwge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB9XG5cbiAgICB9XG5cbn1cblxuLy8gQWxpZ24gdGhlIEdPVlVLIGNoZWNrYm94IHN0eWxlcyB0byB0aGUgc21hbGxlciBmb250LXNpemUgdXNlZCBieSBmaWx0ZXJzXG4uanMtZW5hYmxlZCAuZmlsdGVyIC5ibG9jay1sYWJlbCB7XG4gICAgJi5zZWxlY3Rpb24tYnV0dG9uLWNoZWNrYm94IHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgICB0b3A6IDZweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgNHB4IDRweDtcbiAgICAgICAgICAgIHdpZHRoOiA4cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDRweDtcbiAgICAgICAgICAgIHRvcDogMTFweDtcbiAgICAgICAgICAgIGxlZnQ6IDRweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuc2VsZWN0aW9uLWJ1dHRvbi1yYWRpbyB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgdG9wOiA2cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJvcmRlcjogNnB4IHNvbGlkO1xuICAgICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgICAgbGVmdDogNHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYWN0aW9uLWxpc3Qge1xuXG4gICAgbWFyZ2luLWJvdHRvbTogJGd1dHRlci1oYWxmO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICAvLyBAZXh0ZW5kICVjb250YWluLWZsb2F0cztcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAuYWN0aW9uLXJpZ2h0IHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hY3Rpb24tbGluay1idXR0b24ge1xuXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogLW1vei1pbmxpbmUtc3RhY2s7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgICAgQGlmICRtaW4taGVpZ2h0ICE9IFwiXCIge1xuICAgICAgICAgICAgbWluLWhlaWdodDogJG1pbi1oZWlnaHQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgIHBhZGRpbmc6IC41MjYzMTVlbSAuNzg5NDczZW0gLjI2MzE1N2VtOyAvLyAxMHB4IDE1cHggNXB4XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICAgICAvLyBUZXh0XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtOyAvLyBpbmhlcml0IGZyb20gcGFyZW50XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcblxuICAgICAgICAvLyBJbnRlcmFjdGlvblxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgJi5hY3Rpb24tbGlzdC1oZWFkZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ3V0dGVyO1xuICAgIH1cblxuICAgIC5ibG9jay1sYWJlbCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgIHdpZHRoOiAyNSU7XG4gICAgfVxuXG59XG5cbi5ibG9jay1saXN0IHtcblxuICAgIC5hY3Rpb24tcmlnaHQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiA3LjVweDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG5cbiAgICAucmVtb3ZlLXNlbGVjdGVkLWZhY2V0IHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC9wdWJsaWMvaW1hZ2VzL2Nsb3NlLnBuZykgbm8tcmVwZWF0IDRweCA0cHg7XG4gICAgICAgICAgICBjb250ZW50OiAnICc7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogNHB4O1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi5mb3JtLXBhbmVsIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkYm9yZGVyLWNvbG91cjtcbiAgICBtYXJnaW4tYm90dG9tOiAkZ3V0dGVyLWhhbGY7XG4gICAgZm9udC1mYW1pbHk6IFwibnRhXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcblxuICAgIC5qcy1leHBhbmRlci1oYW5kbGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9wdWJsaWMvaW1hZ2VzL2FjY29yZGlvbi1hcnJvdy14c21hbGwucG5nJyk7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDFweCA0cHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMzJweDtcbiAgICB9XG5cbiAgICAmW2RhdGEtZmFjZXQtaGlkZGVuPXRydWVdIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cblxuICAgICYuanMtZXhwYW5kZXItaW5pdGlhbC1jb2xsYXBzZSB7XG4gICAgICAgIC5qcy1leHBhbmRlci10YXJnZXQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuanMtZXhwYW5kZXItZXhwYW5kZWQge1xuXG4gICAgICAgIC5qcy1leHBhbmRlci1oYW5kbGUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMXB4IC0yOHB4O1xuICAgICAgICB9XG5cbiAgICB9XG59XG5cbiNmb3JtLWJ1aWxkZXItZnVsbHNjcmVlbiB7XG4gICAgJjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIH1cbn1cblxuLmZvcm0tZ3JvdXAuZmlsZS11cGxvYWQtY29udGFpbmVyLFxuLmZvcm0tZ3JvdXAgLmZpbGUtdXBsb2FkLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAucGxhY2Vob2xkZXIge1xuICAgICAgICB3aWR0aDogMzYlO1xuICAgIH1cblxuICAgIHNwYW5bcm9sZT1idXR0b25dIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPWZpbGVdIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAudXBsb2FkLWJ1dHRvbiB7XG4gICAgICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgLy8gdG9wOiA1MCU7XG4gICAgICAgIC8vIHJpZ2h0OiAwO1xuICAgICAgICAvLyBtYXJnaW46IDA7XG4gICAgICAgIC8vIHBhZGRpbmc6IDA7XG4gICAgICAgIC8vIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgLy8gY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAvLyBvcGFjaXR5OiAwO1xuICAgICAgICAvLyB3aWR0aDogMjAwcHg7XG4gICAgfVxuXG4gICAgLnVwbG9hZC1saXN0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgd2lkdGg6IDQ4MHB4O1xuXG4gICAgICAgIC51cGxvYWQtbGlzdC1pdGVtIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIG1hcmdpbjogNy41cHggMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDcuNXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RlZTBlMjtcblxuICAgICAgICAgICAgYS5yZW1vdmUtdXBsb2FkIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiA3LjVweDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC9wdWJsaWMvaW1hZ2VzL2Nsb3NlLnBuZykgbm8tcmVwZWF0IDRweCA0cHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA0cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi5mb3JtLWxhYmVsIHtcbiAgICAmLmZvcm0tbGFiZWwtaW5saW5lIHtcbiAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbn1cblxuLmZvcm0tY29udHJvbCB7XG4gICAgJi5mb3JtLWNvbnRyb2wtaW5saW5lIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogMjUlO1xuICAgIH1cblxuICAgIC8vQHRvZG8gVW4tYnJpdHRsZSB0aGUgZm9sbG93aW5nIGNvZGUuIE1peGluLCBtYXliZT9cbiAgICAmLmZvcm0tY29udHJvbC1mdWxsIHtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gICAgICAgICAgICB3aWR0aDogODklO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGd1dHRlcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4uZm9ybS1ncm91cCB7XG4gICAgaW5wdXQuZGlzYWJsZWQsXG4gICAgaW5wdXRbZGlzYWJsZWRdLFxuICAgIGlucHV0W2Rpc2FibGVkPVwiZGlzYWJsZWRcIl0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JleS0zO1xuICAgICAgICBib3JkZXItY29sb3I6ICRncmV5LTE7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG5cbiAgICAgICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7IC8qIENocm9tZS9PcGVyYS9TYWZhcmkgKi9cbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIH1cbiAgICAgICAgJjo6LW1vei1wbGFjZWhvbGRlciB7IC8qIEZpcmVmb3ggMTkrICovXG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICB9XG4gICAgICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgLyogSUUgMTArICovXG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICB9XG4gICAgICAgICY6LW1vei1wbGFjZWhvbGRlciB7IC8qIEZpcmVmb3ggMTgtICovXG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAmLmVycm9yIHtcbiAgICAgICAgaW5wdXQuZGlzYWJsZWQsXG4gICAgICAgIGlucHV0W2Rpc2FibGVkXSxcbiAgICAgICAgaW5wdXRbZGlzYWJsZWQ9XCJkaXNhYmxlZFwiXSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRlcnJvci1jb2xvdXI7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLmZvcm0tc2VjdGlvbntcbiAgICAuZm9ybS1ncm91cCB7XG4gICAgICAgID4gcCwgPiBhcnRpY2xlIHtcbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDFweCl7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGFydGljbGUge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogJGd1dHRlci1oYWxmO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmV5LTE7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLmZvcm0tZ3JvdXAtc3ViIHtcbiAgQGV4dGVuZCAuZm9ybS1ncm91cDtcbiAgbWFyZ2luLXRvcDogJGd1dHRlcjtcbn1cblxuaW5wdXQuZXJyb3Ige1xuICAgIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLmxvYWRpbmctaWNvbiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uQ29kZU1pcnJvciB7XG4gICAgbWFyZ2luLXRvcDogJGd1dHRlcjtcbiAgICBtaW4taGVpZ2h0OiA2MDBweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG59XG5cbi8vIFRhYmxlIEZvcm0gY29udHJvbHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEJ5IGRlZmF1bHQsIGZvcm0gY29udHJvbHMgYXJlIDUwJSB3aWR0aCBmb3IgZGVza3RvcCxcbi8vIGFuZCAxMDAlIHdpZHRoIGZvciBtb2JpbGVcbnRhYmxlIC5mb3JtLWNvbnRyb2wge1xuICB3aWR0aDogOTAlO1xufVxuXG5cbi8vIEpTLVRhYmxlIHN0eWxpbmdcbi5qcy10YWJsZSB7XG4gICAgLy8gSGlkZSB0aGUgY29sdW1uIGZvciAnZ3JhbnRTZWN0aW9uVXVpZCdcbiAgICAjZ3JhbnRfc2VjdGlvbl91dWlkLCBbaGVhZGVycz1cImdyYW50X3NlY3Rpb25fdXVpZFwiXSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgI2pzLXRhYmxlLWlucHV0IC5mb3JtLWdyb3VwIHtcbiAgICAgICAgLmpzLW5ldy1ncmFudC1hZGQsIC5qcy1uZXctZ3JhbnQtdXBkYXRlLCAuanMtY2FuY2VsIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjanMtdGFibGUtaW5wdXQgLmdyaWQtMS0yIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG59XG5cbi8vTWFrZXMgdGhlIGZvbnQgbGFiZWwgb2YgdGhlIGZpbGUgdXBsb2FkcyBib2xkXG4uZmlsZS11cGxvYWQtY29udGFpbmVyIC5mb3JtLWxhYmVse1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5pbnB1dFt0eXBlPXRpbWVdIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjMGIwYzBjO1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBmb250LWZhbWlseTogXCJHRFMgVHJhbnNwb3J0XCIsIGFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTlweDtcbn1cblxuaW5wdXRbdHlwZT10aW1lXS5nb3Z1ay1pbnB1dC0tZXJyb3J7ICBib3JkZXI6IDJweCBzb2xpZCAjZDQzNTFjOyB9XG5cbi50aW1lLXNwYW4ge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdEUyBUcmFuc3BvcnRcIiwgYXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxOXB4O1xufVxuXG4uZ292dWstYnV0dG9uLWdyb3VwIC5oZWxwe1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDVlYTU7XG4gICAgZm9udC1zaXplOiAxOXB4O1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgIHBhZGRpbmctdG9wOiA1cHg7XG59XG5cblxuLmdvdnVrLWZvcm0tZ3JvdXAgLmdvdnVrLWxhYmVsLmZvcm0tbGFiZWwtaW5saW5lIHtcbiAgICB3aWR0aDogMjUlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmdvdnVrLWZvcm0tZ3JvdXAgLmdvdnVrLWxhYmVsLmZvcm0tbGFiZWwtaW5saW5lLWZsdWlkIHtcbiAgICB3aWR0aDogYXV0bztcbn1cbi5nb3Z1ay1mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2wtaW5saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDQxJTtcbn1cblxuI3N1Ym1pc3Npb25fZGVhZGxpbmUgdGQge1xuICAgIGJ1dHRvbi5qcy1yZW1vdmUge1xuICAgICAgICAgICAgY29sb3I6ICMwMDVlYTU7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG4gICAgLmpzLWFkZCB7XG4gICAgICAgICAgICBjb2xvcjogIzAwNWVhNTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cbn1cblxuI3NhcF92ZW5kb3JfY29kZXNfdGFibGUgdGQgYnV0dG9uLmpzLXJlbW92ZSB7XG4gICAgY29sb3I6ICMwMDVlYTU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4jc2FwX3ZlbmRvcl9jb2Rlc190YWJsZSB0ZCBidXR0b24uanMtYWRkIHtcbiAgICBjb2xvcjogIzAwNWVhNTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgZm9udC1zaXplOiAxOXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbiNncmFudF9wYXltZW50X21ldGhvZHNfdGFibGUgdGQgYnV0dG9uLmpzLWFkZFBheW1lbnRNZXRob2Qge1xuICAgIGNvbG9yOiAjMDA1ZWE1O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuI2dyYW50X3BheW1lbnRfbWV0aG9kc190YWJsZSB0ZCBidXR0b24uanMtcmVtb3ZlUGF5bWVudE1ldGhvZCB7XG4gICAgY29sb3I6ICMwMDVlYTU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4ub3V0cHV0LXdhcm5pbmcge1xuICAgIGNvbG9yOiAjZjQ3NzM4O1xufVxuXG4ub3V0cHV0LWVycm9yIHtcbiAgICBjb2xvcjogI2IxMGUxZTtcbn1cblxuI2dyYW50U2VjdGlvbkRldGFpbCB0ZCB7XG4gICAgYnV0dG9uLmpzLXRhYmxlLWJ0biB7XG4gICAgICAgICAgICBjb2xvcjogIzAwNWVhNTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cbn1cblxuLyogSGlkZSB1bnVzZWQvaW5jb3JyZWN0IGNvbnRyb2xzIGZyb20gdGhlIFwicHVibGlzaFwiIGRpYWxvZ3VlIGJveCBpbiB0aGUgZm9ybSBidWlsZGVyLlxuICAgWW91IG11c3QgdXBkYXRlIHRoZSBpZHMgd2hlbmV2ZXIgdXBkYXRpbmcgdGhlIE9yYmVvbiB2ZXJzaW9uICovXG4jZW1iZWRkZWQtZm9ybS1idWlsZGVyIC5vcmJlb24tcG9ydGxldC1kaXYgLm9yYmVvbi1wb3J0bGV0LWJvZHkgLnhmb3Jtcy1mb3JtIC55dWktcGFuZWwtY29udGFpbmVyIC54eGZvcm1zLWRpYWxvZy1ib2R5IC54Zm9ybXMtY2FzZS1zZWxlY3RlZCB7XG4gICAgI28weGYtOTg2LCAjbzB4Zi05OTAge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4uc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItZHJvcGRvd24ge1xuICAgIHotaW5kZXg6IDk5OTk5OTk7XG59XG5cbmFbZGlzYWJsZWRdIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmRlbHRhLWRsIHtcbiAgICAvLyB1c2VkIG9uIGZvcm0gc3VtbWFyeSBwYWdlXG4gICAgZHQge1xuICAgICAgICBmb250LXdlaWdodDogODAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgZGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICB9XG59XG5cbi8vIE1ha2UgdGhlIGxpbmtzIGluIHRoZSBzZWFyY2ggZ3JpZCBhcHBlYXIgbGlrZSBhIDx0aD4gb24gZm9ybSBzZWFyY2ggcGFnZVxuI2Zvcm0tc2VhcmNoLWdyaWQgPiB0YWJsZSA+IHRib2R5ID4gKiA+IHRkLmpzZ3JpZC1jZWxsLnRhYmxlLWxpbmsgPiBzcGFuID4gYSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbiNmb3JtLXN1bW1hcnktZ3JpZCB7XG4gICAgZGlzcGxheTogZmxleDtcbn1cblxuLmdvdnVrLWJ1dHRvbi1ncm91cC5kZWx0YS1mb3JtLWJ1dHRvbi1ncm91cCB7XG4gICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xufVxuIiwiLnNlYXJjaGZvcm0sXG5hc2lkZS5zZWFyY2hmb3JtIHtcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW46IDAgMCAwIDA7XG4gIHBhZGRpbmc6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICB9XG5cbiAgLy8gUHJvdG90eXBlIExheW91dCBSdWxlcyBmb3Igc2VhcmNoIGZvcm1zLi4uXG4gIC8vIEB0b2RvIFRoZXNlIGFyZSBzdWJqZWN0IHRvIHJldmlldyBhbmQgbWlnaHQgbm90IGJlIG5lY2Vzc2FyeS4uLi5cbiAgJi5mb3JtLTEtMiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuXG4gICYuZm9ybS0xLTMge1xuICAgIHdpZHRoOiAzMy4zMyU7XG4gIH1cblxuICAmLmZvcm0tMi0zIHtcbiAgICB3aWR0aDogNjYuNjYlO1xuICB9XG5cbiAgJi5mb3JtLTEtNCB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuXG4gICYuZm9ybS0zLTQge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cblxuICAmLmZvcm0tZnVsbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gIH1cblxuICAuanMtdmlzaWJsZSAmIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC5qcy1lbmFibGVkICYgbGFiZWwge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA5cHg7XG4gICAgdG9wOiA4cHg7XG4gICAgei1pbmRleDogMTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cblxuICBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgcmlnaHQ6IDJweDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDQ4cHg7XG4gICAgaGVpZ2h0OiA0MXB4O1xuXG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwO1xuICAgIC1tb3otYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG5cblxuICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLmZvcm0tY29udHJvbCB7XG5cbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIENocm9tZSA0LjAgdG8gOS4wLCBTYWZhcmkgMy4xIHRvIDUuMCwgTW9iaWxlIFNhZmFyaSAzLjIgdG8gNC4zLCBBbmRyb2lkIEJyb3dzZXIgMi4xIHRvIDMuMFxuICAgICAgICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyBGaXJlZm94IDIuMCB0byAyOC4wLCBGaXJlZm94IGZvciBBbmRyb2lkIDI2LjAgb253YXJkc1xuICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgcGFkZGluZzogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICBwYWRkaW5nOiA2cHg7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAycHggc29saWQ7XG4gICAgei1pbmRleDogMztcblxuICAgIC8vIFJlbW92ZSBpbm5lciBzaGFkb3dcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIC8vIFJlbW92ZSByb3VuZGVkIGNvcm5lcnNcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG5cbiAgICAmOmZvY3VzLCAmLmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICB9XG5cbiAgICAuanMtZW5hYmxlZCAmIHtcbiAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgd2lkdGg6IC13ZWJraXQtY2FsYygxMDAlIC0gNDlweCk7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0OXB4KTtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5kYXRhLWdyaWQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4taGVpZ2h0OiA4MDBweDtcbiAgICB3aWR0aDogYXV0bztcblxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19pdGVtLS1jdXJyZW50IHtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgIH1cbn1cblxuLnBhZ2VyLmpzZ3JpZC1wYWdlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5qc2dyaWQtcGFnZXItY29udGFpbmVyIHtcbiAgLnByZXZpb3VzLW5leHQtbmF2aWdhdGlvbiB7XG4gIFx0bGkuanNncmlkLXBhZ2VyLW5hdi1idXR0b24ge1xuICBcdFx0dGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gIFx0fVxuICB9XG59XG5cbi5qc2dyaWQtbm9kYXRhLXJvdyB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRzdHJvbmd7XG5cdFx0ZGlzcGxheTogaW5saW5lO1xuXHR9XG59XG5cbi5qc2dyaWQtaGVhZGVyLXNvcnRhYmxlIHtcbiAgICBidXR0b24ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLy8gaGlkZSB0aGUgc29ydCBpY29ucyBmb3Igc2NyZWVuIHJlYWRlcnNcbiAgICBidXR0b246YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcXDAwYTBcXDAwYTBcXDI1QkNcIiAvIFwiXCI7XG4gICAgICAgIGNvbG9yOiAkZ292dWstYmx1ZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIHJpZ2h0OiAtMTBweDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgYnV0dG9uOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcXDAwYTBcXDAwYTBcXDI1QjJcIiAvIFwiXCI7XG4gICAgICAgIGNvbG9yOiAkZ292dWstYmx1ZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGJvdHRvbTogMTBweDtcbiAgICAgICAgcmlnaHQ6IC0xMHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxufVxuXG4uanNncmlkLWhlYWRlci1zb3J0LWRlc2Mge1xuICAgIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIHJpZ2h0OiAtMTJweDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgICBidXR0b246YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLmpzZ3JpZC1oZWFkZXItc29ydC1hc2Mge1xuICAgIGJ1dHRvbjphZnRlciB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgcmlnaHQ6IC0xMnB4O1xuICAgICAgICBib3R0b206IDA7XG4gICAgfVxuICAgIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuXG4uanNncmlkLWhlYWRlci1zb3J0YWJsZSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uanNncmlkLWhlYWRlci1zb3J0IHtcblxuICAgICYtYXNjLFxuICAgICYtZGVzYyB7XG5cbiAgICAgICAgYSAuc29ydC1pY29uIHtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICM0NDQ7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtYXNjIHtcbiAgICAgICAgYSAuc29ydC1pY29uOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFwwMGEwXFwwMGEwXFwyNUIyXCI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLWRlc2Mge1xuICAgICAgICBhIC5zb3J0LWljb246YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcXDAwYTBcXDAwYTBcXDI1QkNcIjtcbiAgICAgICAgfVxuICAgIH1cblxuXG59XG5cblxuLmpzLWRyb3Bkb3duLWxpc3Qtd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgIC5mYS1jYXJldC1kb3duIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDExMi41JTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1JSk7XG4gICAgfVxuICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICBjb2xvcjogIzAwNWVhNTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cbn1cblxuLmpzLWRyb3Bkb3duLWxpc3Qge1xuXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWJsdWU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkZ3V0dGVyLWhhbGY7XG4gICAgcmlnaHQ6IC0kZ3V0dGVyO1xuICAgIG1pbi13aWR0aDogMTUwcHg7XG4gICAgei1pbmRleDogOTk5O1xuXG4gICAgJi5qcy1kcm9wZG93bi1saXN0LWNsb3NlZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5vdmVyZmxvd24ge1xuICAgICAgICByaWdodDogNDBweDtcbiAgICAgICAgYm90dG9tOiBjYWxjKDEwMCUgLSAyNXB4ICsgNHB4KTtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRndXR0ZXItb25lLXF1YXJ0ZXI7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPSdzdWJtaXQnXSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBjb2xvcjogJGdvdnVrLWJsdWU7XG4gICAgfVxuXG59XG5cbi5qc2dyaWQtdGFibGUge1xuICAgIHRhYmxlLWxheW91dDogYXV0bztcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZvbnQtZmFtaWx5OiBcIm50YVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIHRyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNiZmMxYzM7XG4gICAgICAgIHBhZGRpbmc6IDAuNjMxNThlbSAxLjA1MjYzZW0gMC40NzM2OGVtIDA7XG4gICAgfVxufVxuXG50ZC5qc2dyaWQtY2VsbCxcbnRoLmpzZ3JpZC1oZWFkZXItY2VsbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICBsaW5lLWhlaWdodDogMS4zMTU3OTtcbiAgICBmb250LWZhbWlseTogXCJudGFcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgICAgcGFkZGluZzogMC42MzE1OGVtIDEuMDUyNjNlbSAwLjQ3MzY4ZW0gMDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgY29sb3I6ICMwYjBjMGM7XG5cbiAgICA+IHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNXB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjVweDtcblxuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMXB4KTtcbiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAjY2RmMWMzO1xuICAgICAgICA+IGJ1dHRvbiB7XG4gICAgICAgICAgICBjb2xvcjogIzAwNWVhNTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cbiAgICAgICAgPiBidXR0b246Zm9jdXMge1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmRkMDA7IC8qIGh0dHA6Ly9HT1YuVUsgIHllbGxvdyAqL1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIEJsYWNrIHVuZGVybGluZSBmb3IgY2xhcml0eSAqL1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAycHg7XG4gICAgICAgIH1cblxuICAgIH1cblxufVxuXG50ZC5qc2dyaWQtY2VsbC5ub3dyYXAge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbnRkLmpzZ3JpZC1jZWxsLm1pbi13aWR0aC0zMDAge1xuICAgIG1pbi13aWR0aDogMzAwcHg7XG59XG5cbi5mYSB7XG5kaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgMTRweC8xIEZvbnRBd2Vzb21lO1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICB0ZXh0LXJlbmRlcmluZzogYXV0bztcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbn1cblxuLmZhLXNlYXJjaDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74CCXCI7XG59XG5cbi5jb250ZW50IC5idXR0b24ge1xuYmFja2dyb3VuZC1jb2xvcjogIzAwODIzYjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogLW1vei1pbmxpbmUtc3RhY2s7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IC41MjYzMTVlbSAuNzg5NDczZW0gLjI2MzE1N2VtO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDA7XG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAycHggMCAjMDAzNjE4O1xuICAgIC1tb3otYm94LXNoYWRvdzogMCAycHggMCAjMDAzNjE4O1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDAgIzAwMzYxODtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG59XG5cbnRoLmpzZ3JpZC1oZWFkZXItY2VsbCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG4vLyAuanNncmlkLWxvYWQtc2hhZGVyIHt9XG4vL1xuLy8gLmpzZ3JpZC1sb2FkLXBhbmVsIHt9XG5cbi5zZWFyY2gtZmllbGQge1xuICAgIHdpZHRoOiA2NiUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xufVxuXG4uZmEtY2FyZXQtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Dl1wiO1xufVxuXG4uZXZpZGVuY2Utc2VhcmNoX19kYXRhLWdyaWQge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG59XG4iLCIuZGF0YS1ncmlkLWRlbHRhLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5hY3RpdmUtZmlsdGVycy1zdW1tYXJ5IHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxcmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICBjb2xvcjogIzFkNzBiODtcbiAgICAgICAgZm9udC1zaXplOiBzbWFsbGVyO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICB9XG5cbiAgICAubXVsdGlzZWxlY3QtY2hvc2VuLW9wdGlvbnMge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAuc2VhcmNoLWNob2ljZSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG4gICAgICAgIGJ1dHRvbi5zZWFyY2gtY2hvaWNlLWNsb3NlIHtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgYWxsOiB1bnNldDtcbiAgICAgICAgfVxuICAgICAgICBidXR0b24uc2VhcmNoLWNob2ljZS1jbG9zZTo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiw5dcIjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgdG9wOiAtN3B4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAzNXB4O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBhZ2VyLWNvbnRyb2xzIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIC5wYWdlci1pdGVtcyB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZGF0YS1ncmlkLXNjcm9sbC1jb250YWluZXIge1xuICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIH1cblxuICAgIC5jb2xsZWN0aW9uLWdyb3Vwc19fb3JnYW5pc2F0aW9ucy1saXN0IHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IHByZS1saW5lO1xuICAgIH1cblxuICAgIC5kZWx0YS10YWJsZS1maWx0ZXJzIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjJmMTtcblxuICAgICAgICAuZGVsdGEtdGFibGUtZmlsdGVycy1oZWFkZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiMWI0YjY7XG4gICAgICAgIH1cbiAgICAgICAgLmRlbHRhMi10YWJsZS1maWx0ZXJzLWhlYWRlciB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICB9XG4gICAgICAgIC5kZWx0YS1maWx0ZXJzLWhlYWRlci1jb21wb25lbnRzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgICAuZGVsdGEtcmVzdWx0cy1hY3RpdmUtZmlsdGVycyB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0U2RTZFNjtcbiAgICAgICAgfVxuICAgICAgICAuZmFjZXRzIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgIH1cblxuICAgICAgICAuc2VhcmNoZm9ybSAuY29udGVudCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBpbml0aWFsO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNlYXJjaGZvcm0ge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNtYWxsLWJ1dHRvbiB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgICNzZWFyY2gtdGV4dGZpZWxkIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0M3B4KTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmZcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWFyY2gtdGV4dGZpZWxkLW5vLWJ1dHRvbiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZlxuICAgICAgICB9XG5cbiAgICAgICAgLmpzLWV4cGFuZGVyLXRvZ2dsZS1hbGwtZ2RzIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMWQ3MGI4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDUwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMXB4O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIFxuICAgICAgICAuYXBwbHktYWxsLWZpbHRlcnMge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzAwNzAzYztcbiAgICAgICAgfVxuXG4gICAgICAgIC5jbGVhci1hbGwtZmlsdGVycyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgICAgICB9XG4gICAgICAgIC5jbGVhci1hbGwtZmlsdGVycyB7XG4gICAgICAgICAgICBjb2xvcjogIzFkNzBiODtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3gtc2hhZG93OiB1bnNldCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuY2xlYXItYWxsLWZpbHRlcnNbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuY2xlYXItYWxsLWZpbHRlcnM6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGNvbG9yOiAjMDA0MzdkO1xuICAgICAgICAgICAgb3V0bGluZTogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgLmRhdGFncmlkX2NsZWFyLWZpbHRlci1saW5re1xuICAgICAgICAgICAgY29sb3I6ICMxZDcwYjg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kYXRhZ3JpZF9jbGVhci1maWx0ZXItbGluazpob3ZlcntcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkOWVlZmY7XG4gICAgICAgICAgICBjb2xvcjogIzAwNDM3ZDtcbiAgICAgICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCAjZDllZWZmO1xuICAgICAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4ycztcbiAgICAgICAgfVxuXG4gICAgICAgIC5kc19kYXRlcGlja2VyX19idXR0b257XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDcwM2MhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLmRzX2RhdGVwaWNrZXJfX2lucHV0LXdyYXBwZXJ7XG4gICAgICAgICAgICBnYXA6IDAuNXJlbSAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAuZGVsdGEtZmlsdGVyc19kYXRlLXBpY2tlci1pbnB1dC1jb250YWluZXJ7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1idXR0b24ge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNiMWI0YjY7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxcHg7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5tdWx0aXNlbGVjdC1zdW1tYXJ5IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tdG9nZ2xlIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgICAgICAgIC5nb3Z1ay1hY2NvcmRpb24tbmF2X19jaGV2cm9uIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAtMnB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmdvdnVrLWFjY29yZGlvbi1uYXZfX2NoZXZyb24ge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzBiMGMwYztcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzBiMGMwYztcblxuICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2YzZjJmMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5kZWx0YS10YWJsZS1maWx0ZXItc3VtbWFyeSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxZDcwYjg7XG4gICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgLnNob3ctZmlsdGVycyB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDJweCAwICMxNDRlODE7XG4gICAgICAgICAgICBjb2xvcjogIzFkNzBiODtcbiAgICAgICAgICAgIHBhZGRpbmc6IDhweCAxMHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U4ZjFmODtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzFkNzBiODtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaS5mYSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmRlbHRhLXRhYmxlLWZpbHRlci1zdW1tYXJ5IC5nb3Z1ay1mb3JtLWdyb3VwIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIHNlbGVjdC5hZGQtdG8tbXVsdGlzZWxlY3Qge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNjVweCk7XG4gICAgfVxuICAgIGJ1dHRvbi5hZGQtdG8tbXVsdGlzZWxlY3Qge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5qcy1leHBhbmRlci1oYW5kbGUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLmZpbHRlci5qcy1leHBhbmRlciB7XG4gICAgICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tdG9nZ2xlLXRleHQtLXNob3cge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICB9XG4gICAgICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tdG9nZ2xlLXRleHQtLWhpZGUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5nb3Z1ay1hY2NvcmRpb24tbmF2X19jaGV2cm9uIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmpzLWV4cGFuZGVyLWV4cGFuZGVkIHtcbiAgICAgICAgICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tdG9nZ2xlLXRleHQtLXNob3cge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLXRvZ2dsZS10ZXh0LS1oaWRlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5nb3Z1ay1hY2NvcmRpb24tbmF2X19jaGV2cm9uIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuanMtZXhwYW5kZXItLWluaXRpYWwtY29sbGFwc2Uge1xuICAgICAgICAgICAgLmpzLWV4cGFuZGVyLXRhcmdldCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5maWx0ZXItdGl0bGUge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiAwO1xuICAgIH1cblxuICAgIC5maWx0ZXIgLmNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5maWx0ZXIge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICB9XG5cbiAgICAuYWN0aXZlLWZpbHRlcnMge1xuICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICB9XG5cbiAgICAvLyBUYWtlbiBmcm9tIGdvdnVrIGNzczpcbiAgICAuZ292dWstcGFnaW5hdGlvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgICAgICAuZ292dWstcGFnaW5hdGlvbiB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAgICAgLmdvdnVrLXBhZ2luYXRpb24ge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX2xpc3Qge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuXG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX2l0ZW0sXG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX25leHQsXG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX3ByZXYge1xuICAgICAgICBmb250LWZhbWlseTogXCJHRFMgVHJhbnNwb3J0XCIsIGFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtaW4td2lkdGg6IDQ1cHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQ1cHg7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19pdGVtLFxuICAgICAgICAuZ292dWstcGFnaW5hdGlvbl9fbmV4dCxcbiAgICAgICAgLmdvdnVrLXBhZ2luYXRpb25fX3ByZXYge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgICAgICAuZ292dWstcGFnaW5hdGlvbl9faXRlbSxcbiAgICAgICAgLmdvdnVrLXBhZ2luYXRpb25fX25leHQsXG4gICAgICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19wcmV2IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzE1Nzg5NDczNztcbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAuZ292dWstcGFnaW5hdGlvbl9faXRlbSxcbiAgICAgICAgLmdvdnVrLXBhZ2luYXRpb25fX25leHQsXG4gICAgICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19wcmV2IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRwdDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19pdGVtOmhvdmVyLFxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19uZXh0OmhvdmVyLFxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19wcmV2OmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjJmMTtcbiAgICB9XG5cbiAgICAuZ292dWstcGFnaW5hdGlvbl9faXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgICAgICAuZ292dWstcGFnaW5hdGlvbl9faXRlbSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19wcmV2LFxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19uZXh0IHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB9XG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX3ByZXYgLmdvdnVrLXBhZ2luYXRpb25fX2xpbmssXG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX25leHQgLmdvdnVrLXBhZ2luYXRpb25fX2xpbmsge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19wcmV2IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19uZXh0IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG5cbiAgICAuZ292dWstcGFnaW5hdGlvbl9faXRlbS0tY3VycmVudCxcbiAgICAuZ292dWstcGFnaW5hdGlvbl9faXRlbS0tZWxsaXBzZXMsXG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX2l0ZW06Zmlyc3QtY2hpbGQsXG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX2l0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19pdGVtLS1jdXJyZW50IHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgb3V0bGluZTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWQ3MGI4O1xuICAgIH1cbiAgICAuZ292dWstcGFnaW5hdGlvbl9faXRlbS0tY3VycmVudDpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxZDcwYjg7XG4gICAgfVxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19pdGVtLS1jdXJyZW50IC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rOmxpbmssIC5nb3Z1ay1wYWdpbmF0aW9uX19pdGVtLS1jdXJyZW50IC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rOnZpc2l0ZWQge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICB9XG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX2l0ZW0tLWN1cnJlbnQgLmdvdnVrLXBhZ2luYXRpb25fX2xpbms6aG92ZXIsIC5nb3Z1ay1wYWdpbmF0aW9uX19pdGVtLS1jdXJyZW50IC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTkpO1xuICAgIH1cbiAgICAuZ292dWstcGFnaW5hdGlvbl9faXRlbS0tY3VycmVudCAuZ292dWstcGFnaW5hdGlvbl9fbGluazpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAjMGIwYzBjO1xuICAgIH1cblxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19pdGVtLS1lbGxpcHNlcyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGNvbG9yOiAjNTA1YTVmO1xuICAgIH1cbiAgICAuZ292dWstcGFnaW5hdGlvbl9faXRlbS0tZWxsaXBzZXM6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAuZ292dWstcGFnaW5hdGlvbl9fbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtaW4td2lkdGg6IDE1cHg7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gICAgQG1lZGlhIHNjcmVlbiB7XG4gICAgICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rOmhvdmVyIC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rLXRpdGxlLS1kZWNvcmF0ZWQsIC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rOmFjdGl2ZSAuZ292dWstcGFnaW5hdGlvbl9fbGluay10aXRsZS0tZGVjb3JhdGVkIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IG1heCgxcHgsIC4wNjI1cmVtKTtcbiAgICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAwLjE1NzhlbTtcbiAgICB9XG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX2xpbms6aG92ZXIgLmdvdnVrLXBhZ2luYXRpb25fX2xpbmstbGFiZWwsXG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX2xpbms6aG92ZXIgLmdvdnVrLXBhZ2luYXRpb25fX2xpbmstdGl0bGUtLWRlY29yYXRlZCwgLmdvdnVrLXBhZ2luYXRpb25fX2xpbms6YWN0aXZlIC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rLWxhYmVsLFxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rOmFjdGl2ZSAuZ292dWstcGFnaW5hdGlvbl9fbGluay10aXRsZS0tZGVjb3JhdGVkIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogbWF4KDNweCwgLjE4NzVyZW0sIC4xMmVtKTtcbiAgICAgICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcC1pbms6IG5vbmU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogbm9uZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uLXNraXA6IG5vbmU7XG4gICAgfVxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rOmZvY3VzIC5nb3Z1ay1wYWdpbmF0aW9uX19pY29uIHtcbiAgICAgICAgY29sb3I6ICMwYjBjMGM7XG4gICAgfVxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rOmZvY3VzIC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rLWxhYmVsIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgICAuZ292dWstcGFnaW5hdGlvbl9fbGluazpmb2N1cyAuZ292dWstcGFnaW5hdGlvbl9fbGluay10aXRsZS0tZGVjb3JhdGVkIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rLWxhYmVsIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IG1heCgxcHgsIC4wNjI1cmVtKTtcbiAgICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAwLjE1NzhlbTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgfVxuXG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX2ljb24ge1xuICAgICAgICB3aWR0aDogMC45Mzc1cmVtO1xuICAgICAgICBoZWlnaHQ6IDAuODEyNXJlbTtcbiAgICAgICAgY29sb3I6ICM1MDVhNWY7XG4gICAgICAgIGZpbGw6IGN1cnJlbnRjb2xvcjtcbiAgICAgICAgZm9yY2VkLWNvbG9yLWFkanVzdDogYXV0bztcbiAgICB9XG5cbiAgICAuZ292dWstcGFnaW5hdGlvbl9faWNvbi0tcHJldiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICB9XG5cbiAgICAuZ292dWstcGFnaW5hdGlvbl9faWNvbi0tbmV4dCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgIH1cblxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uLS1ibG9jayB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAuZ292dWstcGFnaW5hdGlvbi0tYmxvY2sgLmdvdnVrLXBhZ2luYXRpb25fX2l0ZW0ge1xuICAgICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICB9XG4gICAgLmdvdnVrLXBhZ2luYXRpb24tLWJsb2NrIC5nb3Z1ay1wYWdpbmF0aW9uX19uZXh0LFxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uLS1ibG9jayAuZ292dWstcGFnaW5hdGlvbl9fcHJldiB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgfVxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uLS1ibG9jayAuZ292dWstcGFnaW5hdGlvbl9fbmV4dCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgfVxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uLS1ibG9jayAuZ292dWstcGFnaW5hdGlvbl9fbmV4dCAuZ292dWstcGFnaW5hdGlvbl9faWNvbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgICAuZ292dWstcGFnaW5hdGlvbi0tYmxvY2sgLmdvdnVrLXBhZ2luYXRpb25fX3ByZXYgKyAuZ292dWstcGFnaW5hdGlvbl9fbmV4dCB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYjFiNGI2O1xuICAgIH1cbiAgICAuZ292dWstcGFnaW5hdGlvbi0tYmxvY2sgLmdvdnVrLXBhZ2luYXRpb25fX2xpbmssXG4gICAgLmdvdnVrLXBhZ2luYXRpb24tLWJsb2NrIC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rLXRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgIH1cbiAgICAuZ292dWstcGFnaW5hdGlvbi0tYmxvY2sgLmdvdnVrLXBhZ2luYXRpb25fX2xpbmstdGl0bGU6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uLS1ibG9jayAuZ292dWstcGFnaW5hdGlvbl9fbGluayB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uLS1ibG9jayAuZ292dWstcGFnaW5hdGlvbl9fbGluazpmb2N1cyAuZ292dWstcGFnaW5hdGlvbl9fbGluay1sYWJlbCB7XG4gICAgICAgIG91dGxpbmU6IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6ICMwYjBjMGM7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmRkMDA7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgLTJweCAjZmZkZDAwLCAwIDRweCAjMGIwYzBjO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIC13ZWJraXQtYm94LWRlY29yYXRpb24tYnJlYWs6IGNsb25lO1xuICAgICAgICBib3gtZGVjb3JhdGlvbi1icmVhazogY2xvbmU7XG4gICAgfVxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uLS1ibG9jayAuZ292dWstcGFnaW5hdGlvbl9fbGluazpub3QoOmZvY3VzKSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gICAgLmdvdnVrLXBhZ2luYXRpb24tLWJsb2NrIC5nb3Z1ay1wYWdpbmF0aW9uX19pY29uIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIH1cblxuXG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX2l0ZW0ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19pdGVtLS1jdXJyZW50IHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgfVxuXG4gICAgLnRvdGFsLXJlY29yZHMtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDgwcHhcbiAgICB9XG59IiwiLmRlbHRhLWZpbHRlcnNfaGVhZGVye1xuICBwYWRkaW5nOiAxcmVtO1xufVxuXG4uYWN0aXZlLWZpbHRlcnMtY291bnR7XG4gIG1hcmdpbi1sZWZ0OiAwLjJyZW07XG59XG5cbi5kZWx0YS1maWx0ZXJzX2NvbnRhaW5lcntcbiAgcGFkZGluZzogMXJlbTtcblxuICAuZGVsdGEtZmlsdGVycy1hY3RpdmUtdGFne1xuICAgIG1hcmdpbjogMCAwLjJyZW07XG4gIH1cblxuICAuZGVsdGEtZmlsdGVycy1jbGVhci1maWx0ZXItbGlua3tcbiAgICBjb2xvcjogIzFkNzBiODtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cblxuICAuZGVsdGEtZmlsdGVycy1jbGVhci1maWx0ZXItbGluazpob3ZlcntcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDllZWZmO1xuICAgIGNvbG9yOiAjMDA0MzdkO1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCAjZDllZWZmO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG4gIH1cblxuICAuZGVsdGEtZmlsdGVyc19jaG9zZW4tb3B0aW9ue1xuXG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAuZGVsdGEtZmlsdGVyc19yZW1vdmUtb3B0aW9ue1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBhbGw6IHVuc2V0O1xuICAgIH1cblxuICAgIC5kZWx0YS1maWx0ZXJzX3JlbW92ZS1vcHRpb246OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIsOXXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogLTdweDtcbiAgICAgIGZvbnQtc2l6ZTogMzVweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAubXVsdGlzZWxlY3QtaW5wdXQtY29udGFpbmVye1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cblxuXG59XG5cbi5kZWx0YS1maWx0ZXJzX2NvbnRyb2xze1xuICBwYWRkaW5nOiAxcmVtO1xuXG4gICNmaWx0ZXJzLWNsZWFyLWJ1dHRvbiwgI2ZpbHRlcnMtcmVzZXQtYnV0dG9ue1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgY29sb3I6ICMxZDcwYjg7XG4gICAgYmFja2dyb3VuZDogdW5zZXQgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiB1bnNldCAhaW1wb3J0YW50O1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG5cbiAgI2ZpbHRlcnMtY2xlYXItYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICNmaWx0ZXJzLWNsZWFyLWJ1dHRvbjpob3ZlciwgI2ZpbHRlcnMtcmVzZXQtYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnNldCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjMDA0MzdkO1xuICAgIG91dGxpbmU6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4ycztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cblxuLmRlbHRhLWZpbHRlcnMtc2VsZWN0LXdpdGgtYWRke1xuICBtYXJnaW4tcmlnaHQ6IDAuMnJlbTtcbn1cblxuLmRlbHRhLWZpbHRlci1jb250YWluZXIgLmZvcm0tZ3JvdXAgLmNob3Nlbi1jb250YWluZXIge1xuICB3aWR0aDogOTUlICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMTZweDtcbn1cblxuIiwiQHVzZSAnc2FzczptYXRoJztcblxuJGd1dHRlcjogMzBweDtcbiRndXR0ZXItb25lLXF1YXJ0ZXI6IG1hdGguZGl2KCRndXR0ZXIsIDQpO1xuJGd1dHRlci1vbmUtdGhpcmQ6IG1hdGguZGl2KCRndXR0ZXIsIDMpO1xuJGd1dHRlci1oYWxmOiBtYXRoLmRpdigkZ3V0dGVyLCAyKTtcbiRnb3Z1ay1ibHVlOiAjMDA1ZWE1O1xuJGxpZ2h0LWJsdWU6ICMyYjhjYzQ7XG4kd2hpdGU6ICNmZmY7XG5cblxuLmpzLWFjdGl2ZS1maWx0ZXJzLWRyb3Bkb3duLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICA+IGE6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMC41cHg7XG4gICAgfVxuXG4gICAgLmZhLWNhcmV0LWRvd24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNSUpO1xuICAgIH1cbn1cblxuXG4uanMtYWN0aXZlLWZpbHRlcnMtZHJvcGRvd24ge1xuXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWJsdWU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkZ3V0dGVyLWhhbGY7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIG1pbi13aWR0aDogMTUwcHg7XG4gICAgei1pbmRleDogOTk5O1xuXG4gICAgJi5qcy1hY3RpdmUtZmlsdGVycy1kcm9wZG93bi1jbG9zZWQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGd1dHRlci1vbmUtcXVhcnRlcjtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIGlucHV0W3R5cGU9J3N1Ym1pdCddIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGNvbG9yOiAkZ292dWstYmx1ZTtcbiAgICB9XG59XG5cbi5mYWNldHMgLmdvdnVrLWZvcm0tZ3JvdXAge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5mYWNldHMgLmpzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5mb3JtLXBhbmVsLmpzLWV4cGFuZGVyIC5qcy1leHBhbmRlci10YXJnZXQge1xuICAgIGJvcmRlcjogbm9uZTtcbn1cblxuLmZpbHRlciAuYmxvY2stbGlzdC5hY3RpdmUtZmlsdGVycy1saXN0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgbGkge1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICB9XG59XG5cbi5mYWNldHMgLnNpZGViYXItc2VhcmNoLWZpZWxkIC5nb3Z1ay1idXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG59IiwiLy8gTm90aWNlLCB0ZXh0IHdpdGggYW4gaWNvbiB0byB0aGUgbGVmdFxuLy9AdG9kbyBSZXZpZXcgd2hldGhlciBkdXBsaWNhdGlvbiBoZXJlIGNhbiBiZSB0aWRpZWQgdXAgLSBjdXJyZW50IGZvcm1hdCB3YXNcbi8vIGEgc2VtaS1DJlAgam9iLi4uIFNjcmVlbi5zY3NzIGhhcyBhbm90aGVyIHJlbGF0ZWQgY2h1bmsgb2YgJ25vdGljZSdcblxuLm5vdGljZSB7XG4gICAgLy9AZXh0ZW5kICVjb250YWluLWZsb2F0cztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogJGd1dHRlci1oYWxmIDAgJGd1dHRlci1vbmUtdGhpcmQ7XG5cbiAgICAuaWNvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xN3B4OyAvLyBIYWxmIHRoZSBoZWlnaHQgb2YgdGhlIGltcG9ydGFudCBpY29uXG5cbiAgICAgICYuZmEge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTNweDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTlweDtcbiAgICAgIH1cblxuICAgICAgJi5mYS0yeHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtMjBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzdHJvbmcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAoMzUgKyAzMCkgKyBweDtcbiAgICAgICAgLy8gbWFyZ2luLWxlZnQ6IC0kZ3V0dGVyLWhhbGY7XG4gICAgfVxuXG5cbn1cblxuXG4ubm90aWNlIHtcbiAgICAuaWNvbi5qcy1jbG9zZS1lbGVtZW50IHtcbiAgICAgICAgbGVmdDogaW5pdGlhbDtcbiAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtN3B4O1xuICAgIH1cblxuICAgIHN0cm9uZyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgKiAxLjU7XG4gICAgfVxuXG4gICAgLmljb24tYmFubmVyLXdhcm5pbmcge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTFweDtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgY29udGVudDogJ2knO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGd1dHRlci1oYWxmO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICBmb250LXNpemU6IDIzcHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmdvdnVrLWJsdWUtYmFubmVyIHtcblxuICAgICAgICAuaWNvbi1iYW5uZXItd2FybmluZzpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6ICRnb3Z1ay1ibHVlO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi5mb3JtLWdyb3Vwe1xuICAgIC5ub3RpY2V7XG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICAvL0BleHRlbmQgLmJvbGQteHNtYWxsO1xuICAgICAgICAgICAgY29sb3I6ICRnb3Z1ay1ibHVlO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyLW9uZS10aGlyZCAqIDQ7XG4gICAgICAgIH1cblxuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLTEzcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuaWNvbi1iYW5uZXItd2FybmluZyB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIC8vQGV4dGVuZCAuYm9sZC14c21hbGw7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGdvdnVrLWJsdWU7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxufVxuXG4vKiBAdG9kbzogbWFrZSBTQVNTOyBjb3BpZWQgYXMtaXMgZnJvbSBfZGNsZy5zY3NzIHwgYmx1ZSBpbmZvcm1hdGlvbiBiYW5uZXIgKi9cbi5nb3Z1ay1ibHVlLWJhbm5lcntcbiAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLWJsdWU7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgYTpsaW5rLCBhOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cblxuICAuaWNvbi5qcy1jbG9zZS1lbGVtZW50IHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoL3B1YmxpYy9pbWFnZXMvY2xvc2UtaW52ZXJzZS5wbmcpIG5vLXJlcGVhdCAycHggMnB4O1xuICB9XG5cbn1cblxuLmdvdnVrLXJlZC1iYW5uZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xuICBjb2xvcjogJHdoaXRlO1xuXG4gIGE6bGluaywgYTp2aXNpdGVkIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG5cbiAgLmljb24uanMtY2xvc2UtZWxlbWVudCB7XG4gICAgYmFja2dyb3VuZDogdXJsKC9wdWJsaWMvaW1hZ2VzL2Nsb3NlLWludmVyc2UucG5nKSBuby1yZXBlYXQgMnB4IDJweDtcbiAgfVxuXG59XG4uZ292dWsteWVsbG93LWJhbm5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR5ZWxsb3c7XG4gIGNvbG9yOiAkYmxhY2s7XG5cbiAgYTpsaW5rLCBhOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gIH1cblxuICAuaWNvbi5qcy1jbG9zZS1lbGVtZW50IHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoL3B1YmxpYy9pbWFnZXMvY2xvc2UucG5nKSBuby1yZXBlYXQgMnB4IDJweDtcbiAgfVxuXG59XG4uZ292dWstZ3JlZW4tYmFubmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuICBjb2xvcjogJHdoaXRlO1xuXG4gIGE6bGluaywgYTp2aXNpdGVkIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG5cbiAgLmljb24uanMtY2xvc2UtZWxlbWVudCB7XG4gICAgYmFja2dyb3VuZDogdXJsKC9wdWJsaWMvaW1hZ2VzL2Nsb3NlLWludmVyc2UucG5nKSBuby1yZXBlYXQgMnB4IDJweDtcbiAgfVxuXG59XG5cblxuLy8gTm90aWNlIGJhbm5lciBmb3IgJ0RlbGV0ZSBkaWFsb2cnIHBvcHVwXG4vLyBAdG9kbyBSZXZpZXcgdG8gc2VlIGlmIHRoaXMgY2FuIGJlIGZsYXR0ZW5lZCBpbnRvIGV4aXN0aW5nIHN0eWxlcyBhYm92ZVxuXG4ubm90aWNle1xuICAmLWRlbGV0ZXtcbiAgICBwYWRkaW5nOiAxNXB4IDAgMTBweDtcbiAgICBiYWNrZ3JvdW5kOiAkcmVkO1xuICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAuaWNvbntcbiAgICAgIGxlZnQ6IDEuNSU7XG4gICAgfVxuXG4gIH1cbn1cblxuLmZvcm0tZ3JvdXAge1xuXG4gICAgLmluZm8tbm90aWNlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1NXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5nb3Z1ay13YXJuaW5nLXRleHRfX2ljb24ge1xuICAgICAgICBmb250LWZhbWlseTogXCJHRFMgVHJhbnNwb3J0XCIsYXJpYWwsc2Fucy1zZXJpZjtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1pbi13aWR0aDogMzVweDtcbiAgICAgICAgbWluLWhlaWdodDogMzVweDtcbiAgICAgICAgYm9yZGVyOiAzcHggc29saWQgIzBiMGMwYztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZDogIzBiMGMwYztcbiAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjlweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIH1cbiAgICAuZ292dWstd2FybmluZy10ZXh0X190ZXh0IHtcbiAgICAgICAgY29sb3IgOiAjMGIwYzBjICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZSA6IDE5cHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNTBweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgICB9XG5cbn1cbiIsIiNpbi1yZXZpZXctYm94IHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICAgIGJhY2tncm91bmQ6ICNmYWZhMDU7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIHBhZGRpbmctbGVmdDogMTJweDtcbiAgICB3aWR0aDogNTgwcHg7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDFweDtcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgZm9udC1zaXplOiA4cHg7XG4gICAgcGFkZGluZy1yaWdodDogOTdweDtcbiAgfVxufVxuXG4jYXBwcm92ZWQtYm94IHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICAgIGJhY2tncm91bmQ6ICNmZjlmNDA7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIHBhZGRpbmctbGVmdDogMTJweDtcbiAgICB3aWR0aDogNTgwcHg7XG4gICAgcGFkZGluZy1yaWdodDogODBweDtcbn1cblxuI2NsZWFyZWQtYm94IHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICAgIGJhY2tncm91bmQ6ICMwMDk5MDA7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIHBhZGRpbmctbGVmdDogMTJweDtcbiAgICB3aWR0aDogNTgwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMTQycHg7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICBmb250LXNpemU6IDhweDtcbiAgcGFkZGluZy1yaWdodDogMTE3cHg7XG4gIH1cbn1cblxuI2ZvcmVjYXN0LWJveCB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDdweDtcbiAgICBiYWNrZ3JvdW5kOiAjMjFlY2U5O1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XG4gICAgd2lkdGg6IDU4MHB4O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcGFkZGluZy1yaWdodDogMjU5cHg7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICBwYWRkaW5nLXJpZ2h0OiAxNzVweDtcbiAgZm9udC1zaXplOiA4cHg7XG4gIH1cbn1cblxuI2Rhc2hib2FyZC1wYWdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xufVxuXG4ubGVnZW5kLWdyb3VwIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgd2lkdGg6IDYzMHB4O1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICB3aWR0aDogMzgycHg7XG4gICAgfVxuXG59XG5cbi5mb3JtLWdyb3VwIC5sZWdlbmQtYm94IHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBib3JkZXItcmFkaXVzOiA3cHg7XG4gIHBhZGRpbmc6IDVweDtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICB3aWR0aDogNTgwcHg7XG59XG5cbi5mb3JtLWdyb3VwICNvcGVuLWRhdGEtYm94IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMzBweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2IoMjAxLCAyMDMsIDIwNyk7XG59XG4uZm9ybS1ncm91cCAjc2F2ZWQtYm94IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzODZweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2IoMjUwLCAyNTAsIDUpO1xufVxuLmZvcm0tZ3JvdXAgI3N1Ym1pdHRlZC1ib3gge1xuICAgIHBhZGRpbmctcmlnaHQ6IDM0NXB4O1xuICAgIGJhY2tncm91bmQ6IHJnYigzMywgMjM2LCAyMzMpO1xufVxuLmZvcm0tZ3JvdXAgI2NlcnRpZmllZC1ib3gge1xuICAgIHBhZGRpbmctcmlnaHQ6IDM2NXB4O1xuICAgIGJhY2tncm91bmQ6IHJnYigwLCAxMjgsIDApO1xufVxuXG4uZm9ybS1ncm91cCAubGVnZW5kLWJveCBzcGFuIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cbiIsInNlY3Rpb24jbW9yZXtcbiAgbWFyZ2luLXRvcDogJGd1dHRlcjtcbn1cblxuLm5hdi10YWJzIHtcbiAgem9vbTogMTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiLlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMDtcbiAgICBjbGVhcjogYm90aDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICBvbCwgdWwsIC50YWJzLW5hdntcbiAgICBmbG9hdDogbGVmdDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiA1O1xuICB9XG5cbiAgbGksIC50YWJzLW5hdiBsaXtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBmbG9hdDogbGVmdDtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDFweCl7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGJvcmRlcjogc29saWQgMXB4ICNmZmY7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBoZWlnaHQ6IDIuMjVlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjI1ZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMXB4O1xuICAgICAgcGFkZGluZzogMCAxZW0gMCAxZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuXG4gICAgJi5hY3RpdmUgYXtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICBib3JkZXI6IHNvbGlkIDFweCAjYmZjMWMzO1xuICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNmZmY7XG4gICAgICBjb2xvcjogIzBiMGMwYztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHotaW5kZXg6IDU7XG4gICAgfVxuXG4gICAgJjpmaXJzdC1jaGlsZCBhe1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi5qcy10YWItY29udGVudCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnRhYi1jb250ZW50IC50YWItcGFuZSB7XG4gIHBhZGRpbmc6ICRndXR0ZXIgMCAwIDA7XG4gIGJvcmRlci10b3A6IHNvbGlkIDFweCAjYmZjMWMzO1xuICBjbGVhcjogYm90aDtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi5vZmZpY2UtZm9ybS1ub3RpY2UtcGFzc3dvcmQge1xuICAgIGZvbnQtc2l6ZTogMTdweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtZmFtaWx5OiBTZWdvZSBVSSxTZWdvZSBXUCxUYWhvbWEsQXJpYWwsc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xufVxuXG4ub2ZmaWNlLWZvcm0tZm9vdGVyLWJsb2NrIHtcbiAgICBmb250LXNpemU6IDE3cHggIWltcG9ydGFudDtcbiAgICBmb250LWZhbWlseTogU2Vnb2UgVUksU2Vnb2UgV1AsVGFob21hLEFyaWFsLHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbn1cbiIsIi5wcmV2aW91cy1uZXh0LW5hdmlnYXRpb24ge1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIG92ZXJmbG93OmhpZGRlbjtcbiAgICBtYXJnaW4tdG9wOjYwcHg7XG4gICAgd2lkdGg6MTAwJTtcbn1cbi5wcmV2aW91cy1uZXh0LW5hdmlnYXRpb24gbGl7XG4gIGZvbnQtZmFtaWx5OlwibnRhXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6MjBweDtcbiAgbGluZS1oZWlnaHQ6MS4xMTExMTtcbiAgZm9udC13ZWlnaHQ6NDAwO1xuICB0ZXh0LXRyYW5zZm9ybTpub25lO1xuICBkaXNwbGF5OmJsb2NrO1xuICBwYWRkaW5nOjA7XG4gIG1hcmdpbjowO1xuICB3aWR0aDo1MCU7XG4gIGZsb2F0OmxlZnQ7XG5cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gIC5wcmV2aW91cy1uZXh0LW5hdmlnYXRpb24gbGkge1xuICAgIGZvbnQtc2l6ZToyN3B4O1xuICAgIGxpbmUtaGVpZ2h0OjEuMTExMTFcbiAgfVxufVxuXG4gLnByZXZpb3VzLW5leHQtbmF2aWdhdGlvbiBsaS5uZXh0IHtcbiAgIGZsb2F0OnJpZ2h0O1xuICAgdGV4dC1hbGlnbjpyaWdodDtcbiB9XG5cbiAucHJldmlvdXMtbmV4dC1uYXZpZ2F0aW9uIGxpLm5leHQgYSB7XG4gICBwYWRkaW5nOjE1cHggMzVweCAxNXB4IDA7XG4gfVxuXG4gLnByZXZpb3VzLW5leHQtbmF2aWdhdGlvbiBsaS5uZXh0IGE6YmVmb3JlIHtcbiAgIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQgdXJsKGh0dHBzOi8vYXNzZXRzLnB1Ymxpc2hpbmcuc2VydmljZS5nb3YudWsvZ292ZXJubWVudC9hc3NldHMvYXJyb3ctc3ByaXRlLTJCOENDNC01ZTJjZWUzZTk4MjU0OWI1Mjg1Njg0YTJlNGYwNzA2YzVkOWM1MzFmMGFmZGY2MWRmZTMyZGZiMWRmZWI4MmYwLnBuZykgbm8tcmVwZWF0IC0xMDJweCAtMTFweDtcbiAgIG1hcmdpbjotNHB4IC0zMnB4IDAgMDtcbiAgIGRpc3BsYXk6YmxvY2s7XG4gICBmbG9hdDpyaWdodDtcbiAgIHdpZHRoOjMwcHg7XG4gICBoZWlnaHQ6MzhweDtcbiAgIGNvbnRlbnQ6XCIgXCI7XG4gfVxuXG4gLnByZXZpb3VzLW5leHQtbmF2aWdhdGlvbiBsaS5wcmV2aW91cyBhIHtcbiAgIHBhZGRpbmc6MTVweCAwIDE1cHggMzVweDtcbiB9XG5cbiAucHJldmlvdXMtbmV4dC1uYXZpZ2F0aW9uIGxpLnByZXZpb3VzIGE6YmVmb3JlIHtcbiAgIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQgdXJsKGh0dHBzOi8vYXNzZXRzLnB1Ymxpc2hpbmcuc2VydmljZS5nb3YudWsvZ292ZXJubWVudC9hc3NldHMvYXJyb3ctc3ByaXRlLTJCOENDNC01ZTJjZWUzZTk4MjU0OWI1Mjg1Njg0YTJlNGYwNzA2YzVkOWM1MzFmMGFmZGY2MWRmZTMyZGZiMWRmZWI4MmYwLnBuZykgbm8tcmVwZWF0IC0yMHB4IC0xMXB4O1xuICAgbWFyZ2luOi00cHggMCAwIC0zMnB4O1xuICAgZGlzcGxheTpibG9jaztcbiAgIGZsb2F0OmxlZnQ7XG4gICB3aWR0aDozMHB4O1xuICAgaGVpZ2h0OjM4cHg7XG4gICBjb250ZW50OlwiIFwiO1xuIH1cblxuIC5wcmV2aW91cy1uZXh0LW5hdmlnYXRpb24gbGkgYSB7XG4gICBkaXNwbGF5OmJsb2NrO1xuICAgdGV4dC1kZWNvcmF0aW9uOm5vbmU7XG4gfVxuXG4gLnByZXZpb3VzLW5leHQtbmF2aWdhdGlvbiBsaSBhIHNwYW4ge1xuICAgZGlzcGxheTpibG9jaztcbiAgIGZvbnQtZmFtaWx5OlwibnRhXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgZm9udC1zaXplOjEycHg7XG4gICBsaW5lLWhlaWdodDoxLjI1O1xuICAgZm9udC13ZWlnaHQ6NDAwO1xuICAgdGV4dC10cmFuc2Zvcm06bm9uZTtcbiAgIHBhZGRpbmctdG9wOjZweDtcbiAgIHBhZGRpbmctYm90dG9tOjRweDtcbiB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NDFweCkge1xuICAucHJldmlvdXMtbmV4dC1uYXZpZ2F0aW9uIGxpIGEgc3BhbiB7XG4gICAgZm9udC1zaXplOjE0cHg7XG4gICAgbGluZS1oZWlnaHQ6MS40Mjg1NztcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgLnByZXZpb3VzLW5leHQtbmF2aWdhdGlvbiBsaSBhIHNwYW4ge1xuICAgIHBhZGRpbmctdG9wOjRweDtcbiAgICBwYWRkaW5nLWJvdHRvbToxcHg7XG4gIH1cbn1cblxuIC5wcmV2aW91cy1uZXh0LW5hdmlnYXRpb24gbGkgYTpmb2N1cyAucGFnZS1udW1iZXJzLFxuIC5wcmV2aW91cy1uZXh0LW5hdmlnYXRpb24gbGkgYTpob3ZlciAucGFnZS1udW1iZXJzIHtcbiAgIHRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7XG4gfVxuXG4gLnByZXZpb3VzLW5leHQtbmF2aWdhdGlvbiBsaSBhOmhvdmVyIHtcbiAgIGJhY2tncm91bmQ6I2Y4ZjhmODtcbiB9XG5cbiAucHJldmlvdXMtbmV4dC1uYXZpZ2F0aW9uIGxpIGE6YWN0aXZlIHtcbiAgIGJhY2tncm91bmQ6I2RlZTBlMjtcbiB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NDFweCkge1xuICAucHJldmlvdXMtbmV4dC1uYXZpZ2F0aW9uIGxpIC52aXN1YWxseWhpZGRlbiB7XG4gICAgZm9udC1mYW1pbHk6XCJudGFcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOjIwcHg7XG4gICAgbGluZS1oZWlnaHQ6MS4xMTExMTtcbiAgICBmb250LXdlaWdodDo0MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06bm9uZTtcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjpzdGF0aWM7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MXB4KSBhbmQgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgLnByZXZpb3VzLW5leHQtbmF2aWdhdGlvbiBsaSAudmlzdWFsbHloaWRkZW4ge1xuICAgIGZvbnQtc2l6ZToyN3B4O1xuICAgIGxpbmUtaGVpZ2h0OjEuMTExMTE7XG4gIH1cbn1cbiIsImRpYWxvZ1tvcGVuXSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0b3A6IDA7XG4gIHdpZHRoOiA1OCU7XG4gIG1hcmdpbjogMWVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1hcmdpbi10b3A6IDEwJTtcbiAgZm9udC1zaXplOiAxOXB4O1xuICBmb250LWZhbWlseTogXCJHRFMgVHJhbnNwb3J0XCIsYXJpYWwsc2Fucy1zZXJpZjtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gIGRpYWxvZ1tvcGVuXSB7XG4gICAgcGFkZGluZzogMTBweCAxNXB4IDE1cHggMTVweDtcbiAgICBtYXJnaW46IDMwcHggYXV0bztcblxuXHRmb3JtIHtcblx0XHRtYXJnaW4tdG9wOiAxNXB4O1xuXHR9XG4gIH1cbn1cblxuZGlhbG9nICsgLmJhY2tkcm9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuLmZhLWV4Y2xhbWF0aW9uLWNpcmNsZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74GqXCI7XG59XG5cbmRpYWxvZyBwIHtcbiAgICBtYXJnaW4tdG9wIDogMWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbn1cblxuZGlhbG9nIHtcbiAgICAjZGlhbG9nLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICBmb250LWZhbWlseTogXCJHRFMgVHJhbnNwb3J0XCIsYXJpYWwsc2Fucy1zZXJpZjtcbiAgICB9XG4gICAgdWwubGlzdC5saXN0LWJ1bGxldCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiR0RTIFRyYW5zcG9ydFwiLGFyaWFsLHNhbnMtc2VyaWY7XG4gICAgfVxufVxuZGlhbG9nI2NvbmZpcm0tczE1MS1vZmZpY2VyIHtcbiAgICB3aWR0aDogNjAlO1xufVxuZGlhbG9nI3NlbGVjdC1kYXRhc2V0IC5nb3Z1ay1yZWQtYmFubmVyIHtcbiAgICBoZWlnaHQ6IDE4cHg7XG59XG5cbmRpYWxvZyNkb3dubG9hZC1kZXRhaWxlZC1yZXBvcnQgLmF1ZGl0LWxhYmVsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDcwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG4ud2FybmluZy1yZWQtYm9yZGVyIHtcbiAgICBib3JkZXI6IDVweCBzb2xpZCAjYjEwZTFlO1xuXG4gICAgcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgIH1cblxuICAgIC5ub3RpY2Uge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTE1cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xNXB4O1xuXG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0taW5saW5lIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAxNHB4IDE1cHggMTVweDtcbiAgICAgICAgbWFyZ2luOiAzMHB4IGF1dG87XG4gICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiR0RTIFRyYW5zcG9ydFwiLGFyaWFsLHNhbnMtc2VyaWY7XG4gICAgfVxuXG59XG5cbi5kaWFsb2ctaXMtb3BlbiB7XG4gICAgLmRpYWxvZy13cmFwcGVyIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC43NSk7XG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbiIsIi5ub3RpY2UtYmFubmVyIHtcbiAgcGFkZGluZzogMTBweCAwIDhweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNiZmMxYzM7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gICAgLm5vdGljZS1iYW5uZXIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7IH0gfVxuXG4ubm90aWNlLWJhbm5lciBwIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBtYXJnaW46IDA7XG4gICAgY29sb3I6IHJnYigxMSwgMTIsIDEyKTtcbiAgICBmb250LWZhbWlseTogXCJHRFMgVHJhbnNwb3J0XCIsIGFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMzE1Nzg5NDczNzsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDFweCkge1xuICAgICAgLm5vdGljZS1iYW5uZXIgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7IH0gfVxuXG4gIC5ub3RpY2UtYmFubmVyIC5waGFzZS10YWcge1xuICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLXN0YWNrO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgOHB4IDAgMDtcbiAgICBwYWRkaW5nOiAycHggNXB4IDA7XG4gICAgZm9udC1mYW1pbHk6IFwiR0RTIFRyYW5zcG9ydFwiLCBhcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMS4xNDI4NjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkNTM4ODA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgICAgIC5ub3RpY2UtYmFubmVyIC5waGFzZS10YWcge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1OyB9IH1cbiAgLm5vdGljZS1iYW5uZXIgc3BhbiB7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbi5ub3RpY2UtYmFubmVyIHNwYW4ge1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLnBhbmVsLWxpbWl0LXdpZHRoIHtcbiAgbWF4LXdpZHRoOiA2NTBweDtcbn1cblxuLmRlbHRhLXNtYWxsZXItcGFuZWwge1xuICAuZ292dWstcGFuZWxfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDQwcHg7XG4gIH1cbiAgLmdvdnVrLXBhbmVsX19ib2R5IHtcbiAgICBmb250LXNpemU6IDI3cHg7XG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgfVxufVxuIiwiLy8gU2hvdyBlbWJlZGRlZCBPcmJlb24gdGhyb3VnaCBhIHZpZXdwb3J0IHdpdGggc2V0IHdpZHRoL2hlaWdodCB0byBwcmV2ZW50IG92ZXJmbG93IGlzc3Vlc1xuI2VtYmVkZGVkLWZvcm0tYnVpbGRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogODAwcHg7XG59XG5cbiNlbWJlZGRlZC1mb3JtLWJ1aWxkZXIgZGl2Lm9yYmVvbi5vcmJlb24tcG9ydGxldC1kaXYge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG4vLyBQcmV2ZW50IE9yYmVvbiBwb3B1cHMgZnJvbSBkaXNhcHBlYXJpbmcgYmVoaW5kIHRoZSBwb3J0bGV0XG4jZW1iZWRkZWQtZm9ybS1idWlsZGVyIC55dWktZGlhbG9nIHtcbiAgICB0b3A6IDAgIWltcG9ydGFudDtcbn1cblxuLm9yYmVvbiAjbzB4Zm9ybXMtZm9ybSAueHhmb3Jtcy1zZXQtaGVpZ2h0IC54eGZvcm1zLWRpYWxvZy1ib2R5IC5mYi1kaWFsb2ctcmVtYWluaW5nLWhlaWdodCB7XG4gIGJvdHRvbTogMTEwcHg7XG59XG5cbi5vcmJlb24gI28weGZvcm1zLWZvcm0gLnh4Zm9ybXMtc2V0LWhlaWdodCAueHhmb3Jtcy1kaWFsb2ctYm9keSAuZnItZGlhbG9nLWJ1dHRvbnMge1xuICBib3R0b206IDIwcHg7XG4gIHotaW5kZXg6IDk5OTtcbiAgcGFkZGluZy1yaWdodDogNTBweDtcbn1cblxuLm9yYmVvbiAjbzB4Zm9ybXMtZm9ybSAuZnItZ3JpZC10ZCAueGZvcm1zLXJlcXVpcmVkIC54Zm9ybXMtbGFiZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogMjVweDtcbn1cblxuXG4ub3JiZW9uIC5mci1tb2RlLW5ldyAueGZvcm1zLXJlcXVpcmVkIC54Zm9ybXMtbGFiZWw6YmVmb3JlLFxuLm9yYmVvbiAuZnItbW9kZS10ZXN0IC54Zm9ybXMtcmVxdWlyZWQgLnhmb3Jtcy1sYWJlbDpiZWZvcmUsXG4ub3JiZW9uIC54Zm9ybXMtZGlhbG9nIC54Zm9ybXMtcmVxdWlyZWQgLnhmb3Jtcy1sYWJlbDpiZWZvcmUge1xuICBjb250ZW50OiAnKiAnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTVweDtcbiAgaGVpZ2h0OiAxNXB4O1xuICByaWdodDogY2FsYygxMDAlIC0gMTVweCk7XG4gIHRvcDogLTdweDtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG59IiwiLmRlbHRhLW5vdGlmaWNhdGlvbi1iYW5uZXItLWVycm9yIHtcbiAgICBib3JkZXItY29sb3I6ICNkNDM1MWM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q0MzUxYztcbn1cblxuLmRlbHRhLW5vdGlmaWNhdGlvbi1iYW5uZXItLXdhcm5pbmcge1xuICAgIGJvcmRlci1jb2xvcjogI0ZGNUYxNTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY1RjE1O1xufVxuXG4uZ292dWstbm90aWZpY2F0aW9uLWJhbm5lciB7XG4gICAgbWFyZ2luLXRvcDogMWVtO1xufVxuXG4uZ292dWstbm90aWZpY2F0aW9uLWJhbm5lcl9fY29udGVudCA+ICoge1xuICAgIG1heC13aWR0aDogODAwcHg7XG59XG4iLCJAbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIGJvZHkge1xuICAgIC5nb3Z1ay13aWR0aC1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiAxMjgwcHg7XG4gICAgfVxuXG4gICAgLmdvdnVrLWhlYWRlcl9fY29udGVudCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjUwcHgpXG4gICAgfVxuXG4gICAgcCwgc3Ryb25nIHtcbiAgICAgIG1heC13aWR0aDogNzVjaDtcbiAgICB9XG5cbiAgICBwLnRleHQtbm8tbWF4LXdpZHRoLCBzdHJvbmcudGV4dC1uby1tYXgtd2lkdGgge1xuICAgICAgbWF4LXdpZHRoOiB1bnNldDtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDExMDBweCkge1xuICBib2R5LmRlbHRhLXdpZGUtcGFnZSB7XG4gICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG5cbiAgICAuZ292dWstaGVhZGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNTBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogLTUwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xuICAgIH1cblxuICAgIC5nb3Z1ay13aWR0aC1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiAxNjAwcHg7XG4gICAgfVxuXG4gICAgLmdvdnVrLWZvb3RlciB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC01MHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IC01MHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogNTBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogNTBweDtcbiAgICB9XG5cbiAgICAuZ292dWstaGVhZGVyX19jb250ZW50IHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyNTBweClcbiAgICB9XG5cbiAgICAudWktZGF0ZXBpY2tlciB7XG4gICAgICAvLyBEaXNwbGF5cyBhcyBhIGJhciBhdCB0aGUgYm90dG9tIHVudGlsIGEgZGF0ZXBpY2tlciBpcyBjbGlja2VkIG9uIHdpdGhvdXQgdGhpc1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLmdyaWQtY29sdW1uLXRleHQtbWF4LXdpZHRoIHtcbiAgQGV4dGVuZCAuZ292dWstZ3JpZC1jb2x1bW4tZnVsbDtcblxuICBtYXgtd2lkdGg6IDUwZW07XG59XG4iLCJcbi5kZWx0YS1hbmltYXRpb24tbG9hZGluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2YyZjE7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYW5pbWF0aW9uOiBkZWx0YUxvYWRpbmc7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMS41cztcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICBhbmltYXRpb24tZGlyZWN0aW9uOiBhbHRlcm5hdGUtcmV2ZXJzZTtcblxuICAuZGVsdGEtYW5pbWF0aW9uLWxvYWRpbmctaW5kaWNhdG9yIHtcbiAgICB3aWR0aDogMTAlO1xuICAgIGhlaWdodDogMTZweDtcbiAgICB0ZXh0LWluZGVudDogLTk5OXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFkNzBiODtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBkZWx0YUxvYWRpbmcge1xuICAwJSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG4gIDEwMCUge1xuICAgIHBhZGRpbmctbGVmdDogMTAwJTtcbiAgfVxufSIsIi5kZWx0YS1pbWFnZS1yZXNwb25zaXZlIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5kZWx0YS1zY3JlZW4tZ3JhYiB7XG4gIGJveC1zaGFkb3c6IDAgMCAxcmVtIHJnYmEoMTM4LCAxMzgsIDEzOCwgMC41KTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuLmZzLWhlbHAtaW1hZ2Utb3ZlcmxheS1kaXNwbGF5XG57XG4gIGJhY2tncm91bmQ6ICM0MDQwNDA7XG4gIG9wYWNpdHk6IDAuNTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBoZWlnaHQ6IDEwMHZoO1xuICB3aWR0aDogMTAwdnc7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbn1cblxuLmhlbHAtZnMtaW1hZ2UtY29udGFpbmVyXG57XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAyMHB4O1xuICB3aWR0aDogODAlO1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDIwcHgpO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG5cbi5oaWRkZW5cbntcbiAgZGlzcGxheTogbm9uZTtcbn0iLCIuY2VydGlmaWNhdGlvbi1yZWNvcmRfX2hlYWRlciB7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAxMDhweCk7XG59IiwiI21haW4tY29udGVudC5mdWxsc2NyZWVuLWNvbnRlbnQge1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiBub25lO1xuICBwYWRkaW5nOiAwIDMwcHg7XG4gIC8qXG4gIFRoZSBjdXJyZW50IE1IQ0xHIGxhcHRvcHMgZW5kIHVwIHdpdGggYSAxMjgycHggdmlld3BvcnQgd2lkdGgsIHdoaWNoIGlzIGp1c3QgdG9vIHNtYWxsIHRvIGJlIGFibGUgdG8gc2VlXG4gIGFsbCB0aGUgYnV0dG9ucyBpbiBPcmJlb24sIHNvIHNocmluayB0aGUgbWFyZ2lucyB0byBnaXZlIGEgZmV3IG1vcmUgcGl4ZWxzIG9mIHNwYWNlLlxuICAqL1xuICBAbWVkaWEgKG1heC13aWR0aDogMTMwMHB4KSB7XG4gICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gIH1cbn1cblxuLmZ1bGxzY3JlZW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn0iLCJib2R5IC5nb3Z1ay10YWcge1xuICAvLyBTbyB0aGF0IGl0IGZpdHMgUmVhZHkgZm9yIGNlcnRpZmljYXRpb24gb24gb25lIGxpbmVcbiAgbWF4LXdpZHRoOiAxODVweDtcbn0iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgIERBVEUgUElDS0VSXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5AbWl4aW4gZHNfbWVkaWEtcXVlcnkoJHNpemUpIHtcbiAgQGlmICRzaXplID09IG1lZGl1bSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLmRzX2RhdGVwaWNrZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgZm9udC1mYW1pbHk6IFwiR0RTIFRyYW5zcG9ydFwiLCBhcmlhbCwgc2Fucy1zZXJpZjtcblxuICAuZHNfaW5wdXQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAmX19pbnB1dC13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBlbmQ7XG4gICAgZ2FwOiAxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgfVxuXG4gICZfX3RvZGF5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDBFOEZGO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gICZfX3RvZGF5OjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBib3R0b206IDZweDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGhlaWdodDogNHB4O1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLTJweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDRweDtcbiAgfVxuXG4gICZfX2RpYWxvZyB7XG4gICAgYm94LXNoYWRvdzogMXB4IDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcGFkZGluZzogOHB4O1xuICAgIG91dGxpbmU6IDFweCBzb2xpZCAjQjNCM0IzO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMXB4O1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycywgb3V0bGluZS1jb2xvciAwLjJzO1xuICAgIHdpZHRoOiAyOTZweDtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgJi0tb3BlbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIEBzdXBwb3J0cyAobGVmdDogdmFyKC0tZHMtZGF0ZS1waWNrZXItbGVmdC1vZmZzZXQpKSB7XG4gICAgICAgIGxlZnQ6IHZhcigtLWRzLWRhdGUtcGlja2VyLWxlZnQtb2Zmc2V0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19oZWFkZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiA4cHg7XG4gICAgfVxuXG4gICAgJl9fbmF2YnV0dG9ucyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZ2FwOiA0cHg7XG5cbiAgICAgIC5kc19idXR0b24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgcGFkZGluZzogOHB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycywgY29sb3IgMC4ycztcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTBFMEUwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgfVxuXG4gICAgLmRzX2J1dHRvbiAuZHNfaWNvbiB7XG4gICAgICBoZWlnaHQ6IDEuOGVtO1xuICAgICAgd2lkdGg6IDEuOGVtO1xuICAgICAgZmlsbDogIzAwMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAmX190YWJsZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuXG4gICAgICB0aCwgdGQge1xuICAgICAgICB3aWR0aDogMTQuMjglO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIH1cblxuICAgICAgdGgge1xuICAgICAgICBjb2xvcjogIzVlNWU1ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgfVxuXG4gICAgICB0ZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYm9yZGVyOm5vbmU7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0UwRTBFMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuZHNfc2VsZWN0ZWQge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIH1cblxuICAgICAgICAmW2Rpc2FibGVkPVwidHJ1ZVwiXSxcbiAgICAgICAgJlthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXSB7XG4gICAgICAgICAgY29sb3I6ICNCMEIwQjA7XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMsIGNvbG9yIDAuMnM7XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFMEUwRTA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5kc19zZWxlY3RlZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uZ3JvdXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgLmRzX2J1dHRvbiB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDVweCk7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMDA7XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycywgY29sb3IgMC4ycztcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTBFMEUwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5qcy1kYXRlcGlja2VyLW9re1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMDA3MDNjO1xuICAgICAgICBjb2xvcjogI0ZGRjtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2J1dHRvbiB7XG4gICAgd2lkdGg6IDQ4cHg7XG4gICAgaGVpZ2h0OiA0OHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNzAzYztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDVhMzA7XG4gICAgfVxuXG4gICAgLmRzX2ljb24ge1xuICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICBmaWxsOiAjZmZmO1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBkc19tZWRpYS1xdWVyeShtZWRpdW0pIHtcbiAgLmRzX2RhdGVwaWNrZXIge1xuICAgICZfX2RpYWxvZyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgcGFkZGluZzogOHB4IDA7XG4gICAgICB9XG5cbiAgICAgICZfX2hlYWRlciB7XG4gICAgICAgID4gOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgPiA6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmRzX2J1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDcwM2M7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgYm9yZGVyOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1YTMwO1xuICB9XG59XG5cbi5kc19kYXRlcGlja2VyX19oZWFkZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi5kc19kYXRlcGlja2VyX19mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmc6IDhweCAwO1xufVxuXG4uZnVsbHktaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uZHNfZGF0ZXBpY2tlcl9fZGlhbG9nX190YWJsZS1jYXB0aW9uIHtcbiAgY2FwdGlvbi1zaWRlOiBib3R0b207XG4gIGxpbmUtaGVpZ2h0OiAyO1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xufSIsIi8qIVxuICogIEZvbnQgQXdlc29tZSA0LjMuMCBieSBAZGF2ZWdhbmR5IC0gaHR0cDovL2ZvbnRhd2Vzb21lLmlvIC0gQGZvbnRhd2Vzb21lXG4gKiAgTGljZW5zZSAtIGh0dHA6Ly9mb250YXdlc29tZS5pby9saWNlbnNlIChGb250OiBTSUwgT0ZMIDEuMSwgQ1NTOiBNSVQgTGljZW5zZSlcbiAqL1xuLyogRk9OVCBQQVRIXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuICBzcmM6IHVybCgnLi4vZm9udHMvZm9udGF3ZXNvbWUtd2ViZm9udC5lb3Q/dj00LjMuMCcpO1xuICBzcmM6IHVybCgnLi4vZm9udHMvZm9udGF3ZXNvbWUtd2ViZm9udC5lb3Q/I2llZml4JnY9NC4zLjAnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIHVybCgnLi4vZm9udHMvZm9udGF3ZXNvbWUtd2ViZm9udC53b2ZmMj92PTQuMy4wJykgZm9ybWF0KCd3b2ZmMicpLCB1cmwoJy4uL2ZvbnRzL2ZvbnRhd2Vzb21lLXdlYmZvbnQud29mZj92PTQuMy4wJykgZm9ybWF0KCd3b2ZmJyksIHVybCgnLi4vZm9udHMvZm9udGF3ZXNvbWUtd2ViZm9udC50dGY/dj00LjMuMCcpIGZvcm1hdCgndHJ1ZXR5cGUnKSwgdXJsKCcuLi9mb250cy9mb250YXdlc29tZS13ZWJmb250LnN2Zz92PTQuMy4wI2ZvbnRhd2Vzb21lcmVndWxhcicpIGZvcm1hdCgnc3ZnJyk7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbi5mYSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgMTRweC8xIEZvbnRBd2Vzb21lO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIHRleHQtcmVuZGVyaW5nOiBhdXRvO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG59XG4vKiBtYWtlcyB0aGUgZm9udCAzMyUgbGFyZ2VyIHJlbGF0aXZlIHRvIHRoZSBpY29uIGNvbnRhaW5lciAqL1xuLmZhLWxnIHtcbiAgZm9udC1zaXplOiAxLjMzMzMzMzMzZW07XG4gIGxpbmUtaGVpZ2h0OiAwLjc1ZW07XG4gIHZlcnRpY2FsLWFsaWduOiAtMTUlO1xufVxuLmZhLTJ4IHtcbiAgZm9udC1zaXplOiAyZW07XG59XG4uZmEtM3gge1xuICBmb250LXNpemU6IDNlbTtcbn1cbi5mYS00eCB7XG4gIGZvbnQtc2l6ZTogNGVtO1xufVxuLmZhLTV4IHtcbiAgZm9udC1zaXplOiA1ZW07XG59XG4uZmEtZncge1xuICB3aWR0aDogMS4yODU3MTQyOWVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uZmEtdWwge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAyLjE0Mjg1NzE0ZW07XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cbi5mYS11bCA+IGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmZhLWxpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtMi4xNDI4NTcxNGVtO1xuICB3aWR0aDogMi4xNDI4NTcxNGVtO1xuICB0b3A6IDAuMTQyODU3MTRlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmZhLWxpLmZhLWxnIHtcbiAgbGVmdDogLTEuODU3MTQyODZlbTtcbn1cbi5mYS1ib3JkZXIge1xuICBwYWRkaW5nOiAuMmVtIC4yNWVtIC4xNWVtO1xuICBib3JkZXI6IHNvbGlkIDAuMDhlbSAjZWVlZWVlO1xuICBib3JkZXItcmFkaXVzOiAuMWVtO1xufVxuLnB1bGwtcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG59XG4ucHVsbC1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG4uZmEucHVsbC1sZWZ0IHtcbiAgbWFyZ2luLXJpZ2h0OiAuM2VtO1xufVxuLmZhLnB1bGwtcmlnaHQge1xuICBtYXJnaW4tbGVmdDogLjNlbTtcbn1cbi5mYS1zcGluIHtcbiAgLXdlYmtpdC1hbmltYXRpb246IGZhLXNwaW4gMnMgaW5maW5pdGUgbGluZWFyO1xuICBhbmltYXRpb246IGZhLXNwaW4gMnMgaW5maW5pdGUgbGluZWFyO1xufVxuLmZhLXB1bHNlIHtcbiAgLXdlYmtpdC1hbmltYXRpb246IGZhLXNwaW4gMXMgaW5maW5pdGUgc3RlcHMoOCk7XG4gIGFuaW1hdGlvbjogZmEtc3BpbiAxcyBpbmZpbml0ZSBzdGVwcyg4KTtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYS1zcGluIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmEtc3BpbiB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICB9XG59XG4uZmEtcm90YXRlLTkwIHtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0xKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbn1cbi5mYS1yb3RhdGUtMTgwIHtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0yKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbn1cbi5mYS1yb3RhdGUtMjcwIHtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0zKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcbn1cbi5mYS1mbGlwLWhvcml6b250YWwge1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTAsIG1pcnJvcj0xKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xuICB0cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcbn1cbi5mYS1mbGlwLXZlcnRpY2FsIHtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0yLCBtaXJyb3I9MSk7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7XG59XG46cm9vdCAuZmEtcm90YXRlLTkwLFxuOnJvb3QgLmZhLXJvdGF0ZS0xODAsXG46cm9vdCAuZmEtcm90YXRlLTI3MCxcbjpyb290IC5mYS1mbGlwLWhvcml6b250YWwsXG46cm9vdCAuZmEtZmxpcC12ZXJ0aWNhbCB7XG4gIGZpbHRlcjogbm9uZTtcbn1cbi5mYS1zdGFjayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMmVtO1xuICBoZWlnaHQ6IDJlbTtcbiAgbGluZS1oZWlnaHQ6IDJlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi5mYS1zdGFjay0xeCxcbi5mYS1zdGFjay0yeCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5mYS1zdGFjay0xeCB7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuLmZhLXN0YWNrLTJ4IHtcbiAgZm9udC1zaXplOiAyZW07XG59XG4uZmEtaW52ZXJzZSB7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLyogRm9udCBBd2Vzb21lIHVzZXMgdGhlIFVuaWNvZGUgUHJpdmF0ZSBVc2UgQXJlYSAoUFVBKSB0byBlbnN1cmUgc2NyZWVuXG4gICByZWFkZXJzIGRvIG5vdCByZWFkIG9mZiByYW5kb20gY2hhcmFjdGVycyB0aGF0IHJlcHJlc2VudCBpY29ucyAqL1xuLmZhLWdsYXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDAwXCI7XG59XG4uZmEtbXVzaWM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDFcIjtcbn1cbi5mYS1zZWFyY2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDJcIjtcbn1cbi5mYS1lbnZlbG9wZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDAzXCI7XG59XG4uZmEtaGVhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDRcIjtcbn1cbi5mYS1zdGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA1XCI7XG59XG4uZmEtc3Rhci1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA2XCI7XG59XG4uZmEtdXNlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwN1wiO1xufVxuLmZhLWZpbG06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDhcIjtcbn1cbi5mYS10aC1sYXJnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwOVwiO1xufVxuLmZhLXRoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDBhXCI7XG59XG4uZmEtdGgtbGlzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwYlwiO1xufVxuLmZhLWNoZWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDBjXCI7XG59XG4uZmEtcmVtb3ZlOmJlZm9yZSxcbi5mYS1jbG9zZTpiZWZvcmUsXG4uZmEtdGltZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMGRcIjtcbn1cbi5mYS1zZWFyY2gtcGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwZVwiO1xufVxuLmZhLXNlYXJjaC1taW51czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxMFwiO1xufVxuLmZhLXBvd2VyLW9mZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxMVwiO1xufVxuLmZhLXNpZ25hbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxMlwiO1xufVxuLmZhLWdlYXI6YmVmb3JlLFxuLmZhLWNvZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxM1wiO1xufVxuLmZhLXRyYXNoLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMTRcIjtcbn1cbi5mYS1ob21lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDE1XCI7XG59XG4uZmEtZmlsZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDE2XCI7XG59XG4uZmEtY2xvY2stbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxN1wiO1xufVxuLmZhLXJvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMThcIjtcbn1cbi5mYS1kb3dubG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxOVwiO1xufVxuLmZhLWFycm93LWNpcmNsZS1vLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMWFcIjtcbn1cbi5mYS1hcnJvdy1jaXJjbGUtby11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxYlwiO1xufVxuLmZhLWluYm94OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDFjXCI7XG59XG4uZmEtcGxheS1jaXJjbGUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxZFwiO1xufVxuLmZhLXJvdGF0ZS1yaWdodDpiZWZvcmUsXG4uZmEtcmVwZWF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDFlXCI7XG59XG4uZmEtcmVmcmVzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyMVwiO1xufVxuLmZhLWxpc3QtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDIyXCI7XG59XG4uZmEtbG9jazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyM1wiO1xufVxuLmZhLWZsYWc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMjRcIjtcbn1cbi5mYS1oZWFkcGhvbmVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDI1XCI7XG59XG4uZmEtdm9sdW1lLW9mZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyNlwiO1xufVxuLmZhLXZvbHVtZS1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDI3XCI7XG59XG4uZmEtdm9sdW1lLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDI4XCI7XG59XG4uZmEtcXJjb2RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDI5XCI7XG59XG4uZmEtYmFyY29kZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyYVwiO1xufVxuLmZhLXRhZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyYlwiO1xufVxuLmZhLXRhZ3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMmNcIjtcbn1cbi5mYS1ib29rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDJkXCI7XG59XG4uZmEtYm9va21hcms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMmVcIjtcbn1cbi5mYS1wcmludDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyZlwiO1xufVxuLmZhLWNhbWVyYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzMFwiO1xufVxuLmZhLWZvbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMzFcIjtcbn1cbi5mYS1ib2xkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDMyXCI7XG59XG4uZmEtaXRhbGljOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDMzXCI7XG59XG4uZmEtdGV4dC1oZWlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMzRcIjtcbn1cbi5mYS10ZXh0LXdpZHRoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDM1XCI7XG59XG4uZmEtYWxpZ24tbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzNlwiO1xufVxuLmZhLWFsaWduLWNlbnRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzN1wiO1xufVxuLmZhLWFsaWduLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDM4XCI7XG59XG4uZmEtYWxpZ24tanVzdGlmeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzOVwiO1xufVxuLmZhLWxpc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwM2FcIjtcbn1cbi5mYS1kZWRlbnQ6YmVmb3JlLFxuLmZhLW91dGRlbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwM2JcIjtcbn1cbi5mYS1pbmRlbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwM2NcIjtcbn1cbi5mYS12aWRlby1jYW1lcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwM2RcIjtcbn1cbi5mYS1waG90bzpiZWZvcmUsXG4uZmEtaW1hZ2U6YmVmb3JlLFxuLmZhLXBpY3R1cmUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzZVwiO1xufVxuLmZhLXBlbmNpbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0MFwiO1xufVxuLmZhLW1hcC1tYXJrZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNDFcIjtcbn1cbi5mYS1hZGp1c3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNDJcIjtcbn1cbi5mYS10aW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDQzXCI7XG59XG4uZmEtZWRpdDpiZWZvcmUsXG4uZmEtcGVuY2lsLXNxdWFyZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDQ0XCI7XG59XG4uZmEtc2hhcmUtc3F1YXJlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNDVcIjtcbn1cbi5mYS1jaGVjay1zcXVhcmUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0NlwiO1xufVxuLmZhLWFycm93czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0N1wiO1xufVxuLmZhLXN0ZXAtYmFja3dhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNDhcIjtcbn1cbi5mYS1mYXN0LWJhY2t3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDQ5XCI7XG59XG4uZmEtYmFja3dhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNGFcIjtcbn1cbi5mYS1wbGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDRiXCI7XG59XG4uZmEtcGF1c2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNGNcIjtcbn1cbi5mYS1zdG9wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDRkXCI7XG59XG4uZmEtZm9yd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0ZVwiO1xufVxuLmZhLWZhc3QtZm9yd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1MFwiO1xufVxuLmZhLXN0ZXAtZm9yd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1MVwiO1xufVxuLmZhLWVqZWN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDUyXCI7XG59XG4uZmEtY2hldnJvbi1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDUzXCI7XG59XG4uZmEtY2hldnJvbi1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1NFwiO1xufVxuLmZhLXBsdXMtY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDU1XCI7XG59XG4uZmEtbWludXMtY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDU2XCI7XG59XG4uZmEtdGltZXMtY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDU3XCI7XG59XG4uZmEtY2hlY2stY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDU4XCI7XG59XG4uZmEtcXVlc3Rpb24tY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDU5XCI7XG59XG4uZmEtaW5mby1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNWFcIjtcbn1cbi5mYS1jcm9zc2hhaXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDViXCI7XG59XG4uZmEtdGltZXMtY2lyY2xlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNWNcIjtcbn1cbi5mYS1jaGVjay1jaXJjbGUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1ZFwiO1xufVxuLmZhLWJhbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1ZVwiO1xufVxuLmZhLWFycm93LWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjBcIjtcbn1cbi5mYS1hcnJvdy1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2MVwiO1xufVxuLmZhLWFycm93LXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDYyXCI7XG59XG4uZmEtYXJyb3ctZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2M1wiO1xufVxuLmZhLW1haWwtZm9yd2FyZDpiZWZvcmUsXG4uZmEtc2hhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjRcIjtcbn1cbi5mYS1leHBhbmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjVcIjtcbn1cbi5mYS1jb21wcmVzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2NlwiO1xufVxuLmZhLXBsdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjdcIjtcbn1cbi5mYS1taW51czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2OFwiO1xufVxuLmZhLWFzdGVyaXNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDY5XCI7XG59XG4uZmEtZXhjbGFtYXRpb24tY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDZhXCI7XG59XG4uZmEtZ2lmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2YlwiO1xufVxuLmZhLWxlYWY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNmNcIjtcbn1cbi5mYS1maXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDZkXCI7XG59XG4uZmEtZXllOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDZlXCI7XG59XG4uZmEtZXllLXNsYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDcwXCI7XG59XG4uZmEtd2FybmluZzpiZWZvcmUsXG4uZmEtZXhjbGFtYXRpb24tdHJpYW5nbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzFcIjtcbn1cbi5mYS1wbGFuZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3MlwiO1xufVxuLmZhLWNhbGVuZGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDczXCI7XG59XG4uZmEtcmFuZG9tOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDc0XCI7XG59XG4uZmEtY29tbWVudDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3NVwiO1xufVxuLmZhLW1hZ25ldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3NlwiO1xufVxuLmZhLWNoZXZyb24tdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzdcIjtcbn1cbi5mYS1jaGV2cm9uLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzhcIjtcbn1cbi5mYS1yZXR3ZWV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDc5XCI7XG59XG4uZmEtc2hvcHBpbmctY2FydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3YVwiO1xufVxuLmZhLWZvbGRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3YlwiO1xufVxuLmZhLWZvbGRlci1vcGVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDdjXCI7XG59XG4uZmEtYXJyb3dzLXY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwN2RcIjtcbn1cbi5mYS1hcnJvd3MtaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3ZVwiO1xufVxuLmZhLWJhci1jaGFydC1vOmJlZm9yZSxcbi5mYS1iYXItY2hhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODBcIjtcbn1cbi5mYS10d2l0dGVyLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4MVwiO1xufVxuLmZhLWZhY2Vib29rLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4MlwiO1xufVxuLmZhLWNhbWVyYS1yZXRybzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4M1wiO1xufVxuLmZhLWtleTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4NFwiO1xufVxuLmZhLWdlYXJzOmJlZm9yZSxcbi5mYS1jb2dzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDg1XCI7XG59XG4uZmEtY29tbWVudHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODZcIjtcbn1cbi5mYS10aHVtYnMtby11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4N1wiO1xufVxuLmZhLXRodW1icy1vLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODhcIjtcbn1cbi5mYS1zdGFyLWhhbGY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODlcIjtcbn1cbi5mYS1oZWFydC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDhhXCI7XG59XG4uZmEtc2lnbi1vdXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOGJcIjtcbn1cbi5mYS1saW5rZWRpbi1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOGNcIjtcbn1cbi5mYS10aHVtYi10YWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDhkXCI7XG59XG4uZmEtZXh0ZXJuYWwtbGluazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4ZVwiO1xufVxuLmZhLXNpZ24taW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOTBcIjtcbn1cbi5mYS10cm9waHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOTFcIjtcbn1cbi5mYS1naXRodWItc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDkyXCI7XG59XG4uZmEtdXBsb2FkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDkzXCI7XG59XG4uZmEtbGVtb24tbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5NFwiO1xufVxuLmZhLXBob25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDk1XCI7XG59XG4uZmEtc3F1YXJlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOTZcIjtcbn1cbi5mYS1ib29rbWFyay1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDk3XCI7XG59XG4uZmEtcGhvbmUtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDk4XCI7XG59XG4uZmEtdHdpdHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5OVwiO1xufVxuLmZhLWZhY2Vib29rLWY6YmVmb3JlLFxuLmZhLWZhY2Vib29rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDlhXCI7XG59XG4uZmEtZ2l0aHViOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDliXCI7XG59XG4uZmEtdW5sb2NrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDljXCI7XG59XG4uZmEtY3JlZGl0LWNhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOWRcIjtcbn1cbi5mYS1yc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOWVcIjtcbn1cbi5mYS1oZGQtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhMFwiO1xufVxuLmZhLWJ1bGxob3JuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGExXCI7XG59XG4uZmEtYmVsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmM1wiO1xufVxuLmZhLWNlcnRpZmljYXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGEzXCI7XG59XG4uZmEtaGFuZC1vLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGE0XCI7XG59XG4uZmEtaGFuZC1vLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYTVcIjtcbn1cbi5mYS1oYW5kLW8tdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYTZcIjtcbn1cbi5mYS1oYW5kLW8tZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhN1wiO1xufVxuLmZhLWFycm93LWNpcmNsZS1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGE4XCI7XG59XG4uZmEtYXJyb3ctY2lyY2xlLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGE5XCI7XG59XG4uZmEtYXJyb3ctY2lyY2xlLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGFhXCI7XG59XG4uZmEtYXJyb3ctY2lyY2xlLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYWJcIjtcbn1cbi5mYS1nbG9iZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhY1wiO1xufVxuLmZhLXdyZW5jaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhZFwiO1xufVxuLmZhLXRhc2tzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGFlXCI7XG59XG4uZmEtZmlsdGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGIwXCI7XG59XG4uZmEtYnJpZWZjYXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGIxXCI7XG59XG4uZmEtYXJyb3dzLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBiMlwiO1xufVxuLmZhLWdyb3VwOmJlZm9yZSxcbi5mYS11c2VyczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjMFwiO1xufVxuLmZhLWNoYWluOmJlZm9yZSxcbi5mYS1saW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGMxXCI7XG59XG4uZmEtY2xvdWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzJcIjtcbn1cbi5mYS1mbGFzazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjM1wiO1xufVxuLmZhLWN1dDpiZWZvcmUsXG4uZmEtc2Npc3NvcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzRcIjtcbn1cbi5mYS1jb3B5OmJlZm9yZSxcbi5mYS1maWxlcy1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGM1XCI7XG59XG4uZmEtcGFwZXJjbGlwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGM2XCI7XG59XG4uZmEtc2F2ZTpiZWZvcmUsXG4uZmEtZmxvcHB5LW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzdcIjtcbn1cbi5mYS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzhcIjtcbn1cbi5mYS1uYXZpY29uOmJlZm9yZSxcbi5mYS1yZW9yZGVyOmJlZm9yZSxcbi5mYS1iYXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGM5XCI7XG59XG4uZmEtbGlzdC11bDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjYVwiO1xufVxuLmZhLWxpc3Qtb2w6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwY2JcIjtcbn1cbi5mYS1zdHJpa2V0aHJvdWdoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGNjXCI7XG59XG4uZmEtdW5kZXJsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGNkXCI7XG59XG4uZmEtdGFibGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwY2VcIjtcbn1cbi5mYS1tYWdpYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkMFwiO1xufVxuLmZhLXRydWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQxXCI7XG59XG4uZmEtcGludGVyZXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQyXCI7XG59XG4uZmEtcGludGVyZXN0LXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkM1wiO1xufVxuLmZhLWdvb2dsZS1wbHVzLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkNFwiO1xufVxuLmZhLWdvb2dsZS1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ1XCI7XG59XG4uZmEtbW9uZXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDZcIjtcbn1cbi5mYS1jYXJldC1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ3XCI7XG59XG4uZmEtY2FyZXQtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDhcIjtcbn1cbi5mYS1jYXJldC1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ5XCI7XG59XG4uZmEtY2FyZXQtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZGFcIjtcbn1cbi5mYS1jb2x1bW5zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGRiXCI7XG59XG4uZmEtdW5zb3J0ZWQ6YmVmb3JlLFxuLmZhLXNvcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZGNcIjtcbn1cbi5mYS1zb3J0LWRvd246YmVmb3JlLFxuLmZhLXNvcnQtZGVzYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkZFwiO1xufVxuLmZhLXNvcnQtdXA6YmVmb3JlLFxuLmZhLXNvcnQtYXNjOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGRlXCI7XG59XG4uZmEtZW52ZWxvcGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZTBcIjtcbn1cbi5mYS1saW5rZWRpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlMVwiO1xufVxuLmZhLXJvdGF0ZS1sZWZ0OmJlZm9yZSxcbi5mYS11bmRvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGUyXCI7XG59XG4uZmEtbGVnYWw6YmVmb3JlLFxuLmZhLWdhdmVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGUzXCI7XG59XG4uZmEtZGFzaGJvYXJkOmJlZm9yZSxcbi5mYS10YWNob21ldGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGU0XCI7XG59XG4uZmEtY29tbWVudC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGU1XCI7XG59XG4uZmEtY29tbWVudHMtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlNlwiO1xufVxuLmZhLWZsYXNoOmJlZm9yZSxcbi5mYS1ib2x0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGU3XCI7XG59XG4uZmEtc2l0ZW1hcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlOFwiO1xufVxuLmZhLXVtYnJlbGxhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGU5XCI7XG59XG4uZmEtcGFzdGU6YmVmb3JlLFxuLmZhLWNsaXBib2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlYVwiO1xufVxuLmZhLWxpZ2h0YnVsYi1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGViXCI7XG59XG4uZmEtZXhjaGFuZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZWNcIjtcbn1cbi5mYS1jbG91ZC1kb3dubG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlZFwiO1xufVxuLmZhLWNsb3VkLXVwbG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlZVwiO1xufVxuLmZhLXVzZXItbWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZjBcIjtcbn1cbi5mYS1zdGV0aG9zY29wZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmMVwiO1xufVxuLmZhLXN1aXRjYXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGYyXCI7XG59XG4uZmEtYmVsbC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGEyXCI7XG59XG4uZmEtY29mZmVlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGY0XCI7XG59XG4uZmEtY3V0bGVyeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmNVwiO1xufVxuLmZhLWZpbGUtdGV4dC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGY2XCI7XG59XG4uZmEtYnVpbGRpbmctbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmN1wiO1xufVxuLmZhLWhvc3BpdGFsLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZjhcIjtcbn1cbi5mYS1hbWJ1bGFuY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZjlcIjtcbn1cbi5mYS1tZWRraXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZmFcIjtcbn1cbi5mYS1maWdodGVyLWpldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmYlwiO1xufVxuLmZhLWJlZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZmNcIjtcbn1cbi5mYS1oLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmZFwiO1xufVxuLmZhLXBsdXMtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGZlXCI7XG59XG4uZmEtYW5nbGUtZG91YmxlLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDBcIjtcbn1cbi5mYS1hbmdsZS1kb3VibGUtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDFcIjtcbn1cbi5mYS1hbmdsZS1kb3VibGUtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDJcIjtcbn1cbi5mYS1hbmdsZS1kb3VibGUtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwM1wiO1xufVxuLmZhLWFuZ2xlLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDRcIjtcbn1cbi5mYS1hbmdsZS1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwNVwiO1xufVxuLmZhLWFuZ2xlLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTA2XCI7XG59XG4uZmEtYW5nbGUtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwN1wiO1xufVxuLmZhLWRlc2t0b3A6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDhcIjtcbn1cbi5mYS1sYXB0b3A6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDlcIjtcbn1cbi5mYS10YWJsZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMGFcIjtcbn1cbi5mYS1tb2JpbGUtcGhvbmU6YmVmb3JlLFxuLmZhLW1vYmlsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwYlwiO1xufVxuLmZhLWNpcmNsZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTBjXCI7XG59XG4uZmEtcXVvdGUtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwZFwiO1xufVxuLmZhLXF1b3RlLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTBlXCI7XG59XG4uZmEtc3Bpbm5lcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExMFwiO1xufVxuLmZhLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExMVwiO1xufVxuLmZhLW1haWwtcmVwbHk6YmVmb3JlLFxuLmZhLXJlcGx5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTEyXCI7XG59XG4uZmEtZ2l0aHViLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExM1wiO1xufVxuLmZhLWZvbGRlci1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTE0XCI7XG59XG4uZmEtZm9sZGVyLW9wZW4tbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExNVwiO1xufVxuLmZhLXNtaWxlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMThcIjtcbn1cbi5mYS1mcm93bi1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTE5XCI7XG59XG4uZmEtbWVoLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMWFcIjtcbn1cbi5mYS1nYW1lcGFkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTFiXCI7XG59XG4uZmEta2V5Ym9hcmQtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExY1wiO1xufVxuLmZhLWZsYWctbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExZFwiO1xufVxuLmZhLWZsYWctY2hlY2tlcmVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTFlXCI7XG59XG4uZmEtdGVybWluYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjBcIjtcbn1cbi5mYS1jb2RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTIxXCI7XG59XG4uZmEtbWFpbC1yZXBseS1hbGw6YmVmb3JlLFxuLmZhLXJlcGx5LWFsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyMlwiO1xufVxuLmZhLXN0YXItaGFsZi1lbXB0eTpiZWZvcmUsXG4uZmEtc3Rhci1oYWxmLWZ1bGw6YmVmb3JlLFxuLmZhLXN0YXItaGFsZi1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTIzXCI7XG59XG4uZmEtbG9jYXRpb24tYXJyb3c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjRcIjtcbn1cbi5mYS1jcm9wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTI1XCI7XG59XG4uZmEtY29kZS1mb3JrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTI2XCI7XG59XG4uZmEtdW5saW5rOmJlZm9yZSxcbi5mYS1jaGFpbi1icm9rZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjdcIjtcbn1cbi5mYS1xdWVzdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyOFwiO1xufVxuLmZhLWluZm86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjlcIjtcbn1cbi5mYS1leGNsYW1hdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyYVwiO1xufVxuLmZhLXN1cGVyc2NyaXB0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTJiXCI7XG59XG4uZmEtc3Vic2NyaXB0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTJjXCI7XG59XG4uZmEtZXJhc2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTJkXCI7XG59XG4uZmEtcHV6emxlLXBpZWNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTJlXCI7XG59XG4uZmEtbWljcm9waG9uZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzMFwiO1xufVxuLmZhLW1pY3JvcGhvbmUtc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzFcIjtcbn1cbi5mYS1zaGllbGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzJcIjtcbn1cbi5mYS1jYWxlbmRhci1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTMzXCI7XG59XG4uZmEtZmlyZS1leHRpbmd1aXNoZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzRcIjtcbn1cbi5mYS1yb2NrZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzVcIjtcbn1cbi5mYS1tYXhjZG46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzZcIjtcbn1cbi5mYS1jaGV2cm9uLWNpcmNsZS1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTM3XCI7XG59XG4uZmEtY2hldnJvbi1jaXJjbGUtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzhcIjtcbn1cbi5mYS1jaGV2cm9uLWNpcmNsZS11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzOVwiO1xufVxuLmZhLWNoZXZyb24tY2lyY2xlLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxM2FcIjtcbn1cbi5mYS1odG1sNTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzYlwiO1xufVxuLmZhLWNzczM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxM2NcIjtcbn1cbi5mYS1hbmNob3I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxM2RcIjtcbn1cbi5mYS11bmxvY2stYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTNlXCI7XG59XG4uZmEtYnVsbHNleWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNDBcIjtcbn1cbi5mYS1lbGxpcHNpcy1oOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQxXCI7XG59XG4uZmEtZWxsaXBzaXMtdjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0MlwiO1xufVxuLmZhLXJzcy1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNDNcIjtcbn1cbi5mYS1wbGF5LWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0NFwiO1xufVxuLmZhLXRpY2tldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0NVwiO1xufVxuLmZhLW1pbnVzLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0NlwiO1xufVxuLmZhLW1pbnVzLXNxdWFyZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQ3XCI7XG59XG4uZmEtbGV2ZWwtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNDhcIjtcbn1cbi5mYS1sZXZlbC1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQ5XCI7XG59XG4uZmEtY2hlY2stc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTRhXCI7XG59XG4uZmEtcGVuY2lsLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0YlwiO1xufVxuLmZhLWV4dGVybmFsLWxpbmstc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTRjXCI7XG59XG4uZmEtc2hhcmUtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTRkXCI7XG59XG4uZmEtY29tcGFzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0ZVwiO1xufVxuLmZhLXRvZ2dsZS1kb3duOmJlZm9yZSxcbi5mYS1jYXJldC1zcXVhcmUtby1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTUwXCI7XG59XG4uZmEtdG9nZ2xlLXVwOmJlZm9yZSxcbi5mYS1jYXJldC1zcXVhcmUtby11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1MVwiO1xufVxuLmZhLXRvZ2dsZS1yaWdodDpiZWZvcmUsXG4uZmEtY2FyZXQtc3F1YXJlLW8tcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTJcIjtcbn1cbi5mYS1ldXJvOmJlZm9yZSxcbi5mYS1ldXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTNcIjtcbn1cbi5mYS1nYnA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTRcIjtcbn1cbi5mYS1kb2xsYXI6YmVmb3JlLFxuLmZhLXVzZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1NVwiO1xufVxuLmZhLXJ1cGVlOmJlZm9yZSxcbi5mYS1pbnI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTZcIjtcbn1cbi5mYS1jbnk6YmVmb3JlLFxuLmZhLXJtYjpiZWZvcmUsXG4uZmEteWVuOmJlZm9yZSxcbi5mYS1qcHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTdcIjtcbn1cbi5mYS1ydWJsZTpiZWZvcmUsXG4uZmEtcm91YmxlOmJlZm9yZSxcbi5mYS1ydWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNThcIjtcbn1cbi5mYS13b246YmVmb3JlLFxuLmZhLWtydzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1OVwiO1xufVxuLmZhLWJpdGNvaW46YmVmb3JlLFxuLmZhLWJ0YzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1YVwiO1xufVxuLmZhLWZpbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNWJcIjtcbn1cbi5mYS1maWxlLXRleHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNWNcIjtcbn1cbi5mYS1zb3J0LWFscGhhLWFzYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1ZFwiO1xufVxuLmZhLXNvcnQtYWxwaGEtZGVzYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1ZVwiO1xufVxuLmZhLXNvcnQtYW1vdW50LWFzYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2MFwiO1xufVxuLmZhLXNvcnQtYW1vdW50LWRlc2M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjFcIjtcbn1cbi5mYS1zb3J0LW51bWVyaWMtYXNjOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTYyXCI7XG59XG4uZmEtc29ydC1udW1lcmljLWRlc2M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjNcIjtcbn1cbi5mYS10aHVtYnMtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjRcIjtcbn1cbi5mYS10aHVtYnMtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2NVwiO1xufVxuLmZhLXlvdXR1YmUtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTY2XCI7XG59XG4uZmEteW91dHViZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2N1wiO1xufVxuLmZhLXhpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjhcIjtcbn1cbi5mYS14aW5nLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2OVwiO1xufVxuLmZhLXlvdXR1YmUtcGxheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2YVwiO1xufVxuLmZhLWRyb3Bib3g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNmJcIjtcbn1cbi5mYS1zdGFjay1vdmVyZmxvdzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2Y1wiO1xufVxuLmZhLWluc3RhZ3JhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2ZFwiO1xufVxuLmZhLWZsaWNrcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2ZVwiO1xufVxuLmZhLWFkbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3MFwiO1xufVxuLmZhLWJpdGJ1Y2tldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3MVwiO1xufVxuLmZhLWJpdGJ1Y2tldC1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzJcIjtcbn1cbi5mYS10dW1ibHI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzNcIjtcbn1cbi5mYS10dW1ibHItc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTc0XCI7XG59XG4uZmEtbG9uZy1hcnJvdy1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTc1XCI7XG59XG4uZmEtbG9uZy1hcnJvdy11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3NlwiO1xufVxuLmZhLWxvbmctYXJyb3ctbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3N1wiO1xufVxuLmZhLWxvbmctYXJyb3ctcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzhcIjtcbn1cbi5mYS1hcHBsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3OVwiO1xufVxuLmZhLXdpbmRvd3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxN2FcIjtcbn1cbi5mYS1hbmRyb2lkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTdiXCI7XG59XG4uZmEtbGludXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxN2NcIjtcbn1cbi5mYS1kcmliYmJsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3ZFwiO1xufVxuLmZhLXNreXBlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTdlXCI7XG59XG4uZmEtZm91cnNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4MFwiO1xufVxuLmZhLXRyZWxsbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4MVwiO1xufVxuLmZhLWZlbWFsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4MlwiO1xufVxuLmZhLW1hbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODNcIjtcbn1cbi5mYS1naXR0aXA6YmVmb3JlLFxuLmZhLWdyYXRpcGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTg0XCI7XG59XG4uZmEtc3VuLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODVcIjtcbn1cbi5mYS1tb29uLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODZcIjtcbn1cbi5mYS1hcmNoaXZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTg3XCI7XG59XG4uZmEtYnVnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTg4XCI7XG59XG4uZmEtdms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODlcIjtcbn1cbi5mYS13ZWlibzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4YVwiO1xufVxuLmZhLXJlbnJlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4YlwiO1xufVxuLmZhLXBhZ2VsaW5lczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4Y1wiO1xufVxuLmZhLXN0YWNrLWV4Y2hhbmdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMThkXCI7XG59XG4uZmEtYXJyb3ctY2lyY2xlLW8tcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOGVcIjtcbn1cbi5mYS1hcnJvdy1jaXJjbGUtby1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTkwXCI7XG59XG4uZmEtdG9nZ2xlLWxlZnQ6YmVmb3JlLFxuLmZhLWNhcmV0LXNxdWFyZS1vLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOTFcIjtcbn1cbi5mYS1kb3QtY2lyY2xlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOTJcIjtcbn1cbi5mYS13aGVlbGNoYWlyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTkzXCI7XG59XG4uZmEtdmltZW8tc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTk0XCI7XG59XG4uZmEtdHVya2lzaC1saXJhOmJlZm9yZSxcbi5mYS10cnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOTVcIjtcbn1cbi5mYS1wbHVzLXNxdWFyZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTk2XCI7XG59XG4uZmEtc3BhY2Utc2h1dHRsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5N1wiO1xufVxuLmZhLXNsYWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTk4XCI7XG59XG4uZmEtZW52ZWxvcGUtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTk5XCI7XG59XG4uZmEtd29yZHByZXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTlhXCI7XG59XG4uZmEtb3BlbmlkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTliXCI7XG59XG4uZmEtaW5zdGl0dXRpb246YmVmb3JlLFxuLmZhLWJhbms6YmVmb3JlLFxuLmZhLXVuaXZlcnNpdHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOWNcIjtcbn1cbi5mYS1tb3J0YXItYm9hcmQ6YmVmb3JlLFxuLmZhLWdyYWR1YXRpb24tY2FwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTlkXCI7XG59XG4uZmEteWFob286YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOWVcIjtcbn1cbi5mYS1nb29nbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTBcIjtcbn1cbi5mYS1yZWRkaXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTFcIjtcbn1cbi5mYS1yZWRkaXQtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWEyXCI7XG59XG4uZmEtc3R1bWJsZXVwb24tY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWEzXCI7XG59XG4uZmEtc3R1bWJsZXVwb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTRcIjtcbn1cbi5mYS1kZWxpY2lvdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTVcIjtcbn1cbi5mYS1kaWdnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWE2XCI7XG59XG4uZmEtcGllZC1waXBlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhN1wiO1xufVxuLmZhLXBpZWQtcGlwZXItYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWE4XCI7XG59XG4uZmEtZHJ1cGFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWE5XCI7XG59XG4uZmEtam9vbWxhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWFhXCI7XG59XG4uZmEtbGFuZ3VhZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYWJcIjtcbn1cbi5mYS1mYXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYWNcIjtcbn1cbi5mYS1idWlsZGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhZFwiO1xufVxuLmZhLWNoaWxkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWFlXCI7XG59XG4uZmEtcGF3OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWIwXCI7XG59XG4uZmEtc3Bvb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjFcIjtcbn1cbi5mYS1jdWJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWIyXCI7XG59XG4uZmEtY3ViZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjNcIjtcbn1cbi5mYS1iZWhhbmNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWI0XCI7XG59XG4uZmEtYmVoYW5jZS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjVcIjtcbn1cbi5mYS1zdGVhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiNlwiO1xufVxuLmZhLXN0ZWFtLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiN1wiO1xufVxuLmZhLXJlY3ljbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjhcIjtcbn1cbi5mYS1hdXRvbW9iaWxlOmJlZm9yZSxcbi5mYS1jYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjlcIjtcbn1cbi5mYS1jYWI6YmVmb3JlLFxuLmZhLXRheGk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYmFcIjtcbn1cbi5mYS10cmVlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWJiXCI7XG59XG4uZmEtc3BvdGlmeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiY1wiO1xufVxuLmZhLWRldmlhbnRhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYmRcIjtcbn1cbi5mYS1zb3VuZGNsb3VkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWJlXCI7XG59XG4uZmEtZGF0YWJhc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzBcIjtcbn1cbi5mYS1maWxlLXBkZi1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWMxXCI7XG59XG4uZmEtZmlsZS13b3JkLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzJcIjtcbn1cbi5mYS1maWxlLWV4Y2VsLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzNcIjtcbn1cbi5mYS1maWxlLXBvd2VycG9pbnQtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjNFwiO1xufVxuLmZhLWZpbGUtcGhvdG8tbzpiZWZvcmUsXG4uZmEtZmlsZS1waWN0dXJlLW86YmVmb3JlLFxuLmZhLWZpbGUtaW1hZ2UtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjNVwiO1xufVxuLmZhLWZpbGUtemlwLW86YmVmb3JlLFxuLmZhLWZpbGUtYXJjaGl2ZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWM2XCI7XG59XG4uZmEtZmlsZS1zb3VuZC1vOmJlZm9yZSxcbi5mYS1maWxlLWF1ZGlvLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzdcIjtcbn1cbi5mYS1maWxlLW1vdmllLW86YmVmb3JlLFxuLmZhLWZpbGUtdmlkZW8tbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjOFwiO1xufVxuLmZhLWZpbGUtY29kZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWM5XCI7XG59XG4uZmEtdmluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjYVwiO1xufVxuLmZhLWNvZGVwZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxY2JcIjtcbn1cbi5mYS1qc2ZpZGRsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjY1wiO1xufVxuLmZhLWxpZmUtYm91eTpiZWZvcmUsXG4uZmEtbGlmZS1idW95OmJlZm9yZSxcbi5mYS1saWZlLXNhdmVyOmJlZm9yZSxcbi5mYS1zdXBwb3J0OmJlZm9yZSxcbi5mYS1saWZlLXJpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxY2RcIjtcbn1cbi5mYS1jaXJjbGUtby1ub3RjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjZVwiO1xufVxuLmZhLXJhOmJlZm9yZSxcbi5mYS1yZWJlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkMFwiO1xufVxuLmZhLWdlOmJlZm9yZSxcbi5mYS1lbXBpcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDFcIjtcbn1cbi5mYS1naXQtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQyXCI7XG59XG4uZmEtZ2l0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQzXCI7XG59XG4uZmEtaGFja2VyLW5ld3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDRcIjtcbn1cbi5mYS10ZW5jZW50LXdlaWJvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQ1XCI7XG59XG4uZmEtcXE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDZcIjtcbn1cbi5mYS13ZWNoYXQ6YmVmb3JlLFxuLmZhLXdlaXhpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkN1wiO1xufVxuLmZhLXNlbmQ6YmVmb3JlLFxuLmZhLXBhcGVyLXBsYW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQ4XCI7XG59XG4uZmEtc2VuZC1vOmJlZm9yZSxcbi5mYS1wYXBlci1wbGFuZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQ5XCI7XG59XG4uZmEtaGlzdG9yeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkYVwiO1xufVxuLmZhLWdlbmRlcmxlc3M6YmVmb3JlLFxuLmZhLWNpcmNsZS10aGluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWRiXCI7XG59XG4uZmEtaGVhZGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWRjXCI7XG59XG4uZmEtcGFyYWdyYXBoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWRkXCI7XG59XG4uZmEtc2xpZGVyczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkZVwiO1xufVxuLmZhLXNoYXJlLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlMFwiO1xufVxuLmZhLXNoYXJlLWFsdC1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTFcIjtcbn1cbi5mYS1ib21iOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWUyXCI7XG59XG4uZmEtc29jY2VyLWJhbGwtbzpiZWZvcmUsXG4uZmEtZnV0Ym9sLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTNcIjtcbn1cbi5mYS10dHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTRcIjtcbn1cbi5mYS1iaW5vY3VsYXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWU1XCI7XG59XG4uZmEtcGx1ZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlNlwiO1xufVxuLmZhLXNsaWRlc2hhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTdcIjtcbn1cbi5mYS10d2l0Y2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZThcIjtcbn1cbi5mYS15ZWxwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWU5XCI7XG59XG4uZmEtbmV3c3BhcGVyLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZWFcIjtcbn1cbi5mYS13aWZpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWViXCI7XG59XG4uZmEtY2FsY3VsYXRvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlY1wiO1xufVxuLmZhLXBheXBhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlZFwiO1xufVxuLmZhLWdvb2dsZS13YWxsZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZWVcIjtcbn1cbi5mYS1jYy12aXNhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWYwXCI7XG59XG4uZmEtY2MtbWFzdGVyY2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmMVwiO1xufVxuLmZhLWNjLWRpc2NvdmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWYyXCI7XG59XG4uZmEtY2MtYW1leDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmM1wiO1xufVxuLmZhLWNjLXBheXBhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmNFwiO1xufVxuLmZhLWNjLXN0cmlwZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmNVwiO1xufVxuLmZhLWJlbGwtc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjZcIjtcbn1cbi5mYS1iZWxsLXNsYXNoLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjdcIjtcbn1cbi5mYS10cmFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmOFwiO1xufVxuLmZhLWNvcHlyaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmOVwiO1xufVxuLmZhLWF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWZhXCI7XG59XG4uZmEtZXllZHJvcHBlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmYlwiO1xufVxuLmZhLXBhaW50LWJydXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWZjXCI7XG59XG4uZmEtYmlydGhkYXktY2FrZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmZFwiO1xufVxuLmZhLWFyZWEtY2hhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZmVcIjtcbn1cbi5mYS1waWUtY2hhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDBcIjtcbn1cbi5mYS1saW5lLWNoYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjAxXCI7XG59XG4uZmEtbGFzdGZtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjAyXCI7XG59XG4uZmEtbGFzdGZtLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwM1wiO1xufVxuLmZhLXRvZ2dsZS1vZmY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDRcIjtcbn1cbi5mYS10b2dnbGUtb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDVcIjtcbn1cbi5mYS1iaWN5Y2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjA2XCI7XG59XG4uZmEtYnVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjA3XCI7XG59XG4uZmEtaW94aG9zdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwOFwiO1xufVxuLmZhLWFuZ2VsbGlzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwOVwiO1xufVxuLmZhLWNjOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjBhXCI7XG59XG4uZmEtc2hla2VsOmJlZm9yZSxcbi5mYS1zaGVxZWw6YmVmb3JlLFxuLmZhLWlsczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwYlwiO1xufVxuLmZhLW1lYW5wYXRoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjBjXCI7XG59XG4uZmEtYnV5c2VsbGFkczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwZFwiO1xufVxuLmZhLWNvbm5lY3RkZXZlbG9wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjBlXCI7XG59XG4uZmEtZGFzaGN1YmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTBcIjtcbn1cbi5mYS1mb3J1bWJlZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxMVwiO1xufVxuLmZhLWxlYW5wdWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTJcIjtcbn1cbi5mYS1zZWxsc3k6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTNcIjtcbn1cbi5mYS1zaGlydHNpbmJ1bGs6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTRcIjtcbn1cbi5mYS1zaW1wbHlidWlsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxNVwiO1xufVxuLmZhLXNreWF0bGFzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjE2XCI7XG59XG4uZmEtY2FydC1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjE3XCI7XG59XG4uZmEtY2FydC1hcnJvdy1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjE4XCI7XG59XG4uZmEtZGlhbW9uZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxOVwiO1xufVxuLmZhLXNoaXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMWFcIjtcbn1cbi5mYS11c2VyLXNlY3JldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxYlwiO1xufVxuLmZhLW1vdG9yY3ljbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMWNcIjtcbn1cbi5mYS1zdHJlZXQtdmlldzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxZFwiO1xufVxuLmZhLWhlYXJ0YmVhdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxZVwiO1xufVxuLmZhLXZlbnVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjIxXCI7XG59XG4uZmEtbWFyczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyMlwiO1xufVxuLmZhLW1lcmN1cnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjNcIjtcbn1cbi5mYS10cmFuc2dlbmRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyNFwiO1xufVxuLmZhLXRyYW5zZ2VuZGVyLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyNVwiO1xufVxuLmZhLXZlbnVzLWRvdWJsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyNlwiO1xufVxuLmZhLW1hcnMtZG91YmxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjI3XCI7XG59XG4uZmEtdmVudXMtbWFyczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyOFwiO1xufVxuLmZhLW1hcnMtc3Ryb2tlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjI5XCI7XG59XG4uZmEtbWFycy1zdHJva2UtdjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyYVwiO1xufVxuLmZhLW1hcnMtc3Ryb2tlLWg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMmJcIjtcbn1cbi5mYS1uZXV0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMmNcIjtcbn1cbi5mYS1mYWNlYm9vay1vZmZpY2lhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzMFwiO1xufVxuLmZhLXBpbnRlcmVzdC1wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjMxXCI7XG59XG4uZmEtd2hhdHNhcHA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzJcIjtcbn1cbi5mYS1zZXJ2ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzNcIjtcbn1cbi5mYS11c2VyLXBsdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzRcIjtcbn1cbi5mYS11c2VyLXRpbWVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjM1XCI7XG59XG4uZmEtaG90ZWw6YmVmb3JlLFxuLmZhLWJlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzNlwiO1xufVxuLmZhLXZpYWNvaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzdcIjtcbn1cbi5mYS10cmFpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzOFwiO1xufVxuLmZhLXN1YndheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzOVwiO1xufVxuLmZhLW1lZGl1bTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzYVwiO1xufVxuIl19 */
