@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;
  text-decoration: underline;
  text-decoration-thickness: max(1px, .0625rem);
  text-underline-offset: 0.1578em;
}
/*! 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: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;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
  color: #0b0c0c;
  margin-top: 0;
  margin-bottom: 15px;
  padding-left: 0;
  list-style-type: none;
}
@media print {
  .govuk-list {
    font-family: sans-serif;
  }
}
@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;
  }
}
@media print {
  .govuk-list {
    color: #000000;
  }
}
@media (min-width: 40.0625em) {
  .govuk-list {
    margin-bottom: 20px;
  }
}
.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;
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.09375;
  display: block;
  margin-top: 0;
  margin-bottom: 30px;
}
@media print {
  .govuk-heading-xl {
    color: #000000;
  }
}
@media print {
  .govuk-heading-xl {
    font-family: sans-serif;
  }
}
@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;
  }
}
@media (min-width: 40.0625em) {
  .govuk-heading-xl {
    margin-bottom: 50px;
  }
}

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

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

.govuk-heading-s {
  color: #0b0c0c;
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.25;
  display: block;
  margin-top: 0;
  margin-bottom: 15px;
}
@media print {
  .govuk-heading-s {
    color: #000000;
  }
}
@media print {
  .govuk-heading-s {
    font-family: sans-serif;
  }
}
@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;
  }
}
@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;
  font-weight: 400;
  font-size: 1.125rem;
  line-height: 1.1111111111;
  display: block;
  margin-bottom: 5px;
  color: #505a5f;
}
@media print {
  .govuk-caption-xl {
    font-family: sans-serif;
  }
}
@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-l {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 1.125rem;
  line-height: 1.1111111111;
  display: block;
  margin-bottom: 5px;
  color: #505a5f;
}
@media print {
  .govuk-caption-l {
    font-family: sans-serif;
  }
}
@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;
  }
}
@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;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
  display: block;
  color: #505a5f;
}
@media print {
  .govuk-caption-m {
    font-family: sans-serif;
  }
}
@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-body-lead, .govuk-body-l {
  color: #0b0c0c;
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 1.125rem;
  line-height: 1.1111111111;
  margin-top: 0;
  margin-bottom: 20px;
}
@media print {
  .govuk-body-lead, .govuk-body-l {
    color: #000000;
  }
}
@media print {
  .govuk-body-lead, .govuk-body-l {
    font-family: sans-serif;
  }
}
@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;
  }
}
@media (min-width: 40.0625em) {
  .govuk-body-lead, .govuk-body-l {
    margin-bottom: 30px;
  }
}

p, .govuk-body, .govuk-body-m {
  color: #0b0c0c;
  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;
  margin-top: 0;
  margin-bottom: 15px;
}
@media print {
  p, .govuk-body, .govuk-body-m {
    color: #000000;
  }
}
@media print {
  p, .govuk-body, .govuk-body-m {
    font-family: sans-serif;
  }
}
@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;
  }
}
@media (min-width: 40.0625em) {
  p, .govuk-body, .govuk-body-m {
    margin-bottom: 20px;
  }
}

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

.govuk-body-xs {
  color: #0b0c0c;
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 0.75rem;
  line-height: 1.25;
  margin-top: 0;
  margin-bottom: 15px;
}
@media print {
  .govuk-body-xs {
    color: #000000;
  }
}
@media print {
  .govuk-body-xs {
    font-family: sans-serif;
  }
}
@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;
  }
}
@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;
  margin-bottom: 30px;
}
@media (min-width: 40.0625em) {
  .govuk-section-break--xl {
    margin-top: 50px;
  }
}
@media (min-width: 40.0625em) {
  .govuk-section-break--xl {
    margin-bottom: 50px;
  }
}

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

.govuk-section-break--m {
  margin-top: 15px;
  margin-bottom: 15px;
}
@media (min-width: 40.0625em) {
  .govuk-section-break--m {
    margin-top: 20px;
  }
}
@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;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (min-width: 40.0625em) {
  .govuk-button-group {
    margin-bottom: 15px;
  }
}
.govuk-button-group .govuk-link {
  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.1875;
  display: inline-block;
  max-width: 100%;
  margin-top: 5px;
  margin-bottom: 20px;
  text-align: center;
}
@media print {
  .govuk-button-group .govuk-link {
    font-family: sans-serif;
  }
}
@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-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 {
  margin-bottom: 20px;
}
.govuk-form-group::after {
  content: "";
  display: block;
  clear: both;
}
@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 {
  margin-right: -15px;
  margin-left: -15px;
}
.govuk-grid-row::after {
  content: "";
  display: block;
  clear: both;
}

.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;
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.1111111111;
  color: #0b0c0c;
  display: block;
  margin-bottom: 0;
  padding-top: 15px;
}
@media print {
  .govuk-accordion__section-button {
    font-family: sans-serif;
  }
}
@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;
  }
}
@media print {
  .govuk-accordion__section-button {
    color: #000000;
  }
}

.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;
  }
}
.govuk-frontend-supported .govuk-accordion__section-content[hidden] {
  padding-top: 0;
  padding-bottom: 0;
}
@supports (content-visibility: hidden) {
  .govuk-frontend-supported .govuk-accordion__section-content[hidden] {
    content-visibility: hidden;
    display: inherit;
  }
}
.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;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
  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 print {
  .govuk-frontend-supported .govuk-accordion__show-all {
    font-family: sans-serif;
  }
}
@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;
  }
}
@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;
  font-weight: 400;
  color: #1d70b8;
}
@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__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;
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-decoration: underline;
  text-decoration-thickness: max(1px, .0625rem);
  text-underline-offset: 0.1578em;
  display: inline-block;
  position: relative;
  margin-top: 15px;
  margin-bottom: 15px;
  padding-left: 0.875em;
}
@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;
  }
}
@media print {
  .govuk-back-link {
    font-family: sans-serif;
  }
}
.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::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;
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.1428571429;
  color: #0b0c0c;
  margin-top: 15px;
  margin-bottom: 10px;
}
@media print {
  .govuk-breadcrumbs {
    font-family: sans-serif;
  }
}
@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;
  }
}
@media print {
  .govuk-breadcrumbs {
    color: #000000;
  }
}

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

.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;
  text-decoration: underline;
  text-decoration-thickness: max(1px, .0625rem);
  text-underline-offset: 0.1578em;
}
@media print {
  .govuk-breadcrumbs__link {
    font-family: sans-serif;
  }
}
.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;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.1875;
  box-sizing: border-box;
  display: inline-block;
  position: relative;
  width: 100%;
  margin-top: 0;
  margin-right: 0;
  margin-left: 0;
  margin-bottom: 22px;
  padding: 8px 10px 7px;
  border: 2px solid transparent;
  border-radius: 0;
  color: #ffffff;
  background-color: #00703c;
  box-shadow: 0 2px 0 #002d18;
  text-align: center;
  vertical-align: top;
  cursor: pointer;
  -webkit-appearance: none;
}
@media print {
  .govuk-button {
    font-family: sans-serif;
  }
}
@media (min-width: 40.0625em) {
  .govuk-button {
    font-size: 1.1875rem;
    line-height: 1;
  }
}
@media print {
  .govuk-button {
    font-size: 14pt;
    line-height: 19px;
  }
}
@media (min-width: 40.0625em) {
  .govuk-button {
    margin-bottom: 32px;
  }
}
@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: #005a30;
}
.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 #002d18;
}

.govuk-button--secondary {
  background-color: #f3f2f1;
  box-shadow: 0 2px 0 #929191;
}
.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: #dbdad9;
}
.govuk-button--secondary:hover[disabled] {
  background-color: #f3f2f1;
}

.govuk-button--warning {
  background-color: #d4351c;
  box-shadow: 0 2px 0 #55150b;
}
.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: #aa2a16;
}
.govuk-button--warning:hover[disabled] {
  background-color: #d4351c;
}

.govuk-button--inverse {
  background-color: #ffffff;
  box-shadow: 0 2px 0 #144e81;
}
.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: #e8f1f8;
}
.govuk-button--inverse:hover[disabled] {
  background-color: #ffffff;
}

.govuk-button--start {
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1;
  display: inline-flex;
  min-height: auto;
  justify-content: center;
}
@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-icon {
  margin-left: 5px;
  vertical-align: middle;
  flex-shrink: 0;
  align-self: center;
  forced-color-adjust: auto;
}
@media (min-width: 48.0625em) {
  .govuk-button__start-icon {
    margin-left: 10px;
  }
}


.govuk-error-message {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.25;
  display: block;
  margin-top: 0;
  margin-bottom: 15px;
  clear: both;
  color: #d4351c;
}
@media print {
  .govuk-error-message {
    font-family: sans-serif;
  }
}
@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-hint {
  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;
  margin-bottom: 15px;
  color: #505a5f;
}
@media print {
  .govuk-hint {
    font-family: sans-serif;
  }
}
@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-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;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
  color: #0b0c0c;
  display: block;
  margin-bottom: 5px;
}
@media print {
  .govuk-label {
    font-family: sans-serif;
  }
}
@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;
  }
}
@media print {
  .govuk-label {
    color: #000000;
  }
}

.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;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
  box-sizing: border-box;
  display: block;
  width: 100%;
  min-height: 40px;
  margin-bottom: 20px;
  padding: 5px;
  resize: vertical;
  border: 2px solid #0b0c0c;
  border-radius: 0;
  -webkit-appearance: none;
}
@media print {
  .govuk-textarea {
    font-family: sans-serif;
  }
}
@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;
  }
}
@media (min-width: 40.0625em) {
  .govuk-textarea {
    margin-bottom: 30px;
  }
}
.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;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
  color: #0b0c0c;
  box-sizing: border-box;
  display: table;
  max-width: 100%;
  margin-bottom: 10px;
  padding: 0;
  white-space: normal;
}
@media print {
  .govuk-fieldset__legend {
    font-family: sans-serif;
  }
}
@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;
  }
}
@media print {
  .govuk-fieldset__legend {
    color: #000000;
  }
}

.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;
  box-shadow: 0 0 0 3px #ffdd00;
}
@media screen and (forced-colors: active), (-ms-high-contrast: active) {
  .govuk-checkboxes__input:focus + .govuk-checkboxes__label::before {
    outline-color: Highlight;
  }
}

.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;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
  color: #0b0c0c;
  width: 40px;
  margin-bottom: 10px;
  text-align: center;
}
@media print {
  .govuk-checkboxes__divider {
    font-family: sans-serif;
  }
}
@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;
  }
}
@media print {
  .govuk-checkboxes__divider {
    color: #000000;
  }
}

.govuk-checkboxes__conditional {
  margin-bottom: 15px;
  margin-left: 20px;
  padding-left: 35px;
  border-left: 4px solid #b1b4b6;
}
@media (min-width: 40.0625em) {
  .govuk-checkboxes__conditional {
    margin-bottom: 20px;
  }
}
.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;
}
.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 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;
  }
}
@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;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
  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;
}
@media print {
  .govuk-input {
    font-family: sans-serif;
  }
}
@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: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;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
  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 print {
  .govuk-input__prefix,
  .govuk-input__suffix {
    font-family: sans-serif;
  }
}
@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;
  }
}
@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 {
  font-size: 0;
}
.govuk-date-input::after {
  content: "";
  display: block;
  clear: both;
}

.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;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
  color: #0b0c0c;
  margin-bottom: 20px;
  display: block;
}
@media print {
  .govuk-details {
    font-family: sans-serif;
  }
}
@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;
  }
}
@media print {
  .govuk-details {
    color: #000000;
  }
}
@media (min-width: 40.0625em) {
  .govuk-details {
    margin-bottom: 30px;
  }
}

.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;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
  color: #0b0c0c;
  padding: 15px;
  margin-bottom: 30px;
  border: 5px solid #d4351c;
}
@media print {
  .govuk-error-summary {
    font-family: sans-serif;
  }
}
@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;
  }
}
@media print {
  .govuk-error-summary {
    color: #000000;
  }
}
@media (min-width: 40.0625em) {
  .govuk-error-summary {
    padding: 20px;
  }
}
@media (min-width: 40.0625em) {
  .govuk-error-summary {
    margin-bottom: 50px;
  }
}
.govuk-error-summary:focus {
  outline: 3px solid #ffdd00;
}

.govuk-error-summary__title {
  font-size: 1.125rem;
  line-height: 1.1111111111;
  font-weight: 700;
  margin-top: 0;
  margin-bottom: 15px;
}
@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;
  }
}
@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;
  text-decoration: underline;
  text-decoration-thickness: max(1px, .0625rem);
  text-underline-offset: 0.1578em;
}
@media print {
  .govuk-error-summary__list a {
    font-family: sans-serif;
  }
}
.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: #942514;
}
.govuk-error-summary__list a:active {
  color: #d4351c;
}
.govuk-error-summary__list a:focus {
  color: #0b0c0c;
}



.govuk-exit-this-page {
  margin-bottom: 30px;
  position: -webkit-sticky;
  position: sticky;
  z-index: 1000;
  top: 0;
  left: 0;
  width: 100%;
}
@media (min-width: 40.0625em) {
  .govuk-exit-this-page {
    margin-bottom: 50px;
  }
}
@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;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
  color: #0b0c0c;
  max-width: 100%;
  margin-left: -5px;
  padding: 5px;
}
@media print {
  .govuk-file-upload {
    font-family: sans-serif;
  }
}
@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;
  }
}
@media print {
  .govuk-file-upload {
    color: #000000;
  }
}
.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;
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.1428571429;
  padding-top: 25px;
  padding-bottom: 15px;
  border-top: 1px solid #b1b4b6;
  color: #0b0c0c;
  background: #f3f2f1;
}
@media print {
  .govuk-footer {
    font-family: sans-serif;
  }
}
@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;
  }
}
@media (min-width: 40.0625em) {
  .govuk-footer {
    padding-top: 40px;
  }
}
@media (min-width: 40.0625em) {
  .govuk-footer {
    padding-bottom: 25px;
  }
}

.govuk-footer__link {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-decoration: underline;
  text-decoration-thickness: max(1px, .0625rem);
  text-underline-offset: 0.1578em;
}
@media print {
  .govuk-footer__link {
    font-family: sans-serif;
  }
}
.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;
  border: 0;
  border-bottom: 1px solid #b1b4b6;
}
@media (min-width: 40.0625em) {
  .govuk-footer__section-break {
    margin-bottom: 50px;
  }
}

.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;
  vertical-align: top;
  forced-color-adjust: auto;
}
@media (max-width: 48.0525em) {
  .govuk-footer__licence-logo {
    margin-bottom: 15px;
  }
}

.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;
  border-bottom: 1px solid #b1b4b6;
}
@media (max-width: 40.0525em) {
  .govuk-footer__heading {
    padding-bottom: 10px;
  }
}

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

.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;
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1;
  border-bottom: 10px solid #ffffff;
  color: #ffffff;
  background: #0b0c0c;
}
@media print {
  .govuk-header {
    font-family: sans-serif;
  }
}
@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__container--full-width {
  padding: 0 15px;
  border-color: #1d70b8;
}
.govuk-header__container--full-width .govuk-header__menu-button {
  right: 15px;
}

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

.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;
  font-weight: 400;
  display: inline-table;
  margin-top: 10px;
  vertical-align: top;
}
@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;
  }
}
@-moz-document url-prefix() {
  .govuk-header__product-name {
    margin-top: 9.5px;
  }
}
@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 {
  text-decoration: none;
}
.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: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;
  font-weight: 700;
}
@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__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;
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.1428571429;
  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;
}
@media print {
  .govuk-header__menu-button {
    font-family: sans-serif;
  }
}
@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: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;
  font-weight: 700;
  white-space: nowrap;
}
@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--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;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
  color: #0b0c0c;
  padding: 15px;
  margin-top: 20px;
  margin-bottom: 20px;
  clear: both;
  border-left: 10px solid #b1b4b6;
}
@media print {
  .govuk-inset-text {
    font-family: sans-serif;
  }
}
@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;
  }
}
@media print {
  .govuk-inset-text {
    color: #000000;
  }
}
@media (min-width: 40.0625em) {
  .govuk-inset-text {
    margin-top: 30px;
  }
}
@media (min-width: 40.0625em) {
  .govuk-inset-text {
    margin-bottom: 30px;
  }
}
.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;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
  margin-bottom: 30px;
  border: 5px solid #1d70b8;
  background-color: #1d70b8;
}
@media print {
  .govuk-notification-banner {
    font-family: sans-serif;
  }
}
@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;
  }
}
@media (min-width: 40.0625em) {
  .govuk-notification-banner {
    margin-bottom: 50px;
  }
}
.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;
  font-weight: 700;
  margin: 0;
  padding: 0;
  color: #ffffff;
}
@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__content {
  color: #0b0c0c;
  padding: 15px;
  background-color: #ffffff;
}
@media print {
  .govuk-notification-banner__content {
    color: #000000;
  }
}
@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;
  font-weight: 700;
  margin: 0 0 15px;
  padding: 0;
}
@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__link {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-decoration: underline;
  text-decoration-thickness: max(1px, .0625rem);
  text-underline-offset: 0.1578em;
}
@media print {
  .govuk-notification-banner__link {
    font-family: sans-serif;
  }
}
.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: #004e2a;
}
.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;
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-wrap: wrap;
}
@media (min-width: 40.0625em) {
  .govuk-pagination {
    margin-bottom: 30px;
  }
}
@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;
  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 {
  .govuk-pagination__item,
  .govuk-pagination__next,
  .govuk-pagination__prev {
    font-family: sans-serif;
  }
}
@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: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;
  font-weight: 400;
  font-size: 1.5rem;
  line-height: 1.0416666667;
  box-sizing: border-box;
  margin-bottom: 15px;
  padding: 35px;
  border: 5px solid transparent;
  text-align: center;
}
@media print {
  .govuk-panel {
    font-family: sans-serif;
  }
}
@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;
  }
}
@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;
  font-weight: 700;
  margin-top: 0;
  margin-bottom: 30px;
}
@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: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;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
  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: #0c2d4a;
  background-color: #bbd4ea;
  text-decoration: none;
  overflow-wrap: break-word;
}
@media print {
  .govuk-tag {
    font-family: sans-serif;
  }
}
@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;
  }
}
@media screen and (forced-colors: active) {
  .govuk-tag {
    font-weight: bold;
  }
}

.govuk-tag--grey {
  color: #282d30;
  background-color: #e5e6e7;
}

.govuk-tag--purple {
  color: #491644;
  background-color: #efdfed;
}

.govuk-tag--turquoise {
  color: #10403c;
  background-color: #d4ecea;
}

.govuk-tag--blue {
  color: #0c2d4a;
  background-color: #bbd4ea;
}

.govuk-tag--light-blue {
  color: #0c2d4a;
  background-color: #e8f1f8;
}

.govuk-tag--yellow {
  color: #594d00;
  background-color: #fff7bf;
}

.govuk-tag--orange {
  color: #6e3619;
  background-color: #fcd6c3;
}

.govuk-tag--red {
  color: #2a0b06;
  background-color: #f4cdc6;
}

.govuk-tag--pink {
  color: #6b1c40;
  background-color: #f9e1ec;
}

.govuk-tag--green {
  color: #005a30;
  background-color: #cce2d8;
}


.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;
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.1428571429;
  color: #0b0c0c;
  display: table;
  margin: 0;
}
@media print {
  .govuk-phase-banner__content {
    font-family: sans-serif;
  }
}
@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;
  }
}
@media print {
  .govuk-phase-banner__content {
    color: #000000;
  }
}

.govuk-phase-banner__content__tag {
  font-size: 0.875rem;
  line-height: 1.1428571429;
  margin-right: 10px;
}
@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__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;
  box-shadow: 0 0 0 4px #ffdd00;
}
@media screen and (forced-colors: active), (-ms-high-contrast: active) {
  .govuk-radios__input:focus + .govuk-radios__label::before {
    outline-color: Highlight;
  }
}

.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;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
  color: #0b0c0c;
  width: 40px;
  margin-bottom: 10px;
  text-align: center;
}
@media print {
  .govuk-radios__divider {
    font-family: sans-serif;
  }
}
@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;
  }
}
@media print {
  .govuk-radios__divider {
    color: #000000;
  }
}

.govuk-radios__conditional {
  margin-bottom: 15px;
  margin-left: 20px;
  padding-left: 35px;
  border-left: 4px solid #b1b4b6;
}
@media (min-width: 40.0625em) {
  .govuk-radios__conditional {
    margin-bottom: 20px;
  }
}
.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;
}
.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 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;
  }
}
@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;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
  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;
}
@media print {
  .govuk-select {
    font-family: sans-serif;
  }
}
@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: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 #1a65a6;
}
@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;
  text-decoration: underline;
  text-decoration-thickness: max(1px, .0625rem);
  text-underline-offset: 0.1578em;
}
@media print {
  .govuk-service-navigation__link {
    font-family: sans-serif;
  }
}
.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: #1a65a6;
}

.govuk-service-navigation__service-name {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.25;
}
@media print {
  .govuk-service-navigation__service-name {
    font-family: sans-serif;
  }
}
@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;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.25;
  display: inline-flex;
  margin: 10px 0;
  padding: 0;
  border: 0;
  color: #1a65a6;
  background: none;
  word-break: break-all;
  cursor: pointer;
  align-items: center;
}
@media print {
  .govuk-service-navigation__toggle {
    font-family: sans-serif;
  }
}
@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: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;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
  margin: 0;
  margin-bottom: 15px;
  padding: 0;
  list-style: none;
}
@media print {
  .govuk-service-navigation__list {
    font-family: sans-serif;
  }
}
@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;
  }
}
@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 {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-decoration: underline;
  text-decoration-thickness: max(1px, .0625rem);
  text-underline-offset: 0.1578em;
  font-size: 0.875rem;
  line-height: 1.1428571429;
  display: block;
  padding: 10px 15px;
}
.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;
}
@media print {
  .govuk-skip-link {
    font-family: sans-serif;
  }
}
.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;
  }
}
@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;
  }
}
@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;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
  color: #0b0c0c;
  margin: 0;
  margin-bottom: 20px;
}
@media print {
  .govuk-summary-list {
    font-family: sans-serif;
  }
}
@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;
  }
}
@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;
  }
}
@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;
  border: 1px solid #b1b4b6;
}
@media (min-width: 40.0625em) {
  .govuk-summary-card {
    margin-bottom: 30px;
  }
}

.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;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.25;
  color: #0b0c0c;
  margin: 5px 20px 10px 0;
}
@media print {
  .govuk-summary-card__title {
    font-family: sans-serif;
  }
}
@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;
  }
}
@media print {
  .govuk-summary-card__title {
    color: #000000;
  }
}
@media (min-width: 40.0625em) {
  .govuk-summary-card__title {
    margin-bottom: 5px;
  }
}

.govuk-summary-card__actions {
  font-size: 1rem;
  line-height: 1.25;
  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 {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-summary-card__actions {
    font-size: 14pt;
    line-height: 1.15;
  }
}
@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;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
  color: #0b0c0c;
  width: 100%;
  margin-bottom: 20px;
  border-spacing: 0;
  border-collapse: collapse;
}
@media print {
  .govuk-table {
    font-family: sans-serif;
  }
}
@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;
  }
}
@media print {
  .govuk-table {
    color: #000000;
  }
}
@media (min-width: 40.0625em) {
  .govuk-table {
    margin-bottom: 30px;
  }
}

.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;
  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;
}
@media (min-width: 40.0625em) {
  .govuk-tabs {
    margin-bottom: 30px;
  }
}
@media print {
  .govuk-tabs {
    font-family: sans-serif;
  }
}
@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;
  font-weight: 400;
  color: #0b0c0c;
  margin-bottom: 10px;
}
@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;
  }
}
@media print {
  .govuk-tabs__title {
    color: #000000;
  }
}

.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;
  content: "—";
  margin-left: -25px;
  padding-right: 5px;
}
@media print {
  .govuk-tabs__list-item::before {
    color: #000000;
  }
}

.govuk-tabs__tab {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-decoration: underline;
  text-decoration-thickness: max(1px, .0625rem);
  text-underline-offset: 0.1578em;
  display: inline-block;
  margin-bottom: 10px;
}
@media print {
  .govuk-tabs__tab {
    font-family: sans-serif;
  }
}
.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__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 {
    margin-bottom: 0;
    border-bottom: 1px solid #b1b4b6;
  }
  .govuk-frontend-supported .govuk-tabs__list::after {
    content: "";
    display: block;
    clear: both;
  }
  .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 {
    margin-bottom: 0;
  }
  .govuk-frontend-supported .govuk-tabs__tab:link, .govuk-frontend-supported .govuk-tabs__tab:visited {
    color: #0b0c0c;
  }
}
@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;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
  margin-top: 0;
  margin-bottom: 20px;
  padding: 0;
  list-style-type: none;
}
@media print {
  .govuk-task-list {
    font-family: sans-serif;
  }
}
@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;
  }
}
@media (min-width: 40.0625em) {
  .govuk-task-list {
    margin-bottom: 30px;
  }
}

.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;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
  margin-bottom: 20px;
  font-weight: 700;
  position: relative;
  padding: 10px 0;
}
@media print {
  .govuk-warning-text {
    font-family: sans-serif;
  }
}
@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;
  }
}
@media (min-width: 40.0625em) {
  .govuk-warning-text {
    margin-bottom: 30px;
  }
}

.govuk-warning-text__icon {
  box-sizing: border-box;
  display: inline-block;
  position: absolute;
  left: 0;
  min-width: 35px;
  min-height: 35px;
  margin-top: -7px;
  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 (min-width: 40.0625em) {
  .govuk-warning-text__icon {
    margin-top: -5px;
  }
}
@media screen and (forced-colors: active) {
  .govuk-warning-text__icon {
    border-color: windowText;
    color: windowText;
    background: transparent;
  }
}

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



.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;
  position: relative;
  padding: 10px;
  background: #f3f2f1;
  border-top: solid 1px #b1b4b6;
  border-bottom: solid 1px #b1b4b6;
}
@media print {
  .app-step-nav-header {
    color: #000000;
  }
}
@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;
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 1.1428571429;
  display: block;
  padding-bottom: 0.2em;
}
@media print {
  .app-step-nav-header__part-of {
    font-family: sans-serif;
  }
}
@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__title {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.1111111111;
}
@media print {
  .app-step-nav-header__title {
    font-family: sans-serif;
  }
}
@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;
  font-size: 19px;
  font-weight: bold;
  line-height: 1.4;
  display: inline-block;
  padding: 0;
  text-align: left;
  color: #0b0c0c;
}
@media print {
  .app-step-nav__button--title {
    font-family: sans-serif;
  }
}
@media (min-width: 40.0625em) {
  .app-step-nav__button--title {
    font-size: 19px;
    line-height: 1.4;
  }
}
.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;
  font-size: 19px;
  font-weight: bold;
  line-height: 1.4;
}
@media print {
  .app-step-nav--large .app-step-nav__button--title {
    font-family: sans-serif;
  }
}
@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;
  font-size: 14px;
  font-weight: normal;
  line-height: 1;
  position: relative;
  z-index: 1;
  padding: 0.5em 0;
  text-decoration: underline;
}
@media print {
  .app-step-nav__button--controls {
    font-family: sans-serif;
  }
}
@media (min-width: 40.0625em) {
  .app-step-nav__button--controls {
    font-size: 14px;
    line-height: 1;
  }
}
.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;
  font-size: 14px;
  font-weight: normal;
  line-height: 1;
}
@media print {
  .app-step-nav--large .app-step-nav__button--controls {
    font-family: sans-serif;
  }
}
@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;
  font-size: 16px;
  font-weight: bold;
  line-height: 23px;
  border: solid 2px #b1b4b6;
}
@media print {
  .app-step-nav__circle--number {
    font-family: sans-serif;
  }
}
@media (min-width: 40.0625em) {
  .app-step-nav__circle--number {
    font-size: 16px;
    line-height: 23px;
  }
}
.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;
  font-size: 16px;
  font-weight: bold;
  line-height: 23px;
}
@media print {
  .app-step-nav--large .app-step-nav__circle--number {
    font-family: sans-serif;
  }
}
@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;
  font-size: 16px;
  font-weight: bold;
  line-height: 28px;
}
@media print {
  .app-step-nav__circle--logic {
    font-family: sans-serif;
  }
}
@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;
  font-size: 16px;
  font-weight: bold;
  line-height: 28px;
}
@media print {
  .app-step-nav--large .app-step-nav__circle--logic {
    font-family: sans-serif;
  }
}
@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;
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 19px;
  font-weight: bold;
  line-height: 1.4;
  margin: 0;
}
@media print {
  .app-step-nav__title {
    color: #000000;
  }
}
@media print {
  .app-step-nav__title {
    font-family: sans-serif;
  }
}
@media (min-width: 40.0625em) {
  .app-step-nav__title {
    font-size: 19px;
    line-height: 1.4;
  }
}
.app-step-nav--large .app-step-nav__title {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 19px;
  font-weight: bold;
  line-height: 1.4;
}
@media print {
  .app-step-nav--large .app-step-nav__title {
    font-family: sans-serif;
  }
}
@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;
  font-size: 14px;
  font-weight: normal;
  line-height: 1.2;
  display: block;
  color: #1d70b8;
  text-transform: capitalize;
}
@media print {
  .app-step-nav__toggle-link {
    font-family: sans-serif;
  }
}
@media (min-width: 40.0625em) {
  .app-step-nav__toggle-link {
    font-size: 14px;
    line-height: 1.2;
  }
}
.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;
  font-size: 14px;
  font-weight: normal;
  line-height: 1.2;
}
@media print {
  .app-step-nav--large .app-step-nav__toggle-link {
    font-family: sans-serif;
  }
}
@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;
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 16px;
  font-weight: normal;
  line-height: 1.3;
}
@media print {
  .app-step-nav__panel {
    color: #000000;
  }
}
@media print {
  .app-step-nav__panel {
    font-family: sans-serif;
  }
}
@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;
  font-size: 16px;
  font-weight: normal;
  line-height: 1.3;
}
@media print {
  .app-step-nav--large .app-step-nav__panel {
    font-family: sans-serif;
  }
}
@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;
  text-decoration: underline;
  text-decoration-thickness: max(1px, .0625rem);
  text-underline-offset: 0.1578em;
}
@media print {
  .app-step-nav__link {
    font-family: sans-serif;
  }
}
.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;
  border-top: 2px solid #1d70b8;
  margin-bottom: 30px;
}
@media print {
  .app-step-nav-related {
    color: #000000;
  }
}

.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;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.25;
}
@media print {
  .app-step-nav-related__heading {
    font-family: sans-serif;
  }
}
@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;
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 1.1428571429;
  margin: 0;
  padding: 0;
}
@media print {
  .app-step-nav-related__links {
    font-family: sans-serif;
  }
}
@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--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;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.4;
  margin-top: 20px;
}
@media print {
  .app-step-nav-related--singular .app-step-nav-related__heading {
    font-family: sans-serif;
  }
}
@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;
  }
}
@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;
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.1111111111;
}
@media print {
  .app-task-list__section {
    font-family: sans-serif;
  }
}
@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;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
  margin-bottom: 40px;
  list-style: none;
  padding-left: 0;
}
@media print {
  .app-task-list__items {
    font-family: sans-serif;
  }
}
@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;
  }
}
@media (min-width: 40.0625em) {
  .app-task-list__items {
    margin-bottom: 60px;
  }
}
@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;
}

.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;
}
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;
}
td.jsgrid-cell > span > button:focus,
th.jsgrid-header-cell > span > button:focus {
  background-color: #fd0;
}

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;
}

.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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvcmUvX2dvdnVrLWZyb250ZW5kLXByb3BlcnRpZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvcmUvX2xpbmtzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9oZWxwZXJzL190eXBvZ3JhcGh5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9zZXR0aW5ncy9fdHlwb2dyYXBoeS1mb250LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9oZWxwZXJzL19saW5rcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvc2V0dGluZ3MvX2xpbmtzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9oZWxwZXJzL19mb250LWZhY2VzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay92ZW5kb3IvX3Nhc3MtbXEuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2hlbHBlcnMvX2ZvY3VzZWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL3NldHRpbmdzL19jb2xvdXJzLWFwcGxpZWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvcmUvX2xpc3RzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9oZWxwZXJzL19zcGFjaW5nLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9jb3JlL190eXBvZ3JhcGh5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9jb3JlL19zZWN0aW9uLWJyZWFrLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9vYmplY3RzL19idXR0b24tZ3JvdXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL29iamVjdHMvX2Zvcm0tZ3JvdXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2hlbHBlcnMvX2NsZWFyZml4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9vYmplY3RzL19ncmlkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9oZWxwZXJzL19ncmlkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9vYmplY3RzL19tYWluLXdyYXBwZXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL29iamVjdHMvX3RlbXBsYXRlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9vYmplY3RzL193aWR0aC1jb250YWluZXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL3NldHRpbmdzL19tZWFzdXJlbWVudHMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvbXBvbmVudHMvYWNjb3JkaW9uL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvY29tcG9uZW50cy9iYWNrLWxpbmsvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9jb21wb25lbnRzL2JyZWFkY3J1bWJzL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvY29tcG9uZW50cy9idXR0b24vX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9jb21wb25lbnRzL2Vycm9yLW1lc3NhZ2UvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9jb21wb25lbnRzL2hpbnQvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9jb21wb25lbnRzL2xhYmVsL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvY29tcG9uZW50cy90ZXh0YXJlYS9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvbXBvbmVudHMvY2hhcmFjdGVyLWNvdW50L19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvY29tcG9uZW50cy9maWVsZHNldC9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvbXBvbmVudHMvY2hlY2tib3hlcy9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvbXBvbmVudHMvY29va2llLWJhbm5lci9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvbXBvbmVudHMvaW5wdXQvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9jb21wb25lbnRzL2RhdGUtaW5wdXQvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9jb21wb25lbnRzL2RldGFpbHMvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9oZWxwZXJzL19zaGFwZS1hcnJvdy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvY29tcG9uZW50cy9lcnJvci1zdW1tYXJ5L19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvY29tcG9uZW50cy9leGl0LXRoaXMtcGFnZS9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvbXBvbmVudHMvZmlsZS11cGxvYWQvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9jb21wb25lbnRzL2Zvb3Rlci9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvbXBvbmVudHMvaGVhZGVyL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvY29tcG9uZW50cy9pbnNldC10ZXh0L19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvY29tcG9uZW50cy9ub3RpZmljYXRpb24tYmFubmVyL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvY29tcG9uZW50cy9wYWdpbmF0aW9uL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvY29tcG9uZW50cy9wYW5lbC9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvbXBvbmVudHMvcGFzc3dvcmQtaW5wdXQvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9jb21wb25lbnRzL3RhZy9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvbXBvbmVudHMvcGhhc2UtYmFubmVyL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvY29tcG9uZW50cy9yYWRpb3MvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9jb21wb25lbnRzL3NlbGVjdC9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvbXBvbmVudHMvc2VydmljZS1uYXZpZ2F0aW9uL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvY29tcG9uZW50cy9za2lwLWxpbmsvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9oZWxwZXJzL192aXN1YWxseS1oaWRkZW4uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvbXBvbmVudHMvc3VtbWFyeS1saXN0L19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvY29tcG9uZW50cy90YWJsZS9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvbXBvbmVudHMvdGFicy9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvbXBvbmVudHMvdGFzay1saXN0L19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvY29tcG9uZW50cy93YXJuaW5nLXRleHQvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay91dGlsaXRpZXMvX3Zpc3VhbGx5LWhpZGRlbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvb3ZlcnJpZGVzL19kaXNwbGF5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9vdmVycmlkZXMvX3NwYWNpbmcuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL292ZXJyaWRlcy9fdGV4dC1hbGlnbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvb3ZlcnJpZGVzL190eXBvZ3JhcGh5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9vdmVycmlkZXMvX3dpZHRoLnNjc3MiLCJwYXR0ZXJucy9fc3RlcC1ieS1zdGVwLWhlYWRlci5zY3NzIiwicGF0dGVybnMvX3N0ZXAtYnktc3RlcC1uYXYuc2NzcyIsInBhdHRlcm5zL19zdGVwLWJ5LXN0ZXAtcmVsYXRlZC5zY3NzIiwicGF0dGVybnMvX3Rhc2stbGlzdC5zY3NzIiwicGF0dGVybnMvX3JlbGF0ZWQtaXRlbXMuc2NzcyIsImRjbGcvX2Nob3Nlbi5zY3NzIiwiZGNsZy9fcGFsZXR0ZS5zY3NzIiwiZGNsZy9fY3VzdG9tX2NoZWNrYm94LnNjc3MiLCJkY2xnL19kYXRlcGlja2VyLnNjc3MiLCJkY2xnL19ncmFudHMuc2NzcyIsImRjbGcvX3BhZ2VyLnNjc3MiLCJkY2xnL19icmVhZGNydW1icy5zY3NzIiwiZGNsZy9faGVhZGVyLnNjc3MiLCJkY2xnL19zbGlkaW5nLXBhbmVsLnNjc3MiLCJkY2xnL19mb3Jtcy5zY3NzIiwiZGNsZy9fc2VhcmNoLnNjc3MiLCJkY2xnL19kYXRhR3JpZC5zY3NzIiwiZGNsZy9fZGF0YUdyaWREZWx0YTIuc2NzcyIsImRjbGcvZGVsdGEtZmlsdGVycy5zY3NzIiwiZGNsZy9fZmFjZXQuc2NzcyIsImRjbGcvX25vdGljZS5zY3NzIiwiZGNsZy9fYmFyX2dyYXBoX2Rlc2NyaXB0aW9uX2JveC5zY3NzIiwiZGNsZy9fdGFicy5zY3NzIiwiZGNsZy9fcHJldmlvdXMtbmV4dC1uYXZpZ2F0aW9uLnNjc3MiLCJkY2xnL19kaWFsb2dfY3VzdG9tLnNjc3MiLCJkY2xnL19iYW5uZXIuc2NzcyIsImRjbGcvX29yYmVvbi1pbnRlZ3JhdGlvbi5zY3NzIiwiZGNsZy9fbm90aWZpY2F0aW9uX2Jhbm5lci5zY3NzIiwiZGNsZy9fd2lkZV9wYWdlLnNjc3MiLCJkY2xnL19sb2FkaW5nX2FuaW1hdGlvbi5zY3NzIiwiZGNsZy9faGVscC1pbWFnZXMuc2NzcyIsImRjbGcvX2hvbWVwYWdlLnNjc3MiLCJkY2xnL19mdWxsc2NyZWVuLnNjc3MiLCJkY2xnL19nb3Z1ay1vdmVycmlkZXMuc2NzcyIsInNjb3RfZ292L19kYXRlLXBpY2tlci5zY3NzIiwiX2ZvbnQtYXdlc29tZS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7RUFHRTtFQUlFO0VBQUE7RUFBQTs7OztBQ05GO0VDY0EsYUNGa0I7RURHbEI7RUFDQTtFRWFBO0VBR0UsMkJDaEI2QjtFRG9CN0IsdUJDUDBCOztBQ2R4QjtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsS0FDRTtFQUVGOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsS0FDRTtFQUVGOztBQ2tNQTtFTm5PTjtJQ3lCRSxhQ0hzQjs7O0FDVHhCO0VBcUNFLDJCQ0xtQztFRFFuQztFQUNRO0VBQ1I7RUFDUTs7QUF2Q1Y7RUlGQTtFQUNBLE9DNER3QjtFRDNEeEIsa0JDaURtQjtFRGhEbkIsWUFDRTtFQUlGO0VBSUE7RUFDUTs7QUpnRFI7RUFDRSxPS3VEZ0I7O0FMcERsQjtFQUNFLE9LMER3Qjs7QUx2RDFCO0VBQ0UsT0s2RHNCOztBTDFEeEI7RUFDRSxPS2dFdUI7O0FMM0R6QjtFQUNFLE9LbkJzQjs7QUZ1SmxCO0VIK0hGO0lBQ0U7SUFDQTtJQUtBOzs7O0FBM0tOO0VBRUUsT0t4STBCOztBTDJJNUI7RUFFRSxPS2hMZ0I7O0FMcUxsQjtFQUNFLE9LL0hzQjs7O0FMb0p4QjtFRjVMQSxPT2ZrQjs7QUY4TVo7RUhITjtJRnpMRSxPT1FzQjs7O0FMd0x4QjtFQUVJOztBQUlKO0VGek1BLE9PZmtCOztBRjhNWjtFSFVOO0lGdE1FLE9PUXNCOzs7O0FMcU54QjtFQUVFOztBQUtGO0VBRUU7O0FBR0Y7RUFDRSxPS3JNc0I7OztBTG9ReEI7RUFDRTs7O0FBdkNGO0VBQ0UsT0t2S2dCOztBTDBLbEI7RUFDRSxPSzNLZ0I7O0FMOEtsQjtFQUNFLE9LaktzQjs7QUxvS3hCO0VBQ0UsT0s5SnVCOztBTG1LekI7RUFDRSxPS2pQc0I7OztBUnpDeEI7RUdxVkE7RUFHQTtFQUdBOztBQUVBO0VJdlZBO0VBQ0EsWUFDRTs7OztBRTNDRjtFUmNBLGFDRmtCO0VER2xCO0VBQ0E7RUFrQ0E7RUE0TEksV0FKYztFQUtkLGFBSnVCO0VBdk0zQixPT2ZrQjtFQ2xCaEI7RUNzR0k7RURwR0o7RUFDQTs7QUg2Tkk7RUduT047SVJ5QkUsYUNIc0I7OztBSTZNbEI7RUduT047SVJ1UE0sV0FiWTtJQWNaLGFBYnFCOzs7QUtSckI7RUduT047SVJrUE0sV0FUUTtJQVVSLGFBUnFCOzs7QUtSckI7RUduT047SVJ1Q0UsT09Rc0I7OztBRm9MbEI7RUduT047SUNnSFE7OztBRHZHTjtFQUNFOzs7QUFJSjtFQUlFOzs7QUFPRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7QUFBQTtFQUVFOztBSDhMSTtFR2hNTjtBQUFBO0lBS0k7Ozs7QUFJSjtFQUNFOztBSHNMSTtFR3ZMTjtJQUlJOzs7OztBRTlDSjtFVmtDQSxPT2ZrQjtFUFBsQixhQ0ZrQjtFREdsQjtFQUNBO0VBNENBO0VBa0xJLFdBSmM7RUFLZCxhQUp1QjtFVXJPekI7RUFFQTtFRGlHSTs7QUowSEE7RUtqT047SVZxQ0UsT09Rc0I7OztBRm9MbEI7RUtqT047SVZ1QkUsYUNIc0I7OztBSTZNbEI7RUtqT047SVZxUE0sV0FiWTtJQWNaLGFBYnFCOzs7QUtSckI7RUtqT047SVZnUE0sV0FUUTtJQVVSLGFBUnFCOzs7QUtSckI7RUtqT047SUQ4R1E7Ozs7QUNoR1I7RVZvQkEsT09ma0I7RVBQbEIsYUNGa0I7RURHbEI7RUFDQTtFQTRDQTtFQWtMSSxXQUpjO0VBS2QsYUFKdUI7RVV2TnpCO0VBRUE7RURtRkk7O0FKMEhBO0VLbk5OO0lWdUJFLE9PUXNCOzs7QUZvTGxCO0VLbk5OO0lWU0UsYUNIc0I7OztBSTZNbEI7RUtuTk47SVZ1T00sV0FiWTtJQWNaLGFBYnFCOzs7QUtSckI7RUtuTk47SVZrT00sV0FUUTtJQVVSLGFBUnFCOzs7QUtSckI7RUtuTk47SURnR1E7Ozs7QUNsRlI7RVZNQSxPT2ZrQjtFUFBsQixhQ0ZrQjtFREdsQjtFQUNBO0VBNENBO0VBa0xJLFdBSmM7RUFLZCxhQUp1QjtFVXpNekI7RUFFQTtFRHFFSTs7QUowSEE7RUtyTU47SVZTRSxPT1FzQjs7O0FGb0xsQjtFS3JNTjtJVkxFLGFDSHNCOzs7QUk2TWxCO0VLck1OO0lWeU5NLFdBYlk7SUFjWixhQWJxQjs7O0FLUnJCO0VLck1OO0lWb05NLFdBVFE7SUFVUixhQVJxQjs7O0FLUnJCO0VLck1OO0lEa0ZROzs7O0FDcEVSO0VWUkEsT09ma0I7RVBQbEIsYUNGa0I7RURHbEI7RUFDQTtFQTRDQTtFQWtMSSxXQUpjO0VBS2QsYUFKdUI7RVUzTHpCO0VBRUE7RUR1REk7O0FKMEhBO0VLdkxOO0lWTEUsT09Rc0I7OztBRm9MbEI7RUt2TE47SVZuQkUsYUNIc0I7OztBSTZNbEI7RUt2TE47SVYyTU0sV0FiWTtJQWNaLGFBYnFCOzs7QUtSckI7RUt2TE47SVZzTU0sV0FUUTtJQVVSLGFBUnFCOzs7QUtSckI7RUt2TE47SURvRVE7Ozs7QUNwRFI7RVY5Q0EsYUNGa0I7RURHbEI7RUFDQTtFQWtDQTtFQTRMSSxXQUpjO0VBS2QsYUFKdUI7RVU1S3pCO0VBRUE7RUFFQSxPSFgwQjs7QUYyS3RCO0VLdktOO0lWbkNFLGFDSHNCOzs7QUk2TWxCO0VLdktOO0lWMkxNLFdBYlk7SUFjWixhQWJxQjs7O0FLUnJCO0VLdktOO0lWc0xNLFdBVFE7SUFVUixhQVJxQjs7OztBVXJLM0I7RVZ4REEsYUNGa0I7RURHbEI7RUFDQTtFQWtDQTtFQTRMSSxXQUpjO0VBS2QsYUFKdUI7RVVsS3pCO0VBRUE7RUFDQSxPSHBCMEI7O0FGMkt0QjtFSzdKTjtJVjdDRSxhQ0hzQjs7O0FJNk1sQjtFSzdKTjtJVmlMTSxXQWJZO0lBY1osYUFicUI7OztBS1JyQjtFSzdKTjtJVjRLTSxXQVRRO0lBVVIsYUFScUI7OztBS1JyQjtFSzdKTjtJQVNJOzs7O0FBSUo7RVZyRUEsYUNGa0I7RURHbEI7RUFDQTtFQWtDQTtFQTRMSSxXQUpjO0VBS2QsYUFKdUI7RVVySnpCO0VBRUEsT0hoQzBCOztBRjJLdEI7RUtoSk47SVYxREUsYUNIc0I7OztBSTZNbEI7RUtoSk47SVZvS00sV0FiWTtJQWNaLGFBYnFCOzs7QUtSckI7RUtoSk47SVYrSk0sV0FUUTtJQVVSLGFBUnFCOzs7O0FVOUkzQjtFVnpEQSxPT2ZrQjtFUFBsQixhQ0ZrQjtFREdsQjtFQUNBO0VBa0NBO0VBNExJLFdBSmM7RUFLZCxhQUp1QjtFVTFJekI7RURRSTs7QUowSEE7RUt0SU47SVZ0REUsT09Rc0I7OztBRm9MbEI7RUt0SU47SVZwRUUsYUNIc0I7OztBSTZNbEI7RUt0SU47SVYwSk0sV0FiWTtJQWNaLGFBYnFCOzs7QUtSckI7RUt0SU47SVZxSk0sV0FUUTtJQVVSLGFBUnFCOzs7QUtSckI7RUt0SU47SURtQlE7Ozs7QUNQUjtFVnJFQSxPT2ZrQjtFUFBsQixhQ0ZrQjtFREdsQjtFQUNBO0VBa0NBO0VBNExJLFdBSmM7RUFLZCxhQUp1QjtFVTlIekI7RURKSTs7QUowSEE7RUsxSE47SVZsRUUsT09Rc0I7OztBRm9MbEI7RUsxSE47SVZoRkUsYUNIc0I7OztBSTZNbEI7RUsxSE47SVY4SU0sV0FiWTtJQWNaLGFBYnFCOzs7QUtSckI7RUsxSE47SVZ5SU0sV0FUUTtJQVVSLGFBUnFCOzs7QUtSckI7RUsxSE47SURPUTs7OztBQ0tSO0VWakZBLE9PZmtCO0VQUGxCLGFDRmtCO0VER2xCO0VBQ0E7RUFrQ0E7RUE0TEksV0FKYztFQUtkLGFBSnVCO0VVbEh6QjtFRGhCSTs7QUowSEE7RUs5R047SVY5RUUsT09Rc0I7OztBRm9MbEI7RUs5R047SVY1RkUsYUNIc0I7OztBSTZNbEI7RUs5R047SVZrSU0sV0FiWTtJQWNaLGFBYnFCOzs7QUtSckI7RUs5R047SVY2SE0sV0FUUTtJQVVSLGFBUnFCOzs7QUtSckI7RUs5R047SURMUTs7OztBQ2tCUjtFVjlGQSxPT2ZrQjtFUFBsQixhQ0ZrQjtFREdsQjtFQUNBO0VBa0NBO0VBNExJLFdBSmM7RUFLZCxhQUp1QjtFVXJHekI7RUQ3Qkk7O0FKMEhBO0VLakdOO0lWM0ZFLE9PUXNCOzs7QUZvTGxCO0VLakdOO0lWekdFLGFDSHNCOzs7QUk2TWxCO0VLakdOO0lWcUhNLFdBYlk7SUFjWixhQWJxQjs7O0FLUnJCO0VLakdOO0lWZ0hNLFdBVFE7SUFVUixhQVJxQjs7O0FLUnJCO0VLakdOO0lEbEJROzs7O0FDK0NSO0VBQ0U7O0FMbUVJO0VLcEVOO0lBSUk7Ozs7QUFJSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0VEOURNOztBSjBIQTtFSzVETjtBQUFBO0FBQUE7QUFBQTtBQUFBO0lEdkRROzs7O0FDNkRSO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFNRTs7QUxnREk7RUt0RE47QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtJQVNJOzs7OztBQ3RMSjtFQUNFO0VBQ0E7OztBQVNGO0VGOEZNO0VBQUE7O0FKMEhBO0VNeE5OO0lGcUdROzs7QUptSEY7RU14Tk47SUZxR1E7Ozs7QUU1RlI7RUZxRk07RUFBQTs7QUowSEE7RU0vTU47SUY0RlE7OztBSm1IRjtFTS9NTjtJRjRGUTs7OztBRW5GUjtFRjRFTTtFQUFBOztBSjBIQTtFTXRNTjtJRm1GUTs7O0FKbUhGO0VNdE1OO0lGbUZROzs7O0FFeEVSO0VBQ0U7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQy9CRjtFSCtGTTtFRzNFSjtFQUNBO0VBQ0E7O0FQbU1JO0VPek5OO0lIc0dROzs7QUd6RU47RVp6QkYsYUNGa0I7RURHbEI7RUFDQTtFQWtDQTtFQTRMSSxXQUpjO0VBS2QsYUFKdUI7RVlsTXZCO0VBR0E7RUFDQSxZQTNCYTtFQTRCYjtFQUNBOztBUG9MRTtFTzVMSjtJWmRBLGFDSHNCOzs7QUk2TWxCO0VPNUxKO0laZ05JLFdBYlk7SUFjWixhQWJxQjs7O0FLUnJCO0VPNUxKO0laMk1JLFdBVFE7SUFVUixhQVJxQjs7O0FZdkx6QjtFQUNFOztBUDhLRTtFT3pOTjtJQWtESTtJQUVBO0lBQ0E7SUFDQTs7RUFFQTtBQUFBO0lBRUUsY0F6RGE7O0VBNERmO0lBQ0U7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ3RFTjtFSnVHTTs7QUtqR047RUFDRTtFQUNBO0VBQ0E7O0FUd05JO0VRak9OO0lKOEdROzs7QUkxR047RUFDRTs7O0FBSUo7RUFDRTtFQUNBOztBQUVBO0VBRUU7RUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUVoQko7RUFFRTtFQUNBOztBREdGO0VBQ0U7RUFDQTtFQUNBOzs7QUNGQTtFQ3lDRjtFQUVFO0VBRUY7O0FYNktNO0VVMU5KO0lDK0NBO0lBQ0EsT0FSMkM7Ozs7QUR4QzNDO0VDeUNGO0VBRUU7RUFFRjs7QVg2S007RVUxTko7SUMrQ0E7SUFDQSxPQVIyQzs7OztBRHhDM0M7RUN5Q0Y7RUFFRTtFQUVGOztBWDZLTTtFVTFOSjtJQytDQTtJQUNBLE9BUjJDOzs7O0FEeEMzQztFQ3lDRjtFQUVFO0VBRUY7O0FYNktNO0VVMU5KO0lDK0NBO0lBQ0EsT0FSMkM7Ozs7QUR4QzNDO0VDeUNGO0VBRUU7RUFFRjs7QVg2S007RVUxTko7SUMrQ0E7SUFDQSxPQVIyQzs7OztBRHhDM0M7RUN5Q0Y7RUFFRTtFQUVGOztBWDZLTTtFVTFOSjtJQytDQTtJQUNBLE9BUjJDOzs7O0FEL0IzQztFQ2dDRjtFQUlBOztBWDZLTTtFVWpOSjtJQ3NDQTtJQUNBLE9BUjJDOzs7O0FEL0IzQztFQ2dDRjtFQUlBOztBWDZLTTtFVWpOSjtJQ3NDQTtJQUNBLE9BUjJDOzs7O0FEL0IzQztFQ2dDRjtFQUlBOztBWDZLTTtFVWpOSjtJQ3NDQTtJQUNBLE9BUjJDOzs7O0FEL0IzQztFQ2dDRjtFQUlBOztBWDZLTTtFVWpOSjtJQ3NDQTtJQUNBLE9BUjJDOzs7O0FEL0IzQztFQ2dDRjtFQUlBOztBWDZLTTtFVWpOSjtJQ3NDQTtJQUNBLE9BUjJDOzs7O0FEL0IzQztFQ2dDRjtFQUlBOztBWDZLTTtFVWpOSjtJQ3NDQTtJQUNBLE9BUjJDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUMxQjdDO0VBSUU7RUFDQTtFQUNBOztBWnNNSTtFWTVNTjtJQVlJO0lBQ0E7Ozs7QUFXSjtBQUFBO0VSMERNOztBSjBIQTtFWXBMTjtBQUFBO0lSaUVROzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QVM3R1I7RUFHRSxrQlh5QjZCO0VXckI3QjtFQUNHO0VBQ0s7O0FBY1I7RUF2QkY7SUF3Qkk7O0VBRUE7SUFDRTs7O0FicU1BO0VhaE9OO0lBa0NJOzs7O0FBS0o7RUFHRTtFQUVBLGtCWFQyQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QVlnQzdCO0VBbERBLFdDUmlCO0VEV2pCLGNDMkJrQjtFRDFCbEIsYUMwQmtCOztBRHZCbEI7RUEyQ0E7SUFyQ0U7SUFDQTs7O0FkaU1JO0VjN0pOO0lBL0JFLGNDSVc7SURIWCxhQ0dXOztFREFYO0lBMkJGO01BckJJO01BQ0E7Ozs7QWRpTEU7RWM3Sk47SUFiRTtJQUNBOztFQUlBO0lBUUY7TUFQSTtNQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBRTNESjtFWm9HTTs7QUowSEE7RWdCOU5OO0laMkdROzs7O0FZdkdSO0VBQ0U7OztBQUdGO0VBRUU7RUFDQTtFQUVBO0VBQ0E7OztBQUdGO0VyQlJBLGFDRmtCO0VER2xCO0VBQ0E7RUE0Q0E7RUFrTEksV0FKYztFQUtkLGFBSnVCO0VBdk0zQixPT2ZrQjtFY0toQjtFQUNBO0VBQ0E7O0FoQnVNSTtFZ0I3TU47SXJCR0UsYUNIc0I7OztBSTZNbEI7RWdCN01OO0lyQmlPTSxXQWJZO0lBY1osYUFicUI7OztBS1JyQjtFZ0I3TU47SXJCNE5NLFdBVFE7SUFVUixhQVJxQjs7O0FLUnJCO0VnQjdNTjtJckJpQkUsT09Rc0I7Ozs7QWNmeEI7RUFDRTs7O0FBS0E7RUFFRTs7QUFHRjtFQUNFOztBQUtGO0VBQ0U7RVp1REU7RUFBQTs7QUowSEE7RWdCbExKO0laK0RNOzs7QVl0RE47RUFPRTtFQUNBOztBQVBBO0VBREY7SUFFSTtJQUNBOzs7QUFTSjtFQUNFOztBQUdGO0VyQjVERixhQ0ZrQjtFREdsQjtFQUNBO0VBa0NBO0VBNExJLFdBSmM7RUFLZCxhQUp1QjtFcUIvSnZCO0VBQ0E7RUFFQTtFQUNBO0VBRUE7RUFFQSxPZGdEYztFYy9DZDtFQUVBO0VBQ0E7O0FoQjJJRTtFZ0J6Sko7SXJCakRBLGFDSHNCOzs7QUk2TWxCO0VnQnpKSjtJckI2S0ksV0FiWTtJQWNaLGFBYnFCOzs7QUtSckI7RWdCekpKO0lyQndLSSxXQVRRO0lBVVIsYUFScUI7OztBS1JyQjtFZ0J6Sko7SUFpQkk7OztBQUlGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFLE9Bckd3QjtFQXNHeEIsWUFyR3lCO0VBeUd6QixZQUNFOztBQUdGO0VBQ0UsT0EvR3NCOztBQWtIeEI7RUFDRSxPQW5Ic0I7RUFvSHRCLFlBcEhzQjs7QUF1SHhCO0VBQ0UsT0F2SHVCOztBQTJIM0I7RWY3R0o7RUFDQSxPQzREd0I7RUQzRHhCLGtCQ2lEbUI7RURoRG5CLFlBQ0U7RUFJRjtFQUlBO0VBQ1E7O0FlbUdGO0VBQ0UsWUFoSXNCOztBQW1JeEI7RUFDRSxPZGxFVzs7QWN1RWpCO0VBQ0U7O0FBSUY7RUFDRTtFQUNBO0VBRUE7RUFHQTtFQUNBO0VBRUE7RUFDQTtFQUVBOztBQUdBO0VBQ0U7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUVBO0VBRUE7RUFDQTs7QUFLSjtFQUNFOztBQUdGO0VBQ0U7RUFFQTtFQUVBO0VBRUE7RUFLQTtFQUVBLE9kL0tjO0VjZ0xkO0VBRUE7RUFFQTtFQUNBOztBaEJ5QkU7RWdCN0NKO0lBdUJJOzs7QUFHRjtFQUNFLE9keERtQjtFY3lEbkI7O0FBR0Y7RUFDRSxPQXROd0I7RUF1TnhCLFlBdE55Qjs7QUF3TnpCO0VBQ0UsT0ExTnNCOztBQTZOeEI7RUFDRSxPQTlOc0I7RUErTnRCLFlBL05zQjs7QUFrT3hCO0VBQ0UsT0FsT3VCOztBQXNPM0I7RUFHRTs7QUFFQTtBQUFBO0FBQUE7RWY3Tk47RUFDQSxPQzREd0I7RUQzRHhCLGtCQ2lEbUI7RURoRG5CLFlBQ0U7RUFJRjtFQUlBO0VBQ1E7O0Flc05GO0VBQ0UsT0FuUHNCO0VBb1B0QixZQXBQc0I7O0FBdVB4QjtFQUNFLE9kdExXOztBYzJMZjtFQUNFO0VBQ0E7O0FBUUo7RUFDRTtFQUNBOztBaEJ0Q0U7RWdCb0NKO0lBS0k7OztBQU1KO0VBQ0U7O0FoQmhERTtFZ0IrQ0o7SUFJSTs7O0FBSUo7QUFBQTtBQUFBO0VBR0U7RUFDQTs7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFHRTs7QUFLSjtFckIxREUsV0FKYztFQUtkLGFBSnVCO0VBekwzQjtFcUJ5UEksT2R2S2M7O0FGK0ZaO0VnQnFFSjtJckJqREksV0FiWTtJQWNaLGFBYnFCOzs7QUtSckI7RWdCcUVKO0lyQnRESSxXQVRRO0lBVVIsYUFScUI7OztBcUJzRXpCO0FBQUE7RUFFRTtFQUNBOztBQXdCRjtFQUdJO0FBQUE7SUFDRTs7RUFNRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0lBSUU7SUFDQTs7O0FBT047RUFDRTtJQUNFLGtCZDdQYztJYytQZDs7RUFFQTtJQUNFLGtCZGxRWTs7Ozs7QWUxRnBCO0V0QmlPSSxXQUpjO0VBS2QsYUFKdUI7RUE3TjNCLGFDRmtCO0VER2xCO0VBQ0E7RUVhQTtFQUdFLDJCQ2hCNkI7RURvQjdCLHVCQ1AwQjtFbUJYMUI7RUFDQTtFQUVBO0VBQ0E7RUFHQTs7QWpCME1JO0VpQnROTjtJdEIwT00sV0FiWTtJQWNaLGFBYnFCOzs7QUtSckI7RWlCdE5OO0l0QnFPTSxXQVRRO0lBVVIsYUFScUI7OztBS1JyQjtFaUJ0Tk47SXRCWUUsYUNIc0I7OztBQ1R4QjtFQXFDRSwyQkNMbUM7RURRbkM7RUFDUTtFQUNSO0VBQ1E7O0FBdkNWO0VJRkE7RUFDQSxPQzREd0I7RUQzRHhCLGtCQ2lEbUI7RURoRG5CLFlBQ0U7RUFJRjtFQUlBO0VBQ1E7O0FKb01SO0VGNUxBLE9PZmtCOztBRjhNWjtFSEhOO0lGekxFLE9PUXNCOzs7QUx3THhCO0VBRUk7O0FBSUo7RUZ6TUEsT09ma0I7O0FGOE1aO0VIVU47SUZ0TUUsT09Rc0I7Ozs7QWVsQnhCO0VBQ0U7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0VBRUEsT0FuQ2E7RUFvQ2IsUUFwQ2E7RUFzQ2I7RUFFQTtFQUVBO0VBQ0E7RUFDQSxjZlEwQjs7QWVOMUI7RUFyQkY7SUF5Qkk7SUFDQTs7OztBQUlKO0VBQ0UsY2ZnQnNCOzs7QWVieEI7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBcEIrTEY7RUFFRTs7QUFLRjtFQUVFOztBQUdGO0VBQ0UsT0tyTXNCOztBZUR0QjtFQUNFOzs7O0FDekRKO0V2QkxBLGFDRmtCO0VER2xCO0VBQ0E7RUFrQ0E7RUE0TEksV0FKYztFQUtkLGFBSnVCO0VBdk0zQixPT2ZrQjtFZ0JFaEI7RUFDQTs7QWxCMk1JO0VrQmhOTjtJdkJNRSxhQ0hzQjs7O0FJNk1sQjtFa0JoTk47SXZCb09NLFdBYlk7SUFjWixhQWJxQjs7O0FLUnJCO0VrQmhOTjtJdkIrTk0sV0FUUTtJQVVSLGFBUnFCOzs7QUtSckI7RWtCaE5OO0l2Qm9CRSxPT1FzQjs7OztBZ0JwQnhCO0VBR0U7RUFDQTtFQUNBOztBVHhCRjtFQUNFO0VBQ0E7RUFDQTs7O0FTd0JGO0VBQ0U7RUFDQTtFQUVBO0VBSUE7RUFDQTtFQUVBOztBQUdBO0VBQ0U7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUlBO0VBRUEsT0F6RFc7RUEwRFgsUUExRFc7RUE0RFg7RUFFQTtFQUVBO0VBQ0E7RUFDQSxjaEJkd0I7O0FnQmdCeEI7RUF2QkY7SUEyQkk7SUFDQTs7O0FBSUo7RUFDRTtFQUNBOztBQUVBO0VBQ0U7RUFDQTs7O0FBS047RXZCOUVBLGFDRmtCO0VER2xCO0VBQ0E7RUVhQTtFQUdFLDJCQ2hCNkI7RURvQjdCLHVCQ1AwQjs7QUVzTXRCO0VrQnZJTjtJdkJuRUUsYUNIc0I7OztBQ1R4QjtFQXFDRSwyQkNMbUM7RURRbkM7RUFDUTtFQUNSO0VBQ1E7O0FBdkNWO0VJRkE7RUFDQSxPQzREd0I7RUQzRHhCLGtCQ2lEbUI7RURoRG5CLFlBQ0U7RUFJRjtFQUlBO0VBQ1E7O0FKb01SO0VGNUxBLE9PZmtCOztBRjhNWjtFSEhOO0lGekxFLE9PUXNCOzs7QUx3THhCO0VBRUk7O0FBSUo7RUZ6TUEsT09ma0I7O0FGOE1aO0VIVU47SUZ0TUUsT09Rc0I7Ozs7QUZvTGxCO0VrQmhJRjtJQUNFOztFQUVBO0lBRUU7O0VBR0Y7SUFDRTtJQUNBOztFQUlKO0lBQ0U7Ozs7QUFLTjtFQUNFOztBckI0SUY7RUFFRTs7QUFLRjtFQUVFOztBQUdGO0VBQ0UsT0tyTXNCOztBZ0JrRHRCO0VBQ0U7Ozs7QUNuRUo7RXhCOUNBLGFDRmtCO0VER2xCO0VBQ0E7RUFrQ0E7RUE0TEksV0FKYztFQUtkLGFBSnVCO0V3QjVLekI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RWZvQ0k7RWVsQ0o7RUFFQTtFQUNBO0VBQ0EsT0E1RHVCO0VBNkR2QixrQkFwRTZCO0VBcUU3QjtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBbkJrSkk7RW1CdktOO0l4Qm5DRSxhQ0hzQjs7O0FJNk1sQjtFbUJ2S047SXhCMkxNLFdBYlk7SUFjWixhQWJxQjs7O0FLUnJCO0VtQnZLTjtJeEJzTE0sV0FUUTtJQVVSLGFBUnFCOzs7QUtSckI7RW1CdktOO0lmb0RROzs7QUptSEY7RW1CdktOO0lBd0JJOzs7QUFJRjtFQUlFLE9BN0VxQjtFQThFckI7O0FBSUY7RUFDRTtFQUNBOztBQUdGO0VBQ0Usa0JBckV3Qjs7QUF3RTFCO0VBRUUsS0oxQjRCOztBSTZCOUI7RUFDRSxjakI5Q2U7RWlCK0NmO0VBQ0E7O0FBR0Y7RUFDRSxjakJwRGU7RWlCcURmLE9qQjNDb0I7RWlCNENwQixrQmpCdERlO0VpQnVEZjs7QUFRRjtFQUNFO0VBQ0E7RUFFQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7O0FBYUY7RUFDRTs7O0FBSUo7RUFDRTs7QUFFQTtFQUNFLGtCQTFKMkI7RUEySjNCOztBQUdGO0VBQ0U7RUFDQTs7O0FBSUo7RUFDRSxrQkF2SThCO0VBd0k5Qjs7QUFFQTtFQUtFLE9BOUlpQzs7QUFpSm5DO0VBQ0Usa0JBakprQzs7QUFtSmxDO0VBQ0Usa0JBdEowQjs7O0FBMkpoQztFQUNFLGtCQXRKNEI7RUF1SjVCOztBQUVBO0VBS0UsT0E3SitCOztBQWdLakM7RUFDRSxrQkFoS2dDOztBQWtLaEM7RUFDRSxrQkFyS3dCOzs7QUEwSzlCO0VBQ0Usa0JBak1xQztFQWtNckM7O0FBRUE7RUFLRSxPakJqTmU7O0FpQm9OakI7RUFDRSxrQkEvS2dDOztBQWlMaEM7RUFDRSxrQkFoTmlDOzs7QUFxTnZDO0V4Qi9LQTtFQWtMSSxXQUpjO0VBS2QsYUFKdUI7RXdCSXpCO0VBQ0E7RUFFQTs7QW5CZkk7RW1CUU47SXhCWU0sV0FiWTtJQWNaLGFBYnFCOzs7QUtSckI7RW1CUU47SXhCT00sV0FUUTtJQVVSLGFBUnFCOzs7O0F3QlUzQjtFQUNFO0VBS0E7RUFDQTtFQUNBO0VBR0E7O0FuQjdCSTtFbUJrQk47SUFJSTs7Ozs7QUN6UEo7RXpCY0EsYUNGa0I7RURHbEI7RUFDQTtFQTRDQTtFQWtMSSxXQUpjO0VBS2QsYUFKdUI7RXlCeE96QjtFQUNBO0VBQ0E7RUFDQTtFQUVBLE9sQjZFaUI7O0FGOEliO0VvQm5PTjtJekJ5QkUsYUNIc0I7OztBSTZNbEI7RW9Cbk9OO0l6QnVQTSxXQWJZO0lBY1osYUFicUI7OztBS1JyQjtFb0JuT047SXpCa1BNLFdBVFE7SUFVUixhQVJxQjs7Ozs7QTBCM08zQjtFMUJjQSxhQ0ZrQjtFREdsQjtFQUNBO0VBa0NBO0VBNExJLFdBSmM7RUFLZCxhQUp1QjtFMEJ4T3pCO0VBRUEsT25CbUQwQjs7QUYyS3RCO0VxQm5PTjtJMUJ5QkUsYUNIc0I7OztBSTZNbEI7RXFCbk9OO0kxQnVQTSxXQWJZO0lBY1osYUFicUI7OztBS1JyQjtFcUJuT047STFCa1BNLFdBVFE7SUFVUixhQVJxQjs7OztBMEJ6TjNCO0VBQ0U7OztBQWNGO0VBQ0U7OztBQUlGO0VBQ0U7Ozs7QUN2Q0Y7RTNCY0EsYUNGa0I7RURHbEI7RUFDQTtFQWtDQTtFQTRMSSxXQUpjO0VBS2QsYUFKdUI7RUF2TTNCLE9PZmtCO0VvQmpCaEI7RUFFQTs7QXRCNk5JO0VzQm5PTjtJM0J5QkUsYUNIc0I7OztBSTZNbEI7RXNCbk9OO0kzQnVQTSxXQWJZO0lBY1osYUFicUI7OztBS1JyQjtFc0JuT047STNCa1BNLFdBVFE7SUFVUixhQVJxQjs7O0FLUnJCO0VzQm5PTjtJM0J1Q0UsT09Rc0I7Ozs7QW9CckN4QjtBQUFBO0FBQUE7RTNCa0RBO0UyQjlDRTs7O0FBR0Y7RTNCNk5JLFdBSmM7RUFLZCxhQUp1Qjs7QUtSckI7RXNCbE5OO0kzQnNPTSxXQWJZO0lBY1osYUFicUI7OztBS1JyQjtFc0JsTk47STNCaU9NLFdBVFE7SUFVUixhQVJxQjs7OztBMkJ0TjNCO0UzQnlOSSxXQUpjO0VBS2QsYUFKdUI7O0FLUnJCO0VzQjlNTjtJM0JrT00sV0FiWTtJQWNaLGFBYnFCOzs7QUtSckI7RXNCOU1OO0kzQjZOTSxXQVRRO0lBVVIsYUFScUI7Ozs7QTJCbE4zQjtFM0JxTkksV0FKYztFQUtkLGFBSnVCOztBS1JyQjtFc0IxTU47STNCOE5NLFdBYlk7SUFjWixhQWJxQjs7O0FLUnJCO0VzQjFNTjtJM0J5Tk0sV0FUUTtJQVVSLGFBUnFCOzs7O0EyQjlNM0I7RTNCK0JBOzs7QTJCckJBO0VBQ0U7Ozs7Ozs7QUNwQ0Y7RTVCVUEsYUNGa0I7RURHbEI7RUFDQTtFQWtDQTtFQTRMSSxXQUpjO0VBS2QsYUFKdUI7RTRCcE96QjtFQUNBO0VBQ0E7RUFDQTtFbkIrRkk7RW1CN0ZKO0VBRUE7RUFFQTtFQUNBO0VBRUE7O0F2QmdOSTtFdUIvTk47STVCcUJFLGFDSHNCOzs7QUk2TWxCO0V1Qi9OTjtJNUJtUE0sV0FiWTtJQWNaLGFBYnFCOzs7QUtSckI7RXVCL05OO0k1QjhPTSxXQVRRO0lBVVIsYUFScUI7OztBS1JyQjtFdUIvTk47SW5CNEdROzs7QW1CM0ZOO0VBQ0U7RUFFQTtFQUlBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUlKO0VBQ0UsY3JCNkNpQjs7QXFCM0NqQjtFQUNFLGNyQnFFc0I7Ozs7QXNCM0cxQjtFcEJvR007O0FKMEhBO0V3QjlOTjtJcEIyR1E7OztBb0J4R047QUFBQTtFQUVFOzs7QUFJSjtFN0IrREE7RTZCN0RFO0VBQ0E7O0FBRUE7RUFNRTs7O0FBSUo7RUFDRTs7Ozs7QUM5QkY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QWhCSUY7RUFDRTtFQUNBO0VBQ0E7OztBZ0JERjtFQUNFO0FBQUE7SUFFRTs7O0FBS0o7RTlCSkEsYUNGa0I7RURHbEI7RUFDQTtFQWtDQTtFQTRMSSxXQUpjO0VBS2QsYUFKdUI7RUF2TTNCLE9PZmtCO0V1QkloQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7O0F6Qm9NSTtFeUJqTk47STlCT0UsYUNIc0I7OztBSTZNbEI7RXlCak5OO0k5QnFPTSxXQWJZO0lBY1osYUFicUI7OztBS1JyQjtFeUJqTk47STlCZ09NLFdBVFE7SUFVUixhQVJxQjs7O0FLUnJCO0V5QmpOTjtJOUJxQkUsT09Rc0I7Ozs7QXVCWnhCO0FBQUE7QUFBQTtFOUJ5QkE7RThCckJFOzs7QUFHRjtFOUJvTUksV0FKYztFQUtkLGFBSnVCOztBS1JyQjtFeUJ6TE47STlCNk1NLFdBYlk7SUFjWixhQWJxQjs7O0FLUnJCO0V5QnpMTjtJOUJ3TU0sV0FUUTtJQVVSLGFBUnFCOzs7O0E4QjdMM0I7RTlCZ01JLFdBSmM7RUFLZCxhQUp1Qjs7QUtSckI7RXlCckxOO0k5QnlNTSxXQWJZO0lBY1osYUFicUI7OztBS1JyQjtFeUJyTE47STlCb01NLFdBVFE7SUFVUixhQVJxQjs7OztBOEJ6TDNCO0U5QjRMSSxXQUpjO0VBS2QsYUFKdUI7O0FLUnJCO0V5QmpMTjtJOUJxTU0sV0FiWTtJQWNaLGFBYnFCOzs7QUtSckI7RXlCakxOO0k5QmdNTSxXQVRRO0lBVVIsYUFScUI7Ozs7QThCckwzQjtFOUJNQTs7O0E4QkFBO0VBQ0U7RUFDQTtFQUNBOzs7Ozs7QUNuREY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUFHRjtFQUdFO0VBQ0EsT0FyQndCO0VBc0J4QixRQXRCd0I7RUF1QnhCO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQU1BO0VBQ0E7RUFDQTtFQUNBO0VBRUE7OztBQUlGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLE9BbkRzQjtFQW9EdEIsUUFwRHNCO0VBcUR0QjtFQUNBOzs7QUFPRjtFQUNFO0VBQ0E7RUFDQTtFQUlBO0VBQ0EsTUFqRXlDO0VBa0V6QztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBLGVBbkYwQztFQW9GMUM7OztBQU1GO0VBQ0U7OztBQUlGO0VBQ0U7RUFNQTtFQUNBO0VBUUE7O0FBSkE7RUFaRjtJQWFJOzs7O0FBT0o7RUFDRTs7O0FBSUY7QUFBQTtFQUVFOzs7QUFHRjtBQUFBO0VBRUU7OztBQU9GO0UvQmpJQSxhQ0ZrQjtFREdsQjtFQUNBO0VBa0NBO0VBNExJLFdBSmM7RUFLZCxhQUp1QjtFQXZNM0IsT09ma0I7RXdCOEhoQixPQTdJc0I7RUE4SXRCO0VBQ0E7O0ExQjhFSTtFMEJwRk47SS9CdEhFLGFDSHNCOzs7QUk2TWxCO0UwQnBGTjtJL0J3R00sV0FiWTtJQWNaLGFBYnFCOzs7QUtSckI7RTBCcEZOO0kvQm1HTSxXQVRRO0lBVVIsYUFScUI7OztBS1JyQjtFMEJwRk47SS9CeEdFLE9PUXNCOzs7O0F3QnVIeEI7RXRCN0RNO0VzQitESixhQVIyQjtFQVMzQixjQUx5QjtFQU16Qjs7QTFCeURJO0UwQjdETjtJdEJ0RFE7OztBc0I0RE47RUFDRTs7QUFHRjtFQUNFOzs7QUFXRjtFQUNFOztBQVlGO0VBQ0U7O0FBR0Y7RUFHRTs7QUFRRjtFQUNFLEtBL0JhO0VBZ0NiO0VBQ0EsT0FuTjBCO0VBb04xQixRQXBOMEI7O0FBME41QjtFQUNFO0VBSUE7RUFDQTtFQUNBO0VBQ0E7O0FBV0Y7RUFDRTs7QUFJRjtFQUVFLGFBRGM7RUFFZDs7QUFHRjtFQUNFLE9BelAwQjtFQTBQMUI7O0FBU0Y7RUFHRTtFQUNBO0VBQ0E7O0FBUUY7RUFNRSxZQUNFOztBQUxGO0VBRkY7SUFHSTs7O0FBY0o7RUFDRTtJQUNFOztFQUdGO0lBQ0U7Ozs7O0FDNVNOO0VBQ0U7RUFNQTtFQUVBLGtCekJtQjZCOzs7QXlCZC9CO0VBQ0U7OztBQUdGO0VBRUU7O0FBRUE7RUFJRTs7QUFHRjtFQWNFOzs7Ozs7OztBQzFDSjtFakNVQSxhQ0ZrQjtFREdsQjtFQUNBO0VBa0NBO0VBNExJLFdBSmM7RUFLZCxhQUp1QjtFaUNwT3pCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFLQTtFQUNBO0VBR0E7RUFDUTs7QTVCOE1KO0U0Qi9OTjtJakNxQkUsYUNIc0I7OztBSTZNbEI7RTRCL05OO0lqQ21QTSxXQWJZO0lBY1osYUFicUI7OztBS1JyQjtFNEIvTk47SWpDOE9NLFdBVFE7SUFVUixhQVJxQjs7O0FpQ3BOekI7RUFDRTtFQUVBO0VBTUE7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUo7QUFBQTtFQUVFO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0UsYzFCK0JpQjs7QTBCN0JqQjtFQUNFLGMxQnVEc0I7OztBMEJuRDFCO0VqQ2dCQTtFaUNkRTs7O0FBTUY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7QUFFQTtFQUNFOztBQUdGO0VBRUU7O0E1QnlIRTtFNEJsSU47SUFjSTs7RUFFQTtJQUVFOzs7O0FBS047QUFBQTtFakMxR0EsYUNGa0I7RURHbEI7RUFDQTtFQWtDQTtFQTRMSSxXQUpjO0VBS2QsYUFKdUI7RWlDaEh6QjtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTs7QTVCMEZJO0U0QjNHTjtBQUFBO0lqQy9GRSxhQ0hzQjs7O0FJNk1sQjtFNEIzR047QUFBQTtJakMrSE0sV0FiWTtJQWNaLGFBYnFCOzs7QUtSckI7RTRCM0dOO0FBQUE7SWpDMEhNLFdBVFE7SUFVUixhQVJxQjs7O0FLUnJCO0U0QjNHTjtBQUFBO0lBb0JJO0lBQ0E7SUFDQTs7OztBNUJxRkU7RTRCakZOO0lBRUk7OztBNUIrRUU7RTRCakZOO0lBS0k7Ozs7QTVCNEVFO0U0QnZFTjtJQUVJOzs7QTVCcUVFO0U0QnZFTjtJQUtJOzs7Ozs7O0FDNUpKO0VBRUU7O0FwQkNGO0VBQ0U7RUFDQTtFQUNBOzs7QW9CREY7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7Ozs7QUNyQkY7RW5DY0EsYUNGa0I7RURHbEI7RUFDQTtFQWtDQTtFQTRMSSxXQUpjO0VBS2QsYUFKdUI7RUF2TTNCLE9PZmtCO0VFb0ZaO0UwQnBHSjs7QTlCOE5JO0U4Qm5PTjtJbkN5QkUsYUNIc0I7OztBSTZNbEI7RThCbk9OO0luQ3VQTSxXQWJZO0lBY1osYUFicUI7OztBS1JyQjtFOEJuT047SW5Da1BNLFdBVFE7SUFVUixhQVJxQjs7O0FLUnJCO0U4Qm5PTjtJbkN1Q0UsT09Rc0I7OztBRm9MbEI7RThCbk9OO0kxQmdIUTs7OztBMEJ4R1I7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBSUE7RUFDRTs7QUFHRjtBQUFBO0VBRUU7OztBQUlKO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7OztBQU1GO0VBQ0U7SUFDRTs7RUFHRjtJQUNFOztFQUdGO0luQ01GO0lTNkNNO0kwQmhERjs7O0E5QjBLRTtFOEI3S0o7STFCMERNOzs7QTBCM0NSO0VBQ0U7SUFFRTtJQUdBO0lBQ0E7SUFHQTtJQUdBLE81QmtEYztJNEJqRGQ7O0VBRUE7SUFDRSxPNUI0RGtCOztFNEJ6RHBCO0k3QjFFSjtJQUNBLE9DNER3QjtJRDNEeEIsa0JDaURtQjtJRGhEbkIsWUFDRTtJQUlGO0lBSUE7SUFDUTs7RTZCa0VOO0lqQ2pFRjtJQUdFLDJCQ2hCNkI7SURvQjdCLHVCQ1AwQjs7RWdDcUUxQjtJakNoREEsMkJDTG1DO0lEUW5DO0lBQ1E7SUFDUjtJQUNROztFaUMrQ1I7SUFDRTs7RUFLRjtJQUNFOztFQUlGO0lBQ0U7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lDckZKLFNBRG1FO0lBR25FO0lBQ0E7SUFFQTtJQUNBO0lBZUU7SUFDUTtJQUVSO0lBQ0E7O0VEZ0VFO0lDekZKLFNBRG1FO0lBR25FO0lBQ0E7SUFFQTtJQUNBO0lBcUJFO0lBQ1E7SUFFUjtJQUNBOztFRCtEQTtJQUNFOzs7Ozs7QUVsSUo7RXJDWUEsYUNGa0I7RURHbEI7RUFDQTtFQWtDQTtFQTRMSSxXQUpjO0VBS2QsYUFKdUI7RUF2TTNCLE9PZmtCO0VFa0ZaO0VBRUE7RTRCakdKOztBaEMyTkk7RWdDak9OO0lyQ3VCRSxhQ0hzQjs7O0FJNk1sQjtFZ0NqT047SXJDcVBNLFdBYlk7SUFjWixhQWJxQjs7O0FLUnJCO0VnQ2pPTjtJckNnUE0sV0FUUTtJQVVSLGFBUnFCOzs7QUtSckI7RWdDak9OO0lyQ3FDRSxPT1FzQjs7O0FGb0xsQjtFZ0NqT047STVCNEdROzs7QUpxSEY7RWdDak9OO0k1QjhHUTs7O0E0QnRHTjtFQUNFOzs7QUFJSjtFckMrTkksV0FKYztFQUtkLGFBSnVCO0VBL0szQjtFcUN6Q0U7RTVCc0ZJOztBSjBIQTtFZ0NwTk47SXJDd09NLFdBYlk7SUFjWixhQWJxQjs7O0FLUnJCO0VnQ3BOTjtJckNtT00sV0FUUTtJQVVSLGFBUnFCOzs7QUtSckI7RWdDcE5OO0k1QmlHUTs7OztBNEJ4Rk47RUFDRTs7QUFHRjtFNUI2RUk7O0FKMEhBO0VnQ3ZNSjtJNUJvRk07OztBNEJoRk47RTVCeUVJOzs7QTRCbkVOO0VBQ0U7OztBQUlGO0VBQ0U7OztBQUdGO0VyQ2FBO0VBOUNBLGFDRmtCO0VER2xCO0VBQ0E7RUVhQTtFQUdFLDJCQ2hCNkI7RURvQjdCLHVCQ1AwQjs7QUVzTXRCO0VnQ3BMTjtJckN0QkUsYUNIc0I7OztBQ1R4QjtFQXFDRSwyQkNMbUM7RURRbkM7RUFDUTtFQUNSO0VBQ1E7O0FBdkNWO0VJRkE7RUFDQSxPQzREd0I7RUQzRHhCLGtCQ2lEbUI7RURoRG5CLFlBQ0U7RUFJRjtFQUlBO0VBQ1E7O0FKd0ZSO0VBRUUsT0tqQ2lCOztBTG9DbkI7RUFDRTs7QUFHRjtFQUNFLE9LekNpQjs7QUw4Q25CO0VBQ0UsT0t4RHNCOzs7OztBK0J4RXhCO0U3QnFHTTtFNkJuR0o7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBakN3Tkk7RWlDL05OO0k3QjRHUTs7O0FKbUhGO0VpQy9OTjtJQVVJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7Ozs7QUFJSjtFQUNFOzs7QUFHRjtFN0I2RU07RTZCM0VKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0EsT0F6Q2U7RUEwQ2YsUUExQ2U7RUEyQ2Y7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtJQUNFOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFXQTtFQUNFOztBQUdGO0VBQ0U7Ozs7Ozs7O0FDL0VKO0V2Q1FBLGFDRmtCO0VER2xCO0VBQ0E7RUFrQ0E7RUE0TEksV0FKYztFQUtkLGFBSnVCO0VBdk0zQixPT2ZrQjtFZ0NaaEI7RUFDQTtFQUNBLFNBUGtCOztBbEMrTmQ7RWtDN05OO0l2Q21CRSxhQ0hzQjs7O0FJNk1sQjtFa0M3Tk47SXZDaVBNLFdBYlk7SUFjWixhQWJxQjs7O0FLUnJCO0VrQzdOTjtJdkM0T00sV0FUUTtJQVVSLGFBUnFCOzs7QUtSckI7RWtDN05OO0l2Q2lDRSxPT1FzQjs7O0FnQzlCdEI7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUlBOztBQVFGO0VBQ0U7RUFFQTs7QUFHRjtFQUNFO0VBQ0E7Ozs7QUNwQ0o7RXhDTUEsYUNGa0I7RURHbEI7RUFDQTtFQWtDQTtFQTRMSSxXQUpjO0VBS2QsYUFKdUI7RVNsSXJCO0VBQUE7RStCNUZKO0VBQ0EsT2pDT2dCO0VpQ05oQixZakNnQjZCOztBRm9NekI7RW1DM05OO0l4Q2lCRSxhQ0hzQjs7O0FJNk1sQjtFbUMzTk47SXhDK09NLFdBYlk7SUFjWixhQWJxQjs7O0FLUnJCO0VtQzNOTjtJeEMwT00sV0FUUTtJQVVSLGFBUnFCOzs7QUtSckI7RW1DM05OO0kvQndHUTs7O0FKbUhGO0VtQzNOTjtJL0J3R1E7Ozs7QStCOUZSO0V4Q0pBLGFDRmtCO0VER2xCO0VBQ0E7RUVhQTtFQUdFLDJCQ2hCNkI7RURvQjdCLHVCQ1AwQjs7QUVzTXRCO0VtQ2pOTjtJeENPRSxhQ0hzQjs7O0FDVHhCO0VBcUNFLDJCQ0xtQztFRFFuQztFQUNRO0VBQ1I7RUFDUTs7QUF2Q1Y7RUlGQTtFQUNBLE9DNER3QjtFRDNEeEIsa0JDaURtQjtFRGhEbkIsWUFDRTtFQUlGO0VBSUE7RUFDUTs7QUpvTVI7RUY1TEEsT09ma0I7O0FGOE1aO0VISE47SUZ6TEUsT09Rc0I7OztBTHdMeEI7RUFFSTs7QUFJSjtFRnpNQSxPT2ZrQjs7QUY4TVo7RUhVTjtJRnRNRSxPT1FzQjs7OztBaUN4QnhCO0VBQ0U7RS9CaUZJO0UrQi9FSjtFQUNBOztBbkN3TUk7RW1DNU1OO0kvQnlGUTs7OztBK0JsRlI7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0UsY3BCVWdCO0VvQlRoQjtFQUNBLGFwQlFnQjs7O0FvQkxsQjtFQUNFOztBbkNxTEk7RW1DdExOO0lBR0k7Ozs7QUFJSjtFQUNFO0VBQ0E7RUFJQTtFQUdBOztBbkNzS0k7RW1DL0tOO0lBSUk7Ozs7QUFRSjtFQUVFO0VBR0E7OztBQUdGO0VBQ0U7RUFDQSxXQXJFK0I7RUFzRS9CO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUtBOztBbkN3SEk7RW1DL0hOO0lBS0k7Ozs7QUFLSjtFQUVFO0VBQ0E7O0ExQnpHRjtFQUNFO0VBQ0E7RUFDQTs7O0EwQnlHRjtFQUNFO0VBQ0EsZXBCM0VXO0VvQjRFWDs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQSxZcEJuRlc7OztBZndMUDtFbUNqR0o7SUFDRTs7RUFHRjtJQUNFOzs7QUFJSjtFL0JsQ007O0FKMEhBO0VtQ3hGTjtJL0IzQlE7Ozs7QStCK0JSO0VBQ0U7Ozs7QUNsSUY7RXpDQUEsYUNGa0I7RURHbEI7RUFDQTtFQWtDQTtFQTRMSSxXQUpjO0VBS2QsYUFKdUI7RXlDMU56QjtFQUNBLE9BZmtCO0VBZ0JsQixZQW5Cd0I7O0FwQ21PcEI7RW9Dck5OO0l6Q1dFLGFDSHNCOzs7QUk2TWxCO0VvQ3JOTjtJekN5T00sV0FiWTtJQWNaLGFBYnFCOzs7QUtSckI7RW9Dck5OO0l6Q29PTSxXQVRRO0lBVVIsYUFScUI7Ozs7QXlDck4zQjtFQUNFO0VBQ0EsY2xDVmlCOztBa0NZakI7RUFDRTs7O0FBSUo7RUFFRTtFQUNBO0VBQ0E7RUFDQTs7QTNCNUJGO0VBQ0U7RUFDQTtFQUNBOzs7QTJCNEJGO0VBQ0UscUJsQzFCaUI7O0FrQzRCakI7RUFDRTs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFJQTtFQUNBO0VBQ0E7O0FBSUE7RUFiRjtJQWNJO0lBQ0E7OztBQUtGO0VBQ0U7OztBQUlKO0V6Q3NLSSxXQUpjO0VBS2QsYUFKdUI7RUF6TDNCO0V5QzRCRTtFQUdBLFlBUnNCO0VBaUJ0Qjs7QXBDeUlJO0VvQzNKTjtJekMrS00sV0FiWTtJQWNaLGFBYnFCOzs7QUtSckI7RW9DM0pOO0l6QzBLTSxXQVRRO0lBVVIsYUFScUI7OztBeUN0SnpCO0VBYkY7SUFjSTs7O0FwQzZJRTtFb0MzSk47SUFxQkksWUFuQjJCOztFQW9CM0I7SUF0Qko7TUF1Qk07Ozs7O0FBS047RUFVRTs7QXZDc0pGO0VBRUU7O0FBS0Y7RUFFRTs7QUFHRjtFQUNFLE9Lck1zQjs7QWtDb0N0QjtFQUNFO0VBQ0EsMkJBNUdvQztFQStHbEMsdUJ0Q3hGc0I7O0FzQzRGMUI7RW5DMUdGO0VBQ0EsT0M0RHdCO0VEM0R4QixrQkNpRG1CO0VEaERuQixZQUNFO0VBSUY7RUFJQTtFQUNROzs7QW1Da0dSO0VBR0U7RUFDQTtFQUNBOztBcENnR0k7RW9DckdOO0lBUUk7O0VBRUE7SUFHRTs7O0FBSUo7RUFFRTs7QUFHRjtFQUdFO0VBQ0E7O0FBSUY7RUFDRTtFQUNBOzs7QUFJSjtFQUNFO0VBQ0E7RXpDMEVFLFdBSmM7RUFLZCxhQUp1QjtFQS9LM0I7O0FLdUtNO0VvQ2pFTjtJekNxRk0sV0FiWTtJQWNaLGFBYnFCOzs7QUtSckI7RW9DakVOO0l6Q2dGTSxXQVRRO0lBVVIsYUFScUI7Ozs7QXlDbEUzQjtBQUFBO0VBRUU7OztBQUdGO0VoQ3JFTTtFZ0N5RUosZUF0SytCOztBcEN1TjNCO0VvQ3JETjtJQU9JO0lBQ0EsZXJCcEljO0lxQnFJZDtJQUNBOztFQUdBO0lBQ0U7SUFDQTtJQUNBOzs7O0FwQ3FDQTtFb0NoQ047SUFFSTtJQUNBLGNyQnBKYztJcUJxSmQ7Ozs7QUFJSjtFekM3TEEsYUNGa0I7RURHbEI7RUFDQTtFQWtDQTtFQTRMSSxXQUpjO0VBS2QsYUFKdUI7RXlDOUJ6QjtFQU1BO0VBRUE7RUFDQSxXQTFNK0I7RUEyTS9CLFlBNU1nQztFQTZNaEM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FwQ0tJO0VvQ3hCTjtJekNsTEUsYUNIc0I7OztBSTZNbEI7RW9DeEJOO0l6QzRDTSxXQWJZO0lBY1osYUFicUI7OztBS1JyQjtFb0N4Qk47SXpDdUNNLFdBVFE7SUFVUixhQVJxQjs7O0F5Q1h6QjtFQUNFO0VBQ1E7RUFHTix1QnRDeE1zQjs7QXNDNE0xQjtFbkMxTkY7RUFDQSxPQzREd0I7RUQzRHhCLGtCQ2lEbUI7RURoRG5CLFlBQ0U7RUFJRjtFQUlBO0VBQ1E7O0FtQ2lOTjtFTHhNRixTS3lNd0U7RUx2TXhFO0VBQ0E7RUFFQTtFQUNBO0VBcUJFO0VBQ1E7RUFFUjtFQUNBO0VLMktFO0VBQ0E7O0FBR0Y7RUw5TUYsU0srTXNFO0VMN010RTtFQUNBO0VBRUE7RUFDQTtFQVNFO0VBQ1E7RUFFUjtFQUNBOztBL0IyS0k7RW9DeEJOO0lBNkNJOzs7QUFHRjtFQUNFOztBQUdGO0VBRUU7OztBcEM5QkU7RW9Da0NOO0lBRUk7Ozs7QUFJSjtFQUVFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOzs7QXBDL0NFO0VvQ21ETjtJQUVJO0lBQ0E7SUFDQTs7OztBQUlKO0VBQ0U7RUFDQTs7QXBDN0RJO0VvQzJETjtJQUtJO0lBQ0E7SUFDQTtJQUNBOzs7QUFHRjtFekMzREUsV0FKYztFQUtkLGFBSnVCO0VBL0szQjtFeUNnUEk7O0FwQ3pFRTtFb0NzRUo7SXpDbERJLFdBYlk7SUFjWixhQWJxQjs7O0FLUnJCO0VvQ3NFSjtJekN2REksV0FUUTtJQVVSLGFBUnFCOzs7O0F5Q3VFdkI7RUFHRSxPQWpUcUI7O0FwQytOckI7RW9DOEVKO0lBVUksT2xDN1NhOzs7QWtDa1RmO0VBQ0UsT2xDclBrQjs7O0FrQzBQeEI7RUFDRTtFQUNBOzs7QXBDckdJO0VvQ3lHSjtJQUNFO0lBQ0E7SUFDQTs7RUFJQTtJQUVFOztFQUlGO0lBQ0U7Ozs7Ozs7OztBQzFWTjtFMUNjQSxhQ0ZrQjtFREdsQjtFQUNBO0VBa0NBO0VBNExJLFdBSmM7RUFLZCxhQUp1QjtFQXZNM0IsT09ma0I7RW1DbEJoQjtFakNzR0k7RUFBQTtFaUNoR0o7RUFFQTs7QXJDd05JO0VxQ25PTjtJMUN5QkUsYUNIc0I7OztBSTZNbEI7RXFDbk9OO0kxQ3VQTSxXQWJZO0lBY1osYUFicUI7OztBS1JyQjtFcUNuT047STFDa1BNLFdBVFE7SUFVUixhQVJxQjs7O0FLUnJCO0VxQ25PTjtJMUN1Q0UsT09Rc0I7OztBRm9MbEI7RXFDbk9OO0lqQ2dIUTs7O0FKbUhGO0VxQ25PTjtJakNnSFE7OztBaUNuR047RUFDRTs7QUFHRjtBQUFBO0VBRUU7Ozs7O0FDbkJKO0UzQ2NBLGFDRmtCO0VER2xCO0VBQ0E7RUFrQ0E7RUE0TEksV0FKYztFQUtkLGFBSnVCO0VTbElyQjtFa0NyR0o7RUFFQSxrQnBDUWlCOztBRnFOYjtFc0NuT047STNDeUJFLGFDSHNCOzs7QUk2TWxCO0VzQ25PTjtJM0N1UE0sV0FiWTtJQWNaLGFBYnFCOzs7QUtSckI7RXNDbk9OO0kzQ2tQTSxXQVRRO0lBVVIsYUFScUI7OztBS1JyQjtFc0NuT047SWxDZ0hROzs7QWtDeEdOO0VBQ0U7OztBQUlKO0VBQ0U7RUFJQTs7QXRDaU5JO0VzQ3ROTjtJQVFJOzs7O0FBSUo7RTNDcU5JLFdBSmM7RUFLZCxhQUp1QjtFQS9LM0I7RTJDOUJFO0VBQ0E7RUFDQTs7QXRDbU1JO0VzQzFNTjtJM0M4Tk0sV0FiWTtJQWNaLGFBYnFCOzs7QUtSckI7RXNDMU1OO0kzQ3lOTSxXQVRRO0lBVVIsYUFScUI7Ozs7QTJDeE0zQjtFM0NDQSxPT2ZrQjtFb0NpQmhCO0VBRUEsa0JwQ0YyQjs7QUY2THZCO0VzQ2hNTjtJM0NJRSxPT1FzQjs7O0FGb0xsQjtFc0NoTU47SUFRSSxTQVBlOzs7QUFZakI7RUFHRTtFQU9BOztBQUdGO0VBQ0U7OztBQUlKO0UzQzRLSSxXQUpjO0VBS2QsYUFKdUI7RUEvSzNCO0UyQ1VFO0VBRUE7O0F0QzJKSTtFc0NqS047STNDcUxNLFdBYlk7SUFjWixhQWJxQjs7O0FLUnJCO0VzQ2pLTjtJM0NnTE0sV0FUUTtJQVVSLGFBUnFCOzs7O0EyQ2hLM0I7RTNDN0RBLGFDRmtCO0VER2xCO0VBQ0E7RUVhQTtFQUdFLDJCQ2hCNkI7RURvQjdCLHVCQ1AwQjs7QUVzTXRCO0VzQ3hKTjtJM0NsREUsYUNIc0I7OztBQ1R4QjtFQXFDRSwyQkNMbUM7RURRbkM7RUFDUTtFQUNSO0VBQ1E7O0FBdkNWO0VJRkE7RUFDQSxPQzREd0I7RUQzRHhCLGtCQ2lEbUI7RURoRG5CLFlBQ0U7RUFJRjtFQUlBO0VBQ1E7O0FKOFFSO0VBQ0UsT0t2S2dCOztBTDBLbEI7RUFDRSxPSzNLZ0I7O0FMOEtsQjtFQUNFLE9LaktzQjs7QUxvS3hCO0VBQ0UsT0s5SnVCOztBTG1LekI7RUFDRSxPS2pQc0I7OztBb0NJeEI7RUFDRSxjcENhbUI7RW9DWG5CLGtCcENXbUI7O0FMMkRyQjtFQUVFLE9LN0RtQjs7QUxnRXJCO0VBQ0U7O0FBR0Y7RUFDRSxPS3JFbUI7O0FMMEVyQjtFQUNFLE9LN0ZzQjs7OztBcUMxRXhCO0VuQ3VHTTtFbUNyR0o7RUFDQTtFQUNBO0VBQ0E7O0F2QzROSTtFdUNqT047SW5DOEdROzs7QUptSEY7RXVDak9OO0lBUUk7SUFDQTs7OztBQUlKO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7RTVDUEEsYUNGa0I7RURHbEI7RUFDQTtFQWtDQTtFQTRMSSxXQUpjO0VBS2QsYUFKdUI7RTRDbE56QjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0F2Q3FNSTtFdUM5TU47QUFBQTtBQUFBO0k1Q0lFLGFDSHNCOzs7QUk2TWxCO0V1QzlNTjtBQUFBO0FBQUE7STVDa09NLFdBYlk7SUFjWixhQWJxQjs7O0FLUnJCO0V1QzlNTjtBQUFBO0FBQUE7STVDNk5NLFdBVFE7SUFVUixhQVJxQjs7O0E0QzNNekI7QUFBQTtBQUFBO0VBQ0U7OztBQUlKO0VBR0U7RUFJQTs7QXZDdUxJO0V1QzlMTjtJQVVJOzs7O0FBSUo7QUFBQTtFNUNTQTs7QTRDSEU7QUFBQTtFQUNFO0VBQ0E7OztBQUlKO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUlGO0FBQUE7QUFBQTtBQUFBO0VBSUU7OztBQUdGO0U1Q25CQTtFNENxQkU7RUFDQSxrQnJDa0RnQjs7QXFDaERoQjtFQUNFLGtCckMrQ2M7O0FMZ0lsQjtFQUVFOztBQUtGO0VBRUU7O0FBR0Y7RUFDRSxPS3JNc0I7OztBcUNpQnhCO0U1Q2pDQTtFNENtQ0UsT3JDdkMwQjs7QXFDMEMxQjtFQUNFOzs7QUFJSjtFQUNFO0VBQ0E7O0FBR0E7RUFDRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7O0FBUUY7RTFDOUZKO0VBR0UsMkJDaEI2QjtFRG9CN0IsdUJDUDBCOztBeUNrR3hCO0FBQUE7QUFBQTtFMUM3RUYsMkJDTG1DO0VEUW5DO0VBQ1E7RUFDUjtFQUNROztBMEM4RU47RUFDRSxPckMzRGtCOztBcUM4RHBCO0VBQ0U7O0FBR0Y7RUFDRTs7O0FBS047RTVDbEdBO0VFckJBO0VBR0UsMkJDaEI2QjtFRG9CN0IsdUJDUDBCO0V5QzBIMUI7OztBQUdGO0VBRUU7RUFDQTtFQUNBLE9yQ3RHMEI7RXFDdUcxQjtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFJRjtFQUNFOztBQUVBO0FBQUE7RUFFRTtFQUNBOztBQUVBO0FBQUE7RUFDRTs7QUFJSjtFQUNFOztBQUlGO0VBQ0U7O0FBT0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFFQTtFQUNFOztBQUlKO0VBT0U7RUFDQTtFQUNBOzs7O0FDN05KO0U3Q2NBLGFDRmtCO0VER2xCO0VBQ0E7RUFrQ0E7RUE0TEksV0FKYztFQUtkLGFBSnVCO0U2Q3hPekI7RUFFQTtFQUNBO0VBRUE7RUFFQTs7QXhDeU5JO0V3Q25PTjtJN0N5QkUsYUNIc0I7OztBSTZNbEI7RXdDbk9OO0k3Q3VQTSxXQWJZO0lBY1osYUFicUI7OztBS1JyQjtFd0NuT047STdDa1BNLFdBVFE7SUFVUixhQVJxQjs7O0FLUnJCO0V3Q25PTjtJQWFJO0lBYUE7SUFHQTs7OztBQUlKO0VBQ0U7RUFDQTs7QXhDZ01JO0V3Q2xNTjtJQUtJO0lBQ0EsT3RDUW9CO0lzQ1BwQjs7OztBQUlKO0U3Q2tNSSxXQUpjO0VBS2QsYUFKdUI7RUEvSzNCO0U2Q2JFO0VBQ0E7O0F4Q21MSTtFd0N2TE47STdDMk1NLFdBYlk7SUFjWixhQWJxQjs7O0FLUnJCO0V3Q3ZMTjtJN0NzTU0sV0FUUTtJQVVSLGFBUnFCOzs7O0E2Q3hMM0I7RUFDRTs7Ozs7Ozs7O0F4QytLSTtFeUNoT047SUFPSTtJQUtBOzs7O0FBVUY7RUFDRTs7O0FBSUo7RUFFRTtFQUdBOztBQUdBO0VBQ0U7O0F6QzRMRTtFeUNyTU47SUFjSTtJQUNBO0lBQ0E7SUFHQTtJQUNBOzs7OztBQ2hESjtFL0NZQSxhQ0ZrQjtFREdsQjtFQUNBO0VBa0NBO0VBNExJLFdBSmM7RUFLZCxhQUp1QjtFK0N0T3pCO0VBTUEsV0FYb0I7RUFtQnBCO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBMUNzTUk7RTBDak9OO0kvQ3VCRSxhQ0hzQjs7O0FJNk1sQjtFMENqT047SS9DcVBNLFdBYlk7SUFjWixhQWJxQjs7O0FLUnJCO0UwQ2pPTjtJL0NnUE0sV0FUUTtJQVVSLGFBUnFCOzs7QStDcE16QjtFQXJDRjtJQXNDSTs7OztBQUlKO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7OztBQ3pGRjtFQUNFO0VBQ0E7RUFFQTs7O0FBR0Y7RWhES0EsYUNGa0I7RURHbEI7RUFDQTtFQWtDQTtFQTRMSSxXQUpjO0VBS2QsYUFKdUI7RUF2TTNCLE9PZmtCO0V5Q1JoQjtFQUNBOztBM0NxTkk7RTJDMU5OO0loRGdCRSxhQ0hzQjs7O0FJNk1sQjtFMkMxTk47SWhEOE9NLFdBYlk7SUFjWixhQWJxQjs7O0FLUnJCO0UyQzFOTjtJaER5T00sV0FUUTtJQVVSLGFBUnFCOzs7QUtSckI7RTJDMU5OO0loRDhCRSxPT1FzQjs7OztBeUM5QnhCO0VoRDZOSSxXQUpjO0VBS2QsYUFKdUI7RWdEeE56Qjs7QTNDZ05JO0UyQ2xOTjtJaERzT00sV0FiWTtJQWNaLGFBYnFCOzs7QUtSckI7RTJDbE5OO0loRGlPTSxXQVRRO0lBVVIsYUFScUI7Ozs7QWdEL00zQjtFQUNFO0VBQ0E7Ozs7Ozs7O0FDZkY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUFHRjtFQUdFO0VBQ0EsT0F4QndCO0VBeUJ4QixRQXpCd0I7RUEwQnhCO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQU1BO0VBQ0E7RUFDQTtFQUNBO0VBRUE7OztBQUlGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLE9BdERrQjtFQXVEbEIsUUF2RGtCO0VBd0RsQjtFQUNBO0VBQ0E7OztBQU9GO0VBR0U7RUFDQTtFQUtBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsZUFyRnNDO0VBc0Z0Qzs7O0FBTUY7RUFDRTs7O0FBSUY7RUFDRTtFQU1BO0VBQ0E7RUFRQTs7QUFKQTtFQVpGO0lBYUk7Ozs7QUFPSjtFQUNFOzs7QUFJRjtBQUFBO0VBRUU7OztBQUdGO0FBQUE7RUFFRTs7O0E1Q3lGSTtFNENsRk47SUFFSTtJQUNBO0lBQ0E7O0VBRUE7SUFDRTs7OztBQVNOO0VqRG5KQSxhQ0ZrQjtFREdsQjtFQUNBO0VBa0NBO0VBNExJLFdBSmM7RUFLZCxhQUp1QjtFQXZNM0IsT09ma0I7RTBDZ0poQixPQS9Ka0I7RUFnS2xCO0VBQ0E7O0E1QzRESTtFNENsRU47SWpEeElFLGFDSHNCOzs7QUk2TWxCO0U0Q2xFTjtJakRzRk0sV0FiWTtJQWNaLGFBYnFCOzs7QUtSckI7RTRDbEVOO0lqRGlGTSxXQVRRO0lBVVIsYUFScUI7OztBS1JyQjtFNENsRU47SWpEMUhFLE9PUXNCOzs7O0EwQzBJeEI7RXhDaEZNO0V3Q2tGSixhQVIyQjtFQVMzQixjQUx5QjtFQU16Qjs7QTVDc0NJO0U0QzFDTjtJeEN6RVE7OztBd0MrRU47RUFDRTs7QUFHRjtFQUNFOzs7QUFXRjtFQUNFOztBQVlGO0VBQ0U7O0FBR0Y7RUFHRTs7QUFRRjtFQUNFLEtBL0JhO0VBZ0NiO0VBQ0EsT0F0T3NCO0VBdU90QixRQXZPc0I7O0FBNk94QjtFQUlFO0VBQ0E7RUFDQSxjQUxvQjs7QUFnQnRCO0VBQ0U7O0FBSUY7RUFFRSxhQURjO0VBRWQ7O0FBR0Y7RUFDRSxPQTFRc0I7RUEyUXRCOztBQVNGO0VBR0U7RUFDQTtFQUNBOztBQVFGO0VBTUUsWUFDRTs7QUFMRjtFQUZGO0lBR0k7OztBQWNKO0VBQ0U7SUFDRTs7RUFHRjtJQUNFOzs7Ozs7OztBQzVUTjtFbERVQSxhQ0ZrQjtFREdsQjtFQUNBO0VBa0NBO0VBNExJLFdBSmM7RUFLZCxhQUp1QjtFa0RwT3pCO0VBTUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUlBO0VBQ0E7O0E3QzZNSTtFNkMvTk47SWxEcUJFLGFDSHNCOzs7QUk2TWxCO0U2Qy9OTjtJbERtUE0sV0FiWTtJQWNaLGFBYnFCOzs7QUtSckI7RTZDL05OO0lsRDhPTSxXQVRRO0lBVVIsYUFScUI7OztBa0RuTnpCO0VBQ0U7RUFFQTtFQUlBOztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUFJSjtBQUFBO0FBQUE7RUFHRTtFQUNBOzs7QUFHRjtFQUNFLGMzQ29DaUI7O0EyQ2xDakI7RUFDRSxjM0M0RHNCOzs7O0E0Q3hHMUI7RUFDRTtFQUNBLGtCNUNxQjZCOzs7QTRDbEIvQjtFQUNFO0VBQ0E7RUFDQTs7QTlDbU5JO0U4Q3ROTjtJQU1JO0lBQ0E7Ozs7QUFNSjtBQUFBO0VBRUU7RUFDQTtFQUNBOztBOUNxTUk7RThDek1OO0FBQUE7SUFPSTtJQUNBO0lBQ0E7O0VBRUE7QUFBQTtJMUNvRUU7OztBSjBIQTtFOEM5TEY7QUFBQTtJMUMyRUk7Ozs7QUptSEY7RThDeExOO0lBSUk7SUFDQTtJQUNBLG1CQWpEZ0Q7OztBOUNtTzlDO0U4Q3hMTjtJQVVJO0lBQ0EscUJBdERnRDs7OztBQTBEcEQ7RW5ENUNBLGFDRmtCO0VER2xCO0VBQ0E7RUVhQTtFQUdFLDJCQ2hCNkI7RURvQjdCLHVCQ1AwQjs7QUVzTXRCO0U4Q3pLTjtJbkRqQ0UsYUNIc0I7OztBQ1R4QjtFQXFDRSwyQkNMbUM7RURRbkM7RUFDUTtFQUNSO0VBQ1E7O0FBdkNWO0VJRkE7RUFDQSxPQzREd0I7RUQzRHhCLGtCQ2lEbUI7RURoRG5CLFlBQ0U7RUFJRjtFQUlBO0VBQ1E7O0FKb1RSO0VBQ0U7O0FBdkNGO0VBQ0UsT0t2S2dCOztBTDBLbEI7RUFDRSxPSzNLZ0I7O0FMOEtsQjtFQUNFLE9LaktzQjs7QUxvS3hCO0VBQ0UsT0s5SnVCOztBTG1LekI7RUFDRSxPS2pQc0I7O0E0Q2J0QjtFQUdFLE9BNURtQzs7O0FBb0V2QztFbkQ1REEsYUNGa0I7RURHbEI7RUFDQTtFQTRDQTtFQWtMSSxXQUpjO0VBS2QsYUFKdUI7O0FLUnJCO0U4Q3pKTjtJbkRqREUsYUNIc0I7OztBSTZNbEI7RThDekpOO0luRDZLTSxXQWJZO0lBY1osYUFicUI7OztBS1JyQjtFOEN6Sk47SW5Ed0tNLFdBVFE7SUFVUixhQVJxQjs7OztBRVgzQjtFRjVMQSxPT2ZrQjs7QUY4TVo7RUhITjtJRnpMRSxPT1FzQjs7O0FMd0x4QjtFQUVJOztBQUlKO0VGek1BLE9PZmtCOztBRjhNWjtFSFVOO0lGdE1FLE9PUXNCOzs7O0E0Q3lDeEI7RW5EMUVBLGFDRmtCO0VER2xCO0VBQ0E7RUE0Q0E7RUFrTEksV0FKYztFQUtkLGFBSnVCO0VtRGpKekI7RUFDQTtFQUNBO0VBQ0E7RUFDQSxPQXhGcUM7RUF5RnJDO0VBQ0E7RUFDQTtFQUNBOztBOUNpSUk7RThDM0lOO0luRC9ERSxhQ0hzQjs7O0FJNk1sQjtFOEMzSU47SW5EK0pNLFdBYlk7SUFjWixhQWJxQjs7O0FLUnJCO0U4QzNJTjtJbkQwSk0sV0FUUTtJQVVSLGFBUnFCOzs7QW1Edkl6QjtFN0NyRkY7RUFDQSxPQzREd0I7RUQzRHhCLGtCQ2lEbUI7RURoRG5CLFlBQ0U7RUFJRjtFQUlBO0VBQ1E7O0E2QzRFTjtFZm5FRixTZW9Fd0U7RWZsRXhFO0VBQ0E7RUFFQTtFQUNBO0VBcUJFO0VBQ1E7RUFFUjtFQUNBO0Vlc0NFO0VBQ0E7O0FBR0Y7RWZ6RUYsU2UwRXNFO0VmeEV0RTtFQUNBO0VBRUE7RUFDQTtFQVNFO0VBQ1E7RUFFUjtFQUNBOztBZTJEQTtFQUNFOztBQUtGO0VBQ0U7OztBQUlKO0VuRGhIQSxhQ0ZrQjtFREdsQjtFQUNBO0VBa0NBO0VBNExJLFdBSmM7RUFLZCxhQUp1QjtFbUQzR3pCO0VBQ0E7RUFDQTtFQUNBOztBOUNnR0k7RThDckdOO0luRHJHRSxhQ0hzQjs7O0FJNk1sQjtFOENyR047SW5EeUhNLFdBYlk7SUFjWixhQWJxQjs7O0FLUnJCO0U4Q3JHTjtJbkRvSE0sV0FUUTtJQVVSLGFBUnFCOzs7QUtSckI7RThDckdOO0lBY0k7SUFDQTtJQUNBOzs7QUFTQTtFQXpCSjtJQTBCTTs7OztBQVNOO0VBQ0U7Ozs7QUNsS0Y7RXBEY0EsYUNGa0I7RURHbEI7RUFDQTtFRWFBO0VBR0UsMkJDaEI2QjtFRG9CN0IsdUJDUDBCO0VIaU54QixXQUpjO0VBS2QsYUFKdUI7RW9EcE96QjtFQUNBOztBQ3NFRjtFQS9EQTtFQUVBO0VBQ0E7RUFHQTtFQUNBO0VBRUE7RUFHQTtFQUNBO0VBQ1E7RUFFUjtFQUtBO0VBS0E7RUFDSTtFQUNJOztBaER3TEY7RStDbk9OO0lwRHlCRSxhQ0hzQjs7O0FDME14QjtFRjVMQSxPT2ZrQjs7QUY4TVo7RUhITjtJRnpMRSxPT1FzQjs7O0FMd0x4QjtFQUVJOztBQUlKO0VGek1BLE9PZmtCOztBRjhNWjtFSFVOO0lGdE1FLE9PUXNCOzs7QUZvTGxCO0UrQ25PTjtJcER1UE0sV0FiWTtJQWNaLGFBYnFCOzs7QUtSckI7RStDbk9OO0lwRGtQTSxXQVRRO0lBVVIsYUFScUI7OztBb0RoT3pCO0VBWEY7SUFpQkk7SUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0Esa0I3QzBDZTtFTHJDbkI7RUFHRSwyQkNoQjZCO0VEb0I3Qix1QkNQMEI7RWlEQXRCOzs7QUFNSjtFQVVFOzs7O0FFN0NKO0V0RGNBLGFDRmtCO0VER2xCO0VBQ0E7RUFrQ0E7RUE0TEksV0FKYztFQUtkLGFBSnVCO0VBdk0zQixPT2ZrQjtFK0NaaEI7RTdDZ0dJOztBSjBIQTtFaURuT047SXREeUJFLGFDSHNCOzs7QUk2TWxCO0VpRG5PTjtJdER1UE0sV0FiWTtJQWNaLGFBYnFCOzs7QUtSckI7RWlEbk9OO0l0RGtQTSxXQVRRO0lBVVIsYUFScUI7OztBS1JyQjtFaURuT047SXREdUNFLE9PUXNCOzs7QUZvTGxCO0VpRG5PTjtJQUlJO0lBQ0E7SUFDQTtJQUNBOzs7QWpENE5FO0VpRG5PTjtJN0NnSFE7Ozs7QTZDbkdSO0VBQ0U7O0FqRHFOSTtFaUR0Tk47SUFJSTs7O0FqRGtORTtFaUR0Tk47SUFPSTs7OztBQUtKO0VBQ0U7OztBakR5TUk7RWlEbE1GO0lBQ0U7SUFDQTtJQUNBOzs7O0FBS047QUFBQTtBQUFBO0VBR0U7O0FqRHVMSTtFaUQxTE47QUFBQTtBQUFBO0lBTUk7SUFDQTtJQUNBO0lBQ0E7Ozs7QUFJSjtFQUNFOztBakQ0S0k7RWlEN0tOO0lBR0k7SUFDQTs7OztBQUlKO0FBQUE7RUFHRTtFQUNBOzs7QUFHRjtFQUNFO0V0RFZGOztBS3VLTTtFaUQ5Sk47SUFJSTs7OztBakQwSkU7RWlEdEpOO0lBRUk7Ozs7QUFJSjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FqRGlJSTtFaUQ3SEo7SUFDRTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBO0lBQ0E7OztBakRvSEU7RWlEL0dKO0lBQ0U7SUFDQTs7RUFHRjtJQUNFOztFQUdGO0lBQ0U7SUFDQTtJQUNBOzs7QUFTSjtFQUNFOzs7QUFLQTtFQUNFOztBakRtRkU7RWlEOUVGO0FBQUE7QUFBQTtJQUdFOzs7O0FBTU47RUFDRTs7QWpEb0VJO0VpRGhFRjtBQUFBO0FBQUE7SUFHRTs7OztBQU1OO0U3Q25FTTtFNkNxRUo7O0FqRHFESTtFaUR2RE47STdDNURROzs7O0E2Q2lFUjtFQUNFO0VBSUE7RUFDQTs7QWpENENJO0VpRGxETjtJQVNJO0lBQ0E7SUFDQTtJQUNBOzs7O0FBSUo7RXREbkxBLGFDRmtCO0VER2xCO0VBQ0E7RUE0Q0E7RUFrTEksV0FKYztFQUtkLGFBSnVCO0VBdk0zQixPT2ZrQjtFK0MrS2hCOztBakQrQkk7RWlEbENOO0l0RHhLRSxhQ0hzQjs7O0FJNk1sQjtFaURsQ047SXREc0RNLFdBYlk7SUFjWixhQWJxQjs7O0FLUnJCO0VpRGxDTjtJdERpRE0sV0FUUTtJQVVSLGFBUnFCOzs7QUtSckI7RWlEbENOO0l0RDFKRSxPT1FzQjs7O0FGb0xsQjtFaURsQ047SUFNSTs7OztBQUlKO0V0RG1DSSxXQUpjO0VBS2QsYUFKdUI7RUEvSzNCO0VzRGtKRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FqRGdCSTtFaUR4Qk47SXRENENNLFdBYlk7SUFjWixhQWJxQjs7O0FLUnJCO0VpRHhCTjtJdER1Q00sV0FUUTtJQVVSLGFBUnFCOzs7QUtSckI7RWlEeEJOO0lBV0k7SUFDQTs7OztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FqRElJO0VpRFJOO0lBT0k7OztBQVlGO0VBbkJGO0lBb0JJOzs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7O0FqRG5CSTtFaURnQk47SUFNSTs7O0FBSUY7RUFWRjtJQVdJOzs7O0FBSUo7RUFDRTs7QWpEaENJO0VpRCtCTjtJQUlJOzs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7RUFDQTs7OztBQy9RSjtFdkRjQSxhQ0ZrQjtFREdsQjtFQUNBO0VBa0NBO0VBNExJLFdBSmM7RUFLZCxhQUp1QjtFQXZNM0IsT09ma0I7RWdEbEJoQjtFOUNzR0k7RThDbkdKO0VBQ0E7O0FsRDROSTtFa0RuT047SXZEeUJFLGFDSHNCOzs7QUk2TWxCO0VrRG5PTjtJdkR1UE0sV0FiWTtJQWNaLGFBYnFCOzs7QUtSckI7RWtEbk9OO0l2RGtQTSxXQVRRO0lBVVIsYUFScUI7OztBS1JyQjtFa0RuT047SXZEdUNFLE9PUXNCOzs7QUZvTGxCO0VrRG5PTjtJOUNnSFE7Ozs7QThDNUZSO0V2RHdDQTs7O0F1RHBDQTtBQUFBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0V2RDZDQTs7O0F1RHpDQTtBQUFBO0VBRUU7OztBQUdGO0FBQUE7RUFFRTs7O0FBR0Y7RXZEY0E7RXVEWEU7RUFDQTs7O0FBSUY7QUFBQTtBQUFBO0VBR0U7OztBQUdGO0V2RGtMSSxXQUpjO0VBS2QsYUFKdUI7O0FLUnJCO0VrRHZLTjtJdkQyTE0sV0FiWTtJQWNaLGFBYnFCOzs7QUtSckI7RWtEdktOO0l2RHNMTSxXQVRRO0lBVVIsYUFScUI7Ozs7QXVEM0szQjtFdkQ4S0ksV0FKYztFQUtkLGFBSnVCOztBS1JyQjtFa0RuS047SXZEdUxNLFdBYlk7SUFjWixhQWJxQjs7O0FLUnJCO0VrRG5LTjtJdkRrTE0sV0FUUTtJQVVSLGFBUnFCOzs7O0F1RHZLM0I7RXZEMEtJLFdBSmM7RUFLZCxhQUp1Qjs7QUtSckI7RWtEL0pOO0l2RG1MTSxXQWJZO0lBY1osYUFicUI7OztBS1JyQjtFa0QvSk47SXZEOEtNLFdBVFE7SUFVUixhQVJxQjs7Ozs7QXdEM08zQjtFL0N5R007RUFBQTtFVDNGTixhQ0ZrQjtFREdsQjtFQUNBO0VBa0NBO0VBNExJLFdBSmM7RUFLZCxhQUp1Qjs7QUtSckI7RW1Ebk9OO0kvQ2dIUTs7O0FKbUhGO0VtRG5PTjtJeER5QkUsYUNIc0I7OztBSTZNbEI7RW1Ebk9OO0l4RHVQTSxXQWJZO0lBY1osYUFicUI7OztBS1JyQjtFbURuT047SXhEa1BNLFdBVFE7SUFVUixhQVJxQjs7OztBd0RyTzNCO0V4RHdPSSxXQUpjO0VBS2QsYUFKdUI7RUF6TDNCO0VBZEEsT09ma0I7RWlEVGhCOztBbkR1Tkk7RW1EN05OO0l4RGlQTSxXQWJZO0lBY1osYUFicUI7OztBS1JyQjtFbUQ3Tk47SXhENE9NLFdBVFE7SUFVUixhQVJxQjs7O0FLUnJCO0VtRDdOTjtJeERpQ0UsT09Rc0I7Ozs7QWlEaEN4QjtFQUNFO0VBQ0E7RUFDQTtFL0N1Rkk7O0FKMEhBO0VtRHBOTjtJL0NpR1E7Ozs7QStDMUZSO0VBQ0U7O0FBRUE7RXhEV0YsT09ma0I7RWlETWQ7RUFDQTtFQUNBOztBbkRzTUU7RW1EMU1KO0l4RGNBLE9PUXNCOzs7O0FpRGR4QjtFeERuQkEsYUNGa0I7RURHbEI7RUFDQTtFRWFBO0VBR0UsMkJDaEI2QjtFRG9CN0IsdUJDUDBCO0VxRFExQjtFQUNBOztBbkQ2TEk7RW1EbE1OO0l4RFJFLGFDSHNCOzs7QUNUeEI7RUFxQ0UsMkJDTG1DO0VEUW5DO0VBQ1E7RUFDUjtFQUNROztBQXZDVjtFSUZBO0VBQ0EsT0M0RHdCO0VEM0R4QixrQkNpRG1CO0VEaERuQixZQUNFO0VBSUY7RUFJQTtFQUNROztBSmdEUjtFQUNFLE9LdURnQjs7QUxwRGxCO0VBQ0UsT0swRHdCOztBTHZEMUI7RUFDRSxPSzZEc0I7O0FMMUR4QjtFQUNFLE9LZ0V1Qjs7QUwzRHpCO0VBQ0UsT0tuQnNCOzs7QWlEbkN4QjtFL0NnRU07O0FKMEhBO0VtRDFMTjtJL0N1RVE7Ozs7QUptSEY7RW1EbkxGO0lBRUU7SUFDQTs7RTFDM0NOO0lBQ0U7SUFDQTtJQUNBOztFMEMyQ0U7SUFDRTs7RUFHRjtJQUNFO0lBRUE7SUFDQTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7O0VBRUE7SUFDRTs7RUFJSjtJQUdFO0lBRUE7SUFHQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBLGtCakR0RHVCOztFaUR3RHZCO0lBQ0U7O0VBSUo7SUFHRTs7RXREMEhOO0lGNUxBLE9PZmtCOzs7QUY4TVo7RUhITjtJRnpMRSxPT1FzQjs7O0FGb0xsQjtFSElOO0lBRUk7O0VBSUo7SUZ6TUEsT09ma0I7OztBRjhNWjtFSFVOO0lGdE1FLE9PUXNCOzs7QUZvTGxCO0VtRDNIQTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7RUFJSjtJL0NURTtJK0NXQTtJQUNBO0lBQ0E7O0VBRUE7SUFDRTs7RUFJSjtJQUNFOzs7Ozs7O0FDMUhOO0V6RFVBLGFDRmtCO0VER2xCO0VBQ0E7RUFrQ0E7RUE0TEksV0FKYztFQUtkLGFBSnVCO0V5RHJPekI7RWhEbUdJO0VnRGpHSjtFQUNBOztBcEQwTkk7RW9EL05OO0l6RHFCRSxhQ0hzQjs7O0FJNk1sQjtFb0QvTk47SXpEbVBNLFdBYlk7SUFjWixhQWJxQjs7O0FLUnJCO0VvRC9OTjtJekQ4T00sV0FUUTtJQVVSLGFBUnFCOzs7QUtSckI7RW9EL05OO0loRDRHUTs7OztBZ0Q3RlI7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBTUY7RUFDRSxZQW5DNkI7OztBQXNDL0I7RUFDRTtFQUNBO0V6RE5GLE9PZmtCOztBRjhNWjtFb0QzTE47SXpEREUsT09Rc0I7Ozs7QWtERHhCO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RXpEZEYsT09ma0I7O0FGOE1aO0VvRHJMTjtJekRQRSxPT1FzQjs7OztBa0RPeEI7RUFDRSxPbERDMEI7OztBa0RLNUI7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBLE9sRGpCMEI7Ozs7Ozs7O0FtRHhENUI7RTFEY0EsYUNGa0I7RURHbEI7RUFDQTtFQWtDQTtFQTRMSSxXQUpjO0VBS2QsYUFKdUI7RVNsSXJCO0VUN0NOO0UwRHhERTtFQUNBOztBckQ4Tkk7RXFEbk9OO0kxRHlCRSxhQ0hzQjs7O0FJNk1sQjtFcURuT047STFEdVBNLFdBYlk7SUFjWixhQWJxQjs7O0FLUnJCO0VxRG5PTjtJMURrUE0sV0FUUTtJQVVSLGFBUnFCOzs7QUtSckI7RXFEbk9OO0lqRGdIUTs7OztBaUR4R1I7RUFDRTtFQUVBO0VBRUE7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQVFBO0VBQ0E7RUFFQSxPbkRTMkI7RW1EUjNCLFluRFRnQjtFbURXaEI7RUFDQTtFQUVBO0VBSUE7RUFDSTtFQUNJO0VBSVI7O0FyRHNMSTtFcUQzTk47SUFhSTs7O0FBMEJGO0VBdkNGO0lBd0NJO0lBQ0E7SUFDQTs7OztBQUlKO0UxRGxCQSxPT2ZrQjtFbURtQ2hCO0VBQ0E7RUFHQTs7QXJEdUtJO0VxRDdLTjtJMURmRSxPT1FzQjs7Ozs7O0FPdkN4QjtFQUNFO0VBQ0E7RUFDQTs7OztBNkNYRjtFTmVBO0VBRUE7RUFDQTtFQUdBO0VBQ0E7RUFFQTtFQUdBO0VBQ0E7RUFDUTtFQUVSO0VBS0E7RUFLQTtFQUNJO0VBQ0k7O0FBZ0JSO0VBQ0U7O0FBR0Y7RUFDRTs7O0FBY0Y7RUEvREE7RUFFQTtFQUNBO0VBR0E7RUFDQTtFQUVBO0VBR0E7RUFDQTtFQUNRO0VBRVI7RUFLQTtFQUtBO0VBQ0k7RUFDSTs7Ozs7QU8xQ1I7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0F2RHFOSTtFdURqTko7SUFDRTs7OztBQ2lCRjtFcERtRUk7OztBb0Q3REY7RXBEK0RFOzs7QW9EL0RGO0VwRCtERTs7O0FvRC9ERjtFcEQrREU7OztBb0QvREY7RXBEK0RFOzs7QW9EckVKO0VwRG1FSTs7O0FvRDdERjtFcEQrREU7OztBb0QvREY7RXBEK0RFOzs7QW9EL0RGO0VwRCtERTs7O0FvRC9ERjtFcEQrREU7OztBb0RyRUo7RXBEbUVJOzs7QW9EN0RGO0VwRCtERTs7O0FvRC9ERjtFcEQrREU7OztBb0QvREY7RXBEK0RFOzs7QW9EL0RGO0VwRCtERTs7O0FvRHJFSjtFcERtRUk7OztBb0Q3REY7RXBEK0RFOzs7QW9EL0RGO0VwRCtERTs7O0FvRC9ERjtFcEQrREU7OztBb0QvREY7RXBEK0RFOzs7QW9EckVKO0VwRG1FSTs7QUo0SEE7RXdEL0xKO0lwRDBFTTs7OztBb0RwRUo7RXBEK0RFOztBSjBIQTtFd0R6TEY7SXBEc0VJOzs7O0FvRHRFSjtFcEQrREU7O0FKMEhBO0V3RHpMRjtJcERzRUk7Ozs7QW9EdEVKO0VwRCtERTs7QUowSEE7RXdEekxGO0lwRHNFSTs7OztBb0R0RUo7RXBEK0RFOztBSjBIQTtFd0R6TEY7SXBEc0VJOzs7O0FvRDVFTjtFcERtRUk7O0FKNEhBO0V3RC9MSjtJcEQwRU07Ozs7QW9EcEVKO0VwRCtERTs7QUowSEE7RXdEekxGO0lwRHNFSTs7OztBb0R0RUo7RXBEK0RFOztBSjBIQTtFd0R6TEY7SXBEc0VJOzs7O0FvRHRFSjtFcEQrREU7O0FKMEhBO0V3RHpMRjtJcERzRUk7Ozs7QW9EdEVKO0VwRCtERTs7QUowSEE7RXdEekxGO0lwRHNFSTs7OztBb0Q1RU47RXBEbUVJOztBSjRIQTtFd0QvTEo7SXBEMEVNOzs7O0FvRHBFSjtFcEQrREU7O0FKMEhBO0V3RHpMRjtJcERzRUk7Ozs7QW9EdEVKO0VwRCtERTs7QUowSEE7RXdEekxGO0lwRHNFSTs7OztBb0R0RUo7RXBEK0RFOztBSjBIQTtFd0R6TEY7SXBEc0VJOzs7O0FvRHRFSjtFcEQrREU7O0FKMEhBO0V3RHpMRjtJcERzRUk7Ozs7QW9ENUVOO0VwRG1FSTs7QUo0SEE7RXdEL0xKO0lwRDBFTTs7OztBb0RwRUo7RXBEK0RFOztBSjBIQTtFd0R6TEY7SXBEc0VJOzs7O0FvRHRFSjtFcEQrREU7O0FKMEhBO0V3RHpMRjtJcERzRUk7Ozs7QW9EdEVKO0VwRCtERTs7QUowSEE7RXdEekxGO0lwRHNFSTs7OztBb0R0RUo7RXBEK0RFOztBSjBIQTtFd0R6TEY7SXBEc0VJOzs7O0FvRDVFTjtFcERtRUk7O0FKNEhBO0V3RC9MSjtJcEQwRU07Ozs7QW9EcEVKO0VwRCtERTs7QUowSEE7RXdEekxGO0lwRHNFSTs7OztBb0R0RUo7RXBEK0RFOztBSjBIQTtFd0R6TEY7SXBEc0VJOzs7O0FvRHRFSjtFcEQrREU7O0FKMEhBO0V3RHpMRjtJcERzRUk7Ozs7QW9EdEVKO0VwRCtERTs7QUowSEE7RXdEekxGO0lwRHNFSTs7OztBb0Q1RU47RXBEbUVJOztBSjRIQTtFd0QvTEo7SXBEMEVNOzs7O0FvRHBFSjtFcEQrREU7O0FKMEhBO0V3RHpMRjtJcERzRUk7Ozs7QW9EdEVKO0VwRCtERTs7QUowSEE7RXdEekxGO0lwRHNFSTs7OztBb0R0RUo7RXBEK0RFOztBSjBIQTtFd0R6TEY7SXBEc0VJOzs7O0FvRHRFSjtFcEQrREU7O0FKMEhBO0V3RHpMRjtJcERzRUk7Ozs7QW9ENUVOO0VwRG1FSTs7O0FvRDdERjtFcEQrREU7OztBb0QvREY7RXBEK0RFOzs7QW9EL0RGO0VwRCtERTs7O0FvRC9ERjtFcEQrREU7OztBb0RyRUo7RXBEbUVJOzs7QW9EN0RGO0VwRCtERTs7O0FvRC9ERjtFcEQrREU7OztBb0QvREY7RXBEK0RFOzs7QW9EL0RGO0VwRCtERTs7O0FvRHJFSjtFcERtRUk7OztBb0Q3REY7RXBEK0RFOzs7QW9EL0RGO0VwRCtERTs7O0FvRC9ERjtFcEQrREU7OztBb0QvREY7RXBEK0RFOzs7QW9EckVKO0VwRG1FSTs7O0FvRDdERjtFcEQrREU7OztBb0QvREY7RXBEK0RFOzs7QW9EL0RGO0VwRCtERTs7O0FvRC9ERjtFcEQrREU7OztBb0RyRUo7RXBEbUVJOztBSjRIQTtFd0QvTEo7SXBEMEVNOzs7O0FvRHBFSjtFcEQrREU7O0FKMEhBO0V3RHpMRjtJcERzRUk7Ozs7QW9EdEVKO0VwRCtERTs7QUowSEE7RXdEekxGO0lwRHNFSTs7OztBb0R0RUo7RXBEK0RFOztBSjBIQTtFd0R6TEY7SXBEc0VJOzs7O0FvRHRFSjtFcEQrREU7O0FKMEhBO0V3RHpMRjtJcERzRUk7Ozs7QW9ENUVOO0VwRG1FSTs7QUo0SEE7RXdEL0xKO0lwRDBFTTs7OztBb0RwRUo7RXBEK0RFOztBSjBIQTtFd0R6TEY7SXBEc0VJOzs7O0FvRHRFSjtFcEQrREU7O0FKMEhBO0V3RHpMRjtJcERzRUk7Ozs7QW9EdEVKO0VwRCtERTs7QUowSEE7RXdEekxGO0lwRHNFSTs7OztBb0R0RUo7RXBEK0RFOztBSjBIQTtFd0R6TEY7SXBEc0VJOzs7O0FvRDVFTjtFcERtRUk7O0FKNEhBO0V3RC9MSjtJcEQwRU07Ozs7QW9EcEVKO0VwRCtERTs7QUowSEE7RXdEekxGO0lwRHNFSTs7OztBb0R0RUo7RXBEK0RFOztBSjBIQTtFd0R6TEY7SXBEc0VJOzs7O0FvRHRFSjtFcEQrREU7O0FKMEhBO0V3RHpMRjtJcERzRUk7Ozs7QW9EdEVKO0VwRCtERTs7QUowSEE7RXdEekxGO0lwRHNFSTs7OztBb0Q1RU47RXBEbUVJOztBSjRIQTtFd0QvTEo7SXBEMEVNOzs7O0FvRHBFSjtFcEQrREU7O0FKMEhBO0V3RHpMRjtJcERzRUk7Ozs7QW9EdEVKO0VwRCtERTs7QUowSEE7RXdEekxGO0lwRHNFSTs7OztBb0R0RUo7RXBEK0RFOztBSjBIQTtFd0R6TEY7SXBEc0VJOzs7O0FvRHRFSjtFcEQrREU7O0FKMEhBO0V3RHpMRjtJcERzRUk7Ozs7QW9ENUVOO0VwRG1FSTs7QUo0SEE7RXdEL0xKO0lwRDBFTTs7OztBb0RwRUo7RXBEK0RFOztBSjBIQTtFd0R6TEY7SXBEc0VJOzs7O0FvRHRFSjtFcEQrREU7O0FKMEhBO0V3RHpMRjtJcERzRUk7Ozs7QW9EdEVKO0VwRCtERTs7QUowSEE7RXdEekxGO0lwRHNFSTs7OztBb0R0RUo7RXBEK0RFOztBSjBIQTtFd0R6TEY7SXBEc0VJOzs7O0FvRDVFTjtFcERtRUk7O0FKNEhBO0V3RC9MSjtJcEQwRU07Ozs7QW9EcEVKO0VwRCtERTs7QUowSEE7RXdEekxGO0lwRHNFSTs7OztBb0R0RUo7RXBEK0RFOztBSjBIQTtFd0R6TEY7SXBEc0VJOzs7O0FvRHRFSjtFcEQrREU7O0FKMEhBO0V3RHpMRjtJcERzRUk7Ozs7QW9EdEVKO0VwRCtERTs7QUowSEE7RXdEekxGO0lwRHNFSTs7OztBb0RoRE47RUFDRTs7O0FBSUE7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBTko7RUFDRTs7O0FBSUE7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBTko7RUFDRTs7O0FBSUE7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBTko7RUFDRTs7O0FBSUE7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBTko7RUFDRTs7O0FBSUE7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBTko7RUFDRTs7O0FBSUE7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBTko7RUFDRTs7O0FBSUE7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBTko7RUFDRTs7O0FBSUE7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBTko7RUFDRTs7O0FBSUE7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBTko7RUFDRTs7O0FBSUE7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBTko7RUFDRTs7O0FBSUE7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBTko7RUFDRTs7O0FBSUE7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBTko7RUFDRTs7O0FBSUE7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBTko7RUFDRTs7O0FBSUE7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBTko7RUFDRTs7O0FBSUE7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBTko7RUFDRTs7O0FBSUE7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBTko7RUFDRTs7O0FBSUE7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBTko7RUFDRTs7O0FBSUE7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBTko7RUFDRTs7O0FBSUE7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBTko7RUFDRTs7O0FBSUE7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7O0FBREY7RUFDRTs7OztBQ3JFTjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7O0FDSEE7RS9EdU9FLFdBSmM7RUFLZCxhQUp1Qjs7QUtSckI7RTBENU5KO0kvRGdQSSxXQWJZO0lBY1osYUFicUI7OztBS1JyQjtFMEQ1Tko7SS9EMk9JLFdBVFE7SUFVUixhQVJxQjs7OztBK0RwT3pCO0UvRHVPRSxXQUpjO0VBS2QsYUFKdUI7O0FLUnJCO0UwRDVOSjtJL0RnUEksV0FiWTtJQWNaLGFBYnFCOzs7QUtSckI7RTBENU5KO0kvRDJPSSxXQVRRO0lBVVIsYUFScUI7Ozs7QStEcE96QjtFL0R1T0UsV0FKYztFQUtkLGFBSnVCOztBS1JyQjtFMEQ1Tko7SS9EZ1BJLFdBYlk7SUFjWixhQWJxQjs7O0FLUnJCO0UwRDVOSjtJL0QyT0ksV0FUUTtJQVVSLGFBUnFCOzs7O0ErRHBPekI7RS9EdU9FLFdBSmM7RUFLZCxhQUp1Qjs7QUtSckI7RTBENU5KO0kvRGdQSSxXQWJZO0lBY1osYUFicUI7OztBS1JyQjtFMEQ1Tko7SS9EMk9JLFdBVFE7SUFVUixhQVJxQjs7OztBK0RwT3pCO0UvRHVPRSxXQUpjO0VBS2QsYUFKdUI7O0FLUnJCO0UwRDVOSjtJL0RnUEksV0FiWTtJQWNaLGFBYnFCOzs7QUtSckI7RTBENU5KO0kvRDJPSSxXQVRRO0lBVVIsYUFScUI7Ozs7QStEcE96QjtFL0R1T0UsV0FKYztFQUtkLGFBSnVCOztBS1JyQjtFMEQ1Tko7SS9EZ1BJLFdBYlk7SUFjWixhQWJxQjs7O0FLUnJCO0UwRDVOSjtJL0QyT0ksV0FUUTtJQVVSLGFBUnFCOzs7O0ErRHBPekI7RS9EdU9FLFdBSmM7RUFLZCxhQUp1Qjs7QUtSckI7RTBENU5KO0kvRGdQSSxXQWJZO0lBY1osYUFicUI7OztBS1JyQjtFMEQ1Tko7SS9EMk9JLFdBVFE7SUFVUixhQVJxQjs7OztBK0RwT3pCO0UvRHVPRSxXQUpjO0VBS2QsYUFKdUI7O0FLUnJCO0UwRDVOSjtJL0RnUEksV0FiWTtJQWNaLGFBYnFCOzs7QUtSckI7RTBENU5KO0kvRDJPSSxXQVRRO0lBVVIsYUFScUI7Ozs7QStEdE4zQjtFL0Q2QkE7OztBK0R6QkE7RS9EbUNBOzs7QStEN0JBO0UvRDhDQTs7O0ErRDFDQTtFL0R3REE7RUFHQTs7OztBZ0U3RkE7RUFDRTs7O0FBR0Y7RUFDRTs7QTNENk5JO0UyRDlOTjtJQUlJOzs7O0FBSUo7RUFDRTs7QTNEcU5JO0UyRHROTjtJQUlJOzs7O0FBSUo7RUFDRTs7QTNENk1JO0UyRDlNTjtJQUlJOzs7O0FBSUo7RUFDRTs7QTNEcU1JO0UyRHRNTjtJQUlJOzs7O0FBSUo7RUFDRTs7QTNENkxJO0UyRDlMTjtJQUlJOzs7Ozs7Ozs7QUN2Q047RWpFa0NFLE9PZmtCO0UwRGpCbEI7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QTVEMk5NO0U0RGpPUjtJakVxQ0ksT09Rc0I7OztBRm9MbEI7RTREak9SO0lBU0k7Ozs7QUFNSjtFakVIRSxhQ0ZrQjtFREdsQjtFQUNBO0VBNENBO0VBa0xJLFdBSmM7RUFLZCxhQUp1QjtFaUV2TjNCO0VBQ0E7O0E1RDhNTTtFNERsTlI7SWpFUUksYUNIc0I7OztBSTZNbEI7RTREbE5SO0lqRXNPUSxXQWJZO0lBY1osYUFicUI7OztBS1JyQjtFNERsTlI7SWpFaU9RLFdBVFE7SUFVUixhQVJxQjs7OztBaUVuTjdCO0VqRVZFLGFDRmtCO0VER2xCO0VBQ0E7RUE0Q0E7RUFrTEksV0FKYztFQUtkLGFBSnVCOztBS1JyQjtFNEQzTVI7SWpFQ0ksYUNIc0I7OztBSTZNbEI7RTREM01SO0lqRStOUSxXQWJZO0lBY1osYUFicUI7OztBS1JyQjtFNEQzTVI7SWpFME5RLFdBVFE7SUFVUixhQVJxQjs7OztBa0U5TDdCO0VBQ0U7O0E3RHFMTTtFNkRuTE47SUFFSTs7O0FBSUo7RUFDRTs7O0FBSUo7RUFDRTtFQUNBOzs7QUFHRjtFQUNFLE8zRG1Fa0I7RTJEbEVsQjtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFNUR4REE7RUFDQSxPQzREd0I7RUQzRHhCLGtCQ2lEbUI7RURoRG5CLFlBQ0U7RUFJRjtFQUlBO0VBQ1E7OztBNERrRFY7RUFDRTs7O0FBR0Y7RWxFcEVFLGFDRmtCO0VER2xCO0VBQ0E7RWtFbUJBO0VBQ0EsYUErQ29DO0VBOUNwQyxhQThDd0Q7RUFDeEQ7RUFDQTtFQUNBO0VBQ0E7O0E3RDRJTTtFNkRqSlI7SWxFekRJLGFDSHNCOzs7QUk2TWxCO0U2RGpKUjtJQTFDSTtJQUNBLGFBMENzRDs7O0FBTXhEO0VsRTNFQSxhQ0ZrQjtFREdsQjtFQUNBO0VrRW1CQTtFQUNBLGFBc0R3RDtFQXJEeEQsYUFxRDRFOztBN0R5SXRFO0U2RDFJTjtJbEVoRUUsYUNIc0I7OztBSTZNbEI7RTZEMUlOO0lBakRFO0lBQ0EsYUFpRDBFOzs7O0FBSTlFO0VsRWhGRSxhQ0ZrQjtFREdsQjtFQUNBO0VrRW1CQTtFQUNBLGFBSHdEO0VBSXhELGFBMER5QztFQUN6QztFQUNBO0VBQ0E7RUFDQTs7QTdEZ0lNO0U2RHJJUjtJbEVyRUksYUNIc0I7OztBSTZNbEI7RTZEcklSO0lBdERJO0lBQ0EsYUFzRHVDOzs7QUFNekM7RWxFdkZBLGFDRmtCO0VER2xCO0VBQ0E7RWtFbUJBO0VBQ0EsYUFId0Q7RUFJeEQsYUFpRTZEOztBN0Q2SHZEO0U2RDlITjtJbEU1RUUsYUNIc0I7OztBSTZNbEI7RTZEOUhOO0lBN0RFO0lBQ0EsYUE2RDJEOzs7O0FBSS9EO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7O0FBR0E7RUEzR0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFJQTtFQUNBO0VBbUdFOztBN0QyR0k7RTZEeEdOO0lBRUk7O0VBRUE7SUF0R0o7SUFDQTtJQUNBLGNBdkJtQjtJQTZIYjs7OztBQVFOO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBR0U7RUFDQTs7QUFLRjtFQUNFOztBN0RvRUk7RTZEL0RGO0lBQ0U7SUFDQTtJQUNBLGNBbkthOztFQXNLZjtJQUNFOzs7O0FBT047QUFBQTtBQUFBO0VBSUU7OztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLE9BM0xtQjtFQTRMbkIsUUE1TG1CO0VBNkxuQjtFQUNBO0VBQ0E7RUFDQTs7QTdEOEJNO0U2RDVCTjtJQUVJO0lBQ0EsT0FwTXFCO0lBcU1yQixRQXJNcUI7Ozs7QUEwTTNCO0VsRWxNRSxhQ0ZrQjtFREdsQjtFQUNBO0VrRW1CQTtFQUNBLGFBNktvQztFQTVLcEMsYUE0S3dEO0VBQ3hEOztBN0RpQk07RTZEbkJSO0lsRXZMSSxhQ0hzQjs7O0FJNk1sQjtFNkRuQlI7SUF4S0k7SUFDQSxhQXdLc0Q7OztBQUd4RDtFbEV0TUEsYUNGa0I7RURHbEI7RUFDQTtFa0VtQkE7RUFDQSxhQWlMd0Q7RUFoTHhELGFBZ0w0RTs7QTdEY3RFO0U2RGZOO0lsRTNMRSxhQ0hzQjs7O0FJNk1sQjtFNkRmTjtJQTVLRTtJQUNBLGFBNEtxRzs7O0E3RGNqRztFNkRmTjtJQUlJLGNBcE5lOzs7O0FBeU5yQjtFbEUvTUUsYUNGa0I7RURHbEI7RUFDQTtFa0VtQkE7RUFDQSxhQTBMb0M7RUF6THBDLGFBeUx3RDs7QTdES2xEO0U2RE5SO0lsRXBNSSxhQ0hzQjs7O0FJNk1sQjtFNkROUjtJQXJMSTtJQUNBLGFBcUxzRDs7O0FBRXhEO0VsRWxOQSxhQ0ZrQjtFREdsQjtFQUNBO0VrRW1CQTtFQUNBLGFBNkx3RDtFQTVMeEQsYUE0TDRFOztBN0RFdEU7RTZESE47SWxFdk1FLGFDSHNCOzs7QUk2TWxCO0U2REhOO0lBeExFO0lBQ0EsYUF3THFHOzs7O0FBS3pHO0VBQ0U7RUFDQTs7O0FBR0Y7RUFLRTs7O0FBR0Y7QUFBQTtFYnBPRTtFQUVBO0VBQ0E7RUFHQTtFQUNBO0VBRUE7RUFHQTtFQUNBO0VBQ1E7RUFFUjtFQUtBO0VBS0E7RUFDSTtFQUNJOztBQWdCUjtBQUFBO0VBQ0U7O0FBR0Y7QUFBQTtFQUNFOzs7QWF3TEo7RUFDRTtFQUNBLFlBblBXOztBQXFQWDtFQUNFOztBQUlBO0U1RGxQRjtFQUNBLE9DNER3QjtFRDNEeEIsa0JDaURtQjtFRGhEbkIsWUFDRTtFQUlGO0VBSUE7RUFDUTs7QTREd09KO0U1RHJQSjtFQUNBLE9DNER3QjtFRDNEeEIsa0JDaURtQjtFRGhEbkIsWUFDRTtFQUlGO0VBSUE7RUFDUTs7QTREK09OO0FBQUE7RUFFRSxPM0R6SWM7O0EyRDRJaEI7RUFDRTs7QTdEOUNFO0U2RGtETjtJQUVJOzs7O0FBS047RWxFeFBFLE9PZmtCO0VQUGxCLGFDRmtCO0VER2xCO0VBQ0E7RWtFbUJBO0VBQ0EsYUEwUG9DO0VBelBwQyxhQXlQd0Q7RUFDeEQ7O0E3RDVETTtFNkR5RFI7SWxFclBJLE9PUXNCOzs7QUZvTGxCO0U2RHlEUjtJbEVuUUksYUNIc0I7OztBSTZNbEI7RTZEeURSO0lBcFBJO0lBQ0EsYUFxUHNEOzs7QUFHeEQ7RWxFblJBLGFDRmtCO0VER2xCO0VBQ0E7RWtFbUJBO0VBQ0EsYUE4UHdEO0VBN1B4RCxhQTZQNEU7O0E3RC9EdEU7RTZEOEROO0lsRXhRRSxhQ0hzQjs7O0FJNk1sQjtFNkQ4RE47SUF6UEU7SUFDQSxhQXlQMEU7Ozs7QUFJOUU7RWxFeFJFLGFDRmtCO0VER2xCO0VBQ0E7RWtFbUJBO0VBQ0EsYUFId0Q7RUFJeEQsYUFrUXlDO0VBQ3pDO0VBQ0EsTzNEcktrQjtFMkRzS2xCOztBN0R2RU07RTZEbUVSO0lsRTdRSSxhQ0hzQjs7O0FJNk1sQjtFNkRtRVI7SUE5UEk7SUFDQSxhQThQdUM7OztBQUt6QztFbEU5UkEsYUNGa0I7RURHbEI7RUFDQTtFa0VtQkE7RUFDQSxhQUh3RDtFQUl4RCxhQXdRNkQ7O0E3RDFFdkQ7RTZEeUVOO0lsRW5SRSxhQ0hzQjs7O0FJNk1sQjtFNkR5RU47SUFwUUU7SUFDQSxhQW9RMkQ7Ozs7QUFJL0Q7RWxFN1FFLE9PZmtCO0VQUGxCLGFDRmtCO0VER2xCO0VBQ0E7RWtFbUJBO0VBQ0EsYUFId0Q7RUFJeEQsYUFKOEU7O0E3RGtNeEU7RTZEOEVSO0lsRTFRSSxPT1FzQjs7O0FGb0xsQjtFNkQ4RVI7SWxFeFJJLGFDSHNCOzs7QUk2TWxCO0U2RDhFUjtJQXpRSTtJQUNBLGFBUjRFOzs7QUFvUjlFO0VsRXZTQSxhQ0ZrQjtFREdsQjtFQUNBO0VrRW1CQTtFQUNBLGFBSHdEO0VBSXhELGFBSjhFOztBN0RrTXhFO0U2RGtGTjtJbEU1UkUsYUNIc0I7OztBSTZNbEI7RTZEa0ZOO0lBN1FFO0lBQ0EsYUFSNEU7OztBQXdSOUU7RUFDRTs7O0FBTUo7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QTdEbkdJO0U2RHFHSjtJQUVJOzs7QTdEdkdBO0U2RDRHTjtJQUVJOzs7O0FBS047RUFDRTtFQUNBO0VBQ0E7O0E3RHRITTtFNkR3SE47SUFFSTs7OztBQUtOO0VBR0UsYUFGZTtFQUdmOztBQUVBO0VBQ0U7O0E3RHRJSTtFNkQySUY7SUFDRTs7OztBQU1SO0VBQ0U7OztBQUdGO0VsRTNXRSxhQ0ZrQjtFREdsQjtFQUNBO0VFYUE7RUFHRSwyQkNoQjZCO0VEb0I3Qix1QkNQMEI7O0FFc010QjtFNkRzSlI7SWxFaFdJLGFDSHNCOzs7QUNUeEI7RUFxQ0UsMkJDTG1DO0VEUW5DO0VBQ1E7RUFDUjtFQUNROztBQXZDVjtFSUZBO0VBQ0EsT0M0RHdCO0VEM0R4QixrQkNpRG1CO0VEaERuQixZQUNFO0VBSUY7RUFJQTtFQUNROztBSmdEUjtFQUNFLE9LdURnQjs7QUxwRGxCO0VBQ0UsT0swRHdCOztBTHZEMUI7RUFDRSxPSzZEc0I7O0FMMUR4QjtFQUNFLE9LZ0V1Qjs7QUwzRHpCO0VBQ0UsT0tuQnNCOzs7QTJEa1QxQjtFYi9XRTtFQUVBO0VBQ0E7RUFHQTtFQUNBO0VBRUE7RUFHQTtFQUNBO0VBQ1E7RUFFUjtFQUtBO0VBS0E7RUFDSTtFQUNJOztBQWdCUjtFQUNFOztBQUdGO0VBQ0U7OztBYWtVSjtFQUNFOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsUUE1WVc7RUE2WVg7O0E3RDdLSTtFNkRrTEY7SUFDRTtJQUNBO0lBQ0EsUUFwWmE7OztBaEU0Tm5CO0VGNUxBLE9PZmtCOztBRjhNWjtFSEhOO0lGekxFLE9PUXNCOzs7QUx3THhCO0VBRUk7O0FBSUo7RUZ6TUEsT09ma0I7O0FGOE1aO0VIVU47SUZ0TUUsT09Rc0I7Ozs7QTJEbVgxQjtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOzs7QUNyYUo7RW5FaUNFLE9PZmtCO0U0RGhCbEI7RUFDQTs7QTlENk5NO0U4RGhPUjtJbkVvQ0ksT09Rc0I7Ozs7QTREdEMxQjtFQUNFO0VBQ0E7RW5FR0EsYUNGa0I7RURHbEI7RUFDQTtFQTRDQTtFQWtMSSxXQUpjO0VBS2QsYUFKdUI7O0FLUnJCO0U4RDFOUjtJbkVnQkksYUNIc0I7OztBSTZNbEI7RThEMU5SO0luRThPUSxXQWJZO0lBY1osYUFicUI7OztBS1JyQjtFOEQxTlI7SW5FeU9RLFdBVFE7SUFVUixhQVJxQjs7OztBbUU1TjdCO0VuRURFLGFDRmtCO0VER2xCO0VBQ0E7RUE0Q0E7RUFrTEksV0FKYztFQUtkLGFBSnVCO0VtRTFOM0I7RUFDQTs7QTlEaU5NO0U4RHBOUjtJbkVVSSxhQ0hzQjs7O0FJNk1sQjtFOERwTlI7SW5Fd09RLFdBYlk7SUFjWixhQWJxQjs7O0FLUnJCO0U4RHBOUjtJbkVtT1EsV0FUUTtJQVVSLGFBUnFCOzs7O0FtRXRON0I7RUFDRTs7QUFFQTtFbkVWQSxhQ0ZrQjtFREdsQjtFQUNBO0VBNENBO0VBa0xJLFdBSmM7RUFLZCxhQUp1QjtFbUVqTnpCOztBOUR5TUk7RThEM01OO0luRUNFLGFDSHNCOzs7QUk2TWxCO0U4RDNNTjtJbkUrTk0sV0FiWTtJQWNaLGFBYnFCOzs7QUtSckI7RThEM01OO0luRTBOTSxXQVRRO0lBVVIsYUFScUI7OztBS1JyQjtFOEQzTU47SUFLSTs7O0FBSUo7RUFDRTs7O0FBSUo7RUFDRTtFQUNBOztBOUQyTE07RThEN0xSO0lBS0k7Ozs7QUFJSjtFQUNFOzs7QUFHRjtFQUNFOztBOUQrS007RThEaExSO0lBSUk7Ozs7QUN0REo7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QS9EOE5NO0UrRGxPUjtJQU1JOzs7O0FBSUo7RUFDRTtFcEVFQSxhQ0ZrQjtFREdsQjtFQUNBO0VBNENBO0VBa0xJLFdBSmM7RUFLZCxhQUp1Qjs7QUtSckI7RStEeE5SO0lwRWNJLGFDSHNCOzs7QUk2TWxCO0UrRHhOUjtJcEU0T1EsV0FiWTtJQWNaLGFBYnFCOzs7QUtSckI7RStEeE5SO0lwRXVPUSxXQVRRO0lBVVIsYUFScUI7Ozs7QW9FM043QjtFQUNFOztBL0RrTk07RStEbk5SO0lBSUk7SUFDQTs7OztBQUlKO0VwRVhFLGFDRmtCO0VER2xCO0VBQ0E7RUFrQ0E7RUE0TEksV0FKYztFQUtkLGFBSnVCO0VTbElyQjtFMkQ3RU47RUFDQTs7QS9Ec01NO0UrRDFNUjtJcEVBSSxhQ0hzQjs7O0FJNk1sQjtFK0QxTVI7SXBFOE5RLFdBYlk7SUFjWixhQWJxQjs7O0FLUnJCO0UrRDFNUjtJcEV5TlEsV0FUUTtJQVVSLGFBUnFCOzs7QUtSckI7RStEMU1SO0kzRHVGVTs7O0FKbUhGO0UrRDFNUjtJQU1JOzs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QXREL0JBO0VBQ0U7RUFDQTtFQUNBOzs7QXNEZ0NKO0VBQ0U7OztBQUdGO0VBQ0U7O0EvRG1MTTtFK0RwTFI7SUFHSTs7OztBQU9KO0FBQUE7RUFFRTtFQUNBOztBL0R1S007RStEMUtSO0FBQUE7SUFNSTtJQUNBO0lBQ0E7Ozs7QUMvREo7RUFDRTtFQUNBOzs7QUFHRjtFQUNFOzs7QUNURjtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7O0FBQUE7QUFBQTs7QUFBQTtBQWdCQTtBQUVBO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBS0E7RUFDSTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJQTtFQUNJOzs7QUFLWjtBQUVBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTs7O0FBTVo7QUFFQTtBQUVJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUtaO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7O0FBRUE7RUFDSTs7QUFJWjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOzs7QUFRSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBQ0E7RUFDSTtFQUNBOztBQU9SO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtFQUNJOztBQUlSO0VBQ0k7O0FBQ0E7RUFDSSxPQ3JOSjtFRHNOSTs7O0FBTVo7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBS0U7RUFDSTtFQUNBO0VBQ0E7OztBQU9KO0VBQ0k7RUFDQTs7QUFHSjtFQUNJOztBQUdKO0VBQ0ksT0N6UEM7OztBRDhQVDtFQUNJOzs7QUFHSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFHSjtFQUNRO0VBQ0E7OztBQUdSO0VBQ0k7O0FBQ0E7RUFDSTs7O0FFdlVSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7OztBQ3BESjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUVJLFlGa0NJO0VFakNKO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0EsU0F6QmE7RUEwQmI7RUFDQTs7QUFFQTtFQUNJOztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOztBQUVBO0VBRUk7O0FBSVI7RUFDSTtFQUNBOztBQUVBO0VBRUk7O0FBSVI7RUFDSTtFQUNBOztBQUdKO0VBQ0ksWUZqQkM7O0FFb0JMO0VBQ0k7O0FBQ0E7RUFDSTs7O0FBT1I7RUFDRTs7QUFDRjtFQUNJO0VBQ0EsY0FwRmE7RUFxRmI7OztBQUlSO0VBQ0k7RUFDQTtFQUNBOzs7QUFDSDtFQUdHO0VBQ0E7RUFDQTtFQUNBOzs7QUFJSjtBQUFBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDbkhGO0VBQ0k7OztBQUdKO0VBRUk7RUFDSDtFQUNHO0VBQ0E7OztBQUVKO0VBRUk7RUFDQTtFQUNBOzs7QUFHSjtFQUVLO0VBQ0E7OztBQUdMO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUtKO0FBQUE7RUFHQTs7O0FBR0M7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlKO0VBQ0s7SUFDRztJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7OztBQUlSO0VBQ0s7SUFDRztJQUNBOzs7QUFJUDtBQUFBO0VBR0c7RUFDQTs7O0FBSUg7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFLSDtFQUNHO0VBQ0E7OztBQUdIO0VBQ0c7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBSUE7RUFDUTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ1I7RUFQQTtJQVFJOzs7O0FBTUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBOzs7QUFNUjtFQUNRO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFUjtFQUNRO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSVo7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDQztFQUNBOzs7QUM3T0Q7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUVGO0VBQ0U7SUFDRTs7RUFFRjtJQUNFO0lBQ0E7O0VBRUY7SUFDRTs7RUFFRjtJQUNFOzs7QUFHSjtBQUFBO0VBRUU7OztBQUVGO0VBQ0U7QUFBQTtJQUVFOzs7QUFHSjtFQUNFO0lBQ0U7OztBQUdKO0VBQ0U7SUFDRTs7O0FBR0o7RUFDRTtJQUNFOzs7QUM5Q0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FDUko7RUFDRTs7QUFFQTtFQUNFOzs7QUFLSjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBRUU7RUFDQTs7O0FBR0Y7RUFDRSxPTlVPO0VNVFA7OztBQUlBO0VBQ0U7RUFDQTs7O0FDN0NBO0VBQ0k7RUFDQTs7QUFFQTtFQUNJOztBQUVBO0FBQUE7RUFFSTs7QUFNWjtFQUNJO0VBQ0E7RUFDQTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtFQUNJLE9QSUo7RU9ISTs7O0FBS1o7RUFDSTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQ3ZFSjtFQUNFOzs7QUFPRTtBQUFBO0VBRUksWVJpQ0M7RVFoQ0QsT1I2QkE7RVE1QkE7RUFDQTtFQUNBOztBQUdKO0VBQ0ksU0F6QmE7O0FBNEJqQjtFQUVJO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7O0FBS1I7RUFDSSxTQTlDTTtFQStDTjs7QUFJQTtFQUNJLFlBbERIO0VBbURHLFFBdkRTO0VBd0RULFNBeERTO0VBMERUO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUtSO0VBQ0k7O0FBSVI7RUFDSSxTQTFFYTtFQTJFYjs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QUFLQTtFQUNJOzs7QUFVSjtFQUNJO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBS0o7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUtaO0VBRUksZUEvSFU7O0FBaUlWO0VBRUk7RUFDQTtFQUNBOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTs7QUFFQTtFQUNJO0VBQ0E7O0FBSVI7RUFFSTtFQUNBO0VBQ0U7RUFNRjtFQUNBO0VBR0E7RUFDQTtFQUNBO0VBR0E7O0FBR0o7RUFDSSxlQS9LQzs7QUFrTEw7RUFDSTtFQUNBOztBQUdKO0VBQ0k7OztBQU9KO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBSUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQU1aO0VBQ0k7RUFDQSxlQWxOVTtFQW1OVjtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTs7QUFLQTtFQUNJOztBQU1KO0VBQ0k7OztBQU9SO0VBQ0k7OztBQUlSO0FBQUE7QUFBQTtFQUVJOztBQUdBO0FBQUE7QUFBQTtFQUNJOztBQUdKO0FBQUE7QUFBQTtFQUNJOztBQUdKO0FBQUE7QUFBQTtFQUNJOztBQWVKO0FBQUE7QUFBQTtFQUNJO0VBQ0E7O0FBRUE7QUFBQTtBQUFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7QUFBQTtBQUFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7QUFBQTtBQUFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFTaEI7RUFDSTtFQUNBOzs7QUFLSjtFQUNJO0VBQ0E7O0FBS0E7RUFESjtJQUVRO0lBQ0EsZUF0VUg7Ozs7QUE2VUw7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUdJLFlSN1JDO0VROFJELGNSaFNDO0VRaVNELE9SbFNBOztBUW9TQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0ksT1JyU0o7O0FRdVNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFDSSxPUnhTSjs7QVEwU0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUNJLE9SM1NKOztBUTZTQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0ksT1I5U0o7O0FRb1RBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFHSSxjUnJWTjs7O0FROFZNO0VBREo7SUFFUTs7O0FBSVI7RUFDSSxZQW5YRTtFQW9YRjs7O0FBTVo7RUFFRSxZQS9YTzs7O0FBa1lUO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0ksWUEzWUs7RUE0WUw7RUFDQTs7O0FBUUo7RUFDRTs7O0FBT0U7RUFDSTs7QUFJQTtFQUNJOztBQUlSO0VBQ0k7OztBQUtSO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQXNDOzs7QUFFdEM7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUo7RUFDSTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFFSjtFQUNJO0VBQ0E7OztBQUlBO0VBQ1E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVSO0VBQ1E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJWjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBSUE7RUFDUTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlaO0FBQUE7QUFHSTtFQUNJOzs7QUFJUjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFLQTtFQUNJOztBQUdKO0VBQ0k7RUFDQTs7O0FBS1I7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FDOWtCSjtBQUFBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQVBGO0FBQUE7SUFRSTs7O0FBS0Y7QUFBQTtFQUNFOztBQUdGO0FBQUE7RUFDRTs7QUFHRjtBQUFBO0VBQ0U7O0FBR0Y7QUFBQTtFQUNFOztBQUdGO0FBQUE7RUFDRTs7QUFHRjtBQUFBO0VBQ0U7O0FBR0Y7QUFBQTtFQUNFO0VBQ0E7O0FBR0Y7QUFBQTtFQUNFOztBQUdGO0FBQUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtBQUFBO0VBQ0U7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSUY7QUFBQTtFQUVFO0VBQ0s7RUFDSztFQUVWO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUVBOztBQUdBO0FBQUE7QUFBQTtFQUNJOztBQUdKO0FBQUE7RUFDSTtFQUNBO0VBQ0E7O0FBQ0E7RUFKSjtBQUFBO0lBS1E7SUFDQTs7OztBQzNHWjtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOzs7QUFPTDtFQUNDOzs7QUFLSjtFQUNDOztBQUVBO0VBQ0M7OztBQUtFO0VBQ0k7O0FBR0o7RUFDSTtFQUNBLE9WakNLO0VVa0NMO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBLE9WM0NLO0VVNENMO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUtKO0VBQ0k7RUFDQTtFQUNBOztBQUVKO0VBQ0k7OztBQUtKO0VBQ0k7RUFDQTtFQUNBOztBQUVKO0VBQ0k7OztBQUtSO0VBQ0k7OztBQVVRO0VBQ0k7RUFDQTtFQUNBOztBQU1SO0VBQ0k7O0FBS0o7RUFDSTs7O0FBUVo7RUFDSTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDUTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlaO0VBRUk7RUFDQTtFQUNBLFlWaEZJO0VVaUZKO0VBQ0EsU0ZwSVU7RUVxSVY7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0VBQ0ksZUZySmE7RUVzSmI7O0FBRUE7RUFDSTs7QUFJUjtFQUNJOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsT1YxS0s7OztBVStLYjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0k7RUFDQTs7O0FBSVI7QUFBQTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0FBQUE7RUFDSTtFQUVBO0VBQ0E7RUFFQTtFQUNBOztBQUdBO0FBQUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtBQUFBO0VBQ0k7OztBQU9aO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJSjtFQUNFOzs7QUFNRjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0U7OztBQUdGO0VBQ0k7OztBQ3RTSjtFQUNJOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7O0FBQ0E7RUFDSTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlSO0VBQ0k7O0FBQ0E7RUFDSTs7QUFJUjtFQUNJOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFFSjtFQUNJOztBQUVKO0VBQ0k7O0FBRUo7RUFDSTtFQUNBOztBQUVKO0VBQ0k7O0FBR0o7RUFDSTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJOztBQUVBO0VBQ0k7RUFDQTs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDSTs7QUFJUjtFQUNJOztBQUNBO0VBQ0k7O0FBR0o7RUFDSTtFQUNBOztBQUVBO0VBQ0k7O0FBT3BCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7O0FBS1o7RUFDSTs7QUFHSjtFQUNJOztBQUVKO0VBQ0k7O0FBR0o7RUFDSTs7QUFJQTtFQUNJOztBQUVKO0VBQ0k7O0FBR0o7RUFDSTs7QUFJQTtFQUNJOztBQUVKO0VBQ0k7O0FBR0o7RUFDSTs7QUFLSjtFQUNJOztBQUtaO0VBQ0k7RUFDQTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTs7QUFJSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtJQUNJOzs7QUFHUjtFQUNJO0lBQ0k7SUFDQTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7QUFBQTtBQUFBO0VBR0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0VBQ0k7QUFBQTtBQUFBO0lBR0k7OztBQUdSO0VBQ0k7QUFBQTtBQUFBO0lBR0k7SUFDQTs7O0FBR1I7RUFDSTtBQUFBO0FBQUE7SUFHSTtJQUNBOzs7QUFHUjtBQUFBO0FBQUE7RUFHSTs7QUFHSjtFQUNJO0VBQ0E7O0FBRUo7RUFDSTtJQUNJOzs7QUFJUjtBQUFBO0VBRUk7O0FBRUo7QUFBQTtFQUVJO0VBQ0E7O0FBR0o7RUFDSTs7QUFHSjtFQUNJOztBQUdKO0FBQUE7QUFBQTtBQUFBO0VBSUk7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTs7QUFFSjtFQUNJOztBQUVKO0VBQ0k7O0FBRUo7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7O0FBRUo7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOzs7QUFHUjtFQUNJO0VBQ0E7RUFDQTs7QUFFSjtBQUFBO0FBQUE7RUFHSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0VBQ0k7O0FBRUo7RUFDSTs7QUFFSjtFQUNJOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTs7QUFFSjtFQUNJO0VBQ0E7O0FBRUo7QUFBQTtFQUVJO0VBQ0E7O0FBRUo7RUFDSTs7QUFFSjtFQUNJOztBQUVKO0VBQ0k7O0FBRUo7QUFBQTtFQUVJOztBQUVKO0VBQ0k7RUFDQTs7QUFFSjtFQUNJOztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTs7QUFFSjtFQUNJOztBQUlKO0VBQ0k7O0FBRUo7RUFDSTs7QUFHSjtFQUNJOzs7QUNoakJSO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7O0FBRUE7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBRUU7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJSjtFQUNFOzs7QUFNSjtFQUNFOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUo7RUFDRTs7O0FDekVGO0VBQ0k7O0FBRUE7RUFDRTs7QUFHRjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFLUjtFQUVJO0VBQ0E7RUFDQSxZQXZCSTtFQXdCSjtFQUNBLFNBNUJVO0VBNkJWO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUdKO0VBQ0ksZUF4Q2E7O0FBMENiO0VBQ0k7O0FBS1I7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLE9BeERLOzs7QUE0RGI7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOztBQUNBO0VBQ1E7OztBQUlaO0VBQ0k7OztBQ25GSjtFQUVJO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDSTtFQUNBOztBQUlOO0VBQ0k7RUFDQTs7O0FBU0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTs7QUFHSjtFQUNJOztBQUNBO0VBQ0ksWUQ3Q0o7RUM4Q0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsY0R2REU7RUN3REY7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFNSjtFQUNJLE9EbEVDOzs7QUMwRUw7RUFFSSxPRDVFQztFQzZFRDs7QUFHSjtFQUNFOztBQUdGO0VBQ0k7O0FBRUE7RUFFSSxZRHpGSDtFQzBGRyxPRHhGUjtFQ3lGUTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFRaEI7QUFDQTtFQUNFLGtCRHpHVztFQzBHWCxPRHhHTTs7QUMwR047RUFDRSxPRDNHSTs7QUM4R047RUFDRTs7O0FBS0o7RUFDRSxrQmR6R0k7RWMwR0osT0R0SE07O0FDd0hOO0VBQ0UsT0R6SEk7O0FDNEhOO0VBQ0U7OztBQUlKO0VBQ0Usa0JkekdPO0VjMEdQLE9kekZNOztBYzJGTjtFQUNFLE9kNUZJOztBYytGTjtFQUNFOzs7QUFJSjtFQUNFLGtCZGhITTtFY2lITixPRGhKTTs7QUNrSk47RUFDRSxPRG5KSTs7QUNzSk47RUFDRTs7O0FBVUY7RUFDRTtFQUNBLFlkdkpFO0Vjd0pGLE9EcEtJOztBQ3NLSjtFQUNFOzs7QUFRRjtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUN2TlI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNGO0VBVEY7SUFVSTtJQUNBOzs7O0FBSUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDRjtFQVJGO0lBU0U7SUFDQTs7OztBQUlGO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDRjtFQVRGO0lBVUU7SUFDQTs7OztBQUlGO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFMSjtJQU1ROzs7O0FBS1I7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNJO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTs7O0FBRUo7RUFDSTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7OztBQy9GSjtFQUNFLFlIQ087OztBR0VUO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0VBTEY7SUFNSTtJQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTs7O0FBS047RUFDSTs7O0FBR0o7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQ3BGSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRjtFQUNFO0lBQ0U7SUFDQTs7O0FBSUg7RUFDRTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0g7RUFDRTtJQUNFO0lBQ0E7OztBQUlKO0VBQ0U7SUFDRTtJQUNBOzs7QUFJSDtBQUFBO0VBRUU7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdIO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTtJQUNFO0lBQ0E7OztBQ3RISjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtJQUNFO0lBQ0E7O0VBRUg7SUFDQzs7O0FBS0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBSUE7RUFDSTtFQUNBOztBQUVKO0VBQ0k7RUFDQTs7O0FBR1I7RUFDSTs7O0FBRUo7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJOztBQUVBO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFPQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDdkdaO0VBQ0U7RUFDQTs7O0FBQ0E7RUFDRTtJQUNFOzs7QUFFTjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUNBO0VBQ0U7SUFDRTtJQUNBOzs7QUFFTjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUNBO0VBQ0U7SUFDRTtJQUNBOzs7QUFDTjtFQUNFOzs7QUFFSjtFQUNJOzs7QUFHSjtFQUNFOzs7QUFJQTtFQUNFOztBQUVGO0VBQ0U7RUFDQTs7O0FDeERKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFJSjtFQUNJOzs7QUFHSjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFJRjtBQUFBO0FBQUE7RUFHRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQzlDRjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FDZko7RUFFSTtJQUNFOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFOztFQUdGO0lBQ0U7OztBQUtOO0VBQ0U7SUFDRTtJQUNBOztFQUVBO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7O0VBR0Y7SUFFRTs7O0FBS047RUFHRTs7O0FDekRGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJSjtFQUNFO0lBQ0U7O0VBRUY7SUFDRTs7O0FDM0JKO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUVFOzs7QUMvQkY7RUFDRTtFQUNBOzs7QUNGRjtFQUNFO0VBQ0E7RUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBOztBQUlBO0VBUkY7SUFTTTs7OztBQUlOO0VBQ0U7OztBQ2RGO0VBRUU7OztBQ0ZGO0FBQUE7QUFBQTtBQVlBO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUNBO0VBRkY7SUFHSTs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QUFLTjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUdGO0VBQ0U7RUFDQTtFQUNBOztBQUdGO0VBRUU7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7O0FBTVI7RUFDRTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QUFJSjtFQUNFO0VBQ0E7RUFDQTs7QUFLTjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQWpORjtFQXdOQTtJQUNFOztFQUVBO0lBQ0U7O0VBSUE7SUFDRTs7RUFHRjtJQUNFOzs7QUFPVjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQ25SRjtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7QUFDQTtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7SUFDRTtJQUNBOztFQUVGO0lBQ0U7SUFDQTs7O0FBR0o7RUFDRTtJQUNFO0lBQ0E7O0VBRUY7SUFDRTtJQUNBOzs7QUFHSjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBS0U7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtBQUFBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7QUFFQTtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtBQUFBO0FBQUE7RUFHRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtBQUFBO0VBR0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtFQUNFOzs7QUFFRjtBQUFBO0FBQUE7RUFHRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7QUFBQTtFQUdFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7QUFBQTtBQUFBO0VBSUU7OztBQUVGO0FBQUE7QUFBQTtFQUdFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtBQUFBO0VBR0U7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7QUFBQTtFQUdFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBS0U7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtFQUNFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtBQUFBO0VBR0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRSIsImZpbGUiOiJhcHBsaWNhdGlvbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6cm9vdCB7XG4gIC8vIFRoaXMgdmFyaWFibGUgaXMgYXV0b21hdGljYWxseSBvdmVyd3JpdHRlbiBkdXJpbmcgYnVpbGRzIGFuZCByZWxlYXNlcy5cbiAgLy8gSXQgZG9lc24ndCBuZWVkIHRvIGJlIHVwZGF0ZWQgbWFudWFsbHkuXG4gIC0tZ292dWstZnJvbnRlbmQtdmVyc2lvbjogXCI1LjcuMVwiO1xuXG4gIC8vIENTUyBjdXN0b20gcHJvcGVydHkgZm9yIGVhY2ggYnJlYWtwb2ludFxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRnb3Z1ay1icmVha3BvaW50cyB7XG4gICAgLS1nb3Z1ay1mcm9udGVuZC1icmVha3BvaW50LSN7JG5hbWV9OiAje2dvdnVrLXB4LXRvLXJlbSgkdmFsdWUpfTtcbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1fZ292dWstZnJvbnRlbmQtcHJvcGVydGllcy5zY3NzLm1hcCAqL1xuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvcmUvbGlua3NcIikge1xuICAlZ292dWstbGluayB7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1kZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstcHJpbnQtZnJpZW5kbHk7XG4gIH1cblxuICAuZ292dWstbGluayB7XG4gICAgQGV4dGVuZCAlZ292dWstbGluaztcbiAgfVxuXG4gIC8vIFZhcmlhbnQgY2xhc3NlcyBzaG91bGQgYWx3YXlzIGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgLmdvdnVrLWxpbmtcbiAgLy8gY2xhc3MsIHNvIHdlIGRvIG5vdCBuZWVkIHRoZSBjb21tb24gbGluayBzdHlsZXMgYXMgdGhleSB3aWxsIGJlIGluaGVyaXRlZC5cblxuICAuZ292dWstbGluay0tbXV0ZWQge1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtbXV0ZWQ7XG4gIH1cblxuICAuZ292dWstbGluay0tdGV4dC1jb2xvdXIge1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtdGV4dDtcbiAgfVxuXG4gIC5nb3Z1ay1saW5rLS1pbnZlcnNlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLWludmVyc2U7XG4gIH1cblxuICAuZ292dWstbGluay0tbm8tdW5kZXJsaW5lIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLW5vLXVuZGVybGluZTtcbiAgfVxuXG4gIC5nb3Z1ay1saW5rLS1uby12aXNpdGVkLXN0YXRlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLW5vLXZpc2l0ZWQtc3RhdGU7XG4gIH1cblxuICAvLyBMaW5rcyB0aGF0IG9ubHkgY29udGFpbiBpbWFnZXNcblxuICAuZ292dWstbGluay1pbWFnZSB7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1pbWFnZTtcbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1fbGlua3Muc2Nzcy5tYXAgKi9cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgaGVscGVycy90eXBvZ3JhcGh5XG4vLy8vXG5cbkBpbXBvcnQgXCIuLi90b29scy9weC10by1yZW1cIjtcblxuLy8vICdDb21tb24gdHlwb2dyYXBoeScgaGVscGVyXG4vLy9cbi8vLyBTZXRzIHRoZSBmb250IGZhbWlseSBhbmQgYXNzb2NpYXRlZCBwcm9wZXJ0aWVzLCBzdWNoIGFzIGZvbnQgc21vb3RoaW5nLiBBbHNvXG4vLy8gb3ZlcnJpZGVzIHRoZSBmb250IGZvciBwcmludC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGZvbnQtZmFtaWx5IFskZ292dWstZm9udC1mYW1pbHldIEZvbnQgZmFtaWx5IHRvIHVzZVxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay10eXBvZ3JhcGh5LWNvbW1vbigkZm9udC1mYW1pbHk6ICRnb3Z1ay1mb250LWZhbWlseSkge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcblxuICAvLyBJZiB0aGUgdXNlciBpcyB1c2luZyB0aGUgZGVmYXVsdCBHRFMgVHJhbnNwb3J0IGZvbnQgd2UgbmVlZCB0byBpbmNsdWRlXG4gIC8vIHRoZSBmb250LWZhY2UgZGVjbGFyYXRpb25zLlxuICBAaWYgJGdvdnVrLWluY2x1ZGUtZGVmYXVsdC1mb250LWZhY2Uge1xuICAgIEBpbmNsdWRlIF9nb3Z1ay1mb250LWZhY2UtZ2RzLXRyYW5zcG9ydDtcbiAgfVxuXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRtZWRpYS10eXBlOiBwcmludCkge1xuICAgIGZvbnQtZmFtaWx5OiAkZ292dWstZm9udC1mYW1pbHktcHJpbnQ7XG4gIH1cbn1cblxuLy8vIFRleHQgY29sb3VyIGhlbHBlclxuLy8vXG4vLy8gU2V0cyB0aGUgdGV4dCBjb2xvdXIsIGluY2x1ZGluZyBhIHN1aXRhYmxlIG92ZXJyaWRlIGZvciBwcmludC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay10ZXh0LWNvbG91ciB7XG4gIGNvbG9yOiAkZ292dWstdGV4dC1jb2xvdXI7XG5cbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJG1lZGlhLXR5cGU6IHByaW50KSB7XG4gICAgY29sb3I6ICRnb3Z1ay1wcmludC10ZXh0LWNvbG91cjtcbiAgfVxufVxuXG4vLy8gUmVndWxhciBmb250IHdlaWdodCBoZWxwZXJcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGltcG9ydGFudCBbZmFsc2VdIC0gV2hldGhlciB0byBtYXJrIGRlY2xhcmF0aW9ucyBhc1xuLy8vICAgYCFpbXBvcnRhbnRgLiBHZW5lcmFsbHkgVXNlZCB0byBjcmVhdGUgb3ZlcnJpZGUgY2xhc3Nlcy5cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtcmVndWxhcigkaW1wb3J0YW50OiBmYWxzZSkge1xuICBmb250LXdlaWdodDogJGdvdnVrLWZvbnQtd2VpZ2h0LXJlZ3VsYXIgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG59XG5cbi8vLyBCb2xkIGZvbnQgd2VpZ2h0IGhlbHBlclxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW1wb3J0YW50IFtmYWxzZV0gLSBXaGV0aGVyIHRvIG1hcmsgZGVjbGFyYXRpb25zIGFzXG4vLy8gICBgIWltcG9ydGFudGAuIEdlbmVyYWxseSBVc2VkIHRvIGNyZWF0ZSBvdmVycmlkZSBjbGFzc2VzLlxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1ib2xkKCRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIGZvbnQtd2VpZ2h0OiAkZ292dWstZm9udC13ZWlnaHQtYm9sZCBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcbn1cblxuLy8vIFRhYnVsYXIgbnVtYmVyIGhlbHBlclxuLy8vXG4vLy8gU3dpdGNoZXMgbnVtZXJpY2FsIGdseXBocyAoMOKAkzkpIHRvIHVzZSBhbHRlcm5hdGl2ZSBmb3JtcyB3aXRoIGFcbi8vLyBtb25vc3BhY2VkIGJvdW5kaW5nIGJveC4gVGhpcyBlbnN1cmVzIHRoYXQgY29sdW1ucyBvZiBudW1iZXJzLCBzdWNoXG4vLy8gYXMgdGhvc2UgaW4gdGFibGVzLCByZW1haW4gaG9yaXpvbnRhbGx5IGFsaWduZWQgd2l0aCBvbmUgYW5vdGhlci5cbi8vLyBUaGlzIGFsc28gaGFzIHRoZSB1c2VmdWwgc2lkZSBlZmZlY3Qgb2YgbWFraW5nIG51bWJlcnMgbW9yZSBsZWdpYmxlXG4vLy8gaW4gc29tZSBzaXR1YXRpb25zLCBzdWNoIGFzIHJlZmVyZW5jZSBjb2RlcywgYXMgdGhlIG51bWJlcnMgYXJlIG1vcmVcbi8vLyBkaXN0aW5jdCBhbmQgdmlzdWFsbHkgc2VwYXJhdGVkIGZyb20gb25lIGFub3RoZXIuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbXBvcnRhbnQgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gbWFyayBkZWNsYXJhdGlvbnMgYXNcbi8vLyAgIGAhaW1wb3J0YW50YC4gR2VuZXJhbGx5IFVzZWQgdG8gY3JlYXRlIG92ZXJyaWRlIGNsYXNzZXMuXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWZvbnQtdGFidWxhci1udW1iZXJzKCRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXMgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG59XG5cbi8vLyBXb3JkIGJyZWFrIGhlbHBlclxuLy8vXG4vLy8gRm9yY2libHkgYnJlYWtzIGxvbmcgd29yZHMgdGhhdCBsYWNrIHNwYWNlcywgc3VjaCBhcyBlbWFpbCBhZGRyZXNzZXMsXG4vLy8gYWNyb3NzIG11bHRpcGxlIGxpbmVzIHdoZW4gdGhleSB3b3VsZG4ndCBvdGhlcndpc2UgZml0LlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW1wb3J0YW50IFtmYWxzZV0gLSBXaGV0aGVyIHRvIG1hcmsgZGVjbGFyYXRpb25zIGFzXG4vLy8gICBgIWltcG9ydGFudGAuIEdlbmVyYWxseSB1c2VkIHRvIGNyZWF0ZSBvdmVycmlkZSBjbGFzc2VzLlxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay10ZXh0LWJyZWFrLXdvcmQoJGltcG9ydGFudDogZmFsc2UpIHtcbiAgLy8gSUUgMTEgYW5kIEVkZ2UgMTbigJMxNyBvbmx5IHN1cHBvcnQgdGhlIG5vbi1zdGFuZGFyZCBgd29yZC13cmFwYCBwcm9wZXJ0eVxuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG5cbiAgLy8gQWxsIG90aGVyIGJyb3dzZXJzIHN1cHBvcnQgYG92ZXJmbG93LXdyYXBgXG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG59XG5cbi8vLyBDb252ZXJ0IGxpbmUtaGVpZ2h0cyBzcGVjaWZpZWQgaW4gcGl4ZWxzIGludG8gYSByZWxhdGl2ZSB2YWx1ZSwgdW5sZXNzXG4vLy8gdGhleSBhcmUgYWxyZWFkeSB1bml0LWxlc3MgKGFuZCB0aHVzIGFscmVhZHkgdHJlYXRlZCBhcyByZWxhdGl2ZSB2YWx1ZXMpXG4vLy8gb3IgdGhlIHVuaXRzIGRvIG5vdCBtYXRjaCB0aGUgdW5pdHMgdXNlZCBmb3IgdGhlIGZvbnQgc2l6ZS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbGluZS1oZWlnaHQgTGluZSBoZWlnaHRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGZvbnQtc2l6ZSBGb250IHNpemVcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IFRoZSBsaW5lIGhlaWdodCBhcyBlaXRoZXIgYSByZWxhdGl2ZSB2YWx1ZSBvciB1bm1vZGlmaWVkXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuQGZ1bmN0aW9uIF9nb3Z1ay1saW5lLWhlaWdodCgkbGluZS1oZWlnaHQsICRmb250LXNpemUpIHtcbiAgQGlmIG5vdCB1bml0bGVzcygkbGluZS1oZWlnaHQpIGFuZCB1bml0KCRsaW5lLWhlaWdodCkgPT0gdW5pdCgkZm9udC1zaXplKSB7XG4gICAgJGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQgLyAkZm9udC1zaXplO1xuICB9XG5cbiAgQHJldHVybiAkbGluZS1oZWlnaHQ7XG59XG5cbi8vLyBGb250IHNpemUgYW5kIGxpbmUgaGVpZ2h0IGhlbHBlclxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIC0gUG9pbnQgZnJvbSB0aGUgdHlwZSBzY2FsZSAodGhlIHNpemUgYXMgaXQgd291bGRcbi8vLyAgIGFwcGVhciBvbiB0YWJsZXQgYW5kIGFib3ZlKVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb3ZlcnJpZGUtbGluZS1oZWlnaHQgW2ZhbHNlXSAtIE5vbiByZXNwb25zaXZlIGN1c3RvbSBsaW5lXG4vLy8gICBoZWlnaHQuIE9taXQgdG8gdXNlIHRoZSBsaW5lIGhlaWdodCBmcm9tIHRoZSBmb250IG1hcC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbXBvcnRhbnQgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gbWFyayBkZWNsYXJhdGlvbnMgYXNcbi8vLyAgIGAhaW1wb3J0YW50YC5cbi8vL1xuLy8vIEB0aHJvdyBpZiBgJHNpemVgIGlzIG5vdCBhIHZhbGlkIHBvaW50IGZyb20gdGhlIHR5cGUgc2NhbGVcbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy9cbi8vLyBAYWxpYXMgZ292dWstZm9udC1zaXplXG4vLy8gQGRlcHJlY2F0ZWQgVXNlIGBnb3Z1ay1mb250LXNpemVgIGluc3RlYWRcblxuQG1peGluIGdvdnVrLXR5cG9ncmFwaHktcmVzcG9uc2l2ZSgkc2l6ZSwgJG92ZXJyaWRlLWxpbmUtaGVpZ2h0OiBmYWxzZSwgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgQGluY2x1ZGUgX3dhcm5pbmcoXG4gICAgXCJnb3Z1ay10eXBvZ3JhcGh5LXJlc3BvbnNpdmVcIixcbiAgICBcImdvdnVrLXR5cG9ncmFwaHktcmVzcG9uc2l2ZSBpcyBkZXByZWNhdGVkLiBVc2UgZ292dWstZm9udC1zaXplIGluc3RlYWQuXCJcbiAgKTtcbiAgQGluY2x1ZGUgZ292dWstZm9udC1zaXplKCRzaXplLCAkb3ZlcnJpZGUtbGluZS1oZWlnaHQsICRpbXBvcnRhbnQpO1xufVxuXG4vLy8gRm9udCBzaXplIGFuZCBsaW5lIGhlaWdodCBoZWxwZXJcbi8vL1xuLy8vIFRha2VzIGEgcG9pbnQgZnJvbSB0aGUgcmVzcG9uc2l2ZSAnZm9udCBtYXAnIGFzIGFuIGFyZ3VtZW50ICh0aGUgc2l6ZSBhcyBpdFxuLy8vIHdvdWxkIGFwcGVhciBvbiB0YWJsZXQgYW5kIGFib3ZlKSwgYW5kIHVzZXMgaXQgdG8gY3JlYXRlIGZvbnQtc2l6ZSBhbmRcbi8vLyBsaW5lLWhlaWdodCBkZWNsYXJhdGlvbnMgZm9yIGRpZmZlcmVudCBicmVha3BvaW50cywgYW5kIHByaW50LlxuLy8vXG4vLy8gRXhhbXBsZSBmb250IG1hcDpcbi8vL1xuLy8vIGBgYHNjc3Ncbi8vLyAxOTogKFxuLy8vICAgbnVsbDogKFxuLy8vICAgICBmb250LXNpemU6IDE2cHgsXG4vLy8gICAgIGxpbmUtaGVpZ2h0OiAyMHB4XG4vLy8gICApLFxuLy8vICAgdGFibGV0OiAoXG4vLy8gICAgIGZvbnQtc2l6ZTogMTlweCxcbi8vLyAgICAgbGluZS1oZWlnaHQ6IDI1cHhcbi8vLyAgICksXG4vLy8gICBwcmludDogKFxuLy8vICAgICBmb250LXNpemU6IDE0cHQsXG4vLy8gICAgIGxpbmUtaGVpZ2h0OiAxLjE1XG4vLy8gICApXG4vLy8gKTtcbi8vLyBgYGBcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyIHwgU3RyaW5nfSAkc2l6ZSAtIFBvaW50IGZyb20gdGhlIHR5cGUgc2NhbGUgKHRoZSBzaXplIGFzXG4vLy8gICBpdCB3b3VsZCBhcHBlYXIgb24gdGFibGV0IGFuZCBhYm92ZSlcbi8vLyBAcGFyYW0ge051bWJlcn0gJGxpbmUtaGVpZ2h0IFtmYWxzZV0gLSBOb24gcmVzcG9uc2l2ZSBjdXN0b20gbGluZVxuLy8vICAgaGVpZ2h0LiBPbWl0IHRvIHVzZSB0aGUgbGluZSBoZWlnaHQgZnJvbSB0aGUgZm9udCBtYXAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW1wb3J0YW50IFtmYWxzZV0gLSBXaGV0aGVyIHRvIG1hcmsgZGVjbGFyYXRpb25zIGFzXG4vLy8gICBgIWltcG9ydGFudGAuXG4vLy9cbi8vLyBAdGhyb3cgaWYgYCRzaXplYCBpcyBub3QgYSB2YWxpZCBwb2ludCBmcm9tIHRoZSB0eXBlIHNjYWxlXG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstZm9udC1zaXplKCRzaXplLCAkbGluZS1oZWlnaHQ6IGZhbHNlLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICAvLyBGbGFnIGZvbnQgc2l6ZXMgdGhhdCBzdGFydCB3aXRoIHVuZGVyc2NvcmVzIHNvIHdlIGNhbiBzdXBwcmVzcyB3YXJuaW5ncyBvblxuICAvLyBkZXByZWNhdGVkIHNpemVzIHVzZWQgaW50ZXJuYWxseSwgZm9yIGV4YW1wbGUgYGdvdnVrLWZvbnQoJHNpemU6IFwiXzE0XCIpYFxuICAkc2l6ZS1pbnRlcm5hbC11c2Utb25seTogc3RyLXNsaWNlKCN7JHNpemV9LCAxLCAxKSA9PSBcIl9cIjtcblxuICAvLyBSZW1vdmUgdW5kZXJzY29yZSBmcm9tIGZvbnQgc2l6ZXMgZmxhZ2dlZCBmb3IgaW50ZXJuYWwgdXNlXG4gIEBpZiAkc2l6ZS1pbnRlcm5hbC11c2Utb25seSB7XG4gICAgJHNpemU6IHN0ci1zbGljZSgjeyRzaXplfSwgMik7XG4gIH1cblxuICAvLyBDaGVjayBmb3IgYSBmb250IG1hcCBleGFjdGx5IG1hdGNoaW5nIHRoZSBnaXZlbiBzaXplXG4gICRmb250LW1hcDogbWFwLWdldCgkZ292dWstdHlwb2dyYXBoeS1zY2FsZSwgJHNpemUpO1xuXG4gIC8vIE5vIG1hdGNoPyBUcnkgd2l0aCBzdHJpbmcgdHlwZSAoZS5nLiAkc2l6ZTogXCIxNlwiIG5vdCAxNilcbiAgQGlmIG5vdCAkZm9udC1tYXAge1xuICAgIEBlYWNoICRmb250LXNpemUgaW4gbWFwLWtleXMoJGdvdnVrLXR5cG9ncmFwaHktc2NhbGUpIHtcbiAgICAgIEBpZiBub3QgJGZvbnQtbWFwIGFuZCAjeyRmb250LXNpemV9ID09ICN7JHNpemV9IHtcbiAgICAgICAgJGZvbnQtbWFwOiBtYXAtZ2V0KCRnb3Z1ay10eXBvZ3JhcGh5LXNjYWxlLCAkZm9udC1zaXplKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTdGlsbCBubyBtYXRjaD8gVGhyb3cgZXJyb3JcbiAgQGlmIG5vdCAkZm9udC1tYXAge1xuICAgIEBlcnJvciBcIlVua25vd24gZm9udCBzaXplIGAjeyRzaXplfWAgLSBleHBlY3RlZCBhIHBvaW50IGZyb20gdGhlIHR5cGUgc2NhbGUuXCI7XG4gIH1cblxuICAvLyBDaGVjayBmb3IgYSBkZXByZWNhdGlvbiB3aXRoaW4gdGhlIHR5cGUgc2NhbGVcbiAgJGRlcHJlY2F0aW9uOiBtYXAtZ2V0KCRmb250LW1hcCwgXCJkZXByZWNhdGlvblwiKTtcblxuICBAaWYgJGRlcHJlY2F0aW9uIHtcbiAgICAvLyBXYXJuIG9uIGRlcHJlY2F0ZWQgZm9udCBzaXplcyB1bmxlc3MgZmxhZ2dlZCBmb3IgaW50ZXJuYWwgdXNlXG4gICAgQGlmIG5vdCAkc2l6ZS1pbnRlcm5hbC11c2Utb25seSB7XG4gICAgICBAaW5jbHVkZSBfd2FybmluZyhtYXAtZ2V0KCRkZXByZWNhdGlvbiwgXCJrZXlcIiksIG1hcC1nZXQoJGRlcHJlY2F0aW9uLCBcIm1lc3NhZ2VcIikpO1xuICAgIH1cblxuICAgIC8vIHJlbW92ZSB0aGUgZGVwcmVjYXRpb24gbWFwIGtleXMgc28gdGhleSBkbyBub3QgYnJlYWsgdGhlIGJyZWFrcG9pbnQgbG9vcFxuICAgICRmb250LW1hcDogbWFwLXJlbW92ZSgkZm9udC1tYXAsIFwiZGVwcmVjYXRpb25cIik7XG4gIH1cblxuICBAZWFjaCAkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnQtbWFwIGluICRmb250LW1hcCB7XG4gICAgJGZvbnQtc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludC1tYXAsIFwiZm9udC1zaXplXCIpO1xuICAgICRmb250LXNpemUtcmVtOiBnb3Z1ay1weC10by1yZW0oJGZvbnQtc2l6ZSk7XG5cbiAgICAvLyAkY2FsY3VsYXRlZC1saW5lLWhlaWdodCBpcyBhIHNlcGFyYXRlIHZhcmlhYmxlIGZyb20gJGxpbmUtaGVpZ2h0LFxuICAgIC8vIGFzIG90aGVyd2lzZSB0aGUgdmFsdWUgd291bGQgZ2V0IHJlZGVmaW5lZCB3aXRoIGVhY2ggbG9vcCBhbmRcbiAgICAvLyBldmVudHVhbGx5IGJyZWFrIF9nb3Z1ay1saW5lLWhlaWdodC5cbiAgICAvL1xuICAgIC8vIFdlIGNvbnRpbnVlIHRvIGNhbGwgdGhlIHBhcmFtICRsaW5lLWhlaWdodCB0byBzdGF5IGNvbnNpc3RlbnQgd2l0aCB0aGVcbiAgICAvLyBuYW1pbmcgd2l0aCBnb3Z1ay1mb250LlxuICAgICRjYWxjdWxhdGVkLWxpbmUtaGVpZ2h0OiBfZ292dWstbGluZS1oZWlnaHQoXG4gICAgICAkbGluZS1oZWlnaHQ6IGlmKCRsaW5lLWhlaWdodCwgJGxpbmUtaGVpZ2h0LCBtYXAtZ2V0KCRicmVha3BvaW50LW1hcCwgXCJsaW5lLWhlaWdodFwiKSksXG4gICAgICAkZm9udC1zaXplOiAkZm9udC1zaXplXG4gICAgKTtcblxuICAgIC8vIE1hcmsgcnVsZXMgYXMgIWltcG9ydGFudCBpZiAkaW1wb3J0YW50IGlzIHRydWUgLSB0aGlzIHdpbGwgcmVzdWx0IGluXG4gICAgLy8gdGhlc2UgdmFyaWFibGVzIGJlY29taW5nIHN0cmluZ3MsIHNvIHRoaXMgbmVlZHMgdG8gaGFwcGVuICphZnRlciogdGhleVxuICAgIC8vIGFyZSB1c2VkIGluIGNhbGN1bGF0aW9uc1xuICAgICRmb250LXNpemU6ICRmb250LXNpemUgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgJGZvbnQtc2l6ZS1yZW06ICRmb250LXNpemUtcmVtIGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICRjYWxjdWxhdGVkLWxpbmUtaGVpZ2h0OiAkY2FsY3VsYXRlZC1saW5lLWhlaWdodCBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcblxuICAgIEBpZiBub3QgJGJyZWFrcG9pbnQge1xuICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkY2FsY3VsYXRlZC1saW5lLWhlaWdodDtcbiAgICB9IEBlbHNlIGlmICRicmVha3BvaW50ID09IFwicHJpbnRcIiB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkbWVkaWEtdHlwZTogcHJpbnQpIHtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGNhbGN1bGF0ZWQtbGluZS1oZWlnaHQ7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRjYWxjdWxhdGVkLWxpbmUtaGVpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gRm9udCBoZWxwZXJcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyIHwgQm9vbGVhbiB8IFN0cmluZ30gJHNpemUgUG9pbnQgZnJvbSB0aGUgdHlwZSBzY2FsZSAodGhlXG4vLy8gICBzaXplIGFzIGl0IHdvdWxkIGFwcGVhciBvbiB0YWJsZXQgYW5kIGFib3ZlKS4gVXNlIGBmYWxzZWAgdG8gYXZvaWQgc2V0dGluZ1xuLy8vICAgYSBzaXplLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkd2VpZ2h0IFtyZWd1bGFyXSAtIFdlaWdodDogYGJvbGRgIG9yIGByZWd1bGFyYFxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHRhYnVsYXIgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gdXNlIHRhYnVsYXIgbnVtYmVycyBvciBub3Rcbi8vLyBAcGFyYW0ge051bWJlcn0gJGxpbmUtaGVpZ2h0IFtmYWxzZV0gLSBMaW5lLWhlaWdodCwgaWYgb3ZlcnJpZGluZyB0aGVcbi8vLyAgIGRlZmF1bHRcbi8vL1xuLy8vIEB0aHJvdyBpZiBgJHNpemVgIGlzIG5vdCBhIHZhbGlkIHBvaW50IGZyb20gdGhlIHR5cGUgc2NhbGUgKG9yIGZhbHNlKVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWZvbnQoJHNpemUsICR3ZWlnaHQ6IHJlZ3VsYXIsICR0YWJ1bGFyOiBmYWxzZSwgJGxpbmUtaGVpZ2h0OiBmYWxzZSkge1xuICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LWNvbW1vbjtcblxuICBAaWYgJHRhYnVsYXIge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQtdGFidWxhci1udW1iZXJzO1xuICB9XG5cbiAgQGlmICR3ZWlnaHQgPT0gcmVndWxhciB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtcmVndWxhcjtcbiAgfSBAZWxzZSBpZiAkd2VpZ2h0ID09IGJvbGQge1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LWJvbGQ7XG4gIH1cblxuICBAaWYgJHNpemUge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQtc2l6ZSgkc2l6ZSwgJGxpbmUtaGVpZ2h0KTtcbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1fdHlwb2dyYXBoeS5zY3NzLm1hcCAqL1xuIiwiLy8vL1xuLy8vIEBncm91cCBzZXR0aW5ncy90eXBvZ3JhcGh5XG4vLy8vXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRm9udCBmYW1pbGllc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vLyBGb250IGZhbWlsaWVzIHRvIHVzZSBmb3IgYWxsIHR5cG9ncmFwaHkgb24gc2NyZWVuIG1lZGlhXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWZvbnQtZmFtaWx5OiBcIkdEUyBUcmFuc3BvcnRcIiwgYXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlsaWVzIHRvIHVzZSBmb3IgcHJpbnQgbWVkaWFcbi8vL1xuLy8vIFdlIHJlY29tbWVuZCB0aGF0IHlvdSB1c2Ugc3lzdGVtIGZvbnRzIHdoZW4gcHJpbnRpbmcuIFRoaXMgd2lsbCBhdm9pZCBpc3N1ZXNcbi8vLyB3aXRoIHNvbWUgcHJpbnRlciBkcml2ZXJzIGFuZCBvcGVyYXRpbmcgc3lzdGVtcy5cbi8vL1xuLy8vIEB0eXBlIExpc3Rcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstZm9udC1mYW1pbHktcHJpbnQ6IHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vLyBJbmNsdWRlIHRoZSBkZWZhdWx0IEBmb250LWZhY2UgZGVjbGFyYXRpb25zXG4vLy9cbi8vLyBEZWZhdWx0cyB0byB0cnVlIGlmIFwiR0RTIFRyYW5zcG9ydFwiIGFwcGVhcnMgaW4gdGhlICRnb3Z1ay1mb250LWZhbWlseVxuLy8vIHNldHRpbmcuXG4vLy9cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWluY2x1ZGUtZGVmYXVsdC1mb250LWZhY2U6IGlmKGluZGV4KCRnb3Z1ay1mb250LWZhbWlseSwgXCJHRFMgVHJhbnNwb3J0XCIpLCB0cnVlLCBmYWxzZSkgIWRlZmF1bHQ7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRm9udCB3ZWlnaHRzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8vIEZvbnQgd2VpZ2h0IGZvciByZWd1bGFyIHR5cG9ncmFwaHlcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG4kZ292dWstZm9udC13ZWlnaHQtcmVndWxhcjogNDAwICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGJvbGQgdHlwb2dyYXBoeVxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcbiRnb3Z1ay1mb250LXdlaWdodC1ib2xkOiA3MDAgIWRlZmF1bHQ7XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV90eXBvZ3JhcGh5LWZvbnQuc2Nzcy5tYXAgKi9cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgaGVscGVycy9saW5rc1xuLy8vL1xuXG4vLy8gQ29tbW9uIGxpbmsgc3R5bGVzXG4vLy9cbi8vLyBQcm92aWRlcyB0aGUgdHlwb2dyYXBoeSBhbmQgZm9jdXMgc3RhdGUsIHJlZ2FyZGxlc3Mgb2YgbGluayBzdHlsZS5cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1saW5rLWNvbW1vbiB7XG4gIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktY29tbW9uO1xuICBAaW5jbHVkZSBnb3Z1ay1saW5rLWRlY29yYXRpb247XG5cbiAgJjpob3ZlciB7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9jdXNlZC10ZXh0O1xuICB9XG59XG5cbi8vLyBMaW5rIGRlY29yYXRpb25cbi8vL1xuLy8vIFByb3ZpZGVzIHRoZSB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzLCBpbmNsdWRpbmcgdGhpY2tuZXNzIGFuZCB1bmRlcmxpbmVcbi8vLyBvZmZzZXQuIFVzZSB0aGlzIG1peGluIG9ubHkgaWYgeW91IGNhbm5vdCB1c2UgdGhlIGBnb3Z1ay1saW5rLWNvbW1vbmAgbWl4aW4uXG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuQG1peGluIGdvdnVrLWxpbmstZGVjb3JhdGlvbiB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gIEBpZiAkZ292dWstbGluay11bmRlcmxpbmUtdGhpY2tuZXNzIHtcbiAgICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAkZ292dWstbGluay11bmRlcmxpbmUtdGhpY2tuZXNzO1xuICB9XG5cbiAgQGlmICRnb3Z1ay1saW5rLXVuZGVybGluZS1vZmZzZXQge1xuICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogJGdvdnVrLWxpbmstdW5kZXJsaW5lLW9mZnNldDtcbiAgfVxufVxuXG4vLy8gTGluayBob3ZlciBkZWNvcmF0aW9uXG4vLy9cbi8vLyBQcm92aWRlcyB0aGUgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcyBpbiB0aGVpciBob3ZlciBzdGF0ZSwgZm9yIHlvdSB0byB1c2Vcbi8vLyB3aXRoaW4gYSBgOmhvdmVyYCBwc2V1ZG8tc2VsZWN0b3IuIFVzZSB0aGlzIG1peGluIG9ubHkgaWYgeW91IGNhbm5vdCB1c2UgdGhlXG4vLy8gYGdvdnVrLWxpbmstY29tbW9uYCBtaXhpbi5cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1saW5rLWhvdmVyLWRlY29yYXRpb24ge1xuICBAaWYgJGdvdnVrLWxpbmstaG92ZXItdW5kZXJsaW5lLXRoaWNrbmVzcyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogJGdvdnVrLWxpbmstaG92ZXItdW5kZXJsaW5lLXRoaWNrbmVzcztcbiAgICAvLyBEaXNhYmxlIGluayBza2lwcGluZyBvbiB1bmRlcmxpbmVzIG9uIGhvdmVyLiBCcm93c2VycyBoYXZlbid0XG4gICAgLy8gc3RhbmRhcmRpc2VkIG9uIHRoaXMgcGFydCBvZiB0aGUgc3BlYyB5ZXQsIHNvIHNldCBib3RoIHByb3BlcnRpZXNcbiAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwLWluazogbm9uZTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogbm9uZTsgLy8gQ2hyb21pdW0sIEZpcmVmb3hcbiAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBub25lO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uLXNraXA6IG5vbmU7IC8vIFNhZmFyaVxuICB9XG59XG5cbi8vLyBEZWZhdWx0IGxpbmsgc3R5bGVzXG4vLy9cbi8vLyBNYWtlcyBsaW5rcyB1c2UgdGhlIGRlZmF1bHQgdW52aXNpdGVkLCB2aXNpdGVkLCBob3ZlciBhbmQgYWN0aXZlIGNvbG91cnMuXG4vLy9cbi8vLyBJZiB5b3UgdXNlIHRoaXMgbWl4aW4gaW4gYSBjb21wb25lbnQsIHlvdSBtdXN0IGFsc28gaW5jbHVkZSB0aGVcbi8vLyBgZ292dWstbGluay1jb21tb25gIG1peGluIHRvIGdldCB0aGUgY29ycmVjdCBmb2N1cyBhbmQgaG92ZXIgc3RhdGVzLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmdvdnVrLWNvbXBvbmVudF9fbGluayB7XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuLy8vICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLWRlZmF1bHQ7XG4vLy8gICB9XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstbGluay1zdHlsZS1kZWZhdWx0IHtcbiAgJjpsaW5rIHtcbiAgICBjb2xvcjogJGdvdnVrLWxpbmstY29sb3VyO1xuICB9XG5cbiAgJjp2aXNpdGVkIHtcbiAgICBjb2xvcjogJGdvdnVrLWxpbmstdmlzaXRlZC1jb2xvdXI7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGdvdnVrLWxpbmstaG92ZXItY29sb3VyO1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiAkZ292dWstbGluay1hY3RpdmUtY29sb3VyO1xuICB9XG5cbiAgLy8gV2hlbiBmb2N1c3NlZCwgdGhlIHRleHQgY29sb3VyIG5lZWRzIHRvIGJlIGRhcmtlciB0byBlbnN1cmUgdGhhdCBjb2xvdXJcbiAgLy8gY29udHJhc3QgaXMgc3RpbGwgYWNjZXB0YWJsZVxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xuICB9XG59XG5cbi8vLyBFcnJvciBsaW5rIHN0eWxlc1xuLy8vXG4vLy8gTWFrZXMgbGlua3MgdXNlIHRoZSBlcnJvciBjb2xvdXIuIFRoZSBsaW5rIHdpbGwgZGFya2VuIGlmIGl0J3MgYWN0aXZlIG9yIGFcbi8vLyB1c2VyIGhvdmVycyB0aGVpciBjdXJzb3Igb3ZlciBpdC5cbi8vL1xuLy8vIElmIHlvdSB1c2UgdGhpcyBtaXhpbiBpbiBhIGNvbXBvbmVudCwgeW91IG11c3QgYWxzbyBpbmNsdWRlIHRoZVxuLy8vIGBnb3Z1ay1saW5rLWNvbW1vbmAgbWl4aW4gdG8gZ2V0IHRoZSBjb3JyZWN0IGZvY3VzIGFuZCBob3ZlciBzdGF0ZXMuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZ292dWstY29tcG9uZW50X19saW5rIHtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtZXJyb3I7XG4vLy8gICB9XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstbGluay1zdHlsZS1lcnJvciB7XG4gICY6bGluayxcbiAgJjp2aXNpdGVkIHtcbiAgICBjb2xvcjogJGdvdnVrLWVycm9yLWNvbG91cjtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiBzY2FsZS1jb2xvcigkZ292dWstZXJyb3ItY29sb3VyLCAkbGlnaHRuZXNzOiAtMzAlKTtcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogJGdvdnVrLWVycm9yLWNvbG91cjtcbiAgfVxuXG4gIC8vIFdoZW4gZm9jdXNzZWQsIHRoZSB0ZXh0IGNvbG91ciBuZWVkcyB0byBiZSBkYXJrZXIgdG8gZW5zdXJlIHRoYXQgY29sb3VyXG4gIC8vIGNvbnRyYXN0IGlzIHN0aWxsIGFjY2VwdGFibGVcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRnb3Z1ay1mb2N1cy10ZXh0LWNvbG91cjtcbiAgfVxufVxuXG4vLy8gU3VjY2VzcyBsaW5rIHN0eWxlc1xuLy8vXG4vLy8gTWFrZXMgbGlua3MgdXNlIHRoZSBzdWNjZXNzIGNvbG91ci4gVGhlIGxpbmsgd2lsbCBkYXJrZW4gaWYgaXQncyBhY3RpdmUgb3IgYVxuLy8vIHVzZXIgaG92ZXJzIHRoZWlyIGN1cnNvciBvdmVyIGl0LlxuLy8vXG4vLy8gSWYgeW91IHVzZSB0aGlzIG1peGluIGluIGEgY29tcG9uZW50LCB5b3UgbXVzdCBhbHNvIGluY2x1ZGUgdGhlXG4vLy8gYGdvdnVrLWxpbmstY29tbW9uYCBtaXhpbiB0byBnZXQgdGhlIGNvcnJlY3QgZm9jdXMgYW5kIGhvdmVyIHN0YXRlcy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5nb3Z1ay1jb21wb25lbnRfX2xpbmsge1xuLy8vICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1zdWNjZXNzO1xuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWxpbmstc3R5bGUtc3VjY2VzcyB7XG4gICY6bGluayxcbiAgJjp2aXNpdGVkIHtcbiAgICBjb2xvcjogJGdvdnVrLXN1Y2Nlc3MtY29sb3VyO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IHNjYWxlLWNvbG9yKCRnb3Z1ay1zdWNjZXNzLWNvbG91ciwgJGxpZ2h0bmVzczogLTMwJSk7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6ICRnb3Z1ay1zdWNjZXNzLWNvbG91cjtcbiAgfVxuXG4gIC8vIFdoZW4gZm9jdXNzZWQsIHRoZSB0ZXh0IGNvbG91ciBuZWVkcyB0byBiZSBkYXJrZXIgdG8gZW5zdXJlIHRoYXQgY29sb3VyXG4gIC8vIGNvbnRyYXN0IGlzIHN0aWxsIGFjY2VwdGFibGVcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRnb3Z1ay1mb2N1cy10ZXh0LWNvbG91cjtcbiAgfVxufVxuXG4vLy8gTXV0ZWQgbGluayBzdHlsZXNcbi8vL1xuLy8vIE1ha2VzIGxpbmtzIHVzZSB0aGUgc2Vjb25kYXJ5IHRleHQgY29sb3VyLiBUaGUgbGluayB3aWxsIGRhcmtlbiBpZiBpdCdzXG4vLy8gYWN0aXZlIG9yIGEgdXNlciBob3ZlcnMgdGhlaXIgY3Vyc29yIG92ZXIgaXQuXG4vLy9cbi8vLyBJZiB5b3UgdXNlIHRoaXMgbWl4aW4gaW4gYSBjb21wb25lbnQsIHlvdSBtdXN0IGFsc28gaW5jbHVkZSB0aGVcbi8vLyBgZ292dWstbGluay1jb21tb25gIG1peGluIHRvIGdldCB0aGUgY29ycmVjdCBmb2N1cyBhbmQgaG92ZXIgc3RhdGVzLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmdvdnVrLWNvbXBvbmVudF9fbGluayB7XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuLy8vICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLW11dGVkO1xuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWxpbmstc3R5bGUtbXV0ZWQge1xuICAmOmxpbmssXG4gICY6dmlzaXRlZCB7XG4gICAgY29sb3I6ICRnb3Z1ay1zZWNvbmRhcnktdGV4dC1jb2xvdXI7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6ICRnb3Z1ay10ZXh0LWNvbG91cjtcbiAgfVxuXG4gIC8vIFdoZW4gZm9jdXNzZWQsIHRoZSB0ZXh0IGNvbG91ciBuZWVkcyB0byBiZSBkYXJrZXIgdG8gZW5zdXJlIHRoYXQgY29sb3VyXG4gIC8vIGNvbnRyYXN0IGlzIHN0aWxsIGFjY2VwdGFibGVcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRnb3Z1ay1mb2N1cy10ZXh0LWNvbG91cjtcbiAgfVxufVxuXG4vLy8gVGV4dCBsaW5rIHN0eWxlc1xuLy8vXG4vLy8gTWFrZXMgbGlua3MgdXNlIHRoZSBwcmltYXJ5IHRleHQgY29sb3VyLCBpbiBhbGwgc3RhdGVzLiBVc2UgdGhpcyBtaXhpbiBmb3Jcbi8vLyBuYXZpZ2F0aW9uIGNvbXBvbmVudHMsIHN1Y2ggYXMgYnJlYWRjcnVtYnMgb3IgdGhlIGJhY2sgbGluay5cbi8vL1xuLy8vIElmIHlvdSB1c2UgdGhpcyBtaXhpbiBpbiBhIGNvbXBvbmVudCwgeW91IG11c3QgYWxzbyBpbmNsdWRlIHRoZVxuLy8vIGBnb3Z1ay1saW5rLWNvbW1vbmAgbWl4aW4gdG8gZ2V0IHRoZSBjb3JyZWN0IGZvY3VzIGFuZCBob3ZlciBzdGF0ZXMuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZ292dWstY29tcG9uZW50X19saW5rIHtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtdGV4dDtcbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1saW5rLXN0eWxlLXRleHQge1xuICAmOmxpbmssXG4gICY6dmlzaXRlZCB7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gIH1cblxuICAvLyBGb3JjZSBhIGNvbG91ciBjaGFuZ2Ugb24gaG92ZXIgdG8gd29yayBhcm91bmQgYSBidWcgaW4gU2FmYXJpXG4gIC8vIGh0dHBzOi8vd2Via2l0Lm9yZy9iLzIyNDQ4M1xuICAmOmhvdmVyIHtcbiAgICBAaWYgdHlwZS1vZigkZ292dWstdGV4dC1jb2xvdXIpID09IGNvbG9yIHtcbiAgICAgIGNvbG9yOiByZ2JhKCRnb3Z1ay10ZXh0LWNvbG91ciwgMC45OSk7XG4gICAgfVxuICB9XG5cbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICB9XG59XG5cbi8vLyBJbnZlcnNlIGxpbmsgc3R5bGVzXG4vLy9cbi8vLyBNYWtlcyBsaW5rcyB3aGl0ZSwgaW4gYWxsIHN0YXRlcy4gVXNlIHRoaXMgbWl4aW4gaWYgeW91J3JlIGRpc3BsYXlpbmcgbGlua3Ncbi8vLyBhZ2FpbnN0IGEgZGFyayBiYWNrZ3JvdW5kLlxuLy8vXG4vLy8gSWYgeW91IHVzZSB0aGlzIG1peGluIGluIGEgY29tcG9uZW50LCB5b3UgbXVzdCBhbHNvIGluY2x1ZGUgdGhlXG4vLy8gYGdvdnVrLWxpbmstY29tbW9uYCBtaXhpbiB0byBnZXQgdGhlIGNvcnJlY3QgZm9jdXMgYW5kIGhvdmVyIHN0YXRlcy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5nb3Z1ay1jb21wb25lbnRfX2xpbmsge1xuLy8vICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1pbnZlcnNlO1xuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWxpbmstc3R5bGUtaW52ZXJzZSB7XG4gICY6bGluayxcbiAgJjp2aXNpdGVkIHtcbiAgICBjb2xvcjogZ292dWstY29sb3VyKFwid2hpdGVcIik7XG4gIH1cblxuICAvLyBGb3JjZSBhIGNvbG91ciBjaGFuZ2Ugb24gaG92ZXIgdG8gd29yayBhcm91bmQgYSBidWcgaW4gU2FmYXJpXG4gIC8vIGh0dHBzOi8vd2Via2l0Lm9yZy9iLzIyNDQ4M1xuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6IHJnYmEoZ292dWstY29sb3VyKFwid2hpdGVcIiksIDAuOTkpO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRnb3Z1ay1mb2N1cy10ZXh0LWNvbG91cjtcbiAgfVxufVxuXG4vLy8gRGVmYXVsdCBsaW5rIHN0eWxlcywgd2l0aG91dCBhIHZpc2l0ZWQgc3RhdGVcbi8vL1xuLy8vIE1ha2VzIGxpbmtzIHVzZSB0aGUgZGVmYXVsdCB1bnZpc2l0ZWQsIGhvdmVyIGFuZCBhY3RpdmUgY29sb3Vycywgd2l0aCBub1xuLy8vIGRpc3RpbmN0IHZpc2l0ZWQgc3RhdGUuXG4vLy9cbi8vLyBVc2UgdGhpcyBtaXhpbiB3aGVuIGl0J3Mgbm90IGhlbHBmdWwgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiB2aXNpdGVkIGFuZFxuLy8vIG5vbi12aXNpdGVkIGxpbmtzLiBGb3IgZXhhbXBsZSwgd2hlbiB5b3UgbGluayB0byBwYWdlcyB3aXRoXG4vLy8gZnJlcXVlbnRseS1jaGFuZ2luZyBjb250ZW50LCBzdWNoIGFzIHRoZSBkYXNoYm9hcmQgZm9yIGFuIGFkbWluIGludGVyZmFjZS5cbi8vL1xuLy8vIElmIHlvdSB1c2UgdGhpcyBtaXhpbiBpbiBhIGNvbXBvbmVudCwgeW91IG11c3QgYWxzbyBpbmNsdWRlIHRoZVxuLy8vIGBnb3Z1ay1saW5rLWNvbW1vbmAgbWl4aW4gdG8gZ2V0IHRoZSBjb3JyZWN0IGZvY3VzIGFuZCBob3ZlciBzdGF0ZXMuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZ292dWstY29tcG9uZW50X19saW5rIHtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtbm8tdmlzaXRlZC1zdGF0ZTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1saW5rLXN0eWxlLW5vLXZpc2l0ZWQtc3RhdGUge1xuICAmOmxpbmsge1xuICAgIGNvbG9yOiAkZ292dWstbGluay1jb2xvdXI7XG4gIH1cblxuICAmOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAkZ292dWstbGluay1jb2xvdXI7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGdvdnVrLWxpbmstaG92ZXItY29sb3VyO1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiAkZ292dWstbGluay1hY3RpdmUtY29sb3VyO1xuICB9XG5cbiAgLy8gV2hlbiBmb2N1c3NlZCwgdGhlIHRleHQgY29sb3VyIG5lZWRzIHRvIGJlIGRhcmtlciB0byBlbnN1cmUgdGhhdCBjb2xvdXJcbiAgLy8gY29udHJhc3QgaXMgc3RpbGwgYWNjZXB0YWJsZVxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xuICB9XG59XG5cbi8vLyBSZW1vdmUgdW5kZXJsaW5lIGZyb20gbGlua3Ncbi8vL1xuLy8vIFJlbW92ZSB1bmRlcmxpbmVzIGZyb20gbGlua3MgdW5sZXNzIHRoZSBsaW5rIGlzIGFjdGl2ZSBvciBhIHVzZXIgaG92ZXJzXG4vLy8gdGhlaXIgY3Vyc29yIG92ZXIgaXQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZ292dWstY29tcG9uZW50X19saW5rIHtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtZGVmYXVsdDtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1uby11bmRlcmxpbmU7XG4vLy8gICB9XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstbGluay1zdHlsZS1uby11bmRlcmxpbmUge1xuICAmOm5vdCg6aG92ZXIpOm5vdCg6YWN0aXZlKSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cbi8vLyBJbmNsdWRlIGxpbmsgZGVzdGluYXRpb24gd2hlbiBwcmludGluZyB0aGUgcGFnZVxuLy8vXG4vLy8gSWYgdGhlIHVzZXIgcHJpbnRzIHRoZSBwYWdlLCBhZGQgdGhlIGRlc3RpbmF0aW9uIFVSTCBhZnRlciB0aGUgbGluayB0ZXh0LCBpZlxuLy8vIHRoZSBVUkwgc3RhcnRzIHdpdGggYC9gLCBgaHR0cDovL2Agb3IgYGh0dHBzOi8vYC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1saW5rLXByaW50LWZyaWVuZGx5IHtcbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJG1lZGlhLXR5cGU6IHByaW50KSB7XG4gICAgJltocmVmXj1cIi9cIl0sXG4gICAgJltocmVmXj1cImh0dHA6Ly9cIl0sXG4gICAgJltocmVmXj1cImh0dHBzOi8vXCJdXG4gICAge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjtcbiAgICAgICAgZm9udC1zaXplOiA5MCU7XG5cbiAgICAgICAgLy8gQmVjYXVzZSB0aGUgVVJMcyBtYXkgYmUgdmVyeSBsb25nLCBlbnN1cmUgdGhhdCB0aGV5IG1heSBiZSBicm9rZW5cbiAgICAgICAgLy8gYXQgYXJiaXRyYXJ5IHBvaW50cyBpZiB0aGVyZSBhcmUgbm8gb3RoZXJ3aXNlIGFjY2VwdGFibGUgYnJlYWtcbiAgICAgICAgLy8gcG9pbnRzIGluIHRoZSBsaW5lXG4gICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEltYWdlIGxpbmsgc3R5bGVzXG4vLy9cbi8vLyBQcmVwYXJlcyBhbmQgcHJvdmlkZXMgdGhlIGZvY3VzIHN0YXRlIGZvciBsaW5rcyB0aGF0IG9ubHkgY29udGFpbiBpbWFnZXNcbi8vLyB3aXRoIG5vIGFjY29tcGFueWluZyB0ZXh0LlxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWxpbmstaW1hZ2Uge1xuICAvLyBOZWVkZWQgdG8gZHJhdyB0aGUgZm9jdXMgYXJvdW5kIHRoZSBlbnRpcmUgaW1hZ2VcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gIC8vIFJlbW92ZSBleHRyYSBzcGFjZSBhdCB0aGUgYm90dG9tIG9mIHRoZSBpbWFnZSB0aGF0J3MgYWRkZWQgYnkgbGluZS1oZWlnaHRcbiAgbGluZS1oZWlnaHQ6IDA7XG5cbiAgLy8gRG9uJ3QgcmVuZGVyIGFuIHVuZGVybGluZVxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgJjpmb2N1cyB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9jdXNlZC1ib3g7XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2xpbmtzLnNjc3MubWFwICovXG4iLCIvLy8vXG4vLy8gQGdyb3VwIHNldHRpbmdzL2xpbmtzXG4vLy8vXG5cbi8vLyBUaGlja25lc3Mgb2YgbGluayB1bmRlcmxpbmVzXG4vLy9cbi8vLyBUaGUgZGVmYXVsdCB3aWxsIGJlIGVpdGhlcjpcbi8vL1xuLy8vICAtIDFweFxuLy8vICAtIDAuMDYyNXJlbSwgaWYgaXQncyB0aGlja2VyIHRoYW4gMXB4IGJlY2F1c2UgdGhlIHVzZXIgaGFzIGNoYW5nZWQgdGhlIHRleHRcbi8vLyAgICBzaXplIGluIHRoZWlyIGJyb3dzZXJcbi8vL1xuLy8vIFNldCB0aGlzIHZhcmlhYmxlIHRvIGBmYWxzZWAgdG8gYXZvaWQgc2V0dGluZyBhIHRoaWNrbmVzcy5cbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1saW5rLXVuZGVybGluZS10aGlja25lc3M6IHVucXVvdGUoXCJtYXgoMXB4LCAuMDYyNXJlbSlcIikgIWRlZmF1bHQ7XG5cbi8vLyBPZmZzZXQgb2YgbGluayB1bmRlcmxpbmVzIGZyb20gdGV4dCBiYXNlbGluZVxuLy8vXG4vLy8gVGhlIGRlZmF1bHQgaXMgM3B4IGV4cHJlc3NlZCBhcyBlbXMsIGFzIGNhbGN1bGF0ZWQgYWdhaW5zdCB0aGUgZGVmYXVsdCBib2R5XG4vLy8gZm9udCBzaXplIChvbiBkZXNrdG9wKSBvZiAxOXB4LlxuLy8vIDMgw7cgMTkgPSAwLjE1Nzhcbi8vL1xuLy8vIFNldCB0aGlzIHZhcmlhYmxlIHRvIGBmYWxzZWAgdG8gYXZvaWQgc2V0dGluZyBhbiBvZmZzZXQuXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstbGluay11bmRlcmxpbmUtb2Zmc2V0OiAwLjE1NzhlbSAhZGVmYXVsdDtcblxuLy8vIFRoaWNrbmVzcyBvZiBsaW5rIHVuZGVybGluZXMgaW4gaG92ZXIgc3RhdGVcbi8vL1xuLy8vIFRoZSBkZWZhdWx0IGZvciBlYWNoIGxpbmsgd2lsbCBiZSB0aGUgdGhpY2tlc3Qgb2YgdGhlIGZvbGxvd2luZzpcbi8vL1xuLy8vICAtIDNweFxuLy8vICAtIDAuMTg3NXJlbSwgaWYgaXQncyB0aGlja2VyIHRoYW4gM3B4IGJlY2F1c2UgdGhlIHVzZXIgaGFzIGNoYW5nZWQgdGhlIHRleHRcbi8vLyAgICBzaXplIGluIHRoZWlyIGJyb3dzZXJcbi8vLyAgLSAwLjEyZW0gKHJlbGF0aXZlIHRvIHRoZSBsaW5rJ3MgdGV4dCBzaXplKVxuLy8vXG4vLy8gU2V0IHRoaXMgdmFyaWFibGUgdG8gYGZhbHNlYCB0byBhdm9pZCBzZXR0aW5nIGEgdGhpY2tuZXNzLlxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWxpbmstaG92ZXItdW5kZXJsaW5lLXRoaWNrbmVzczogdW5xdW90ZShcIm1heCgzcHgsIC4xODc1cmVtLCAuMTJlbSlcIikgIWRlZmF1bHQ7XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9saW5rcy5zY3NzLm1hcCAqL1xuIiwiLy8vL1xuLy8vIEBncm91cCBoZWxwZXJzXG4vLy8vXG5cbkBpbXBvcnQgXCIuLi90b29scy9leHBvcnRzXCI7XG5cbi8vLyBGb250IEZhY2UgLSBHRFMgVHJhbnNwb3J0XG4vLy9cbi8vLyBPdXRwdXRzIHRoZSBmb250LWZhY2UgZGVjbGFyYXRpb24gZm9yIEdEUyBUcmFuc3BvcnQgYXQgdGhlIHJvb3Qgb2YgdGhlIENTUyBkb2N1bWVudFxuLy8vIHRoZSBmaXJzdCB0aW1lIGl0IGlzIGNhbGxlZC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuXG5AbWl4aW4gX2dvdnVrLWZvbnQtZmFjZS1nZHMtdHJhbnNwb3J0IHtcbiAgQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2hlbHBlcnMvZm9udC1mYWNlc1wiKSB7XG4gICAgQGF0LXJvb3Qge1xuICAgICAgLyohIENvcHlyaWdodCAoYykgMjAxMSBieSBNYXJnYXJldCBDYWx2ZXJ0ICYgSGVucmlrIEt1YmVsLiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGUgZm9udCBoYXMgYmVlbiBjdXN0b21pc2VkIGZvciBleGNsdXNpdmUgdXNlIG9uIGdvdi51ay4gVGhpcyBjdXQgaXMgbm90IGNvbW1lcmNpYWxseSBhdmFpbGFibGUuICovIC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgc2Nzcy9jb21tZW50LW5vLWxvdWQgICovXG4gICAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiR0RTIFRyYW5zcG9ydFwiO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIHNyYzpcbiAgICAgICAgICBnb3Z1ay1mb250LXVybChcImxpZ2h0LTk0YTA3ZTA2YTEtdjIud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksXG4gICAgICAgICAgZ292dWstZm9udC11cmwoXCJsaWdodC1mNTkxYjEzZjdkLXYyLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgICAgICAgZm9udC1kaXNwbGF5OiBmYWxsYmFjaztcbiAgICAgIH1cblxuICAgICAgQGZvbnQtZmFjZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkdEUyBUcmFuc3BvcnRcIjtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgc3JjOlxuICAgICAgICAgIGdvdnVrLWZvbnQtdXJsKFwiYm9sZC1iNTQyYmViMjc0LXYyLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLFxuICAgICAgICAgIGdvdnVrLWZvbnQtdXJsKFwiYm9sZC1hZmZhOTY1NzFkLXYyLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgICAgICAgZm9udC1kaXNwbGF5OiBmYWxsYmFjaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2ZvbnQtZmFjZXMuc2Nzcy5tYXAgKi9cbiIsIi8vIG1xKCkgdjQuMC4yXG4vLyBzYXNzLW1xL3Nhc3MtbXFcblxuQGNoYXJzZXQgXCJVVEYtOFwiOyAvLyBGaXhlcyBhbiBpc3N1ZSB3aGVyZSBSdWJ5IGxvY2FsZSBpcyBub3Qgc2V0IHByb3Blcmx5XG4gICAgICAgICAgICAgICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcS9wdWxsLzEwXG5cbi8vLyBCYXNlIGZvbnQgc2l6ZSBvbiB0aGUgYDxib2R5PmAgZWxlbWVudFxuLy8vIEB0eXBlIE51bWJlciAodW5pdClcbiRtcS1iYXNlLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcblxuLy8vIFJlc3BvbnNpdmUgbW9kZVxuLy8vXG4vLy8gU2V0IHRvIGBmYWxzZWAgdG8gZW5hYmxlIHN1cHBvcnQgZm9yIGJyb3dzZXJzIHRoYXQgZG8gbm90IHN1cHBvcnQgQG1lZGlhIHF1ZXJpZXMsXG4vLy8gKElFIDw9IDgsIEZpcmVmb3ggPD0gMywgT3BlcmEgPD0gOSlcbi8vL1xuLy8vIFlvdSBjb3VsZCBjcmVhdGUgYSBzdHlsZXNoZWV0IHNlcnZlZCBleGNsdXNpdmVseSB0byBvbGRlciBicm93c2Vycyxcbi8vLyB3aGVyZSBAbWVkaWEgcXVlcmllcyBhcmUgcmFzdGVyaXplZFxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAvLyBvbGQtaWUuc2Nzc1xuLy8vICAkbXEtcmVzcG9uc2l2ZTogZmFsc2U7XG4vLy8gIEBpbXBvcnQgJ21haW4nOyAvLyBAbWVkaWEgcXVlcmllcyBpbiB0aGlzIGZpbGUgd2lsbCBiZSByYXN0ZXJpemVkIHVwIHRvICRtcS1zdGF0aWMtYnJlYWtwb2ludFxuLy8vICAgICAgICAgICAgICAgICAgIC8vIGxhcmdlciBicmVha3BvaW50cyB3aWxsIGJlIGlnbm9yZWRcbi8vL1xuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3Jlc3BvbnNpdmUtbW9kZS1vZmYgRGlzYWJsZWQgcmVzcG9uc2l2ZSBtb2RlIGRvY3VtZW50YXRpb25cbiRtcS1yZXNwb25zaXZlOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBsaXN0XG4vLy9cbi8vLyBOYW1lIHlvdXIgYnJlYWtwb2ludHMgaW4gYSB3YXkgdGhhdCBjcmVhdGVzIGEgdWJpcXVpdG91cyBsYW5ndWFnZVxuLy8vIGFjcm9zcyB0ZWFtIG1lbWJlcnMuIEl0IHdpbGwgaW1wcm92ZSBjb21tdW5pY2F0aW9uIGJldHdlZW5cbi8vLyBzdGFrZWhvbGRlcnMsIGRlc2lnbmVycywgZGV2ZWxvcGVycywgYW5kIHRlc3RlcnMuXG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3NlZWluZy10aGUtY3VycmVudGx5LWFjdGl2ZS1icmVha3BvaW50IEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcbiRtcS1icmVha3BvaW50czogKFxuICAgIG1vYmlsZTogIDMyMHB4LFxuICAgIHRhYmxldDogIDc0MHB4LFxuICAgIGRlc2t0b3A6IDk4MHB4LFxuICAgIHdpZGU6ICAgIDEzMDBweFxuKSAhZGVmYXVsdDtcblxuLy8vIFN0YXRpYyBicmVha3BvaW50IChmb3IgZml4ZWQtd2lkdGggbGF5b3V0cylcbi8vL1xuLy8vIERlZmluZSB0aGUgYnJlYWtwb2ludCBmcm9tICRtcS1icmVha3BvaW50cyB0aGF0IHNob3VsZFxuLy8vIGJlIHVzZWQgYXMgdGhlIHRhcmdldCB3aWR0aCBmb3IgdGhlIGZpeGVkLXdpZHRoIGxheW91dFxuLy8vIChpLmUuIHdoZW4gJG1xLXJlc3BvbnNpdmUgaXMgc2V0IHRvICdmYWxzZScpIGluIGEgb2xkLWllLnNjc3Ncbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgLy8gdGFibGV0LW9ubHkuc2Nzc1xuLy8vICAvL1xuLy8vICAvLyBJZ25vcmUgYWxsIHN0eWxlcyBhYm92ZSB0YWJsZXQgYnJlYWtwb2ludCxcbi8vLyAgLy8gYW5kIGZpeCB0aGUgc3R5bGVzIChlLmcuIGxheW91dCkgYXQgdGFibGV0IHdpZHRoXG4vLy8gICRtcS1yZXNwb25zaXZlOiBmYWxzZTtcbi8vLyAgJG1xLXN0YXRpYy1icmVha3BvaW50OiB0YWJsZXQ7XG4vLy8gIEBpbXBvcnQgJ21haW4nOyAvLyBAbWVkaWEgcXVlcmllcyBpbiB0aGlzIGZpbGUgd2lsbCBiZSByYXN0ZXJpemVkIHVwIHRvIHRhYmxldFxuLy8vICAgICAgICAgICAgICAgICAgIC8vIGxhcmdlciBicmVha3BvaW50cyB3aWxsIGJlIGlnbm9yZWRcbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjYWRkaW5nLWN1c3RvbS1icmVha3BvaW50cyBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXG4kbXEtc3RhdGljLWJyZWFrcG9pbnQ6IGRlc2t0b3AgIWRlZmF1bHQ7XG5cbi8vLyBTaG93IGJyZWFrcG9pbnRzIGluIHRoZSB0b3AgcmlnaHQgY29ybmVyXG4vLy9cbi8vLyBJZiB5b3Ugd2FudCB0byBkaXNwbGF5IHRoZSBjdXJyZW50bHkgYWN0aXZlIGJyZWFrcG9pbnQgaW4gdGhlIHRvcFxuLy8vIHJpZ2h0IGNvcm5lciBvZiB5b3VyIHNpdGUgZHVyaW5nIGRldmVsb3BtZW50LCBhZGQgdGhlIGJyZWFrcG9pbnRzXG4vLy8gdG8gdGhpcyBsaXN0LCBvcmRlcmVkIGJ5IHdpZHRoLCBlLmcuIChtb2JpbGUsIHRhYmxldCwgZGVza3RvcCkuXG4vLy9cbi8vLyBAdHlwZSBtYXBcbiRtcS1zaG93LWJyZWFrcG9pbnRzOiAoKSAhZGVmYXVsdDtcblxuLy8vIEN1c3RvbWl6ZSB0aGUgbWVkaWEgdHlwZSAoZS5nLiBgQG1lZGlhIHNjcmVlbmAgb3IgYEBtZWRpYSBwcmludGApXG4vLy8gQnkgZGVmYXVsdCBzYXNzLW1xIHVzZXMgYW4gXCJhbGxcIiBtZWRpYSB0eXBlIChgQG1lZGlhIGFsbCBhbmQg4oCmYClcbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjY2hhbmdpbmctbWVkaWEtdHlwZSBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXG4kbXEtbWVkaWEtdHlwZTogYWxsICFkZWZhdWx0O1xuXG4vLy8gQ29udmVydCBwaXhlbHMgdG8gZW1zXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHB4IC0gdmFsdWUgdG8gY29udmVydFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZS1mb250LXNpemUgKCRtcS1iYXNlLWZvbnQtc2l6ZSkgLSBgPGJvZHk+YCBmb250IHNpemVcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgJGZvbnQtc2l6ZS1pbi1lbXM6IG1xLXB4MmVtKDE2cHgpO1xuLy8vICBwIHsgZm9udC1zaXplOiBtcS1weDJlbSgxNnB4KTsgfVxuLy8vXG4vLy8gQHJlcXVpcmVzICRtcS1iYXNlLWZvbnQtc2l6ZVxuLy8vIEByZXR1cm5zIHtOdW1iZXJ9XG5AZnVuY3Rpb24gbXEtcHgyZW0oJHB4LCAkYmFzZS1mb250LXNpemU6ICRtcS1iYXNlLWZvbnQtc2l6ZSkge1xuICAgIEBpZiB1bml0bGVzcygkcHgpIHtcbiAgICAgICAgQHdhcm4gXCJBc3N1bWluZyAjeyRweH0gdG8gYmUgaW4gcGl4ZWxzLCBhdHRlbXB0aW5nIHRvIGNvbnZlcnQgaXQgaW50byBwaXhlbHMuXCI7XG4gICAgICAgIEByZXR1cm4gbXEtcHgyZW0oJHB4ICogMXB4LCAkYmFzZS1mb250LXNpemUpO1xuICAgIH0gQGVsc2UgaWYgdW5pdCgkcHgpID09IGVtIHtcbiAgICAgICAgQHJldHVybiAkcHg7XG4gICAgfVxuICAgIEByZXR1cm4gKCRweCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07XG59XG5cbi8vLyBHZXQgYSBicmVha3BvaW50J3Mgd2lkdGhcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGJyZWFrcG9pbnQuIE9uZSBvZiAkbXEtYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgJHRhYmxldC13aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgodGFibGV0KTtcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKGRlc2t0b3ApKSB7fVxuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBWYWx1ZSBpbiBwaXhlbHNcbkBmdW5jdGlvbiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkbXEtYnJlYWtwb2ludHMpIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkbmFtZSkge1xuICAgICAgICBAcmV0dXJuIG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEB3YXJuIFwiQnJlYWtwb2ludCAjeyRuYW1lfSB3YXNuJ3QgZm91bmQgaW4gJGJyZWFrcG9pbnRzLlwiO1xuICAgIH1cbn1cblxuLy8vIE1lZGlhIFF1ZXJ5IG1peGluXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICRmcm9tIChmYWxzZSkgLSBPbmUgb2YgJG1xLWJyZWFrcG9pbnRzXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkdW50aWwgKGZhbHNlKSAtIE9uZSBvZiAkbXEtYnJlYWtwb2ludHNcbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICRhbmQgKGZhbHNlKSAtIEFkZGl0aW9uYWwgbWVkaWEgcXVlcnkgcGFyYW1ldGVyc1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVkaWEtdHlwZSAoJG1xLW1lZGlhLXR5cGUpIC0gTWVkaWEgdHlwZTogc2NyZWVuLCBwcmludOKAplxuLy8vXG4vLy8gQGlnbm9yZSBVbmRvY3VtZW50ZWQgQVBJLCBmb3IgYWR2YW5jZWQgdXNlIG9ubHk6XG4vLy8gQGlnbm9yZSBAcGFyYW0ge01hcH0gJGJyZWFrcG9pbnRzICgkbXEtYnJlYWtwb2ludHMpXG4vLy8gQGlnbm9yZSBAcGFyYW0ge1N0cmluZ30gJHN0YXRpYy1icmVha3BvaW50ICgkbXEtc3RhdGljLWJyZWFrcG9pbnQpXG4vLy9cbi8vLyBAY29udGVudCBzdHlsaW5nIHJ1bGVzLCB3cmFwcGVkIGludG8gYSBAbWVkaWEgcXVlcnkgd2hlbiAkcmVzcG9uc2l2ZSBpcyB0cnVlXG4vLy9cbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtbWVkaWEtdHlwZVxuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1zdGF0aWMtYnJlYWtwb2ludFxuLy8vIEByZXF1aXJlcyB7ZnVuY3Rpb259IG1xLXB4MmVtXG4vLy8gQHJlcXVpcmVzIHtmdW5jdGlvbn0gbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGhcbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjcmVzcG9uc2l2ZS1tb2RlLW9uLWRlZmF1bHQgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAuZWxlbWVudCB7XG4vLy8gICAgQGluY2x1ZGUgbXEoJGZyb206IG1vYmlsZSkge1xuLy8vICAgICAgY29sb3I6IHJlZDtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEoJHVudGlsOiB0YWJsZXQpIHtcbi8vLyAgICAgIGNvbG9yOiBibHVlO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcShtb2JpbGUsIHRhYmxldCkge1xuLy8vICAgICAgY29sb3I6IGdyZWVuO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0LCAkYW5kOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJykge1xuLy8vICAgICAgY29sb3I6IHRlYWw7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKDk1MHB4KSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEodGFibGV0LCAkbWVkaWEtdHlwZTogc2NyZWVuKSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gICAgLy8gQWR2YW5jZWQgdXNlOlxuLy8vICAgICRteS1icmVha3BvaW50czogKEw6IDkwMHB4LCBYTDogMTIwMHB4KTtcbi8vLyAgICBAaW5jbHVkZSBtcShMLCAkYnJlYWtwb2ludHM6ICRteS1icmVha3BvaW50cywgJHN0YXRpYy1icmVha3BvaW50OiBMKSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gIH1cbkBtaXhpbiBtcShcbiAgICAkZnJvbTogZmFsc2UsXG4gICAgJHVudGlsOiBmYWxzZSxcbiAgICAkYW5kOiBmYWxzZSxcbiAgICAkbWVkaWEtdHlwZTogJG1xLW1lZGlhLXR5cGUsXG4gICAgJGJyZWFrcG9pbnRzOiAkbXEtYnJlYWtwb2ludHMsXG4gICAgJHJlc3BvbnNpdmU6ICRtcS1yZXNwb25zaXZlLFxuICAgICRzdGF0aWMtYnJlYWtwb2ludDogJG1xLXN0YXRpYy1icmVha3BvaW50XG4pIHtcbiAgICAkbWluLXdpZHRoOiAwO1xuICAgICRtYXgtd2lkdGg6IDA7XG4gICAgJG1lZGlhLXF1ZXJ5OiAnJztcblxuICAgIC8vIEZyb206IHRoaXMgYnJlYWtwb2ludCAoaW5jbHVzaXZlKVxuICAgIEBpZiAkZnJvbSB7XG4gICAgICAgIEBpZiB0eXBlLW9mKCRmcm9tKSA9PSBudW1iZXIge1xuICAgICAgICAgICAgJG1pbi13aWR0aDogbXEtcHgyZW0oJGZyb20pO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICRtaW4td2lkdGg6IG1xLXB4MmVtKG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRmcm9tLCAkYnJlYWtwb2ludHMpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFVudGlsOiB0aGF0IGJyZWFrcG9pbnQgKGV4Y2x1c2l2ZSlcbiAgICBAaWYgJHVudGlsIHtcbiAgICAgICAgQGlmIHR5cGUtb2YoJHVudGlsKSA9PSBudW1iZXIge1xuICAgICAgICAgICAgJG1heC13aWR0aDogbXEtcHgyZW0oJHVudGlsKTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAkbWF4LXdpZHRoOiBtcS1weDJlbShtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkdW50aWwsICRicmVha3BvaW50cykpIC0gLjAxZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIHN1cHBvcnQgaXMgZGlzYWJsZWQsIHJhc3Rlcml6ZSB0aGUgb3V0cHV0IG91dHNpZGUgQG1lZGlhIGJsb2Nrc1xuICAgIC8vIFRoZSBicm93c2VyIHdpbGwgcmVseSBvbiB0aGUgY2FzY2FkZSBpdHNlbGYuXG4gICAgQGlmICRyZXNwb25zaXZlID09IGZhbHNlIHtcbiAgICAgICAgJHN0YXRpYy1icmVha3BvaW50LXdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkc3RhdGljLWJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG4gICAgICAgICR0YXJnZXQtd2lkdGg6IG1xLXB4MmVtKCRzdGF0aWMtYnJlYWtwb2ludC13aWR0aCk7XG5cbiAgICAgICAgLy8gT3V0cHV0IG9ubHkgcnVsZXMgdGhhdCBzdGFydCBhdCBvciBzcGFuIG91ciB0YXJnZXQgd2lkdGhcbiAgICAgICAgQGlmIChcbiAgICAgICAgICAgICRhbmQgPT0gZmFsc2VcbiAgICAgICAgICAgIGFuZCAkbWluLXdpZHRoIDw9ICR0YXJnZXQtd2lkdGhcbiAgICAgICAgICAgIGFuZCAoXG4gICAgICAgICAgICAgICAgJHVudGlsID09IGZhbHNlIG9yICRtYXgtd2lkdGggPj0gJHRhcmdldC13aWR0aFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgYW5kICRtZWRpYS10eXBlICE9ICdwcmludCdcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgc3VwcG9ydCBpcyBlbmFibGVkLCBvdXRwdXQgcnVsZXMgaW5zaWRlIEBtZWRpYSBxdWVyaWVzXG4gICAgQGVsc2Uge1xuICAgICAgICBAaWYgJG1pbi13aWR0aCAhPSAwIHsgJG1lZGlhLXF1ZXJ5OiAnI3skbWVkaWEtcXVlcnl9IGFuZCAobWluLXdpZHRoOiAjeyRtaW4td2lkdGh9KSc7IH1cbiAgICAgICAgQGlmICRtYXgtd2lkdGggIT0gMCB7ICRtZWRpYS1xdWVyeTogJyN7JG1lZGlhLXF1ZXJ5fSBhbmQgKG1heC13aWR0aDogI3skbWF4LXdpZHRofSknOyB9XG4gICAgICAgIEBpZiAkYW5kICAgICAgICAgICAgeyAkbWVkaWEtcXVlcnk6ICcjeyRtZWRpYS1xdWVyeX0gYW5kICN7JGFuZH0nOyB9XG5cbiAgICAgICAgLy8gUmVtb3ZlIHVubmVjZXNzYXJ5IG1lZGlhIHF1ZXJ5IHByZWZpeCAnYWxsIGFuZCAnXG4gICAgICAgIEBpZiAoJG1lZGlhLXR5cGUgPT0gJ2FsbCcgYW5kICRtZWRpYS1xdWVyeSAhPSAnJykge1xuICAgICAgICAgICAgJG1lZGlhLXR5cGU6ICcnO1xuICAgICAgICAgICAgJG1lZGlhLXF1ZXJ5OiBzdHItc2xpY2UodW5xdW90ZSgkbWVkaWEtcXVlcnkpLCA2KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAjeyRtZWRpYS10eXBlICsgJG1lZGlhLXF1ZXJ5fSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8vIFF1aWNrIHNvcnRcbi8vL1xuLy8vIEBhdXRob3IgU2FtIFJpY2hhcmRzXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIExpc3QgdG8gc29ydFxuLy8vIEByZXR1cm5zIHtMaXN0fSBTb3J0ZWQgTGlzdFxuQGZ1bmN0aW9uIF9tcS1xdWljay1zb3J0KCRsaXN0KSB7XG4gICAgJGxlc3M6ICAoKTtcbiAgICAkZXF1YWw6ICgpO1xuICAgICRsYXJnZTogKCk7XG5cbiAgICBAaWYgbGVuZ3RoKCRsaXN0KSA+IDEge1xuICAgICAgICAkc2VlZDogbnRoKCRsaXN0LCBjZWlsKGxlbmd0aCgkbGlzdCkgLyAyKSk7XG5cbiAgICAgICAgQGVhY2ggJGl0ZW0gaW4gJGxpc3Qge1xuICAgICAgICAgICAgQGlmICgkaXRlbSA9PSAkc2VlZCkge1xuICAgICAgICAgICAgICAgICRlcXVhbDogYXBwZW5kKCRlcXVhbCwgJGl0ZW0pO1xuICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGl0ZW0gPCAkc2VlZCkge1xuICAgICAgICAgICAgICAgICRsZXNzOiBhcHBlbmQoJGxlc3MsICRpdGVtKTtcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRpdGVtID4gJHNlZWQpIHtcbiAgICAgICAgICAgICAgICAkbGFyZ2U6IGFwcGVuZCgkbGFyZ2UsICRpdGVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEByZXR1cm4gam9pbihqb2luKF9tcS1xdWljay1zb3J0KCRsZXNzKSwgJGVxdWFsKSwgX21xLXF1aWNrLXNvcnQoJGxhcmdlKSk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkbGlzdDtcbn1cblxuLy8vIFNvcnQgYSBtYXAgYnkgdmFsdWVzICh3b3JrcyB3aXRoIG51bWJlcnMgb25seSlcbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHNvcnRcbi8vLyBAcmV0dXJucyB7TWFwfSBNYXAgc29ydGVkIGJ5IHZhbHVlXG5AZnVuY3Rpb24gX21xLW1hcC1zb3J0LWJ5LXZhbHVlKCRtYXApIHtcbiAgICAkbWFwLXNvcnRlZDogKCk7XG4gICAgJG1hcC1rZXlzOiBtYXAta2V5cygkbWFwKTtcbiAgICAkbWFwLXZhbHVlczogbWFwLXZhbHVlcygkbWFwKTtcbiAgICAkbWFwLXZhbHVlcy1zb3J0ZWQ6IF9tcS1xdWljay1zb3J0KCRtYXAtdmFsdWVzKTtcblxuICAgIC8vIFJlb3JkZXIga2V5L3ZhbHVlIHBhaXJzIGJhc2VkIG9uIGtleSB2YWx1ZXNcbiAgICBAZWFjaCAkdmFsdWUgaW4gJG1hcC12YWx1ZXMtc29ydGVkIHtcbiAgICAgICAgJGluZGV4OiBpbmRleCgkbWFwLXZhbHVlcywgJHZhbHVlKTtcbiAgICAgICAgJGtleTogbnRoKCRtYXAta2V5cywgJGluZGV4KTtcbiAgICAgICAgJG1hcC1zb3J0ZWQ6IG1hcC1tZXJnZSgkbWFwLXNvcnRlZCwgKCRrZXk6ICR2YWx1ZSkpO1xuXG4gICAgICAgIC8vIFVuc2V0IHRoZSB2YWx1ZSBpbiAkbWFwLXZhbHVlcyB0byBwcmV2ZW50IHRoZSBsb29wXG4gICAgICAgIC8vIGZyb20gZmluZGluZyB0aGUgc2FtZSBpbmRleCB0d2ljZVxuICAgICAgICAkbWFwLXZhbHVlczogc2V0LW50aCgkbWFwLXZhbHVlcywgJGluZGV4LCAwKTtcbiAgICB9XG5cbiAgICBAcmV0dXJuICRtYXAtc29ydGVkO1xufVxuXG4vLy8gQWRkIGEgYnJlYWtwb2ludFxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUgYnJlYWtwb2ludFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgYnJlYWtwb2ludFxuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIEBpbmNsdWRlIG1xLWFkZC1icmVha3BvaW50KHR2c2NyZWVuLCAxOTIwcHgpO1xuLy8vICBAaW5jbHVkZSBtcSh0dnNjcmVlbikge31cbkBtaXhpbiBtcS1hZGQtYnJlYWtwb2ludCgkbmFtZSwgJHdpZHRoKSB7XG4gICAgJG5ldy1icmVha3BvaW50OiAoJG5hbWU6ICR3aWR0aCk7XG4gICAgJG1xLWJyZWFrcG9pbnRzOiBtYXAtbWVyZ2UoJG1xLWJyZWFrcG9pbnRzLCAkbmV3LWJyZWFrcG9pbnQpICFnbG9iYWw7XG4gICAgJG1xLWJyZWFrcG9pbnRzOiBfbXEtbWFwLXNvcnQtYnktdmFsdWUoJG1xLWJyZWFrcG9pbnRzKSAhZ2xvYmFsO1xufVxuXG4vLy8gU2hvdyB0aGUgYWN0aXZlIGJyZWFrcG9pbnQgaW4gdGhlIHRvcCByaWdodCBjb3JuZXIgb2YgdGhlIHZpZXdwb3J0XG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNzZWVpbmctdGhlLWN1cnJlbnRseS1hY3RpdmUtYnJlYWtwb2ludFxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2hvdy1icmVha3BvaW50cyAoJG1xLXNob3ctYnJlYWtwb2ludHMpIC0gTGlzdCBvZiBicmVha3BvaW50cyB0byBzaG93IGluIHRoZSB0b3AgcmlnaHQgY29ybmVyXG4vLy8gQHBhcmFtIHtNYXB9ICRicmVha3BvaW50cyAoJG1xLWJyZWFrcG9pbnRzKSAtIEJyZWFrcG9pbnQgbmFtZXMgYW5kIHNpemVzXG4vLy9cbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtYnJlYWtwb2ludHNcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtc2hvdy1icmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAvLyBTaG93IGJyZWFrcG9pbnRzIHVzaW5nIGdsb2JhbCBzZXR0aW5nc1xuLy8vICBAaW5jbHVkZSBtcS1zaG93LWJyZWFrcG9pbnRzO1xuLy8vXG4vLy8gIC8vIFNob3cgYnJlYWtwb2ludHMgdXNpbmcgY3VzdG9tIHNldHRpbmdzXG4vLy8gIEBpbmNsdWRlIG1xLXNob3ctYnJlYWtwb2ludHMoKEwsIFhMKSwgKFM6IDMwMHB4LCBMOiA4MDBweCwgWEw6IDEyMDBweCkpO1xuQG1peGluIG1xLXNob3ctYnJlYWtwb2ludHMoJHNob3ctYnJlYWtwb2ludHM6ICRtcS1zaG93LWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludHM6ICRtcS1icmVha3BvaW50cykge1xuICAgIGJvZHk6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGQ0Y4RTM7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRkJFRUQ1O1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNGQkVFRDU7XG4gICAgICAgIGNvbG9yOiAjQzA5ODUzO1xuICAgICAgICBmb250OiBzbWFsbC1jYXB0aW9uO1xuICAgICAgICBwYWRkaW5nOiAzcHggNnB4O1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB6LWluZGV4OiAxMDA7XG5cbiAgICAgICAgLy8gTG9vcCB0aHJvdWdoIHRoZSBicmVha3BvaW50cyB0aGF0IHNob3VsZCBiZSBzaG93blxuICAgICAgICBAZWFjaCAkc2hvdy1icmVha3BvaW50IGluICRzaG93LWJyZWFrcG9pbnRzIHtcbiAgICAgICAgICAgICR3aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJHNob3ctYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCRzaG93LWJyZWFrcG9pbnQsICRicmVha3BvaW50czogJGJyZWFrcG9pbnRzKSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCIjeyRzaG93LWJyZWFrcG9pbnR9IOKJpSAjeyR3aWR0aH0gKCN7bXEtcHgyZW0oJHdpZHRoKX0pXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpZiBsZW5ndGgoJG1xLXNob3ctYnJlYWtwb2ludHMpID4gMCB7XG4gICAgQGluY2x1ZGUgbXEtc2hvdy1icmVha3BvaW50cztcbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X3Nhc3MtbXEuc2Nzcy5tYXAgKi9cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgaGVscGVycy9hY2Nlc3NpYmlsaXR5XG4vLy8vXG5cbi8vLyBGb2N1c2VkIHRleHRcbi8vL1xuLy8vIFByb3ZpZGVzIGFuIG91dGxpbmUgdG8gY2xlYXJseSBpbmRpY2F0ZSB3aGVuIHRoZSB0YXJnZXQgZWxlbWVudCBpcyBmb2N1c2VkLlxuLy8vIFVzZWQgZm9yIGludGVyYWN0aXZlIHRleHQtYmFzZWQgZWxlbWVudHMuXG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstZm9jdXNlZC10ZXh0IHtcbiAgLy8gV2hlbiBjb2xvdXJzIGFyZSBvdmVycmlkZGVuLCBmb3IgZXhhbXBsZSB3aGVuIHVzZXJzIGhhdmUgYSBkYXJrIG1vZGUsXG4gIC8vIGJhY2tncm91bmRzIGFuZCBib3gtc2hhZG93cyBkaXNhcHBlYXIsIHNvIHdlIG5lZWQgdG8gZW5zdXJlIHRoZXJlJ3MgYVxuICAvLyB0cmFuc3BhcmVudCBvdXRsaW5lIHdoaWNoIHdpbGwgYmUgc2V0IHRvIGEgdmlzaWJsZSBjb2xvdXIuXG5cbiAgb3V0bGluZTogJGdvdnVrLWZvY3VzLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBjb2xvcjogJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstZm9jdXMtY29sb3VyO1xuICBib3gtc2hhZG93OlxuICAgIDAgLTJweCAkZ292dWstZm9jdXMtY29sb3VyLFxuICAgIDAgNHB4ICRnb3Z1ay1mb2N1cy10ZXh0LWNvbG91cjtcbiAgLy8gV2hlbiBsaW5rIGlzIGZvY3Vzc2VkLCBoaWRlIHRoZSBkZWZhdWx0IHVuZGVybGluZSBzaW5jZSB0aGVcbiAgLy8gYm94IHNoYWRvdyBhZGRzIHRoZSBcInVuZGVybGluZVwiXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAvLyBXaGVuIGEgZm9jdXNlZCBib3ggaXMgYnJva2VuIGJ5IGUuZy4gYSBsaW5lIGJyZWFrLCBlbnN1cmUgdGhhdCB0aGVcbiAgLy8gYm94LXNoYWRvdyBpcyBhcHBsaWVkIHRvIGVhY2ggZnJhZ21lbnQgaW5kZXBlbmRlbnRseS5cbiAgLXdlYmtpdC1ib3gtZGVjb3JhdGlvbi1icmVhazogY2xvbmU7XG4gICAgICAgICAgYm94LWRlY29yYXRpb24tYnJlYWs6IGNsb25lO1xufVxuXG4vLy8gRm9jdXNlZCBib3hcbi8vL1xuLy8vIFByb3ZpZGVzIGFuIG91dGxpbmUgdG8gY2xlYXJseSBpbmRpY2F0ZSB3aGVuIHRoZSB0YXJnZXQgZWxlbWVudCBpcyBmb2N1c2VkLlxuLy8vIFVubGlrZSBnb3Z1ay1mb2N1c2VkLXRleHQsIHdoaWNoIG9ubHkgZHJhd3MgYW4gdW5kZXJsaW5lIGJlbG93IHRoZSBlbGVtZW50LFxuLy8vIGdvdnVrLWZvY3VzZWQtYm94IGRyYXdzIGFuIG91dGxpbmUgYXJvdW5kIGFsbCBzaWRlcyBvZiB0aGUgZWxlbWVudC5cbi8vLyBCZXN0IHVzZWQgZm9yIG5vbi10ZXh0IGNvbnRlbnQgY29udGFpbmVkIHdpdGhpbiBsaW5rcy5cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1mb2N1c2VkLWJveCB7XG4gIG91dGxpbmU6ICRnb3Z1ay1mb2N1cy13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzpcbiAgICAwIDAgMCA0cHggJGdvdnVrLWZvY3VzLWNvbG91cixcbiAgICAwIDAgMCA4cHggJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1fZm9jdXNlZC5zY3NzLm1hcCAqL1xuIiwiLy8vL1xuLy8vIEBncm91cCBzZXR0aW5ncy9jb2xvdXJzXG4vLy8vXG5cbkBpbXBvcnQgXCIuLi9oZWxwZXJzL2NvbG91clwiO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEdlbmVyaWNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLy8gQnJhbmQgY29sb3VyXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstYnJhbmQtY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJibHVlXCIpICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvdXJcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay10ZXh0LWNvbG91cjogZ292dWstY29sb3VyKFwiYmxhY2tcIikgIWRlZmF1bHQ7XG5cbi8vLyBDYW52YXMgYmFja2dyb3VuZCBjb2xvdXJcbi8vL1xuLy8vIFVzZWQgYnkgdGhlIGZvb3RlciBjb21wb25lbnQgYW5kIHRlbXBsYXRlIHRvIGdpdmUgdGhlIGlsbHVzaW9uIG9mIGEgbG9uZ1xuLy8vIGZvb3Rlci5cbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1jYW52YXMtYmFja2dyb3VuZC1jb2xvdXI6IGdvdnVrLWNvbG91cihcImxpZ2h0LWdyZXlcIikgIWRlZmF1bHQ7XG5cbi8vLyBCb2R5IGJhY2tncm91bmQgY29sb3VyXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstYm9keS1iYWNrZ3JvdW5kLWNvbG91cjogZ292dWstY29sb3VyKFwid2hpdGVcIikgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG91ciBmb3IgcHJpbnQgbWVkaWFcbi8vL1xuLy8vIFVzZSAndHJ1ZSBibGFjaycgdG8gYXZvaWQgcHJpbnRlcnMgdXNpbmcgY29sb3VyIGluayB0byBwcmludCBib2R5IHRleHRcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1wcmludC10ZXh0LWNvbG91cjogIzAwMDAwMCAhZGVmYXVsdDtcblxuLy8vIFNlY29uZGFyeSB0ZXh0IGNvbG91clxuLy8vXG4vLy8gVXNlZCBpbiBmb3IgZXhhbXBsZSAnbXV0ZWQnIHRleHQgYW5kIGhlbHAgdGV4dC5cbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1zZWNvbmRhcnktdGV4dC1jb2xvdXI6IGdvdnVrLWNvbG91cihcImRhcmstZ3JleVwiKSAhZGVmYXVsdDtcblxuLy8vIEZvY3VzIGNvbG91clxuLy8vXG4vLy8gVXNlZCBmb3Igb3V0bGluZSAoYW5kIGJhY2tncm91bmQsIHdoZXJlIGFwcHJvcHJpYXRlKSB3aGVuIGludGVyYWN0aXZlXG4vLy8gZWxlbWVudHMgKGxpbmtzLCBmb3JtIGNvbnRyb2xzKSBoYXZlIGtleWJvYXJkIGZvY3VzLlxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWZvY3VzLWNvbG91cjogZ292dWstY29sb3VyKFwieWVsbG93XCIpICFkZWZhdWx0O1xuXG4vLy8gRm9jdXNlZCB0ZXh0IGNvbG91clxuLy8vXG4vLy8gRW5zdXJlIHRoYXQgdGhlIGNvbnRyYXN0IGJldHdlZW4gdGhlIHRleHQgYW5kIGJhY2tncm91bmQgY29sb3VyIHBhc3Nlc1xuLy8vIFdDQUcgTGV2ZWwgQUEgY29udHJhc3QgcmVxdWlyZW1lbnRzLlxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKSAhZGVmYXVsdDtcblxuLy8vIEVycm9yIGNvbG91clxuLy8vXG4vLy8gVXNlZCB0byBoaWdobGlnaHQgZXJyb3IgbWVzc2FnZXMgYW5kIGZvcm0gY29udHJvbHMgaW4gYW4gZXJyb3Igc3RhdGVcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1lcnJvci1jb2xvdXI6IGdvdnVrLWNvbG91cihcInJlZFwiKSAhZGVmYXVsdDtcblxuLy8vIFN1Y2Nlc3MgY29sb3VyXG4vLy9cbi8vLyBVc2VkIHRvIGhpZ2hsaWdodCBzdWNjZXNzIG1lc3NhZ2VzIGFuZCBiYW5uZXJzXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstc3VjY2Vzcy1jb2xvdXI6IGdvdnVrLWNvbG91cihcImdyZWVuXCIpICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGNvbG91clxuLy8vXG4vLy8gVXNlZCBpbiBmb3IgZXhhbXBsZSBib3JkZXJzLCBzZXBhcmF0b3JzLCBydWxlcyBhbmQga2V5bGluZXMuXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstYm9yZGVyLWNvbG91cjogZ292dWstY29sb3VyKFwibWlkLWdyZXlcIikgIWRlZmF1bHQ7XG5cbi8vLyBJbnB1dCBib3JkZXIgY29sb3VyXG4vLy9cbi8vLyBVc2VkIGZvciBmb3JtIGlucHV0cyBhbmQgY29udHJvbHNcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1pbnB1dC1ib3JkZXItY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKSAhZGVmYXVsdDtcblxuLy8vIElucHV0IGhvdmVyIGNvbG91clxuLy8vXG4vLy8gVXNlZCBmb3IgaG92ZXIgc3RhdGVzIG9uIGZvcm0gY29udHJvbHNcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1ob3Zlci1jb2xvdXI6IGdvdnVrLWNvbG91cihcIm1pZC1ncmV5XCIpICFkZWZhdWx0O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTGlua3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vLyBMaW5rIGNvbG91clxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWxpbmstY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJibHVlXCIpICFkZWZhdWx0O1xuXG4vLy8gVmlzaXRlZCBsaW5rIGNvbG91clxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWxpbmstdmlzaXRlZC1jb2xvdXI6IGdvdnVrLWNvbG91cihcInB1cnBsZVwiKSAhZGVmYXVsdDtcblxuLy8vIExpbmsgaG92ZXIgY29sb3VyXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstbGluay1ob3Zlci1jb2xvdXI6IGdvdnVrLWNvbG91cihcImRhcmstYmx1ZVwiKSAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBsaW5rIGNvbG91clxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWxpbmstYWN0aXZlLWNvbG91cjogZ292dWstY29sb3VyKFwiYmxhY2tcIikgIWRlZmF1bHQ7XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9jb2xvdXJzLWFwcGxpZWQuc2Nzcy5tYXAgKi9cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb3JlL2xpc3RzXCIpIHtcbiAgJWdvdnVrLWxpc3Qge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cbiAgICAvLyBBZGQgYSB0b3AgbWFyZ2luIGZvciBuZXN0ZWQgbGlzdHNcbiAgICAlZ292dWstbGlzdCB7XG4gICAgICBtYXJnaW4tdG9wOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIH1cbiAgfVxuXG4gICVnb3Z1ay1saXN0ID4gbGkge1xuICAgIC8vIExpc3RzIHdpdGhvdXQgbnVtYmVycyBvciBidWxsZXRzIHNob3VsZCBhbHdheXMgaGF2ZSBleHRyYSBzcGFjZSBiZXR3ZWVuXG4gICAgLy8gbGlzdCBpdGVtcy4gTGlzdHMgd2l0aCBudW1iZXJzIG9yIGJ1bGxldHMgb25seSBoYXZlIHRoaXMgZXh0cmEgc3BhY2Ugb25cbiAgICAvLyB0YWJsZXQgYW5kIGFib3ZlXG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcbiAgfVxuXG4gIC5nb3Z1ay1saXN0IHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1saXN0O1xuICB9XG5cbiAgJWdvdnVrLWxpc3QtLWJ1bGxldCB7XG4gICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDQpO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiAgfVxuXG4gICVnb3Z1ay1saXN0LS1udW1iZXIge1xuICAgIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZyg0KTtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWw7XG4gIH1cblxuICAlZ292dWstbGlzdC0tYnVsbGV0ID4gbGksXG4gICVnb3Z1ay1saXN0LS1udW1iZXIgPiBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMSk7XG4gICAgfVxuICB9XG5cbiAgJWdvdnVrLWxpc3QtLXNwYWNlZCA+IGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstbGlzdC0tYnVsbGV0IHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1saXN0LS1idWxsZXQ7XG4gIH1cblxuICAuZ292dWstbGlzdC0tbnVtYmVyIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1saXN0LS1udW1iZXI7XG4gIH1cblxuICAuZ292dWstbGlzdC0tc3BhY2VkIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1saXN0LS1zcGFjZWQ7XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2xpc3RzLnNjc3MubWFwICovXG4iLCIvLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnMvc3BhY2luZ1xuLy8vL1xuXG4vLy8gU2luZ2xlIHBvaW50IHNwYWNpbmdcbi8vL1xuLy8vIFJldHVybnMgbWVhc3VyZW1lbnQgY29ycmVzcG9uZGluZyB0byB0aGUgc3BhY2luZyBwb2ludCByZXF1ZXN0ZWQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNpbmctcG9pbnQgLSBQb2ludCBvbiB0aGUgc3BhY2luZyBzY2FsZVxuLy8vICAoc2V0IGluIGBzZXR0aW5ncy9fc3BhY2luZy5zY3NzYClcbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IFNwYWNpbmcgbWVhc3VyZW1lbnQgZWcuIDEwcHhcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgcGFkZGluZzogZ292dWstc3BhY2luZyg1KTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgVXNpbmcgbmVnYXRpdmUgc3BhY2luZ1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBtYXJnaW4tdG9wOiBnb3Z1ay1zcGFjaW5nKC0xKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgTWFya2luZyBzcGFjaW5nIGRlY2xhcmF0aW9ucyBhcyBpbXBvcnRhbnRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgbWFyZ2luLXRvcDogZ292dWstc3BhY2luZygxKSAhaW1wb3J0YW50O1xuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQGZ1bmN0aW9uIGdvdnVrLXNwYWNpbmcoJHNwYWNpbmctcG9pbnQpIHtcbiAgJGFjdHVhbC1pbnB1dC10eXBlOiB0eXBlLW9mKCRzcGFjaW5nLXBvaW50KTtcbiAgQGlmICRhY3R1YWwtaW5wdXQtdHlwZSAhPSBcIm51bWJlclwiIHtcbiAgICBAZXJyb3IgXCJFeHBlY3RlZCBhIG51bWJlciAoaW50ZWdlciksIGJ1dCBnb3QgYSBcIlxuICAgICAgKyBcIiN7JGFjdHVhbC1pbnB1dC10eXBlfS5cIjtcbiAgfVxuXG4gICRpcy1uZWdhdGl2ZTogZmFsc2U7XG4gIEBpZiAkc3BhY2luZy1wb2ludCA8IDAge1xuICAgICRpcy1uZWdhdGl2ZTogdHJ1ZTtcbiAgICAkc3BhY2luZy1wb2ludDogYWJzKCRzcGFjaW5nLXBvaW50KTtcbiAgfVxuXG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGdvdnVrLXNwYWNpbmctcG9pbnRzLCAkc3BhY2luZy1wb2ludCkge1xuICAgIEBlcnJvciBcIlVua25vd24gc3BhY2luZyB2YXJpYWJsZSBgI3skc3BhY2luZy1wb2ludH1gLiBNYWtlIHN1cmUgeW91IGFyZSB1c2luZyBhIHBvaW50IGZyb20gdGhlIHNwYWNpbmcgc2NhbGUgaW4gYF9zZXR0aW5ncy9zcGFjaW5nLnNjc3NgLlwiO1xuICB9XG5cbiAgJHZhbHVlOiBtYXAtZ2V0KCRnb3Z1ay1zcGFjaW5nLXBvaW50cywgJHNwYWNpbmctcG9pbnQpO1xuICBAcmV0dXJuIGlmKCRpcy1uZWdhdGl2ZSwgJHZhbHVlICogLTEsICR2YWx1ZSk7XG59XG5cbi8vLyBSZXNwb25zaXZlIHNwYWNpbmdcbi8vL1xuLy8vIEFkZHMgcmVzcG9uc2l2ZSBzcGFjaW5nIChlaXRoZXIgcGFkZGluZyBvciBtYXJnaW4sIGRlcGVuZGluZyBvbiBgJHByb3BlcnR5YClcbi8vLyBieSBmZXRjaGluZyBhICdzcGFjaW5nIG1hcCcgZnJvbSB0aGUgcmVzcG9uc2l2ZSBzcGFjaW5nIHNjYWxlLCB3aGljaCBkZWZpbmVzXG4vLy8gZGlmZmVyZW50IHNwYWNpbmcgdmFsdWVzIGF0IGRpZmZlcmVudCBicmVha3BvaW50cy5cbi8vL1xuLy8vIFRvIGdlbmVyYXRlIHJlc3BvbnNpdmUgc3BhY2luZywgdXNlICdnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbicgb3Jcbi8vLyAnZ292dWstcmVzcG9uc2l2ZS1wYWRkaW5nJyBtaXhpbnNcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50IC0gUG9pbnQgb24gdGhlIHJlc3BvbnNpdmUgc3BhY2luZ1xuLy8vICAgc2NhbGUsIGNvcnJlc3BvbmRzIHRvIGEgbWFwIG9mIGJyZWFrcG9pbnRzIGFuZCBzcGFjaW5nIHZhbHVlc1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcHJvcGVydHkgLSBQcm9wZXJ0eSB0byBhZGQgc3BhY2luZyB0byAoZS5nLiAnbWFyZ2luJylcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpcmVjdGlvbiBbYWxsXSAtIERpcmVjdGlvbiB0byBhZGQgc3BhY2luZyB0b1xuLy8vICAgKGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgYGxlZnRgLCBgYWxsYClcbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbXBvcnRhbnQgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gbWFyayBhcyBgIWltcG9ydGFudGBcbi8vLyBAcGFyYW0ge051bWJlcn0gJGFkanVzdG1lbnQgW2ZhbHNlXSAtIE9mZnNldCB0byBhZGp1c3Qgc3BhY2luZyBieVxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbkBtaXhpbiBfZ292dWstcmVzcG9uc2l2ZS1zcGFjaW5nKFxuICAkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50LFxuICAkcHJvcGVydHksXG4gICRkaXJlY3Rpb246IFwiYWxsXCIsXG4gICRpbXBvcnRhbnQ6IGZhbHNlLFxuICAkYWRqdXN0bWVudDogZmFsc2Vcbikge1xuICAkYWN0dWFsLWlucHV0LXR5cGU6IHR5cGUtb2YoJHJlc3BvbnNpdmUtc3BhY2luZy1wb2ludCk7XG4gIEBpZiAkYWN0dWFsLWlucHV0LXR5cGUgIT0gXCJudW1iZXJcIiB7XG4gICAgQGVycm9yIFwiRXhwZWN0ZWQgYSBudW1iZXIgKGludGVnZXIpLCBidXQgZ290IGEgXCIgKyBcIiN7JGFjdHVhbC1pbnB1dC10eXBlfS5cIjtcbiAgfVxuXG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGdvdnVrLXNwYWNpbmctcmVzcG9uc2l2ZS1zY2FsZSwgJHJlc3BvbnNpdmUtc3BhY2luZy1wb2ludCkge1xuICAgIEBlcnJvciBcIlVua25vd24gc3BhY2luZyBwb2ludCBgI3skcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50fWAuIE1ha2Ugc3VyZSB5b3UgYXJlIHVzaW5nIGEgcG9pbnQgZnJvbSB0aGUgXCJcbiAgICAgICsgXCJyZXNwb25zaXZlIHNwYWNpbmcgc2NhbGUgaW4gYF9zZXR0aW5ncy9zcGFjaW5nLnNjc3NgLlwiO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHRoYXQgdGhlIHJldHVybiB2YWx1ZSBmcm9tIGBfc2V0dGluZ3Mvc3BhY2luZy5zY3NzYCBpcyBhIG1hcC5cbiAgJHNjYWxlLW1hcDogbWFwLWdldCgkZ292dWstc3BhY2luZy1yZXNwb25zaXZlLXNjYWxlLCAkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50KTtcbiAgJGFjdHVhbC1tYXAtdHlwZTogdHlwZS1vZigkc2NhbGUtbWFwKTtcbiAgQGlmICRhY3R1YWwtbWFwLXR5cGUgIT0gXCJtYXBcIiB7XG4gICAgQGVycm9yIFwiRXhwZWN0ZWQgYSBudW1iZXIgKGludGVnZXIpLCBidXQgZ290IGEgXCJcbiAgICAgICsgXCIjeyRhY3R1YWwtbWFwLXR5cGV9LiBNYWtlIHN1cmUgeW91IGFyZSB1c2luZyBhIG1hcCB0byBzZXQgdGhlIHJlc3BvbnNpdmUgc3BhY2luZyBpbiBgX3NldHRpbmdzL3NwYWNpbmcuc2Nzc2ApXCI7XG4gIH1cblxuICAvLyBMb29wIHRocm91Z2ggZWFjaCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRicmVha3BvaW50LXZhbHVlIGluICRzY2FsZS1tYXAge1xuICAgIEBpZiAkYWRqdXN0bWVudCB7XG4gICAgICAkYnJlYWtwb2ludC12YWx1ZTogJGJyZWFrcG9pbnQtdmFsdWUgKyAkYWRqdXN0bWVudDtcbiAgICB9XG5cbiAgICAvLyBUaGUgJ251bGwnIGJyZWFrcG9pbnQgaXMgZm9yIG1vYmlsZS5cbiAgICBAaWYgbm90ICRicmVha3BvaW50IHtcbiAgICAgIEBpZiAkZGlyZWN0aW9uID09IGFsbCB7XG4gICAgICAgICN7JHByb3BlcnR5fTogJGJyZWFrcG9pbnQtdmFsdWUgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgI3skcHJvcGVydHl9LSN7JGRpcmVjdGlvbn06ICRicmVha3BvaW50LXZhbHVlIGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206ICRicmVha3BvaW50KSB7XG4gICAgICAgIEBpZiAkZGlyZWN0aW9uID09IGFsbCB7XG4gICAgICAgICAgI3skcHJvcGVydHl9OiAkYnJlYWtwb2ludC12YWx1ZSBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgI3skcHJvcGVydHl9LSN7JGRpcmVjdGlvbn06ICRicmVha3BvaW50LXZhbHVlIGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZXNwb25zaXZlIG1hcmdpblxuLy8vXG4vLy8gQWRkcyByZXNwb25zaXZlIG1hcmdpbiBieSBmZXRjaGluZyBhICdzcGFjaW5nIG1hcCcgZnJvbSB0aGUgcmVzcG9uc2l2ZVxuLy8vIHNwYWNpbmcgc2NhbGUsIHdoaWNoIGRlZmluZXMgZGlmZmVyZW50IHNwYWNpbmcgdmFsdWVzIGF0IGRpZmZlcmVudFxuLy8vIGJyZWFrcG9pbnRzLiBXcmFwcGVyIGZvciB0aGUgYF9nb3Z1ay1yZXNwb25zaXZlLXNwYWNpbmdgIG1peGluLlxuLy8vXG4vLy8gQHNlZSB7bWl4aW59IF9nb3Z1ay1yZXNwb25zaXZlLXNwYWNpbmdcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50IC0gUG9pbnQgb24gdGhlIHJlc3BvbnNpdmUgc3BhY2luZ1xuLy8vIHNjYWxlLCBjb3JyZXNwb25kcyB0byBhIG1hcCBvZiBicmVha3BvaW50cyBhbmQgc3BhY2luZyB2YWx1ZXNcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpcmVjdGlvbiBbYWxsXSAtIERpcmVjdGlvbiB0byBhZGQgc3BhY2luZyB0b1xuLy8vICAgKGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgYGxlZnRgLCBgYWxsYClcbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbXBvcnRhbnQgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gbWFyayBhcyBgIWltcG9ydGFudGBcbi8vLyBAcGFyYW0ge051bWJlcn0gJGFkanVzdG1lbnQgW2ZhbHNlXSAtIE9mZnNldCB0byBhZGp1c3Qgc3BhY2luZyBieVxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJsZWZ0XCIsICRhZGp1c3RtZW50OiAxcHgpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKCRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQsICRkaXJlY3Rpb246IFwiYWxsXCIsICRpbXBvcnRhbnQ6IGZhbHNlLCAkYWRqdXN0bWVudDogZmFsc2UpIHtcbiAgQGluY2x1ZGUgX2dvdnVrLXJlc3BvbnNpdmUtc3BhY2luZygkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50LCBcIm1hcmdpblwiLCAkZGlyZWN0aW9uLCAkaW1wb3J0YW50LCAkYWRqdXN0bWVudCk7XG59XG5cbi8vLyBSZXNwb25zaXZlIHBhZGRpbmdcbi8vL1xuLy8vIEFkZHMgcmVzcG9uc2l2ZSBwYWRkaW5nIGJ5IGZldGNoaW5nIGEgJ3NwYWNpbmcgbWFwJyBmcm9tIHRoZSByZXNwb25zaXZlXG4vLy8gc3BhY2luZyBzY2FsZSwgd2hpY2ggZGVmaW5lcyBkaWZmZXJlbnQgc3BhY2luZyB2YWx1ZXMgYXQgZGlmZmVyZW50XG4vLy8gYnJlYWtwb2ludHMuIFdyYXBwZXIgZm9yIHRoZSBgX2dvdnVrLXJlc3BvbnNpdmUtc3BhY2luZ2AgbWl4aW4uXG4vLy9cbi8vLyBAc2VlIHttaXhpbn0gX2dvdnVrLXJlc3BvbnNpdmUtc3BhY2luZ1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQgLSBQb2ludCBvbiB0aGUgcmVzcG9uc2l2ZSBzcGFjaW5nXG4vLy8gICBzY2FsZSwgY29ycmVzcG9uZHMgdG8gYSBtYXAgb2YgYnJlYWtwb2ludHMgYW5kIHNwYWNpbmcgdmFsdWVzXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkaXJlY3Rpb24gW2FsbF0gLSBEaXJlY3Rpb24gdG8gYWRkIHNwYWNpbmcgdG9cbi8vLyAgIChgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIGBsZWZ0YCwgYGFsbGApXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW1wb3J0YW50IFtmYWxzZV0gLSBXaGV0aGVyIHRvIG1hcmsgYXMgYCFpbXBvcnRhbnRgXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhZGp1c3RtZW50IFtmYWxzZV0gLSBPZmZzZXQgdG8gYWRqdXN0IHNwYWNpbmdcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtcGFkZGluZyg2LCBcImxlZnRcIiwgJGFkanVzdG1lbnQ6IDFweCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstcmVzcG9uc2l2ZS1wYWRkaW5nKCRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQsICRkaXJlY3Rpb246IFwiYWxsXCIsICRpbXBvcnRhbnQ6IGZhbHNlLCAkYWRqdXN0bWVudDogZmFsc2UpIHtcbiAgQGluY2x1ZGUgX2dvdnVrLXJlc3BvbnNpdmUtc3BhY2luZygkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50LCBcInBhZGRpbmdcIiwgJGRpcmVjdGlvbiwgJGltcG9ydGFudCwgJGFkanVzdG1lbnQpO1xufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1fc3BhY2luZy5zY3NzLm1hcCAqL1xuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvcmUvdHlwb2dyYXBoeVwiKSB7XG4gIC8vIEhlYWRpbmdzXG5cbiAgJWdvdnVrLWhlYWRpbmcteGwge1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDQ4LCAkd2VpZ2h0OiBib2xkKTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig4LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay1oZWFkaW5nLXhsIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1oZWFkaW5nLXhsO1xuICB9XG5cbiAgJWdvdnVrLWhlYWRpbmctbCB7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMzYsICR3ZWlnaHQ6IGJvbGQpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLWhlYWRpbmctbCB7XG4gICAgQGV4dGVuZCAlZ292dWstaGVhZGluZy1sO1xuICB9XG5cbiAgJWdvdnVrLWhlYWRpbmctbSB7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMjQsICR3ZWlnaHQ6IGJvbGQpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLWhlYWRpbmctbSB7XG4gICAgQGV4dGVuZCAlZ292dWstaGVhZGluZy1tO1xuICB9XG5cbiAgJWdvdnVrLWhlYWRpbmctcyB7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTksICR3ZWlnaHQ6IGJvbGQpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLWhlYWRpbmctcyB7XG4gICAgQGV4dGVuZCAlZ292dWstaGVhZGluZy1zO1xuICB9XG5cbiAgLy8gQ2FwdGlvbnMgdG8gYmUgdXNlZCBpbnNpZGUgaGVhZGluZ3NcblxuICAuZ292dWstY2FwdGlvbi14bCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMjcpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuXG4gICAgY29sb3I6ICRnb3Z1ay1zZWNvbmRhcnktdGV4dC1jb2xvdXI7XG4gIH1cblxuICAuZ292dWstY2FwdGlvbi1sIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAyNCk7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMSk7XG4gICAgY29sb3I6ICRnb3Z1ay1zZWNvbmRhcnktdGV4dC1jb2xvdXI7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1jYXB0aW9uLW0ge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgY29sb3I6ICRnb3Z1ay1zZWNvbmRhcnktdGV4dC1jb2xvdXI7XG4gIH1cblxuICAvLyBCb2R5IChwYXJhZ3JhcGhzKVxuXG4gICVnb3Z1ay1ib2R5LWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDI0KTtcblxuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstYm9keS1sIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1ib2R5LWw7XG4gIH1cblxuICAlZ292dWstYm9keS1tIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG5cbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLWJvZHktbSB7XG4gICAgQGV4dGVuZCAlZ292dWstYm9keS1tO1xuICB9XG5cbiAgJWdvdnVrLWJvZHktcyB7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTYpO1xuXG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig0LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay1ib2R5LXMge1xuICAgIEBleHRlbmQgJWdvdnVrLWJvZHktcztcbiAgfVxuXG4gIC8vIEBkZXByZWNhdGVkXG4gICVnb3Z1ay1ib2R5LXhzIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiBfMTQpO1xuXG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig0LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC8vIEBkZXByZWNhdGVkXG4gIC5nb3Z1ay1ib2R5LXhzIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1ib2R5LXhzO1xuICB9XG5cbiAgLy8gVXNhZ2UgYWxpYXNlc1xuXG4gIC8vIFVzaW5nIGV4dGVuZCB0byBhbGlhcyBtZWFucyB3ZSBhbHNvIGluaGVyaXQgYW55IGNvbnRleHR1YWwgYWRqdXN0bWVudHMgdGhhdFxuICAvLyByZWZlciB0byB0aGUgJ29yaWdpbmFsJyBjbGFzcyBuYW1lXG5cbiAgLmdvdnVrLWJvZHktbGVhZCB7XG4gICAgQGV4dGVuZCAlZ292dWstYm9keS1sO1xuICB9XG5cbiAgLmdvdnVrLWJvZHkge1xuICAgIEBleHRlbmQgJWdvdnVrLWJvZHktbTtcbiAgfVxuXG4gIC8vIENvbnRleHR1YWwgYWRqdXN0bWVudHNcbiAgLy8gQWRkIHRvcCBwYWRkaW5nIHRvIGhlYWRpbmdzIHRoYXQgYXBwZWFyIGRpcmVjdGx5IGFmdGVyIHBhcmFncmFwaHMuXG5cbiAgJWdvdnVrLWJvZHktbCArICVnb3Z1ay1oZWFkaW5nLWwge1xuICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDEpO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgfVxuICB9XG5cbiAgJWdvdnVrLWJvZHktbSArICVnb3Z1ay1oZWFkaW5nLWwsXG4gICVnb3Z1ay1ib2R5LXMgKyAlZ292dWstaGVhZGluZy1sLFxuICAlZ292dWstbGlzdCArICVnb3Z1ay1oZWFkaW5nLWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtcGFkZGluZyg0LCBcInRvcFwiKTtcbiAgfVxuXG4gICVnb3Z1ay1ib2R5LW0gKyAlZ292dWstaGVhZGluZy1tLFxuICAlZ292dWstYm9keS1zICsgJWdvdnVrLWhlYWRpbmctbSxcbiAgJWdvdnVrLWxpc3QgKyAlZ292dWstaGVhZGluZy1tLFxuICAlZ292dWstYm9keS1tICsgJWdvdnVrLWhlYWRpbmctcyxcbiAgJWdvdnVrLWJvZHktcyArICVnb3Z1ay1oZWFkaW5nLXMsXG4gICVnb3Z1ay1saXN0ICsgJWdvdnVrLWhlYWRpbmctcyB7XG4gICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMSk7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygyKTtcbiAgICB9XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X3R5cG9ncmFwaHkuc2Nzcy5tYXAgKi9cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb3JlL3NlY3Rpb24tYnJlYWtcIikge1xuICAlZ292dWstc2VjdGlvbi1icmVhayB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIC5nb3Z1ay1zZWN0aW9uLWJyZWFrIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1zZWN0aW9uLWJyZWFrO1xuICB9XG5cbiAgLy8gU2l6ZXNcblxuICAlZ292dWstc2VjdGlvbi1icmVhay0teGwge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDgsIFwidG9wXCIpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDgsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLXNlY3Rpb24tYnJlYWstLXhsIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1zZWN0aW9uLWJyZWFrLS14bDtcbiAgfVxuXG4gICVnb3Z1ay1zZWN0aW9uLWJyZWFrLS1sIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcInRvcFwiKTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay1zZWN0aW9uLWJyZWFrLS1sIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1zZWN0aW9uLWJyZWFrLS1sO1xuICB9XG5cbiAgJWdvdnVrLXNlY3Rpb24tYnJlYWstLW0ge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwidG9wXCIpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLXNlY3Rpb24tYnJlYWstLW0ge1xuICAgIEBleHRlbmQgJWdvdnVrLXNlY3Rpb24tYnJlYWstLW07XG4gIH1cblxuICAvLyBWaXNpYmxlIHZhcmlhbnRcblxuICAlZ292dWstc2VjdGlvbi1icmVhay0tdmlzaWJsZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICB9XG5cbiAgLmdvdnVrLXNlY3Rpb24tYnJlYWstLXZpc2libGUge1xuICAgIEBleHRlbmQgJWdvdnVrLXNlY3Rpb24tYnJlYWstLXZpc2libGU7XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X3NlY3Rpb24tYnJlYWsuc2Nzcy5tYXAgKi9cbiIsIkBpbXBvcnQgXCIuLi9iYXNlXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vYmplY3RzL2J1dHRvbi1ncm91cFwiKSB7XG4gIC8vIEJ1dHRvbiBncm91cHMgY2FuIGJlIHVzZWQgdG8gZ3JvdXAgYnV0dG9ucyBhbmQgbGlua3MgdG9nZXRoZXIgYXMgYSBncm91cC5cbiAgLy9cbiAgLy8gV2l0aGluIGEgYnV0dG9uIGdyb3VwOlxuICAvL1xuICAvLyAtIGxpbmtzIGFyZSBzdHlsZWQgdG8gbGluZSB1cCB2aXN1YWxseSB3aXRoIHRoZSBidXR0b25zLCBpbmNsdWRpbmcgYmVpbmdcbiAgLy8gICBjZW50cmUtYWxpZ25lZCBvbiBtb2JpbGVcbiAgLy8gLSBzcGFjaW5nIGJldHdlZW4gdGhlIGJ1dHRvbnMgYW5kIGxpbmtzIGlzIGhhbmRsZWQgYXV0b21hdGljYWxseSwgaW5jbHVkaW5nXG4gIC8vICAgd2hlbiB0aGV5IHdyYXAgYWNyb3NzIG11bHRpcGxlIGxpbmVzXG4gIC5nb3Z1ay1idXR0b24tZ3JvdXAge1xuICAgICRob3Jpem9udGFsLWdhcDogZ292dWstc3BhY2luZygzKTtcbiAgICAkdmVydGljYWwtZ2FwOiBnb3Z1ay1zcGFjaW5nKDMpO1xuXG4gICAgLy8gVGhlc2UgbmVlZCB0byBiZSBrZXB0IGluIHN5bmMgd2l0aCB0aGUgYnV0dG9uIGNvbXBvbmVudCdzIHN0eWxlc1xuICAgICRidXR0b24tcGFkZGluZzogZ292dWstc3BhY2luZygyKTtcbiAgICAkYnV0dG9uLXNoYWRvdy1zaXplOiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudDtcblxuICAgICRsaW5rLXNwYWNpbmc6IGdvdnVrLXNwYWNpbmcoMSk7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiLCAkYWRqdXN0bWVudDogJHZlcnRpY2FsLWdhcCAqIC0xKTtcblxuICAgIC8vIEZsZXhib3ggaXMgdXNlZCB0byBjZW50ZXItYWxpZ24gbGlua3Mgb24gbW9iaWxlLCBhbGlnbiBldmVyeXRoaW5nIGFsb25nXG4gICAgLy8gdGhlIGJhc2VsaW5lIG9uIHRhYmxldCBhbmQgYWJvdmUsIGFuZCB0byByZW1vdmVzIGV4dHJhIHdoaXRlc3BhY2UgdGhhdFxuICAgIC8vIHdlJ2QgZ2V0IGJldHdlZW4gdGhlIGJ1dHRvbnMgYW5kIGxpbmtzIGJlY2F1c2UgdGhleSdyZSBpbmxpbmUtYmxvY2tzLlxuICAgIC8vXG4gICAgLy8gSWRlYWxseSB3ZSdkIHVzZSBgZ2FwYCB3aXRoIGZsZXhib3ggcmF0aGVyIHRoYW4gaGF2aW5nIHRvIGRvIGl0IGFsbCB3aXRoXG4gICAgLy8gbWFyZ2lucywgYnV0IHVuZm9ydHVuYXRlbHkgdGhlIHN1cHBvcnQgaXNuJ3QgdGhlcmUgKHlldCkgYW5kIEBzdXBwb3J0c1xuICAgIC8vIGRvZXNuJ3QgcGxheSBuaWNlbHkgd2l0aCBpdFxuICAgIC8vIChodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLWRyYWZ0cy9pc3N1ZXMvMzU1OSlcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIC8vIEdpdmUgbGlua3Mgd2l0aGluIHRoZSBidXR0b24gZ3JvdXAgdGhlIHNhbWUgZm9udC1zaXplIGFuZCBsaW5lLWhlaWdodFxuICAgIC8vIGFzIGJ1dHRvbnMuXG4gICAgLy9cbiAgICAvLyBCZWNhdXNlIHdlIHdhbnQgdGhlIGZvY3VzIHN0YXRlIHRvIGJlIHRpZ2h0IGFyb3VuZCB0aGUgbGluayB0ZXh0LCB3ZSB1c2VcbiAgICAvLyBtYXJnaW5zIHdoZXJlIHRoZSBidXR0b25zIHdvdWxkIHVzZSBwYWRkaW5nLlxuICAgIC5nb3Z1ay1saW5rIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5LCAkbGluZS1oZWlnaHQ6IDE5cHgpO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgLy8gUHJldmVudCBsaW5rcyBvdmVyZmxvd2luZyB0aGVpciBjb250YWluZXIgaW4gSUUxMC8xMSBiZWNhdXNlIG9mIGJ1Z1xuICAgICAgLy8gd2l0aCBhbGlnbi1pdGVtczogY2VudGVyXG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tdG9wOiAkbGluay1zcGFjaW5nO1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGxpbmstc3BhY2luZyArICR2ZXJ0aWNhbC1nYXA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLy8gUmVkdWNlIHRoZSBib3R0b20gbWFyZ2luIHRvIHRoZSBzaXplIG9mIHRoZSB2ZXJ0aWNhbCBnYXAgKGFjY29tbW9kYXRpbmdcbiAgICAvLyB0aGUgYnV0dG9uIHNoYWRvdykg4oCTIHRoZSAnbG9zdCcgbWFyZ2luIGlzIG1vdmVkIHRvIHRoZSBidXR0b24tZ3JvdXAuXG4gICAgLmdvdnVrLWJ1dHRvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkdmVydGljYWwtZ2FwICsgJGJ1dHRvbi1zaGFkb3ctc2l6ZTtcbiAgICB9XG5cbiAgICAvLyBPbiB0YWJsZXQgYW5kIGFib3ZlLCB3ZSBhbHNvIGludHJvZHVjZSBhICdjb2x1bW4gZ2FwJyBiZXR3ZWVuIHRoZVxuICAgIC8vIGJ1dHRvbnMgYW5kIGxpbmtzIGluIGVhY2ggcm93IGFuZCBsZWZ0IGFsaWduIGxpbmtzXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgLy8gQ2FuY2VsIG91dCB0aGUgY29sdW1uIGdhcCBmb3IgdGhlIGxhc3QgaXRlbSBpbiBlYWNoIHJvd1xuICAgICAgbWFyZ2luLXJpZ2h0OiAoJGhvcml6b250YWwtZ2FwICogLTEpO1xuXG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuXG4gICAgICAuZ292dWstYnV0dG9uLFxuICAgICAgLmdvdnVrLWxpbmsge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRob3Jpem9udGFsLWdhcDtcbiAgICAgIH1cblxuICAgICAgLmdvdnVrLWxpbmsge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1fYnV0dG9uLWdyb3VwLnNjc3MubWFwICovXG4iLCJAaW1wb3J0IFwiLi4vYmFzZVwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvb2JqZWN0cy9mb3JtLWdyb3VwXCIpIHtcbiAgLmdvdnVrLWZvcm0tZ3JvdXAge1xuICAgIEBpbmNsdWRlIGdvdnVrLWNsZWFyZml4O1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuXG4gICAgLmdvdnVrLWZvcm0tZ3JvdXA6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIFJlbW92ZSBtYXJnaW4gZnJvbSBsYXN0IGl0ZW0gaW4gbmVzdGVkIGdyb3Vwc1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1mb3JtLWdyb3VwLS1lcnJvciB7XG4gICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIGJvcmRlci1sZWZ0OiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZ3JvdXAtZXJyb3Igc29saWQgJGdvdnVrLWVycm9yLWNvbG91cjtcblxuICAgIC5nb3Z1ay1mb3JtLWdyb3VwIHtcbiAgICAgIC8vIFJlc2V0IGVycm9yIHN0eWxlcyBpbiBuZXN0ZWQgZm9ybSBncm91cHMgdGhhdCBtaWdodCBoYXZlIGVycm9yIGNsYXNzXG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1fZm9ybS1ncm91cC5zY3NzLm1hcCAqL1xuIiwiLy8vL1xuLy8vIEBncm91cCBoZWxwZXJzL2xheW91dFxuLy8vL1xuXG4vLy8gQ2xlYXIgZmxvYXRlZCBjb250ZW50IHdpdGhpbiBhIGNvbnRhaW5lciB1c2luZyBhIHBzZXVkbyBlbGVtZW50XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstY2xlYXJmaXgge1xuICAmOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1fY2xlYXJmaXguc2Nzcy5tYXAgKi9cbiIsIkBpbXBvcnQgXCIuLi9iYXNlXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vYmplY3RzL2dyaWRcIikge1xuICAuZ292dWstZ3JpZC1yb3cge1xuICAgIEBpbmNsdWRlIGdvdnVrLWNsZWFyZml4O1xuICAgIG1hcmdpbi1yaWdodDogLSgkZ292dWstZ3V0dGVyLWhhbGYpO1xuICAgIG1hcmdpbi1sZWZ0OiAtKCRnb3Z1ay1ndXR0ZXItaGFsZik7XG4gIH1cblxuICBAZWFjaCAkd2lkdGggaW4gbWFwLWtleXMoJGdvdnVrLWdyaWQtd2lkdGhzKSB7XG4gICAgLmdvdnVrLWdyaWQtY29sdW1uLSN7JHdpZHRofSB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1ncmlkLWNvbHVtbigkd2lkdGgpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRoZXNlICptdXN0KiBiZSBkZWZpbmVkIGluIGEgc2VwYXJhdGUgbG9vcCBhcyB0aGV5IGhhdmUgdGhlIHNhbWVcbiAgLy8gc3BlY2lmaWNpdHkgYXMgdGhlIG5vbi1icmVha3BvaW50IHNwZWNpZmljIGNsYXNzZXMsIHNvIG5lZWQgdG8gYXBwZWFyIGFmdGVyXG4gIC8vIHRoZW0gaW4gdGhlIG91dHB1dHRlZCBDU1NcbiAgQGVhY2ggJHdpZHRoIGluIG1hcC1rZXlzKCRnb3Z1ay1ncmlkLXdpZHRocykge1xuICAgIC5nb3Z1ay1ncmlkLWNvbHVtbi0jeyR3aWR0aH0tZnJvbS1kZXNrdG9wIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLWdyaWQtY29sdW1uKCR3aWR0aCwgJGF0OiBkZXNrdG9wKTtcbiAgICB9XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2dyaWQuc2Nzcy5tYXAgKi9cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgaGVscGVycy9sYXlvdXRcbi8vLy9cblxuLy8vIEdyaWQgd2lkdGggcGVyY2VudGFnZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXkgLSBOYW1lIG9mIGdyaWQgd2lkdGggKGUuZy4gdHdvLXRoaXJkcylcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IFBlcmNlbnRhZ2Ugd2lkdGhcbi8vLyBAdGhyb3cgaWYgYCRrZXlgIGlzIG5vdCBhIHZhbGlkIGdyaWQgd2lkdGhcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AZnVuY3Rpb24gZ292dWstZ3JpZC13aWR0aCgka2V5KSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZ292dWstZ3JpZC13aWR0aHMsICRrZXkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGdvdnVrLWdyaWQtd2lkdGhzLCAka2V5KTtcbiAgfVxuXG4gIEBlcnJvciBcIlVua25vd24gZ3JpZCB3aWR0aCBgI3ska2V5fWBcIjtcbn1cblxuLy8vIEdlbmVyYXRlIGdyaWQgY29sdW1uIHN0eWxlc1xuLy8vXG4vLy8gQ3JlYXRlcyBhIGdyaWQgY29sdW1uIHdpdGggc3RhbmRhcmQgZ3V0dGVyIGJldHdlZW4gdGhlIGNvbHVtbnMuXG4vLy9cbi8vLyBHcmlkIHdpZHRocyBhcmUgZGVmaW5lZCBpbiB0aGUgYCRnb3Z1ay1ncmlkLXdpZHRoc2AgbWFwLlxuLy8vXG4vLy8gQnkgZGVmYXVsdCB0aGUgY29sdW1uIHdpZHRoIGNoYW5nZXMgZnJvbSAxMDAlIHRvIHNwZWNpZmllZCB3aWR0aCBhdCB0aGVcbi8vLyAndGFibGV0JyBicmVha3BvaW50LCBidXQgb3RoZXIgYnJlYWtwb2ludHMgY2FuIGJlIHNwZWNpZmllZCB1c2luZyB0aGUgYCRhdGBcbi8vLyBwYXJhbWV0ZXIuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHdpZHRoIFtmdWxsXSBuYW1lIG9mIGEgZ3JpZCB3aWR0aCBmcm9tICRnb3Z1ay1ncmlkLXdpZHRoc1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZmxvYXQgW2xlZnRdIGxlZnQgfCByaWdodFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYXQgW3RhYmxldF0gLSBtb2JpbGUgfCB0YWJsZXQgfCBkZXNrdG9wIHwgYW55IGN1c3RvbSBicmVha3BvaW50XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRGVmYXVsdFxuLy8vICAgLmdvdnVrLWdyaWQtY29sdW1uLXR3by10aGlyZHMge1xuLy8vICAgICBAaW5jbHVkZSBnb3Z1ay1ncmlkLWNvbHVtbih0d28tdGhpcmRzKVxuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEN1c3RvbWlzaW5nIHRoZSBicmVha3BvaW50IHdoZXJlIHdpZHRoIHBlcmNlbnRhZ2UgaXMgYXBwbGllZFxuLy8vICAgLmdvdnVrLWdyaWQtY29sdW1uLW9uZS1oYWxmLWZyb20tZGVza3RvcCB7XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWdyaWQtY29sdW1uKG9uZS1oYWxmLCAkYXQ6IGRlc2t0b3ApO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEN1c3RvbWlzaW5nIHRoZSBmbG9hdCBkaXJlY3Rpb25cbi8vLyAgIC5nb3Z1ay1ncmlkLWNvbHVtbi1vbmUtaGFsZi1yaWdodCB7XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWdyaWQtY29sdW1uKHR3by10aGlyZHMsICRmbG9hdDogcmlnaHQpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWdyaWQtY29sdW1uKCR3aWR0aDogZnVsbCwgJGZsb2F0OiBsZWZ0LCAkYXQ6IHRhYmxldCkge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBAaWYgJGF0ICE9IGRlc2t0b3Age1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIHBhZGRpbmc6IDAgJGdvdnVrLWd1dHRlci1oYWxmO1xuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogJGF0KSB7XG4gICAgd2lkdGg6IGdvdnVrLWdyaWQtd2lkdGgoJHdpZHRoKTtcbiAgICBmbG9hdDogJGZsb2F0O1xuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9ncmlkLnNjc3MubWFwICovXG4iLCJAaW1wb3J0IFwiLi4vYmFzZVwiO1xuXG4vLy8vXG4vLy8gQGdyb3VwIG9iamVjdHMvbGF5b3V0XG4vLy8vXG5cbi8vIEV4YW1wbGUgdXNhZ2Ugd2l0aCBCcmVhZGNydW1icywgcGhhc2UgYmFubmVycywgYmFjayBsaW5rczpcbi8vIDxkaXYgY2xhc3M9XCJnb3Z1ay13aWR0aC1jb250YWluZXJcIj5cbi8vICAgPCEtLSBCcmVhZGNydW1icywgcGhhc2UgYmFubmVycywgYmFjayBsaW5rcyBhcmUgcGxhY2VkIGluIGhlcmUuIC0tPlxuLy8gICA8ZGl2IGNsYXNzPVwiZ292dWstbWFpbi13cmFwcGVyXCI+XG4vLyAgICAgICA8IS0tIFdyYXBwZXIgZm9yIHRoZSBtYWluIGNvbnRlbnQgb2YgeW91ciBwYWdlIHdoaWNoIGFwcGxpZXMgcGFkZGluZ1xuLy8gICAgICAgICAgICB0byB0aGUgdG9wIC8gYm90dG9tIC0tPlxuLy8gICA8L2Rpdj5cbi8vIDwvZGl2PlxuLy9cbi8vIEV4YW1wbGUgdXNhZ2Ugd2l0aG91dCBCcmVhZGNydW1icywgcGhhc2UgYmFubmVycywgYmFjayBsaW5rczpcbi8vIDxkaXYgY2xhc3M9XCJnb3Z1ay13aWR0aC1jb250YWluZXJcIj5cbi8vICAgPGRpdiBjbGFzcz1cImdvdnVrLW1haW4td3JhcHBlciBnb3Z1ay1tYWluLXdyYXBwZXItLWxcIj5cbi8vICAgICAgIDwhLS0gV3JhcHBlciBmb3IgdGhlIG1haW4gY29udGVudCBvZiB5b3VyIHBhZ2Ugd2hpY2ggYXBwbGllcyBwYWRkaW5nXG4vLyAgICAgICAgICAgIHRvIHRoZSB0b3AgLyBib3R0b20gLS0+XG4vLyAgIDwvZGl2PlxuLy8gPC9kaXY+XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vYmplY3RzL21haW4td3JhcHBlclwiKSB7XG4gIC5nb3Z1ay1tYWluLXdyYXBwZXIge1xuICAgIC8vIEluIElFMTEgdGhlIGBtYWluYCBlbGVtZW50IGNhbiBiZSB1c2VkLCBidXQgaXMgbm90IHJlY29nbml6ZWQgIOKAk1xuICAgIC8vIG1lYW5pbmcgaXQncyBub3QgZGVmaW5lZCBpbiBJRSdzIGRlZmF1bHQgc3R5bGUgc2hlZXQsXG4gICAgLy8gc28gaXQgdXNlcyBDU1MgaW5pdGlhbCB2YWx1ZSwgd2hpY2ggaXMgaW5saW5lLlxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDQpO1xuICAgIHBhZGRpbmctYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDQpO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgLy8gVGhpcyBzcGFjaW5nIGlzIG1hbnVhbGx5IGFkanVzdGVkIHRvIHJlcGxpY2F0ZSB0aGUgbWFyZ2luIG9mXG4gICAgICAvLyBnb3Z1ay1oZWFkaW5nLXhsICg1MHB4KSBtaW51cyB0aGUgc3BhY2luZyBvZiBiYWNrIGxpbmsgYW5kXG4gICAgICAvLyBicmVhZGNydW1icyAoMTBweClcbiAgICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDcpO1xuICAgICAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoNyk7XG4gICAgfVxuICB9XG5cbiAgLy8gVXNpbmcgdGhlIGAuZ292dWstbWFpbi13cmFwcGVyLS1hdXRvLXNwYWNpbmdgIG1vZGlmaWVyIHNob3VsZCBhcHBseSB0aGVcbiAgLy8gY29ycmVjdCBzcGFjaW5nIGRlcGVuZGluZyBvbiB3aGV0aGVyIHRoZXJlIGFyZSBhbnkgZWxlbWVudHNcbiAgLy8gKHN1Y2ggdGhlIGJhY2sgbGluaywgYnJlYWRjcnVtYnMgb3IgcGhhc2UgYmFubmVyIGNvbXBvbmVudHMpIGJlZm9yZSB0aGVcbiAgLy8gYC5nb3Z1ay1tYWluLXdyYXBwZXJgIGluIHRoZSBgZ292dWstd2lkdGgtY29udGFpbmVyYC5cbiAgLy9cbiAgLy8gSWYgeW91IG5lZWQgdG8gY29udHJvbCB0aGUgc3BhY2luZyBtYW51YWxseSwgdXNlIHRoZVxuICAvLyBgZ292dWstbWFpbi13cmFwcGVyLS1sYCBtb2RpZmllciBpbnN0ZWFkLlxuICAuZ292dWstbWFpbi13cmFwcGVyLS1hdXRvLXNwYWNpbmc6Zmlyc3QtY2hpbGQsXG4gIC5nb3Z1ay1tYWluLXdyYXBwZXItLWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtcGFkZGluZyg4LCBcInRvcFwiKTtcbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1fbWFpbi13cmFwcGVyLnNjc3MubWFwICovXG4iLCJAaW1wb3J0IFwiLi4vYmFzZVwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvb2JqZWN0cy90ZW1wbGF0ZVwiKSB7XG4gIC8vIEFwcGxpZWQgdG8gdGhlIDxodG1sPiBlbGVtZW50XG4gIC5nb3Z1ay10ZW1wbGF0ZSB7XG4gICAgLy8gU2V0IHRoZSBvdmVyYWxsIHBhZ2UgYmFja2dyb3VuZCBjb2xvdXIgdG8gdGhlIHNhbWUgY29sb3VyIGFzIHVzZWQgYnkgdGhlXG4gICAgLy8gZm9vdGVyIHRvIGdpdmUgdGhlIGlsbHVzaW9uIG9mIGEgbG9uZyBmb290ZXIuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLWNhbnZhcy1iYWNrZ3JvdW5kLWNvbG91cjtcblxuICAgIC8vIFByZXZlbnQgYXV0b21hdGljIHRleHQgc2l6aW5nLCBhcyB3ZSBhbHJlYWR5IGNhdGVyIGZvciBzbWFsbCBkZXZpY2VzIGFuZFxuICAgIC8vIHdvdWxkIGxpa2UgdGhlIGJyb3dzZXIgdG8gc3RheSBvbiAxMDAlIHRleHQgem9vbSBieSBkZWZhdWx0LlxuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgICAgICAtbW96LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gICAgICAgICAgICB0ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuXG4gICAgLy8gQWRkIHNjcm9sbCBwYWRkaW5nIHRvIHRoZSB0b3Agb2YgZ292dWstdGVtcGxhdGUgYnV0IHJlbW92ZSBpdCBpZiB0aGVcbiAgICAvLyBleGl0IHRoaXMgcGFnZSBjb21wb25lbnQgaXMgcHJlc2VudC5cbiAgICAvL1xuICAgIC8vIFRoaXMgaXMgYSBzb2x1dGlvbiB0byBleGl0IHRoaXMgcGFnZSBwb3RlbnRpYWxseSBmYWlsaW5nIFdDQUcgU0MgMi40LjEyOlxuICAgIC8vIEZvY3VzIE5vdCBPYnNjdXJlZCAoaHR0cHM6Ly93d3cudzMub3JnL1dBSS9XQ0FHMjIvVW5kZXJzdGFuZGluZy9mb2N1cy1ub3Qtb2JzY3VyZWQtbWluaW11bS5odG1sKVxuICAgIC8vIGR1ZSB0byBpdCdzIHN0aWNreSBwb3NpdGlvbmluZy5cbiAgICAvL1xuICAgIC8vIFRoaXMgd2lsbCBhcHBseSBzY3JvbGwtcGFkZGluZy10b3AgaW4gYW55IGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCA6aGFzXG4gICAgLy8gKGh0dHBzOi8vY2FuaXVzZS5jb20vY3NzLWhhcykuIFRoaXMgaXMgcGFydCBvZiB0aGUgcmVhc29uIHdlIGRvIHRoaXMgaW5cbiAgICAvLyBhIFwid3Jvbmcgd2F5IHJvdW5kXCIgd2F5IGFzIHdlIGh5cG90aGVzaXNlIHRoYXQgdGhlIHJpc2tzIG9mIGhhdmluZ1xuICAgIC8vIHNjcm9sbC1wYWRkaW5nIHVubmVjZXNzYXJpbHkgaXMgYmV0dGVyIHRoYW4gcmlza2luZyBub3QgaGF2aW5nIHNjcm9sbC1wYWRkaW5nXG4gICAgLy8gYW5kIG5lZWRpbmcgaXQgdG8gYWNjb3VudCBmb3IgZXhpdCB0aGlzIHBhZ2UuXG4gICAgQHN1cHBvcnRzICgocG9zaXRpb246IC13ZWJraXQtc3RpY2t5KSBvciAocG9zaXRpb246IHN0aWNreSkpIHtcbiAgICAgIHNjcm9sbC1wYWRkaW5nLXRvcDogZ292dWstc3BhY2luZyg5KTtcblxuICAgICAgJjpub3QoOmhhcyguZ292dWstZXhpdC10aGlzLXBhZ2UpKSB7XG4gICAgICAgIHNjcm9sbC1wYWRkaW5nLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBGb3JjZSB0aGUgc2Nyb2xsYmFyIHRvIGFsd2F5cyBkaXNwbGF5IGluIElFLCB0byBwcmV2ZW50IGhvcml6b250YWwgcGFnZVxuICAgIC8vIGp1bXBzIGFzIGNvbnRlbnQgaGVpZ2h0IGNoYW5nZXMgKGUuZy4gYXV0b2NvbXBsZXRlIHJlc3VsdHMgb3BlbikuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJG1lZGlhLXR5cGU6IHNjcmVlbikge1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFwcGxpZWQgdG8gdGhlIDxib2R5PiBlbGVtZW50XG4gIC5nb3Z1ay10ZW1wbGF0ZV9fYm9keSB7XG4gICAgLy8gVGhlIGRlZmF1bHQgbWFyZ2lucyBzZXQgYnkgdXNlci1hZ2VudHMgYXJlIG5vdCByZXF1aXJlZCBzaW5jZSB3ZSBoYXZlIG91clxuICAgIC8vIG93biBjb250YWluZXJzLlxuICAgIG1hcmdpbjogMDtcbiAgICAvLyBTZXQgdGhlIG92ZXJhbGwgYm9keSBvZiB0aGUgcGFnZSBiYWNrIHRvIHRoZSB0eXBpY2FsIGJhY2tncm91bmQgY29sb3VyLlxuICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1ib2R5LWJhY2tncm91bmQtY29sb3VyO1xuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV90ZW1wbGF0ZS5zY3NzLm1hcCAqL1xuIiwiQGltcG9ydCBcIi4uL2Jhc2VcIjtcblxuLy8vL1xuLy8vIEBncm91cCBvYmplY3RzL2xheW91dFxuLy8vL1xuXG4vLy8gV2lkdGggY29udGFpbmVyIG1peGluXG4vLy9cbi8vLyBVc2VkIHRvIGNyZWF0ZSBwYWdlIHdpZHRoIGFuZCBjdXN0b20gd2lkdGggY29udGFpbmVyIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHdpZHRoIFskZ292dWstcGFnZS13aWR0aF0gLSBXaWR0aCBpbiBwaXhlbHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGluZyBhIDEyMDBweCB3aWRlIGNvbnRhaW5lciBjbGFzc1xuLy8vICAuYXBwLXdpZHRoLWNvbnRhaW5lci0td2lkZSB7XG4vLy8gICAgQGluY2x1ZGUgZ292dWstd2lkdGgtY29udGFpbmVyKDEyMDBweCk7XG4vLy8gIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay13aWR0aC1jb250YWluZXIoJHdpZHRoOiAkZ292dWstcGFnZS13aWR0aCkge1xuICAvLyBCeSBkZWZhdWx0LCBsaW1pdCB0aGUgd2lkdGggb2YgdGhlIGNvbnRhaW5lciB0byB0aGUgcGFnZSB3aWR0aFxuICBtYXgtd2lkdGg6ICR3aWR0aDtcblxuICAvLyBPbiBtb2JpbGUsIGFkZCBoYWxmIHdpZHRoIGd1dHRlcnNcbiAgbWFyZ2luLXJpZ2h0OiAkZ292dWstZ3V0dGVyLWhhbGY7XG4gIG1hcmdpbi1sZWZ0OiAkZ292dWstZ3V0dGVyLWhhbGY7XG5cbiAgLy8gUmVzcGVjdCAnZGlzcGxheSBjdXRvdXQnIHNhZmUgYXJlYSAoYXZvaWRzIG5vdGNoZXMgYW5kIHJvdW5kZWQgY29ybmVycylcbiAgQHN1cHBvcnRzIChtYXJnaW46IHVucXVvdGUoXCJtYXgoY2FsYygwcHgpKVwiKSkge1xuICAgICRndXR0ZXItc2FmZS1hcmVhLXJpZ2h0OiBjYWxjKCN7JGdvdnVrLWd1dHRlci1oYWxmfSArIGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpKTtcbiAgICAkZ3V0dGVyLXNhZmUtYXJlYS1sZWZ0OiBjYWxjKCN7JGdvdnVrLWd1dHRlci1oYWxmfSArIGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCkpO1xuXG4gICAgLy8gVXNlIG1heCgpIHRvIHBpY2sgbGFyZ2VzdCBtYXJnaW4sIGRlZmF1bHQgb3Igd2l0aCBzYWZlIGFyZWFcbiAgICAvLyBFc2NhcGVkIGR1ZSB0byBTYXNzIG1heCgpIHZzLiBDU1MgbmF0aXZlIG1heCgpXG4gICAgbWFyZ2luLXJpZ2h0OiB1bnF1b3RlKFwibWF4KCN7JGdvdnVrLWd1dHRlci1oYWxmfSwgI3skZ3V0dGVyLXNhZmUtYXJlYS1yaWdodH0pXCIpO1xuICAgIG1hcmdpbi1sZWZ0OiB1bnF1b3RlKFwibWF4KCN7JGdvdnVrLWd1dHRlci1oYWxmfSwgI3skZ3V0dGVyLXNhZmUtYXJlYS1sZWZ0fSlcIik7XG4gIH1cblxuICAvLyBPbiB0YWJsZXQsIGFkZCBmdWxsIHdpZHRoIGd1dHRlcnNcbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgIG1hcmdpbi1yaWdodDogJGdvdnVrLWd1dHRlcjtcbiAgICBtYXJnaW4tbGVmdDogJGdvdnVrLWd1dHRlcjtcblxuICAgIC8vIFJlc3BlY3QgJ2Rpc3BsYXkgY3V0b3V0JyBzYWZlIGFyZWEgKGF2b2lkcyBub3RjaGVzIGFuZCByb3VuZGVkIGNvcm5lcnMpXG4gICAgQHN1cHBvcnRzIChtYXJnaW46IHVucXVvdGUoXCJtYXgoY2FsYygwcHgpKVwiKSkge1xuICAgICAgJGd1dHRlci1zYWZlLWFyZWEtcmlnaHQ6IGNhbGMoI3skZ292dWstZ3V0dGVyLWhhbGZ9ICsgZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCkpO1xuICAgICAgJGd1dHRlci1zYWZlLWFyZWEtbGVmdDogY2FsYygjeyRnb3Z1ay1ndXR0ZXItaGFsZn0gKyBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpKTtcblxuICAgICAgLy8gVXNlIG1heCgpIHRvIHBpY2sgbGFyZ2VzdCBtYXJnaW4sIGRlZmF1bHQgb3Igd2l0aCBzYWZlIGFyZWFcbiAgICAgIC8vIEVzY2FwZWQgZHVlIHRvIFNhc3MgbWF4KCkgdnMuIENTUyBuYXRpdmUgbWF4KClcbiAgICAgIG1hcmdpbi1yaWdodDogdW5xdW90ZShcIm1heCgjeyRnb3Z1ay1ndXR0ZXJ9LCAjeyRndXR0ZXItc2FmZS1hcmVhLXJpZ2h0fSlcIik7XG4gICAgICBtYXJnaW4tbGVmdDogdW5xdW90ZShcIm1heCgjeyRnb3Z1ay1ndXR0ZXJ9LCAjeyRndXR0ZXItc2FmZS1hcmVhLWxlZnR9KVwiKTtcbiAgICB9XG4gIH1cblxuICAvLyBBcyBzb29uIGFzIHRoZSB2aWV3cG9ydCBpcyBncmVhdGVyIHRoYW4gdGhlIHdpZHRoIG9mIHRoZSBwYWdlIHBsdXMgdGhlXG4gIC8vIGd1dHRlcnMsIGp1c3QgY2VudHJlIHRoZSBjb250ZW50IGluc3RlYWQgb2YgYWRkaW5nIGd1dHRlcnMuXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRhbmQ6IFwiKG1pbi13aWR0aDogI3soJHdpZHRoICsgJGdvdnVrLWd1dHRlciAqIDIpfSlcIikge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcblxuICAgIC8vIFNpbmNlIGEgc2FmZSBhcmVhIG1heSBoYXZlIHByZXZpb3VzbHkgYmVlbiBzZXQgYWJvdmUsXG4gICAgLy8gd2UgbmVlZCB0byBkdXBsaWNhdGUgdGhpcyBtYXJnaW4gdGhhdCBjZW50ZXJzIHRoZSBwYWdlLlxuICAgIEBzdXBwb3J0cyAobWFyZ2luOiB1bnF1b3RlKFwibWF4KGNhbGMoMHB4KSlcIikpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvb2JqZWN0cy93aWR0aC1jb250YWluZXJcIikge1xuICAuZ292dWstd2lkdGgtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay13aWR0aC1jb250YWluZXI7XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X3dpZHRoLWNvbnRhaW5lci5zY3NzLm1hcCAqL1xuIiwiLy8vL1xuLy8vIEBncm91cCBzZXR0aW5ncy9sYXlvdXRcbi8vLy9cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBQYWdlIGxheW91dFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vLyBXaWR0aCBvZiBtYWluIGNvbnRhaW5lclxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLXBhZ2Utd2lkdGg6IDk2MHB4ICFkZWZhdWx0O1xuXG4vLy8gTWFwIG9mIGdyaWQgY29sdW1uIHdpZHRoc1xuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWdyaWQtd2lkdGhzOiAoXG4gIG9uZS1xdWFydGVyOiAoXG4gICAgMTAwJSAvIDRcbiAgKSxcbiAgb25lLXRoaXJkOiAoXG4gICAgMTAwJSAvIDNcbiAgKSxcbiAgb25lLWhhbGY6IChcbiAgICAxMDAlIC8gMlxuICApLFxuICB0d28tdGhpcmRzOiAoXG4gICAgMjAwJSAvIDNcbiAgKSxcbiAgdGhyZWUtcXVhcnRlcnM6IChcbiAgICAzMDAlIC8gNFxuICApLFxuICBmdWxsOiAxMDAlXG4pICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggb2YgZ3V0dGVyIGJldHdlZW4gZ3JpZCBjb2x1bW5zXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstZ3V0dGVyOiAzMHB4ICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggb2YgaGFsZiB0aGUgZ3V0dGVyIGJldHdlZW4gZ3JpZCBjb2x1bW5zXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstZ3V0dGVyLWhhbGY6ICRnb3Z1ay1ndXR0ZXIgLyAyO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJvcmRlcnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLy8gU3RhbmRhcmQgYm9yZGVyIHdpZHRoXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstYm9yZGVyLXdpZHRoOiA1cHggIWRlZmF1bHQ7XG5cbi8vLyBXaWRlIGJvcmRlciB3aWR0aFxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWJvcmRlci13aWR0aC13aWRlOiAxMHB4ICFkZWZhdWx0O1xuXG4vLy8gTmFycm93IGJvcmRlciB3aWR0aFxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWJvcmRlci13aWR0aC1uYXJyb3c6IDRweCAhZGVmYXVsdDtcblxuLy8vIEZvcm0gY29udHJvbCBib3JkZXIgd2lkdGhcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50OiAycHggIWRlZmF1bHQ7XG5cbi8vLyBGb3JtIGdyb3VwIGJvcmRlciB3aWR0aCB3aGVuIGluIGVycm9yIHN0YXRlXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZ3JvdXAtZXJyb3I6ICRnb3Z1ay1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgd2lkdGggb2YgZm9jdXMgb3V0bGluZVxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWZvY3VzLXdpZHRoOiAzcHggIWRlZmF1bHQ7XG5cbi8vLyBIb3ZlciB3aWR0aCBmb3IgZm9ybSBjb250cm9scyB3aXRoIGEgaG92ZXIgc3RhdGVcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1ob3Zlci13aWR0aDogMTBweCAhZGVmYXVsdDtcblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X21lYXN1cmVtZW50cy5zY3NzLm1hcCAqL1xuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9hY2NvcmRpb25cIikge1xuICAkZ292dWstYWNjb3JkaW9uLWJhc2UtY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcbiAgJGdvdnVrLWFjY29yZGlvbi1ob3Zlci1jb2xvdXI6IGdvdnVrLWNvbG91cihcImxpZ2h0LWdyZXlcIik7XG4gICRnb3Z1ay1hY2NvcmRpb24taWNvbi1mb2N1cy1jb2xvdXI6ICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gICRnb3Z1ay1hY2NvcmRpb24tYm90dG9tLWJvcmRlci13aWR0aDogMXB4O1xuXG4gIC5nb3Z1ay1hY2NvcmRpb24ge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMyk7XG4gIH1cblxuICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLWhlYWRpbmcge1xuICAgIC8vIE92ZXJyaWRlIGJyb3dzZXIgZGVmYXVsdHMgdG8gZW5zdXJlIGNvbnNpc3RlbnQgZWxlbWVudCBoZWlnaHRcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygzKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgfVxuXG4gIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAyNCwgJHdlaWdodDogYm9sZCk7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBib3R0b20gbWFyZ2luIGZyb20gdGhlIGxhc3QgaXRlbSBpbnNpZGUgdGhlIGNvbnRlbnRcbiAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1jb250ZW50ID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAvLyBHT1YuVUsgRnJvbnRlbmQgSmF2YVNjcmlwdCBlbmFibGVkXG4gIC5nb3Z1ay1mcm9udGVuZC1zdXBwb3J0ZWQge1xuICAgIC5nb3Z1ay1hY2NvcmRpb24ge1xuICAgICAgLy8gQm9yZGVyIGF0IHRoZSBib3R0b20gb2YgdGhlIHdob2xlIGFjY29yZGlvblxuICAgICAgYm9yZGVyLWJvdHRvbTogJGdvdnVrLWFjY29yZGlvbi1ib3R0b20tYm9yZGVyLXdpZHRoIHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICAgIH1cblxuICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24ge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuXG4gICAgLy8gSGlkZSB0aGUgYm9keSBvZiBjb2xsYXBzZWQgc2VjdGlvbnMgYnkgZGVmYXVsdCBmb3IgYnJvd3NlcnMgdGhhdCBsYWNrXG4gICAgLy8gc3VwcG9ydCBmb3IgYGNvbnRlbnQtdmlzaWJpbGl0eWAgcGFpcmVkIHdpdGggW2hpZGRlbj11bnRpbC1mb3VuZF1cbiAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLWNvbnRlbnQge1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1wYWRkaW5nKDMsIFwidG9wXCIpO1xuICAgICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1wYWRkaW5nKDgsIFwiYm90dG9tXCIpO1xuICAgIH1cblxuICAgIC8vIEhpZGUgdGhlIGJvZHkgb2YgY29sbGFwc2VkIHNlY3Rpb25zIHVzaW5nIGBjb250ZW50LXZpc2liaWxpdHlgIHRvIGVuYWJsZVxuICAgIC8vIHBhZ2Ugc2VhcmNoIHdpdGhpbiBbaGlkZGVuPXVudGlsLWZvdW5kXSByZWdpb25zIHdoZXJlIGJyb3dzZXIgc3VwcG9ydGVkXG4gICAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1jb250ZW50W2hpZGRlbl0ge1xuICAgICAgQHN1cHBvcnRzIChjb250ZW50LXZpc2liaWxpdHk6IGhpZGRlbikge1xuICAgICAgICBjb250ZW50LXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgZGlzcGxheTogaW5oZXJpdDtcbiAgICAgIH1cblxuICAgICAgLy8gSGlkZSB0aGUgcGFkZGluZyBvZiBjb2xsYXBzZWQgc2VjdGlvbnNcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLy8gU2hvdyB0aGUgYm9keSBvZiBleHBhbmRlZCBzZWN0aW9uc1xuICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tLWV4cGFuZGVkIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuZ292dWstYWNjb3JkaW9uX19zaG93LWFsbCB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxO1xuXG4gICAgICBtYXJnaW4tYm90dG9tOiA5cHg7XG4gICAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDEpIDJweCBnb3Z1ay1zcGFjaW5nKDEpIDA7XG5cbiAgICAgIGJvcmRlci13aWR0aDogMDtcblxuICAgICAgY29sb3I6ICRnb3Z1ay1saW5rLWNvbG91cjtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG5cbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNHB4O1xuICAgICAgfVxuXG4gICAgICAvLyBSZW1vdmUgZGVmYXVsdCBidXR0b24gZm9jdXMgb3V0bGluZSBpbiBGaXJlZm94XG4gICAgICAmOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRnb3Z1ay1hY2NvcmRpb24tYmFzZS1jb2xvdXI7XG4gICAgICAgIGJhY2tncm91bmQ6ICRnb3Z1ay1hY2NvcmRpb24taG92ZXItY29sb3VyO1xuICAgICAgICAvLyBUaGUgZm9jdXMgc3RhdGUgYWRkcyBhIGJveC1zaGFkb3cgdG8gdGhlIHRvcCBhbmQgYm90dG9tIG9mIHRoZVxuICAgICAgICAvLyBidXR0b24uIFdlIGFkZCBhIGdyZXkgYm94LXNoYWRvdyBvbiBob3ZlciB0b28sIHRvIG1ha2UgdGhlIGhlaWdodCBvZlxuICAgICAgICAvLyB0aGUgaG92ZXIgc3RhdGUgbWF0Y2ggdGhlIGhlaWdodCBvZiB0aGUgZm9jdXMgc3RhdGUuXG4gICAgICAgIGJveC1zaGFkb3c6XG4gICAgICAgICAgMCAtMnB4ICRnb3Z1ay1hY2NvcmRpb24taG92ZXItY29sb3VyLFxuICAgICAgICAgIDAgNHB4ICRnb3Z1ay1hY2NvcmRpb24taG92ZXItY29sb3VyO1xuXG4gICAgICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tdG9nZ2xlLXRleHQge1xuICAgICAgICAgIGNvbG9yOiAkZ292dWstYWNjb3JkaW9uLWJhc2UtY29sb3VyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmdvdnVrLWFjY29yZGlvbi1uYXZfX2NoZXZyb24ge1xuICAgICAgICAgIGNvbG9yOiAkZ292dWstYWNjb3JkaW9uLWJhc2UtY29sb3VyO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRnb3Z1ay1hY2NvcmRpb24tYmFzZS1jb2xvdXI7XG4gICAgICAgIH1cblxuICAgICAgICAuZ292dWstYWNjb3JkaW9uLW5hdl9fY2hldnJvbjo6YWZ0ZXIge1xuICAgICAgICAgIGNvbG9yOiAkZ292dWstYWNjb3JkaW9uLWhvdmVyLWNvbG91cjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgQGluY2x1ZGUgZ292dWstZm9jdXNlZC10ZXh0O1xuXG4gICAgICAgIC5nb3Z1ay1hY2NvcmRpb24tbmF2X19jaGV2cm9uIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ292dWstYWNjb3JkaW9uLWJhc2UtY29sb3VyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmdvdnVrLWFjY29yZGlvbi1uYXZfX2NoZXZyb246OmFmdGVyIHtcbiAgICAgICAgICBjb2xvcjogJGdvdnVrLWFjY29yZGlvbi1pY29uLWZvY3VzLWNvbG91cjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24taGVhZGluZyB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC8vIENyZWF0ZSBDaGV2cm9uIGljb24gYWxpZ25lZCB3aXRoIHRleHRcbiAgICAuZ292dWstYWNjb3JkaW9uLW5hdl9fY2hldnJvbiB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIC8vIFNldCBzaXplIHVzaW5nIHJlbXMgc28gaWNvbiBzY2FsZXMgd2l0aCB0ZXh0XG4gICAgICB3aWR0aDogZ292dWstcHgtdG8tcmVtKDIwcHgpO1xuICAgICAgaGVpZ2h0OiBnb3Z1ay1weC10by1yZW0oMjBweCk7XG5cbiAgICAgIGJvcmRlcjogZ292dWstcHgtdG8tcmVtKDFweCkgc29saWQ7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgIC8vIENyZWF0ZSBpbm5lciBjaGV2cm9uIGFycm93XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiBnb3Z1ay1weC10by1yZW0oNXB4KTtcbiAgICAgICAgbGVmdDogZ292dWstcHgtdG8tcmVtKDZweCk7XG5cbiAgICAgICAgd2lkdGg6IGdvdnVrLXB4LXRvLXJlbSg2cHgpO1xuICAgICAgICBoZWlnaHQ6IGdvdnVrLXB4LXRvLXJlbSg2cHgpO1xuXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG5cbiAgICAgICAgYm9yZGVyLXRvcDogZ292dWstcHgtdG8tcmVtKDJweCkgc29saWQ7XG4gICAgICAgIGJvcmRlci1yaWdodDogZ292dWstcHgtdG8tcmVtKDJweCkgc29saWQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUm90YXRlIGljb24gdG8gY3JlYXRlIFwiRG93blwiIHZlcnNpb25cbiAgICAuZ292dWstYWNjb3JkaW9uLW5hdl9fY2hldnJvbi0tZG93biB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIH1cblxuICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tYnV0dG9uIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDIpIDAgMDtcblxuICAgICAgYm9yZGVyOiAwO1xuXG4gICAgICBib3JkZXItdG9wOiAkZ292dWstYWNjb3JkaW9uLWJvdHRvbS1ib3JkZXItd2lkdGggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG5cbiAgICAgIC8vIFZpc3VhbGx5IHNlcGFyYXRlIHRoZSBzZWN0aW9uIGZyb20gdGhlIG9uZSB1bmRlcm5lYXRoIHdoZW4gdXNlciBjaGFuZ2VzXG4gICAgICAvLyBjb2xvdXJzIGluIHRoZWlyIGJyb3dzZXIuIFNlZVxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2FscGhhZ292L2dvdnVrLWZyb250ZW5kL2lzc3Vlcy8yMzIxI2lzc3VlY29tbWVudC05MjQyMDE0ODhcbiAgICAgIGJvcmRlci1ib3R0b206IGdvdnVrLXNwYWNpbmcoMikgc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgICAgIGNvbG9yOiAkZ292dWstdGV4dC1jb2xvdXI7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuXG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgLy8gU2VjdGlvbiBoZWFkZXJzIGhhdmUgYSBwb2ludGVyIGN1cnNvciBhcyBhbiBhZGRpdGlvbmFsIGFmZm9yZGFuY2VcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgICAgIH1cblxuICAgICAgJjphY3RpdmUge1xuICAgICAgICBjb2xvcjogJGdvdnVrLWxpbmstYWN0aXZlLWNvbG91cjtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkZ292dWstYWNjb3JkaW9uLWJhc2UtY29sb3VyO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZ292dWstYWNjb3JkaW9uLWhvdmVyLWNvbG91cjtcblxuICAgICAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLXRvZ2dsZS10ZXh0IHtcbiAgICAgICAgICBjb2xvcjogJGdvdnVrLWFjY29yZGlvbi1iYXNlLWNvbG91cjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5nb3Z1ay1hY2NvcmRpb24tbmF2X19jaGV2cm9uIHtcbiAgICAgICAgICBjb2xvcjogJGdvdnVrLWFjY29yZGlvbi1iYXNlLWNvbG91cjtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ292dWstYWNjb3JkaW9uLWJhc2UtY29sb3VyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmdvdnVrLWFjY29yZGlvbi1uYXZfX2NoZXZyb246OmFmdGVyIHtcbiAgICAgICAgICBjb2xvcjogJGdvdnVrLWFjY29yZGlvbi1ob3Zlci1jb2xvdXI7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIC8vIFJlbW92ZSBkZWZhdWx0IGZvY3VzIGJvcmRlciBhcm91bmQgYnV0dG9uIGFzIHN0eWxpbmcgaXMgYmVpbmcgYXBwbGllZFxuICAgICAgICAvLyB0byBpbm5lciB0ZXh0IGVsZW1lbnRzIHRoYXQgcmVjZWl2ZSBmb2N1c1xuICAgICAgICBvdXRsaW5lOiAwO1xuXG4gICAgICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24taGVhZGluZy10ZXh0LWZvY3VzLFxuICAgICAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLXN1bW1hcnktZm9jdXMsXG4gICAgICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tdG9nZ2xlLWZvY3VzIHtcbiAgICAgICAgICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2VkLXRleHQ7XG4gICAgICAgIH1cblxuICAgICAgICAuZ292dWstYWNjb3JkaW9uLW5hdl9fY2hldnJvbiB7XG4gICAgICAgICAgY29sb3I6ICRnb3Z1ay1hY2NvcmRpb24tYmFzZS1jb2xvdXI7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGdvdnVrLWFjY29yZGlvbi1iYXNlLWNvbG91cjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5nb3Z1ay1hY2NvcmRpb24tbmF2X19jaGV2cm9uOjphZnRlciB7XG4gICAgICAgICAgY29sb3I6ICRnb3Z1ay1hY2NvcmRpb24taWNvbi1mb2N1cy1jb2xvdXI7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gUmVtb3ZlIGRlZmF1bHQgYnV0dG9uIGZvY3VzIG91dGxpbmUgaW4gRmlyZWZveFxuICAgICAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgdGhlIHRyYW5zcGFyZW50IGJvcmRlciB3aGVuIHRoZSBzZWN0aW9uIGlzIGV4cGFuZGVkIHRvIG1ha2UgaXRcbiAgICAvLyBjbGVhciB0aGF0IHRoZSBoZWFkaW5nIHJlbGF0ZXMgdG8gdGhlIGNvbnRlbnQgYmVsb3cuIEFkanVzdCBwYWRkaW5nIHRvXG4gICAgLy8gbWFpbnRhaW4gdGhlIGhlaWdodCBvZiB0aGUgZWxlbWVudC4gU2VlXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2FscGhhZ292L2dvdnVrLWZyb250ZW5kL3B1bGwvMjI1NyNpc3N1ZWNvbW1lbnQtOTUxOTIwNzk4XG4gICAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi0tZXhwYW5kZWQgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1idXR0b24ge1xuICAgICAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuXG4gICAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFzIENoZXZyb24gaWNvbiBpcyB2ZXJ0aWNhbGx5IGFsaWduZWQgaXQgb3ZlcmxhcHMgd2l0aCB0aGUgZm9jdXMgc3RhdGVcbiAgICAvLyBib3R0b20gYm9yZGVyIOKAkyB0aGlzIGFkZHMgc29tZSBzcGFjaW5nXG4gICAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1idXR0b246Zm9jdXMgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi10b2dnbGUtZm9jdXMge1xuICAgICAgcGFkZGluZy1ib3R0b206IDNweDtcblxuICAgICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLXRvZ2dsZSxcbiAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLWhlYWRpbmctdGV4dCxcbiAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLXN1bW1hcnkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxM3B4O1xuXG4gICAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLWhlYWRpbmctdGV4dC1mb2N1cyxcbiAgICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tc3VtbWFyeS1mb2N1cyxcbiAgICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tdG9nZ2xlLWZvY3VzIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFkZCB0b2dnbGUgbGluayB3aXRoIENoZXZyb24gaWNvbiBvbiBsZWZ0LlxuICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tdG9nZ2xlIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQtc2l6ZSgkc2l6ZTogMTkpO1xuICAgICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtcmVndWxhcjtcbiAgICAgIGNvbG9yOiAkZ292dWstbGluay1jb2xvdXI7XG4gICAgfVxuXG4gICAgLy8gQWRkIHNwYWNlIGJldHdlZW4gdGhlIGljb24gYW5kIHRleHQuIEF2b2lkIGFwcGx5aW5nIHNwYWNpbmcgZGlyZWN0bHkgdG9cbiAgICAvLyB0aGUgaWNvbiBhcyB0aGUgdXNlIG9mIGB0cmFuc2Zvcm1gIHdpbGwgY2hhbmdlIHRoZSBwbGFjZW1lbnQgb2YgYW55XG4gICAgLy8gbWFyZ2lucy5cbiAgICAuZ292dWstYWNjb3JkaW9uX19zaG93LWFsbC10ZXh0LFxuICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tdG9nZ2xlLXRleHQge1xuICAgICAgbWFyZ2luLWxlZnQ6IGdvdnVrLXNwYWNpbmcoMSk7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC8vIEJhY2tncm91bmQgY29sb3VyIGFkanVzdG1lbnQgd2hlbiB1c2VyIGNoYW5nZXMgY29sb3VycyBpbiBGaXJlZm94XG4gICAgLy9cbiAgICAvLyBXaGVuIHVzZXIgY2hhbmdlcyBjb2xvdXJzIGluIEZpcmVmb3gsIHRleHQgY29sb3VyIGluc2lkZSA8YnV0dG9uPiBpc1xuICAgIC8vIGFsd2F5cyBibGFjayAocmVnYXJkbGVzcyBvZiB0aGUgY3VzdG9tIGNvbG91cnMgdGhlIHVzZXIgaGFzIHNldCkuIFRoaXMgaXNcbiAgICAvLyBmaW5lIHdoZW4gdGhlIHRleHQgaW4gdGhlIGJ1dHRvbiBpcyBub3QgbmVzdGVkIGluc2lkZSBhbm90aGVyIGVsZW1lbnRcbiAgICAvLyBiZWNhdXNlIHdoZW4gdXNlciBjaGFuZ2VzIGNvbG91cnMgaW4gRmlyZWZveCwgdGhlIGltbWVkaWF0ZSBiYWNrZ3JvdW5kXG4gICAgLy8gY29sb3VyIG9mIGJ1dHRvbnMgaXMgYWx3YXlzIHdoaXRlIChhZ2FpbiwgcmVnYXJkbGVzcyBvZiB1c2VyJ3MgY3VzdG9tXG4gICAgLy8gY29sb3VycykuXG4gICAgLy9cbiAgICAvLyBIb3dldmVyLCB3aGVuIHRoZSB0ZXh0IGluc2lkZSA8YnV0dG9uPiBpcyB3cmFwcGVkIGluc2lkZSBhbm90aGVyIGVsZW1lbnRcbiAgICAvLyBBTkQgdGhhdCBlbGVtZW50IHNldHMgYSBiYWNrZ3JvdW5kIGNvbG91ciwgdGhlIHRleHQgY29sb3VyIGlzIHN0aWxsIGJsYWNrXG4gICAgLy8gYnV0IHRoZSBiYWNrZ3JvdW5kIG9mIHRoYXQgbmVzdGVkIGVsZW1lbnQgZ2V0cyB0aGUgdXNlcidzIGN1c3RvbVxuICAgIC8vIGJhY2tncm91bmQgY29sb3VyLiBXaGVuIHRoZSBjdXN0b20gYmFja2dyb3VuZCBpcyBhIGxpZ2h0ZXIgaHVlLCB0aGVcbiAgICAvLyBjb250cmFzdCBtaWdodCBiZSBzdWZmaWNpZW50LiBCdXQgaWYgdGhlIHVzZXIncyBjdXN0b20gYmFja2dyb3VuZCBjb2xvdXJcbiAgICAvLyBpcyBhIGRhcmtlciBjb2xvdXIsIHRoZSBjb250cmFzdCB3aXRoIHRoZSB0ZXh0IG1pZ2h0IG5vdCBiZSBzdWZmaWNpZW50LlxuICAgIC8vXG4gICAgLy8gVG8gZW5zdXJlIHN1ZmZpY2llbnQgY29udHJhc3QsIG92ZXJyaWRlIHRoZSBiYWNrZ3JvdW5kIGNvbG91ciBzZXQgYnkgdGhlXG4gICAgLy8gZm9jdXMgc3RhdGUgb24gdGhlIG5lc3RlZCBlbGVtZW50cyB0byBiZSB0cmFuc3BhcmVudC5cbiAgICAvL1xuICAgIC8vIEFsc28gb3ZlcnJpZGUgdGhlIGJhY2tncm91bmQgY29sb3VyIG9mIHRoZSBTaG93L0hpZGUgY2hldnJvbnMgd2hpY2ggc2V0IGFcbiAgICAvLyBiYWNrZ3JvdW5kIGNvbG91ciBvbiBob3Zlci5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gICAgICAuZ292dWstYWNjb3JkaW9uX19zaG93LWFsbDpob3ZlcixcbiAgICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgLmdvdnVrLWFjY29yZGlvbi1uYXZfX2NoZXZyb24ge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5nb3Z1ay1hY2NvcmRpb25fX3Nob3ctYWxsOmZvY3VzLFxuICAgICAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1idXR0b246Zm9jdXMge1xuICAgICAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLWhlYWRpbmctdGV4dC1mb2N1cyxcbiAgICAgICAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1zdW1tYXJ5LWZvY3VzLFxuICAgICAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLXRvZ2dsZS1mb2N1cyxcbiAgICAgICAgLmdvdnVrLWFjY29yZGlvbi1uYXZfX2NoZXZyb24ge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRm9yIGRldmljZXMgdGhhdCBjYW4ndCBob3ZlciBzdWNoIGFzIHRvdWNoIGRldmljZXMsXG4gICAgLy8gcmVtb3ZlIGhvdmVyIHN0YXRlIGFzIGl0IGNhbiBiZSBzdHVjayBpbiB0aGF0IHN0YXRlIChpT1MpLlxuICAgIEBtZWRpYSAoaG92ZXI6IG5vbmUpIHtcbiAgICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24taGVhZGVyOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGdvdnVrLWJvcmRlci1jb2xvdXI7XG5cbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAzcHggMCAwICRnb3Z1ay1saW5rLWNvbG91cjtcblxuICAgICAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLWJ1dHRvbiB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2luZGV4LnNjc3MubWFwICovXG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2JhY2stbGlua1wiKSB7XG4gIC8vIENvbXBvbmVudCBmb250LXNpemUgb24gdGhlIEZyb250ZW5kICh1c2VkIGZvciBjYWxjdWxhdGlvbnMpXG4gICRmb250LXNpemU6IDE2O1xuXG4gIC8vIFNpemUgb2YgY2hldnJvbiAoZXhjbHVkaW5nIGJvcmRlcilcbiAgJGNoZXZyb24tc2l6ZTogZ292dWstZW0oN3B4LCAkZm9udC1zaXplKTtcblxuICAvLyBTaXplIG9mIGNoZXZyb24gYm9yZGVyXG4gICRjaGV2cm9uLWJvcmRlci1taW4td2lkdGg6IDFweDtcbiAgJGNoZXZyb24tYm9yZGVyLXdpZHRoOiBnb3Z1ay1lbSgkY2hldnJvbi1ib3JkZXItbWluLXdpZHRoLCAkZm9udC1zaXplKTtcblxuICAvLyBDb2xvdXIgb2YgY2hldnJvblxuICAkY2hldnJvbi1ib3JkZXItY29sb3VyOiAkZ292dWstc2Vjb25kYXJ5LXRleHQtY29sb3VyO1xuXG4gIC5nb3Z1ay1iYWNrLWxpbmsge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQtc2l6ZSgkc2l6ZTogJGZvbnQtc2l6ZSk7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS10ZXh0O1xuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIG1hcmdpbi10b3A6IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcblxuICAgIC8vIEFsbG93IHNwYWNlIGZvciB0aGUgYXJyb3dcbiAgICBwYWRkaW5nLWxlZnQ6IGdvdnVrLWVtKDE0cHgsICRmb250LXNpemUpO1xuICB9XG5cbiAgLy8gUHJlcGVuZCBsZWZ0IHBvaW50aW5nIGNoZXZyb25cbiAgLmdvdnVrLWJhY2stbGluazo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgLy8gVmVydGljYWxseSBhbGlnbiB3aXRoIHRoZSBwYXJlbnQgZWxlbWVudFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IGdvdnVrLWVtKDNweCwgJGZvbnQtc2l6ZSk7XG5cbiAgICB3aWR0aDogJGNoZXZyb24tc2l6ZTtcbiAgICBoZWlnaHQ6ICRjaGV2cm9uLXNpemU7XG5cbiAgICBtYXJnaW46IGF1dG8gMDtcblxuICAgIHRyYW5zZm9ybTogcm90YXRlKDIyNWRlZyk7XG5cbiAgICBib3JkZXI6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJGNoZXZyb24tYm9yZGVyLW1pbi13aWR0aCAkY2hldnJvbi1ib3JkZXItbWluLXdpZHRoIDAgMDtcbiAgICBib3JkZXItY29sb3I6ICRjaGV2cm9uLWJvcmRlci1jb2xvdXI7XG5cbiAgICBAc3VwcG9ydHMgKGJvcmRlci13aWR0aDogdW5xdW90ZShcIm1heCgwcHgpXCIpKSB7XG4gICAgICAkYm9yZGVyLXdpZHRoLWV2YWw6IFwibWF4KCN7JGNoZXZyb24tYm9yZGVyLW1pbi13aWR0aH0sICN7JGNoZXZyb24tYm9yZGVyLXdpZHRofSlcIjtcblxuICAgICAgLy8gRW5zdXJlIHRoYXQgdGhlIGNoZXZyb24gbmV2ZXIgZ2V0cyBzbWFsbGVyIHRoYW4gMTZweFxuICAgICAgYm9yZGVyLXdpZHRoOiB1bnF1b3RlKCRib3JkZXItd2lkdGgtZXZhbCkgdW5xdW90ZSgkYm9yZGVyLXdpZHRoLWV2YWwpIDAgMDtcbiAgICAgIGZvbnQtc2l6ZTogdW5xdW90ZShcIm1heCgjeyRmb250LXNpemUgKiAxcHh9LCAxZW0pXCIpO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1iYWNrLWxpbms6Zm9jdXM6OmJlZm9yZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkZ292dWstZm9jdXMtdGV4dC1jb2xvdXI7XG4gIH1cblxuICAuZ292dWstYmFjay1saW5rOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMTRweDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IC0xNHB4O1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICAuZ292dWstYmFjay1saW5rLS1pbnZlcnNlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLWludmVyc2U7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiBjdXJyZW50Y29sb3I7XG4gICAgfVxuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9pbmRleC5zY3NzLm1hcCAqL1xuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9icmVhZGNydW1ic1wiKSB7XG4gIC8vIENvbXBvbmVudCBmb250LXNpemUgb24gdGhlIEZyb250ZW5kICh1c2VkIGZvciBjYWxjdWxhdGlvbnMpXG4gICRmb250LXNpemU6IDE2O1xuXG4gIC8vIFNpemUgb2YgY2hldnJvbiAoZXhjbHVkaW5nIGJvcmRlcilcbiAgJGNoZXZyb24tc2l6ZTogZ292dWstZW0oN3B4LCAkZm9udC1zaXplKTtcblxuICAvLyBTaXplIG9mIGNoZXZyb24gYm9yZGVyXG4gICRjaGV2cm9uLWJvcmRlci1taW4td2lkdGg6IDFweDtcbiAgJGNoZXZyb24tYm9yZGVyLXdpZHRoOiBnb3Z1ay1lbSgkY2hldnJvbi1ib3JkZXItbWluLXdpZHRoLCAkZm9udC1zaXplKTtcblxuICAvLyBDb2xvdXIgb2YgY2hldnJvblxuICAkY2hldnJvbi1ib3JkZXItY29sb3VyOiAkZ292dWstc2Vjb25kYXJ5LXRleHQtY29sb3VyO1xuXG4gIC8vIENhbGN1bGF0ZWQgYWx0aXR1ZGUgKOKWs+KGlSkgb2YgdGhlIHJpZ2h0LWFuZ2xlZCBpc29zY2VsZXMgY2hldnJvbiB3aXRoIHNpZGVzXG4gIC8vIG9mIGxlbmd0aCA4ICg3cHggKyAxcHggYm9yZGVyKTpcbiAgLy9cbiAgLy8g4oiaKDjCsiArIDjCsikgKiAwLjUg4omFIDUuNjU1XG4gICRjaGV2cm9uLWFsdGl0dWRlLWNhbGN1bGF0ZWQ6IGdvdnVrLWVtKDUuNjU1cHgsICRmb250LXNpemUpO1xuXG4gIC5nb3Z1ay1icmVhZGNydW1icyB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogJGZvbnQtc2l6ZSk7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG5cbiAgICBtYXJnaW4tdG9wOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gIH1cblxuICAuZ292dWstYnJlYWRjcnVtYnNfX2xpc3Qge1xuICAgIEBpbmNsdWRlIGdvdnVrLWNsZWFyZml4O1xuXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICB9XG5cbiAgLmdvdnVrLWJyZWFkY3J1bWJzX19saXN0LWl0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuXG4gICAgLy8gQWRkIGJvdGggbWFyZ2luIGFuZCBwYWRkaW5nIHN1Y2ggdGhhdCB0aGUgY2hldnJvbiBhcHBlYXJzIGNlbnRyYWxseVxuICAgIC8vIGJldHdlZW4gZWFjaCBicmVhZGNydW1iIGl0ZW1cbiAgICBtYXJnaW4tbGVmdDogZ292dWstZW0oZ292dWstc3BhY2luZygyKSwgJGZvbnQtc2l6ZSk7XG4gICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1lbShnb3Z1ay1zcGFjaW5nKDIpLCAkZm9udC1zaXplKSArICRjaGV2cm9uLWFsdGl0dWRlLWNhbGN1bGF0ZWQ7XG5cbiAgICBmbG9hdDogbGVmdDtcblxuICAgIC8vIENyZWF0ZSBhIGNoZXZyb24gdXNpbmcgYSBib3ggd2l0aCBib3JkZXJzIG9uIHR3byBzaWRlcywgcm90YXRlZCA0NWRlZy5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG5cbiAgICAgIC8vIE9mZnNldCBieSB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSB3aWR0aCBvZiB0aGUgbm9uLXJvdGF0ZWQgc3F1YXJlXG4gICAgICAvLyBhbmQgaXRzIHdpZHRoIHdoZW4gcm90YXRlZFxuICAgICAgbGVmdDogKCgkY2hldnJvbi1hbHRpdHVkZS1jYWxjdWxhdGVkICogLTIpICsgJGNoZXZyb24tc2l6ZSArICRjaGV2cm9uLWJvcmRlci13aWR0aCk7XG5cbiAgICAgIHdpZHRoOiAkY2hldnJvbi1zaXplO1xuICAgICAgaGVpZ2h0OiAkY2hldnJvbi1zaXplO1xuXG4gICAgICBtYXJnaW46IGF1dG8gMDtcblxuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuXG4gICAgICBib3JkZXI6IHNvbGlkO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkY2hldnJvbi1ib3JkZXItbWluLXdpZHRoICRjaGV2cm9uLWJvcmRlci1taW4td2lkdGggMCAwO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY2hldnJvbi1ib3JkZXItY29sb3VyO1xuXG4gICAgICBAc3VwcG9ydHMgKGJvcmRlci13aWR0aDogdW5xdW90ZShcIm1heCgwcHgpXCIpKSB7XG4gICAgICAgICRib3JkZXItd2lkdGgtZXZhbDogXCJtYXgoI3skY2hldnJvbi1ib3JkZXItbWluLXdpZHRofSwgI3skY2hldnJvbi1ib3JkZXItd2lkdGh9KVwiO1xuXG4gICAgICAgIC8vIEVuc3VyZSB0aGF0IHRoZSBjaGV2cm9uIG5ldmVyIGdldHMgc21hbGxlciB0aGFuIDE2cHhcbiAgICAgICAgYm9yZGVyLXdpZHRoOiB1bnF1b3RlKCRib3JkZXItd2lkdGgtZXZhbCkgdW5xdW90ZSgkYm9yZGVyLXdpZHRoLWV2YWwpIDAgMDtcbiAgICAgICAgZm9udC1zaXplOiB1bnF1b3RlKFwibWF4KCN7JGZvbnQtc2l6ZSAqIDFweH0sIDFlbSlcIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ292dWstYnJlYWRjcnVtYnNfX2xpbmsge1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtdGV4dDtcbiAgfVxuXG4gIC5nb3Z1ay1icmVhZGNydW1icy0tY29sbGFwc2Utb24tbW9iaWxlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkdW50aWw6IHRhYmxldCkge1xuICAgICAgLmdvdnVrLWJyZWFkY3J1bWJzX19saXN0LWl0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQsXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IGdvdnVrLWVtKDZweCwgJGZvbnQtc2l6ZSk7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5nb3Z1ay1icmVhZGNydW1ic19fbGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWJyZWFkY3J1bWJzLS1pbnZlcnNlIHtcbiAgICBjb2xvcjogZ292dWstY29sb3VyKFwid2hpdGVcIik7XG5cbiAgICAuZ292dWstYnJlYWRjcnVtYnNfX2xpbmsge1xuICAgICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1pbnZlcnNlO1xuICAgIH1cblxuICAgIC5nb3Z1ay1icmVhZGNydW1ic19fbGlzdC1pdGVtOjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiBjdXJyZW50Y29sb3I7XG4gICAgfVxuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9pbmRleC5zY3NzLm1hcCAqL1xuIiwiLy8vL1xuLy8vIEBncm91cCBjb21wb25lbnRzL2J1dHRvblxuLy8vL1xuXG4vLy8gQnV0dG9uIGNvbXBvbmVudCBiYWNrZ3JvdW5kIGNvbG91clxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogZ292dWstY29sb3VyKFwiZ3JlZW5cIikgIWRlZmF1bHQ7XG5cbi8vLyBCdXR0b24gY29tcG9uZW50IHRleHQgY29sb3VyXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstYnV0dG9uLXRleHQtY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJ3aGl0ZVwiKSAhZGVmYXVsdDtcblxuLy8vIEludmVydGVkIGJ1dHRvbiBjb21wb25lbnQgYmFja2dyb3VuZCBjb2xvdXJcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1pbnZlcnNlLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogZ292dWstY29sb3VyKFwid2hpdGVcIikgIWRlZmF1bHQ7XG5cbi8vLyBJbnZlcnRlZCBidXR0b24gY29tcG9uZW50IHRleHQgY29sb3VyXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstaW52ZXJzZS1idXR0b24tdGV4dC1jb2xvdXI6ICRnb3Z1ay1icmFuZC1jb2xvdXIgIWRlZmF1bHQ7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvYnV0dG9uXCIpIHtcbiAgJGdvdnVrLWJ1dHRvbi1jb2xvdXI6ICRnb3Z1ay1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI7XG4gICRnb3Z1ay1idXR0b24tdGV4dC1jb2xvdXI6ICRnb3Z1ay1idXR0b24tdGV4dC1jb2xvdXI7XG4gICRnb3Z1ay1idXR0b24taG92ZXItY29sb3VyOiBnb3Z1ay1zaGFkZSgkZ292dWstYnV0dG9uLWNvbG91ciwgMjAlKTtcbiAgJGdvdnVrLWJ1dHRvbi1zaGFkb3ctY29sb3VyOiBnb3Z1ay1zaGFkZSgkZ292dWstYnV0dG9uLWNvbG91ciwgNjAlKTtcblxuICAvLyBTZWNvbmRhcnkgYnV0dG9uIHZhcmlhYmxlc1xuICAkZ292dWstc2Vjb25kYXJ5LWJ1dHRvbi1jb2xvdXI6IGdvdnVrLWNvbG91cihcImxpZ2h0LWdyZXlcIik7XG4gICRnb3Z1ay1zZWNvbmRhcnktYnV0dG9uLXRleHQtY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcbiAgJGdvdnVrLXNlY29uZGFyeS1idXR0b24taG92ZXItY29sb3VyOiBnb3Z1ay1zaGFkZSgkZ292dWstc2Vjb25kYXJ5LWJ1dHRvbi1jb2xvdXIsIDEwJSk7XG4gICRnb3Z1ay1zZWNvbmRhcnktYnV0dG9uLXNoYWRvdy1jb2xvdXI6IGdvdnVrLXNoYWRlKCRnb3Z1ay1zZWNvbmRhcnktYnV0dG9uLWNvbG91ciwgNDAlKTtcblxuICAvLyBXYXJuaW5nIGJ1dHRvbiB2YXJpYWJsZXNcbiAgJGdvdnVrLXdhcm5pbmctYnV0dG9uLWNvbG91cjogZ292dWstY29sb3VyKFwicmVkXCIpO1xuICAkZ292dWstd2FybmluZy1idXR0b24tdGV4dC1jb2xvdXI6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICAkZ292dWstd2FybmluZy1idXR0b24taG92ZXItY29sb3VyOiBnb3Z1ay1zaGFkZSgkZ292dWstd2FybmluZy1idXR0b24tY29sb3VyLCAyMCUpO1xuICAkZ292dWstd2FybmluZy1idXR0b24tc2hhZG93LWNvbG91cjogZ292dWstc2hhZGUoJGdvdnVrLXdhcm5pbmctYnV0dG9uLWNvbG91ciwgNjAlKTtcblxuICAvLyBJbnZlcnNlIGJ1dHRvbiB2YXJpYWJsZXNcbiAgJGdvdnVrLWludmVyc2UtYnV0dG9uLWNvbG91cjogJGdvdnVrLWludmVyc2UtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyO1xuICAkZ292dWstaW52ZXJzZS1idXR0b24tdGV4dC1jb2xvdXI6ICRnb3Z1ay1pbnZlcnNlLWJ1dHRvbi10ZXh0LWNvbG91cjtcbiAgJGdvdnVrLWludmVyc2UtYnV0dG9uLWhvdmVyLWNvbG91cjogZ292dWstdGludCgkZ292dWstaW52ZXJzZS1idXR0b24tdGV4dC1jb2xvdXIsIDkwJSk7XG4gICRnb3Z1ay1pbnZlcnNlLWJ1dHRvbi1zaGFkb3ctY29sb3VyOiBnb3Z1ay1zaGFkZSgkZ292dWstaW52ZXJzZS1idXR0b24tdGV4dC1jb2xvdXIsIDMwJSk7XG5cbiAgLy8gQmVjYXVzZSB0aGUgc2hhZG93IChzMCkgaXMgdmlzdWFsbHkgJ3BhcnQgb2YnIHRoZSBidXR0b24sIHdlIG5lZWQgdG8gcmVkdWNlXG4gIC8vIHRoZSBoZWlnaHQgb2YgdGhlIGJ1dHRvbiB0byBjb21wZW5zYXRlIGJ5IGFkanVzdGluZyBpdHMgcGFkZGluZyAoczEpIGFuZFxuICAvLyBpbmNyZWFzZSB0aGUgYm90dG9tIG1hcmdpbiB0byBpbmNsdWRlIGl0IChzMikuXG4gICRidXR0b24tc2hhZG93LXNpemU6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50O1xuXG4gIC5nb3Z1ay1idXR0b24ge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5LCAkbGluZS1oZWlnaHQ6IDE5cHgpO1xuXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIsICRhZGp1c3RtZW50OiAkYnV0dG9uLXNoYWRvdy1zaXplKTsgLy8gczJcbiAgICBwYWRkaW5nOiAoZ292dWstc3BhY2luZygyKSAtICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50KSBnb3Z1ay1zcGFjaW5nKDIpXG4gICAgICAoZ292dWstc3BhY2luZygyKSAtICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50IC0gKCRidXR0b24tc2hhZG93LXNpemUgLyAyKSk7IC8vIHMxXG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGNvbG9yOiAkZ292dWstYnV0dG9uLXRleHQtY29sb3VyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1idXR0b24tY29sb3VyO1xuICAgIGJveC1zaGFkb3c6IDAgJGJ1dHRvbi1zaGFkb3ctc2l6ZSAwICRnb3Z1ay1idXR0b24tc2hhZG93LWNvbG91cjsgLy8gczBcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuXG4gICAgLy8gRW5zdXJlIHRoYXQgYW55IGdsb2JhbCBsaW5rIHN0eWxlcyBhcmUgb3ZlcnJpZGRlblxuICAgICY6bGluayxcbiAgICAmOnZpc2l0ZWQsXG4gICAgJjphY3RpdmUsXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGdvdnVrLWJ1dHRvbi10ZXh0LWNvbG91cjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBGaXggdW53YW50ZWQgYnV0dG9uIHBhZGRpbmcgaW4gRmlyZWZveFxuICAgICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1idXR0b24taG92ZXItY29sb3VyO1xuICAgIH1cblxuICAgICY6YWN0aXZlIHtcbiAgICAgIC8vIEJ1bXAgdGhlIGJ1dHRvbiBkb3duIHNvIGl0IGxvb2tzIGxpa2UgaXRzIGJlaW5nIHByZXNzZWQgaW5cbiAgICAgIHRvcDogJGJ1dHRvbi1zaGFkb3ctc2l6ZTtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgICAgIG91dGxpbmU6ICRnb3Z1ay1mb2N1cy13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCAkZ292dWstZm9jdXMtY29sb3VyO1xuICAgIH1cblxuICAgICY6Zm9jdXM6bm90KDphY3RpdmUpOm5vdCg6aG92ZXIpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgICAgIGNvbG9yOiAkZ292dWstZm9jdXMtdGV4dC1jb2xvdXI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstZm9jdXMtY29sb3VyO1xuICAgICAgYm94LXNoYWRvdzogMCAycHggMCAkZ292dWstZm9jdXMtdGV4dC1jb2xvdXI7XG4gICAgfVxuXG4gICAgLy8gVGhlIGZvbGxvd2luZyBhZGp1c3RtZW50cyBkbyBub3Qgd29yayBmb3IgPGlucHV0IHR5cGU9XCJidXR0b25cIj4gYXNcbiAgICAvLyBub24tY29udGFpbmVyIGVsZW1lbnRzIGNhbm5vdCBpbmNsdWRlIHBzZXVkbyBlbGVtZW50cyAoaS5lLiA6OmJlZm9yZSkuXG5cbiAgICAvLyBVc2UgYSBwc2V1ZG8gZWxlbWVudCB0byBleHBhbmQgdGhlIGNsaWNrIHRhcmdldCBhcmVhIHRvIGluY2x1ZGUgdGhlXG4gICAgLy8gYnV0dG9uJ3Mgc2hhZG93IGFzIHdlbGwsIGluIGNhc2UgdXNlcnMgdHJ5IHRvIGNsaWNrIGl0LlxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgdG9wOiAtJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQ7XG4gICAgICByaWdodDogLSRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50O1xuICAgICAgYm90dG9tOiAtKCRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50ICsgJGJ1dHRvbi1zaGFkb3ctc2l6ZSk7XG4gICAgICBsZWZ0OiAtJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQ7XG5cbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIFdoZW4gdGhlIGJ1dHRvbiBpcyBhY3RpdmUgaXQgaXMgc2hpZnRlZCBkb3duIGJ5ICRidXR0b24tc2hhZG93LXNpemUgdG9cbiAgICAvLyBkZW5vdGUgYSAncHJlc3NlZCcgc3RhdGUuIElmIHRoZSB1c2VyIGhhcHBlbmVkIHRvIGNsaWNrIGF0IHRoZSB2ZXJ5IHRvcFxuICAgIC8vIG9mIHRoZSBidXR0b24sIHRoZWlyIG1vdXNlIGlzIG5vIGxvbmdlciBvdmVyIHRoZSBidXR0b24gKGJlY2F1c2UgaXQgaGFzXG4gICAgLy8gJ21vdmVkIGJlbmVhdGggdGhlbScpIGFuZCBzbyB0aGUgY2xpY2sgZXZlbnQgaXMgbm90IGZpcmVkLlxuICAgIC8vXG4gICAgLy8gVGhpcyBjb3JyZWN0cyB0aGF0IGJ5IHNoaWZ0aW5nIHRoZSB0b3Agb2YgdGhlIHBzZXVkbyBlbGVtZW50IHNvIHRoYXQgaXRcbiAgICAvLyBjb250aW51ZXMgdG8gY292ZXIgdGhlIGFyZWEgdGhhdCB0aGUgdXNlciBvcmlnaW5hbGx5IGNsaWNrZWQsIHdoaWNoIG1lYW5zXG4gICAgLy8gdGhlIGNsaWNrIGV2ZW50IGlzIHN0aWxsIGZpcmVkLlxuICAgIC8vXG4gICAgLy8g8J+OiVxuICAgICY6YWN0aXZlOjpiZWZvcmUge1xuICAgICAgdG9wOiAtKCRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50ICsgJGJ1dHRvbi1zaGFkb3ctc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIG9wYWNpdHk6ICgwLjUpO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstYnV0dG9uLWNvbG91cjtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuXG4gICAgJjphY3RpdmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgYm94LXNoYWRvdzogMCAkYnV0dG9uLXNoYWRvdy1zaXplIDAgJGdvdnVrLWJ1dHRvbi1zaGFkb3ctY29sb3VyOyAvLyBzMFxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1idXR0b24tLXNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLXNlY29uZGFyeS1idXR0b24tY29sb3VyO1xuICAgIGJveC1zaGFkb3c6IDAgJGJ1dHRvbi1zaGFkb3ctc2l6ZSAwICRnb3Z1ay1zZWNvbmRhcnktYnV0dG9uLXNoYWRvdy1jb2xvdXI7XG5cbiAgICAmLFxuICAgICY6bGluayxcbiAgICAmOnZpc2l0ZWQsXG4gICAgJjphY3RpdmUsXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGdvdnVrLXNlY29uZGFyeS1idXR0b24tdGV4dC1jb2xvdXI7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstc2Vjb25kYXJ5LWJ1dHRvbi1ob3Zlci1jb2xvdXI7XG5cbiAgICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLXNlY29uZGFyeS1idXR0b24tY29sb3VyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1idXR0b24tLXdhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay13YXJuaW5nLWJ1dHRvbi1jb2xvdXI7XG4gICAgYm94LXNoYWRvdzogMCAkYnV0dG9uLXNoYWRvdy1zaXplIDAgJGdvdnVrLXdhcm5pbmctYnV0dG9uLXNoYWRvdy1jb2xvdXI7XG5cbiAgICAmLFxuICAgICY6bGluayxcbiAgICAmOnZpc2l0ZWQsXG4gICAgJjphY3RpdmUsXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGdvdnVrLXdhcm5pbmctYnV0dG9uLXRleHQtY29sb3VyO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLXdhcm5pbmctYnV0dG9uLWhvdmVyLWNvbG91cjtcblxuICAgICAgJltkaXNhYmxlZF0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstd2FybmluZy1idXR0b24tY29sb3VyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1idXR0b24tLWludmVyc2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1pbnZlcnNlLWJ1dHRvbi1jb2xvdXI7XG4gICAgYm94LXNoYWRvdzogMCAkYnV0dG9uLXNoYWRvdy1zaXplIDAgJGdvdnVrLWludmVyc2UtYnV0dG9uLXNoYWRvdy1jb2xvdXI7XG5cbiAgICAmLFxuICAgICY6bGluayxcbiAgICAmOnZpc2l0ZWQsXG4gICAgJjphY3RpdmUsXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGdvdnVrLWludmVyc2UtYnV0dG9uLXRleHQtY29sb3VyO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLWludmVyc2UtYnV0dG9uLWhvdmVyLWNvbG91cjtcblxuICAgICAgJltkaXNhYmxlZF0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstaW52ZXJzZS1idXR0b24tY29sb3VyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1idXR0b24tLXN0YXJ0IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1ib2xkO1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQtc2l6ZSgkc2l6ZTogMjQsICRsaW5lLWhlaWdodDogMSk7XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBtaW4taGVpZ2h0OiBhdXRvO1xuXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAuZ292dWstYnV0dG9uX19zdGFydC1pY29uIHtcbiAgICBtYXJnaW4tbGVmdDogZ292dWstc3BhY2luZygxKTtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiBkZXNrdG9wKSB7XG4gICAgICBtYXJnaW4tbGVmdDogZ292dWstc3BhY2luZygyKTtcbiAgICB9XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgLy8gV29yayBhcm91bmQgU1ZHcyBub3QgaW5oZXJpdGluZyBjb2xvciBmcm9tIHBhcmVudCBpbiBmb3JjZWQgY29sb3IgbW9kZVxuICAgIC8vIChodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLWRyYWZ0cy9pc3N1ZXMvNjMxMClcbiAgICBmb3JjZWQtY29sb3ItYWRqdXN0OiBhdXRvO1xuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9pbmRleC5zY3NzLm1hcCAqL1xuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9lcnJvci1tZXNzYWdlXCIpIHtcbiAgLmdvdnVrLWVycm9yLW1lc3NhZ2Uge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5LCAkd2VpZ2h0OiBib2xkKTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDA7IC8vIFJlc2V0IGFueSBkZWZhdWx0IGJyb3dzZXIgbWFyZ2lucyBmb3IgcGFyYWdyYXBoc1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgY2xlYXI6IGJvdGg7XG5cbiAgICBjb2xvcjogJGdvdnVrLWVycm9yLWNvbG91cjtcbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1faW5kZXguc2Nzcy5tYXAgKi9cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvaGludFwiKSB7XG4gIC5nb3Z1ay1oaW50IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG5cbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuXG4gICAgY29sb3I6ICRnb3Z1ay1zZWNvbmRhcnktdGV4dC1jb2xvdXI7XG4gIH1cblxuICAvLyBSZWR1Y2VzIG1hcmdpbi1ib3R0b20gb2YgaGludCB3aGVuIHVzZWQgYWZ0ZXIgdGhlIGRlZmF1bHQgbGFiZWwgKG5vIGNsYXNzKVxuICAvLyBvciBnb3Z1ay1sYWJlbC0tcyBmb3IgYmV0dGVyIHZlcnRpY2FsIGFsaWdubWVudC5cblxuICAvLyBUaGlzIGFkanVzdG1lbnQgd2lsbCBub3Qgd29yayB3aGVuIHRoZSBsYWJlbCBpcyBpbnNpZGUgdGhlIDxoMT4sIGhvd2V2ZXIgaXRcbiAgLy8gaXMgdW5saWtlbHkgdGhhdCB0aGUgZGVmYXVsdCBvciBnb3Z1ay1sYWJlbC0tcyBjbGFzcyB3b3VsZCBiZSB1c2VkIGluIHRoaXNcbiAgLy8gY2FzZS5cblxuICAvLyBUaGlzIGFkanVzdG1lbnQgd2lsbCBub3Qgd29yayBpbiBicm93c2VycyB0aGF0IGRvIG5vdCBzdXBwb3J0IDpub3QoKS5cbiAgLy8gVXNlcnMgd2l0aCB0aGVzZSBicm93c2VycyB3aWxsIHNlZSB0aGUgZGVmYXVsdCBzaXplIG1hcmdpbiAoNXB4IGxhcmdlcikuXG5cbiAgLmdvdnVrLWxhYmVsOm5vdCguZ292dWstbGFiZWwtLW0pOm5vdCguZ292dWstbGFiZWwtLWwpOm5vdCguZ292dWstbGFiZWwtLXhsKSArIC5nb3Z1ay1oaW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICB9XG5cbiAgLy8gUmVkdWNlcyBtYXJnaW4tYm90dG9tIG9mIGhpbnQgd2hlbiB1c2VkIGFmdGVyIHRoZSBkZWZhdWx0IGxlZ2VuZCAobm8gY2xhc3MpXG4gIC8vIG9yIGdvdnVrLWZpZWxkc2V0X19sZWdlbmQtLXMgZm9yIGJldHRlciB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5cbiAgLy8gVGhpcyBhZGp1c3RtZW50IHdpbGwgbm90IHdvcmsgd2hlbiB0aGUgbGVnZW5kIGlzIG91dHNpZGUgdGhlIDxoMT4sIGhvd2V2ZXJcbiAgLy8gaXQgaXMgdW5saWtlbHkgdGhhdCB0aGUgZGVmYXVsdCBvciBnb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1zIGNsYXNzIHdvdWxkIGJlXG4gIC8vIHVzZWQgaW4gdGhpcyBjYXNlLlxuXG4gIC8vIFRoaXMgYWRqdXN0bWVudCB3aWxsIG5vdCB3b3JrIGluIGJyb3dzZXJzIHRoYXQgZG8gbm90IHN1cHBvcnQgOm5vdCgpLlxuICAvLyBVc2VycyB3aXRoIHRoZXNlIGJyb3dzZXJzIHdpbGwgc2VlIHRoZSBkZWZhdWx0IHNpemUgbWFyZ2luICg1cHggbGFyZ2VyKS5cblxuICAvLyBwcmV0dGllci1pZ25vcmVcbiAgLmdvdnVrLWZpZWxkc2V0X19sZWdlbmQ6bm90KC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1tKTpub3QoLmdvdnVrLWZpZWxkc2V0X19sZWdlbmQtLWwpOm5vdCguZ292dWstZmllbGRzZXRfX2xlZ2VuZC0teGwpICsgLmdvdnVrLWhpbnQge1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gIH1cblxuICAvLyBSZWR1Y2VzIHZpc3VhbCBzcGFjaW5nIG9mIGxlZ2VuZCB3aGVuIHRoZXJlIGlzIGEgaGludFxuICAuZ292dWstZmllbGRzZXRfX2xlZ2VuZCArIC5nb3Z1ay1oaW50IHtcbiAgICBtYXJnaW4tdG9wOiBnb3Z1ay1zcGFjaW5nKC0xKTtcbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1faW5kZXguc2Nzcy5tYXAgKi9cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvbGFiZWxcIikge1xuICAuZ292dWstbGFiZWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcbiAgfVxuXG4gIC8vIE1vZGlmaWVycyB0aGF0IG1ha2UgbGFiZWxzIGxvb2sgbW9yZSBsaWtlIHRoZWlyIGVxdWl2YWxlbnQgaGVhZGluZ3NcbiAgLmdvdnVrLWxhYmVsLS14bCxcbiAgLmdvdnVrLWxhYmVsLS1sLFxuICAuZ292dWstbGFiZWwtLW0ge1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LWJvbGQ7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgfVxuXG4gIC5nb3Z1ay1sYWJlbC0teGwge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQtc2l6ZSgkc2l6ZTogNDgpO1xuICB9XG5cbiAgLmdvdnVrLWxhYmVsLS1sIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250LXNpemUoJHNpemU6IDM2KTtcbiAgfVxuXG4gIC5nb3Z1ay1sYWJlbC0tbSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udC1zaXplKCRzaXplOiAyNCk7XG4gIH1cblxuICAuZ292dWstbGFiZWwtLXMge1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LWJvbGQ7XG4gIH1cblxuICAvLyBXaGVuIHRoZSBsYWJlbCBpcyBuZXN0ZWQgaW5zaWRlIGEgaGVhZGluZywgb3ZlcnJpZGUgdGhlIGhlYWRpbmcgc28gdGhhdCBpdFxuICAvLyBkb2VzIG5vdCBoYXZlIGEgbWFyZ2luLiBFZmZlY3RpdmVseSB3ZSB3YW50IHRvIGJlIGFibGUgdG8gdHJlYXQgdGhlIGhlYWRpbmdcbiAgLy8gYXMgaWYgaXQgaXMgbm90IHRoZXJlLlxuICAvL1xuICAvLyBUaGlzIGJyZWFrcyBCRU0gY29udmVudGlvbnMgYmVjYXVzZSBpdCBleGlzdHMgYXMgYSBwYXJlbnQgb2YgdGhlICdibG9jaycsXG4gIC8vIHNvIHdlIGNhbid0IHJlYWxseSBjb25zaWRlciBhbiBlbGVtZW50LlxuICAuZ292dWstbGFiZWwtd3JhcHBlciB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9pbmRleC5zY3NzLm1hcCAqL1xuIiwiQGltcG9ydCBcIi4uL2Vycm9yLW1lc3NhZ2UvaW5kZXhcIjtcbkBpbXBvcnQgXCIuLi9oaW50L2luZGV4XCI7XG5AaW1wb3J0IFwiLi4vbGFiZWwvaW5kZXhcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC90ZXh0YXJlYVwiKSB7XG4gIC5nb3Z1ay10ZXh0YXJlYSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTksICRsaW5lLWhlaWdodDogMS4yNSk7XG5cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIik7XG4gICAgcGFkZGluZzogZ292dWstc3BhY2luZygxKTtcblxuICAgIHJlc2l6ZTogdmVydGljYWw7XG5cbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50IHNvbGlkICRnb3Z1ay1pbnB1dC1ib3JkZXItY29sb3VyO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6ICRnb3Z1ay1mb2N1cy13aWR0aCBzb2xpZCAkZ292dWstZm9jdXMtY29sb3VyO1xuICAgICAgLy8gRW5zdXJlIG91dGxpbmUgYXBwZWFycyBvdXRzaWRlIG9mIHRoZSBlbGVtZW50XG4gICAgICBvdXRsaW5lLW9mZnNldDogMDtcbiAgICAgIC8vIERvdWJsZSB0aGUgYm9yZGVyIGJ5IGFkZGluZyBpdHMgd2lkdGggYWdhaW4uIFVzZSBgYm94LXNoYWRvd2AgdG8gZG9cbiAgICAgIC8vIHRoaXMgaW5zdGVhZCBvZiBjaGFuZ2luZyBgYm9yZGVyLXdpZHRoYCAod2hpY2ggY2hhbmdlcyBlbGVtZW50IHNpemUpXG4gICAgICAvLyBhbmQgc2luY2UgYG91dGxpbmVgIGlzIGFscmVhZHkgdXNlZCBmb3IgdGhlIHllbGxvdyBmb2N1cyBzdGF0ZS5cbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50O1xuICAgIH1cblxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXRleHRhcmVhLS1lcnJvciB7XG4gICAgYm9yZGVyLWNvbG9yOiAkZ292dWstZXJyb3ItY29sb3VyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICRnb3Z1ay1pbnB1dC1ib3JkZXItY29sb3VyO1xuICAgIH1cbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1faW5kZXguc2Nzcy5tYXAgKi9cbiIsIkBpbXBvcnQgXCIuLi9lcnJvci1tZXNzYWdlL2luZGV4XCI7XG5AaW1wb3J0IFwiLi4vaGludC9pbmRleFwiO1xuQGltcG9ydCBcIi4uL2xhYmVsL2luZGV4XCI7XG5AaW1wb3J0IFwiLi4vdGV4dGFyZWEvaW5kZXhcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9jaGFyYWN0ZXItY291bnRcIikge1xuICAuZ292dWstY2hhcmFjdGVyLWNvdW50IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcblxuICAgIC5nb3Z1ay1mb3JtLWdyb3VwLFxuICAgIC5nb3Z1ay10ZXh0YXJlYSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1jaGFyYWN0ZXItY291bnRfX21lc3NhZ2Uge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQtdGFidWxhci1udW1iZXJzO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIC8vIFplcm8td2lkdGggc3BhY2UgdGhhdCB3aWxsIHJlc2VydmUgdmVydGljYWwgc3BhY2Ugd2hlbiBubyBoaW50IGlzXG4gICAgICAvLyBwcm92aWRlZCBhczpcbiAgICAgIC8vIC0gc2V0dGluZyBhIG1pbi1oZWlnaHQgaXMgbm90IHBvc3NpYmxlIHdpdGhvdXQgYSBtYWdpYyBudW1iZXIgYmVjYXVzZVxuICAgICAgLy8gICB0aGUgbGluZS1oZWlnaHQgaXMgc2V0IGJ5IHRoZSBgZ292dWstZm9udGAgY2FsbCBhYm92ZVxuICAgICAgLy8gLSB1c2luZyBgOmVtcHR5YCBpcyBub3QgcG9zc2libGUgYXMgdGhlIGhpbnQgbWFjcm8gb3V0cHV0cyBsaW5lIGJyZWFrc1xuICAgICAgY29udGVudDogXCJcXDIwMEJcIjtcbiAgICB9XG4gIH1cblxuICAuZ292dWstY2hhcmFjdGVyLWNvdW50X19tZXNzYWdlLS1kaXNhYmxlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9pbmRleC5zY3NzLm1hcCAqL1xuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9maWVsZHNldFwiKSB7XG4gIC5nb3Z1ay1maWVsZHNldCB7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1jbGVhcmZpeDtcbiAgfVxuXG4gIC8vIEZpeCBmb3IgRmlyZWZveCA8IDUzIChodHRwczovL2J1Z3ppbC5sYS81MDQ2MjIpXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLXR5cGUtbm8tdW5rbm93biAtLSBJZ25vcmUgJ3g6LW1vei1hbnktbGluaydcbiAgQHN1cHBvcnRzIG5vdCAoY2FyZXQtY29sb3I6IGF1dG8pIHtcbiAgICAuZ292dWstZmllbGRzZXQsXG4gICAgeDotbW96LWFueS1saW5rIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgfVxuICB9XG4gIC8vIHN0eWxlbGludC1lbmFibGUgc2VsZWN0b3ItdHlwZS1uby11bmtub3duXG5cbiAgLmdvdnVrLWZpZWxkc2V0X19sZWdlbmQge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcblxuICAgIC8vIEZpeCBsZWdlbmQgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRVxuICAgIC8vIDEuIElFOS0xMSAmIEVkZ2UgMTItMTNcbiAgICAvLyAyLiBJRTgtMTFcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gICAgZGlzcGxheTogdGFibGU7IC8vIDJcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIDFcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvLyAxXG4gIH1cblxuICAvLyBNb2RpZmllcnMgdGhhdCBtYWtlIGxlZ2VuZHMgbG9vayBtb3JlIGxpa2UgdGhlaXIgZXF1aXZhbGVudCBoZWFkaW5nc1xuICAuZ292dWstZmllbGRzZXRfX2xlZ2VuZC0teGwsXG4gIC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1sLFxuICAuZ292dWstZmllbGRzZXRfX2xlZ2VuZC0tbSB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZDtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICB9XG5cbiAgLmdvdnVrLWZpZWxkc2V0X19sZWdlbmQtLXhsIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250LXNpemUoJHNpemU6IDQ4KTtcbiAgfVxuXG4gIC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1sIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250LXNpemUoJHNpemU6IDM2KTtcbiAgfVxuXG4gIC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1tIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250LXNpemUoJHNpemU6IDI0KTtcbiAgfVxuXG4gIC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1zIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1ib2xkO1xuICB9XG5cbiAgLy8gV2hlbiB0aGUgbGVnZW5kIGNvbnRhaW5zIGFuIEgxLCB3ZSB3YW50IHRoZSBIMSB0byBpbmhlcml0IGFsbCBzdHlsZXMgZnJvbVxuICAvLyB0aGUgbGVnZW5kLiBFZmZlY3RpdmVseSB0cmVhdCB0aGUgaGVhZGluZyBhcyBpZiBpdCBpcyBub3QgdGhlcmUuXG4gIC5nb3Z1ay1maWVsZHNldF9faGVhZGluZyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1faW5kZXguc2Nzcy5tYXAgKi9cbiIsIkBpbXBvcnQgXCIuLi9lcnJvci1tZXNzYWdlL2luZGV4XCI7XG5AaW1wb3J0IFwiLi4vZmllbGRzZXQvaW5kZXhcIjtcbkBpbXBvcnQgXCIuLi9oaW50L2luZGV4XCI7XG5AaW1wb3J0IFwiLi4vbGFiZWwvaW5kZXhcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9jaGVja2JveGVzXCIpIHtcbiAgJGdvdnVrLXRvdWNoLXRhcmdldC1ndXR0ZXI6IDRweDtcbiAgJGdvdnVrLWNoZWNrYm94ZXMtc2l6ZTogNDBweDtcbiAgJGdvdnVrLXRvdWNoLXRhcmdldC1zaXplOiAoJGdvdnVrLWNoZWNrYm94ZXMtc2l6ZSArICRnb3Z1ay10b3VjaC10YXJnZXQtZ3V0dGVyKTtcbiAgJGdvdnVrLXNtYWxsLWNoZWNrYm94ZXMtc2l6ZTogMjRweDtcbiAgJGdvdnVrLWNoZWNrYm94ZXMtbGFiZWwtcGFkZGluZy1sZWZ0LXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAkZ292dWstY2hlY2tib3gtY2hlY2staG9yaXpvbnRhbC1wb3NpdGlvbjogMTBweDtcblxuICAuZ292dWstY2hlY2tib3hlc19faXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gIH1cblxuICAuZ292dWstY2hlY2tib3hlc19faXRlbTpsYXN0LWNoaWxkLFxuICAuZ292dWstY2hlY2tib3hlc19faXRlbTpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAuZ292dWstY2hlY2tib3hlc19faW5wdXQge1xuICAgIC8vIEFsbG93IHRoZSBpbnB1dCB0byBzaXQgYWJvdmUgdGhlIGxhYmVsLCBlbmFibGluZyBpdHMgcHJvcGVyIGRldGVjdGlvblxuICAgIC8vIHdoZW4gZXhwbG9yaW5nIGJ5IHRvdWNoIG9yIHVzaW5nIGF1dG9tYXRpb24gdG9vbHMgbGlrZSBTZWxlbml1bVxuICAgIHotaW5kZXg6IDE7XG4gICAgd2lkdGg6ICRnb3Z1ay10b3VjaC10YXJnZXQtc2l6ZTtcbiAgICBoZWlnaHQ6ICRnb3Z1ay10b3VjaC10YXJnZXQtc2l6ZTtcbiAgICBtYXJnaW46IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAuZ292dWstY2hlY2tib3hlc19fbGFiZWwge1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcblxuICAgIC8vIEVuc3VyZSB0aGF0IHRoZSB3aWR0aCBvZiB0aGUgbGFiZWwgaXMgbmV2ZXIgbW9yZSB0aGFuIHRoZSB3aWR0aCBvZiB0aGVcbiAgICAvLyBjb250YWluZXIgbWludXMgdGhlIGlucHV0IHdpZHRoIG1pbnVzIHRoZSBwYWRkaW5nIG9uIGVpdGhlciBzaWRlIG9mXG4gICAgLy8gdGhlIGxhYmVsLiBUaGlzIHByZXZlbnRzIHRoZSBsYWJlbCBmcm9tIGdvaW5nIG9udG8gdGhlIG5leHQgbGluZSBkdWUgdG9cbiAgICAvLyBfX2l0ZW0gdXNpbmcgZmxleC13cmFwIGJlY2F1c2Ugd2Ugd2FudCBoaW50cyBvbiBhIHNlcGFyYXRlIGxpbmUuXG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAjeygoJGdvdnVrLWNoZWNrYm94ZXMtbGFiZWwtcGFkZGluZy1sZWZ0LXJpZ2h0ICogMikgKyAkZ292dWstdG91Y2gtdGFyZ2V0LXNpemUpfSk7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiAoZ292dWstc3BhY2luZygxKSArICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50KSBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAvLyByZW1vdmUgMzAwbXMgcGF1c2Ugb24gbW9iaWxlXG4gICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIH1cblxuICAvLyBbIF0gQ2hlY2sgYm94XG4gIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogKCRnb3Z1ay10b3VjaC10YXJnZXQtZ3V0dGVyIC8gMik7XG4gICAgbGVmdDogKCRnb3Z1ay10b3VjaC10YXJnZXQtZ3V0dGVyIC8gMik7XG4gICAgd2lkdGg6ICRnb3Z1ay1jaGVja2JveGVzLXNpemU7XG4gICAgaGVpZ2h0OiAkZ292dWstY2hlY2tib3hlcy1zaXplO1xuICAgIGJvcmRlcjogJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQgc29saWQgY3VycmVudGNvbG9yO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLy8g4pyUIENoZWNrIG1hcmtcbiAgLy9cbiAgLy8gVGhlIGNoZWNrIG1hcmsgaXMgYSBib3ggd2l0aCBhIGJvcmRlciBvbiB0aGUgbGVmdCBhbmQgYm90dG9tIHNpZGUgKOKUlOKUgOKUgCksXG4gIC8vIHJvdGF0ZWQgNDUgZGVncmVlc1xuICAuZ292dWstY2hlY2tib3hlc19fbGFiZWw6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgLy8gVXNlIFwibWFnaWMgbnVtYmVyc1wiIHRvIGRlZmluZSBzaGFwZSBhbmQgcG9zaXRpb24gb2YgY2hlY2sgbWFyayBiZWNhdXNlXG4gICAgLy8gdGhlIGNvbXBsZXhpdHkgb2YgdGhlIHNoYXBlIG1ha2VzIGl0IGRpZmZpY3VsdCB0byBjYWxjdWxhdGUgZHluYW1pY2FsbHkuXG4gICAgdG9wOiAxM3B4O1xuICAgIGxlZnQ6ICRnb3Z1ay1jaGVja2JveC1jaGVjay1ob3Jpem9udGFsLXBvc2l0aW9uO1xuICAgIHdpZHRoOiAyM3B4O1xuICAgIGhlaWdodDogMTJweDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgIGJvcmRlcjogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgNXB4IDVweDtcbiAgICAvLyBGaXggYnVnIGluIElFMTEgY2F1c2VkIGJ5IHRyYW5zZm9ybSByb3RhdGUgKC00NWRlZykuXG4gICAgLy8gU2VlOiBhbHBoYWdvdi9nb3Z1a19lbGVtZW50cy9pc3N1ZXMvNTE4XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgb3BhY2l0eTogMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC5nb3Z1ay1jaGVja2JveGVzX19oaW50IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiBnb3Z1ay1zcGFjaW5nKC0xKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ292dWstY2hlY2tib3hlcy1sYWJlbC1wYWRkaW5nLWxlZnQtcmlnaHQ7XG4gICAgcGFkZGluZy1sZWZ0OiAoJGdvdnVrLWNoZWNrYm94ZXMtbGFiZWwtcGFkZGluZy1sZWZ0LXJpZ2h0ICsgJGdvdnVrLXRvdWNoLXRhcmdldC1zaXplKTtcbiAgfVxuXG4gIC8vIFRoaXMgaXMgdG8gYnlwYXNzIGdvdnVrLWhpbnQncyBzcGVjaWZpY2l0eSBvbiBoaW50cyBmb2xsb3dpbmcgbGFiZWxzIGhhdmluZ1xuICAvLyBhIG1hcmdpbiBib3R0b20gb2YgMTBweCAoZ292dWstc3BhY2luZygyKSkuIEJlY2F1c2UgY2hlY2tib3hlcyBhcmUgZmxleGJveCxcbiAgLy8gdGhlIG1hcmdpbiBkb2Vzbid0IGNvbGxhcHNlIHNvIHdlIGhhdmUgdG8gZG8gdGhpcyBtYW51YWxseS5cbiAgLmdvdnVrLWxhYmVsOm5vdCguZ292dWstbGFiZWwtLW0pOm5vdCguZ292dWstbGFiZWwtLWwpOm5vdCguZ292dWstbGFiZWwtLXhsKSArIC5nb3Z1ay1jaGVja2JveGVzX19oaW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLy8gRm9jdXNlZCBzdGF0ZVxuICAuZ292dWstY2hlY2tib3hlc19faW5wdXQ6Zm9jdXMgKyAuZ292dWstY2hlY2tib3hlc19fbGFiZWw6OmJlZm9yZSB7XG4gICAgYm9yZGVyLXdpZHRoOiA0cHg7XG5cbiAgICAvLyBXaGVuIGNvbG91cnMgYXJlIG92ZXJyaWRkZW4sIHRoZSB5ZWxsb3cgYm94LXNoYWRvdyBiZWNvbWVzIGludmlzaWJsZVxuICAgIC8vIHdoaWNoIG1lYW5zIHRoZSBmb2N1cyBzdGF0ZSBpcyBsZXNzIG9idmlvdXMuIEJ5IGFkZGluZyBhIHRyYW5zcGFyZW50XG4gICAgLy8gb3V0bGluZSwgd2hpY2ggYmVjb21lcyBzb2xpZCAodGV4dC1jb2xvdXJlZCkgaW4gdGhhdCBjb250ZXh0LCB3ZSBlbnN1cmVcbiAgICAvLyB0aGUgZm9jdXMgcmVtYWlucyBjbGVhcmx5IHZpc2libGUuXG4gICAgb3V0bGluZTogJGdvdnVrLWZvY3VzLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG5cbiAgICAvLyBXaGVuIGluIGFuIGV4cGxpY2l0IGZvcmNlZC1jb2xvciBtb2RlLCB3ZSBjYW4gdXNlIHRoZSBIaWdobGlnaHQgc3lzdGVtXG4gICAgLy8gY29sb3IgZm9yIHRoZSBvdXRsaW5lIHRvIGJldHRlciBtYXRjaCBmb2N1cyBzdGF0ZXMgb2YgbmF0aXZlIGNvbnRyb2xzXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gICAgICBvdXRsaW5lLWNvbG9yOiBIaWdobGlnaHQ7XG4gICAgfVxuXG4gICAgYm94LXNoYWRvdzogMCAwIDAgJGdvdnVrLWZvY3VzLXdpZHRoICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gIH1cblxuICAvLyBTZWxlY3RlZCBzdGF0ZVxuICAuZ292dWstY2hlY2tib3hlc19faW5wdXQ6Y2hlY2tlZCArIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbDo6YWZ0ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAuZ292dWstY2hlY2tib3hlc19faW5wdXQ6ZGlzYWJsZWQsXG4gIC5nb3Z1ay1jaGVja2JveGVzX19pbnB1dDpkaXNhYmxlZCArIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbCB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuXG4gIC5nb3Z1ay1jaGVja2JveGVzX19pbnB1dDpkaXNhYmxlZCArIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbCxcbiAgLmdvdnVrLWNoZWNrYm94ZXNfX2lucHV0OmRpc2FibGVkIH4gLmdvdnVrLWhpbnQge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBEaXZpZGVycyAoJ29yJylcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLmdvdnVrLWNoZWNrYm94ZXNfX2RpdmlkZXIge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICAkZ292dWstZGl2aWRlci1zaXplOiAkZ292dWstY2hlY2tib3hlcy1zaXplICFkZWZhdWx0O1xuICAgIHdpZHRoOiAkZ292dWstZGl2aWRlci1zaXplO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIENvbmRpdGlvbmFsIHJldmVhbHNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gVGhlIG5hcnJvdyBib3JkZXIgaXMgdXNlZCBpbiB0aGUgY29uZGl0aW9uYWwgcmV2ZWFscyBiZWNhdXNlIHRoZSBib3JkZXIgaGFzXG4gIC8vIHRvIGJlIGFuIGV2ZW4gbnVtYmVyIGluIG9yZGVyIHRvIGJlIGNlbnRyZWQgdW5kZXIgdGhlIDQwcHggY2hlY2tib3ggb3IgcmFkaW8uXG4gICRjb25kaXRpb25hbC1ib3JkZXItd2lkdGg6ICRnb3Z1ay1ib3JkZXItd2lkdGgtbmFycm93O1xuICAvLyBDYWxjdWxhdGUgdGhlIGFtb3VudCBvZiBwYWRkaW5nIG5lZWRlZCB0byBrZWVwIHRoZSBib3JkZXIgY2VudGVyZWQgYWdhaW5zdCB0aGUgY2hlY2tib3guXG4gICRjb25kaXRpb25hbC1ib3JkZXItcGFkZGluZzogKCRnb3Z1ay10b3VjaC10YXJnZXQtc2l6ZSAvIDIpIC0gKCRjb25kaXRpb25hbC1ib3JkZXItd2lkdGggLyAyKTtcbiAgLy8gTW92ZSB0aGUgYm9yZGVyIGNlbnRlcmVkIHdpdGggdGhlIGNoZWNrYm94XG4gICRjb25kaXRpb25hbC1tYXJnaW4tbGVmdDogJGNvbmRpdGlvbmFsLWJvcmRlci1wYWRkaW5nO1xuICAvLyBNb3ZlIHRoZSBjb250ZW50cyBvZiB0aGUgY29uZGl0aW9uYWwgaW5saW5lIHdpdGggdGhlIGxhYmVsXG4gICRjb25kaXRpb25hbC1wYWRkaW5nLWxlZnQ6ICRjb25kaXRpb25hbC1ib3JkZXItcGFkZGluZyArICRnb3Z1ay1jaGVja2JveGVzLWxhYmVsLXBhZGRpbmctbGVmdC1yaWdodDtcblxuICAuZ292dWstY2hlY2tib3hlc19fY29uZGl0aW9uYWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICAgIG1hcmdpbi1sZWZ0OiAkY29uZGl0aW9uYWwtbWFyZ2luLWxlZnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAkY29uZGl0aW9uYWwtcGFkZGluZy1sZWZ0O1xuICAgIGJvcmRlci1sZWZ0OiAkY29uZGl0aW9uYWwtYm9yZGVyLXdpZHRoIHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuXG4gICAgLmdvdnVrLWZyb250ZW5kLXN1cHBvcnRlZCAmLS1oaWRkZW4ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmID4gOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gU21hbGwgY2hlY2tib3hlc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAuZ292dWstY2hlY2tib3hlcy0tc21hbGwge1xuICAgICRpbnB1dC1vZmZzZXQ6ICgkZ292dWstdG91Y2gtdGFyZ2V0LXNpemUgLSAkZ292dWstc21hbGwtY2hlY2tib3hlcy1zaXplKSAvIDI7XG5cbiAgICAuZ292dWstY2hlY2tib3hlc19faXRlbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC8vIFNoaWZ0IHRoZSB0b3VjaCB0YXJnZXQgaW50byB0aGUgbGVmdCBtYXJnaW4gc28gdGhhdCB0aGUgdmlzaWJsZSBlZGdlIG9mXG4gICAgLy8gdGhlIGNvbnRyb2wgaXMgYWxpZ25lZFxuICAgIC8vXG4gICAgLy8gICDilIZXaGF0IGNvbG91cnMgZG8geW91IGxpa2U/XG4gICAgLy8gIOKUjOKUhuKUgOKUgOKUgOKUkFxuICAgIC8vICDilILilIZbXSDilIIgUHVycGxlXG4gICAgLy8gIOKUlOKUhuKWsuKUgOKUgOKUmFxuICAgIC8vICDilrLilIbilJTilIAgQ2hlY2sgYm94IHBzZXVkbyBlbGVtZW50LCBhbGlnbmVkIHdpdGggbWFyZ2luXG4gICAgLy8gIOKUlOKUgOKUgOKUgCBUb3VjaCB0YXJnZXQgKGludmlzaWJsZSBpbnB1dCksIHNoaWZ0ZWQgaW50byB0aGUgbWFyZ2luXG4gICAgLmdvdnVrLWNoZWNrYm94ZXNfX2lucHV0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkaW5wdXQtb2Zmc2V0ICogLTE7XG4gICAgfVxuXG4gICAgLmdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsIHtcbiAgICAgIC8vIENyZWF0ZSBhIHRpbnkgc3BhY2UgYmV0d2VlbiB0aGUgc21hbGwgY2hlY2tib3ggaG92ZXIgc3RhdGUgc28gdGhhdCBpdFxuICAgICAgLy8gZG9lc24ndCBjbGFzaCB3aXRoIHRoZSBsYWJlbFxuICAgICAgcGFkZGluZy1sZWZ0OiAxcHg7XG4gICAgfVxuXG4gICAgLy8gWyBdIENoZWNrIGJveFxuICAgIC8vXG4gICAgLy8gUmVkdWNlIHRoZSBzaXplIG9mIHRoZSBjaGVjayBib3ggWzFdLCB2ZXJ0aWNhbGx5IGNlbnRlciBpdCB3aXRoaW4gdGhlXG4gICAgLy8gdG91Y2ggdGFyZ2V0IFsyXVxuICAgIC8vIExlZnQgaGVyZSBpcyAwIGJlY2F1c2Ugd2UndmUgc2hpZnRlZCB0aGUgaW5wdXQgaW50byB0aGUgbGVmdCBtYXJnaW5cbiAgICAuZ292dWstY2hlY2tib3hlc19fbGFiZWw6OmJlZm9yZSB7XG4gICAgICB0b3A6ICRpbnB1dC1vZmZzZXQ7IC8vIDJcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogJGdvdnVrLXNtYWxsLWNoZWNrYm94ZXMtc2l6ZTsgLy8gMVxuICAgICAgaGVpZ2h0OiAkZ292dWstc21hbGwtY2hlY2tib3hlcy1zaXplOyAvLyAxXG4gICAgfVxuXG4gICAgLy8g4pyUIENoZWNrIG1hcmtcbiAgICAvL1xuICAgIC8vIFJlZHVjZSB0aGUgc2l6ZSBvZiB0aGUgY2hlY2sgbWFyayBhbmQgcmUtYWxpZ24gd2l0aGluIHRoZSBjaGVja2JveFxuICAgIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbDo6YWZ0ZXIge1xuICAgICAgdG9wOiAxN3B4O1xuXG4gICAgICAvLyBIb3Jpem9udGFsIHBvc2l0aW9uIGlzIGp1c3QgdGhlIG5vcm1hbCBzaXplZCBsZWZ0IHZhbHVlIGFjY291bnRpbmcgZm9yXG4gICAgICAvLyB0aGUgbmV3IHdpZHRoIG9mIHRoZSBzbWFsbGVyIGNoZWNrYm94XG4gICAgICBsZWZ0OiAoMTZweCAtICRnb3Z1ay1jaGVja2JveC1jaGVjay1ob3Jpem9udGFsLXBvc2l0aW9uKTtcbiAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgaGVpZ2h0OiA2LjVweDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAwIDNweCAzcHg7XG4gICAgfVxuXG4gICAgLy8gRml4IHBvc2l0aW9uIG9mIGhpbnQgd2l0aCBzbWFsbCBjaGVja2JveGVzXG4gICAgLy9cbiAgICAvLyBEbyBub3QgdXNlIGhpbnRzIHdpdGggc21hbGwgY2hlY2tib3hlcyDigJMgYmVjYXVzZSB0aGV5J3JlIHdpdGhpbiB0aGUgaW5wdXRcbiAgICAvLyB3cmFwcGVyIHRoZXkgdHJpZ2dlciB0aGUgaG92ZXIgc3RhdGUsIGJ1dCBjbGlja2luZyB0aGVtIGRvZXNuJ3QgYWN0dWFsbHlcbiAgICAvLyBhY3RpdmF0ZSB0aGUgY29udHJvbC5cbiAgICAvL1xuICAgIC8vIChJZiB5b3UgZG8gdXNlIHRoZW0sIHRoZXkgd29uJ3QgbG9vayBjb21wbGV0ZWx5IGJyb2tlbi4uLiBidXQgc2VyaW91c2x5LFxuICAgIC8vIGRvbid0IHVzZSB0aGVtKVxuICAgIC5nb3Z1ay1jaGVja2JveGVzX19oaW50IHtcbiAgICAgIHBhZGRpbmctbGVmdDogKCRnb3Z1ay1zbWFsbC1jaGVja2JveGVzLXNpemUgKyAkaW5wdXQtb2Zmc2V0KTtcbiAgICB9XG5cbiAgICAvLyBBbGlnbiBjb25kaXRpb25hbCByZXZlYWxzIHdpdGggc21hbGwgY2hlY2tib3hlc1xuICAgIC5nb3Z1ay1jaGVja2JveGVzX19jb25kaXRpb25hbCB7XG4gICAgICAkbWFyZ2luLWxlZnQ6ICgkZ292dWstc21hbGwtY2hlY2tib3hlcy1zaXplIC8gMikgLSAoJGNvbmRpdGlvbmFsLWJvcmRlci13aWR0aCAvIDIpO1xuICAgICAgbWFyZ2luLWxlZnQ6ICRtYXJnaW4tbGVmdDtcbiAgICAgIHBhZGRpbmctbGVmdDogKCRnb3Z1ay10b3VjaC10YXJnZXQtc2l6ZSAtICRpbnB1dC1vZmZzZXQpIC0gKCRtYXJnaW4tbGVmdCArICRjb25kaXRpb25hbC1ib3JkZXItd2lkdGgpO1xuICAgIH1cblxuICAgIC5nb3Z1ay1jaGVja2JveGVzX19kaXZpZGVyIHtcbiAgICAgIHdpZHRoOiAkZ292dWstc21hbGwtY2hlY2tib3hlcy1zaXplO1xuICAgICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcbiAgICB9XG5cbiAgICAvLyBIb3ZlciBzdGF0ZSBmb3Igc21hbGwgY2hlY2tib3hlcy5cbiAgICAvL1xuICAgIC8vIFdlIHVzZSBhIGhvdmVyIHN0YXRlIGZvciBzbWFsbCBjaGVja2JveGVzIGJlY2F1c2UgdGhlIHRvdWNoIHRhcmdldCBzaXplXG4gICAgLy8gaXMgc28gbXVjaCBsYXJnZXIgdGhhbiB0aGVpciB2aXNpYmxlIHNpemUsIGFuZCBzbyB3ZSBuZWVkIHRvIHByb3ZpZGVcbiAgICAvLyBmZWVkYmFjayB0byB0aGUgdXNlciBhcyB0byB3aGljaCBjaGVja2JveCB0aGV5IHdpbGwgc2VsZWN0IHdoZW4gdGhlaXJcbiAgICAvLyBjdXJzb3IgaXMgb3V0c2lkZSBvZiB0aGUgdmlzaWJsZSBhcmVhLlxuICAgIC5nb3Z1ay1jaGVja2JveGVzX19pdGVtOmhvdmVyIC5nb3Z1ay1jaGVja2JveGVzX19pbnB1dDpub3QoOmRpc2FibGVkKSArIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbDo6YmVmb3JlIHtcbiAgICAgIC8vIEZvcmNlZCBjb2xvdXJzIG1vZGVzIHRlbmQgdG8gaWdub3JlIGJveC1zaGFkb3cuXG4gICAgICAvLyBBcHBseSBhbiBvdXRsaW5lIGZvciB0aG9zZSBtb2RlcyB0byB1c2UgaW5zdGVhZC5cbiAgICAgIG91dGxpbmU6ICRnb3Z1ay1mb2N1cy13aWR0aCBkYXNoZWQgdHJhbnNwYXJlbnQ7XG4gICAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGdvdnVrLWhvdmVyLXdpZHRoICRnb3Z1ay1ob3Zlci1jb2xvdXI7XG4gICAgfVxuXG4gICAgLy8gQmVjYXVzZSB3ZSd2ZSBvdmVycmlkZGVuIHRoZSBib3JkZXItc2hhZG93IHByb3ZpZGVkIGJ5IHRoZSBmb2N1cyBzdGF0ZSxcbiAgICAvLyB3ZSBuZWVkIHRvIHJlZGVmaW5lIHRoYXQgdG9vLlxuICAgIC8vXG4gICAgLy8gV2UgdXNlIHR3byBib3ggc2hhZG93cywgb25lIHRoYXQgcmVzdG9yZXMgdGhlIG9yaWdpbmFsIGZvY3VzIHN0YXRlIFsxXVxuICAgIC8vIGFuZCBhbm90aGVyIHRoYXQgdGhlbiBhcHBsaWVzIHRoZSBob3ZlciBzdGF0ZSBbMl0uXG4gICAgLmdvdnVrLWNoZWNrYm94ZXNfX2l0ZW06aG92ZXIgLmdvdnVrLWNoZWNrYm94ZXNfX2lucHV0OmZvY3VzICsgLmdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsOjpiZWZvcmUge1xuICAgICAgLy8gU2V0IGRpZmZlcmVudCBIQ00gY29sb3VyIHdoZW4gd2UgaGF2ZSBib3RoIGhvdmVyL2ZvY3VzIGFwcGxpZWQgYXQgb25jZVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gICAgICAgIG91dGxpbmUtY29sb3I6IEhpZ2hsaWdodDtcbiAgICAgIH1cbiAgICAgIC8vIHByZXR0aWVyLWlnbm9yZVxuICAgICAgYm94LXNoYWRvdzpcbiAgICAgICAgMCAwIDAgJGdvdnVrLWZvY3VzLXdpZHRoICRnb3Z1ay1mb2N1cy1jb2xvdXIsIC8vIDFcbiAgICAgICAgMCAwIDAgJGdvdnVrLWhvdmVyLXdpZHRoICRnb3Z1ay1ob3Zlci1jb2xvdXI7IC8vIDJcbiAgICB9XG5cbiAgICAvLyBGb3IgZGV2aWNlcyB0aGF0IGV4cGxpY2l0bHkgZG9uJ3Qgc3VwcG9ydCBob3ZlciwgZG9uJ3QgcHJvdmlkZSBhIGhvdmVyXG4gICAgLy8gc3RhdGUgKGUuZy4gb24gdG91Y2ggZGV2aWNlcyBsaWtlIGlPUykuXG4gICAgLy9cbiAgICAvLyBXZSBjYW4ndCB1c2UgYEBtZWRpYSAoaG92ZXI6IGhvdmVyKWAgYmVjYXVzZSB3ZSB3b3VsZG4ndCBnZXQgdGhlIGhvdmVyXG4gICAgLy8gc3RhdGUgaW4gYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IGBAbWVkaWEgKGhvdmVyKWAgKGxpa2UgSW50ZXJuZXRcbiAgICAvLyBFeHBsb3Jlcikg4oCTIHNvIHdlIGhhdmUgdG8gJ3VuZG8nIHRoZSBob3ZlciBzdGF0ZSBpbnN0ZWFkLlxuICAgIEBtZWRpYSAoaG92ZXI6IG5vbmUpLCAocG9pbnRlcjogY29hcnNlKSB7XG4gICAgICAuZ292dWstY2hlY2tib3hlc19faXRlbTpob3ZlciAuZ292dWstY2hlY2tib3hlc19faW5wdXQ6bm90KDpkaXNhYmxlZCkgKyAuZ292dWstY2hlY2tib3hlc19fbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IGluaXRpYWw7XG4gICAgICB9XG5cbiAgICAgIC5nb3Z1ay1jaGVja2JveGVzX19pdGVtOmhvdmVyIC5nb3Z1ay1jaGVja2JveGVzX19pbnB1dDpmb2N1cyArIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGdvdnVrLWZvY3VzLXdpZHRoICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9pbmRleC5zY3NzLm1hcCAqL1xuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9jb29raWUtYmFubmVyXCIpIHtcbiAgLy8gVGhpcyBuZWVkcyB0byBiZSBrZXB0IGluIHN5bmMgd2l0aCB0aGUgaGVhZGVyIGNvbXBvbmVudCdzIHN0eWxlc1xuICAkYm9yZGVyLWJvdHRvbS13aWR0aDogZ292dWstc3BhY2luZygyKTtcblxuICAuZ292dWstY29va2llLWJhbm5lciB7XG4gICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoNCk7XG4gICAgLy8gVGhlIGNvbXBvbmVudCBkb2VzIG5vdCBzZXQgYm90dG9tIHNwYWNpbmcuIFRoZSBib3R0b20gc3BhY2luZyBzaG91bGQgYmVcbiAgICAvLyBjcmVhdGVkIGJ5IHRoZSBpdGVtcyBpbnNpZGUgdGhlIGNvbXBvbmVudC5cblxuICAgIC8vIFZpc3VhbGx5IHNlcGFyYXRlIHRoZSBjb29raWUgYmFubmVyIGZyb20gY29udGVudCB1bmRlcm5lYXRoIHdoZW4gdXNlclxuICAgIC8vIGNoYW5nZXMgY29sb3VycyBpbiB0aGVpciBicm93c2VyLlxuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXItYm90dG9tLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLWNhbnZhcy1iYWNrZ3JvdW5kLWNvbG91cjtcbiAgfVxuXG4gIC8vIFN1cHBvcnQgb2xkZXIgYnJvd3NlcnMgd2hpY2ggZG9uJ3QgaGlkZSBlbGVtZW50cyB3aXRoIHRoZSBgaGlkZGVuYCBhdHRyaWJ1dGVcbiAgLy8gd2hlbiB1c2VyIGhpZGVzIHRoZSB3aG9sZSBjb29raWUgYmFubmVyIHdpdGggYSAnSGlkZScgYnV0dG9uLlxuICAuZ292dWstY29va2llLWJhbm5lcltoaWRkZW5dIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmdvdnVrLWNvb2tpZS1iYW5uZXJfX21lc3NhZ2Uge1xuICAgIC8vIFJlbW92ZSB0aGUgZXh0cmEgaGVpZ2h0IGFkZGVkIGJ5IHRoZSBzZXBhcmF0b3IgYm9yZGVyLlxuICAgIG1hcmdpbi1ib3R0b206IC0kYm9yZGVyLWJvdHRvbS13aWR0aDtcblxuICAgICZbaGlkZGVuXSB7XG4gICAgICAvLyBTdXBwb3J0IG9sZGVyIGJyb3dzZXJzIHdoaWNoIGRvbid0IGhpZGUgZWxlbWVudHMgd2l0aCB0aGUgYGhpZGRlbmBcbiAgICAgIC8vIGF0dHJpYnV0ZSB3aGVuIHRoZSB2aXNpYmlsaXR5IG9mIGNvb2tpZSBhbmQgcmVwbGFjZW1lbnQgbWVzc2FnZXMgaXNcbiAgICAgIC8vIHRvZ2dsZWQuXG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgLy8gUmVtb3ZlIHRoZSBuYXRpdmUgdmlzaWJsZSBmb2N1cyBpbmRpY2F0b3Igd2hlbiB0aGUgZWxlbWVudCBpc1xuICAgICAgLy8gcHJvZ3JhbW1hdGljYWxseSBmb2N1c2VkLlxuICAgICAgLy9cbiAgICAgIC8vIFRoZSBmb2N1c2VkIGNvb2tpZSBiYW5uZXIgaXMgdGhlIGZpcnN0IGVsZW1lbnQgb24gdGhlIHBhZ2UgYW5kIHRoZSBsYXN0XG4gICAgICAvLyB0aGluZyB0aGUgdXNlciBpbnRlcmFjdGVkIHdpdGggcHJpb3IgdG8gaXQgZ2FpbmluZyBmb2N1cy4gV2UgdGhlcmVmb3JlXG4gICAgICAvLyBhc3N1bWUgdGhhdCBtb3ZpbmcgZm9jdXMgdG8gaXQgaXMgbm90IGdvaW5nIHRvIHN1cnByaXNlIHVzZXJzLCBhbmQgdGhhdFxuICAgICAgLy8gZ2l2aW5nIGl0IGEgdmlzaWJsZSBmb2N1cyBpbmRpY2F0b3IgY291bGQgYmUgbW9yZSBjb25mdXNpbmcgdGhhblxuICAgICAgLy8gaGVscGZ1bCwgZXNwZWNpYWxseSBhcyB0aGUgZWxlbWVudCBpcyBub3Qgbm9ybWFsbHkga2V5Ym9hcmQgb3BlcmFibGUuXG4gICAgICAvL1xuICAgICAgLy8gV2UgaGF2ZSBmbGFnZ2VkIHRoaXMgaW4gdGhlIHJlc2VhcmNoIHNlY3Rpb24gb2YgdGhlIGd1aWRhbmNlIGFzXG4gICAgICAvLyBzb21ldGhpbmcgdG8gbW9uaXRvci5cbiAgICAgIC8vXG4gICAgICAvLyBBIHJlbGF0ZWQgZGlzY3Vzc2lvbjogaHR0cHM6Ly9naXRodWIuY29tL3czYy93Y2FnL2lzc3Vlcy8xMDAxXG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1faW5kZXguc2Nzcy5tYXAgKi9cbiIsIkBpbXBvcnQgXCIuLi9lcnJvci1tZXNzYWdlL2luZGV4XCI7XG5AaW1wb3J0IFwiLi4vaGludC9pbmRleFwiO1xuQGltcG9ydCBcIi4uL2xhYmVsL2luZGV4XCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvaW5wdXRcIikge1xuICAuZ292dWstaW5wdXQge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcblxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBnb3Z1ay1weC10by1yZW0oNDBweCk7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgIC8vIFNldHRpbmcgYW55IGJhY2tncm91bmQtY29sb3IgbWFrZXMgdGV4dCBpbnZpc2libGUgd2hlbiBjaGFuZ2luZyBjb2xvdXJzXG4gICAgLy8gdG8gZGFyayBiYWNrZ3JvdW5kcyBpbiBGaXJlZm94IChodHRwczovL2J1Z3ppbC5sYS8xMzM1NDc2KS4gQXNcbiAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yIGFuZCBjb2xvciBuZWVkIHRvIGFsd2F5cyBiZSBzZXQgdG9nZXRoZXIsIGNvbG9yIHNob3VsZFxuICAgIC8vIG5vdCBiZSBzZXQgZWl0aGVyXG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudCBzb2xpZCAkZ292dWstaW5wdXQtYm9yZGVyLWNvbG91cjtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgLy8gRGlzYWJsZSBpbm5lciBzaGFkb3cgYW5kIHJlbW92ZSByb3VuZGVkIGNvcm5lcnNcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiAkZ292dWstZm9jdXMtd2lkdGggc29saWQgJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgICAgIC8vIEVuc3VyZSBvdXRsaW5lIGFwcGVhcnMgb3V0c2lkZSBvZiB0aGUgZWxlbWVudFxuICAgICAgb3V0bGluZS1vZmZzZXQ6IDA7XG4gICAgICAvLyBEb3VibGUgdGhlIGJvcmRlciBieSBhZGRpbmcgaXRzIHdpZHRoIGFnYWluLiBVc2UgYGJveC1zaGFkb3dgIGZvciB0aGlzXG4gICAgICAvLyBpbnN0ZWFkIG9mIGNoYW5naW5nIGBib3JkZXItd2lkdGhgIC0gdGhpcyBpcyBmb3IgY29uc2lzdGVuY3kgd2l0aFxuICAgICAgLy8gY29tcG9uZW50cyBzdWNoIGFzIHRleHRhcmVhIHdoZXJlIHdlIGF2b2lkIGNoYW5naW5nIGBib3JkZXItd2lkdGhgIGFzXG4gICAgICAvLyBpdCB3aWxsIGNoYW5nZSB0aGUgZWxlbWVudCBzaXplLiBBbHNvLCBgb3V0bGluZWAgY2Fubm90IGJlIHV0aWxpc2VkXG4gICAgICAvLyBoZXJlIGFzIGl0IGlzIGFscmVhZHkgdXNlZCBmb3IgdGhlIHllbGxvdyBmb2N1cyBzdGF0ZS5cbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50O1xuICAgIH1cblxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWlucHV0Ojotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLFxuICAuZ292dWstaW5wdXQ6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuICAgIG1hcmdpbjogMDtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAuZ292dWstaW5wdXRbdHlwZT1cIm51bWJlclwiXSB7XG4gICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIH1cblxuICAuZ292dWstaW5wdXQtLWVycm9yIHtcbiAgICBib3JkZXItY29sb3I6ICRnb3Z1ay1lcnJvci1jb2xvdXI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGdvdnVrLWlucHV0LWJvcmRlci1jb2xvdXI7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWlucHV0LS1leHRyYS1sZXR0ZXItc3BhY2luZyB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udC10YWJ1bGFyLW51bWJlcnM7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgfVxuXG4gIC8vIGVtIG1lYXN1cmVtZW50cyBhcmUgYmFzZWQgb24gdGhlIHBvaW50IHNpemUgb2YgdGhlIHR5cGVmYWNlXG4gIC8vIEV4dHJhIHNwYWNlIGlzIGFkZGVkIG9uIHRoZSByaWdodCB0byBhbGxvdyBmb3IgdGhlIFNhZmFyaSBwcmVmaWxsIGljb25cblxuICAuZ292dWstaW5wdXQtLXdpZHRoLTMwIHtcbiAgICBtYXgtd2lkdGg6IDI5LjVlbTtcbiAgfVxuXG4gIC5nb3Z1ay1pbnB1dC0td2lkdGgtMjAge1xuICAgIG1heC13aWR0aDogMjAuNWVtO1xuICB9XG5cbiAgLmdvdnVrLWlucHV0LS13aWR0aC0xMCB7XG4gICAgbWF4LXdpZHRoOiAxMS41ZW07XG4gIH1cblxuICAuZ292dWstaW5wdXQtLXdpZHRoLTUge1xuICAgIG1heC13aWR0aDogNS41ZW07XG4gIH1cblxuICAuZ292dWstaW5wdXQtLXdpZHRoLTQge1xuICAgIG1heC13aWR0aDogNC41ZW07XG4gIH1cblxuICAuZ292dWstaW5wdXQtLXdpZHRoLTMge1xuICAgIG1heC13aWR0aDogMy43NWVtO1xuICB9XG5cbiAgLmdvdnVrLWlucHV0LS13aWR0aC0yIHtcbiAgICBtYXgtd2lkdGg6IDIuNzVlbTtcbiAgfVxuXG4gIC5nb3Z1ay1pbnB1dF9fd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgIC5nb3Z1ay1pbnB1dCB7XG4gICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB9XG5cbiAgICAuZ292dWstaW5wdXQ6Zm9jdXMge1xuICAgICAgLy8gSGFjayB0byBzdG9wIGZvY3VzIHN0eWxlIGJlaW5nIG92ZXJsYXBwZWQgYnkgdGhlIHN1ZmZpeFxuICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICAvLyBTcGxpdCBwcmVmaXgvc3VmZml4IG9udG8gc2VwYXJhdGUgbGluZXMgb24gbmFycm93IHNjcmVlbnNcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkdW50aWw6IG1vYmlsZSkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIC5nb3Z1ay1pbnB1dCB7XG4gICAgICAgIC8vIFNldCBtYXgtd2lkdGggdG8gb3ZlcnJpZGUgcG90ZW50aWFsIHdpZHRoIG92ZXJyaWRlIGNsYXNzIG9uIHRoZSBpbnB1dFxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWlucHV0X19wcmVmaXgsXG4gIC5nb3Z1ay1pbnB1dF9fc3VmZml4IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAvLyBVc2UgZmxleGJveCB0byBhbGlnbiB0ZXh0IHdpdGhpbiB0aGUgcHJlZml4IGFuZCBzdWZmaXhcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWluLXdpZHRoOiBnb3Z1ay1weC10by1yZW0oNDBweCk7XG4gICAgaGVpZ2h0OiBnb3Z1ay1weC10by1yZW0oNDBweCk7XG4gICAgcGFkZGluZzogZ292dWstc3BhY2luZygxKTtcbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50IHNvbGlkICRnb3Z1ay1pbnB1dC1ib3JkZXItY29sb3VyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGdvdnVrLWNvbG91cihcImxpZ2h0LWdyZXlcIik7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgLy8gRW1waGFzaXNlIG5vbi1lZGl0YWJsZSBzdGF0dXMgb2YgcHJlZml4ZXMgYW5kIHN1ZmZpeGVzXG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIC8vIFNwbGl0IHByZWZpeC9zdWZmaXggb250byBzZXBhcmF0ZSBsaW5lcyBvbiBuYXJyb3cgc2NyZWVuc1xuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCR1bnRpbDogbW9iaWxlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWlucHV0X19wcmVmaXgge1xuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCR1bnRpbDogbW9iaWxlKSB7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIH1cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogbW9iaWxlKSB7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gU3BsaXQgcHJlZml4L3N1ZmZpeCBvbnRvIHNlcGFyYXRlIGxpbmVzIG9uIG5hcnJvdyBzY3JlZW5zXG4gIC5nb3Z1ay1pbnB1dF9fc3VmZml4IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkdW50aWw6IG1vYmlsZSkge1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICB9XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IG1vYmlsZSkge1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9pbmRleC5zY3NzLm1hcCAqL1xuIiwiQGltcG9ydCBcIi4uL2Vycm9yLW1lc3NhZ2UvaW5kZXhcIjtcbkBpbXBvcnQgXCIuLi9pbnB1dC9pbmRleFwiO1xuQGltcG9ydCBcIi4uL2hpbnQvaW5kZXhcIjtcbkBpbXBvcnQgXCIuLi9sYWJlbC9pbmRleFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2RhdGUtaW5wdXRcIikge1xuICAuZ292dWstZGF0ZS1pbnB1dCB7XG4gICAgQGluY2x1ZGUgZ292dWstY2xlYXJmaXg7XG4gICAgZm9udC1zaXplOiAwOyAvLyByZW1vdmVzIHdoaXRlc3BhY2UgY2F1c2VkIGJ5IGlubGluZS1ibG9ja1xuICB9XG5cbiAgLmdvdnVrLWRhdGUtaW5wdXRfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IGdvdnVrLXNwYWNpbmcoNCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5nb3Z1ay1kYXRlLWlucHV0X19sYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAuZ292dWstZGF0ZS1pbnB1dF9faW5wdXQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2luZGV4LnNjc3MubWFwICovXG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2RldGFpbHNcIikge1xuICAuZ292dWstZGV0YWlscyB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAuZ292dWstZGV0YWlsc19fc3VtbWFyeSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAuZ292dWstZGV0YWlsc1tvcGVuXSAuZ292dWstZGV0YWlsc19fc3VtbWFyeSB7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcbiAgfVxuXG4gIC5nb3Z1ay1kZXRhaWxzX19zdW1tYXJ5LXRleHQge1xuICAgID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgPiA6b25seS1jaGlsZCxcbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWRldGFpbHNfX3RleHQge1xuICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIHBhZGRpbmctYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZyg0KTtcbiAgfVxuXG4gIC5nb3Z1ay1kZXRhaWxzX190ZXh0IHAge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZyg0KTtcbiAgfVxuXG4gIC5nb3Z1ay1kZXRhaWxzX190ZXh0ID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAvLyBIYWNrIHRvIHRhcmdldCBJRTggLSBJRTExIChhbmQgUkVBTExZIG9sZCBGaXJlZm94KVxuICAvLyBUaGVzZSBicm93c2VycyBkb24ndCBzdXBwb3J0IHRoZSBkZXRhaWxzIGVsZW1lbnQsIHNvIGZhbGwgYmFjayB0byBsb29raW5nXG4gIC8vIGxpa2UgaW5zZXQgdGV4dFxuICBAbWVkaWEgc2NyZWVuXFwwIHtcbiAgICAuZ292dWstZGV0YWlscyB7XG4gICAgICBib3JkZXItbGVmdDogJGdvdnVrLWJvcmRlci13aWR0aC13aWRlIHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICAgIH1cblxuICAgIC5nb3Z1ay1kZXRhaWxzX19zdW1tYXJ5IHtcbiAgICAgIG1hcmdpbi10b3A6IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgfVxuXG4gICAgLmdvdnVrLWRldGFpbHNfX3N1bW1hcnktdGV4dCB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1ib2xkO1xuICAgICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gICAgICBwYWRkaW5nLWxlZnQ6IGdvdnVrLXNwYWNpbmcoNCk7XG4gICAgfVxuICB9XG5cbiAgLy8gV2Ugd3JhcCBzdHlsZXMgZm9yIG5ld2VyIGJyb3dzZXJzIGluIGEgZmVhdHVyZSBxdWVyeSwgd2hpY2ggaXMgaWdub3JlZCBieVxuICAvLyBvbGRlciBicm93c2Vycywgd2hpY2ggYWx3YXlzIGV4cGFuZCB0aGUgZGV0YWlscyBlbGVtZW50LlxuICAvL1xuICAvLyBBZGRpdGlvbmFsbHksIC1tcy1pbWUtYWxpZ24gaXMgb25seSBzdXBwb3J0ZWQgYnkgRWRnZSAxMiAtIDE4XG4gIC8vXG4gIC8vIFRoaXMgZW5zdXJlcyB3ZSBkb24ndCB1c2UgdGhlc2Ugc3R5bGVzIGluIGJyb3dzZXJzIHdoaWNoOlxuICAvLyAgIC0gc3VwcG9ydCBFUzYgbW9kdWxlcyBidXQgbm90IHRoZSA8ZGV0YWlscz4gZWxlbWVudCAoRWRnZSAxNiAtIDE4KVxuICAvLyAgIC0gZG8gbm90IHN1cHBvcnQgRVM2IG1vZHVsZXMgb3IgdGhlIDxkZXRhaWxzPiBlbGVtZW50IChlZywgSUU4KylcbiAgQHN1cHBvcnRzIG5vdCAoLW1zLWltZS1hbGlnbjogYXV0bykge1xuICAgIC5nb3Z1ay1kZXRhaWxzX19zdW1tYXJ5IHtcbiAgICAgIC8vIEFic29sdXRlbHkgcG9zaXRpb24gdGhlIG1hcmtlciBhZ2FpbnN0IHRoaXMgZWxlbWVudFxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAvLyBNYWtlIHRoZSBmb2N1cyBvdXRsaW5lIHNocmluay13cmFwIHRoZSB0ZXh0IGNvbnRlbnQgb2YgdGhlIHN1bW1hcnlcbiAgICAgIHdpZHRoOiAtd2Via2l0LWZpdC1jb250ZW50O1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuXG4gICAgICAvLyBBbGxvdyBmb3IgYWJzb2x1dGVseSBwb3NpdGlvbmVkIG1hcmtlciBhbmQgYWxpZ24gd2l0aCBkaXNjbG9zZWQgdGV4dFxuICAgICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDQpICsgJGdvdnVrLWJvcmRlci13aWR0aDtcblxuICAgICAgLy8gU3R5bGUgdGhlIHN1bW1hcnkgdG8gbG9vayBsaWtlIGEgbGluay4uLlxuICAgICAgY29sb3I6ICRnb3Z1ay1saW5rLWNvbG91cjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkZ292dWstbGluay1ob3Zlci1jb2xvdXI7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2VkLXRleHQ7XG4gICAgICB9XG4gICAgfVxuICAgIC8vIC4uLmJ1dCBvbmx5IHVuZGVybGluZSB0aGUgdGV4dCwgbm90IHRoZSBhcnJvd1xuICAgIC5nb3Z1ay1kZXRhaWxzX19zdW1tYXJ5LXRleHQge1xuICAgICAgQGluY2x1ZGUgZ292dWstbGluay1kZWNvcmF0aW9uO1xuICAgIH1cblxuICAgIC5nb3Z1ay1kZXRhaWxzX19zdW1tYXJ5OmhvdmVyIC5nb3Z1ay1kZXRhaWxzX19zdW1tYXJ5LXRleHQge1xuICAgICAgQGluY2x1ZGUgZ292dWstbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICAgIH1cblxuICAgIC8vIFJlbW92ZSB0aGUgdW5kZXJsaW5lIHdoZW4gZm9jdXNzZWQgdG8gYXZvaWQgZHVwbGljYXRlIGJvcmRlcnNcbiAgICAuZ292dWstZGV0YWlsc19fc3VtbWFyeTpmb2N1cyAuZ292dWstZGV0YWlsc19fc3VtbWFyeS10ZXh0IHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgdGhlIGRlZmF1bHQgZGV0YWlscyBtYXJrZXIgc28gd2UgY2FuIHN0eWxlIG91ciBvd24gY29uc2lzdGVudGx5IGFuZFxuICAgIC8vIGVuc3VyZSBpdCBkaXNwbGF5cyBpbiBGaXJlZm94IChzZWUgaW1wbGVtZW50YXRpb24ubWQgZm9yIGRldGFpbHMpXG4gICAgLmdvdnVrLWRldGFpbHNfX3N1bW1hcnk6Oi13ZWJraXQtZGV0YWlscy1tYXJrZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBBcHBlbmQgb3VyIG93biBvcGVuIC8gY2xvc2VkIG1hcmtlciB1c2luZyBhIHBzZXVkby1lbGVtZW50XG4gICAgLmdvdnVrLWRldGFpbHNfX3N1bW1hcnk6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICB0b3A6IC0xcHg7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuXG4gICAgICBtYXJnaW46IGF1dG87XG5cbiAgICAgIEBpbmNsdWRlIGdvdnVrLXNoYXBlLWFycm93KCRkaXJlY3Rpb246IHJpZ2h0LCAkYmFzZTogMTRweCk7XG5cbiAgICAgIC5nb3Z1ay1kZXRhaWxzW29wZW5dID4gJiB7XG4gICAgICAgIEBpbmNsdWRlIGdvdnVrLXNoYXBlLWFycm93KCRkaXJlY3Rpb246IGRvd24sICRiYXNlOiAxNHB4KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZ292dWstZGV0YWlsc19fdGV4dCB7XG4gICAgICBib3JkZXItbGVmdDogJGdvdnVrLWJvcmRlci13aWR0aCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcbiAgICB9XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2luZGV4LnNjc3MubWFwICovXG4iLCIvLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnMvc2hhcGVzXG4vLy8vXG5cbi8vLyBDYWxjdWxhdGUgdGhlIGhlaWdodCBvZiBhbiBlcXVpbGF0ZXJhbCB0cmlhbmdsZVxuLy8vXG4vLy8gTXVsdGlwbHlpbmcgaGFsZiB0aGUgbGVuZ3RoIG9mIHRoZSBiYXNlIG9mIGFuIGVxdWlsYXRlcmFsIHRyaWFuZ2xlIGJ5IHRoZVxuLy8vIHNxdWFyZSByb290IG9mIHRocmVlIGdpdmVzIHVzIGl0cyBoZWlnaHQuIFdlIHVzZSAxLjczMiBhcyBhbiBhcHByb3hpbWF0aW9uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gTGVuZ3RoIG9mIHRoZSBiYXNlIG9mIHRoZSB0cmlhbmdsZVxuLy8vIEByZXR1cm4ge051bWJlcn0gQ2FsY3VsYXRlZCBoZWlnaHQgb2YgdGhlIHRyaWFuZ2xlXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbkBmdW5jdGlvbiBfZ292dWstZXF1aWxhdGVyYWwtaGVpZ2h0KCRiYXNlKSB7XG4gICRzcXVhcmUtcm9vdC1vZi10aHJlZTogMS43MzI7XG5cbiAgQHJldHVybiAoJGJhc2UgLyAyKSAqICRzcXVhcmUtcm9vdC1vZi10aHJlZTtcbn1cblxuLy8vIEFycm93IG1peGluXG4vLy9cbi8vLyBHZW5lcmF0ZSBBcnJvd3MgKHRyaWFuZ2xlcykgYnkgdXNpbmcgYSBtaXggb2YgdHJhbnNwYXJlbnQgKDEpIGFuZCBjb2xvdXJlZFxuLy8vIGJvcmRlcnMuIFRoZSBjb2xvdXJlZCBib3JkZXJzIGluaGVyaXQgdGhlIHRleHQgY29sb3VyIG9mIHRoZSBlbGVtZW50ICgyKS5cbi8vL1xuLy8vIEVuc3VyZSB0aGUgYXJyb3cgaXMgcmVuZGVyZWQgY29ycmVjdGx5IGlmIGJyb3dzZXIgY29sb3VycyBhcmUgb3ZlcnJpZGRlbiBieVxuLy8vIHByb3ZpZGluZyBhIGNsaXAgcGF0aCAoMykuIFdpdGhvdXQgdGhpcyB0aGUgdHJhbnNwYXJlbnQgYm9yZGVycyBhcmVcbi8vLyBvdmVycmlkZGVuIHRvIGJlY29tZSB2aXNpYmxlIHdoaWNoIHJlc3VsdHMgaW4gYSBzcXVhcmUuXG4vLy9cbi8vLyBXZSBuZWVkIGJvdGggYmVjYXVzZSBvbGRlciBicm93c2VycyBkbyBub3Qgc3VwcG9ydCBjbGlwLXBhdGguXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpcmVjdGlvbiAtIERpcmVjdGlvbiBmb3IgYXJyb3c6IHVwLCByaWdodCwgZG93biwgbGVmdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBMZW5ndGggb2YgdGhlIHRyaWFuZ2xlICdiYXNlJyBzaWRlXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgW251bGxdIC0gSGVpZ2h0IG9mIHRyaWFuZ2xlLiBPbWl0IGZvciBlcXVpbGF0ZXJhbC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpc3BsYXkgW2Jsb2NrXSAtIENTUyBkaXNwbGF5IHByb3BlcnR5IG9mIHRoZSBhcnJvd1xuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLXNoYXBlLWFycm93KCRkaXJlY3Rpb24sICRiYXNlLCAkaGVpZ2h0OiBudWxsLCAkZGlzcGxheTogYmxvY2spIHtcbiAgZGlzcGxheTogJGRpc3BsYXk7XG5cbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcblxuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyAvLyAxXG5cbiAgJHBlcnBlbmRpY3VsYXI6ICRiYXNlIC8gMjtcblxuICBAaWYgbm90ICRoZWlnaHQge1xuICAgICRoZWlnaHQ6IF9nb3Z1ay1lcXVpbGF0ZXJhbC1oZWlnaHQoJGJhc2UpO1xuICB9XG5cbiAgQGlmICRkaXJlY3Rpb24gPT0gXCJ1cFwiIHtcbiAgICAtd2Via2l0LWNsaXAtcGF0aDogcG9seWdvbig1MCUgMCUsIDAlIDEwMCUsIDEwMCUgMTAwJSk7XG4gICAgICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oNTAlIDAlLCAwJSAxMDAlLCAxMDAlIDEwMCUpOyAvLyAzXG5cbiAgICBib3JkZXItd2lkdGg6IDAgJHBlcnBlbmRpY3VsYXIgJGhlaWdodDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiBpbmhlcml0OyAvLyAyXG4gIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBcInJpZ2h0XCIge1xuICAgIC13ZWJraXQtY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDAlLCAxMDAlIDUwJSwgMCUgMTAwJSk7XG4gICAgICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCUgMCUsIDEwMCUgNTAlLCAwJSAxMDAlKTsgLy8gM1xuXG4gICAgYm9yZGVyLXdpZHRoOiAkcGVycGVuZGljdWxhciAwICRwZXJwZW5kaWN1bGFyICRoZWlnaHQ7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwiZG93blwiIHtcbiAgICAtd2Via2l0LWNsaXAtcGF0aDogcG9seWdvbigwJSAwJSwgNTAlIDEwMCUsIDEwMCUgMCUpO1xuICAgICAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDAlLCA1MCUgMTAwJSwgMTAwJSAwJSk7IC8vIDNcblxuICAgIGJvcmRlci13aWR0aDogJGhlaWdodCAkcGVycGVuZGljdWxhciAwICRwZXJwZW5kaWN1bGFyO1xuICAgIGJvcmRlci10b3AtY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwibGVmdFwiIHtcbiAgICAtd2Via2l0LWNsaXAtcGF0aDogcG9seWdvbigwJSA1MCUsIDEwMCUgMTAwJSwgMTAwJSAwJSk7XG4gICAgICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCUgNTAlLCAxMDAlIDEwMCUsIDEwMCUgMCUpOyAvLyAzXG5cbiAgICBib3JkZXItd2lkdGg6ICRwZXJwZW5kaWN1bGFyICRoZWlnaHQgJHBlcnBlbmRpY3VsYXIgMDtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgfSBAZWxzZSB7XG4gICAgQGVycm9yIFwiSW52YWxpZCBhcnJvdyBkaXJlY3Rpb246IGV4cGVjdGVkIGB1cGAsIGByaWdodGAsIGBkb3duYCBvciBgbGVmdGAsIGdvdCBgI3skZGlyZWN0aW9ufWBcIjtcbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1fc2hhcGUtYXJyb3cuc2Nzcy5tYXAgKi9cbiIsIkBpbXBvcnQgXCIuLi8uLi9jb3JlL2xpc3RzXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvZXJyb3Itc3VtbWFyeVwiKSB7XG4gIC5nb3Z1ay1lcnJvci1zdW1tYXJ5IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1wYWRkaW5nKDQpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDgsIFwiYm90dG9tXCIpO1xuXG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoIHNvbGlkICRnb3Z1ay1lcnJvci1jb2xvdXI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6ICRnb3Z1ay1mb2N1cy13aWR0aCBzb2xpZCAkZ292dWstZm9jdXMtY29sb3VyO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1lcnJvci1zdW1tYXJ5X190aXRsZSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udC1zaXplKCRzaXplOiAyNCk7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZDtcblxuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstZXJyb3Itc3VtbWFyeV9fYm9keSB7XG4gICAgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgID4gKiArICoge1xuICAgICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJ0b3BcIik7XG4gICAgfVxuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbigxLCBcImJvdHRvbVwiKTtcbiAgICB9XG4gIH1cblxuICAvLyBDcm9zcy1jb21wb25lbnQgY2xhc3MgLSBhZGp1c3RzIHN0eWxpbmcgb2YgbGlzdCBjb21wb25lbnRcbiAgLmdvdnVrLWVycm9yLXN1bW1hcnlfX2xpc3Qge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGJvdHRvbSBtYXJnaW4gZnJvbSB0aGUgbGFzdCBsaXN0IGl0ZW1cbiAgLmdvdnVrLWVycm9yLXN1bW1hcnlfX2xpc3QgbGk6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5nb3Z1ay1lcnJvci1zdW1tYXJ5X19saXN0IGEge1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LWJvbGQ7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1lcnJvcjtcbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1faW5kZXguc2Nzcy5tYXAgKi9cbiIsIkBpbXBvcnQgXCIuLi9idXR0b24vaW5kZXhcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9leGl0LXRoaXMtcGFnZVwiKSB7XG4gICRpbmRpY2F0b3Itc2l6ZTogMC43NWVtO1xuXG4gIC5nb3Z1ay1leGl0LXRoaXMtcGFnZSB7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oOCwgXCJib3R0b21cIik7XG4gICAgcG9zaXRpb246IC13ZWJraXQtc3RpY2t5O1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgei1pbmRleDogMTAwMDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1leGl0LXRoaXMtcGFnZV9fYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmdvdnVrLWV4aXQtdGhpcy1wYWdlX19pbmRpY2F0b3Ige1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtcGFkZGluZygyKTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAwOyAvLyByZW1vdmVzIGV4dHJhIG5lZ2F0aXZlIHNwYWNlIGJlbG93IHRoZSBpbmRpY2F0b3JzXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgLmdvdnVrLWV4aXQtdGhpcy1wYWdlX19pbmRpY2F0b3ItLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLmdvdnVrLWV4aXQtdGhpcy1wYWdlX19pbmRpY2F0b3ItbGlnaHQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAkaW5kaWNhdG9yLXNpemU7XG4gICAgaGVpZ2h0OiAkaW5kaWNhdG9yLXNpemU7XG4gICAgbWFyZ2luOiAwIDAuMTI1ZW07XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm9yZGVyLWNvbG9yOiBjdXJyZW50Y29sb3I7XG4gIH1cblxuICAuZ292dWstZXhpdC10aGlzLXBhZ2VfX2luZGljYXRvci1saWdodC0tb24ge1xuICAgIGJvcmRlci13aWR0aDogJGluZGljYXRvci1zaXplIC8gMjtcbiAgfVxuXG4gIEBtZWRpYSBvbmx5IHByaW50IHtcbiAgICAuZ292dWstZXhpdC10aGlzLXBhZ2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstZXhpdC10aGlzLXBhZ2Utb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDk5OTk7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICB9XG5cbiAgLy8gVGhpcyBjbGFzcyBpcyBhZGRlZCB0byB0aGUgYm9keSB3aGVuIHRoZSBFeGl0IFRoaXMgUGFnZSBidXR0b24gaXMgYWN0aXZhdGVkXG4gIC8vIGluIGFkZGl0aW9uIHRvIHRoZSBvdmVybGF5IHRvIGJvdGggYmxvY2sgdGhlIGVudGlyZSBzY3JlZW4gYW5kIGhpZGUgZXZlcnl0aGluZ1xuICAvLyB1bmRlcm5lYXRoIGl0LlxuICAvL1xuICAvLyBXZSBkbyB0aGlzIHRvIGVuc3VyZSB0aGF0IHVzZXJzIGRvbid0IHJpc2sgaW50ZXJhY3Rpbmcgd2l0aCB0aGUgcGFnZSB1bmRlcm5lYXRoXG4gIC8vIHRoZSBvdmVybGF5IGJldHdlZW4gYWN0aXZhdGluZyB0aGUgYnV0dG9uIGFuZCBuYXZpZ2F0aW5nIHRvIHRoZSBuZXh0IHBhZ2UuXG4gIC5nb3Z1ay1leGl0LXRoaXMtcGFnZS1oaWRlLWNvbnRlbnQge1xuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICoge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5nb3Z1ay1leGl0LXRoaXMtcGFnZS1vdmVybGF5IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9pbmRleC5zY3NzLm1hcCAqL1xuIiwiQGltcG9ydCBcIi4uL2Vycm9yLW1lc3NhZ2UvaW5kZXhcIjtcbkBpbXBvcnQgXCIuLi9oaW50L2luZGV4XCI7XG5AaW1wb3J0IFwiLi4vbGFiZWwvaW5kZXhcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9maWxlLXVwbG9hZFwiKSB7XG4gICRjb21wb25lbnQtcGFkZGluZzogZ292dWstc3BhY2luZygxKTtcblxuICAuZ292dWstZmlsZS11cGxvYWQge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0kY29tcG9uZW50LXBhZGRpbmc7XG4gICAgcGFkZGluZzogJGNvbXBvbmVudC1wYWRkaW5nO1xuXG4gICAgLy8gVGhlIGRlZmF1bHQgZmlsZSB1cGxvYWQgYnV0dG9uIGluIFNhZmFyaSBkb2VzIG5vdCBzdXBwb3J0IHNldHRpbmcgYVxuICAgIC8vIGN1c3RvbSBmb250LXNpemUuIFNldCBgLXdlYmtpdC1hcHBlYXJhbmNlYCB0byBgYnV0dG9uYCB0byBkcm9wIG91dCBvZiB0aGVcbiAgICAvLyBuYXRpdmUgYXBwZWFyYW5jZSBzbyB0aGUgZm9udC1zaXplIGlzIHNldCB0byAxOXB4XG4gICAgLy8gaHR0cHM6Ly93ZWJraXQub3JnL2IvMjI0NzQ2XG4gICAgJjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiAkZ292dWstZm9jdXMtd2lkdGggc29saWQgJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgICAgIC8vIFVzZSBgYm94LXNoYWRvd2AgdG8gYWRkIGJvcmRlciBpbnN0ZWFkIG9mIGNoYW5naW5nIGBib3JkZXItd2lkdGhgXG4gICAgICAvLyAod2hpY2ggY2hhbmdlcyBlbGVtZW50IHNpemUpIGFuZCBzaW5jZSBgb3V0bGluZWAgaXMgYWxyZWFkeSB1c2VkIGZvclxuICAgICAgLy8gdGhlIHllbGxvdyBmb2N1cyBzdGF0ZS5cbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDRweCAkZ292dWstaW5wdXQtYm9yZGVyLWNvbG91cjtcbiAgICB9XG5cbiAgICAvLyBTZXQgXCJmb2N1cy13aXRoaW5cIiB0byBmaXggaHR0cHM6Ly9idWd6aWwubGEvMTQzMDE5NiBzbyB0aGF0IGNvbXBvbmVudFxuICAgIC8vIHJlY2VpdmVzIGZvY3VzIGluIEZpcmVmb3guXG4gICAgLy8gVGhpcyBjYW4ndCBiZSBzZXQgdG9nZXRoZXIgd2l0aCBgOmZvY3VzYCBhcyBhbGwgdmVyc2lvbnMgb2YgSUUgZmFpbFxuICAgIC8vIHRvIHJlY29nbmlzZSBgZm9jdXMtd2l0aGluYCBhbmQgZG9uJ3Qgc2V0IGFueSBzdHlsZXMgZnJvbSB0aGUgYmxvY2tcbiAgICAvLyB3aGVuIGl0J3MgYSBzZWxlY3Rvci5cbiAgICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgICBvdXRsaW5lOiAkZ292dWstZm9jdXMtd2lkdGggc29saWQgJGdvdnVrLWZvY3VzLWNvbG91cjtcblxuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgNHB4ICRnb3Z1ay1pbnB1dC1ib3JkZXItY29sb3VyO1xuICAgIH1cblxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2luZGV4LnNjc3MubWFwICovXG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2Zvb3RlclwiKSB7XG4gICRnb3Z1ay1mb290ZXItYmFja2dyb3VuZDogJGdvdnVrLWNhbnZhcy1iYWNrZ3JvdW5kLWNvbG91cjtcbiAgJGdvdnVrLWZvb3Rlci1ib3JkZXI6ICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICAkZ292dWstZm9vdGVyLXRleHQ6ICRnb3Z1ay10ZXh0LWNvbG91cjtcblxuICAvLyBSb3lhbCBBcm1zIGltYWdlIGRpbWVuc2lvbnNcbiAgJGdvdnVrLWZvb3Rlci1jcmVzdC1pbWFnZS13aWR0aDogMTI1cHg7XG4gICRnb3Z1ay1mb290ZXItY3Jlc3QtaW1hZ2UtaGVpZ2h0OiAxMDJweDtcblxuICAuZ292dWstZm9vdGVyIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiBpZigkZ292dWstbmV3LXR5cG9ncmFwaHktc2NhbGUsIDE5LCAxNikpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtcGFkZGluZyg3LCBcInRvcFwiKTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcoNSwgXCJib3R0b21cIik7XG5cbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGdvdnVrLWZvb3Rlci1ib3JkZXI7XG4gICAgY29sb3I6ICRnb3Z1ay1mb290ZXItdGV4dDtcbiAgICBiYWNrZ3JvdW5kOiAkZ292dWstZm9vdGVyLWJhY2tncm91bmQ7XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19saW5rIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLXRleHQ7XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19zZWN0aW9uLWJyZWFrIHtcbiAgICBtYXJnaW46IDA7IC8vIFJlc2V0IGA8aHI+YCBkZWZhdWx0IG1hcmdpbnNcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig4LCBcImJvdHRvbVwiKTtcbiAgICBib3JkZXI6IDA7IC8vIFJlc2V0IGA8aHI+YCBkZWZhdWx0IGJvcmRlcnNcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvdnVrLWZvb3Rlci1ib3JkZXI7XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19tZXRhIHtcbiAgICBkaXNwbGF5OiBmbGV4OyAvLyBTdXBwb3J0OiBGbGV4Ym94XG4gICAgbWFyZ2luLXJpZ2h0OiAtJGdvdnVrLWd1dHRlci1oYWxmO1xuICAgIG1hcmdpbi1sZWZ0OiAtJGdvdnVrLWd1dHRlci1oYWxmO1xuICAgIGZsZXgtd3JhcDogd3JhcDsgLy8gU3VwcG9ydDogRmxleGJveFxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgLy8gU3VwcG9ydDogRmxleGJveFxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyAvLyBTdXBwb3J0OiBGbGV4Ym94XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19tZXRhLWl0ZW0ge1xuICAgIG1hcmdpbi1yaWdodDogJGdvdnVrLWd1dHRlci1oYWxmO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoNSk7XG4gICAgbWFyZ2luLWxlZnQ6ICRnb3Z1ay1ndXR0ZXItaGFsZjtcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX21ldGEtaXRlbS0tZ3JvdyB7XG4gICAgZmxleDogMTsgLy8gU3VwcG9ydDogRmxleGJveFxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCR1bnRpbDogdGFibGV0KSB7XG4gICAgICBmbGV4LWJhc2lzOiAzMjBweDsgLy8gU3VwcG9ydDogRmxleGJveFxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX2xpY2VuY2UtbG9nbyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogZ292dWstc3BhY2luZygyKTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkdW50aWw6IGRlc2t0b3ApIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgfVxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgLy8gV29yayBhcm91bmQgU1ZHcyBub3QgaW5oZXJpdGluZyBjb2xvciBmcm9tIHBhcmVudCBpbiBmb3JjZWQgY29sb3IgbW9kZVxuICAgIC8vIChodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLWRyYWZ0cy9pc3N1ZXMvNjMxMClcbiAgICBmb3JjZWQtY29sb3ItYWRqdXN0OiBhdXRvO1xuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fbGljZW5jZS1kZXNjcmlwdGlvbiB7XG4gICAgLy8gVGhpcyBtYWtlcyB0aGUgbGljZW5zZSBkZXNjcmlwdGlvbiByZWZsb3cgdW5kZXIgdGhlIGxvZ28gd2hlbiBzcGFjZSBnZXRzIHRvbyBuYXJyb3dcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLy8gVGhpcyBwcmV2ZW50cyB0aGUgZGVzY3JpcHRpb24gZnJvbSBoYXZpbmcgb3JwaGFucyB3aGVuIHNwYWNlIGlzIG5hcnJvdyBlbm91Z2hcbiAgICAvLyBhbmQgbWFrZXMgdGhlIHRleHQgcmVmbG93IG1vcmUgbmljZWx5XG4gICAgdGV4dC13cmFwOiBiYWxhbmNlO1xuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fY29weXJpZ2h0LWxvZ28ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtaW4td2lkdGg6ICRnb3Z1ay1mb290ZXItY3Jlc3QtaW1hZ2Utd2lkdGg7XG4gICAgcGFkZGluZy10b3A6ICgkZ292dWstZm9vdGVyLWNyZXN0LWltYWdlLWhlaWdodCArIGdvdnVrLXNwYWNpbmcoMikpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGdvdnVrLWltYWdlLXVybChcImdvdnVrLWNyZXN0LnN2Z1wiKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAwJTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICRnb3Z1ay1mb290ZXItY3Jlc3QtaW1hZ2Utd2lkdGggJGdvdnVrLWZvb3Rlci1jcmVzdC1pbWFnZS1oZWlnaHQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19pbmxpbmUtbGlzdCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19tZXRhLWN1c3RvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZyg0KTtcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX2lubGluZS1saXN0LWl0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX2hlYWRpbmcge1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoNik7XG4gICAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoNCk7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkdW50aWw6IHRhYmxldCkge1xuICAgICAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgfVxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ292dWstZm9vdGVyLWJvcmRlcjtcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX25hdmlnYXRpb24ge1xuICAgIEBpbmNsdWRlIGdvdnVrLWNsZWFyZml4O1xuICAgIG1hcmdpbi1yaWdodDogLSRnb3Z1ay1ndXR0ZXItaGFsZjtcbiAgICBtYXJnaW4tbGVmdDogLSRnb3Z1ay1ndXR0ZXItaGFsZjtcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX3NlY3Rpb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAkZ292dWstZ3V0dGVyO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19saXN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGNvbHVtbi1nYXA6ICRnb3Z1ay1ndXR0ZXI7IC8vIFN1cHBvcnQ6IENvbHVtbnNcbiAgfVxuXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiBkZXNrdG9wKSB7XG4gICAgLmdvdnVrLWZvb3Rlcl9fbGlzdC0tY29sdW1ucy0yIHtcbiAgICAgIGNvbHVtbi1jb3VudDogMjsgLy8gU3VwcG9ydDogQ29sdW1uc1xuICAgIH1cblxuICAgIC5nb3Z1ay1mb290ZXJfX2xpc3QtLWNvbHVtbnMtMyB7XG4gICAgICBjb2x1bW4tY291bnQ6IDM7IC8vIFN1cHBvcnQ6IENvbHVtbnNcbiAgICB9XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19saXN0LWl0ZW0ge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fbGlzdC1pdGVtOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2luZGV4LnNjc3MubWFwICovXG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2hlYWRlclwiKSB7XG4gICRnb3Z1ay1oZWFkZXItYmFja2dyb3VuZDogZ292dWstY29sb3VyKFwiYmxhY2tcIik7XG4gICRnb3Z1ay1oZWFkZXItYm9yZGVyLWNvbG9yOiAkZ292dWstYnJhbmQtY29sb3VyO1xuICAkZ292dWstaGVhZGVyLWJvcmRlci13aWR0aDogZ292dWstc3BhY2luZygyKTtcbiAgJGdvdnVrLWhlYWRlci10ZXh0OiBnb3Z1ay1jb2xvdXIoXCJ3aGl0ZVwiKTtcbiAgJGdvdnVrLWhlYWRlci1saW5rLWFjdGl2ZTogIzFkOGZlYjtcbiAgJGdvdnVrLWhlYWRlci1uYXYtaXRlbS1ib3JkZXItY29sb3I6ICMyZTMxMzM7XG4gICRnb3Z1ay1oZWFkZXItbGluay11bmRlcmxpbmUtdGhpY2tuZXNzOiAzcHg7XG4gICRnb3Z1ay1oZWFkZXItdmVydGljYWwtc3BhY2luZy12YWx1ZTogMjtcbiAgLy8gVGhpcyBjcm93biBoZWlnaHQgaXMgb25seSB1c2VkIHRvIGNhbGN1bGF0ZSB0b3Agb2Zmc2V0IG9mIG1vYmlsZSBtZW51IGJ1dHRvblxuICAvLyBhcyB0aGUgY3Jvd24gc3ZnIGhlaWdodCBpcyB0aGUgb25seSB0aGluZyB0aGF0IGNvbnRyb2xzIHRoZSBoZWlnaHQgb2YgdGhlIGhlYWRlclxuICAkZ292dWstaGVhZGVyLWNyb3duLWhlaWdodDogMzBweDtcbiAgJGdvdnVrLWhlYWRlci1tZW51LWJ1dHRvbi1oZWlnaHQ6IDI0cHg7XG4gICRnb3Z1ay1oZWFkZXItbWVudS1idXR0b24td2lkdGg6IDgwcHg7XG5cbiAgLmdvdnVrLWhlYWRlciB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTYsICRsaW5lLWhlaWdodDogMSk7XG5cbiAgICBib3JkZXItYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpIHNvbGlkIGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICAgIGNvbG9yOiAkZ292dWstaGVhZGVyLXRleHQ7XG4gICAgYmFja2dyb3VuZDogJGdvdnVrLWhlYWRlci1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fY29udGFpbmVyLS1mdWxsLXdpZHRoIHtcbiAgICBwYWRkaW5nOiAwIGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgYm9yZGVyLWNvbG9yOiAkZ292dWstaGVhZGVyLWJvcmRlci1jb2xvcjtcblxuICAgIC5nb3Z1ay1oZWFkZXJfX21lbnUtYnV0dG9uIHtcbiAgICAgIHJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX2NvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZ292dWstY2xlYXJmaXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IC0kZ292dWstaGVhZGVyLWJvcmRlci13aWR0aDtcbiAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygkZ292dWstaGVhZGVyLXZlcnRpY2FsLXNwYWNpbmctdmFsdWUpO1xuICAgIGJvcmRlci1ib3R0b206ICRnb3Z1ay1oZWFkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRnb3Z1ay1oZWFkZXItYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLmdvdnVrLWhlYWRlci0tZnVsbC13aWR0aC1ib3JkZXIge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRnb3Z1ay1oZWFkZXItYm9yZGVyLWNvbG9yO1xuXG4gICAgLmdvdnVrLWhlYWRlcl9fY29udGFpbmVyIHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX2xvZ290eXBlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTNweDtcblxuICAgIC8vIEFkZCBhIGdhcCBhZnRlciB0aGUgbG9nbyBpbiBjYXNlIGl0J3MgZm9sbG93ZWQgYnkgYSBwcm9kdWN0IG5hbWUuIFRoaXNcbiAgICAvLyBnZXRzIHJlbW92ZWQgbGF0ZXIgaWYgdGhlIGxvZ290eXBlIGlzIGEgOmxhc3QtY2hpbGQuXG4gICAgbWFyZ2luLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgIGZpbGw6IGN1cnJlbnRjb2xvcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgLy8gUHJldmVudCByZWFkYWJpbGl0eSBiYWNrcGxhdGUgZnJvbSBvYnNjdXJpbmcgdW5kZXJsaW5lIGluIFdpbmRvd3MgSGlnaFxuICAgIC8vIENvbnRyYXN0IE1vZGVcbiAgICBAbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAgICAgZm9yY2VkLWNvbG9yLWFkanVzdDogbm9uZTtcbiAgICAgIGNvbG9yOiBsaW5rdGV4dDtcbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgdGhlIGdhcCBhZnRlciB0aGUgbG9nbyBpZiB0aGVyZSdzIG5vIHByb2R1Y3QgbmFtZSB0byBrZWVwIGhvdmVyXG4gICAgLy8gYW5kIGZvY3VzIHN0YXRlcyBuZWF0XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19wcm9kdWN0LW5hbWUge1xuICAgICRwcm9kdWN0LW5hbWUtb2Zmc2V0OiBpZigkZ292dWstbmV3LXR5cG9ncmFwaHktc2NhbGUsIDdweCwgMTBweCk7XG4gICAgJHByb2R1Y3QtbmFtZS1vZmZzZXQtdGFibGV0OiA1cHg7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250LXNpemUoJHNpemU6IDI0LCAkbGluZS1oZWlnaHQ6IDEpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LXJlZ3VsYXI7XG4gICAgZGlzcGxheTogaW5saW5lLXRhYmxlO1xuXG4gICAgLy8gTWFpbnRhaW4gc3BhY2UgYmVsb3cgbG9nbyB3aGVuIHdyYXBwZWRcbiAgICBtYXJnaW4tdG9wOiAkcHJvZHVjdC1uYW1lLW9mZnNldDtcblxuICAgIC8vIEZpcmVmb3ggcGxhY2VzIHRoZSBHT1YuVUsgbG9nbyBvbmUgcGl4ZWwgaGlnaGVyLCBkdWUgdG8gaG93IGl0IHJvdW5kc1xuICAgIC8vIHN1YnBpeGVscywgc28gbnVkZ2UgdGhlIHByb2R1Y3QgbmFtZSBpbiBGRiB0byBzdGlsbCBiZSBhbGlnbmVkLlxuICAgIEAtbW96LWRvY3VtZW50IHVybC1wcmVmaXgoKSB7XG4gICAgICBtYXJnaW4tdG9wOiAkcHJvZHVjdC1uYW1lLW9mZnNldCAtIDAuNXB4O1xuICAgIH1cblxuICAgIC8vIEFsaWduIHZlcnRpY2FsbHkgd2l0aCBsb2dvIHdoZW4gbm90IHdyYXBwZWRcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgbWFyZ2luLXRvcDogJHByb2R1Y3QtbmFtZS1vZmZzZXQtdGFibGV0O1xuICAgICAgQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogJHByb2R1Y3QtbmFtZS1vZmZzZXQtdGFibGV0IC0gMC41cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbGluayB7XG4gICAgLy8gQXZvaWQgdXNpbmcgdGhlIGBnb3Z1ay1saW5rLWNvbW1vbmAgbWl4aW4gYmVjYXVzZSB0aGUgbGlua3MgaW4gdGhlIGhlYWRlclxuICAgIC8vIGdldCBhIHNwZWNpYWwgdHJlYXRtZW50LCBiZWNhdXNlOlxuICAgIC8vXG4gICAgLy8gLSB1bmRlcmxpbmVzIGFyZSBvbmx5IHZpc2libGUgb24gaG92ZXJcbiAgICAvLyAtIGFsbCBsaW5rcyBnZXQgYSAzcHggdW5kZXJsaW5lIHJlZ2FyZGxlc3Mgb2YgdGV4dCBzaXplLCBhcyB0aGVyZSBhcmVcbiAgICAvLyAgIG11bHRpcGxlIGdyb3VwZWQgZWxlbWVudHMgY2xvc2UgdG8gb25lIGFub3RoZXIgYW5kIGhhdmluZyBzbGlnaHRseVxuICAgIC8vICAgZGlmZmVyZW50IHVuZGVybGluZSB3aWR0aHMgbG9va3MgdW5iYWxhbmNlZFxuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtaW52ZXJzZTtcblxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAkZ292dWstaGVhZGVyLWxpbmstdW5kZXJsaW5lLXRoaWNrbmVzcztcblxuICAgICAgQGlmICRnb3Z1ay1saW5rLXVuZGVybGluZS1vZmZzZXQge1xuICAgICAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6ICRnb3Z1ay1saW5rLXVuZGVybGluZS1vZmZzZXQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2VkLXRleHQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbGluay0taG9tZXBhZ2Uge1xuICAgIC8vIEZvbnQgc2l6ZSBuZWVkcyB0byBiZSBzZXQgb24gdGhlIGxpbmsgc28gdGhhdCB0aGUgYm94IHNpemluZyBpcyBjb3JyZWN0XG4gICAgLy8gaW4gRmlyZWZveFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgZm9udC1zaXplOiAzMHB4OyAvLyBXZSBkb24ndCBoYXZlIGEgbWl4aW4gdGhhdCBwcm9kdWNlcyAzMHB4IGZvbnQgc2l6ZVxuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIC8vIFJlcGxpY2F0ZSB0aGUgZm9jdXMgYm94IHNoYWRvdyBidXQgd2l0aG91dCB0aGUgLTJweCB5LW9mZnNldCBvZiB0aGUgZmlyc3QgeWVsbG93IHNoYWRvd1xuICAgICAgICAvLyBUaGlzIGlzIHRvIHN0b3AgdGhlIGxvZ28gZ2V0dGluZyBjdXQgb2ZmIGJ5IHRoZSBib3ggc2hhZG93IHdoZW4gZm9jdXNlZCBvbiBhYm92ZSBhIHByb2R1Y3QgbmFtZVxuICAgICAgICBib3gtc2hhZG93OiAwIDAgJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmxpbmssXG4gICAgJjp2aXNpdGVkIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIC8vIE5lZ2F0ZSB0aGUgYWRkZWQgYm9yZGVyXG4gICAgICBtYXJnaW4tYm90dG9tOiAkZ292dWstaGVhZGVyLWxpbmstdW5kZXJsaW5lLXRoaWNrbmVzcyAqIC0xO1xuICAgICAgYm9yZGVyLWJvdHRvbTogJGdvdnVrLWhlYWRlci1saW5rLXVuZGVybGluZS10aGlja25lc3Mgc29saWQ7XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIGFueSBib3JkZXJzIHRoYXQgc2hvdyB3aGVuIGZvY3VzZWQgYW5kIGhvdmVyZWQuXG4gICAgJjpmb2N1cyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19zZXJ2aWNlLW5hbWUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQtc2l6ZSgkc2l6ZTogMjQpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LWJvbGQ7XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19sb2dvLFxuICAuZ292dWstaGVhZGVyX19jb250ZW50IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbG9nbyB7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oJGdvdnVrLWhlYWRlci12ZXJ0aWNhbC1zcGFjaW5nLXZhbHVlLCBcImJvdHRvbVwiKTtcbiAgICAvLyBQcm90ZWN0IHRoZSBhYnNvbHV0ZSBwb3NpdGlvbmVkIG1lbnUgYnV0dG9uIGZyb20gb3ZlcmxhcHBpbmcgd2l0aCB0aGVcbiAgICAvLyBsb2dvIHdpdGggcmlnaHQgcGFkZGluZyB1c2luZyB0aGUgYnV0dG9uJ3Mgd2lkdGhcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ292dWstaGVhZGVyLW1lbnUtYnV0dG9uLXdpZHRoO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgIHdpZHRoOiAzMy4zMyU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkZ292dWstZ3V0dGVyLWhhbGY7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cbiAgICAgIC8vIFJlc2V0IGZsb2F0IHdoZW4gbG9nbyBpcyB0aGUgbGFzdCBjaGlsZCwgd2l0aG91dCBhIG5hdmlnYXRpb25cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19jb250ZW50IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogZGVza3RvcCkge1xuICAgICAgd2lkdGg6IDY2LjY2JTtcbiAgICAgIHBhZGRpbmctbGVmdDogJGdvdnVrLWd1dHRlci1oYWxmO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbWVudS1idXR0b24ge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE2KTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgLy8gY2FsY3VsYXRlIHRvcCBvZmZzZXQgYnk6XG4gICAgLy8gLSBnZXR0aW5nIHRoZSB2ZXJ0aWNhbCBzcGFjaW5nIGZvciB0aGUgdG9wIGFuZCB0aGUgYm90dG9tIG9mIHRoZSBoZWFkZXJcbiAgICAvLyAtIGFkZGluZyB0aGF0IHRvIHRoZSBjcm93biBoZWlnaHRcbiAgICAvLyAtIGRpdmlkaW5nIGl0IGJ5IDIgc28geW91IGhhdmUgdGhlIHZlcnRpY2FsIGNlbnRyZSBvZiB0aGUgaGVhZGVyXG4gICAgLy8gLSBzdWJ0cmFjdGluZyBoYWxmIHRoZSBoZWlnaHQgb2YgdGhlIG1lbnUgYnV0dG9uXG4gICAgdG9wOiAoKChnb3Z1ay1zcGFjaW5nKCRnb3Z1ay1oZWFkZXItdmVydGljYWwtc3BhY2luZy12YWx1ZSkgKiAyKSArICRnb3Z1ay1oZWFkZXItY3Jvd24taGVpZ2h0KSAvIDIpIC1cbiAgICAgICgkZ292dWstaGVhZGVyLW1lbnUtYnV0dG9uLWhlaWdodCAvIDIpO1xuICAgIHJpZ2h0OiAwO1xuICAgIG1heC13aWR0aDogJGdvdnVrLWhlYWRlci1tZW51LWJ1dHRvbi13aWR0aDtcbiAgICBtaW4taGVpZ2h0OiAkZ292dWstaGVhZGVyLW1lbnUtYnV0dG9uLWhlaWdodDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgY29sb3I6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHNvbGlkIHVuZGVybGluZSAkZ292dWstaGVhZGVyLWxpbmstdW5kZXJsaW5lLXRoaWNrbmVzcztcbiAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBzb2xpZCB1bmRlcmxpbmUgJGdvdnVrLWhlYWRlci1saW5rLXVuZGVybGluZS10aGlja25lc3M7XG5cbiAgICAgIEBpZiAkZ292dWstbGluay11bmRlcmxpbmUtb2Zmc2V0IHtcbiAgICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAkZ292dWstbGluay11bmRlcmxpbmUtb2Zmc2V0O1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZ292dWstZm9jdXNlZC10ZXh0O1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLXNoYXBlLWFycm93KCRkaXJlY3Rpb246IGRvd24sICRiYXNlOiAxMHB4LCAkZGlzcGxheTogaW5saW5lLWJsb2NrKTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBtYXJnaW4tbGVmdDogZ292dWstc3BhY2luZygxKTtcbiAgICB9XG5cbiAgICAmW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1zaGFwZS1hcnJvdygkZGlyZWN0aW9uOiB1cCwgJGJhc2U6IDEwcHgsICRkaXNwbGF5OiBpbmxpbmUtYmxvY2spO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHRvcDogZ292dWstc3BhY2luZygzKTtcbiAgICB9XG5cbiAgICAuZ292dWstZnJvbnRlbmQtc3VwcG9ydGVkICYge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJltoaWRkZW5dLFxuICAgIC5nb3Z1ay1mcm9udGVuZC1zdXBwb3J0ZWQgJltoaWRkZW5dIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbmF2aWdhdGlvbiB7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbmF2aWdhdGlvbi1saXN0IHtcbiAgICAvLyBSZXNldCB1c2VyLWFnZW50IGRlZmF1bHQgbGlzdCBzdHlsZXNcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgJltoaWRkZW5dIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbmF2aWdhdGlvbi0tZW5kIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogZGVza3RvcCkge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogZ292dWstc3BhY2luZygxKSAwO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbmF2aWdhdGlvbi1pdGVtIHtcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDIpIDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1oZWFkZXItbmF2LWl0ZW0tYm9yZGVyLWNvbG9yO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogZ292dWstc3BhY2luZygzKTtcbiAgICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMSkgMDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQtc2l6ZSgkc2l6ZTogMTYpO1xuICAgICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbmF2aWdhdGlvbi1pdGVtLS1hY3RpdmUge1xuICAgIGEge1xuICAgICAgJjpsaW5rLFxuICAgICAgJjpob3ZlcixcbiAgICAgICY6dmlzaXRlZCB7XG4gICAgICAgIGNvbG9yOiAkZ292dWstaGVhZGVyLWxpbmstYWN0aXZlO1xuICAgICAgfVxuXG4gICAgICAvLyBXaGVuIHByaW50aW5nLCB1c2UgdGhlIG5vcm1hbCBibHVlIGFzIHRoaXMgY29udHJhc3RzIGJldHRlciB3aXRoIHRoZVxuICAgICAgLy8gd2hpdGUgcHJpbnRpbmcgaGVhZGVyXG4gICAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkbWVkaWEtdHlwZTogcHJpbnQpIHtcbiAgICAgICAgY29sb3I6ICRnb3Z1ay1icmFuZC1jb2xvdXI7XG4gICAgICB9XG5cbiAgICAgIC8vIFdoZW4gZm9jdXNzZWQsIHRoZSB0ZXh0IGNvbG91ciBuZWVkcyB0byBiZSBkYXJrZXIgdG8gZW5zdXJlIHRoYXQgY29sb3VyXG4gICAgICAvLyBjb250cmFzdCBpcyBzdGlsbCBhY2NlcHRhYmxlXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRnb3Z1ay1mb2N1cy10ZXh0LWNvbG91cjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19uYXZpZ2F0aW9uLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gIH1cblxuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkbWVkaWEtdHlwZTogcHJpbnQpIHtcbiAgICAuZ292dWstaGVhZGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICBjb2xvcjogZ292dWstY29sb3VyKFwiYmxhY2tcIik7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAuZ292dWstaGVhZGVyX19saW5rIHtcbiAgICAgICY6bGluayxcbiAgICAgICY6dmlzaXRlZCB7XG4gICAgICAgIGNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcbiAgICAgIH1cblxuICAgICAgLy8gRG8gbm90IGFwcGVuZCBsaW5rIGhyZWYgdG8gR09WLlVLIGxpbmsgd2hlbiBwcmludGluZyAoZS5nLiAnKC8pJylcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2luZGV4LnNjc3MubWFwICovXG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2luc2V0LXRleHRcIikge1xuICAuZ292dWstaW5zZXQtdGV4dCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgLy8gTWFyZ2luIHRvcCBpbnRlbmRlZCB0byBjb2xsYXBzZVxuICAgIC8vIFRoaXMgYWRkcyBhbiBhZGRpdGlvbmFsIDEwcHggdG8gdGhlIHBhcmFncmFwaCBhYm92ZVxuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwidG9wXCIpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuXG4gICAgY2xlYXI6IGJvdGg7XG5cbiAgICBib3JkZXItbGVmdDogJGdvdnVrLWJvcmRlci13aWR0aC13aWRlIHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuXG4gICAgPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICA+IDpvbmx5LWNoaWxkLFxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2luZGV4LnNjc3MubWFwICovXG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L25vdGlmaWNhdGlvbi1iYW5uZXJcIikge1xuICAuZ292dWstbm90aWZpY2F0aW9uLWJhbm5lciB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDgsIFwiYm90dG9tXCIpO1xuXG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoIHNvbGlkICRnb3Z1ay1icmFuZC1jb2xvdXI7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstYnJhbmQtY29sb3VyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiAkZ292dWstZm9jdXMtd2lkdGggc29saWQgJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgICB9XG4gIH1cblxuICAuZ292dWstbm90aWZpY2F0aW9uLWJhbm5lcl9faGVhZGVyIHtcbiAgICBwYWRkaW5nOiAycHggZ292dWstc3BhY2luZygzKSBnb3Z1ay1zcGFjaW5nKDEpO1xuXG4gICAgLy8gRW5zdXJlcyB0aGUgbm90aWZpY2F0aW9uIGhlYWRlciBhcHBlYXJzIHNlcGFyYXRlIHRvIHRoZSBub3RpZmljYXRpb24gYm9keVxuICAgIC8vIHRleHQgaW4gaGlnaCBjb250cmFzdCBtb2RlXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgcGFkZGluZzogMnB4IGdvdnVrLXNwYWNpbmcoNCkgZ292dWstc3BhY2luZygxKTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstbm90aWZpY2F0aW9uLWJhbm5lcl9fdGl0bGUge1xuICAgIC8vIFNldCB0aGUgc2l6ZSBhZ2FpbiBiZWNhdXNlIHRoaXMgZWxlbWVudCBpcyBhIGhlYWRpbmcgYW5kIHRoZSB1c2VyIGFnZW50XG4gICAgLy8gZm9udCBzaXplIG92ZXJyaWRlcyB0aGUgaW5oZXJpdGVkIGZvbnQgc2l6ZVxuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQtc2l6ZSgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LWJvbGQ7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY29sb3I6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICB9XG5cbiAgLmdvdnVrLW5vdGlmaWNhdGlvbi1iYW5uZXJfX2NvbnRlbnQge1xuICAgICRwYWRkaW5nLXRhYmxldDogZ292dWstc3BhY2luZyg0KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDMpO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLWJvZHktYmFja2dyb3VuZC1jb2xvdXI7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBwYWRkaW5nOiAkcGFkZGluZy10YWJsZXQ7XG4gICAgfVxuXG4gICAgLy8gV3JhcCBjb250ZW50IGF0IHRoZSBzYW1lIHBsYWNlIHRoYXQgYSAyLzMgZ3JpZCBjb2x1bW4gZW5kcywgdG8gbWFpbnRhaW5cbiAgICAvLyBzaG9ydGVyIGxpbmUtbGVuZ3RocyB3aGVuIHRoZSBub3RpZmljYXRpb24gYmFubmVyIGlzIGZ1bGwgd2lkdGhcbiAgICA+ICoge1xuICAgICAgLy8gV2hlbiBlbGVtZW50cyBoYXZlIHRoZWlyIG93biBwYWRkaW5nIChsaWtlIGxpc3RzKSwgaW5jbHVkZSB0aGUgcGFkZGluZ1xuICAgICAgLy8gaW4gdGhlIG1heC13aWR0aCBjYWxjdWxhdGlvblxuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgICAgLy8gQ2FsY3VsYXRlIHRoZSBpbnRlcm5hbCB3aWR0aCBvZiBhIHR3by10aGlyZHMgY29sdW1uLi4uXG4gICAgICAkdHdvLWNvbC13aWR0aDogKCRnb3Z1ay1wYWdlLXdpZHRoICogMiAvIDMpIC0gKCRnb3Z1ay1ndXR0ZXIgKiAxIC8gMyk7XG5cbiAgICAgIC8vIC4uLmFuZCB0aGVuIGZhY3RvciBpbiB0aGUgbGVmdCBib3JkZXIgYW5kIHBhZGRpbmdcbiAgICAgICRiYW5uZXItZXh0ZXJpb3I6ICgkcGFkZGluZy10YWJsZXQgKyAkZ292dWstYm9yZGVyLXdpZHRoKTtcbiAgICAgIG1heC13aWR0aDogJHR3by1jb2wtd2lkdGggLSAkYmFubmVyLWV4dGVyaW9yO1xuICAgIH1cblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstbm90aWZpY2F0aW9uLWJhbm5lcl9faGVhZGluZyB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udC1zaXplKCRzaXplOiAyNCk7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZDtcblxuICAgIG1hcmdpbjogMCAwIGdvdnVrLXNwYWNpbmcoMyk7XG5cbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLmdvdnVrLW5vdGlmaWNhdGlvbi1iYW5uZXJfX2xpbmsge1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtbm8tdmlzaXRlZC1zdGF0ZTtcbiAgfVxuXG4gIC5nb3Z1ay1ub3RpZmljYXRpb24tYmFubmVyLS1zdWNjZXNzIHtcbiAgICBib3JkZXItY29sb3I6ICRnb3Z1ay1zdWNjZXNzLWNvbG91cjtcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1zdWNjZXNzLWNvbG91cjtcblxuICAgIC5nb3Z1ay1ub3RpZmljYXRpb24tYmFubmVyX19saW5rIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtc3VjY2VzcztcbiAgICB9XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2luZGV4LnNjc3MubWFwICovXG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3BhZ2luYXRpb25cIikge1xuICAvLyBGbGV4Ym94IGVuaGFuY2VtZW50IGZvciBzbWFsbCBzY3JlZW4gdmlzdWFsIGRlc2lnblxuICAvLyBGYWxscyBiYWNrIHRvIGEgZmxvYXQ6IGxlZnQgbGF5b3V0IG9uIG5vbi1mbGV4IGJyb3dzZXJzXG4gIC5nb3Z1ay1wYWdpbmF0aW9uIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXBhZ2luYXRpb25fX2xpc3Qge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cblxuICAuZ292dWstcGFnaW5hdGlvbl9faXRlbSxcbiAgLmdvdnVrLXBhZ2luYXRpb25fX25leHQsXG4gIC5nb3Z1ay1wYWdpbmF0aW9uX19wcmV2IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KDE5KTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4td2lkdGg6IDQ1cHg7XG4gICAgbWluLWhlaWdodDogNDVweDtcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDIpIGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgZmxvYXQ6IGxlZnQ7IC8vIEZsb2F0IGlzIGlnbm9yZWQgaWYgZmxleCBpcyBhY3RpdmUgZm9yIHByZXYvbmV4dCBsaW5rc1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJsaWdodC1ncmV5XCIpO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1wYWdpbmF0aW9uX19pdGVtIHtcbiAgICAvLyBIaWRlIGl0ZW1zIG9uIHNtYWxsIHNjcmVlbnMgZXhjZXB0IHRoZSBwcmV2L25leHQgaXRlbXMsXG4gICAgLy8gbm9uLWxpbmsgaXRlbXMgYW5kIHRoZSBmaXJzdCBhbmQgbGFzdCBpdGVtc1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAvLyBDZW50ZXIgYWxpZ24gcGFnaW5hdGlvbiBsaW5rcyBpbiB0aGVpciBwYXJlbnQgbGlzdCBpdGVtIHNvIHRoYXQgdGhleVxuICAgIC8vIHZpc3VhbGx5IHNpdCBpbiB0aGUgbWlkZGxlIG9mIHRoZWlyIHRvdWNoIGFyZWFcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAuZ292dWstcGFnaW5hdGlvbl9fcHJldixcbiAgLmdvdnVrLXBhZ2luYXRpb25fX25leHQge1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LWJvbGQ7XG5cbiAgICAvLyBVc2UgZmxleCB0byBhdm9pZCBleHRyYSBzcGFjZSBiZWluZyBpbnRyb2R1Y2VkIHdoZW4gd2hpdGVzcGFjZSBleGlzdHNcbiAgICAvLyBiZXR3ZWVuIHRoZSBhcnJvdyBzdmcgYW5kIHRoZSBsaW5rIHRleHRcbiAgICAuZ292dWstcGFnaW5hdGlvbl9fbGluayB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gIH1cblxuICAuZ292dWstcGFnaW5hdGlvbl9fcHJldiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG5cbiAgLmdvdnVrLXBhZ2luYXRpb25fX25leHQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cblxuICAvLyBPbmx5IHNob3cgZmlyc3QsIGxhc3QgYW5kIG5vbi1saW5rIGl0ZW1zIG9uIG1vYmlsZVxuICAuZ292dWstcGFnaW5hdGlvbl9faXRlbS0tY3VycmVudCxcbiAgLmdvdnVrLXBhZ2luYXRpb25fX2l0ZW0tLWVsbGlwc2VzLFxuICAuZ292dWstcGFnaW5hdGlvbl9faXRlbTpmaXJzdC1jaGlsZCxcbiAgLmdvdnVrLXBhZ2luYXRpb25fX2l0ZW06bGFzdC1jaGlsZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAuZ292dWstcGFnaW5hdGlvbl9faXRlbS0tY3VycmVudCB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZDtcbiAgICBvdXRsaW5lOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLWxpbmstY29sb3VyO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstbGluay1jb2xvdXI7XG4gICAgfVxuXG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX2xpbmsge1xuICAgICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1pbnZlcnNlO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1wYWdpbmF0aW9uX19pdGVtLS1lbGxpcHNlcyB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZDtcbiAgICBjb2xvcjogJGdvdnVrLXNlY29uZGFyeS10ZXh0LWNvbG91cjtcblxuICAgIC8vIFJlbW92ZSBob3ZlciBzdGF0ZSBmb3IgZWxsaXBzaXMgaXRlbXMgYXMgdGhleSBkb24ndCBjb250YWluIGxpbmtzXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstcGFnaW5hdGlvbl9fbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWluLXdpZHRoOiBnb3Z1ay1zcGFjaW5nKDMpO1xuXG4gICAgLy8gSW5jcmVhc2UgdGhlIHRvdWNoIGFyZWEgZm9yIHRoZSBsaW5rIHRvIHRoZSBwYXJlbnQgZWxlbWVudC5cbiAgICBAbWVkaWEgc2NyZWVuIHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWRkIGxpbmsgaG92ZXIgZGVjb3JhdGlvbiB0byBwcmV2L25leHQgdGV4dCBpZiBubyBsYWJlbCBwcmVzZW50IG9uXG4gICAgLy8gcHJldi9uZXh0IG9ubHkgbW9kZSwgIHNvIHRoYXQgd2UgaGF2ZSBhIGhvdmVyIHN0YXRlIGluIGFsbCBjYXNlc1xuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUge1xuICAgICAgLmdvdnVrLXBhZ2luYXRpb25fX2xpbmstdGl0bGUtLWRlY29yYXRlZCB7XG4gICAgICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstZGVjb3JhdGlvbjtcbiAgICAgIH1cblxuICAgICAgLmdvdnVrLXBhZ2luYXRpb25fX2xpbmstbGFiZWwsXG4gICAgICAuZ292dWstcGFnaW5hdGlvbl9fbGluay10aXRsZS0tZGVjb3JhdGVkIHtcbiAgICAgICAgQGluY2x1ZGUgZ292dWstbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgLmdvdnVrLXBhZ2luYXRpb25fX2ljb24ge1xuICAgICAgICBjb2xvcjogJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xuICAgICAgfVxuXG4gICAgICAuZ292dWstcGFnaW5hdGlvbl9fbGluay1sYWJlbCB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLmdvdnVrLXBhZ2luYXRpb25fX2xpbmstdGl0bGUtLWRlY29yYXRlZCB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ292dWstcGFnaW5hdGlvbl9fbGluay1sYWJlbCB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtcmVndWxhcjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWRlY29yYXRpb247XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG5cbiAgLmdvdnVrLXBhZ2luYXRpb25fX2ljb24ge1xuICAgIC8vIFNldCBzaXplIHVzaW5nIHJlbXMgdG8gbWFrZSB0aGUgaWNvbiBzY2FsZSB3aXRoIHRleHRcbiAgICB3aWR0aDogZ292dWstcHgtdG8tcmVtKDE1cHgpO1xuICAgIGhlaWdodDogZ292dWstcHgtdG8tcmVtKDEzcHgpO1xuICAgIGNvbG9yOiAkZ292dWstc2Vjb25kYXJ5LXRleHQtY29sb3VyO1xuICAgIGZpbGw6IGN1cnJlbnRjb2xvcjtcbiAgICBmb3JjZWQtY29sb3ItYWRqdXN0OiBhdXRvO1xuICB9XG5cbiAgLmdvdnVrLXBhZ2luYXRpb25fX2ljb24tLXByZXYge1xuICAgIG1hcmdpbi1yaWdodDogZ292dWstc3BhY2luZygzKTtcbiAgfVxuXG4gIC5nb3Z1ay1wYWdpbmF0aW9uX19pY29uLS1uZXh0IHtcbiAgICBtYXJnaW4tbGVmdDogZ292dWstc3BhY2luZygzKTtcbiAgfVxuXG4gIC8vIEJsb2NrIG1vZGUgLSBwb3NpdGlvbiBwcmV2aW91cyBhbmQgbmV4dCBsaW5rcyBhYm92ZSBhbmQgYmVsb3cgbnVtYmVyc1xuICAuZ292dWstcGFnaW5hdGlvbi0tYmxvY2sge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX25leHQsXG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX3ByZXYge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgZmxvYXQ6IG5vbmU7XG5cbiAgICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19uZXh0IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgfVxuXG4gICAgLy8gT25seSBhcHBseSBhIGJvcmRlciBiZXR3ZWVuIHByZXYgYW5kIG5leHQgaWYgYm90aCBhcmUgcHJlc2VudFxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19wcmV2ICsgLmdvdnVrLXBhZ2luYXRpb25fX25leHQge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICAgIH1cblxuICAgIC8vIFNldCB0aGUgYWZ0ZXIgcHNldWRvIGVsZW1lbnQgdG8gYSBibG9jayB3aGljaCBtYWtlcyB0aGUgdGl0bGUgdmlzdWFsbHlcbiAgICAvLyBkaXNwbGF5IGFzIGJsb2NrIGxldmVsIHdoaWxzdCBwcm9ncmFtbWF0aWNhbGx5IGJlaW5nIGlubGluZS4gV2UgZG8gdGhpc1xuICAgIC8vIHRvIGdldCBhcm91bmQgYW4gTlZEQSBxdWlyayB3aGVyZSBhZGphY2VudCBibG9jayBsZXZlbCBlbGVtZW50cyBhcmVcbiAgICAvLyBhbHdheXMgcmVhZCBvdXQgc2VwYXJhdGVseVxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rLXRpdGxlOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX2xpbmsge1xuICAgICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDYpO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgJjpub3QoOmZvY3VzKSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZ292dWstcGFnaW5hdGlvbl9faWNvbiB7XG4gICAgICAvLyBUaGlzIG1hZ2ljIG51bWJlciBpcyBicm91Z2h0IHRvIHlvdSBieSB0aGUgZm9sbG93aW5nIGVxdWF0aW9uOlxuICAgICAgLy8gKChsaW5lSGVpZ2h0IOKIkiBhcnJvd0hlaWdodCkgw7cgMikgw7cgZm9udFNpemVcbiAgICAgIC8vICgoMjUg4oiSIDEzKSDDtyAyKSDDtyAxOSA9IDAuMzI2ZW1cbiAgICAgIC8vXG4gICAgICAvLyBUaGlzIGNvdWxkIGhhdmUgYmVlbiBkb25lIHByb2dyYW1tYXRpY2FsbHkgYnV0IHdlIGRvbid0IGhhdmUgZnVuY3Rpb25zXG4gICAgICAvLyBmb3IgZ3JhYmJpbmcgdGhlIGxpbmUtaGVpZ2h0IG9mIHNwZWNpZmljIHR5cG9ncmFwaHkgc2l6ZXMganVzdCB5ZXQuXG4gICAgICBtYXJnaW4tdG9wOiAwLjMyNmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IGdvdnVrLXNwYWNpbmcoNikgKiAtMTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1faW5kZXguc2Nzcy5tYXAgKi9cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvcGFuZWxcIikge1xuICAuZ292dWstcGFuZWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDM2KTtcblxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoNykgLSAkZ292dWstYm9yZGVyLXdpZHRoO1xuXG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJHVudGlsOiB0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoaWYoJGdvdnVrLW5ldy10eXBvZ3JhcGh5LXNjYWxlLCA0LCAzKSkgLSAkZ292dWstYm9yZGVyLXdpZHRoO1xuXG4gICAgICAvLyBUaGlzIGlzIGFuIGlmLWFsbC1lbHNlLWZhaWxzIGF0dGVtcHQgdG8gc3RvcCBsb25nIHdvcmRzIGZyb21cbiAgICAgIC8vIG92ZXJmbG93aW5nIHRoZSBjb250YWluZXIgb24gdmVyeSBuYXJyb3cgdmlld3BvcnRzIGJ5IGZvcmNpbmcgdGhlbSB0b1xuICAgICAgLy8gYnJlYWsgYW5kIHdyYXAgaW5zdGVhZC4gVGhpcyBvdmVyZmxvd2luZyBpcyBtb3JlIGxpa2VseSB0byBoYXBwZW4gd2hlblxuICAgICAgLy8gdXNlciBpbmNyZWFzZXMgdGV4dCBzaXplIG9uIGEgbW9iaWxlIGVnLiB1c2luZyBpT1MgU2FmYXJpIHRleHQgcmVzaXplXG4gICAgICAvLyBjb250cm9scy5cbiAgICAgIC8vXG4gICAgICAvLyBUaGUgb3ZlcmZsb3dpbmcgaXMgYSBwYXJ0aWN1bGFyIHByb2JsZW0gd2l0aCB0aGUgcGFuZWwgY29tcG9uZW50IHNpbmNlXG4gICAgICAvLyBpdCB1c2VzIHdoaXRlIHRleHQ6IHdoZW4gdGhlIHRleHQgb3ZlcmZsb3dzIHRoZSBjb250YWluZXIsIGl0IGlzXG4gICAgICAvLyBpbnZpc2libGUgb24gdGhlIHdoaXRlIChwYWdlKSBiYWNrZ3JvdW5kLiBXaGVuIHRoZSB0ZXh0IGluIG91ciBvdGhlclxuICAgICAgLy8gY29tcG9uZW50cyBvdmVyZmxvdywgdGhlIHVzZXIgbWlnaHQgaGF2ZSB0byBzY3JvbGwgaG9yaXpvbnRhbGx5IHRvIHZpZXdcbiAgICAgIC8vIGl0IGJ1dCB0aGUgdGhlIHRleHQgcmVtYWlucyBsZWdpYmxlLlxuICAgICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcblxuICAgICAgLy8gU3VwcG9ydCBJRSAoYXV0b3ByZWZpeGVyIGRvZXNuJ3QgYWRkIHRoaXMgYXMgaXQncyBub3QgYSBwcmVmaXgpXG4gICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXBhbmVsLS1jb25maXJtYXRpb24ge1xuICAgIGNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJ3aGl0ZVwiKTtcbiAgICBiYWNrZ3JvdW5kOiBnb3Z1ay1jb2xvdXIoXCJncmVlblwiKTtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRtZWRpYS10eXBlOiBwcmludCkge1xuICAgICAgYm9yZGVyLWNvbG9yOiBjdXJyZW50Y29sb3I7XG4gICAgICBjb2xvcjogJGdvdnVrLXByaW50LXRleHQtY29sb3VyO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstcGFuZWxfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250LXNpemUoJHNpemU6IDQ4KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1ib2xkO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZyg2KTtcbiAgfVxuXG4gIC5nb3Z1ay1wYW5lbF9fdGl0bGU6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1faW5kZXguc2Nzcy5tYXAgKi9cbiIsIkBpbXBvcnQgXCIuLi9idXR0b24vaW5kZXhcIjtcbkBpbXBvcnQgXCIuLi9pbnB1dC9pbmRleFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3Bhc3N3b3JkLWlucHV0XCIpIHtcbiAgLmdvdnVrLXBhc3N3b3JkLWlucHV0X193cmFwcGVyIHtcbiAgICAvLyBUaGlzIGVsZW1lbnQgaW5oZXJpdHMgc3R5bGVzIGZyb20gLmdvdnVrLWlucHV0X193cmFwcGVyLCBpbmNsdWRpbmc6XG4gICAgLy8gLSBiZWluZyBkaXNwbGF5OiBibG9jayB3aXRoIGNvbnRlbnRzIGluIGEgc3RhY2tlZCBjb2x1bW4gYmVsb3cgdGhlIG1vYmlsZVxuICAgIC8vICAgYnJlYWtwb2ludFxuICAgIC8vIC0gYmVpbmcgZGlzcGxheTogZmxleCBhYm92ZSB0aGUgbW9iaWxlIGJyZWFrcG9pbnRcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiBtb2JpbGUpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgIC8vIFRoZSBkZWZhdWx0IG9mIGBzdHJldGNoYCBtYWtlcyB0aGUgdG9nZ2xlIGJ1dHRvbiBhcHBlYXIgdGFsbGVyIHRoYW4gdGhlXG4gICAgICAvLyBpbnB1dCwgZHVlIHRvIHVzaW5nIGJveC1zaGFkb3csIHdoaWNoIHdlIGRvbid0IHBhcnRpY3VsYXJseSB3YW50IGluXG4gICAgICAvLyB0aGlzIHNpdHVhdGlvblxuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXBhc3N3b3JkLWlucHV0X19pbnB1dCB7XG4gICAgLy8gSUUgMTEgYW5kIE1pY3Jvc29mdCBFZGdlIGNvbWVzIHdpdGggaXRzIG93biBwYXNzd29yZCByZXZlYWwgZnVuY3Rpb24uIFdlXG4gICAgLy8gd2FudCB0byBoaWRlIGl0LCBzbyB0aGF0IHRoZXJlIGFyZW4ndCB0d28gY29udHJvbHMgcHJlc2VudGVkIHRvIHRoZSB1c2VyXG4gICAgLy8gdGhhdCBkbyB0aGUgc2FtZSB0aGluZyBidXQgYXJlbid0IGluIHN5bmMgd2l0aCBvbmUgYW5vdGhlci4gVGhpcyBkb2Vzbid0XG4gICAgLy8gYWZmZWN0IHRoZSBmdW5jdGlvbiB0aGF0IGFsbG93cyBFZGdlIHVzZXJzIHRvIHRvZ2dsZSBwYXNzd29yZCB2aXNpYmlsaXR5XG4gICAgLy8gYnkgcHJlc3NpbmcgQWx0K0Y4LCB3aGljaCBjYW5ub3QgYmUgcHJvZ3JhbW1hdGljYWxseSBkaXNhYmxlZC5cbiAgICAmOjotbXMtcmV2ZWFsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXBhc3N3b3JkLWlucHV0X190b2dnbGUge1xuICAgIC8vIEFkZCB0b3AgbWFyZ2luIHNvIHRoZSBidXR0b24gZG9lc24ndCBvYnNjdXJlIHRoZSBpbnB1dCdzIGZvY3VzIHN0eWxlXG4gICAgbWFyZ2luLXRvcDogZ292dWstc3BhY2luZygxKTtcblxuICAgIC8vIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi1ib3R0b20gZnJvbSBidXR0b25cbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgLy8gSGlkZSB0aGUgYnV0dG9uIGJ5IGRlZmF1bHQsIEpTIHJlbW92ZXMgdGhpcyBhdHRyaWJ1dGVcbiAgICAmW2hpZGRlbl0ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogbW9iaWxlKSB7XG4gICAgICAvLyBCdXR0b25zIGFyZSBub3JtYWxseSAxMDAlIHdpZGUgb24gbW9iaWxlLCBidXQgd2UgZG9uJ3Qgd2FudCB0aGF0IGhlcmVcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBmbGV4LWJhc2lzOiA1ZW07XG5cbiAgICAgIC8vIE1vdmUgdGhlIHNwYWNpbmcgZnJvbSB0b3AgdG8gdGhlIGxlZnRcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogZ292dWstc3BhY2luZygxKTtcbiAgICB9XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2luZGV4LnNjc3MubWFwICovXG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3RhZ1wiKSB7XG4gICRnb3Z1ay10YWctbWF4LXdpZHRoOiBpZihtYXAtaGFzLWtleSgkZ292dWstYnJlYWtwb2ludHMsIFwibW9iaWxlXCIpLCBtYXAtZ2V0KCRnb3Z1ay1icmVha3BvaW50cywgXCJtb2JpbGVcIikgLyAyLCAxNjBweCk7XG5cbiAgLmdvdnVrLXRhZyB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgLy8gc2V0IGEgbWF4LXdpZHRoIGFsb25nIHdpdGggb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZCBiZWxvdyBmb3IgaW5zdGFuY2VzXG4gICAgLy8gd2hlcmUgYSB0YWcgaGFzIGEgc2luZ2xlIGxvbmcgd29yZCBhbmQgY291bGQgb3ZlcmZsb3cgaXRzIGJvdW5kYXJpZXMuXG4gICAgLy8gVGhlIG1heC13aWR0aCBpcyBuZWNlc3NhcnkgYXMgYnJlYWstd29yZCByZXF1aXJlcyBhIGJvdW5kaW5nIGJveCB0byBiYXNlXG4gICAgLy8gd2hlcmUgdG8gYnJlYWsgb2ZmIG9mLlxuICAgIG1heC13aWR0aDogJGdvdnVrLXRhZy1tYXgtd2lkdGg7XG5cbiAgICAvLyBUaGVzZSBuZWdhdGl2ZSBtYXJnaW5zIG1ha2Ugc3VyZSB0aGF0IHRoZSB0YWcgY29tcG9uZW50IGRvZXNu4oCZdCBpbmNyZWFzZVxuICAgIC8vIHRoZSBzaXplIG9mIGl0cyBjb250YWluZXIuIE90aGVyd2lzZSwgZm9yIGV4YW1wbGUsIGEgdGFibGUgcm93IGNvbnRhaW5pbmdcbiAgICAvLyBhIHRhZyB3aWxsIGJlIHRhbGxlciB0aGFuIG9uZSBjb250YWluaW5nIHBsYWluIHRleHQuXG4gICAgLy9cbiAgICAvLyBUaGUgbmVnYXRpdmUgbWFyZ2luIGFkZGVkIHRvIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXRjaGVzIHRoZSBleHRyYSBwYWRkaW5nXG4gICAgLy8gYWRkZWQuXG4gICAgbWFyZ2luLXRvcDogLTJweDtcbiAgICBtYXJnaW4tYm90dG9tOiAtM3B4O1xuXG4gICAgcGFkZGluZy10b3A6IDJweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDNweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgICBjb2xvcjogZ292dWstc2hhZGUoZ292dWstY29sb3VyKFwiYmx1ZVwiKSwgNjAlKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnb3Z1ay10aW50KGdvdnVrLWNvbG91cihcImJsdWVcIiksIDcwJSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG5cbiAgICAvLyBXaGVuIGZvcmNlZCBjb2xvdXIgbW9kZSBpcyBhY3RpdmUsIGZvciBleGFtcGxlIHRvIHByb3ZpZGUgaGlnaCBjb250cmFzdCxcbiAgICAvLyB0aGUgYmFja2dyb3VuZCBjb2xvdXIgb2YgdGhlIHRhZyBpcyB0aGUgc2FtZSBhcyB0aGUgcmVzdCBvZiB0aGUgcGFnZS4gVG9cbiAgICAvLyBlbnN1cmUgdGhhdCB0aGUgdGFnIGlzIHBlcmNlaXZlZCBhcyBzZXBhcmF0ZSBmcm9tIGFueSBzdXJyb3VuZCB0ZXh0LCBpdFxuICAgIC8vIGlzIG1hZGUgYm9sZC5cbiAgICAvL1xuICAgIC8vIFRyYW5zcGFyZW50IG91dGxpbmVzIGFyZSBubyBsb25nZXIgYWRkZWQsIGFzIHRoZXkgbWFrZSB0aGUgVGFnIGxvb2tcbiAgICAvLyBpbmRpc3Rpbmd1aXNoYWJsZSBmcm9tIGEgYnV0dG9uIOKAkyBidXQgdGhlIHRhZyBpcyBub3QgaW50ZXJhY3RpdmUgaW4gdGhlXG4gICAgLy8gc2FtZSB3YXkuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXRhZy0tZ3JleSB7XG4gICAgY29sb3I6IGdvdnVrLXNoYWRlKGdvdnVrLWNvbG91cihcImRhcmstZ3JleVwiKSwgNTAlKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnb3Z1ay10aW50KGdvdnVrLWNvbG91cihcImRhcmstZ3JleVwiKSwgODUlKTtcbiAgfVxuXG4gIC5nb3Z1ay10YWctLXB1cnBsZSB7XG4gICAgY29sb3I6IGdvdnVrLXNoYWRlKGdvdnVrLWNvbG91cihcImJyaWdodC1wdXJwbGVcIiksIDUwJSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ292dWstdGludChnb3Z1ay1jb2xvdXIoXCJicmlnaHQtcHVycGxlXCIpLCA4NSUpO1xuICB9XG5cbiAgLmdvdnVrLXRhZy0tdHVycXVvaXNlIHtcbiAgICBjb2xvcjogZ292dWstc2hhZGUoZ292dWstY29sb3VyKFwidHVycXVvaXNlXCIpLCA2MCUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGdvdnVrLXRpbnQoZ292dWstY29sb3VyKFwidHVycXVvaXNlXCIpLCA4MCUpO1xuICB9XG5cbiAgLmdvdnVrLXRhZy0tYmx1ZSB7XG4gICAgY29sb3I6IGdvdnVrLXNoYWRlKGdvdnVrLWNvbG91cihcImJsdWVcIiksIDYwJSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ292dWstdGludChnb3Z1ay1jb2xvdXIoXCJibHVlXCIpLCA3MCUpO1xuICB9XG5cbiAgLmdvdnVrLXRhZy0tbGlnaHQtYmx1ZSB7XG4gICAgY29sb3I6IGdvdnVrLXNoYWRlKGdvdnVrLWNvbG91cihcImJsdWVcIiksIDYwJSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ292dWstdGludChnb3Z1ay1jb2xvdXIoXCJibHVlXCIpLCA5MCUpO1xuICB9XG5cbiAgLmdvdnVrLXRhZy0teWVsbG93IHtcbiAgICBjb2xvcjogZ292dWstc2hhZGUoZ292dWstY29sb3VyKFwieWVsbG93XCIpLCA2NSUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGdvdnVrLXRpbnQoZ292dWstY29sb3VyKFwieWVsbG93XCIpLCA3NSUpO1xuICB9XG5cbiAgLmdvdnVrLXRhZy0tb3JhbmdlIHtcbiAgICBjb2xvcjogZ292dWstc2hhZGUoZ292dWstY29sb3VyKFwib3JhbmdlXCIpLCA1NSUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGdvdnVrLXRpbnQoZ292dWstY29sb3VyKFwib3JhbmdlXCIpLCA3MCUpO1xuICB9XG5cbiAgLmdvdnVrLXRhZy0tcmVkIHtcbiAgICBjb2xvcjogZ292dWstc2hhZGUoZ292dWstY29sb3VyKFwicmVkXCIpLCA4MCUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGdvdnVrLXRpbnQoZ292dWstY29sb3VyKFwicmVkXCIpLCA3NSUpO1xuICB9XG5cbiAgLmdvdnVrLXRhZy0tcGluayB7XG4gICAgY29sb3I6IGdvdnVrLXNoYWRlKGdvdnVrLWNvbG91cihcInBpbmtcIiksIDUwJSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ292dWstdGludChnb3Z1ay1jb2xvdXIoXCJwaW5rXCIpLCA4NSUpO1xuICB9XG5cbiAgLmdvdnVrLXRhZy0tZ3JlZW4ge1xuICAgIGNvbG9yOiBnb3Z1ay1zaGFkZShnb3Z1ay1jb2xvdXIoXCJncmVlblwiKSwgMjAlKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnb3Z1ay10aW50KGdvdnVrLWNvbG91cihcImdyZWVuXCIpLCA4MCUpO1xuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9pbmRleC5zY3NzLm1hcCAqL1xuIiwiQGltcG9ydCBcIi4uL3RhZy9pbmRleFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3BoYXNlLWJhbm5lclwiKSB7XG4gIC5nb3Z1ay1waGFzZS1iYW5uZXIge1xuICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIHBhZGRpbmctYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICB9XG5cbiAgLmdvdnVrLXBoYXNlLWJhbm5lcl9fY29udGVudCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTYpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuXG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLmdvdnVrLXBoYXNlLWJhbm5lcl9fY29udGVudF9fdGFnIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250LXNpemUoJHNpemU6IDE2KTtcbiAgICBtYXJnaW4tcmlnaHQ6IGdvdnVrLXNwYWNpbmcoaWYoJGdvdnVrLW5ldy10eXBvZ3JhcGh5LXNjYWxlLCAzLCAyKSk7XG5cbiAgICBAaWYgJGdvdnVrLW5ldy10eXBvZ3JhcGh5LXNjYWxlIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1waGFzZS1iYW5uZXJfX3RleHQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1faW5kZXguc2Nzcy5tYXAgKi9cbiIsIkBpbXBvcnQgXCIuLi9lcnJvci1tZXNzYWdlL2luZGV4XCI7XG5AaW1wb3J0IFwiLi4vZmllbGRzZXQvaW5kZXhcIjtcbkBpbXBvcnQgXCIuLi9oaW50L2luZGV4XCI7XG5AaW1wb3J0IFwiLi4vbGFiZWwvaW5kZXhcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9yYWRpb3NcIikge1xuICAkZ292dWstdG91Y2gtdGFyZ2V0LWd1dHRlcjogNHB4O1xuICAkZ292dWstcmFkaW9zLXNpemU6IDQwcHg7XG4gICRnb3Z1ay10b3VjaC10YXJnZXQtc2l6ZTogKCRnb3Z1ay1yYWRpb3Mtc2l6ZSArICRnb3Z1ay10b3VjaC10YXJnZXQtZ3V0dGVyKTtcbiAgJGdvdnVrLXNtYWxsLXJhZGlvcy1zaXplOiAyNHB4O1xuICAkZ292dWstcmFkaW9zLWxhYmVsLXBhZGRpbmctbGVmdC1yaWdodDogZ292dWstc3BhY2luZygzKTtcbiAgLy8gV2hlbiB0aGUgZGVmYXVsdCBmb2N1cyB3aWR0aCBpcyB1c2VkIG9uIGEgY3VydmVkIGVkZ2UgaXQgbG9va3MgdmlzdWFsbHlcbiAgLy8gc21hbGxlci4gU28gZm9yIHRoZSBjaXJjdWxhciByYWRpb3Mgd2UgYnVtcCB0aGUgZGVmYXVsdCB0byBtYWtlIGl0IGxvb2tcbiAgLy8gdmlzdWFsbHkgY29uc2lzdGVudC5cbiAgJGdvdnVrLXJhZGlvcy1mb2N1cy13aWR0aDogJGdvdnVrLWZvY3VzLXdpZHRoICsgMXB4O1xuXG4gIC5nb3Z1ay1yYWRpb3NfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICB9XG5cbiAgLmdvdnVrLXJhZGlvc19faXRlbTpsYXN0LWNoaWxkLFxuICAuZ292dWstcmFkaW9zX19pdGVtOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5nb3Z1ay1yYWRpb3NfX2lucHV0IHtcbiAgICAvLyBBbGxvdyB0aGUgaW5wdXQgdG8gc2l0IGFib3ZlIHRoZSBsYWJlbCwgZW5hYmxpbmcgaXRzIHByb3BlciBkZXRlY3Rpb25cbiAgICAvLyB3aGVuIGV4cGxvcmluZyBieSB0b3VjaCBvciB1c2luZyBhdXRvbWF0aW9uIHRvb2xzIGxpa2UgU2VsZW5pdW1cbiAgICB6LWluZGV4OiAxO1xuICAgIHdpZHRoOiAkZ292dWstdG91Y2gtdGFyZ2V0LXNpemU7XG4gICAgaGVpZ2h0OiAkZ292dWstdG91Y2gtdGFyZ2V0LXNpemU7XG4gICAgbWFyZ2luOiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgLmdvdnVrLXJhZGlvc19fbGFiZWwge1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcblxuICAgIC8vIEVuc3VyZSB0aGF0IHRoZSB3aWR0aCBvZiB0aGUgbGFiZWwgaXMgbmV2ZXIgbW9yZSB0aGFuIHRoZSB3aWR0aCBvZiB0aGVcbiAgICAvLyBjb250YWluZXIgbWludXMgdGhlIGlucHV0IHdpZHRoIG1pbnVzIHRoZSBwYWRkaW5nIG9uIGVpdGhlciBzaWRlIG9mXG4gICAgLy8gdGhlIGxhYmVsLiBUaGlzIHByZXZlbnRzIHRoZSBsYWJlbCBmcm9tIGdvaW5nIG9udG8gdGhlIG5leHQgbGluZSBkdWUgdG9cbiAgICAvLyBfX2l0ZW0gdXNpbmcgZmxleC13cmFwIGJlY2F1c2Ugd2Ugd2FudCBoaW50cyBvbiBhIHNlcGFyYXRlIGxpbmVcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICN7KCRnb3Z1ay1yYWRpb3MtbGFiZWwtcGFkZGluZy1sZWZ0LXJpZ2h0ICsgJGdvdnVrLXRvdWNoLXRhcmdldC1zaXplICsgZ292dWstc3BhY2luZygzKSl9KTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6IChnb3Z1ay1zcGFjaW5nKDEpICsgJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQpIGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIC8vIHJlbW92ZSAzMDBtcyBwYXVzZSBvbiBtb2JpbGVcbiAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgfVxuXG4gIC8vICggKSBSYWRpbyByaW5nXG4gIC5nb3Z1ay1yYWRpb3NfX2xhYmVsOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAoJGdvdnVrLXRvdWNoLXRhcmdldC1ndXR0ZXIgLyAyKTtcbiAgICBsZWZ0OiAoJGdvdnVrLXRvdWNoLXRhcmdldC1ndXR0ZXIgLyAyKTtcbiAgICB3aWR0aDogJGdvdnVrLXJhZGlvcy1zaXplO1xuICAgIGhlaWdodDogJGdvdnVrLXJhZGlvcy1zaXplO1xuICAgIGJvcmRlcjogJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQgc29saWQgY3VycmVudGNvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC8vICDigKIgIFJhZGlvIGJ1dHRvblxuICAvL1xuICAvLyBXZSBjcmVhdGUgdGhlICdidXR0b24nIGVudGlyZWx5IG91dCBvZiAnYm9yZGVyJyBzbyB0aGF0IHRoZXkgcmVtYWluXG4gIC8vICdmaWxsZWQnIGV2ZW4gd2hlbiBjb2xvdXJzIGFyZSBvdmVycmlkZGVuIGluIHRoZSBicm93c2VyLlxuICAuZ292dWstcmFkaW9zX19sYWJlbDo6YWZ0ZXIge1xuICAgICRyYWRpby1idXR0b24tc2l6ZTogZ292dWstc3BhY2luZygyKTtcblxuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgLy8gUG9zaXRpb25lZCBieSBnZXR0aW5nIGhhbGYgdGhlIHRvdWNoIHRhcmdldCwgc28gd2UgaGF2ZSB0aGUgY2VudHJlIG9mIHRoZVxuICAgIC8vIGlucHV0LCBhbmQgdGhlbiBtb3ZpbmcgYmFjayBieSB0aGUgYnV0dG9uJ3MgYm9yZGVyIHdpZHRoLCB0aHVzIHBvc2l0aW9uaW5nXG4gICAgLy8gdGhlIGNlbnRyZSBvZiB0aGUgYnV0dG9uIGluIHRoZSBjZW50cmUgb2YgdGhlIGlucHV0LlxuICAgIHRvcDogKCgkZ292dWstdG91Y2gtdGFyZ2V0LXNpemUgLyAyKSAtICRyYWRpby1idXR0b24tc2l6ZSk7XG4gICAgbGVmdDogKCgkZ292dWstdG91Y2gtdGFyZ2V0LXNpemUgLyAyKSAtICRyYWRpby1idXR0b24tc2l6ZSk7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogJHJhZGlvLWJ1dHRvbi1zaXplIHNvbGlkIGN1cnJlbnRjb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgb3BhY2l0eTogMDtcbiAgICBiYWNrZ3JvdW5kOiBjdXJyZW50Y29sb3I7XG4gIH1cblxuICAuZ292dWstcmFkaW9zX19oaW50IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiBnb3Z1ay1zcGFjaW5nKC0xKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ292dWstcmFkaW9zLWxhYmVsLXBhZGRpbmctbGVmdC1yaWdodDtcbiAgICBwYWRkaW5nLWxlZnQ6ICgkZ292dWstcmFkaW9zLWxhYmVsLXBhZGRpbmctbGVmdC1yaWdodCArICRnb3Z1ay10b3VjaC10YXJnZXQtc2l6ZSk7XG4gIH1cblxuICAvLyBUaGlzIGlzIHRvIGJ5cGFzcyBnb3Z1ay1oaW50J3Mgc3BlY2lmaWNpdHkgb24gaGludHMgZm9sbG93aW5nIGxhYmVscyBoYXZpbmdcbiAgLy8gYSBtYXJnaW4gYm90dG9tIG9mIDEwcHggKGdvdnVrLXNwYWNpbmcoMikpLiBCZWNhdXNlIHJhZGlvcyBhcmUgZmxleGJveCxcbiAgLy8gdGhlIG1hcmdpbiBkb2Vzbid0IGNvbGxhcHNlIHNvIHdlIGhhdmUgdG8gZG8gdGhpcyBtYW51YWxseS5cbiAgLmdvdnVrLWxhYmVsOm5vdCguZ292dWstbGFiZWwtLW0pOm5vdCguZ292dWstbGFiZWwtLWwpOm5vdCguZ292dWstbGFiZWwtLXhsKSArIC5nb3Z1ay1yYWRpb3NfX2hpbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAvLyBGb2N1c2VkIHN0YXRlXG4gIC5nb3Z1ay1yYWRpb3NfX2lucHV0OmZvY3VzICsgLmdvdnVrLXJhZGlvc19fbGFiZWw6OmJlZm9yZSB7XG4gICAgYm9yZGVyLXdpZHRoOiA0cHg7XG5cbiAgICAvLyBXaGVuIGNvbG91cnMgYXJlIG92ZXJyaWRkZW4sIHRoZSB5ZWxsb3cgYm94LXNoYWRvdyBiZWNvbWVzIGludmlzaWJsZVxuICAgIC8vIHdoaWNoIG1lYW5zIHRoZSBmb2N1cyBzdGF0ZSBpcyBsZXNzIG9idmlvdXMuIEJ5IGFkZGluZyBhIHRyYW5zcGFyZW50XG4gICAgLy8gb3V0bGluZSwgd2hpY2ggYmVjb21lcyBzb2xpZCAodGV4dC1jb2xvdXJlZCkgaW4gdGhhdCBjb250ZXh0LCB3ZSBlbnN1cmVcbiAgICAvLyB0aGUgZm9jdXMgcmVtYWlucyBjbGVhcmx5IHZpc2libGUuXG4gICAgb3V0bGluZTogJGdvdnVrLWZvY3VzLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG5cbiAgICAvLyBXaGVuIGluIGFuIGV4cGxpY2l0IGZvcmNlZC1jb2xvciBtb2RlLCB3ZSBjYW4gdXNlIHRoZSBIaWdobGlnaHQgc3lzdGVtXG4gICAgLy8gY29sb3IgZm9yIHRoZSBvdXRsaW5lIHRvIGJldHRlciBtYXRjaCBmb2N1cyBzdGF0ZXMgb2YgbmF0aXZlIGNvbnRyb2xzXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gICAgICBvdXRsaW5lLWNvbG9yOiBIaWdobGlnaHQ7XG4gICAgfVxuXG4gICAgYm94LXNoYWRvdzogMCAwIDAgJGdvdnVrLXJhZGlvcy1mb2N1cy13aWR0aCAkZ292dWstZm9jdXMtY29sb3VyO1xuICB9XG5cbiAgLy8gU2VsZWN0ZWQgc3RhdGVcbiAgLmdvdnVrLXJhZGlvc19faW5wdXQ6Y2hlY2tlZCArIC5nb3Z1ay1yYWRpb3NfX2xhYmVsOjphZnRlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gIC5nb3Z1ay1yYWRpb3NfX2lucHV0OmRpc2FibGVkLFxuICAuZ292dWstcmFkaW9zX19pbnB1dDpkaXNhYmxlZCArIC5nb3Z1ay1yYWRpb3NfX2xhYmVsIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICB9XG5cbiAgLmdvdnVrLXJhZGlvc19faW5wdXQ6ZGlzYWJsZWQgKyAuZ292dWstcmFkaW9zX19sYWJlbCxcbiAgLmdvdnVrLXJhZGlvc19faW5wdXQ6ZGlzYWJsZWQgfiAuZ292dWstaGludCB7XG4gICAgb3BhY2l0eTogMC41O1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIElubGluZSByYWRpb3NcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLmdvdnVrLXJhZGlvcy0taW5saW5lIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cbiAgICAgIC5nb3Z1ay1yYWRpb3NfX2l0ZW0ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGdvdnVrLXNwYWNpbmcoNCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIERpdmlkZXJzICgnb3InKVxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAuZ292dWstcmFkaW9zX19kaXZpZGVyIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgJGdvdnVrLWRpdmlkZXItc2l6ZTogJGdvdnVrLXJhZGlvcy1zaXplICFkZWZhdWx0O1xuICAgIHdpZHRoOiAkZ292dWstZGl2aWRlci1zaXplO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIENvbmRpdGlvbmFsIHJldmVhbHNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gVGhlIG5hcnJvdyBib3JkZXIgaXMgdXNlZCBpbiB0aGUgY29uZGl0aW9uYWwgcmV2ZWFscyBiZWNhdXNlIHRoZSBib3JkZXIgaGFzXG4gIC8vIHRvIGJlIGFuIGV2ZW4gbnVtYmVyIGluIG9yZGVyIHRvIGJlIGNlbnRyZWQgdW5kZXIgdGhlIDQwcHggY2hlY2tib3ggcmFkaW8uXG4gICRjb25kaXRpb25hbC1ib3JkZXItd2lkdGg6ICRnb3Z1ay1ib3JkZXItd2lkdGgtbmFycm93O1xuICAvLyBDYWxjdWxhdGUgdGhlIGFtb3VudCBvZiBwYWRkaW5nIG5lZWRlZCB0byBrZWVwIHRoZSBib3JkZXIgY2VudGVyZWQgYWdhaW5zdFxuICAvLyB0aGUgcmFkaW9zLlxuICAkY29uZGl0aW9uYWwtYm9yZGVyLXBhZGRpbmc6ICgkZ292dWstdG91Y2gtdGFyZ2V0LXNpemUgLyAyKSAtICgkY29uZGl0aW9uYWwtYm9yZGVyLXdpZHRoIC8gMik7XG4gIC8vIE1vdmUgdGhlIGJvcmRlciBjZW50ZXJlZCB3aXRoIHRoZSByYWRpb3NcbiAgJGNvbmRpdGlvbmFsLW1hcmdpbi1sZWZ0OiAkY29uZGl0aW9uYWwtYm9yZGVyLXBhZGRpbmc7XG4gIC8vIE1vdmUgdGhlIGNvbnRlbnRzIG9mIHRoZSBjb25kaXRpb25hbCBpbmxpbmUgd2l0aCB0aGUgbGFiZWxcbiAgJGNvbmRpdGlvbmFsLXBhZGRpbmctbGVmdDogJGNvbmRpdGlvbmFsLWJvcmRlci1wYWRkaW5nICsgJGdvdnVrLXJhZGlvcy1sYWJlbC1wYWRkaW5nLWxlZnQtcmlnaHQ7XG5cbiAgLmdvdnVrLXJhZGlvc19fY29uZGl0aW9uYWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICAgIG1hcmdpbi1sZWZ0OiAkY29uZGl0aW9uYWwtbWFyZ2luLWxlZnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAkY29uZGl0aW9uYWwtcGFkZGluZy1sZWZ0O1xuICAgIGJvcmRlci1sZWZ0OiAkY29uZGl0aW9uYWwtYm9yZGVyLXdpZHRoIHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuXG4gICAgLmdvdnVrLWZyb250ZW5kLXN1cHBvcnRlZCAmLS1oaWRkZW4ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmID4gOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gU21hbGwgY2hlY2tib3hlc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAuZ292dWstcmFkaW9zLS1zbWFsbCB7XG4gICAgJGlucHV0LW9mZnNldDogKCRnb3Z1ay10b3VjaC10YXJnZXQtc2l6ZSAtICRnb3Z1ay1zbWFsbC1yYWRpb3Mtc2l6ZSkgLyAyO1xuXG4gICAgLmdvdnVrLXJhZGlvc19faXRlbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC8vIFNoaWZ0IHRoZSB0b3VjaCB0YXJnZXQgaW50byB0aGUgbGVmdCBtYXJnaW4gc28gdGhhdCB0aGUgdmlzaWJsZSBlZGdlIG9mXG4gICAgLy8gdGhlIGNvbnRyb2wgaXMgYWxpZ25lZFxuICAgIC8vXG4gICAgLy8gICDilIZXaGljaCBjb2xvdXIgaXMgeW91ciBmYXZvdXJpdGU/XG4gICAgLy8gIOKUjOKUhuKUgOKUgOKUgOKUkFxuICAgIC8vICDilILilIYoKSDilIIgUHVycGxlXG4gICAgLy8gIOKUlOKUhuKWsuKUgOKUgOKUmFxuICAgIC8vICDilrLilIbilJTilIAgUmFkaW8gcHNldWRvIGVsZW1lbnQsIGFsaWduZWQgd2l0aCBtYXJnaW5cbiAgICAvLyAg4pSU4pSA4pSA4pSAIFRvdWNoIHRhcmdldCAoaW52aXNpYmxlIGlucHV0KSwgc2hpZnRlZCBpbnRvIHRoZSBtYXJnaW5cbiAgICAuZ292dWstcmFkaW9zX19pbnB1dCB7XG4gICAgICBtYXJnaW4tbGVmdDogJGlucHV0LW9mZnNldCAqIC0xO1xuICAgIH1cblxuICAgIC5nb3Z1ay1yYWRpb3NfX2xhYmVsIHtcbiAgICAgIC8vIENyZWF0ZSBhIHRpbnkgc3BhY2UgYmV0d2VlbiB0aGUgc21hbGwgcmFkaW8gaG92ZXIgc3RhdGUgc28gdGhhdCBpdFxuICAgICAgLy8gZG9lc24ndCBjbGFzaCB3aXRoIHRoZSBsYWJlbFxuICAgICAgcGFkZGluZy1sZWZ0OiAxcHg7XG4gICAgfVxuXG4gICAgLy8gKCApIFJhZGlvIHJpbmdcbiAgICAvL1xuICAgIC8vIFJlZHVjZSB0aGUgc2l6ZSBvZiB0aGUgY29udHJvbCBbMV0sIHZlcnRpY2FsbHkgY2VudGVyaW5nIGl0IHdpdGhpbiB0aGVcbiAgICAvLyB0b3VjaCB0YXJnZXQgWzJdXG4gICAgLy8gTGVmdCBoZXJlIGlzIDAgYmVjYXVzZSB3ZSd2ZSBzaGlmdGVkIHRoZSBpbnB1dCBpbnRvIHRoZSBsZWZ0IG1hcmdpblxuICAgIC5nb3Z1ay1yYWRpb3NfX2xhYmVsOjpiZWZvcmUge1xuICAgICAgdG9wOiAkaW5wdXQtb2Zmc2V0OyAvLyAyXG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6ICRnb3Z1ay1zbWFsbC1yYWRpb3Mtc2l6ZTsgLy8gMVxuICAgICAgaGVpZ2h0OiAkZ292dWstc21hbGwtcmFkaW9zLXNpemU7IC8vIDFcbiAgICB9XG5cbiAgICAvLyAg4oCiICBSYWRpbyBidXR0b25cbiAgICAvL1xuICAgIC8vIFJlZHVjZSB0aGUgc2l6ZSBvZiB0aGUgJ2J1dHRvbicgYW5kIGNlbnRlciBpdCB3aXRoaW4gdGhlIHJpbmdcbiAgICAuZ292dWstcmFkaW9zX19sYWJlbDo6YWZ0ZXIge1xuICAgICAgJHJhZGlvLWJ1dHRvbi1zaXplOiBnb3Z1ay1zcGFjaW5nKDEpO1xuXG4gICAgICAvLyBUaGUgc2FtZSBjYWxjdWxhdGlvbiBhcyBub3JtYWwgcmFkaW8gYnV0dG9ucyBidXQgcmVkdWNlIHRoZSBib3JkZXIgd2lkdGhcbiAgICAgIHRvcDogKCgkZ292dWstdG91Y2gtdGFyZ2V0LXNpemUgLyAyKSAtICRyYWRpby1idXR0b24tc2l6ZSk7XG4gICAgICBsZWZ0OiAoKCgkZ292dWstdG91Y2gtdGFyZ2V0LXNpemUgLyAyKSAtICRyYWRpby1idXR0b24tc2l6ZSkgLSAkaW5wdXQtb2Zmc2V0KTtcbiAgICAgIGJvcmRlci13aWR0aDogJHJhZGlvLWJ1dHRvbi1zaXplO1xuICAgIH1cblxuICAgIC8vIEZpeCBwb3NpdGlvbiBvZiBoaW50IHdpdGggc21hbGwgcmFkaW9zXG4gICAgLy9cbiAgICAvLyBEbyBub3QgdXNlIGhpbnRzIHdpdGggc21hbGwgcmFkaW9zIOKAkyBiZWNhdXNlIHRoZXkncmUgd2l0aGluIHRoZSBpbnB1dFxuICAgIC8vIHdyYXBwZXIgdGhleSB0cmlnZ2VyIHRoZSBob3ZlciBzdGF0ZSwgYnV0IGNsaWNraW5nIHRoZW0gZG9lc24ndCBhY3R1YWxseVxuICAgIC8vIGFjdGl2YXRlIHRoZSBjb250cm9sLlxuICAgIC8vXG4gICAgLy8gKElmIHlvdSBkbyB1c2UgdGhlbSwgdGhleSB3b24ndCBsb29rIGNvbXBsZXRlbHkgYnJva2VuLi4uIGJ1dCBzZXJpb3VzbHksXG4gICAgLy8gZG9uJ3QgdXNlIHRoZW0pXG4gICAgLmdvdnVrLXJhZGlvc19faGludCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICgkZ292dWstc21hbGwtcmFkaW9zLXNpemUgKyAkaW5wdXQtb2Zmc2V0KTtcbiAgICB9XG5cbiAgICAvLyBBbGlnbiBjb25kaXRpb25hbCByZXZlYWxzIHdpdGggc21hbGwgcmFkaW9zXG4gICAgLmdvdnVrLXJhZGlvc19fY29uZGl0aW9uYWwge1xuICAgICAgJG1hcmdpbi1sZWZ0OiAoJGdvdnVrLXNtYWxsLXJhZGlvcy1zaXplIC8gMikgLSAoJGNvbmRpdGlvbmFsLWJvcmRlci13aWR0aCAvIDIpO1xuICAgICAgbWFyZ2luLWxlZnQ6ICRtYXJnaW4tbGVmdDtcbiAgICAgIHBhZGRpbmctbGVmdDogKCRnb3Z1ay10b3VjaC10YXJnZXQtc2l6ZSAtICRpbnB1dC1vZmZzZXQpIC0gKCRtYXJnaW4tbGVmdCArICRjb25kaXRpb25hbC1ib3JkZXItd2lkdGgpO1xuICAgIH1cblxuICAgIC5nb3Z1ay1yYWRpb3NfX2RpdmlkZXIge1xuICAgICAgd2lkdGg6ICRnb3Z1ay1zbWFsbC1yYWRpb3Mtc2l6ZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMSk7XG4gICAgfVxuXG4gICAgLy8gSG92ZXIgc3RhdGUgZm9yIHNtYWxsIHJhZGlvcy5cbiAgICAvL1xuICAgIC8vIFdlIHVzZSBhIGhvdmVyIHN0YXRlIGZvciBzbWFsbCByYWRpb3MgYmVjYXVzZSB0aGUgdG91Y2ggdGFyZ2V0IHNpemVcbiAgICAvLyBpcyBzbyBtdWNoIGxhcmdlciB0aGFuIHRoZWlyIHZpc2libGUgc2l6ZSwgYW5kIHNvIHdlIG5lZWQgdG8gcHJvdmlkZVxuICAgIC8vIGZlZWRiYWNrIHRvIHRoZSB1c2VyIGFzIHRvIHdoaWNoIHJhZGlvIHRoZXkgd2lsbCBzZWxlY3Qgd2hlbiB0aGVpclxuICAgIC8vIGN1cnNvciBpcyBvdXRzaWRlIG9mIHRoZSB2aXNpYmxlIGFyZWEuXG4gICAgLmdvdnVrLXJhZGlvc19faXRlbTpob3ZlciAuZ292dWstcmFkaW9zX19pbnB1dDpub3QoOmRpc2FibGVkKSArIC5nb3Z1ay1yYWRpb3NfX2xhYmVsOjpiZWZvcmUge1xuICAgICAgLy8gRm9yY2VkIGNvbG91cnMgbW9kZXMgdGVuZCB0byBpZ25vcmUgYm94LXNoYWRvdy5cbiAgICAgIC8vIEFwcGx5IGFuIG91dGxpbmUgZm9yIHRob3NlIG1vZGVzIHRvIHVzZSBpbnN0ZWFkLlxuICAgICAgb3V0bGluZTogJGdvdnVrLXJhZGlvcy1mb2N1cy13aWR0aCBkYXNoZWQgdHJhbnNwYXJlbnQ7XG4gICAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGdvdnVrLWhvdmVyLXdpZHRoICRnb3Z1ay1ob3Zlci1jb2xvdXI7XG4gICAgfVxuXG4gICAgLy8gQmVjYXVzZSB3ZSd2ZSBvdmVycmlkZGVuIHRoZSBib3JkZXItc2hhZG93IHByb3ZpZGVkIGJ5IHRoZSBmb2N1cyBzdGF0ZSxcbiAgICAvLyB3ZSBuZWVkIHRvIHJlZGVmaW5lIHRoYXQgdG9vLlxuICAgIC8vXG4gICAgLy8gV2UgdXNlIHR3byBib3ggc2hhZG93cywgb25lIHRoYXQgcmVzdG9yZXMgdGhlIG9yaWdpbmFsIGZvY3VzIHN0YXRlIFsxXVxuICAgIC8vIGFuZCBhbm90aGVyIHRoYXQgdGhlbiBhcHBsaWVzIHRoZSBob3ZlciBzdGF0ZSBbMl0uXG4gICAgLmdvdnVrLXJhZGlvc19faXRlbTpob3ZlciAuZ292dWstcmFkaW9zX19pbnB1dDpmb2N1cyArIC5nb3Z1ay1yYWRpb3NfX2xhYmVsOjpiZWZvcmUge1xuICAgICAgLy8gU2V0IGRpZmZlcmVudCBIQ00gY29sb3VyIHdoZW4gd2UgaGF2ZSBib3RoIGhvdmVyL2ZvY3VzIGFwcGxpZWQgYXQgb25jZVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gICAgICAgIG91dGxpbmUtY29sb3I6IEhpZ2hsaWdodDtcbiAgICAgIH1cbiAgICAgIC8vIHByZXR0aWVyLWlnbm9yZVxuICAgICAgYm94LXNoYWRvdzpcbiAgICAgICAgMCAwIDAgJGdvdnVrLXJhZGlvcy1mb2N1cy13aWR0aCAkZ292dWstZm9jdXMtY29sb3VyIC8vIDEsXG4gICAgICAgIDAgMCAwICRnb3Z1ay1ob3Zlci13aWR0aCAkZ292dWstaG92ZXItY29sb3VyOyAvLyAyXG4gICAgfVxuXG4gICAgLy8gRm9yIGRldmljZXMgdGhhdCBleHBsaWNpdGx5IGRvbid0IHN1cHBvcnQgaG92ZXIsIGRvbid0IHByb3ZpZGUgYSBob3ZlclxuICAgIC8vIHN0YXRlIChlLmcuIG9uIHRvdWNoIGRldmljZXMgbGlrZSBpT1MpLlxuICAgIC8vXG4gICAgLy8gV2UgY2FuJ3QgdXNlIGBAbWVkaWEgKGhvdmVyOiBob3ZlcilgIGJlY2F1c2Ugd2Ugd291bGRuJ3QgZ2V0IHRoZSBob3ZlclxuICAgIC8vIHN0YXRlIGluIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBgQG1lZGlhIChob3ZlcilgIChsaWtlIEludGVybmV0XG4gICAgLy8gRXhwbG9yZXIpIOKAkyBzbyB3ZSBoYXZlIHRvICd1bmRvJyB0aGUgaG92ZXIgc3RhdGUgaW5zdGVhZC5cbiAgICBAbWVkaWEgKGhvdmVyOiBub25lKSwgKHBvaW50ZXI6IGNvYXJzZSkge1xuICAgICAgLmdvdnVrLXJhZGlvc19faXRlbTpob3ZlciAuZ292dWstcmFkaW9zX19pbnB1dDpub3QoOmRpc2FibGVkKSArIC5nb3Z1ay1yYWRpb3NfX2xhYmVsOjpiZWZvcmUge1xuICAgICAgICBib3gtc2hhZG93OiBpbml0aWFsO1xuICAgICAgfVxuXG4gICAgICAuZ292dWstcmFkaW9zX19pdGVtOmhvdmVyIC5nb3Z1ay1yYWRpb3NfX2lucHV0OmZvY3VzICsgLmdvdnVrLXJhZGlvc19fbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRnb3Z1ay1yYWRpb3MtZm9jdXMtd2lkdGggJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2luZGV4LnNjc3MubWFwICovXG4iLCJAaW1wb3J0IFwiLi4vZXJyb3ItbWVzc2FnZS9pbmRleFwiO1xuQGltcG9ydCBcIi4uL2hpbnQvaW5kZXhcIjtcbkBpbXBvcnQgXCIuLi9sYWJlbC9pbmRleFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3NlbGVjdFwiKSB7XG4gIC5nb3Z1ay1zZWxlY3Qge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5LCAkbGluZS1oZWlnaHQ6IDEuMjUpO1xuXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgIC8vIFRoaXMgbWluLXdpZHRoIHdhcyBjaG9zZW4gYmVjYXVzZTpcbiAgICAvLyAtIGl0IG1ha2VzIHRoZSBTZWxlY3Qgd2lkZXIgdGhhbiBpdCBpcyB0YWxsICh3aGljaCBpcyB3aGF0IHVzZXJzIGV4cGVjdClcbiAgICAvLyAtIDExLjVlbSBtYXRjaGVzIHRoZSAnbGVuZ3RoLTEwJyB2YXJpYW50IG9mIHRoZSBpbnB1dCBjb21wb25lbnRcbiAgICAvLyAtIGl0IGZpdHMgY29tZm9ydGFibHkgb24gc2NyZWVucyBhcyBuYXJyb3cgYXMgMjQwcHggd2lkZVxuICAgIG1pbi13aWR0aDogMTEuNWVtO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGdvdnVrLXB4LXRvLXJlbSg0MHB4KTtcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgIGJvcmRlcjogJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQgc29saWQgJGdvdnVrLWlucHV0LWJvcmRlci1jb2xvdXI7XG5cbiAgICAvLyBEZWZhdWx0IHVzZXIgYWdlbnQgY29sb3VycyBmb3Igc2VsZWN0cyBjYW4gaGF2ZSBsb3cgY29udHJhc3QsXG4gICAgLy8gYW5kIG1heSBsb29rIGRpc2FibGVkICgjMjQzNSlcbiAgICBjb2xvcjogJGdvdnVrLXRleHQtY29sb3VyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiAkZ292dWstZm9jdXMtd2lkdGggc29saWQgJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgICAgIC8vIEVuc3VyZSBvdXRsaW5lIGFwcGVhcnMgb3V0c2lkZSBvZiB0aGUgZWxlbWVudFxuICAgICAgb3V0bGluZS1vZmZzZXQ6IDA7XG4gICAgICAvLyBEb3VibGUgdGhlIGJvcmRlciBieSBhZGRpbmcgaXRzIHdpZHRoIGFnYWluLiBVc2UgYGJveC1zaGFkb3dgIHRvIGRvXG4gICAgICAvLyB0aGlzIGluc3RlYWQgb2YgY2hhbmdpbmcgYGJvcmRlci13aWR0aGAgKHdoaWNoIGNoYW5nZXMgZWxlbWVudCBzaXplKVxuICAgICAgLy8gYW5kIHNpbmNlIGBvdXRsaW5lYCBpcyBhbHJlYWR5IHVzZWQgZm9yIHRoZSB5ZWxsb3cgZm9jdXMgc3RhdGUuXG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudDtcbiAgICB9XG5cbiAgICAmOmRpc2FibGVkIHtcbiAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstc2VsZWN0IG9wdGlvbjphY3RpdmUsXG4gIC5nb3Z1ay1zZWxlY3Qgb3B0aW9uOmNoZWNrZWQsXG4gIC5nb3Z1ay1zZWxlY3Q6Zm9jdXM6Oi1tcy12YWx1ZSB7XG4gICAgY29sb3I6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGdvdnVrLWNvbG91cihcImJsdWVcIik7XG4gIH1cblxuICAuZ292dWstc2VsZWN0LS1lcnJvciB7XG4gICAgYm9yZGVyLWNvbG9yOiAkZ292dWstZXJyb3ItY29sb3VyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICRnb3Z1ay1pbnB1dC1ib3JkZXItY29sb3VyO1xuICAgIH1cbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1faW5kZXguc2Nzcy5tYXAgKi9cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvc2VydmljZS1uYXZpZ2F0aW9uXCIpIHtcbiAgJGdvdnVrLXNlcnZpY2UtbmF2aWdhdGlvbi1hY3RpdmUtbGluay1ib3JkZXItd2lkdGg6IGdvdnVrLXNwYWNpbmcoMSk7XG4gICRnb3Z1ay1zZXJ2aWNlLW5hdmlnYXRpb24tYmFja2dyb3VuZDogJGdvdnVrLWNhbnZhcy1iYWNrZ3JvdW5kLWNvbG91cjtcbiAgJGdvdnVrLXNlcnZpY2UtbmF2aWdhdGlvbi1ib3JkZXItY29sb3VyOiAkZ292dWstYm9yZGVyLWNvbG91cjtcblxuICAvLyBXZSBtYWtlIHRoZSBsaW5rIGNvbG91ciBhIGxpdHRsZSBkYXJrZXIgdGhhbiBub3JtYWwgaGVyZSBzbyB0aGF0IGl0IGhhc1xuICAvLyBiZXR0ZXIgcGVyY2VwdHVhbCBjb250cmFzdCB3aXRoIHRoZSBuYXZpZ2F0aW9uIGJhY2tncm91bmQuXG4gICRnb3Z1ay1zZXJ2aWNlLW5hdmlnYXRpb24tbGluay1jb2xvdXI6IGdvdnVrLXNoYWRlKCRnb3Z1ay1saW5rLWNvbG91ciwgMTAlKTtcblxuICAuZ292dWstc2VydmljZS1uYXZpZ2F0aW9uIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvdnVrLXNlcnZpY2UtbmF2aWdhdGlvbi1ib3JkZXItY29sb3VyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1zZXJ2aWNlLW5hdmlnYXRpb24tYmFja2dyb3VuZDtcbiAgfVxuXG4gIC5nb3Z1ay1zZXJ2aWNlLW5hdmlnYXRpb25fX2NvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhlc2Ugc3R5bGVzIGFyZSBzaGFyZWQgYmV0d2VlbiBuYXYgaXRlbXMgYW5kIHRoZSBzZXJ2aWNlIG5hbWUsIHRoZXlcbiAgLy8gZW5zdXJlIHRoYXQgYm90aCBvZiB0aGVtIHJlbWFpbiB2ZXJ0aWNhbGx5IGFsaWduZWQgd2l0aCBvbmUgYW5vdGhlclxuICAuZ292dWstc2VydmljZS1uYXZpZ2F0aW9uX19pdGVtLFxuICAuZ292dWstc2VydmljZS1uYXZpZ2F0aW9uX19zZXJ2aWNlLW5hbWUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IGdvdnVrLXNwYWNpbmcoMikgMDtcbiAgICBib3JkZXI6IDAgc29saWQgJGdvdnVrLXNlcnZpY2UtbmF2aWdhdGlvbi1saW5rLWNvbG91cjtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgcGFkZGluZzogZ292dWstc3BhY2luZyg0KSAwO1xuXG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCAkZGlyZWN0aW9uOiByaWdodCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXNlcnZpY2UtbmF2aWdhdGlvbl9faXRlbS0tYWN0aXZlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkdW50aWw6IHRhYmxldCkge1xuICAgICAgLy8gTmVnYXRpdmUgb2Zmc2V0IHRoZSBsZWZ0IG1hcmdpbiBzbyB3ZSBjYW4gcGxhY2UgYSBjdXJyZW50IHBhZ2UgaW5kaWNhdG9yXG4gICAgICAvLyB0byB0aGUgbGVmdCB3aXRob3V0IG1pc2FsaWduaW5nIHRoZSBsaXN0IGl0ZW0gdGV4dC5cbiAgICAgIG1hcmdpbi1sZWZ0OiAoKGdvdnVrLXNwYWNpbmcoMikgKyAkZ292dWstc2VydmljZS1uYXZpZ2F0aW9uLWFjdGl2ZS1saW5rLWJvcmRlci13aWR0aCkgKiAtMSk7XG4gICAgICBwYWRkaW5nLWxlZnQ6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgICBib3JkZXItbGVmdC13aWR0aDogJGdvdnVrLXNlcnZpY2UtbmF2aWdhdGlvbi1hY3RpdmUtbGluay1ib3JkZXItd2lkdGg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoNCkgLSAkZ292dWstc2VydmljZS1uYXZpZ2F0aW9uLWFjdGl2ZS1saW5rLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6ICRnb3Z1ay1zZXJ2aWNlLW5hdmlnYXRpb24tYWN0aXZlLWxpbmstYm9yZGVyLXdpZHRoO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1zZXJ2aWNlLW5hdmlnYXRpb25fX2xpbmsge1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtbm8tdW5kZXJsaW5lO1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtbm8tdmlzaXRlZC1zdGF0ZTtcblxuICAgICY6bm90KDpob3Zlcik6bm90KDpmb2N1cykge1xuICAgICAgLy8gV2Ugc2V0IHRoZSBjb2xvdXIgaGVyZSBhcyB3ZSBkb24ndCB3YW50IHRvIG92ZXJyaWRlIHRoZSBob3ZlciBvclxuICAgICAgLy8gZm9jdXMgY29sb3Vyc1xuICAgICAgY29sb3I6ICRnb3Z1ay1zZXJ2aWNlLW5hdmlnYXRpb24tbGluay1jb2xvdXI7XG4gICAgfVxuICB9XG5cbiAgLy9cbiAgLy8gU2VydmljZSBuYW1lIHNwZWNpZmljIGNvZGVcbiAgLy9cblxuICAuZ292dWstc2VydmljZS1uYXZpZ2F0aW9uX19zZXJ2aWNlLW5hbWUge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5LCAkd2VpZ2h0OiBib2xkKTtcbiAgfVxuXG4gIC8vIEFubm95aW5nbHkgdGhpcyByZXF1aXJlcyBhIGNvbXBvdW5kIHNlbGVjdG9yIGluIG9yZGVyIHRvIG92ZXJjb21lIHRoZVxuICAvLyBzcGVjaWZpY2l0eSBvZiB0aGUgb3RoZXIgbGluayBjb2xvdXIgb3ZlcnJpZGUgd2UncmUgZG9pbmdcbiAgLmdvdnVrLXNlcnZpY2UtbmF2aWdhdGlvbl9fc2VydmljZS1uYW1lIC5nb3Z1ay1zZXJ2aWNlLW5hdmlnYXRpb25fX2xpbmsge1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtdGV4dDtcbiAgfVxuXG4gIC8vXG4gIC8vIE5hdmlnYXRpb24gbGlzdCBzcGVjaWZpYyBjb2RlXG4gIC8vXG5cbiAgLmdvdnVrLXNlcnZpY2UtbmF2aWdhdGlvbl9fdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSwgJHdlaWdodDogYm9sZCk7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgbWFyZ2luOiBnb3Z1ay1zcGFjaW5nKDIpIDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgY29sb3I6ICRnb3Z1ay1zZXJ2aWNlLW5hdmlnYXRpb24tbGluay1jb2xvdXI7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLWZvY3VzZWQtdGV4dDtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1zaGFwZS1hcnJvdygkZGlyZWN0aW9uOiBkb3duLCAkYmFzZTogMTBweCwgJGRpc3BsYXk6IGlubGluZS1ibG9jayk7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgbWFyZ2luLWxlZnQ6IGdvdnVrLXNwYWNpbmcoMSk7XG4gICAgfVxuXG4gICAgJlthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgZ292dWstc2hhcGUtYXJyb3coJGRpcmVjdGlvbjogdXAsICRiYXNlOiAxMHB4LCAkZGlzcGxheTogaW5saW5lLWJsb2NrKTtcbiAgICB9XG5cbiAgICAvLyBFbnN1cmUgdGhlIGJ1dHRvbiBzdGF5cyBoaWRkZW4gaWYgdGhlIGhpZGRlbiBhdHRyaWJ1dGUgaXMgcHJlc2VudFxuICAgICZbaGlkZGVuXSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8vIElmIHdlIGhhdmUgYm90aCBhIHNlcnZpY2UgbmFtZSBhbmQgbmF2aWdhdGlvbiB0b2dnbGUsIHJlbW92ZSB0aGVcbiAgICAvLyBtYXJnaW4tdG9wIHNvIHRoYXQgdGhlcmUgaXNuJ3QgYSBidW5jaCBvZiBzcGFjZSBiZXR3ZWVuIHRoZW1cbiAgICAuZ292dWstc2VydmljZS1uYXZpZ2F0aW9uX19zZXJ2aWNlLW5hbWUgKyAuZ292dWstc2VydmljZS1uYXZpZ2F0aW9uX193cmFwcGVyICYge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstc2VydmljZS1uYXZpZ2F0aW9uX19saXN0IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgLy8gTWFrZSB0aGUgbmF2aWdhdGlvbiBsaXN0IGEgZmxleGJveC4gRG9pbmcgc28gcmVzb2x2ZXMgYSBjb3VwbGUgb2ZcbiAgICAvLyBhY2Nlc3NpYmlsaXR5IHByb2JsZW1zIGNhdXNlZCBieSB0aGUgbGlzdCBpdGVtcyBiZWluZyBpbmxpbmUtYmxvY2tzOlxuICAgIC8vIC0gUmVtb3ZlcyB0aGUgZXh0cmEgd2hpdGVzcGFjZSBmcm9tIGJldHdlZW4gZWFjaCBsaXN0IGl0ZW0gdGhhdCBzY3JlZW5cbiAgICAvLyAgIHJlYWRlcnMgd291bGQgcG9pbnRsZXNzbHkgYW5ub3VuY2UuXG4gICAgLy8gLSBGaXhlcyBhbiBOVkRBIGlzc3VlIGluIEZpcmVmb3ggYW5kIENocm9tZSA8PSAxMjQgd2hlcmUgaXQgd291bGQgcmVhZFxuICAgIC8vICAgYWxsIG9mIHRoZSBsaW5rcyBhcyBhIHJ1bi1vbiBzZW50ZW5jZS5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgLy8gSG93ZXZlci4uLiBJRTExIHRvdGFsbHkgdHJpcHMgb3ZlciBmbGV4Ym94IGFuZCBkb2Vzbid0IHdyYXAgYW55dGhpbmcsXG4gICAgICAvLyBtYWtpbmcgYWxsIG9mIHRoZSBpdGVtcyBpbnRvIGEgc2luZ2xlLCBob3Jpem9udGFsbHkgc2Nyb2xsaW5nIHJvdyxcbiAgICAgIC8vIHdoaWNoIGlzIG5vIGdvb2QuIFRoaXMgQ1NTIGhhY2sgcmVtb3ZlcyB0aGUgZmxleGJveCBkZWZpbml0aW9uIGZvclxuICAgICAgLy8gSUUgMTAgJiAxMSwgcmV2ZXJ0aW5nIGl0IHRvIHRoZSBmbGF3ZWQsIGJ1dCBPSywgbm9uLWZsZXhib3ggdmVyc2lvbi5cbiAgICAgIC8vXG4gICAgICAvLyBDU1MgaGFjayB0YWtlbiBmcm9tIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzExMTczMTA2L2FwcGx5LXN0eWxlLW9ubHktb24taWUjYW5zd2VyLTM2NDQ4ODYwXG4gICAgICAvLyB3aGljaCBhbHNvIGluY2x1ZGVzIGFuIGV4cGxhbmF0aW9uIG9mIHdoeSB0aGlzIHdvcmtzXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBUaGlzIGlzIGEgPHN0cm9uZz4gZWxlbWVudCB0aGF0IGlzIHVzZWQgYXMgYSBmYWxsYmFjayBtZWNoYW5pc20gZm9yXG4gIC8vIHZpc3VhbGx5IGluZGljYXRpbmcgdGhlIGN1cnJlbnQgcGFnZSBpbiBzY2VuYXJpb3Mgd2hlcmUgQ1NTIGlzbid0XG4gIC8vIGF2YWlsYWJsZS4gV2UgZG9uJ3QgYWN0dWFsbHkgd2FudCBpdCB0byBiZSBib2xkIG5vcm1hbGx5LCBzbyBzZXQgaXQgdG9cbiAgLy8gaW5oZXJpdCB0aGUgcGFyZW50IGZvbnQtd2VpZ2h0LlxuICAuZ292dWstc2VydmljZS1uYXZpZ2F0aW9uX19hY3RpdmUtZmFsbGJhY2sge1xuICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9pbmRleC5zY3NzLm1hcCAqL1xuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9za2lwLWxpbmtcIikge1xuICAuZ292dWstc2tpcC1saW5rIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay12aXN1YWxseS1oaWRkZW4tZm9jdXNhYmxlO1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktY29tbW9uO1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstZGVjb3JhdGlvbjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLXRleHQ7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udC1zaXplKCRzaXplOiAxNik7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDIpIGdvdnVrLXNwYWNpbmcoMyk7XG5cbiAgICAvLyBSZXNwZWN0ICdkaXNwbGF5IGN1dG91dCcgc2FmZSBhcmVhIChhdm9pZHMgbm90Y2hlcyBhbmQgcm91bmRlZCBjb3JuZXJzKVxuICAgIEBzdXBwb3J0cyAocGFkZGluZzogdW5xdW90ZShcIm1heChjYWxjKDBweCkpXCIpKSB7XG4gICAgICAkcGFkZGluZy1zYWZlLWFyZWEtcmlnaHQ6IGNhbGMoI3tnb3Z1ay1zcGFjaW5nKDMpfSArIGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpKTtcbiAgICAgICRwYWRkaW5nLXNhZmUtYXJlYS1sZWZ0OiBjYWxjKCN7Z292dWstc3BhY2luZygzKX0gKyBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpKTtcblxuICAgICAgLy8gVXNlIG1heCgpIHRvIHBpY2sgbGFyZ2VzdCBwYWRkaW5nLCBkZWZhdWx0IG9yIHdpdGggc2FmZSBhcmVhXG4gICAgICAvLyBFc2NhcGVkIGR1ZSB0byBTYXNzIG1heCgpIHZzLiBDU1MgbmF0aXZlIG1heCgpXG4gICAgICBwYWRkaW5nLXJpZ2h0OiB1bnF1b3RlKFwibWF4KCN7Z292dWstc3BhY2luZygzKX0sICN7JHBhZGRpbmctc2FmZS1hcmVhLXJpZ2h0fSlcIik7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVucXVvdGUoXCJtYXgoI3tnb3Z1ay1zcGFjaW5nKDMpfSwgI3skcGFkZGluZy1zYWZlLWFyZWEtbGVmdH0pXCIpO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogJGdvdnVrLWZvY3VzLXdpZHRoIHNvbGlkICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gICAgICBvdXRsaW5lLW9mZnNldDogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG5cbiAgICAgIC8vIFVuZG8gdW53YW50ZWQgY2hhbmdlcyB3aGVuIGdsb2JhbCBzdHlsZXMgYXJlIGVuYWJsZWRcbiAgICAgIEBpZiAkZ292dWstZ2xvYmFsLXN0eWxlcyB7XG4gICAgICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstZGVjb3JhdGlvbjtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ292dWstc2tpcC1saW5rLWZvY3VzZWQtZWxlbWVudCB7XG4gICAgJjpmb2N1cyB7XG4gICAgICAvLyBSZW1vdmUgdGhlIG5hdGl2ZSB2aXNpYmxlIGZvY3VzIGluZGljYXRvciB3aGVuIHRoZSBlbGVtZW50IGlzXG4gICAgICAvLyBwcm9ncmFtbWF0aWNhbGx5IGZvY3VzZWQuXG4gICAgICAvL1xuICAgICAgLy8gV2Ugc2V0IHRoZSBmb2N1cyBvbiB0aGUgbGlua2VkIGVsZW1lbnQgKHRoaXMgaXMgdXN1YWxseSB0aGUgPG1haW4+XG4gICAgICAvLyBlbGVtZW50KSB3aGVuIHRoZSBza2lwIGxpbmsgaXMgYWN0aXZhdGVkIHRvIGltcHJvdmUgc2NyZWVuIHJlYWRlclxuICAgICAgLy8gYW5ub3VuY2VtZW50cy4gSG93ZXZlciwgd2UgcmVtb3ZlIHRoZSB2aXNpYmxlIGZvY3VzIGluZGljYXRvciBmcm9tIHRoZVxuICAgICAgLy8gbGlua2VkIGVsZW1lbnQgYmVjYXVzZSB0aGUgdXNlciBjYW5ub3QgaW50ZXJhY3Qgd2l0aCBpdC5cbiAgICAgIC8vXG4gICAgICAvLyBBIHJlbGF0ZWQgZGlzY3Vzc2lvbjogaHR0cHM6Ly9naXRodWIuY29tL3czYy93Y2FnL2lzc3Vlcy8xMDAxXG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1faW5kZXguc2Nzcy5tYXAgKi9cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgaGVscGVycy9hY2Nlc3NpYmlsaXR5XG4vLy8vXG5cbi8vLyBIZWxwZXIgZnVuY3Rpb24gY29udGFpbmluZyB0aGUgY29tbW9uIGNvZGUgZm9yIHRoZSBmb2xsb3dpbmcgdHdvIG1peGluc1xuLy8vXG4vLy8gQGxpbmsgaHR0cHM6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbi8vLyAgIC0gSGlkaW5nIENvbnRlbnQgZm9yIEFjY2Vzc2liaWxpdHksIEpvbmF0aGFuIFNub29rLCBGZWJydWFyeSAyMDExXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi85ZjEzNjk1ZDIxZmY5MmM1NWM3OGRmYTlmMTZiYjAyYTFiNmU5MTFmL3NyYy9jc3MvbWFpbi5jc3MjTDEyMS1MMTU4XG4vLy8gICAtIGg1YnAvaHRtbDUtYm9pbGVycGxhdGUgLSBUaGFua3MhXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbXBvcnRhbnQgW3RydWVdIC0gV2hldGhlciB0byBtYXJrIGFzIGAhaW1wb3J0YW50YFxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbkBtaXhpbiBfZ292dWstdmlzdWFsbHktaGlkZS1jb250ZW50KCRpbXBvcnRhbnQ6IHRydWUpIHtcbiAgcG9zaXRpb246IGFic29sdXRlIGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuXG4gIHdpZHRoOiAxcHggaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG4gIGhlaWdodDogMXB4IGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuICAvLyBJZiBtYXJnaW4gaXMgc2V0IHRvIGEgbmVnYXRpdmUgdmFsdWUgaXQgY2FuIGNhdXNlIHRleHQgdG8gYmUgYW5ub3VuY2VkIGluXG4gIC8vIHRoZSB3cm9uZyBvcmRlciBpbiBWb2ljZU92ZXIgZm9yIE9TWFxuICBtYXJnaW46IDAgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG4gIHBhZGRpbmc6IDAgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG5cbiAgb3ZlcmZsb3c6IGhpZGRlbiBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcblxuICAvLyBgY2xpcGAgaXMgbmVlZGVkIGZvciBJRTExIHN1cHBvcnRcbiAgY2xpcDogcmVjdCgwIDAgMCAwKSBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcbiAgLXdlYmtpdC1jbGlwLXBhdGg6IGluc2V0KDUwJSkgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgICAgICAgY2xpcC1wYXRoOiBpbnNldCg1MCUpIGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuXG4gIGJvcmRlcjogMCBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcblxuICAvLyBGb3IgbG9uZyBjb250ZW50LCBsaW5lIGZlZWRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgYXMgc3BhY2VzIGFuZCBzbWFsbCB3aWR0aFxuICAvLyBjYXVzZXMgY29udGVudCB0byB3cmFwIDEgd29yZCBwZXIgbGluZTpcbiAgLy8gaHR0cHM6Ly9tZWRpdW0uY29tL0BqZXNzZWJlYWNoL2Jld2FyZS1zbXVzaGVkLW9mZi1zY3JlZW4tYWNjZXNzaWJsZS10ZXh0LTU5NTJhNGMyY2JmZVxuICB3aGl0ZS1zcGFjZTogbm93cmFwIGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuXG4gIC8vIFByZXZlbnQgdXNlcnMgZnJvbSBzZWxlY3Rpbmcgb3IgY29weWluZyB2aXN1YWxseS1oaWRkZW4gdGV4dC4gVGhpcyBwcmV2ZW50c1xuICAvLyBhIHVzZXIgdW5pbnRlbnRpb25hbGx5IGNvcHlpbmcgbW9yZSB0ZXh0IHRoYW4gdGhleSBpbnRlbmRlZCBhbmQgbmVlZGluZyB0b1xuICAvLyBtYW51YWxseSB0cmltIGl0IGRvd24gYWdhaW4uXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnNcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGltcG9ydGFudCBbdHJ1ZV0gLSBXaGV0aGVyIHRvIG1hcmsgYXMgYCFpbXBvcnRhbnRgXG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstdmlzdWFsbHktaGlkZGVuKCRpbXBvcnRhbnQ6IHRydWUpIHtcbiAgQGluY2x1ZGUgX2dvdnVrLXZpc3VhbGx5LWhpZGUtY29udGVudCgkaW1wb3J0YW50OiAkaW1wb3J0YW50KTtcblxuICAvLyBBYnNvbHV0ZSBwb3NpdGlvbmluZyBoYXMgdGhlIHVuaW50ZW5kZWQgY29uc2VxdWVuY2Ugb2YgcmVtb3ZpbmcgYW55XG4gIC8vIHdoaXRlc3BhY2Ugc3Vycm91bmRpbmcgdmlzdWFsbHkgaGlkZGVuIHRleHQgZnJvbSB0aGUgYWNjZXNzaWJpbGl0eSB0cmVlLlxuICAvLyBJbnNlcnQgYSBzcGFjZSBjaGFyYWN0ZXIgYmVmb3JlIGFuZCBhZnRlciB2aXN1YWxseSBoaWRkZW4gdGV4dCB0byBzZXBhcmF0ZVxuICAvLyBpdCBmcm9tIGFueSB2aXNpYmxlIHRleHQgc3Vycm91bmRpbmcgaXQuXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXDAwYTBcIjtcbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlxcMDBhMFwiO1xuICB9XG59XG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnMgd2hpbHN0XG4vLy8gYWxsb3dpbmcgdGhlIGVsZW1lbnQgdG8gYmUgZm9jdXNlZCB3aGVuIG5hdmlnYXRlZCB0byB2aWEgdGhlIGtleWJvYXJkIChlLmcuXG4vLy8gZm9yIHRoZSBza2lwIGxpbmspXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbXBvcnRhbnQgW3RydWVdIC0gV2hldGhlciB0byBtYXJrIGFzIGAhaW1wb3J0YW50YFxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLXZpc3VhbGx5LWhpZGRlbi1mb2N1c2FibGUoJGltcG9ydGFudDogdHJ1ZSkge1xuICAvLyBJRSAxMSBkb2Vzbid0IHN1cHBvcnQgdGhlIGNvbWJpbmVkIGA6bm90KDphY3RpdmUsIDpmb2N1cylgIHN5bnRheC5cbiAgJjpub3QoOmFjdGl2ZSk6bm90KDpmb2N1cykge1xuICAgIEBpbmNsdWRlIF9nb3Z1ay12aXN1YWxseS1oaWRlLWNvbnRlbnQoJGltcG9ydGFudDogJGltcG9ydGFudCk7XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X3Zpc3VhbGx5LWhpZGRlbi5zY3NzLm1hcCAqL1xuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9zdW1tYXJ5LWxpc3RcIikge1xuICAuZ292dWstc3VtbWFyeS1saXN0IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRhYmxlLWxheW91dDogZml4ZWQ7IC8vIFJlcXVpcmVkIHRvIGFsbG93IHVzIHRvIHdyYXAgd29yZHMgdGhhdCBvdmVyZmxvdy5cbiAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgfVxuICAgIG1hcmdpbjogMDsgLy8gUmVzZXQgZGVmYXVsdCB1c2VyIGFnZW50IHN0eWxlc1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fcm93IHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkdW50aWw6IHRhYmxldCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgZGlzcGxheTogdGFibGUtcm93O1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlbW92ZSByaWdodCBwYWRkaW5nIGZyb20gdGhlIGxhc3QgY29sdW1uIGluIHRoZSByb3dcbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fcm93Om5vdCguZ292dWstc3VtbWFyeS1saXN0X19yb3ctLW5vLWFjdGlvbnMpID4gOmxhc3QtY2hpbGQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cblxuICAvLyBQcm92aWRlIGFuIGVtcHR5ICdjZWxsJyBmb3Igcm93cyB0aGF0IGRvbid0IGhhdmUgYWN0aW9ucyDigJMgb3RoZXJ3aXNlIHRoZVxuICAvLyBib3R0b20gYm9yZGVyIGlzIG5vdCBkcmF3biBmb3IgdGhhdCBwYXJ0IG9mIHRoZSByb3cgaW4gc29tZSBicm93c2Vycy5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fcm93LS1uby1hY3Rpb25zIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fa2V5LFxuICAuZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSxcbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9ucyB7XG4gICAgbWFyZ2luOiAwOyAvLyBSZXNldCBkZWZhdWx0IHVzZXIgYWdlbnQgc3R5bGVzXG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDQpO1xuICAgICAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9ucyB7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICB3aWR0aDogMjAlO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fa2V5LFxuICAuZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSB7XG4gICAgLy8gQXV0b21hdGljIHdyYXBwaW5nIGZvciB1bmJyZWFrYWJsZSB0ZXh0IChlLmcuIFVSTHMpXG4gICAgd29yZC13cmFwOiBicmVhay13b3JkOyAvLyBGYWxsYmFjayBmb3Igb2xkZXIgYnJvd3NlcnMgb25seVxuICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gIH1cblxuICAuZ292dWstc3VtbWFyeS1saXN0X19rZXkge1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMSk7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICB3aWR0aDogMzAlO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkdW50aWw6IHRhYmxldCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSA+IHAge1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gIH1cblxuICAuZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9ucy1saXN0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7IC8vIFJlc2V0IGRlZmF1bHQgdXNlciBhZ2VudCBzdHlsZXNcbiAgICBwYWRkaW5nOiAwOyAvLyBSZXNldCBkZWZhdWx0IHVzZXIgYWdlbnQgc3R5bGVzXG4gIH1cblxuICAuZ292dWstc3VtbWFyeS1saXN0X19hY3Rpb25zLWxpc3QtaXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG5cbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJHVudGlsOiB0YWJsZXQpIHtcbiAgICAuZ292dWstc3VtbWFyeS1saXN0X19hY3Rpb25zLWxpc3QtaXRlbSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gICAgfVxuXG4gICAgLmdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9ucy1saXN0LWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAuZ292dWstc3VtbWFyeS1saXN0X19hY3Rpb25zLWxpc3QtaXRlbSB7XG4gICAgICBtYXJnaW4tbGVmdDogZ292dWstc3BhY2luZygyKTtcbiAgICAgIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZygyKTtcbiAgICB9XG5cbiAgICAuZ292dWstc3VtbWFyeS1saXN0X19hY3Rpb25zLWxpc3QtaXRlbTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICAgIH1cblxuICAgIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX2FjdGlvbnMtbGlzdC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIExhcmdlIGdyb3VwcyBvZiBhY3Rpb24gbGlua3MgbWF5IHdyYXAgb250byBtdWx0aXBsZSBsaW5lcy4gQmVjYXVzZSB0aGUgbGlua1xuICAvLyBmb2N1cyBzdHlsZXMgYXJlIGFwcGxpZWQgb3V0c2lkZSBvZiB0aGUgbGluaydzIGJvdW5kaW5nIGJveCwgdGhlcmUgYXJlXG4gIC8vIHNpdHVhdGlvbnMgd2hlcmUgdGhlIGZvY3VzIHN0eWxlIG9uIGEgbGluayBjYW4gYmUgb3ZlcmxhcHBlZCBieSBzdWJzZXF1ZW50XG4gIC8vIGxpbmtzLiBXZSBkb24ndCB3YW50IHRoaXMsIHNvIGxldCdzIGNyZWF0ZSBhIG5ldyBzdGFja2luZyBjb250ZXh0IG9uIGZvY3VzXG4gIC8vIHNvIHRoZSBsaW5rIGFsd2F5cyBhcHBlYXJzIHRvIGJlICdvbiB0b3AnLlxuICAuZ292dWstc3VtbWFyeS1saXN0X19hY3Rpb25zLWxpc3QtaXRlbSAuZ292dWstbGluazpmb2N1cyB7XG4gICAgaXNvbGF0aW9uOiBpc29sYXRlO1xuICB9XG5cbiAgLy8gTm8gYm9yZGVyIG9uIGVudGlyZSBzdW1tYXJ5IGxpc3RcbiAgLmdvdnVrLXN1bW1hcnktbGlzdC0tbm8tYm9yZGVyIHtcbiAgICAuZ292dWstc3VtbWFyeS1saXN0X19yb3cge1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cblxuICAgIC8vIEluY3JlYXNlIHBhZGRpbmcgYnkgMXB4IHRvIGNvbXBlbnNhdGUgZm9yICdtaXNzaW5nJyBib3JkZXJcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICAuZ292dWstc3VtbWFyeS1saXN0X19rZXksXG4gICAgICAuZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSxcbiAgICAgIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX2FjdGlvbnMge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZygyKSArIDFweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBObyBib3JkZXIgb24gc3BlY2lmaWMgcm93c1xuICAuZ292dWstc3VtbWFyeS1saXN0X19yb3ctLW5vLWJvcmRlciB7XG4gICAgYm9yZGVyOiAwO1xuXG4gICAgLy8gSW5jcmVhc2UgcGFkZGluZyBieSAxcHggdG8gY29tcGVuc2F0ZSBmb3IgJ21pc3NpbmcnIGJvcmRlclxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSxcbiAgICAgIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlLFxuICAgICAgLmdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9ucyB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpICsgMXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEFkZGl0aW9uYWwgYmxvY2sgZm9yIHRoZSBzdW1tYXJ5IGNhcmRcbiAgLmdvdnVrLXN1bW1hcnktY2FyZCB7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIik7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gIH1cblxuICAuZ292dWstc3VtbWFyeS1jYXJkX190aXRsZS13cmFwcGVyIHtcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDMpO1xuXG4gICAgLy8gRW5zdXJlcyB0aGUgY2FyZCBoZWFkZXIgYXBwZWFycyBzZXBhcmF0ZSB0byB0aGUgc3VtbWFyeSBsaXN0IGluIGZvcmNlZFxuICAgIC8vIGNvbG91cnMgbW9kZVxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJsaWdodC1ncmV5XCIpO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IFwidGFibGV0XCIpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMykgZ292dWstc3BhY2luZyg0KTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstc3VtbWFyeS1jYXJkX190aXRsZSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTksICR3ZWlnaHQ6IGJvbGQpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIG1hcmdpbjogZ292dWstc3BhY2luZygxKSBnb3Z1ay1zcGFjaW5nKDQpIGdvdnVrLXNwYWNpbmcoMikgMDtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiBcInRhYmxldFwiKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1zdW1tYXJ5LWNhcmRfX2FjdGlvbnMge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQtc2l6ZSgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LWJvbGQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgcm93LWdhcDogMTBweDtcbiAgICBtYXJnaW46IGdvdnVrLXNwYWNpbmcoMSkgMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogXCJ0YWJsZXRcIikge1xuICAgICAganVzdGlmeS1jb250ZW50OiByaWdodDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1zdW1tYXJ5LWNhcmRfX2FjdGlvbiB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIG1hcmdpbjogMCBnb3Z1ay1zcGFjaW5nKDIpIDAgMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IFwidGFibGV0XCIpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG5cbiAgICAvLyBXZSB1c2UgdGhlIGZvbGxvd2luZyBtZWRpYSBxdWVyeSB0byB0YXJnZXQgSUUxMSBhbmQgMTAgb25seSB0byBhZGQgbWFyZ2luXG4gICAgLy8gYmV0d2VlbiBhY3Rpb25zLlxuICAgIC8vXG4gICAgLy8gV2UgZG8gdGhpcyBiZWNhdXNlIHdlJ3JlIHVzaW5nIHJvdy1nYXAgdG8gY3JlYXRlIHNwYWNlIGJldHdlZW4gYWN0aW9ucyBvblxuICAgIC8vIG1vcmUgZXZlcmdyZWVuIGJyb3dzZXJzIHdoaWNoIElFIGRvZXNuJ3Qgc3VwcG9ydC4gQHN1cHBvcnRzIGN1cnJlbnRseSBpc24ndFxuICAgIC8vIGEgdmlhYmxlIHNvbHV0aW9uLCBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy1kcmFmdHMvaXNzdWVzLzM1NTkuXG4gICAgLy9cbiAgICAvLyBTb2x1dGlvbiB0YWtlbiBmcm9tIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzExMTczMTA2L2FwcGx5LXN0eWxlLW9ubHktb24taWUjYW5zd2VyLTM2NDQ4ODYwXG4gICAgLy8gd2hpY2ggYWxzbyBpbmNsdWRlcyBhbiBleHBsYW5hdGlvbiBvZiB3aHkgdGhpcyB3b3Jrc1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1zdW1tYXJ5LWNhcmRfX2FjdGlvbjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogXCJ0YWJsZXRcIikge1xuICAgICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIH1cblxuICAgIC8vIFNlZSBhYm92ZSBjb21tZW50IGZvciB3aHkgdGhpcyBpcyBoZXJlXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktY2FyZF9fY29udGVudCB7XG4gICAgcGFkZGluZzogZ292dWstc3BhY2luZygzKSBnb3Z1ay1zcGFjaW5nKDMpIDA7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogXCJ0YWJsZXRcIikge1xuICAgICAgcGFkZGluZzogZ292dWstc3BhY2luZygzKSBnb3Z1ay1zcGFjaW5nKDQpO1xuICAgIH1cblxuICAgIC5nb3Z1ay1zdW1tYXJ5LWxpc3Qge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAuZ292dWstc3VtbWFyeS1saXN0X19yb3c6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1faW5kZXguc2Nzcy5tYXAgKi9cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvdGFibGVcIikge1xuICAuZ292dWstdGFibGUge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcblxuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIH1cblxuICBAaWYgJGdvdnVrLW5ldy10eXBvZ3JhcGh5LXNjYWxlIHtcbiAgICAvLyBNb2RpZmllciBmb3IgdGFibGVzIHdpdGggYSBsb3Qgb2YgZGF0YS4gVGFibGVzIHdpdGggbG90cyBvZiBkYXRhIGJlbmVmaXRcbiAgICAvLyBmcm9tIGEgc21hbGxlciBmb250IHNpemUgb24gc21hbGwgc2NyZWVucy5cbiAgICAuZ292dWstdGFibGUtLXNtYWxsLXRleHQtdW50aWwtdGFibGV0IHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCR1bnRpbDogdGFibGV0KSB7XG4gICAgICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQtc2l6ZSgkc2l6ZTogMTYpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay10YWJsZV9faGVhZGVyIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1ib2xkO1xuICB9XG5cbiAgLmdvdnVrLXRhYmxlX19oZWFkZXIsXG4gIC5nb3Z1ay10YWJsZV9fY2VsbCB7XG4gICAgcGFkZGluZzogZ292dWstc3BhY2luZygyKSBnb3Z1ay1zcGFjaW5nKDQpIGdvdnVrLXNwYWNpbmcoMikgMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG5cbiAgLmdvdnVrLXRhYmxlX19jZWxsLS1udW1lcmljIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250LXRhYnVsYXItbnVtYmVycztcbiAgfVxuXG4gIC5nb3Z1ay10YWJsZV9faGVhZGVyLS1udW1lcmljLFxuICAuZ292dWstdGFibGVfX2NlbGwtLW51bWVyaWMge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG5cbiAgLmdvdnVrLXRhYmxlX19oZWFkZXI6bGFzdC1jaGlsZCxcbiAgLmdvdnVrLXRhYmxlX19jZWxsOmxhc3QtY2hpbGQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cblxuICAuZ292dWstdGFibGVfX2NhcHRpb24ge1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LWJvbGQ7XG5cbiAgICBkaXNwbGF5OiB0YWJsZS1jYXB0aW9uO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cblxuICAvLyBNb2RpZmllcnMgdGhhdCBtYWtlIGNhcHRpb25zIGxvb2sgbW9yZSBsaWtlIHRoZWlyIGVxdWl2YWxlbnQgaGVhZGluZ3NcbiAgLmdvdnVrLXRhYmxlX19jYXB0aW9uLS14bCxcbiAgLmdvdnVrLXRhYmxlX19jYXB0aW9uLS1sLFxuICAuZ292dWstdGFibGVfX2NhcHRpb24tLW0ge1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gIH1cblxuICAuZ292dWstdGFibGVfX2NhcHRpb24tLXhsIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250LXNpemUoJHNpemU6IDQ4KTtcbiAgfVxuXG4gIC5nb3Z1ay10YWJsZV9fY2FwdGlvbi0tbCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udC1zaXplKCRzaXplOiAzNik7XG4gIH1cblxuICAuZ292dWstdGFibGVfX2NhcHRpb24tLW0ge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQtc2l6ZSgkc2l6ZTogMjQpO1xuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9pbmRleC5zY3NzLm1hcCAqL1xuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC90YWJzXCIpIHtcbiAgLmdvdnVrLXRhYnMge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDEsIFwidG9wXCIpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgfVxuXG4gIC5nb3Z1ay10YWJzX190aXRsZSB7XG4gICAgLy8gU2V0IHRoZSBzaXplIGFuZCB3ZWlnaHQgYWdhaW4gYmVjYXVzZSB0aGlzIGVsZW1lbnQgaXMgYSBoZWFkaW5nIGFuZCB0aGVcbiAgICAvLyB1c2VyIGFnZW50IGZvbnQgc2l6ZSBvdmVycmlkZXMgdGhlIGluaGVyaXRlZCBmb250IHNpemVcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250LXNpemUoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1yZWd1bGFyO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gIH1cblxuICAuZ292dWstdGFic19fbGlzdCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay10YWJzX19saXN0LWl0ZW0ge1xuICAgIG1hcmdpbi1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDUpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgICAgY29udGVudDogXCJcXDIwMTQgXCI7IC8vIFwi4oCUIFwiXG4gICAgICBtYXJnaW4tbGVmdDogZ292dWstc3BhY2luZygtNSk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay10YWJzX190YWIge1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtZGVmYXVsdDtcblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICB9XG5cbiAgLmdvdnVrLXRhYnNfX3BhbmVsIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig4LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC8vIEdPVi5VSyBGcm9udGVuZCBKYXZhU2NyaXB0IGVuYWJsZWRcbiAgLmdvdnVrLWZyb250ZW5kLXN1cHBvcnRlZCB7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgLmdvdnVrLXRhYnNfX2xpc3Qge1xuICAgICAgICBAaW5jbHVkZSBnb3Z1ay1jbGVhcmZpeDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICAgICAgfVxuXG4gICAgICAuZ292dWstdGFic19fdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAuZ292dWstdGFic19fbGlzdC1pdGVtIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIG1hcmdpbi1yaWdodDogZ292dWstc3BhY2luZygxKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMikgZ292dWstc3BhY2luZyg0KTtcblxuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ292dWstY29sb3VyKFwibGlnaHQtZ3JleVwiKTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZ292dWstdGFic19fbGlzdC1pdGVtLS1zZWxlY3RlZCB7XG4gICAgICAgICRib3JkZXItd2lkdGg6IDFweDtcblxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgbWFyZ2luLXRvcDogZ292dWstc3BhY2luZygtMSk7XG5cbiAgICAgICAgLy8gQ29tcGVuc2F0aW9uIGZvciBib3JkZXIgKG90aGVyd2lzZSB3ZSBnZXQgYSBzaGlmdClcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLSRib3JkZXItd2lkdGg7XG4gICAgICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDMpIC0gJGJvcmRlci13aWR0aDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogZ292dWstc3BhY2luZyg0KSAtICRib3JkZXItd2lkdGg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpICsgJGJvcmRlci13aWR0aDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDQpIC0gJGJvcmRlci13aWR0aDtcblxuICAgICAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG5cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLWJvZHktYmFja2dyb3VuZC1jb2xvdXI7XG5cbiAgICAgICAgLmdvdnVrLXRhYnNfX3RhYiB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5nb3Z1ay10YWJzX190YWIge1xuICAgICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLXRleHQ7XG5cbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5nb3Z1ay10YWJzX19wYW5lbCB7XG4gICAgICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDAsIFwiYm90dG9tXCIpO1xuICAgICAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDYpIGdvdnVrLXNwYWNpbmcoNCk7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuXG4gICAgICAgICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZ292dWstdGFic19fcGFuZWwtLWhpZGRlbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9pbmRleC5zY3NzLm1hcCAqL1xuIiwiQGltcG9ydCBcIi4uL3RhZy9pbmRleFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3Rhc2stbGlzdFwiKSB7XG4gICRnb3Z1ay10YXNrLWxpc3QtaG92ZXItY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJsaWdodC1ncmV5XCIpO1xuXG4gIC5nb3Z1ay10YXNrLWxpc3Qge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICB9XG5cbiAgLy8gVGhpcyB1c2VzIHRhYmxlIGxheW91dCBzbyB0aGF0IHRoZSB0YXNrIG5hbWUgYW5kIHN0YXR1cyBhbHdheXMgYXBwZWFyXG4gIC8vIHNpZGUtYnktc2lkZSwgd2l0aCB0aGUgd2lkdGggb2YgZWFjaCAnY29sdW1uJyBiZWluZyBmbGV4aWJsZSBkZXBlbmRpbmcgdXBvblxuICAvLyB0aGUgbGVuZ3RoIG9mIHRoZSB0YXNrIG5hbWVzIGFuZCBzdGF0dXNlcy5cbiAgLy9cbiAgLy8gVGhlIHBvc2l0aW9uIGlzIHNldCB0byAncmVsYXRpdmUnIHNvIHRoYW4gYW4gYWJzb2x1dGVseS1wb3NpdGlvbmVkXG4gIC8vIHRyYW5zcGFyZW50IGVsZW1lbnQgYm94IGNhbiBiZSBhZGRlZCB3aXRoaW4gdGhlIGxpbmsgc28gdGhhdCB0aGUgd2hvbGUgcm93XG4gIC8vIGNhbiBiZSBjbGlja2FibGUuXG4gIC5nb3Z1ay10YXNrLWxpc3RfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIHBhZGRpbmctYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcbiAgfVxuXG4gIC5nb3Z1ay10YXNrLWxpc3RfX2l0ZW06Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcbiAgfVxuXG4gIC8vIFRoaXMgY2xhc3MgaXMgYWRkZWQgdG8gdGhlIDxsaT4gZWxlbWVudHMgd2hlcmUgdGhlIHRhc2sgbmFtZSBpcyBhIGxpbmsuIFRoZVxuICAvLyBiYWNrZ3JvdW5kIGhvdmVyIGNvbG91ciBpcyBhZGRlZCB0byBoZWxwIGluZGljYXRlIHRoYXQgdGhlIHdob2xlIHJvdyBpc1xuICAvLyBjbGlja2FibGUsIHJhdGhlciB0aGFuIGp1c3QgdGhlIHZpc2libGUgbGluayB0ZXh0LlxuICAuZ292dWstdGFzay1saXN0X19pdGVtLS13aXRoLWxpbms6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICRnb3Z1ay10YXNrLWxpc3QtaG92ZXItY29sb3VyO1xuICB9XG5cbiAgLmdvdnVrLXRhc2stbGlzdF9fbmFtZS1hbmQtaGludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICB9XG5cbiAgLmdvdnVrLXRhc2stbGlzdF9fc3RhdHVzIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZygyKTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICB9XG5cbiAgLmdvdnVrLXRhc2stbGlzdF9fc3RhdHVzLS1jYW5ub3Qtc3RhcnQteWV0IHtcbiAgICBjb2xvcjogJGdvdnVrLXNlY29uZGFyeS10ZXh0LWNvbG91cjtcbiAgfVxuXG4gIC8vIFRoaXMgYWRkcyBhbiBlbXB0eSB0cmFuc3BhcmVudCBib3ggY292ZXJpbmcgdGhlIHdob2xlIHJvdywgaW5jbHVkaW5nIHRoZVxuICAvLyB0YXNrIHN0YXR1cyBhbmQgYW55IGhpbnQgdGV4dC4gQmVjYXVzZSB0aGlzIGlzIGdlbmVyYXRlZCB3aXRoaW4gdGhlIGxpbmtcbiAgLy8gZWxlbWVudCwgdGhpcyBhbGxvd3MgdGhlIHdob2xlIGFyZWEgdG8gYmUgY2xpY2thYmxlLlxuICAuZ292dWstdGFzay1saXN0X19saW5rOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICB9XG5cbiAgLmdvdnVrLXRhc2stbGlzdF9faGludCB7XG4gICAgbWFyZ2luLXRvcDogZ292dWstc3BhY2luZygxKTtcbiAgICBjb2xvcjogJGdvdnVrLXNlY29uZGFyeS10ZXh0LWNvbG91cjtcbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1faW5kZXguc2Nzcy5tYXAgKi9cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvd2FybmluZy10ZXh0XCIpIHtcbiAgLmdvdnVrLXdhcm5pbmctdGV4dCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LWJvbGQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMikgMDtcbiAgfVxuXG4gIC5nb3Z1ay13YXJuaW5nLXRleHRfX2ljb24ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcblxuICAgIG1pbi13aWR0aDogMzVweDtcbiAgICBtaW4taGVpZ2h0OiAzNXB4O1xuICAgIG1hcmdpbi10b3A6IC03cHg7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgIH1cblxuICAgIC8vIFdoZW4gYSB1c2VyIGN1c3RvbWlzZXMgdGhlaXIgY29sb3VycyB0aGUgYmFja2dyb3VuZCBjb2xvdXIgd2lsbCBvZnRlbiBiZVxuICAgIC8vIHJlbW92ZWQuIEFkZGluZyBhIGJvcmRlciB0byB0aGUgY29tcG9uZW50IGtlZXBzIGl0J3Mgc2hhcGUgYXMgYSBjaXJjbGUuXG4gICAgYm9yZGVyOiAzcHggc29saWQgJGdvdnVrLXRleHQtY29sb3VyO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgIGNvbG9yOiAkZ292dWstYm9keS1iYWNrZ3JvdW5kLWNvbG91cjtcbiAgICBiYWNrZ3JvdW5kOiAkZ292dWstdGV4dC1jb2xvdXI7XG5cbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDI5cHg7XG5cbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAvLyBQcmV2ZW50IHRoZSBleGNsYW1hdGlvbiBtYXJrIGZyb20gYmVpbmcgaW5jbHVkZWQgd2hlbiB0aGUgd2FybmluZyB0ZXh0XG4gICAgLy8gaXMgY29waWVkLCBmb3IgZXhhbXBsZS5cbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgIC8vIEltcHJvdmUgcmVuZGVyaW5nIGluIFdpbmRvd3MgSGlnaCBDb250cmFzdCBNb2RlIChFZGdlKSwgd2hlcmUgYVxuICAgIC8vIHJlYWRhYmlsaXR5IGJhY2twbGF0ZSBiZWhpbmQgdGhlIGV4Y2xhbWF0aW9uIG1hcmsgb2JzY3VyZXMgdGhlIGNpcmNsZVxuICAgIGZvcmNlZC1jb2xvci1hZGp1c3Q6IG5vbmU7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gICAgICBib3JkZXItY29sb3I6IHdpbmRvd1RleHQ7XG4gICAgICBjb2xvcjogd2luZG93VGV4dDtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay13YXJuaW5nLXRleHRfX3RleHQge1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctbGVmdDogNDVweDtcbiAgICAvLyBXaGlsZSBgPHN0cm9uZz5gIGlzIHN0eWxlZCBgYm9sZGAgb3IgYGJvbGRlcmAgYnkgdXNlci1hZ2VudHNcbiAgICAvLyB0aGlzIGNhbiBiZSByZXNldCBieSB0aGUgYXBwJ3Mgc3R5bGVzaGVldFxuICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9pbmRleC5zY3NzLm1hcCAqL1xuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL3V0aWxpdGllcy92aXN1YWxseS1oaWRkZW5cIikge1xuICAuZ292dWstdmlzdWFsbHktaGlkZGVuIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay12aXN1YWxseS1oaWRkZW47XG4gIH1cblxuICAuZ292dWstdmlzdWFsbHktaGlkZGVuLWZvY3VzYWJsZSB7XG4gICAgQGluY2x1ZGUgZ292dWstdmlzdWFsbHktaGlkZGVuLWZvY3VzYWJsZTtcbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1fdmlzdWFsbHktaGlkZGVuLnNjc3MubWFwICovXG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vdmVycmlkZXMvZGlzcGxheVwiKSB7XG4gIC5nb3Z1ay1cXCEtZGlzcGxheS1pbmxpbmUge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmdvdnVrLVxcIS1kaXNwbGF5LWlubGluZS1ibG9jayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZ292dWstXFwhLWRpc3BsYXktYmxvY2sge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZ292dWstXFwhLWRpc3BsYXktbm9uZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJG1lZGlhLXR5cGU6IHByaW50KSB7XG4gICAgLmdvdnVrLVxcIS1kaXNwbGF5LW5vbmUtcHJpbnQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1fZGlzcGxheS5zY3NzLm1hcCAqL1xuIiwiLy8vL1xuLy8vIEBncm91cCBvdmVycmlkZXNcbi8vLy9cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vLyBEaXJlY3Rpb25zIGZvciBzcGFjaW5nXG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuJF9zcGFjaW5nLWRpcmVjdGlvbnM6IChcInRvcFwiLCBcInJpZ2h0XCIsIFwiYm90dG9tXCIsIFwibGVmdFwiKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlIHJlc3BvbnNpdmUgc3BhY2luZyBvdmVycmlkZSBjbGFzc2VzXG4vLy9cbi8vLyBHZW5lcmF0ZSBzcGFjaW5nIG92ZXJyaWRlIGNsYXNzZXMgZm9yIHRoZSBnaXZlbiBwcm9wZXJ0eSAoZS5nLiBtYXJnaW4pXG4vLy8gZm9yIGVhY2ggcG9pbnQgaW4gdGhlIHJlc3BvbnNpdmUgc3BhY2luZyBzY2FsZS5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcHJvcGVydHkgLSBQcm9wZXJ0eSB0byBhZGQgc3BhY2luZyB0byAoZS5nLiAnbWFyZ2luJylcbi8vL1xuLy8vIEBleGFtcGxlIGNzc1xuLy8vICAuZ292dWstXFwhLW1hcmdpbi00IHtcbi8vLyAgICBtYXJnaW46IDE1cHggIWltcG9ydGFudDtcbi8vLyAgfVxuLy8vXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbi8vLyAgICAuZ292dWstXFwhLW1hcmdpbi00IHtcbi8vLyAgICAgIG1hcmdpbjogMjBweCAhaW1wb3J0YW50O1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbkBtaXhpbiBfZ292dWstZ2VuZXJhdGUtcmVzcG9uc2l2ZS1zcGFjaW5nLW92ZXJyaWRlcygkcHJvcGVydHkpIHtcbiAgLy8gRm9yIGVhY2ggcG9pbnQgaW4gdGhlIHNwYWNpbmcgc2NhbGUgKGRlZmluZWQgaW4gc2V0dGluZ3MpLCBjcmVhdGUgYW5cbiAgLy8gb3ZlcnJpZGUgdGhhdCBhZmZlY3RzIGFsbCBkaXJlY3Rpb25zLi4uXG4gIEBlYWNoICRzY2FsZS1wb2ludCwgJHNjYWxlLW1hcCBpbiAkZ292dWstc3BhY2luZy1yZXNwb25zaXZlLXNjYWxlIHtcbiAgICAuZ292dWstXFwhLSN7JHByb3BlcnR5fS0jeyRzY2FsZS1wb2ludH0ge1xuICAgICAgQGluY2x1ZGUgX2dvdnVrLXJlc3BvbnNpdmUtc3BhY2luZygkc2NhbGUtcG9pbnQsICRwcm9wZXJ0eSwgXCJhbGxcIiwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gLi4uIGFuZCB0aGVuIGFuIG92ZXJyaWRlIGZvciBlYWNoIGluZGl2aWR1YWwgZGlyZWN0aW9uXG4gICAgQGVhY2ggJGRpcmVjdGlvbiBpbiAkX3NwYWNpbmctZGlyZWN0aW9ucyB7XG4gICAgICAuZ292dWstXFwhLSN7JHByb3BlcnR5fS0jeyRkaXJlY3Rpb259LSN7JHNjYWxlLXBvaW50fSB7XG4gICAgICAgIEBpbmNsdWRlIF9nb3Z1ay1yZXNwb25zaXZlLXNwYWNpbmcoJHNjYWxlLXBvaW50LCAkcHJvcGVydHksICRkaXJlY3Rpb24sIHRydWUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgc3RhdGljIHNwYWNpbmcgb3ZlcnJpZGUgY2xhc3Nlc1xuLy8vXG4vLy8gR2VuZXJhdGUgc3BhY2luZyBvdmVycmlkZSBjbGFzc2VzIGZvciB0aGUgZ2l2ZW4gcHJvcGVydHkgKGUuZy4gbWFyZ2luKVxuLy8vIGZvciBlYWNoIHBvaW50IGluIHRoZSBub24tcmVzcG9uc2l2ZSBzcGFjaW5nIHNjYWxlLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRwcm9wZXJ0eSAtIFByb3BlcnR5IHRvIGFkZCBzcGFjaW5nIHRvIChlLmcuICdtYXJnaW4nKVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzXG4vLy8gICAuZ292dWstXFwhLXN0YXRpYy1tYXJnaW4tNCB7XG4vLy8gICAgICBtYXJnaW46IDIwcHggIWltcG9ydGFudDtcbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIF9nb3Z1ay1nZW5lcmF0ZS1zdGF0aWMtc3BhY2luZy1vdmVycmlkZXMoJHByb3BlcnR5KSB7XG4gIEBlYWNoICRzcGFjaW5nLXBvaW50IGluIG1hcC1rZXlzKCRnb3Z1ay1zcGFjaW5nLXBvaW50cykge1xuICAgIC5nb3Z1ay1cXCEtc3RhdGljLSN7JHByb3BlcnR5fS0jeyRzcGFjaW5nLXBvaW50fSB7XG4gICAgICAjeyRwcm9wZXJ0eX06IGdvdnVrLXNwYWNpbmcoJHNwYWNpbmctcG9pbnQpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGVhY2ggJGRpcmVjdGlvbiBpbiAkX3NwYWNpbmctZGlyZWN0aW9ucyB7XG4gICAgICAuZ292dWstXFwhLXN0YXRpYy0jeyRwcm9wZXJ0eX0tI3skZGlyZWN0aW9ufS0jeyRzcGFjaW5nLXBvaW50fSB7XG4gICAgICAgICN7JHByb3BlcnR5fS0jeyRkaXJlY3Rpb259OiBnb3Z1ay1zcGFjaW5nKCRzcGFjaW5nLXBvaW50KSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvb3ZlcnJpZGVzL3NwYWNpbmdcIikge1xuICBAaW5jbHVkZSBfZ292dWstZ2VuZXJhdGUtcmVzcG9uc2l2ZS1zcGFjaW5nLW92ZXJyaWRlcyhcIm1hcmdpblwiKTtcbiAgQGluY2x1ZGUgX2dvdnVrLWdlbmVyYXRlLXJlc3BvbnNpdmUtc3BhY2luZy1vdmVycmlkZXMoXCJwYWRkaW5nXCIpO1xuXG4gIEBpbmNsdWRlIF9nb3Z1ay1nZW5lcmF0ZS1zdGF0aWMtc3BhY2luZy1vdmVycmlkZXMoXCJtYXJnaW5cIik7XG4gIEBpbmNsdWRlIF9nb3Z1ay1nZW5lcmF0ZS1zdGF0aWMtc3BhY2luZy1vdmVycmlkZXMoXCJwYWRkaW5nXCIpO1xufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1fc3BhY2luZy5zY3NzLm1hcCAqL1xuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvb3ZlcnJpZGVzL3RleHQtYWxpZ25cIikge1xuICAuZ292dWstXFwhLXRleHQtYWxpZ24tbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmdvdnVrLVxcIS10ZXh0LWFsaWduLWNlbnRyZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZ292dWstXFwhLXRleHQtYWxpZ24tcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X3RleHQtYWxpZ24uc2Nzcy5tYXAgKi9cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vdmVycmlkZXMvdHlwb2dyYXBoeVwiKSB7XG4gIC8vIEZvbnQgc2l6ZSBhbmQgbGluZSBoZWlnaHRcblxuICAvLyBHZW5lcmF0ZSB0eXBvZ3JhcGh5IG92ZXJyaWRlIGNsYXNzZXMgZm9yIGVhY2ggcmVzcG9uc2l2ZSBmb250IG1hcCBpbiB0aGVcbiAgLy8gdHlwb2dyYXBoeSBzY2FsZSBlZyAuZ292dWstXFwhLWZvbnQtc2l6ZS04MFxuICAvL1xuICAvLyBnb3Z1ay0hLWZvbnQtc2l6ZS0xNCBpcyBkZXByZWNhdGVkXG4gIEBlYWNoICRzaXplLCAkZm9udC1tYXAgaW4gJGdvdnVrLXR5cG9ncmFwaHktc2NhbGUge1xuICAgIC5nb3Z1ay1cXCEtZm9udC1zaXplLSN7JHNpemV9IHtcbiAgICAgICRmb250LW1hcDogbWFwLWdldCgkZ292dWstdHlwb2dyYXBoeS1zY2FsZSwgJHNpemUpO1xuXG4gICAgICAvLyBBZGQgdW5kZXJzY29yZSB0byBkZXByZWNhdGVkIHR5cG9ncmFwaHkgc2NhbGUga2V5c1xuICAgICAgQGlmIG1hcC1oYXMta2V5KCRmb250LW1hcCwgXCJkZXByZWNhdGlvblwiKSB7XG4gICAgICAgICRzaXplOiBfI3skc2l6ZX07XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQtc2l6ZSgkc2l6ZSwgJGltcG9ydGFudDogdHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gV2VpZ2h0c1xuXG4gIC5nb3Z1ay1cXCEtZm9udC13ZWlnaHQtcmVndWxhciB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtcmVndWxhcigkaW1wb3J0YW50OiB0cnVlKTtcbiAgfVxuXG4gIC5nb3Z1ay1cXCEtZm9udC13ZWlnaHQtYm9sZCB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZCgkaW1wb3J0YW50OiB0cnVlKTtcbiAgfVxuXG4gIC8vIFR5cG9ncmFwaHkgaGVscGVyc1xuXG4gIC5nb3Z1ay1cXCEtZm9udC10YWJ1bGFyLW51bWJlcnMge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQtdGFidWxhci1udW1iZXJzKCRpbXBvcnRhbnQ6IHRydWUpO1xuICB9XG5cbiAgLmdvdnVrLVxcIS10ZXh0LWJyZWFrLXdvcmQge1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtYnJlYWstd29yZCgkaW1wb3J0YW50OiB0cnVlKTtcbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1fdHlwb2dyYXBoeS5zY3NzLm1hcCAqL1xuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvb3ZlcnJpZGVzL3dpZHRoXCIpIHtcbiAgLmdvdnVrLVxcIS13aWR0aC1mdWxsIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmdvdnVrLVxcIS13aWR0aC10aHJlZS1xdWFydGVycyB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHdpZHRoOiA3NSUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstXFwhLXdpZHRoLXR3by10aGlyZHMge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICB3aWR0aDogNjYuNjYlICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLVxcIS13aWR0aC1vbmUtaGFsZiB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstXFwhLXdpZHRoLW9uZS10aGlyZCB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHdpZHRoOiAzMy4zMyUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstXFwhLXdpZHRoLW9uZS1xdWFydGVyIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgd2lkdGg6IDI1JSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1fd2lkdGguc2Nzcy5tYXAgKi9cbiIsIi8vIEJhc2VkIG9uIGh0dHBzOi8vZ2l0aHViLmNvbS9hbHBoYWdvdi9nb3Z1a19wdWJsaXNoaW5nX2NvbXBvbmVudHMvYmxvYi92MjIuMC4wL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZ292dWtfcHVibGlzaGluZ19jb21wb25lbnRzL2NvbXBvbmVudHMvX3N0ZXAtYnktc3RlcC1uYXYtaGVhZGVyLnNjc3Ncbi8vIE5vdGUgLSB0aGlzIGNvZGUgZm9yIHByb3RvdHlwZSBwdXJwb3NlcyBvbmx5LiBJdCBpcyBub3QgcHJvZHVjdGlvbiBjb2RlLlxuXG4uYXBwLXN0ZXAtbmF2LWhlYWRlciB7XG4gIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJhY2tncm91bmQ6IGdvdnVrLWNvbG91cihcImxpZ2h0LWdyZXlcIiwgJGxlZ2FjeTogXCJncmV5LTRcIik7XG4gIGJvcmRlci10b3A6IHNvbGlkIDFweCBnb3Z1ay1jb2xvdXIoXCJtaWQtZ3JleVwiLCAkbGVnYWN5OiBcImdyZXktMlwiKTtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4IGdvdnVrLWNvbG91cihcIm1pZC1ncmV5XCIsICRsZWdhY3k6IFwiZ3JleS0yXCIpO1xuXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICB9XG59XG5cbi8vIHNjc3MtbGludDpkaXNhYmxlIFNlbGVjdG9yRm9ybWF0XG5cbi5hcHAtc3RlcC1uYXYtaGVhZGVyX19wYXJ0LW9mIHtcbiAgQGluY2x1ZGUgZ292dWstZm9udCgxNiwgJHdlaWdodDogYm9sZCk7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctYm90dG9tOiAuMmVtO1xufVxuXG4uYXBwLXN0ZXAtbmF2LWhlYWRlcl9fdGl0bGUge1xuICBAZXh0ZW5kICVnb3Z1ay1saW5rO1xuICBAaW5jbHVkZSBnb3Z1ay1mb250KDI0LCAkd2VpZ2h0OiBib2xkKTtcbn1cblxuLy8gc2Nzcy1saW50OmVuYWJsZSBTZWxlY3RvckZvcm1hdFxuIiwiLy8gQmFzZWQgb24gaHR0cHM6Ly9naXRodWIuY29tL2FscGhhZ292L2dvdnVrX3B1Ymxpc2hpbmdfY29tcG9uZW50cy9ibG9iL3YyMi4wLjAvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9nb3Z1a19wdWJsaXNoaW5nX2NvbXBvbmVudHMvY29tcG9uZW50cy9fc3RlcC1ieS1zdGVwLW5hdi5zY3NzXG4vLyBOb3RlIC0gdGhpcyBjb2RlIGZvciBwcm90b3R5cGUgcHVycG9zZXMgb25seS4gSXQgaXMgbm90IHByb2R1Y3Rpb24gY29kZS5cbkB1c2UgJ3Nhc3M6bWF0aCc7XG5cbiRzdHJva2Utd2lkdGg6IDJweDtcbiRzdHJva2Utd2lkdGgtbGFyZ2U6IDNweDtcbiRudW1iZXItY2lyY2xlLXNpemU6IDI2cHg7XG4kbnVtYmVyLWNpcmNsZS1zaXplLWxhcmdlOiAzNXB4O1xuJHRvcC1ib3JkZXI6IHNvbGlkIDJweCBnb3Z1ay1jb2xvdXIoXCJtaWQtZ3JleVwiLCAkbGVnYWN5OiBcImdyZXktM1wiKTtcblxuQG1peGluIHN0ZXAtbmF2LXZlcnRpY2FsLWxpbmUgKCRsaW5lLXN0eWxlOiBzb2xpZCkge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDI7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlci1sZWZ0OiAkbGluZS1zdHlsZSAkc3Ryb2tlLXdpZHRoIGdvdnVrLWNvbG91cihcIm1pZC1ncmV5XCIsICRsZWdhY3k6IFwiZ3JleS0yXCIpO1xuICBiYWNrZ3JvdW5kOiBnb3Z1ay1jb2xvdXIoXCJ3aGl0ZVwiKTtcbn1cblxuQG1peGluIHN0ZXAtbmF2LWxpbmUtcG9zaXRpb24ge1xuICBsZWZ0OiAwO1xuICBtYXJnaW4tbGVmdDogbWF0aC5kaXYoJG51bWJlci1jaXJjbGUtc2l6ZSwgMikgLSBtYXRoLmRpdigkc3Ryb2tlLXdpZHRoLCAyKTtcbn1cblxuQG1peGluIHN0ZXAtbmF2LWxpbmUtcG9zaXRpb24tbGFyZ2Uge1xuICBsZWZ0OiAwO1xuICBtYXJnaW4tbGVmdDogbWF0aC5kaXYoJG51bWJlci1jaXJjbGUtc2l6ZS1sYXJnZSwgMikgLSBtYXRoLmRpdigkc3Ryb2tlLXdpZHRoLWxhcmdlLCAyKTtcbiAgYm9yZGVyLXdpZHRoOiAkc3Ryb2tlLXdpZHRoLWxhcmdlO1xufVxuXG4vLyBjdXN0b20gbWl4aW4gYXMgZ292dWstZm9udCBkb2VzIHVuZGVzaXJhYmxlIHRoaW5ncyBhdCBkaWZmZXJlbnQgYnJlYWtwb2ludHNcbi8vIHdlIHdhbnQgdG8gZW5zdXJlIHRoYXQgYm90aCBsYXJnZSBhbmQgc21hbGwgc3RlcCBuYXZzIGhhdmUgdGhlIHNhbWUgc2l6ZSBmb250IG9uIG1vYmlsZVxuLy8gdGhpcyB3aWxsIHN0b3AgdGV4dCByZXNpemluZyBpZiBjb21wYXRpYmlsaXR5IG1vZGUgaXMgdHVybmVkIG9mZlxuQG1peGluIHN0ZXAtbmF2LWZvbnQoJHNpemUsICR0YWJsZXQtc2l6ZTogJHNpemUsICR3ZWlnaHQ6IG5vcm1hbCwgJGxpbmUtaGVpZ2h0OiAxLjMsICR0YWJsZXQtbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodCkge1xuICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LWNvbW1vbigpO1xuICBmb250LXNpemU6ICRzaXplICsgcHg7XG4gIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICBmb250LXNpemU6ICR0YWJsZXQtc2l6ZSArIHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAkdGFibGV0LWxpbmUtaGVpZ2h0O1xuICB9XG59XG5cbi5hcHAtc3RlcC1uYXYge1xuICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDYpO1xuXG4gICYuYXBwLXN0ZXAtbmF2LS1sYXJnZSB7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZyg5KTtcbiAgICB9XG4gIH1cblxuICAuanMtZW5hYmxlZCAmLmpzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X19jb250cm9scyB7XG4gIHBhZGRpbmc6IDNweCAzcHggMCAwO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmFwcC1zdGVwLW5hdl9fYnV0dG9uIHtcbiAgY29sb3I6ICRnb3Z1ay1saW5rLWNvbG91cjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbjogMDtcblxuICAmOmZvY3VzIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2VkLXRleHQ7XG4gIH1cbn1cblxuLy8gcmVtb3ZlcyBleHRyYSBkb3R0ZWQgb3V0bGluZSBmcm9tIGJ1dHRvbnMgaW4gRmlyZWZveFxuLy8gb24gZm9jdXMgKHN0YW5kYXJkIHllbGxvdyBvdXRsaW5lIHVuYWZmZWN0ZWQpXG4uYXBwLXN0ZXAtbmF2X19idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG59XG5cbi5hcHAtc3RlcC1uYXZfX2J1dHRvbi0tdGl0bGUge1xuICBAaW5jbHVkZSBzdGVwLW5hdi1mb250KDE5LCAkd2VpZ2h0OiBib2xkLCAkbGluZS1oZWlnaHQ6IDEuNCk7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY29sb3I6IGdvdnVrLWNvbG91cihcImJsYWNrXCIpO1xuXG4gIC5hcHAtc3RlcC1uYXYtLWxhcmdlICYge1xuICAgIEBpbmNsdWRlIHN0ZXAtbmF2LWZvbnQoMTksICR0YWJsZXQtc2l6ZTogMjQsICR3ZWlnaHQ6IGJvbGQsICRsaW5lLWhlaWdodDogMS40KTtcbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X19idXR0b24tLWNvbnRyb2xzIHtcbiAgQGluY2x1ZGUgc3RlcC1uYXYtZm9udCgxNCwgJGxpbmUtaGVpZ2h0OiAxKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxOyAvLyB0aGlzIGFuZCByZWxhdGl2ZSBwb3NpdGlvbiBzdG9wcyBmb2N1cyBvdXRsaW5lIHVuZGVybGFwIHdpdGggYm9yZGVyIG9mIGFjY29yZGlvblxuICBwYWRkaW5nOiAuNWVtIDA7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gIC5hcHAtc3RlcC1uYXYtLWxhcmdlICYge1xuICAgIEBpbmNsdWRlIHN0ZXAtbmF2LWZvbnQoMTQsICR0YWJsZXQtc2l6ZTogMTYsICRsaW5lLWhlaWdodDogMSk7XG4gIH1cbn1cblxuLmFwcC1zdGVwLW5hdl9fc3RlcHMge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG59XG5cbi5hcHAtc3RlcC1uYXZfX3N0ZXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZyg2KSArIGdvdnVrLXNwYWNpbmcoMyk7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgLy8gbGluZSBkb3duIHRoZSBzaWRlIG9mIGEgc3RlcFxuICAmOmFmdGVyIHtcbiAgICBAaW5jbHVkZSBzdGVwLW5hdi12ZXJ0aWNhbC1saW5lO1xuICAgIEBpbmNsdWRlIHN0ZXAtbmF2LWxpbmUtcG9zaXRpb247XG4gICAgdG9wOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICB9XG5cbiAgLmFwcC1zdGVwLW5hdi0tbGFyZ2UgJiB7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDkpO1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgc3RlcC1uYXYtbGluZS1wb3NpdGlvbi1sYXJnZTtcbiAgICAgICAgdG9wOiBnb3Z1ay1zcGFjaW5nKDYpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X19zdGVwOmxhc3QtY2hpbGQge1xuICAvLyBsaXR0bGUgZGFzaCBhdCB0aGUgYm90dG9tIG9mIHRoZSBsaW5lXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiA2O1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiBtYXRoLmRpdigkbnVtYmVyLWNpcmNsZS1zaXplLCA0KTtcbiAgICB3aWR0aDogbWF0aC5kaXYoJG51bWJlci1jaXJjbGUtc2l6ZSwgMik7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206IHNvbGlkICRzdHJva2Utd2lkdGggZ292dWstY29sb3VyKFwibWlkLWdyZXlcIiwgJGxlZ2FjeTogXCJncmV5LTJcIik7XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBEdXBsaWNhdGVQcm9wZXJ0eVxuICAgIC8vIHNhc3MtbGludDpkaXNhYmxlIG5vLWR1cGxpY2F0ZS1wcm9wZXJ0aWVzXG4gICAgaGVpZ2h0OiAtd2Via2l0LWNhbGMoMTAwJSAtICN7Z292dWstc3BhY2luZygzKX0pOyAvLyBmYWxsYmFjayBmb3IgaXBob25lIDRcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtICN7Z292dWstc3BhY2luZygzKX0pO1xuICAgIC8vIHNhc3MtbGludDplbmFibGUgbm8tZHVwbGljYXRlLXByb3BlcnRpZXNcbiAgICAvLyBzY3NzLWxpbnQ6ZW5hYmxlIER1cGxpY2F0ZVByb3BlcnR5XG4gIH1cblxuICAuYXBwLXN0ZXAtbmF2X19oZWxwOmFmdGVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAmIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBtYXRoLmRpdigkbnVtYmVyLWNpcmNsZS1zaXplLWxhcmdlLCA0KTtcbiAgICAgICAgd2lkdGg6IG1hdGguZGl2KCRudW1iZXItY2lyY2xlLXNpemUtbGFyZ2UsIDIpO1xuICAgICAgICBib3JkZXItd2lkdGg6ICRzdHJva2Utd2lkdGgtbGFyZ2U7XG4gICAgICB9XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtICN7Z292dWstc3BhY2luZyg2KX0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X19zdGVwLS1hY3RpdmUge1xuICAmOmxhc3QtY2hpbGQ6YmVmb3JlLFxuICAuYXBwLXN0ZXAtbmF2X19jaXJjbGUtLW51bWJlcixcbiAgJjphZnRlcixcbiAgLmFwcC1zdGVwLW5hdl9faGVscDphZnRlciB7XG4gICAgYm9yZGVyLWNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X19jaXJjbGUge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDU7XG4gIHRvcDogZ292dWstc3BhY2luZygzKTtcbiAgbGVmdDogMDtcbiAgd2lkdGg6ICRudW1iZXItY2lyY2xlLXNpemU7XG4gIGhlaWdodDogJG51bWJlci1jaXJjbGUtc2l6ZTtcbiAgY29sb3I6IGdvdnVrLWNvbG91cihcImJsYWNrXCIpO1xuICBiYWNrZ3JvdW5kOiBnb3Z1ay1jb2xvdXIoXCJ3aGl0ZVwiKTtcbiAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAmIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICB0b3A6IGdvdnVrLXNwYWNpbmcoNik7XG4gICAgICB3aWR0aDogJG51bWJlci1jaXJjbGUtc2l6ZS1sYXJnZTtcbiAgICAgIGhlaWdodDogJG51bWJlci1jaXJjbGUtc2l6ZS1sYXJnZTtcbiAgICB9XG4gIH1cbn1cblxuLmFwcC1zdGVwLW5hdl9fY2lyY2xlLS1udW1iZXIge1xuICBAaW5jbHVkZSBzdGVwLW5hdi1mb250KDE2LCAkd2VpZ2h0OiBib2xkLCAkbGluZS1oZWlnaHQ6IDIzcHgpO1xuICBib3JkZXI6IHNvbGlkICRzdHJva2Utd2lkdGggZ292dWstY29sb3VyKFwibWlkLWdyZXlcIiwgJGxlZ2FjeTogXCJncmV5LTJcIik7XG5cbiAgLmFwcC1zdGVwLW5hdi0tbGFyZ2UgJiB7XG4gICAgQGluY2x1ZGUgc3RlcC1uYXYtZm9udCgxNiwgJHRhYmxldC1zaXplOiAxOSwgJHdlaWdodDogYm9sZCwgJGxpbmUtaGVpZ2h0OiAyM3B4LCAkdGFibGV0LWxpbmUtaGVpZ2h0OiAzMHB4KTtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIGJvcmRlci13aWR0aDogJHN0cm9rZS13aWR0aC1sYXJnZTtcbiAgICB9XG4gIH1cbn1cblxuLmFwcC1zdGVwLW5hdl9fY2lyY2xlLS1sb2dpYyB7XG4gIEBpbmNsdWRlIHN0ZXAtbmF2LWZvbnQoMTYsICR3ZWlnaHQ6IGJvbGQsICRsaW5lLWhlaWdodDogMjhweCk7XG5cbiAgLmFwcC1zdGVwLW5hdi0tbGFyZ2UgJiB7XG4gICAgQGluY2x1ZGUgc3RlcC1uYXYtZm9udCgxNiwgJHRhYmxldC1zaXplOiAxOSwgJHdlaWdodDogYm9sZCwgJGxpbmUtaGVpZ2h0OiAyOHB4LCAkdGFibGV0LWxpbmUtaGVpZ2h0OiAzNHB4KTtcbiAgfVxufVxuXG4vLyBtYWtlcyBzdXJlIGxvZ2ljIHRleHQgZXhwYW5kcyB0byB0aGUgbGVmdCBpZiB0ZXh0IHNpemUgaXMgem9vbWVkLCBwcmV2ZW50aW5nIG92ZXJsYXBcbi5hcHAtc3RlcC1uYXZfX2NpcmNsZS1pbm5lciB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWluLXdpZHRoOiAxMDAlO1xufVxuXG4uYXBwLXN0ZXAtbmF2X19jaXJjbGUtYmFja2dyb3VuZCB7XG4gICRzaGFkb3ctb2Zmc2V0OiAuMWVtO1xuICAkc2hhZG93LWNvbG91cjogZ292dWstY29sb3VyKFwid2hpdGVcIik7XG5cbiAgLy8gdG8gbWFrZSBudW1iZXJzIHJlYWRhYmxlIGZvciB1c2VycyB6b29taW5nIHRleHQgb25seSBpbiBicm93c2VycyBzdWNoIGFzIEZpcmVmb3hcbiAgdGV4dC1zaGFkb3c6IDAgLSN7JHNoYWRvdy1vZmZzZXR9IDAgJHNoYWRvdy1jb2xvdXIsICRzaGFkb3ctb2Zmc2V0IDAgMCAkc2hhZG93LWNvbG91ciwgMCAkc2hhZG93LW9mZnNldCAwICRzaGFkb3ctY29sb3VyLCAtI3skc2hhZG93LW9mZnNldH0gMCAwICRzaGFkb3ctY29sb3VyO1xufVxuXG4uYXBwLXN0ZXAtbmF2X19jaXJjbGUtc3RlcC1sYWJlbCxcbi5hcHAtc3RlcC1uYXZfX2NpcmNsZS1zdGVwLWNvbG9uIHtcbiAgQGluY2x1ZGUgZ292dWstdmlzdWFsbHktaGlkZGVuO1xufVxuXG4uYXBwLXN0ZXAtbmF2X19oZWFkZXIge1xuICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDMpIDA7XG4gIGJvcmRlci10b3A6ICR0b3AtYm9yZGVyO1xuXG4gIC5hcHAtc3RlcC1uYXYtLWFjdGl2ZSAmIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAuYXBwLXN0ZXAtbmF2X19idXR0b24ge1xuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZ292dWstZm9jdXNlZC10ZXh0O1xuXG4gICAgICAuYXBwLXN0ZXAtbmF2X190b2dnbGUtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGdvdnVrLWZvY3VzZWQtdGV4dDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICAuYXBwLXN0ZXAtbmF2X19idXR0b246bm90KDpmb2N1cyksXG4gICAgLmFwcC1zdGVwLW5hdl9fY2lyY2xlIHtcbiAgICAgIGNvbG9yOiAkZ292dWstbGluay1jb2xvdXI7XG4gICAgfVxuXG4gICAgLmFwcC1zdGVwLW5hdl9fdG9nZ2xlLWxpbmsge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG5cbiAgLmFwcC1zdGVwLW5hdi0tbGFyZ2UgJiB7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgcGFkZGluZzogZ292dWstc3BhY2luZyg2KSAwO1xuICAgIH1cbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X190aXRsZSB7XG4gIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICBAaW5jbHVkZSBzdGVwLW5hdi1mb250KDE5LCAkd2VpZ2h0OiBib2xkLCAkbGluZS1oZWlnaHQ6IDEuNCk7XG4gIG1hcmdpbjogMDtcblxuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAmIHtcbiAgICBAaW5jbHVkZSBzdGVwLW5hdi1mb250KDE5LCAkdGFibGV0LXNpemU6IDI0LCAkd2VpZ2h0OiBib2xkLCAkbGluZS1oZWlnaHQ6IDEuNCk7XG4gIH1cbn1cblxuLmFwcC1zdGVwLW5hdl9fdG9nZ2xlLWxpbmsge1xuICBAaW5jbHVkZSBzdGVwLW5hdi1mb250KDE0LCAkbGluZS1oZWlnaHQ6IDEuMik7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogJGdvdnVrLWxpbmstY29sb3VyO1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcblxuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAmIHtcbiAgICBAaW5jbHVkZSBzdGVwLW5hdi1mb250KDE0LCAkdGFibGV0LXNpemU6IDE2LCAkbGluZS1oZWlnaHQ6IDEuMik7XG4gIH1cbn1cblxuLmFwcC1zdGVwLW5hdl9fcGFuZWwge1xuICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgQGluY2x1ZGUgc3RlcC1uYXYtZm9udCgxNik7XG5cbiAgLmFwcC1zdGVwLW5hdi0tbGFyZ2UgJiB7XG4gICAgQGluY2x1ZGUgc3RlcC1uYXYtZm9udCgxNiwgJHRhYmxldC1zaXplOiAxOSk7XG4gIH1cblxuICAuanMtZW5hYmxlZCAmLmpzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLyBjb250ZW50cyBvZiB0aGUgc3RlcHMsIHN1Y2ggYXMgcGFyYWdyYXBocyBhbmQgbGlua3NcblxuLmFwcC1zdGVwLW5hdl9fcGFyYWdyYXBoIHtcbiAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuXG4gICsgLmFwcC1zdGVwLW5hdl9fbGlzdCB7XG4gICAgbWFyZ2luLXRvcDogLTVweDtcblxuICAgIC5hcHAtc3RlcC1uYXYtLWxhcmdlICYge1xuICAgICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgICBtYXJnaW4tdG9wOiAtZ292dWstc3BhY2luZygzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAmIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZyg2KTtcbiAgICB9XG4gIH1cbn1cblxuLmFwcC1zdGVwLW5hdl9fbGlzdCB7XG4gIHBhZGRpbmc6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIC5hcHAtc3RlcC1uYXYtLWxhcmdlICYge1xuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIH1cbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X19saXN0LS1jaG9pY2Uge1xuICAkbGlua3MtbWFyZ2luOiAyMHB4O1xuXG4gIG1hcmdpbi1sZWZ0OiAkbGlua3MtbWFyZ2luO1xuICBsaXN0LXN0eWxlOiBkaXNjO1xuXG4gIC5hcHAtc3RlcC1uYXZfX2xpc3QtaXRlbS0tYWN0aXZlOmJlZm9yZSB7XG4gICAgbGVmdDogLShnb3Z1ay1zcGFjaW5nKDYpICsgZ292dWstc3BhY2luZygzKSkgLSAkbGlua3MtbWFyZ2luO1xuICB9XG5cbiAgLmFwcC1zdGVwLW5hdi0tbGFyZ2UgJiB7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgLmFwcC1zdGVwLW5hdl9fbGlzdC1pdGVtLS1hY3RpdmU6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogLShnb3Z1ay1zcGFjaW5nKDkpKSAtICRsaW5rcy1tYXJnaW47XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5hcHAtc3RlcC1uYXZfX2xpc3QtaXRlbSB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5hcHAtc3RlcC1uYXZfX2xpbmsge1xuICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbiAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1kZWZhdWx0O1xufVxuXG4uYXBwLXN0ZXAtbmF2X19saW5rLWFjdGl2ZS1jb250ZXh0IHtcbiAgQGluY2x1ZGUgZ292dWstdmlzdWFsbHktaGlkZGVuO1xufVxuXG4uYXBwLXN0ZXAtbmF2X19saXN0LWl0ZW0tLWFjdGl2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOmJlZm9yZSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiA1O1xuICAgIHRvcDogLjZlbTsgLy8gcG9zaXRpb24gdGhlIGRvdCB0byBhbGlnbiB3aXRoIHRoZSBmaXJzdCByb3cgb2YgdGV4dCBpbiB0aGUgbGlua1xuICAgIGxlZnQ6IC0oZ292dWstc3BhY2luZyg2KSArIGdvdnVrLXNwYWNpbmcoMykpO1xuICAgIG1hcmdpbi10b3A6IC0gbWF0aC5kaXYoJHN0cm9rZS13aWR0aCwgMik7XG4gICAgbWFyZ2luLWxlZnQ6IG1hdGguZGl2KCRudW1iZXItY2lyY2xlLXNpemUsIDIpO1xuICAgIHdpZHRoOiBtYXRoLmRpdigkbnVtYmVyLWNpcmNsZS1zaXplLCAyKTtcbiAgICBoZWlnaHQ6ICRzdHJva2Utd2lkdGg7XG4gICAgYmFja2dyb3VuZDogZ292dWstY29sb3VyKFwiYmxhY2tcIik7XG4gIH1cblxuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAmIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IC0oZ292dWstc3BhY2luZyg5KSk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBtYXRoLmRpdigkbnVtYmVyLWNpcmNsZS1zaXplLWxhcmdlLCAyKTtcbiAgICAgICAgaGVpZ2h0OiAkc3Ryb2tlLXdpZHRoLWxhcmdlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5hcHAtc3RlcC1uYXZfX2xpbmsge1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtdGV4dDtcbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X19jb250ZXh0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogZ292dWstY29sb3VyKFwiZGFyay1ncmV5XCIsICRsZWdhY3k6IFwiZ3JleS0xXCIpO1xuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIiBcXDIwMTNcXDAwYTBcIjsgLy8gZGFzaCBmb2xsb3dlZCBieSAmbmJzcDtcbiAgfVxufVxuIiwiLy8gQmFzZWQgb24gaHR0cHM6Ly9naXRodWIuY29tL2FscGhhZ292L2dvdnVrX3B1Ymxpc2hpbmdfY29tcG9uZW50cy9ibG9iL3YyMi4wLjAvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9nb3Z1a19wdWJsaXNoaW5nX2NvbXBvbmVudHMvY29tcG9uZW50cy9fc3RlcC1ieS1zdGVwLXJlbGF0ZWQuc2Nzc1xuLy8gTm90ZSAtIHRoaXMgY29kZSBmb3IgcHJvdG90eXBlIHB1cnBvc2VzIG9ubHkuIEl0IGlzIG5vdCBwcm9kdWN0aW9uIGNvZGUuXG5AdXNlICdzYXNzOm1hdGgnO1xuXG4uYXBwLXN0ZXAtbmF2LXJlbGF0ZWQge1xuICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIGdvdnVrLWNvbG91cihcImJsdWVcIik7XG4gIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoNik7XG59XG5cbi5hcHAtc3RlcC1uYXYtcmVsYXRlZF9faGVhZGluZyB7XG4gIG1hcmdpbi10b3A6IGdvdnVrLXNwYWNpbmcoMyk7XG4gIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gIEBpbmNsdWRlIGdvdnVrLWZvbnQoMTksICR3ZWlnaHQ6IGJvbGQpO1xufVxuXG4uYXBwLXN0ZXAtbmF2LXJlbGF0ZWRfX2xpbmtzIHtcbiAgQGluY2x1ZGUgZ292dWstZm9udCgxNiwgJHdlaWdodDogYm9sZCk7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLmFwcC1zdGVwLW5hdi1yZWxhdGVkLS1zaW5ndWxhciB7XG4gIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMikgKyAzO1xuXG4gIC5hcHAtc3RlcC1uYXYtcmVsYXRlZF9faGVhZGluZyB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgxOSwgJHdlaWdodDogYm9sZCwgJGxpbmUtaGVpZ2h0OiAxLjQpO1xuICAgIG1hcmdpbi10b3A6IGdvdnVrLXNwYWNpbmcoNCk7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkdW50aWw6IHRhYmxldCkge1xuICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgIH1cbiAgfVxuXG4gIC5hcHAtc3RlcC1uYXYtcmVsYXRlZF9fcHJldGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IG1hdGguZGl2KGdvdnVrLXNwYWNpbmcoNiksIDQpO1xuICB9XG59XG5cbi5hcHAtc3RlcC1uYXYtcmVsYXRlZF9fcHJldGl0bGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcblxuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2LXJlbGF0ZWRfX2xpbmtzIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLmFwcC1zdGVwLW5hdi1yZWxhdGVkX19saW5rLWl0ZW0ge1xuICBtYXJnaW4tdG9wOiBnb3Z1ay1zcGFjaW5nKDMpO1xuXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICBtYXJnaW4tdG9wOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICB9XG59XG5cbi5hcHAtc3RlcC1uYXYtcmVsYXRlZF9fbGluayB7XG4gIEBleHRlbmQgJWdvdnVrLWxpbms7XG59XG4iLCIvLyBUYXNrIGxpc3QgcGF0dGVyblxuXG4uYXBwLXRhc2stbGlzdCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgbWluLXdpZHRoOiA1NTBweDtcbiAgfVxufVxuXG4uYXBwLXRhc2stbGlzdF9fc2VjdGlvbiB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOjI0LCAkd2VpZ2h0OiBib2xkKTtcbn1cblxuLmFwcC10YXNrLWxpc3RfX3NlY3Rpb24tbnVtYmVyIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcblxuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgbWluLXdpZHRoOiBnb3Z1ay1zcGFjaW5nKDYpO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbn1cblxuLmFwcC10YXNrLWxpc3RfX2l0ZW1zIHtcbiAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig5LCBcImJvdHRvbVwiKTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDYpO1xuICB9XG59XG5cbi5hcHAtdGFzay1saXN0X19pdGVtIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgQGluY2x1ZGUgZ292dWstY2xlYXJmaXg7XG59XG5cbi5hcHAtdGFzay1saXN0X19pdGVtOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xufVxuXG4uYXBwLXRhc2stbGlzdF9fdGFzay1uYW1lIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiA0NTBweCkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG59XG5cbi8vIFRoZSBgYXBwLXRhc2stbGlzdF9fdGFzay1jb21wbGV0ZWRgIGNsYXNzIHdhcyBwcmV2aW91c2x5IHVzZWQgb24gdGhlIHRhc2tcbi8vIGxpc3QgZm9yIHRoZSBjb21wbGV0ZWQgdGFnIChjaGFuZ2VkIGluIDg2YzkwZWMpIOKAkyBpdCdzIHN0aWxsIGluY2x1ZGVkIGhlcmUgdG9cbi8vIGF2b2lkIGJyZWFraW5nIHRhc2sgbGlzdHMgaW4gZXhpc3RpbmcgcHJvdG90eXBlcy5cbi5hcHAtdGFzay1saXN0X190YWcsXG4uYXBwLXRhc2stbGlzdF9fdGFzay1jb21wbGV0ZWQge1xuICBtYXJnaW4tdG9wOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiA0NTBweCkge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbiIsIi8vIFRoaXMgaXMgYSBHT1YuVUsgUHVibGlzaGluZyBzcGVjaWZpYyBjb21wb25lbnQgdGhhdFxuLy8gY2FuIGJlIHNlZW4gYXQgaHR0cDovL2dvdnVrLXN0YXRpYy5oZXJva3VhcHAuY29tL2NvbXBvbmVudC1ndWlkZS9yZWxhdGVkX2l0ZW1zXG5cbi5hcHAtcmVsYXRlZC1pdGVtcyB7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCBnb3Z1ay1jb2xvdXIoXCJibHVlXCIpO1xuICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygyKTtcbn1cblxuLmFwcC1yZWxhdGVkLWl0ZW1zIC5nb3Z1ay1saXN0ID4gbGkge1xuICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xufVxuIiwiLyohXG5DaG9zZW4sIGEgU2VsZWN0IEJveCBFbmhhbmNlciBmb3IgalF1ZXJ5IGFuZCBQcm90b3R5cGVcbmJ5IFBhdHJpY2sgRmlsbGVyIGZvciBIYXJ2ZXN0LCBodHRwOi8vZ2V0aGFydmVzdC5jb21cblxuVmVyc2lvbiAxLjYuMlxuRnVsbCBzb3VyY2UgYXQgaHR0cHM6Ly9naXRodWIuY29tL2hhcnZlc3RocS9jaG9zZW5cbkNvcHlyaWdodCAoYykgMjAxMS0yMDE2IEhhcnZlc3QgaHR0cDovL2dldGhhcnZlc3QuY29tXG5cbk1JVCBMaWNlbnNlLCBodHRwczovL2dpdGh1Yi5jb20vaGFydmVzdGhxL2Nob3Nlbi9ibG9iL21hc3Rlci9MSUNFTlNFLm1kXG4tLS0tXG5cblRoaXMgcGFydGljdWxhciBmaWxlIGlzIGEgY3VzdG9taXNhdGlvbiBvZiB0aGUgb3JpZ2luYWwgZm9yIHRoZSBEQ0xHIERlbHRhXG5Qcm9qZWN0LiBJdCBpcyBoZXJlIG1vZGlmaWVkIHRvIHJlbmRlciBvdXQgR09WVUsgc3R5bGVcblxuKi9cblxuLyogQGdyb3VwIEJhc2UgKi9cblxuLmNob3Nlbi1jb250YWluZXItc2luZ2xlLmNob3Nlbi1jb250YWluZXItc2luZ2xlLW5vc2VhcmNoIC5jaG9zZW4tc2VhcmNoIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtOTk5OXB4O1xufVxuXG4uY2hvc2VuLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGJvdHRvbTogNXB4O1xuXG4gICAgKiB7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gICAgLmNob3Nlbi1kcm9wIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIGxlZnQ6IC05OTk5cHg7XG4gICAgICAgIHotaW5kZXg6IDEwMTA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBib3gtc2hhZG93OiAwIDRweCA1cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICB9XG5cbiAgICAmLmNob3Nlbi13aXRoLWRyb3Age1xuICAgICAgICAuY2hvc2VuLWRyb3Age1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogQGVuZCAqL1xuXG4vKiBAZ3JvdXAgUmVzdWx0cyAqL1xuLmNob3Nlbi1jb250YWluZXIgLmNob3Nlbi1yZXN1bHRzIHtcbiAgICBjb2xvcjogIzQ0NDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWFyZ2luOiAwIDRweCA0cHggMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1heC1oZWlnaHQ6IDI0MHB4O1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiA1cHggNnB4O1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBsaW5lLWhlaWdodDogMTVweDtcbiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiR0RTIFRyYW5zcG9ydFwiLCBhcmlhbCwgc2Fucy1zZXJpZjtcblxuICAgICAgICAmLmFjdGl2ZS1yZXN1bHQge1xuICAgICAgICAgICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5kaXNhYmxlZC1yZXN1bHQge1xuICAgICAgICAgICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICAgICAgICAgICAgY29sb3I6ICNjY2M7XG4gICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLmhpZ2hsaWdodGVkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzODc1ZDc7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgfVxuXG4gICAgICAgICYubm8tcmVzdWx0cyB7XG4gICAgICAgICAgICBjb2xvcjogIzc3NztcbiAgICAgICAgICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmNGY0ZjQ7XG4gICAgICAgIH1cbiAgICAgICAgJi5jcmVhdGUtb3B0aW9uIHtcbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGNvbG9yOiBvcmFuZ2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBAZW5kICovXG5cbi8qIEBncm91cCBNdWx0aSBDaG9zZW4gKi9cbi5jaG9zZW4tY29udGFpbmVyLW11bHRpIHtcbiAgICAuY2hvc2VuLWNob2ljZXMge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkO1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDUwJSAwJSwgNTAlIDEwMCUsIGNvbG9yLXN0b3AoMSUsICNlZWVlZWUpLCBjb2xvci1zdG9wKDE1JSwgI2ZmZmZmZikpO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgjZWVlZWVlIDElLCAjZmZmZmZmIDE1JSk7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KCNlZWVlZWUgMSUsICNmZmZmZmYgMTUlKTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KCNlZWVlZWUgMSUsICNmZmZmZmYgMTUlKTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCNlZWVlZWUgMSUsICNmZmZmZmYgMTUlKTtcbiAgICAgICAgY3Vyc29yOiB0ZXh0O1xuICAgICAgICBmb250LWZhbWlseTogXCJHRFMgVHJhbnNwb3J0XCIsIGFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDE5cHg7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgbGkuc2VhcmNoLWZpZWxkIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAgICAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDRweCAwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiA1cHggNXB4IDVweCAwcHg7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxpLnNlYXJjaC1jaG9pY2Uge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgbWFyZ2luOiA1cHggNXB4IDVweCAwO1xuICAgICAgICAgICAgcGFkZGluZzogNXB4IDI1cHggNXB4IDVweDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAzMDc4O1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1ZWE1O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2VhcmNoLWNob2ljZS1jbG9zZSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMnB4O1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAzcHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnL3B1YmxpYy9pbWFnZXMvY2xvc2UtaW52ZXJzZS5wbmcnKSBuby1yZXBlYXQgNHB4IDRweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDFweDtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGYzMDM0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxpLnNlYXJjaC1jaG9pY2UtZGlzYWJsZWQge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNGU0ZTQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgNTAlIDAlLCA1MCUgMTAwJSwgY29sb3Itc3RvcCgyMCUsICNmNGY0ZjQpLCBjb2xvci1zdG9wKDUwJSwgI2YwZjBmMCksIGNvbG9yLXN0b3AoNTIlLCAjZThlOGU4KSwgY29sb3Itc3RvcCgxMDAlLCAjZWVlZWVlKSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgjZjRmNGY0IDIwJSwgI2YwZjBmMCA1MCUsICNlOGU4ZTggNTIlLCAjZWVlZWVlIDEwMCUpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQoI2Y0ZjRmNCAyMCUsICNmMGYwZjAgNTAlLCAjZThlOGU4IDUyJSwgI2VlZWVlZSAxMDAlKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCgjZjRmNGY0IDIwJSwgI2YwZjBmMCA1MCUsICNlOGU4ZTggNTIlLCAjZWVlZWVlIDEwMCUpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCNmNGY0ZjQgMjAlLCAjZjBmMGYwIDUwJSwgI2U4ZThlOCA1MiUsICNlZWVlZWUgMTAwJSk7XG4gICAgICAgICAgICBjb2xvcjogIzY2NjtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpLnNlYXJjaC1jaG9pY2UtZm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2Q0ZDRkNDtcblxuICAgICAgICAgICAgLnNlYXJjaC1jaG9pY2UtY2xvc2Uge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00MnB4IC0xMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5jaG9zZW4tcmVzdWx0cyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuY2hvc2VuLWRyb3AgLnJlc3VsdC1zZWxlY3RlZCB7XG4gICAgICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cbn1cblxuXG5cbi5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSB7XG5cbiAgICAuY2hvc2VuLXNpbmdsZSB7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRibGFjaztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDhweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE5cHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkdEUyBUcmFuc3BvcnRcIiwgYXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuXG4gICAgICAgIGRpdiB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5jaG9zZW4tc2VhcmNoIHtcbiAgICAgICAgPiBpbnB1dCB7XG4gICAgICAgICAgICBwYWRkaW5nOiA0cHg7XG4gICAgICAgICAgICBtYXJnaW46IGNhbGMoMzBweC80KSAyLjUlO1xuICAgICAgICAgICAgd2lkdGg6IDk1JTtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgIH1cbiAgICAgICAgPiBpbnB1dDpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiAzcHggc29saWQgI2ZkMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jaG9zZW4tcmVzdWx0cyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIHBhZGRpbmc6IDMwcHggLyA0O1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi5jaG9zZW4tY29udGFpbmVyLWFjdGl2ZSAuY2hvc2VuLXNpbmdsZSB7XG4gIG91dGxpbmU6IDNweCBzb2xpZCAkeWVsbG93O1xufVxuXG4uY2hvc2VuLWNvbnRhaW5lci1tdWx0aS5jaG9zZW4tY29udGFpbmVyLWFjdGl2ZSAuY2hvc2VuLWNob2ljZXN7XG4gIG91dGxpbmU6IDNweCBzb2xpZCAkeWVsbG93O1xufVxuXG4uYWN0aW9uLWxpc3Qge1xuXG4gICAgLmNob3Nlbi1jb250YWluZXItc2luZ2xlIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHdpZHRoOiAyNTBweCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDMwcHggLyA0O1xuICAgIH1cblxufVxuXG4uZmFjZXRzIC5mb3JtLXBhbmVsIHtcblxuICAgIC5jaG9zZW4tY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDk1JSAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxuXG4gICAgLmNob3Nlbi1jaG9pY2VzIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnNlYXJjaC1maWVsZCBpbnB1dCB7XG4gICAgICAgIGNvbG9yOiAkZ3JleS0xO1xuICAgIH1cblxufVxuXG4uZm9ybSAuZ292dWstZm9ybS1ncm91cCAuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUge1xuICAgIHdpZHRoOiA2NyUgIWltcG9ydGFudDtcbn1cblxuLmZvcm0gLmdvdnVrLWZvcm0tZ3JvdXAgLmNob3Nlbi1jb250YWluZXItbXVsdGkge1xuICAgIHdpZHRoOiA2NS41JSAhaW1wb3J0YW50O1xufVxuLnJpZ2h0LWNvbnRlbnQtcGFuZSAuZ292dWstZm9ybS1ncm91cCAuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUge1xuICAgIHdpZHRoOiA2NyUgIWltcG9ydGFudDtcbn1cbi5yaWdodC1jb250ZW50LXBhbmUgLmdvdnVrLWZvcm0tZ3JvdXAgLmNob3Nlbi1jb250YWluZXItbXVsdGkge1xuICAgIHdpZHRoOiA2NSUgIWltcG9ydGFudDtcbn1cblxuLmxlZnQtcm9vdC1wYW5lIC5sZWZ0LXJvb3QtcGFuZS1maWx0ZXIgLmNob3Nlbi1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogOTAlICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLmZhY2V0cyAuZm9ybS1wYW5lbCAuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgLmNob3Nlbi1zaW5nbGUgc3BhbiB7XG4gICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgfVxufVxuIiwiLy8gQnJhbmQgY29sb3Vyc1xuJGdvdnVrLWJsdWU6ICMwMDVlYTU7XG4kbWFpbnN0cmVhbS1icmFuZDogJGdvdnVrLWJsdWU7XG5cbi8vIFN0YW5kYXJkIHBhbGV0dGUsIGNvbG91cnNcbiRwdXJwbGU6ICMyZTM1OGI7XG4kcHVycGxlLTUwOiAjOTc5OWM0O1xuJHB1cnBsZS0yNTogI2Q1ZDZlNztcbiRtYXV2ZTogIzZmNzJhZjtcbiRtYXV2ZS01MDogI2I3YjlkNztcbiRtYXV2ZS0yNTogI2UyZTJlZjtcbiRmdXNjaGlhOiAjOTEyYjg4O1xuJGZ1c2NoaWEtNTA6ICNjOTk0YzM7XG4kZnVzY2hpYS0yNTogI2U5ZDRlNjtcbiRwaW5rOiAjZDUzODgwO1xuJHBpbmstNTA6ICNlYjliYmU7XG4kcGluay0yNTogI2Y2ZDdlNTtcbiRiYWJ5LXBpbms6ICNmNDk5YmU7XG4kYmFieS1waW5rLTUwOiAjZmFjY2RmO1xuJGJhYnktcGluay0yNTogI2ZkZWJmMjtcbiRyZWQ6ICNiMTBlMWU7XG4kcmVkLTUwOiAjZDk4ODhjO1xuJHJlZC0yNTogI2VmY2ZkMTtcbiRtZWxsb3ctcmVkOiAjZGYzMDM0O1xuJG1lbGxvdy1yZWQtNTA6ICNlZjk5OTg7XG4kbWVsbG93LXJlZC0yNTogI2Y5ZDZkNjtcbiRvcmFuZ2U6ICNmNDc3Mzg7XG4kb3JhbmdlLTUwOiAjZmFiYjk2O1xuJG9yYW5nZS0yNTogI2ZkZTRkNDtcbiRicm93bjogI2I1ODg0MDtcbiRicm93bi01MDogI2RhYzM5YztcbiRicm93bi0yNTogI2YwZTdkNztcbi8vJHllbGxvdzogI2ZmYmY0NztcbiR5ZWxsb3c6ICNmZDA7XG4keWVsbG93LTUwOiAjZmZkZjk0O1xuJHllbGxvdy0yNTogI2ZmZjJkMztcbiRncmFzcy1ncmVlbjogIzg1OTk0YjtcbiRncmFzcy1ncmVlbi01MDogI2MyY2NhMztcbiRncmFzcy1ncmVlbi0yNTogI2U3ZWJkYTtcbiRncmVlbjogIzAwNjQzNTtcbiRncmVlbi01MDogIzdmYjI5OTtcbiRncmVlbi0yNTogI2NjZTBkNjtcbiR0dXJxdW9pc2U6ICMyOGExOTc7XG4kdHVycXVvaXNlLTUwOiAjOTVkMGNiO1xuJHR1cnF1b2lzZS0yNTogI2Q1ZWNlYTtcbiRsaWdodC1ibHVlOiAjMmI4Y2M0O1xuJGxpZ2h0LWJsdWUtNTA6ICM5NmM2ZTI7XG4kbGlnaHQtYmx1ZS0yNTogI2Q1ZThmMztcblxuLy8gU3RhbmRhcmQgcGFsZXR0ZSwgZ3JleXNcbiRibGFjazogIzBiMGMwYztcbiRncmV5LTE6ICM2Zjc3N2I7XG4kZ3JleS0yOiAjYmZjMWMzO1xuJGdyZXktMzogI2RlZTBlMjtcbiRncmV5LTQ6ICNmOGY4Zjg7XG4kd2hpdGU6ICNmZmY7XG5cbi8vIFNlbWFudGljIGNvbG91ciBuYW1lc1xuJGxpbmstY29sb3VyOiAkZ292dWstYmx1ZTtcbiRsaW5rLWFjdGl2ZS1jb2xvdXI6ICRsaWdodC1ibHVlO1xuJGxpbmstaG92ZXItY29sb3VyOiAkbGlnaHQtYmx1ZTtcbiRsaW5rLXZpc2l0ZWQtY29sb3VyOiAjNGMyYzkyO1xuJGJ1dHRvbi1jb2xvdXI6ICMwMDgyM2I7XG4kZm9jdXMtY29sb3VyOiAkeWVsbG93O1xuJHRleHQtY29sb3VyOiAkYmxhY2s7ICAgICAgICAgICAgIC8vIFN0YW5kYXJkIHRleHQgY29sb3VyXG4kc2Vjb25kYXJ5LXRleHQtY29sb3VyOiAkZ3JleS0xOyAgLy8gU2VjdGlvbiBoZWFkZXJzLCBoZWxwIHRleHQgZXRjLlxuJGJvcmRlci1jb2xvdXI6ICRncmV5LTI7ICAgICAgICAgIC8vIEJvcmRlcnMsIHNlcGVyYXRvcnMsIHJ1bGVzLCBrZXlsaW5lcyBldGMuXG4kcGFuZWwtY29sb3VyOiAkZ3JleS0zOyAgICAgICAgICAgLy8gUmVsYXRlZCBsaW5rcyBwYW5lbCwgcGFnZSBmb290ZXIgZXRjLlxuJGNhbnZhcy1jb2xvdXI6ICRncmV5LTQ7ICAgICAgICAgIC8vIFBhZ2UgYmFja2dyb3VuZFxuJGhpZ2hsaWdodC1jb2xvdXI6ICRncmV5LTQ7ICAgICAgIC8vIFRhYmxlIHN0cmlwZXMgZXRjLlxuJHBhZ2UtY29sb3VyOiAkd2hpdGU7ICAgICAgICAgICAgIC8vIFRoZSBwYWdlXG4kZGlzY292ZXJ5LWNvbG91cjogJGZ1c2NoaWE7ICAgICAgLy8gRGlzY292ZXJ5IGJhZGdlcyBhbmQgYmFubmVyc1xuJGFscGhhLWNvbG91cjogJHBpbms7ICAgICAgICAgICAgIC8vIEFscGhhIGJhZGdlcyBhbmQgYmFubmVyc1xuJGJldGEtY29sb3VyOiAkb3JhbmdlOyAgICAgICAgICAgIC8vIEJldGEgYmFkZ2VzIGFuZCBiYW5uZXJzXG4kbGl2ZS1jb2xvdXI6ICRncmFzcy1ncmVlbjsgICAgICAgLy8gTGl2ZSBiYWRnZXMgYW5kIGJhbm5lcnNcbiRiYW5uZXItdGV4dC1jb2xvdXI6ICMwMDA7ICAgICAgICAvLyBUZXh0IGNvbG91ciBmb3IgQWxwaGEgJiBCZXRhIGJhbm5lcnNcbiRlcnJvci1jb2xvdXI6ICRyZWQ7ICAgICAgICAgICAgICAvLyBFcnJvciB0ZXh0IGFuZCBib3JkZXIgY29sb3VyXG4kZXJyb3ItYmFja2dyb3VuZDogI2ZlZjdmNzsgICAgICAgLy8gRXJyb3IgYmFja2dyb3VuZCBjb2xvdXJcbiIsImxhYmVsLmJsb2NrLWxhYmVsLnNlbGVjdGlvbi1idXR0b24tY2hlY2tib3gge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdEUyBUcmFuc3BvcnRcIixhcmlhbCxzYW5zLXNlcmlmO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIGNsZWFyOiBsZWZ0O1xufVxuXG4uc2VsZWN0aW9uLWNoZWNrYm94X19pbnB1dCB7XG4gICAgb3BhY2l0eTogMDtcbn1cblxuc3Bhbi5nb3Z1ay1sYWJlbC5zZWxlY3Rpb24tY2hlY2tib3hfX2xhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiAxMHB4IDAgNXB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG59XG5cbnNwYW4uc2VsZWN0aW9uLWNoZWNrYm94X19sYWJlbDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLnNlbGVjdGlvbi1jaGVja2JveF9fbGFiZWw6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTFweDtcbiAgICBsZWZ0OiA5cHg7XG4gICAgd2lkdGg6IDIzcHg7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgYm9yZGVyOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDAgMCA1cHggNXB4O1xuICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi5zZWxlY3Rpb24tY2hlY2tib3hfX2lucHV0OmNoZWNrZWQgfiAuc2VsZWN0aW9uLWNoZWNrYm94X19sYWJlbDphZnRlciB7XG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xufSIsIkB1c2UgJ3Nhc3M6bWF0aCc7XG5cbiRndXR0ZXI6IDMwcHg7XG4kZ3V0dGVyLW9uZS1xdWFydGVyOiBtYXRoLmRpdigkZ3V0dGVyLCA0KTtcbiRndXR0ZXItb25lLXRoaXJkOiBtYXRoLmRpdigkZ3V0dGVyLCAzKTtcbiRndXR0ZXItaGFsZjogbWF0aC5kaXYoJGd1dHRlciwgMik7XG4kcHJvcG9zaXRpb24tYWN0aXZlLW5hdjogIzFkOGZlYjtcblxuLmhpZGRlbi1sYWJlbC1hY2Nlc3NpYmxlIHtcbiAgICB0ZXh0LWluZGVudDogLTk5OTk5cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnVpLWljb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMTlweDtcbiAgICB3aWR0aDogMTlweDtcbn1cblxuLnVpLWRhdGVwaWNrZXIge1xuXG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGJvcmRlcjogMnB4ICRib3JkZXItY29sb3VyIHNvbGlkO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcblxuICAgIHRkLCB0aCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAkZ3V0dGVyLW9uZS1xdWFydGVyO1xuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG91cjtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiR0RTIFRyYW5zcG9ydFwiLCBhcmlhbCwgc2Fucy1zZXJpZjtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnVpLWRhdGVwaWNrZXItaGVhZGVyIHtcbiAgICAgICAgcGFkZGluZzogJGd1dHRlci1vbmUtcXVhcnRlciAkZ3V0dGVyLWhhbGY7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkYm9yZGVyLWNvbG91cjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBmb250LWZhbWlseTogXCJHRFMgVHJhbnNwb3J0XCIsIGFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIH1cblxuICAgIC51aS1kYXRlcGlja2VyLXByZXYge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIC51aS1pY29uLWNpcmNsZS10cmlhbmdsZS13IHtcbiAgICAgICAgICAgIEBleHRlbmQgLmhpZGRlbi1sYWJlbC1hY2Nlc3NpYmxlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcvcHVibGljL2ltYWdlcy9pY29uLWFycm93LWxlZnQucG5nJykgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC51aS1kYXRlcGlja2VyLW5leHQge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAudWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtZSB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5oaWRkZW4tbGFiZWwtYWNjZXNzaWJsZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnL3B1YmxpYy9pbWFnZXMvaWNvbi1hcnJvdy1yaWdodC5wbmcnKSBuby1yZXBlYXQgY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnVpLWRhdGVwaWNrZXItdGl0bGUge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cblxuICAgIC51aS1kYXRlcGlja2VyLXVuc2VsZWN0YWJsZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRncmV5LTM7XG4gICAgfVxuXG4gICAgLnVpLWRhdGVwaWNrZXItZGF5cy1jZWxsLW92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDogIzAwNWVhNTtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvciA6ICNmZmY7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLnVpLWRhdGVwaWNrZXItdHJpZ2dlciB7XG4gICAgLmZhLWNhbGVuZGFyOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+Bs1wiOyB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGd1dHRlci1vbmUtcXVhcnRlcjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbn1cblxuYnV0dG9uLnVpLWRhdGVwaWNrZXItdHJpZ2dlciB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgZm9udC1zaXplOiAwO1xufXNjc3NcblxuLnVpLWRhdGVwaWNrZXItdHJpZ2dlcjpiZWZvcmUge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDcuNXB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb250ZW50OiBcIu+Bs1wiO1xufVxuXG4vLyBIaWRlLCBidXQgbm90IGZvciBzY3JlZW5yZWFkZXJzXG4udmlzdWFsbHktaGlkZGVuLFxuLnZpc3VhbGx5aGlkZGVuIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgd2lkdGg6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG59XG4iLCIubWFpbi1wYW5le1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5sZWZ0LXJvb3QtcGFuZVxue1xuICAgIHdpZHRoOiAyMiU7XG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNiZmMxYzM7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZmxleDogMC45O1xufVxuLnJpZ2h0LWNvbnRlbnQtcGFuZVxue1xuICAgIHdpZHRoOiA3MCU7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIGZsb2F0OiBsZWZ0O1xufVxuXG4ucmlnaHQtY29udGVudC1wYW5lIC5idXR0b24tZ3JvdXAgLmJ1dHRvbi1zZWNvbmRhcnlcbntcbiAgICAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gICAgIHdpZHRoOiBhdXRvO1xufVxuXG4ucmlnaHQtY29udGVudC1wYW5lIC5mb3JtLWNvbnRyb2x7XG4gICAgd2lkdGg6IDc1JTtcbn1cblxuLnJpZ2h0LWNvbnRlbnQtcGFuZSAuZm9ybS1wYW5lbHtcbiAgICB3aWR0aDogNjYuNSU7XG59XG5cbi5yaWdodC1jb250ZW50LXBhbmUgLmZvcm0tY29udHJvbC1pbmxpbmV7XG4gICAgd2lkdGg6IDMwJTtcbn1cblxuLnJpZ2h0LWNvbnRlbnQtcGFuZSAuZm9ybS1sYWJlbC1pbmxpbmV7XG4gICAgd2lkdGg6IDQ1JTtcbn1cblxuXG5cbi5yaWdodC1jb250ZW50LXBhbmUgZWxlbWVudC5zdHlsZSxcbi5yaWdodC1jb250ZW50LXBhbmUgLmRhdGEtZ3JpZFxue1xubWluLWhlaWdodDogYXV0bztcbn1cblxuIC5sZWZ0LXJvb3QtcGFuZSB1bCBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1mYW1pbHk6IFwibnRhXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBwYWRkaW5nOiAxMnB4IDI1cHggOHB4IDBcbn1cblxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgICAgLmxlZnQtcm9vdC1wYW5lIHVsIGEge1xuICAgICAgICBwYWRkaW5nOiAxMnB4IDMwcHggOHB4IDE1cHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIm50YVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTQyODU3MTQyOVxuICAgIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MXB4KSBhbmQgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgICAgLmxlZnQtcm9vdC1wYW5lIHVsIGEge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1XG4gICAgfVxufVxuXG4gLmxlZnQtcm9vdC1wYW5lIHVsIGE6aG92ZXIsXG4gLmxlZnQtcm9vdC1wYW5lIHVsIGE6Zm9jdXMsXG4gIHtcbiAgICBiYWNrZ3JvdW5kOiAjZGVlMGUyO1xuICAgIGNvbG9yOiAjMDA1ZWE1XG59XG5cblxuIC5sZWZ0LXJvb3QtcGFuZSB1bCBhOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLThweDtcbiAgICByaWdodDogMTBweDtcbiAgICBjb250ZW50OiBcIlxcMjAzQVwiXG59XG5cblxuXG4gLmxlZnQtcm9vdC1wYW5lIHVsIC5hY3RpdmUgYSB7XG4gICAgYmFja2dyb3VuZDogIzAwNWVhNTtcbiAgICBjb2xvcjogI2ZmZlxufVxuXG4gLmxlZnQtcm9vdC1wYW5lIC5sZWZ0LXJvb3QtcGFuZS1maWx0ZXIge1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gfVxuXG4ucmlnaHQtY29udGVudC1wYW5lIC5ncmlkLTEtMiAuY2hvc2VuLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDc1JSAhaW1wb3J0YW50O1xufVxuXG4ubGVmdC1yb290LXBhbmUgdWwge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDBweDtcbn1cblxuI2dyYW50U2VjdGlvbiB0Zm9vdCB0ZCB7XG4gICAgYnV0dG9uLmpzLXRhYmxlLWJ0bntcbiAgICAgICAgICAgIGNvbG9yOiAjMDA1ZWE1O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICB9XG59XG5cbiNsZWRnZXJUYWJsZSB0ZCB7XG4gICAgYnV0dG9uLmVkaXQtYnRuLCBidXR0b24ucmVtb3ZlLWJ0biB7XG4gICAgICAgIGNvbG9yOiAjMDA1ZWE1O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuXG4gICAgICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKDE2LCAxNiwgMTYsIDAuMyk7XG4gICAgICAgICAgICBjdXJzb3I6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiN0aHJlc2hvbGRzIHRkIHtcbiAgICBidXR0b24uanMtdGFibGUtYnRuIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMDA1ZWE1O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuICAgIGJ1dHRvbi50aHJlc2hvbGQtcmVtb3ZlIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMDA1ZWE1O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxufVxuXG4uY2hldnJvbi1jYXJkIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiKDE3NywgMTgwLCAxODIpO1xuICAgIG1hcmdpbjogMHB4IDE1cHg7XG4gICAgcGFkZGluZzogNXB4IDBweCAyMHB4O1xufVxuXG4uY2hldnJvbi1jYXJkX193cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMTBweCAzMHB4IDEwcHggMHB4O1xufVxuXG4uY2hldnJvbi1jYXJkX19kZXNjcmlwdGlvbiB7XG4gICAgbWFyZ2luOiAwcHggLTMwcHggMHB4IDBweDtcbn1cblxuLmhvbWVwYWdlLXNlcnZpY2VzLWFuZC1pbmZvX19saXN0IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtYXV0by1mbG93OiByb3c7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnIgMWZyIDFmciAxZnIgMWZyIDFmciAxZnIgMWZyIDFmciAxZnIgMWZyIDFmciAxZnIgMWZyIDFmciAxZnI7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDBweCAtMTVweDtcbiAgICBwYWRkaW5nOiAwcHg7XG59XG5cbi5ob21lcGFnZS1zZWN0aW9uX19oZWFkaW5nLS1ib3JkZXItbm9uZSB7XG4gICAgYm9yZGVyLXdpZHRoOiBpbml0aWFsO1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICBib3JkZXItY29sb3I6IGluaXRpYWw7XG4gICAgYm9yZGVyLWltYWdlOiBpbml0aWFsO1xuICAgIHBhZGRpbmc6IDBweDtcbn1cbi5ob21lcGFnZS1zZWN0aW9uX19oZWFkaW5nIHtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAycHg7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzBiMGMwYztcbiAgICBtYXJnaW46IDAgMCAzMHB4O1xuICAgIHBhZGRpbmc6IDE1cHggMCAwO1xufVxuLmNoZXZyb24tY2FyZF9fbGluazpiZWZvcmUge1xuICAgIGJvcmRlci1yaWdodDogM3B4IHNvbGlkICMxZDcwYjg7XG4gICAgYm9yZGVyLXRvcDogM3B4IHNvbGlkICMxZDcwYjg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDdweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDVweDtcbiAgICB0b3A6IDE1cHg7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgcm90YXRlKFxuNDVkZWdcbikgc2NhbGUoMSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSByb3RhdGUoNDVkZWcpIHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSByb3RhdGUoNDVkZWcpIHNjYWxlKDEpO1xuICAgIHdpZHRoOiA3cHg7XG59XG5cbi5jaGV2cm9uLWNhcmRfX2xpbms6YWZ0ZXIge1xuICAgIGJvdHRvbTogMDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbn1cbi5ob21lcGFnZS1zZXJ2aWNlcy1hbmQtaW5mb19fbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLmhvbWVwYWdlLXNlcnZpY2VzLWFuZC1pbmZvX19saXN0IC5jaGV2cm9uLWNhcmQge1xuXHR3aWR0aDogY2FsYygoMTAwJSAvIDIpIC0gMzBweCk7XG5cdGZsZXgtYmFzaXM6IGNhbGMoKDEwMCUgLyAyKSAtIDMwcHgpO1xufSIsIi5qc2dyaWQtcGFnZXItY29udGFpbmVyIHtcbiAgcGFkZGluZy10b3A6IDQwcHg7XG4gIGZvbnQtc2l6ZTogMTlweDtcbiAgZm9udC1mYW1pbHk6IFwiR0RTIFRyYW5zcG9ydFwiLCBhcmlhbCwgc2Fucy1zZXJpZjtcbn1cblxuLnBhZ2VyLWl0ZW1zIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2NDFweCkge1xuICAucGFnZXItaXRlbXMge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgfVxuICAucGFnZXItaXRlbXMgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBtYXJnaW46IDAgOHB4O1xuICB9XG4gIC5wYWdlci1pdGVtcyBsaTpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLnBhZ2VyLWl0ZW1zIGxpOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuLnBhZ2VyLW5leHQsXG4ucGFnZXItcHJldiB7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2NDFweCkge1xuICAucGFnZXItbmV4dCxcbiAgLnBhZ2VyLXByZXYge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gIC5wYWdlci1wcmV2IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2NDFweCkge1xuICAucGFnZXItbmV4dCB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2NDFweCkge1xuICAucGFnZXItY29udHJvbHMge1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxufVxuIiwiLmdvdnVrLWJyZWFkY3J1bWJzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbn1cblxuLmRhdGFzZXQtaW5zdGFuY2VzX19uYW1lLWJyZWFkY3J1bWIge1xuICAgIG1heC13aWR0aDogMTRlbTtcbiAgICB0ZXh0LXdyYXA6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufSIsIi5nb3Z1ay1oZWFkZXIgLmdvdnVrLWhlYWRlcl9fbG9nbyB7XG4gIHdpZHRoOiBhdXRvO1xuXG4gIC5nb3Z1ay1oZWFkZXJfX3Byb2R1Y3QtbmFtZSB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuXG59XG5cbi5nb3Z1ay1oZWFkZXJfX2xpbmstLWhvbWVwYWdlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4uZ292dWstaGVhZGVyIC5nb3Z1ay1oZWFkZXJfX2xvZ290eXBlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4uZ292dWstaGVhZGVyX19jb250ZW50IHtcbiAgd2lkdGg6IDczJTtcbn1cblxuLmdvdnVrLWhlYWRlcl9fbmF2aWdhdGlvbi0tZW5kLmdvdnVrLWhlYWRlcl9fbmF2aWdhdGlvbi1pdGVtIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5nb3Z1ay10ZW1wbGF0ZV9fYm9keSAuZ292dWstbWFpbi13cmFwcGVyIHtcbiAgcGFkZGluZy10b3A6IDA7XG59XG5cbi5kZWx0YS1oZWFkZXJfX2xpbmstLW1haW4tbmF2IHtcbiAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xufVxuXG4uZGVsdGEtcGFnZS10aXRsZSB7XG4gIEBleHRlbmQgLmdvdnVrLWhlYWRpbmctbDtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuXG4uZGVsdGEtdGV4dC1zZWNvbmRhcnkge1xuICBjb2xvcjogJHNlY29uZGFyeS10ZXh0LWNvbG91cjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuLmdvdnVrLWhlYWRlciAge1xuICAuaGVhZGVyLW15LWFjY291bnQge1xuICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbi1saW5lOiB1bmRlcmxpbmU7XG4gIH1cbn0iLCIvLyBKYXZhU2NyaXB0IHNsaWRpbmcgcGFuZWwgc3R5bGluZ1xuLmpzLXNsaWRpbmctcGFuZWwge1xuXG4gICAgJi13cmFwcGVyIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICYuanMtc2xpZGluZy1wYW5lbC13cmFwcGVyLWV4cGFuZGVkIHtcbiAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gICAgICAgICAgICAuanNncmlkLXRhYmxlIHRoLFxuICAgICAgICAgICAgLmpzZ3JpZC10YWJsZSB0ZCB7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLW91dDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgJi1zaWJsaW5nIHtcbiAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICBmb250LWZhbWlseTogXCJHRFMgVHJhbnNwb3J0XCIsIGFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgJi1jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJi1oZWFkZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1ZWE1O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZGlzcGxheTogLW1vei1pbmxpbmUtc3RhY2s7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiAuNTI2MzE1ZW0gLjc4OTQ3M2VtIC4yNjMxNTdlbTtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgIC1tb3otYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMnB4IDAgIzAwMzI1OTtcbiAgICAgICAgICAgIC1tb3otYm94LXNoYWRvdzogMCAycHggMCAjMDAzMjU5O1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAycHggMCAjMDAzMjU5O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG59XG4uanMtc2xpZGluZy1wYW5lbC1oZWFkZXIge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdEUyBUcmFuc3BvcnRcIiwgYXJpYWwsIHNhbnMtc2VyaWY7XG59XG4ubGVmdC1yb290LXBhbmUtZmlsdGVyIC5qcy1zbGlkaW5nLXBhbmVsLWhlYWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNWVhNTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogLW1vei1pbmxpbmUtc3RhY2s7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IC41MjYzMTVlbSAuNzg5NDczZW0gLjI2MzE1N2VtO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDA7XG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAycHggMCAjMDAzMjU5O1xuICAgIC1tb3otYm94LXNoYWRvdzogMCAycHggMCAjMDAzMjU5O1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDAgIzAwMzI1OTtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiBcIkdEUyBUcmFuc3BvcnRcIiwgYXJpYWwsIHNhbnMtc2VyaWY7XG59XG4iLCJAdXNlICdzYXNzOm1hdGgnO1xuXG4kZ3V0dGVyOiAzMHB4O1xuJGd1dHRlci1vbmUtcXVhcnRlcjogbWF0aC5kaXYoJGd1dHRlciwgNCk7XG4kZ3V0dGVyLW9uZS10aGlyZDogbWF0aC5kaXYoJGd1dHRlciwgMyk7XG4kZ3V0dGVyLWhhbGY6IG1hdGguZGl2KCRndXR0ZXIsIDIpO1xuJHByb3Bvc2l0aW9uLWFjdGl2ZS1uYXY6ICMxZDhmZWI7XG4kZ3JleS00OiAjZjhmOGY4O1xuJG1pbi1oZWlnaHQ6IFwiXCI7XG5cbi5kZWFkbGluZS1zdWJtaXNzaW9uIC5mb3JtLWNvbnRyb2wge1xuICB3aWR0aDogODAlO1xufVxuXG4vLyBGaWx0ZXJzIG5lZWQgc2xpZ2h0bHkgc21hbGxlciBzdHlsaW5nIHRvIGZpdCBtb3JlIGludG8gdGhlIHZpZXdcbi5maWx0ZXIge1xuXG5cbiAgICAuZmlsdGVyLXRpdGxlLFxuICAgIC5maWx0ZXItdGl0bGUgYSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRwYW5lbC1jb2xvdXI7XG4gICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvdXI7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cblxuICAgIC5maWx0ZXItdGl0bGUge1xuICAgICAgICBwYWRkaW5nOiAkZ3V0dGVyLW9uZS1xdWFydGVyO1xuICAgIH1cblxuICAgIC5ibG9jay1sYWJlbCB7XG5cbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBmbG9hdDogbm9uZTtcblxuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBoZWlnaHQ6IDE5cHg7XG4gICAgICAgICAgICB3aWR0aDogMTlweDtcbiAgICAgICAgICAgIHRvcDogNHB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0ycHg7XG4gICAgICAgIH1cblxuICAgICAgICAuZmlsdGVyLXJpZ2h0IHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAkZ3V0dGVyLWhhbGY7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cblxuICAgIC5ibG9jay1saXN0IHtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGdyZXktNDtcbiAgICAgICAgICAgIG1hcmdpbjogJGd1dHRlci1vbmUtcXVhcnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRndXR0ZXItb25lLXF1YXJ0ZXI7XG5cbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXItb25lLXRoaXJkICsgJGd1dHRlci1oYWxmO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAucmVtb3ZlIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hY3Rpb24tbGlzdCB7XG4gICAgICAgIHBhZGRpbmc6ICRndXR0ZXItb25lLXF1YXJ0ZXI7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICBpbnB1dC5mb3JtLWNvbnRyb2wge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIHBhZGRpbmc6IDRweCAzcHggM3B4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLmZvcm0tZGF0ZSB7XG5cbiAgICAgICAgLmJsb2NrLWxhYmVsIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG5cbi8vIEFsaWduIHRoZSBHT1ZVSyBjaGVja2JveCBzdHlsZXMgdG8gdGhlIHNtYWxsZXIgZm9udC1zaXplIHVzZWQgYnkgZmlsdGVyc1xuLmpzLWVuYWJsZWQgLmZpbHRlciAuYmxvY2stbGFiZWwge1xuICAgICYuc2VsZWN0aW9uLWJ1dHRvbi1jaGVja2JveCB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgdG9wOiA2cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCAwIDRweCA0cHg7XG4gICAgICAgICAgICB3aWR0aDogOHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICAgICAgICB0b3A6IDExcHg7XG4gICAgICAgICAgICBsZWZ0OiA0cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNlbGVjdGlvbi1idXR0b24tcmFkaW8ge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICAgIHRvcDogNnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBib3JkZXI6IDZweCBzb2xpZDtcbiAgICAgICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgICAgIGxlZnQ6IDRweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmFjdGlvbi1saXN0IHtcblxuICAgIG1hcmdpbi1ib3R0b206ICRndXR0ZXItaGFsZjtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgLy8gQGV4dGVuZCAlY29udGFpbi1mbG9hdHM7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLmFjdGlvbi1yaWdodCB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWN0aW9uLWxpbmstYnV0dG9uIHtcblxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLXN0YWNrO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAgIEBpZiAkbWluLWhlaWdodCAhPSBcIlwiIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6ICRtaW4taGVpZ2h0O1xuICAgICAgICAgIH1cblxuICAgICAgICBwYWRkaW5nOiAuNTI2MzE1ZW0gLjc4OTQ3M2VtIC4yNjMxNTdlbTsgLy8gMTBweCAxNXB4IDVweFxuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAgICAgLy8gVGV4dFxuICAgICAgICBmb250LXNpemU6IDFlbTsgLy8gaW5oZXJpdCBmcm9tIHBhcmVudFxuICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cbiAgICAgICAgLy8gSW50ZXJhY3Rpb25cbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICYuYWN0aW9uLWxpc3QtaGVhZGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGd1dHRlcjtcbiAgICB9XG5cbiAgICAuYmxvY2stbGFiZWwge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICB3aWR0aDogMjUlO1xuICAgIH1cblxufVxuXG4uYmxvY2stbGlzdCB7XG5cbiAgICAuYWN0aW9uLXJpZ2h0IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogNy41cHg7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuXG4gICAgLnJlbW92ZS1zZWxlY3RlZC1mYWNldCB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgvcHVibGljL2ltYWdlcy9jbG9zZS5wbmcpIG5vLXJlcGVhdCA0cHggNHB4O1xuICAgICAgICAgICAgY29udGVudDogJyAnO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmc6IDRweDtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4uZm9ybS1wYW5lbCB7XG4gICAgYm9yZGVyOiAycHggc29saWQgJGJvcmRlci1jb2xvdXI7XG4gICAgbWFyZ2luLWJvdHRvbTogJGd1dHRlci1oYWxmO1xuICAgIGZvbnQtZmFtaWx5OiBcIm50YVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE2cHg7XG5cbiAgICAuanMtZXhwYW5kZXItaGFuZGxlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvcHVibGljL2ltYWdlcy9hY2NvcmRpb24tYXJyb3cteHNtYWxsLnBuZycpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxcHggNHB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMycHg7XG4gICAgfVxuXG4gICAgJltkYXRhLWZhY2V0LWhpZGRlbj10cnVlXSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG5cbiAgICAmLmpzLWV4cGFuZGVyLWluaXRpYWwtY29sbGFwc2Uge1xuICAgICAgICAuanMtZXhwYW5kZXItdGFyZ2V0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmpzLWV4cGFuZGVyLWV4cGFuZGVkIHtcblxuICAgICAgICAuanMtZXhwYW5kZXItaGFuZGxlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDFweCAtMjhweDtcbiAgICAgICAgfVxuXG4gICAgfVxufVxuXG4jZm9ybS1idWlsZGVyLWZ1bGxzY3JlZW4ge1xuICAgICY6YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB9XG59XG5cbi5mb3JtLWdyb3VwLmZpbGUtdXBsb2FkLWNvbnRhaW5lcixcbi5mb3JtLWdyb3VwIC5maWxlLXVwbG9hZC1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvLyBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLnBsYWNlaG9sZGVyIHtcbiAgICAgICAgd2lkdGg6IDM2JTtcbiAgICB9XG5cbiAgICBzcGFuW3JvbGU9YnV0dG9uXSB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT1maWxlXSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnVwbG9hZC1idXR0b24ge1xuICAgICAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIC8vIHRvcDogNTAlO1xuICAgICAgICAvLyByaWdodDogMDtcbiAgICAgICAgLy8gbWFyZ2luOiAwO1xuICAgICAgICAvLyBwYWRkaW5nOiAwO1xuICAgICAgICAvLyBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIC8vIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgLy8gb3BhY2l0eTogMDtcbiAgICAgICAgLy8gd2lkdGg6IDIwMHB4O1xuICAgIH1cblxuICAgIC51cGxvYWQtbGlzdCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgIHdpZHRoOiA0ODBweDtcblxuICAgICAgICAudXBsb2FkLWxpc3QtaXRlbSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBtYXJnaW46IDcuNXB4IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiA3LjVweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWUwZTI7XG5cbiAgICAgICAgICAgIGEucmVtb3ZlLXVwbG9hZCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICByaWdodDogNy41cHg7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG5cbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnICc7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgvcHVibGljL2ltYWdlcy9jbG9zZS5wbmcpIG5vLXJlcGVhdCA0cHggNHB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4uZm9ybS1sYWJlbCB7XG4gICAgJi5mb3JtLWxhYmVsLWlubGluZSB7XG4gICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG59XG5cbi5mb3JtLWNvbnRyb2wge1xuICAgICYuZm9ybS1jb250cm9sLWlubGluZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDI1JTtcbiAgICB9XG5cbiAgICAvL0B0b2RvIFVuLWJyaXR0bGUgdGhlIGZvbGxvd2luZyBjb2RlLiBNaXhpbiwgbWF5YmU/XG4gICAgJi5mb3JtLWNvbnRyb2wtZnVsbCB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDFweCkge1xuICAgICAgICAgICAgd2lkdGg6IDg5JTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRndXR0ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLmZvcm0tZ3JvdXAge1xuICAgIGlucHV0LmRpc2FibGVkLFxuICAgIGlucHV0W2Rpc2FibGVkXSxcbiAgICBpbnB1dFtkaXNhYmxlZD1cImRpc2FibGVkXCJdIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGdyZXktMztcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkZ3JleS0xO1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuXG4gICAgICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgeyAvKiBDaHJvbWUvT3BlcmEvU2FmYXJpICovXG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICB9XG4gICAgICAgICY6Oi1tb3otcGxhY2Vob2xkZXIgeyAvKiBGaXJlZm94IDE5KyAqL1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgfVxuICAgICAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IC8qIElFIDEwKyAqL1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgfVxuICAgICAgICAmOi1tb3otcGxhY2Vob2xkZXIgeyAvKiBGaXJlZm94IDE4LSAqL1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgJi5lcnJvciB7XG4gICAgICAgIGlucHV0LmRpc2FibGVkLFxuICAgICAgICBpbnB1dFtkaXNhYmxlZF0sXG4gICAgICAgIGlucHV0W2Rpc2FibGVkPVwiZGlzYWJsZWRcIl0ge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZXJyb3ItY29sb3VyO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi5mb3JtLXNlY3Rpb257XG4gICAgLmZvcm0tZ3JvdXAge1xuICAgICAgICA+IHAsID4gYXJ0aWNsZSB7XG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQxcHgpe1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhcnRpY2xlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRndXR0ZXItaGFsZjtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JleS0xO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi5mb3JtLWdyb3VwLXN1YiB7XG4gIEBleHRlbmQgLmZvcm0tZ3JvdXA7XG4gIG1hcmdpbi10b3A6ICRndXR0ZXI7XG59XG5cbmlucHV0LmVycm9yIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5sb2FkaW5nLWljb24ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLkNvZGVNaXJyb3Ige1xuICAgIG1hcmdpbi10b3A6ICRndXR0ZXI7XG4gICAgbWluLWhlaWdodDogNjAwcHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4vLyBUYWJsZSBGb3JtIGNvbnRyb2xzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBCeSBkZWZhdWx0LCBmb3JtIGNvbnRyb2xzIGFyZSA1MCUgd2lkdGggZm9yIGRlc2t0b3AsXG4vLyBhbmQgMTAwJSB3aWR0aCBmb3IgbW9iaWxlXG50YWJsZSAuZm9ybS1jb250cm9sIHtcbiAgd2lkdGg6IDkwJTtcbn1cblxuXG4vLyBKUy1UYWJsZSBzdHlsaW5nXG4uanMtdGFibGUge1xuICAgIC8vIEhpZGUgdGhlIGNvbHVtbiBmb3IgJ2dyYW50U2VjdGlvblV1aWQnXG4gICAgI2dyYW50X3NlY3Rpb25fdXVpZCwgW2hlYWRlcnM9XCJncmFudF9zZWN0aW9uX3V1aWRcIl0ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICNqcy10YWJsZS1pbnB1dCAuZm9ybS1ncm91cCB7XG4gICAgICAgIC5qcy1uZXctZ3JhbnQtYWRkLCAuanMtbmV3LWdyYW50LXVwZGF0ZSwgLmpzLWNhbmNlbCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI2pzLXRhYmxlLWlucHV0IC5ncmlkLTEtMiB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxufVxuXG4vL01ha2VzIHRoZSBmb250IGxhYmVsIG9mIHRoZSBmaWxlIHVwbG9hZHMgYm9sZFxuLmZpbGUtdXBsb2FkLWNvbnRhaW5lciAuZm9ybS1sYWJlbHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuaW5wdXRbdHlwZT10aW1lXSB7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzBiMGMwYztcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiR0RTIFRyYW5zcG9ydFwiLCBhcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE5cHg7XG59XG5cbmlucHV0W3R5cGU9dGltZV0uZ292dWstaW5wdXQtLWVycm9yeyAgYm9yZGVyOiAycHggc29saWQgI2Q0MzUxYzsgfVxuXG4udGltZS1zcGFuIHtcbiAgICBmb250LWZhbWlseTogXCJHRFMgVHJhbnNwb3J0XCIsIGFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTlweDtcbn1cblxuLmdvdnVrLWJ1dHRvbi1ncm91cCAuaGVscHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1ZWE1O1xuICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICBwYWRkaW5nLXRvcDogNXB4O1xufVxuXG5cbi5nb3Z1ay1mb3JtLWdyb3VwIC5nb3Z1ay1sYWJlbC5mb3JtLWxhYmVsLWlubGluZSB7XG4gICAgd2lkdGg6IDI1JTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5nb3Z1ay1mb3JtLWdyb3VwIC5nb3Z1ay1sYWJlbC5mb3JtLWxhYmVsLWlubGluZS1mbHVpZCB7XG4gICAgd2lkdGg6IGF1dG87XG59XG4uZ292dWstZm9ybS1ncm91cCAuZm9ybS1jb250cm9sLWlubGluZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiA0MSU7XG59XG5cbiNzdWJtaXNzaW9uX2RlYWRsaW5lIHRkIHtcbiAgICBidXR0b24uanMtcmVtb3ZlIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMDA1ZWE1O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuICAgIC5qcy1hZGQge1xuICAgICAgICAgICAgY29sb3I6ICMwMDVlYTU7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG59XG5cbiNzYXBfdmVuZG9yX2NvZGVzX3RhYmxlIHRkIGJ1dHRvbi5qcy1yZW1vdmUge1xuICAgIGNvbG9yOiAjMDA1ZWE1O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuI3NhcF92ZW5kb3JfY29kZXNfdGFibGUgdGQgYnV0dG9uLmpzLWFkZCB7XG4gICAgY29sb3I6ICMwMDVlYTU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4jZ3JhbnRfcGF5bWVudF9tZXRob2RzX3RhYmxlIHRkIGJ1dHRvbi5qcy1hZGRQYXltZW50TWV0aG9kIHtcbiAgICBjb2xvcjogIzAwNWVhNTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgZm9udC1zaXplOiAxOXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbiNncmFudF9wYXltZW50X21ldGhvZHNfdGFibGUgdGQgYnV0dG9uLmpzLXJlbW92ZVBheW1lbnRNZXRob2Qge1xuICAgIGNvbG9yOiAjMDA1ZWE1O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLm91dHB1dC13YXJuaW5nIHtcbiAgICBjb2xvcjogI2Y0NzczODtcbn1cblxuLm91dHB1dC1lcnJvciB7XG4gICAgY29sb3I6ICNiMTBlMWU7XG59XG5cbiNncmFudFNlY3Rpb25EZXRhaWwgdGQge1xuICAgIGJ1dHRvbi5qcy10YWJsZS1idG4ge1xuICAgICAgICAgICAgY29sb3I6ICMwMDVlYTU7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG59XG5cbi8qIEhpZGUgdW51c2VkL2luY29ycmVjdCBjb250cm9scyBmcm9tIHRoZSBcInB1Ymxpc2hcIiBkaWFsb2d1ZSBib3ggaW4gdGhlIGZvcm0gYnVpbGRlci5cbiAgIFlvdSBtdXN0IHVwZGF0ZSB0aGUgaWRzIHdoZW5ldmVyIHVwZGF0aW5nIHRoZSBPcmJlb24gdmVyc2lvbiAqL1xuI2VtYmVkZGVkLWZvcm0tYnVpbGRlciAub3JiZW9uLXBvcnRsZXQtZGl2IC5vcmJlb24tcG9ydGxldC1ib2R5IC54Zm9ybXMtZm9ybSAueXVpLXBhbmVsLWNvbnRhaW5lciAueHhmb3Jtcy1kaWFsb2ctYm9keSAueGZvcm1zLWNhc2Utc2VsZWN0ZWQge1xuICAgICNvMHhmLTk4NiwgI28weGYtOTkwIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLWRyb3Bkb3duIHtcbiAgICB6LWluZGV4OiA5OTk5OTk5O1xufVxuXG5hW2Rpc2FibGVkXSB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5kZWx0YS1kbCB7XG4gICAgLy8gdXNlZCBvbiBmb3JtIHN1bW1hcnkgcGFnZVxuICAgIGR0IHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDgwMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGRkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgfVxufVxuXG4vLyBNYWtlIHRoZSBsaW5rcyBpbiB0aGUgc2VhcmNoIGdyaWQgYXBwZWFyIGxpa2UgYSA8dGg+IG9uIGZvcm0gc2VhcmNoIHBhZ2VcbiNmb3JtLXNlYXJjaC1ncmlkID4gdGFibGUgPiB0Ym9keSA+ICogPiB0ZC5qc2dyaWQtY2VsbC50YWJsZS1saW5rID4gc3BhbiA+IGEge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4jZm9ybS1zdW1tYXJ5LWdyaWQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5nb3Z1ay1idXR0b24tZ3JvdXAuZGVsdGEtZm9ybS1idXR0b24tZ3JvdXAge1xuICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbn1cbiIsIi5zZWFyY2hmb3JtLFxuYXNpZGUuc2VhcmNoZm9ybSB7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luOiAwIDAgMCAwO1xuICBwYWRkaW5nOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgfVxuXG4gIC8vIFByb3RvdHlwZSBMYXlvdXQgUnVsZXMgZm9yIHNlYXJjaCBmb3Jtcy4uLlxuICAvLyBAdG9kbyBUaGVzZSBhcmUgc3ViamVjdCB0byByZXZpZXcgYW5kIG1pZ2h0IG5vdCBiZSBuZWNlc3NhcnkuLi4uXG4gICYuZm9ybS0xLTIge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cblxuICAmLmZvcm0tMS0zIHtcbiAgICB3aWR0aDogMzMuMzMlO1xuICB9XG5cbiAgJi5mb3JtLTItMyB7XG4gICAgd2lkdGg6IDY2LjY2JTtcbiAgfVxuXG4gICYuZm9ybS0xLTQge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cblxuICAmLmZvcm0tMy00IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG5cbiAgJi5mb3JtLWZ1bGwge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB9XG5cbiAgLmpzLXZpc2libGUgJiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAuanMtZW5hYmxlZCAmIGxhYmVsIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogOXB4O1xuICAgIHRvcDogOHB4O1xuICAgIHotaW5kZXg6IDE7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG5cbiAgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgIHJpZ2h0OiAycHg7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiA0OHB4O1xuICAgIGhlaWdodDogNDFweDtcblxuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuXG5cbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXS5mb3JtLWNvbnRyb2wge1xuXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyBDaHJvbWUgNC4wIHRvIDkuMCwgU2FmYXJpIDMuMSB0byA1LjAsIE1vYmlsZSBTYWZhcmkgMy4yIHRvIDQuMywgQW5kcm9pZCBCcm93c2VyIDIuMSB0byAzLjBcbiAgICAgICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gRmlyZWZveCAyLjAgdG8gMjguMCwgRmlyZWZveCBmb3IgQW5kcm9pZCAyNi4wIG9ud2FyZHNcbiAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHBhZGRpbmc6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgcGFkZGluZzogNnB4O1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkO1xuICAgIHotaW5kZXg6IDM7XG5cbiAgICAvLyBSZW1vdmUgaW5uZXIgc2hhZG93XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAvLyBSZW1vdmUgcm91bmRlZCBjb3JuZXJzXG4gICAgYm9yZGVyLXJhZGl1czogMDtcblxuXG4gICAgJjpmb2N1cywgJi5mb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgfVxuXG4gICAgLmpzLWVuYWJsZWQgJiB7XG4gICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgIHdpZHRoOiAtd2Via2l0LWNhbGMoMTAwJSAtIDQ5cHgpO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNDlweCk7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuZGF0YS1ncmlkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLWhlaWdodDogODAwcHg7XG4gICAgd2lkdGg6IGF1dG87XG5cbiAgICAuZ292dWstcGFnaW5hdGlvbl9faXRlbS0tY3VycmVudCB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG59XG5cblxuLmpzZ3JpZC1wYWdlci1jb250YWluZXIge1xuICAucHJldmlvdXMtbmV4dC1uYXZpZ2F0aW9uIHtcbiAgXHRsaS5qc2dyaWQtcGFnZXItbmF2LWJ1dHRvbiB7XG4gIFx0XHR0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgXHR9XG4gIH1cbn1cblxuLmpzZ3JpZC1ub2RhdGEtcm93IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdHN0cm9uZ3tcblx0XHRkaXNwbGF5OiBpbmxpbmU7XG5cdH1cbn1cblxuLmpzZ3JpZC1oZWFkZXItc29ydGFibGUge1xuICAgIGJ1dHRvbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICBidXR0b246YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcXDAwYTBcXDAwYTBcXDI1QkNcIjtcbiAgICAgICAgY29sb3I6ICRnb3Z1ay1ibHVlO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgcmlnaHQ6IC0xMHB4O1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG5cbiAgICBidXR0b246YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlxcMDBhMFxcMDBhMFxcMjVCMlwiO1xuICAgICAgICBjb2xvcjogJGdvdnVrLWJsdWU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBib3R0b206IDEwcHg7XG4gICAgICAgIHJpZ2h0OiAtMTBweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbn1cblxuLmpzZ3JpZC1oZWFkZXItc29ydC1kZXNjIHtcbiAgICBidXR0b246YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICByaWdodDogLTEycHg7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gICAgYnV0dG9uOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi5qc2dyaWQtaGVhZGVyLXNvcnQtYXNjIHtcbiAgICBidXR0b246YWZ0ZXIge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIHJpZ2h0OiAtMTJweDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgICBidXR0b246YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cblxuLmpzZ3JpZC1oZWFkZXItc29ydGFibGUge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmpzZ3JpZC1oZWFkZXItc29ydCB7XG5cbiAgICAmLWFzYyxcbiAgICAmLWRlc2Mge1xuXG4gICAgICAgIGEgLnNvcnQtaWNvbiB7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjNDQ0O1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLWFzYyB7XG4gICAgICAgIGEgLnNvcnQtaWNvbjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcMDBhMFxcMDBhMFxcMjVCMlwiO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1kZXNjIHtcbiAgICAgICAgYSAuc29ydC1pY29uOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFwwMGEwXFwwMGEwXFwyNUJDXCI7XG4gICAgICAgIH1cbiAgICB9XG5cblxufVxuXG5cbi5qcy1kcm9wZG93bi1saXN0LXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAuZmEtY2FyZXQtZG93biB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAxMTIuNSU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNSUpO1xuICAgIH1cbiAgICBidXR0b24ge1xuICAgICAgICAgICAgY29sb3I6ICMwMDVlYTU7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG59XG5cbi5qcy1kcm9wZG93bi1saXN0IHtcblxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ibHVlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJGd1dHRlci1oYWxmO1xuICAgIHJpZ2h0OiAtJGd1dHRlcjtcbiAgICBtaW4td2lkdGg6IDE1MHB4O1xuICAgIHotaW5kZXg6IDk5OTtcblxuICAgICYuanMtZHJvcGRvd24tbGlzdC1jbG9zZWQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICYub3ZlcmZsb3duIHtcbiAgICAgICAgcmlnaHQ6IDQwcHg7XG4gICAgICAgIGJvdHRvbTogY2FsYygxMDAlIC0gMjVweCArIDRweCk7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ3V0dGVyLW9uZS1xdWFydGVyO1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT0nc3VibWl0J10ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgY29sb3I6ICRnb3Z1ay1ibHVlO1xuICAgIH1cblxufVxuXG4uanNncmlkLXRhYmxlIHtcbiAgICB0YWJsZS1sYXlvdXQ6IGF1dG87XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmb250LWZhbWlseTogXCJudGFcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB0ciB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYmZjMWMzO1xuICAgICAgICBwYWRkaW5nOiAwLjYzMTU4ZW0gMS4wNTI2M2VtIDAuNDczNjhlbSAwO1xuICAgIH1cbn1cblxudGQuanNncmlkLWNlbGwsXG50aC5qc2dyaWQtaGVhZGVyLWNlbGwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzE1Nzk7XG4gICAgZm9udC1mYW1pbHk6IFwibnRhXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICAgIHBhZGRpbmc6IDAuNjMxNThlbSAxLjA1MjYzZW0gMC40NzM2OGVtIDA7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGNvbG9yOiAjMGIwYzBjO1xuXG4gICAgPiBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjVweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC41cHg7XG5cbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDFweCk7XG4gICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcblxuICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAjY2RmMWMzO1xuICAgICAgICA+IGJ1dHRvbiB7XG4gICAgICAgICAgICBjb2xvcjogIzAwNWVhNTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICA+IGJ1dHRvbjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmQwO1xuICAgICAgICB9XG5cbiAgICB9XG5cbn1cblxudGQuanNncmlkLWNlbGwubm93cmFwIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG50ZC5qc2dyaWQtY2VsbC5taW4td2lkdGgtMzAwIHtcbiAgICBtaW4td2lkdGg6IDMwMHB4O1xufVxuXG4uZmEge1xuZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQ6IG5vcm1hbCBub3JtYWwgbm9ybWFsIDE0cHgvMSBGb250QXdlc29tZTtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG59XG5cbi5mYS1zZWFyY2g6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+AglwiO1xufVxuXG4uY29udGVudCAuYnV0dG9uIHtcbmJhY2tncm91bmQtY29sb3I6ICMwMDgyM2I7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLXN0YWNrO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAuNTI2MzE1ZW0gLjc4OTQ3M2VtIC4yNjMxNTdlbTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwO1xuICAgIC1tb3otYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMnB4IDAgIzAwMzYxODtcbiAgICAtbW96LWJveC1zaGFkb3c6IDAgMnB4IDAgIzAwMzYxODtcbiAgICBib3gtc2hhZG93OiAwIDJweCAwICMwMDM2MTg7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcblxufVxuXG50aC5qc2dyaWQtaGVhZGVyLWNlbGwge1xuICBmb250LXdlaWdodDogNzAwO1xufVxuLy8gLmpzZ3JpZC1sb2FkLXNoYWRlciB7fVxuLy9cbi8vIC5qc2dyaWQtbG9hZC1wYW5lbCB7fVxuXG4uc2VhcmNoLWZpZWxkIHtcbiAgICB3aWR0aDogNjYlICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbn1cblxuLmZhLWNhcmV0LWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCLvg5dcIjtcbn1cblxuLmV2aWRlbmNlLXNlYXJjaF9fZGF0YS1ncmlkIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xufVxuIiwiLmRhdGEtZ3JpZC1kZWx0YS0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAuYWN0aXZlLWZpbHRlcnMtc3VtbWFyeSB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgY29sb3I6ICMxZDcwYjg7XG4gICAgICAgIGZvbnQtc2l6ZTogc21hbGxlcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgfVxuXG4gICAgLm11bHRpc2VsZWN0LWNob3Nlbi1vcHRpb25zIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgLnNlYXJjaC1jaG9pY2Uge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuICAgICAgICBidXR0b24uc2VhcmNoLWNob2ljZS1jbG9zZSB7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGFsbDogdW5zZXQ7XG4gICAgICAgIH1cbiAgICAgICAgYnV0dG9uLnNlYXJjaC1jaG9pY2UtY2xvc2U6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIsOXXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRvcDogLTdweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzVweDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wYWdlci1jb250cm9scyB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAucGFnZXItaXRlbXMge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmRhdGEtZ3JpZC1zY3JvbGwtY29udGFpbmVyIHtcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICB9XG5cbiAgICAuY29sbGVjdGlvbi1ncm91cHNfX29yZ2FuaXNhdGlvbnMtbGlzdCB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBwcmUtbGluZTtcbiAgICB9XG5cbiAgICAuZGVsdGEtdGFibGUtZmlsdGVycyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YyZjE7XG5cbiAgICAgICAgLmRlbHRhLXRhYmxlLWZpbHRlcnMtaGVhZGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjFiNGI2O1xuICAgICAgICB9XG4gICAgICAgIC5kZWx0YTItdGFibGUtZmlsdGVycy1oZWFkZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgICAgfVxuICAgICAgICAuZGVsdGEtZmlsdGVycy1oZWFkZXItY29tcG9uZW50cyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgICAgLmRlbHRhLXJlc3VsdHMtYWN0aXZlLWZpbHRlcnMge1xuICAgICAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFNkU2RTY7XG4gICAgICAgIH1cbiAgICAgICAgLmZhY2V0cyB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNlYXJjaGZvcm0gLmNvbnRlbnQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogaW5pdGlhbDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWFyY2hmb3JtIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zbWFsbC1idXR0b24ge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAjc2VhcmNoLXRleHRmaWVsZCB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNDNweCk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmXG4gICAgICAgIH1cblxuICAgICAgICAuc2VhcmNoLXRleHRmaWVsZC1uby1idXR0b24ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmZcbiAgICAgICAgfVxuXG4gICAgICAgIC5qcy1leHBhbmRlci10b2dnbGUtYWxsLWdkcyB7XG4gICAgICAgICAgICBjb2xvcjogIzFkNzBiODtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDFweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICB9XG4gICAgICBcbiAgICAgICAgLmFwcGx5LWFsbC1maWx0ZXJzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMwMDcwM2M7XG4gICAgICAgIH1cblxuICAgICAgICAuY2xlYXItYWxsLWZpbHRlcnMge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICAgICAgfVxuICAgICAgICAuY2xlYXItYWxsLWZpbHRlcnMge1xuICAgICAgICAgICAgY29sb3I6ICMxZDcwYjg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1bnNldCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm94LXNoYWRvdzogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNsZWFyLWFsbC1maWx0ZXJzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNsZWFyLWFsbC1maWx0ZXJzOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBjb2xvcjogIzAwNDM3ZDtcbiAgICAgICAgICAgIG91dGxpbmU6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG4gICAgICAgIC5kYXRhZ3JpZF9jbGVhci1maWx0ZXItbGlua3tcbiAgICAgICAgICAgIGNvbG9yOiAjMWQ3MGI4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuZGF0YWdyaWRfY2xlYXItZmlsdGVyLWxpbms6aG92ZXJ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDllZWZmO1xuICAgICAgICAgICAgY29sb3I6ICMwMDQzN2Q7XG4gICAgICAgICAgICBvdXRsaW5lOiAycHggc29saWQgI2Q5ZWVmZjtcbiAgICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG4gICAgICAgIH1cblxuICAgICAgICAuZHNfZGF0ZXBpY2tlcl9fYnV0dG9ue1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3MDNjIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kc19kYXRlcGlja2VyX19pbnB1dC13cmFwcGVye1xuICAgICAgICAgICAgZ2FwOiAwLjVyZW0gIWltcG9ydGFudDtcblxuICAgICAgICAgICAgLmRlbHRhLWZpbHRlcnNfZGF0ZS1waWNrZXItaW5wdXQtY29udGFpbmVye1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tYnV0dG9uIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYjFiNGI2O1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMXB4O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubXVsdGlzZWxlY3Qtc3VtbWFyeSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLXRvZ2dsZSB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgICAgICAgICAuZ292dWstYWNjb3JkaW9uLW5hdl9fY2hldnJvbiB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogLTJweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5nb3Z1ay1hY2NvcmRpb24tbmF2X19jaGV2cm9uIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMwYjBjMGM7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMwYjBjMGM7XG5cbiAgICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmM2YyZjE7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZGVsdGEtdGFibGUtZmlsdGVyLXN1bW1hcnkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWQ3MGI4O1xuICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgIC5zaG93LWZpbHRlcnMge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAycHggMCAjMTQ0ZTgxO1xuICAgICAgICAgICAgY29sb3I6ICMxZDcwYjg7XG4gICAgICAgICAgICBwYWRkaW5nOiA4cHggMTBweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlOGYxZjg7XG4gICAgICAgICAgICAgICAgY29sb3I6ICMxZDcwYjg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGkuZmEge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogYmxhY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5kZWx0YS10YWJsZS1maWx0ZXItc3VtbWFyeSAuZ292dWstZm9ybS1ncm91cCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICBzZWxlY3QuYWRkLXRvLW11bHRpc2VsZWN0IHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDY1cHgpO1xuICAgIH1cbiAgICBidXR0b24uYWRkLXRvLW11bHRpc2VsZWN0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAuanMtZXhwYW5kZXItaGFuZGxlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5maWx0ZXIuanMtZXhwYW5kZXIge1xuICAgICAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLXRvZ2dsZS10ZXh0LS1zaG93IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgfVxuICAgICAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLXRvZ2dsZS10ZXh0LS1oaWRlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuZ292dWstYWNjb3JkaW9uLW5hdl9fY2hldnJvbiB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5qcy1leHBhbmRlci1leHBhbmRlZCB7XG4gICAgICAgICAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLXRvZ2dsZS10ZXh0LS1zaG93IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi10b2dnbGUtdGV4dC0taGlkZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZ292dWstYWNjb3JkaW9uLW5hdl9fY2hldnJvbiB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmpzLWV4cGFuZGVyLS1pbml0aWFsLWNvbGxhcHNlIHtcbiAgICAgICAgICAgIC5qcy1leHBhbmRlci10YXJnZXQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZmlsdGVyLXRpdGxlIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYmFja2dyb3VuZDogMDtcbiAgICB9XG5cbiAgICAuZmlsdGVyIC5jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuZmlsdGVyIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgfVxuXG4gICAgLmFjdGl2ZS1maWx0ZXJzIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgfVxuXG4gICAgLy8gVGFrZW4gZnJvbSBnb3Z1ayBjc3M6XG4gICAgLmdvdnVrLXBhZ2luYXRpb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAgICAgLmdvdnVrLXBhZ2luYXRpb24ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gICAgICAgIC5nb3Z1ay1wYWdpbmF0aW9uIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19saXN0IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cblxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19pdGVtLFxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19uZXh0LFxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19wcmV2IHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiR0RTIFRyYW5zcG9ydFwiLCBhcmlhbCwgc2Fucy1zZXJpZjtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWluLXdpZHRoOiA0NXB4O1xuICAgICAgICBtaW4taGVpZ2h0OiA0NXB4O1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbiAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAuZ292dWstcGFnaW5hdGlvbl9faXRlbSxcbiAgICAgICAgLmdvdnVrLXBhZ2luYXRpb25fX25leHQsXG4gICAgICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19wcmV2IHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAgICAgLmdvdnVrLXBhZ2luYXRpb25fX2l0ZW0sXG4gICAgICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19uZXh0LFxuICAgICAgICAuZ292dWstcGFnaW5hdGlvbl9fcHJldiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjMxNTc4OTQ3Mzc7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgLmdvdnVrLXBhZ2luYXRpb25fX2l0ZW0sXG4gICAgICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19uZXh0LFxuICAgICAgICAuZ292dWstcGFnaW5hdGlvbl9fcHJldiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHQ7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4xNTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuZ292dWstcGFnaW5hdGlvbl9faXRlbTpob3ZlcixcbiAgICAuZ292dWstcGFnaW5hdGlvbl9fbmV4dDpob3ZlcixcbiAgICAuZ292dWstcGFnaW5hdGlvbl9fcHJldjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YyZjE7XG4gICAgfVxuXG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX2l0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAgICAgLmdvdnVrLXBhZ2luYXRpb25fX2l0ZW0ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZ292dWstcGFnaW5hdGlvbl9fcHJldixcbiAgICAuZ292dWstcGFnaW5hdGlvbl9fbmV4dCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19wcmV2IC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rLFxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19uZXh0IC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuZ292dWstcGFnaW5hdGlvbl9fcHJldiB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG5cbiAgICAuZ292dWstcGFnaW5hdGlvbl9fbmV4dCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX2l0ZW0tLWN1cnJlbnQsXG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX2l0ZW0tLWVsbGlwc2VzLFxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19pdGVtOmZpcnN0LWNoaWxkLFxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuZ292dWstcGFnaW5hdGlvbl9faXRlbS0tY3VycmVudCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIG91dGxpbmU6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFkNzBiODtcbiAgICB9XG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX2l0ZW0tLWN1cnJlbnQ6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWQ3MGI4O1xuICAgIH1cbiAgICAuZ292dWstcGFnaW5hdGlvbl9faXRlbS0tY3VycmVudCAuZ292dWstcGFnaW5hdGlvbl9fbGluazpsaW5rLCAuZ292dWstcGFnaW5hdGlvbl9faXRlbS0tY3VycmVudCAuZ292dWstcGFnaW5hdGlvbl9fbGluazp2aXNpdGVkIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgfVxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19pdGVtLS1jdXJyZW50IC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rOmhvdmVyLCAuZ292dWstcGFnaW5hdGlvbl9faXRlbS0tY3VycmVudCAuZ292dWstcGFnaW5hdGlvbl9fbGluazphY3RpdmUge1xuICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk5KTtcbiAgICB9XG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX2l0ZW0tLWN1cnJlbnQgLmdvdnVrLXBhZ2luYXRpb25fX2xpbms6Zm9jdXMge1xuICAgICAgICBjb2xvcjogIzBiMGMwYztcbiAgICB9XG5cbiAgICAuZ292dWstcGFnaW5hdGlvbl9faXRlbS0tZWxsaXBzZXMge1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBjb2xvcjogIzUwNWE1ZjtcbiAgICB9XG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX2l0ZW0tLWVsbGlwc2VzOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX2xpbmsge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWluLXdpZHRoOiAxNXB4O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIEBtZWRpYSBzY3JlZW4ge1xuICAgICAgICAuZ292dWstcGFnaW5hdGlvbl9fbGluazo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuZ292dWstcGFnaW5hdGlvbl9fbGluazpob3ZlciAuZ292dWstcGFnaW5hdGlvbl9fbGluay10aXRsZS0tZGVjb3JhdGVkLCAuZ292dWstcGFnaW5hdGlvbl9fbGluazphY3RpdmUgLmdvdnVrLXBhZ2luYXRpb25fX2xpbmstdGl0bGUtLWRlY29yYXRlZCB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiBtYXgoMXB4LCAuMDYyNXJlbSk7XG4gICAgICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMC4xNTc4ZW07XG4gICAgfVxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rOmhvdmVyIC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rLWxhYmVsLFxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rOmhvdmVyIC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rLXRpdGxlLS1kZWNvcmF0ZWQsIC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rOmFjdGl2ZSAuZ292dWstcGFnaW5hdGlvbl9fbGluay1sYWJlbCxcbiAgICAuZ292dWstcGFnaW5hdGlvbl9fbGluazphY3RpdmUgLmdvdnVrLXBhZ2luYXRpb25fX2xpbmstdGl0bGUtLWRlY29yYXRlZCB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IG1heCgzcHgsIC4xODc1cmVtLCAuMTJlbSk7XG4gICAgICAgIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXAtaW5rOiBub25lO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb24tc2tpcC1pbms6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG5vbmU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbi1za2lwOiBub25lO1xuICAgIH1cbiAgICAuZ292dWstcGFnaW5hdGlvbl9fbGluazpmb2N1cyAuZ292dWstcGFnaW5hdGlvbl9faWNvbiB7XG4gICAgICAgIGNvbG9yOiAjMGIwYzBjO1xuICAgIH1cbiAgICAuZ292dWstcGFnaW5hdGlvbl9fbGluazpmb2N1cyAuZ292dWstcGFnaW5hdGlvbl9fbGluay1sYWJlbCB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX2xpbms6Zm9jdXMgLmdvdnVrLXBhZ2luYXRpb25fX2xpbmstdGl0bGUtLWRlY29yYXRlZCB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAuZ292dWstcGFnaW5hdGlvbl9fbGluay1sYWJlbCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiBtYXgoMXB4LCAuMDYyNXJlbSk7XG4gICAgICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMC4xNTc4ZW07XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIH1cblxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19pY29uIHtcbiAgICAgICAgd2lkdGg6IDAuOTM3NXJlbTtcbiAgICAgICAgaGVpZ2h0OiAwLjgxMjVyZW07XG4gICAgICAgIGNvbG9yOiAjNTA1YTVmO1xuICAgICAgICBmaWxsOiBjdXJyZW50Y29sb3I7XG4gICAgICAgIGZvcmNlZC1jb2xvci1hZGp1c3Q6IGF1dG87XG4gICAgfVxuXG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX2ljb24tLXByZXYge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgfVxuXG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX2ljb24tLW5leHQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICB9XG5cbiAgICAuZ292dWstcGFnaW5hdGlvbi0tYmxvY2sge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgLmdvdnVrLXBhZ2luYXRpb24tLWJsb2NrIC5nb3Z1ay1wYWdpbmF0aW9uX19pdGVtIHtcbiAgICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgfVxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uLS1ibG9jayAuZ292dWstcGFnaW5hdGlvbl9fbmV4dCxcbiAgICAuZ292dWstcGFnaW5hdGlvbi0tYmxvY2sgLmdvdnVrLXBhZ2luYXRpb25fX3ByZXYge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgIH1cbiAgICAuZ292dWstcGFnaW5hdGlvbi0tYmxvY2sgLmdvdnVrLXBhZ2luYXRpb25fX25leHQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgIH1cbiAgICAuZ292dWstcGFnaW5hdGlvbi0tYmxvY2sgLmdvdnVrLXBhZ2luYXRpb25fX25leHQgLmdvdnVrLXBhZ2luYXRpb25fX2ljb24ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gICAgLmdvdnVrLXBhZ2luYXRpb24tLWJsb2NrIC5nb3Z1ay1wYWdpbmF0aW9uX19wcmV2ICsgLmdvdnVrLXBhZ2luYXRpb25fX25leHQge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2IxYjRiNjtcbiAgICB9XG4gICAgLmdvdnVrLXBhZ2luYXRpb24tLWJsb2NrIC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rLFxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uLS1ibG9jayAuZ292dWstcGFnaW5hdGlvbl9fbGluay10aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICB9XG4gICAgLmdvdnVrLXBhZ2luYXRpb24tLWJsb2NrIC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rLXRpdGxlOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAuZ292dWstcGFnaW5hdGlvbi0tYmxvY2sgLmdvdnVrLXBhZ2luYXRpb25fX2xpbmsge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgICAuZ292dWstcGFnaW5hdGlvbi0tYmxvY2sgLmdvdnVrLXBhZ2luYXRpb25fX2xpbms6Zm9jdXMgLmdvdnVrLXBhZ2luYXRpb25fX2xpbmstbGFiZWwge1xuICAgICAgICBvdXRsaW5lOiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiAjMGIwYzBjO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZkZDAwO1xuICAgICAgICBib3gtc2hhZG93OiAwIC0ycHggI2ZmZGQwMCwgMCA0cHggIzBiMGMwYztcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAtd2Via2l0LWJveC1kZWNvcmF0aW9uLWJyZWFrOiBjbG9uZTtcbiAgICAgICAgYm94LWRlY29yYXRpb24tYnJlYWs6IGNsb25lO1xuICAgIH1cbiAgICAuZ292dWstcGFnaW5hdGlvbi0tYmxvY2sgLmdvdnVrLXBhZ2luYXRpb25fX2xpbms6bm90KDpmb2N1cykge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uLS1ibG9jayAuZ292dWstcGFnaW5hdGlvbl9faWNvbiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICB9XG5cblxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19pdGVtIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICAuZ292dWstcGFnaW5hdGlvbl9faXRlbS0tY3VycmVudCB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIH1cblxuICAgIC50b3RhbC1yZWNvcmRzLWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA4MHB4XG4gICAgfVxufSIsIi5kZWx0YS1maWx0ZXJzX2hlYWRlcntcbiAgcGFkZGluZzogMXJlbTtcbn1cblxuLmFjdGl2ZS1maWx0ZXJzLWNvdW50e1xuICBtYXJnaW4tbGVmdDogMC4ycmVtO1xufVxuXG4uZGVsdGEtZmlsdGVyc19jb250YWluZXJ7XG4gIHBhZGRpbmc6IDFyZW07XG5cbiAgLmRlbHRhLWZpbHRlcnMtYWN0aXZlLXRhZ3tcbiAgICBtYXJnaW46IDAgMC4ycmVtO1xuICB9XG5cbiAgLmRlbHRhLWZpbHRlcnMtY2xlYXItZmlsdGVyLWxpbmt7XG4gICAgY29sb3I6ICMxZDcwYjg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG5cbiAgLmRlbHRhLWZpbHRlcnMtY2xlYXItZmlsdGVyLWxpbms6aG92ZXJ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q5ZWVmZjtcbiAgICBjb2xvcjogIzAwNDM3ZDtcbiAgICBvdXRsaW5lOiAycHggc29saWQgI2Q5ZWVmZjtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICB9XG5cbiAgLmRlbHRhLWZpbHRlcnNfY2hvc2VuLW9wdGlvbntcblxuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLmRlbHRhLWZpbHRlcnNfcmVtb3ZlLW9wdGlvbntcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYWxsOiB1bnNldDtcbiAgICB9XG5cbiAgICAuZGVsdGEtZmlsdGVyc19yZW1vdmUtb3B0aW9uOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLDl1wiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IC03cHg7XG4gICAgICBmb250LXNpemU6IDM1cHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLm11bHRpc2VsZWN0LWlucHV0LWNvbnRhaW5lcntcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG5cblxufVxuXG4uZGVsdGEtZmlsdGVyc19jb250cm9sc3tcbiAgcGFkZGluZzogMXJlbTtcblxuICAjZmlsdGVycy1jbGVhci1idXR0b24sICNmaWx0ZXJzLXJlc2V0LWJ1dHRvbntcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIGNvbG9yOiAjMWQ3MGI4O1xuICAgIGJhY2tncm91bmQ6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogdW5zZXQgIWltcG9ydGFudDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuXG4gICNmaWx0ZXJzLWNsZWFyLWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAjZmlsdGVycy1jbGVhci1idXR0b246aG92ZXIsICNmaWx0ZXJzLXJlc2V0LWJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5zZXQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzAwNDM3ZDtcbiAgICBvdXRsaW5lOiB1bnNldCAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG5cbi5kZWx0YS1maWx0ZXJzLXNlbGVjdC13aXRoLWFkZHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjJyZW07XG59XG5cbiIsIkB1c2UgJ3Nhc3M6bWF0aCc7XG5cbiRndXR0ZXI6IDMwcHg7XG4kZ3V0dGVyLW9uZS1xdWFydGVyOiBtYXRoLmRpdigkZ3V0dGVyLCA0KTtcbiRndXR0ZXItb25lLXRoaXJkOiBtYXRoLmRpdigkZ3V0dGVyLCAzKTtcbiRndXR0ZXItaGFsZjogbWF0aC5kaXYoJGd1dHRlciwgMik7XG4kZ292dWstYmx1ZTogIzAwNWVhNTtcbiRsaWdodC1ibHVlOiAjMmI4Y2M0O1xuJHdoaXRlOiAjZmZmO1xuXG5cbi5qcy1hY3RpdmUtZmlsdGVycy1kcm9wZG93bi1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvLyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgPiBhOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMTAuNXB4O1xuICAgIH1cblxuICAgIC5mYS1jYXJldC1kb3duIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUlKTtcbiAgICB9XG59XG5cblxuLmpzLWFjdGl2ZS1maWx0ZXJzLWRyb3Bkb3duIHtcblxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ibHVlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJGd1dHRlci1oYWxmO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICBtaW4td2lkdGg6IDE1MHB4O1xuICAgIHotaW5kZXg6IDk5OTtcblxuICAgICYuanMtYWN0aXZlLWZpbHRlcnMtZHJvcGRvd24tY2xvc2VkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRndXR0ZXItb25lLXF1YXJ0ZXI7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPSdzdWJtaXQnXSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBjb2xvcjogJGdvdnVrLWJsdWU7XG4gICAgfVxufVxuXG4uZmFjZXRzIC5nb3Z1ay1mb3JtLWdyb3VwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uZmFjZXRzIC5qcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uZm9ybS1wYW5lbC5qcy1leHBhbmRlciAuanMtZXhwYW5kZXItdGFyZ2V0IHtcbiAgICBib3JkZXI6IG5vbmU7XG59XG5cbi5maWx0ZXIgLmJsb2NrLWxpc3QuYWN0aXZlLWZpbHRlcnMtbGlzdCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIGxpIHtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgfVxufVxuXG4uZmFjZXRzIC5zaWRlYmFyLXNlYXJjaC1maWVsZCAuZ292dWstYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufSIsIi8vIE5vdGljZSwgdGV4dCB3aXRoIGFuIGljb24gdG8gdGhlIGxlZnRcbi8vQHRvZG8gUmV2aWV3IHdoZXRoZXIgZHVwbGljYXRpb24gaGVyZSBjYW4gYmUgdGlkaWVkIHVwIC0gY3VycmVudCBmb3JtYXQgd2FzXG4vLyBhIHNlbWktQyZQIGpvYi4uLiBTY3JlZW4uc2NzcyBoYXMgYW5vdGhlciByZWxhdGVkIGNodW5rIG9mICdub3RpY2UnXG5cbi5ub3RpY2Uge1xuICAgIC8vQGV4dGVuZCAlY29udGFpbi1mbG9hdHM7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6ICRndXR0ZXItaGFsZiAwICRndXR0ZXItb25lLXRoaXJkO1xuXG4gICAgLmljb24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMTdweDsgLy8gSGFsZiB0aGUgaGVpZ2h0IG9mIHRoZSBpbXBvcnRhbnQgaWNvblxuXG4gICAgICAmLmZhIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEzcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC05cHg7XG4gICAgICB9XG5cbiAgICAgICYuZmEtMnh7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLTIwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgc3Ryb25nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmctbGVmdDogKDM1ICsgMzApICsgcHg7XG4gICAgICAgIC8vIG1hcmdpbi1sZWZ0OiAtJGd1dHRlci1oYWxmO1xuICAgIH1cblxuXG59XG5cblxuLm5vdGljZSB7XG4gICAgLmljb24uanMtY2xvc2UtZWxlbWVudCB7XG4gICAgICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTdweDtcbiAgICB9XG5cbiAgICBzdHJvbmcge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyICogMS41O1xuICAgIH1cblxuICAgIC5pY29uLWJhbm5lci13YXJuaW5nIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDExcHg7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdpJztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRndXR0ZXItaGFsZjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgZm9udC1zaXplOiAyM3B4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogM3B4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuM2VtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5nb3Z1ay1ibHVlLWJhbm5lciB7XG5cbiAgICAgICAgLmljb24tYmFubmVyLXdhcm5pbmc6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZ292dWstYmx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4uZm9ybS1ncm91cHtcbiAgICAubm90aWNle1xuICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgLy9AZXh0ZW5kIC5ib2xkLXhzbWFsbDtcbiAgICAgICAgICAgIGNvbG9yOiAkZ292dWstYmx1ZTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGd1dHRlci1vbmUtdGhpcmQgKiA0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmljb24ge1xuICAgICAgICAgIG1hcmdpbi10b3A6IC0xM3B4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmljb24tYmFubmVyLXdhcm5pbmcge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAvL0BleHRlbmQgLmJvbGQteHNtYWxsO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRnb3Z1ay1ibHVlO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cbn1cblxuLyogQHRvZG86IG1ha2UgU0FTUzsgY29waWVkIGFzLWlzIGZyb20gX2RjbGcuc2NzcyB8IGJsdWUgaW5mb3JtYXRpb24gYmFubmVyICovXG4uZ292dWstYmx1ZS1iYW5uZXJ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1ibHVlO1xuICBjb2xvcjogJHdoaXRlO1xuXG4gIGE6bGluaywgYTp2aXNpdGVkIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG5cbiAgLmljb24uanMtY2xvc2UtZWxlbWVudCB7XG4gICAgYmFja2dyb3VuZDogdXJsKC9wdWJsaWMvaW1hZ2VzL2Nsb3NlLWludmVyc2UucG5nKSBuby1yZXBlYXQgMnB4IDJweDtcbiAgfVxuXG59XG5cbi5nb3Z1ay1yZWQtYmFubmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcbiAgY29sb3I6ICR3aGl0ZTtcblxuICBhOmxpbmssIGE6dmlzaXRlZCB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxuXG4gIC5pY29uLmpzLWNsb3NlLWVsZW1lbnQge1xuICAgIGJhY2tncm91bmQ6IHVybCgvcHVibGljL2ltYWdlcy9jbG9zZS1pbnZlcnNlLnBuZykgbm8tcmVwZWF0IDJweCAycHg7XG4gIH1cblxufVxuLmdvdnVrLXllbGxvdy1iYW5uZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeWVsbG93O1xuICBjb2xvcjogJGJsYWNrO1xuXG4gIGE6bGluaywgYTp2aXNpdGVkIHtcbiAgICBjb2xvcjogJGJsYWNrO1xuICB9XG5cbiAgLmljb24uanMtY2xvc2UtZWxlbWVudCB7XG4gICAgYmFja2dyb3VuZDogdXJsKC9wdWJsaWMvaW1hZ2VzL2Nsb3NlLnBuZykgbm8tcmVwZWF0IDJweCAycHg7XG4gIH1cblxufVxuLmdvdnVrLWdyZWVuLWJhbm5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbiAgY29sb3I6ICR3aGl0ZTtcblxuICBhOmxpbmssIGE6dmlzaXRlZCB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxuXG4gIC5pY29uLmpzLWNsb3NlLWVsZW1lbnQge1xuICAgIGJhY2tncm91bmQ6IHVybCgvcHVibGljL2ltYWdlcy9jbG9zZS1pbnZlcnNlLnBuZykgbm8tcmVwZWF0IDJweCAycHg7XG4gIH1cblxufVxuXG5cbi8vIE5vdGljZSBiYW5uZXIgZm9yICdEZWxldGUgZGlhbG9nJyBwb3B1cFxuLy8gQHRvZG8gUmV2aWV3IHRvIHNlZSBpZiB0aGlzIGNhbiBiZSBmbGF0dGVuZWQgaW50byBleGlzdGluZyBzdHlsZXMgYWJvdmVcblxuLm5vdGljZXtcbiAgJi1kZWxldGV7XG4gICAgcGFkZGluZzogMTVweCAwIDEwcHg7XG4gICAgYmFja2dyb3VuZDogJHJlZDtcbiAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgLmljb257XG4gICAgICBsZWZ0OiAxLjUlO1xuICAgIH1cblxuICB9XG59XG5cbi5mb3JtLWdyb3VwIHtcblxuICAgIC5pbmZvLW5vdGljZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNTVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAuZ292dWstd2FybmluZy10ZXh0X19pY29uIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiR0RTIFRyYW5zcG9ydFwiLGFyaWFsLHNhbnMtc2VyaWY7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBtaW4td2lkdGg6IDM1cHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDM1cHg7XG4gICAgICAgIGJvcmRlcjogM3B4IHNvbGlkICMwYjBjMGM7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGJhY2tncm91bmQ6ICMwYjBjMGM7XG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI5cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB9XG4gICAgLmdvdnVrLXdhcm5pbmctdGV4dF9fdGV4dCB7XG4gICAgICAgIGNvbG9yIDogIzBiMGMwYyAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemUgOiAxOXB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gICAgfVxuXG59XG4iLCIjaW4tcmV2aWV3LWJveCB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDdweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmFmYTA1O1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XG4gICAgd2lkdGg6IDU4MHB4O1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMTAxcHg7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgIGZvbnQtc2l6ZTogOHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDk3cHg7XG4gIH1cbn1cblxuI2FwcHJvdmVkLWJveCB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDdweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmY5ZjQwO1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XG4gICAgd2lkdGg6IDU4MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7XG59XG5cbiNjbGVhcmVkLWJveCB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDdweDtcbiAgICBiYWNrZ3JvdW5kOiAjMDA5OTAwO1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XG4gICAgd2lkdGg6IDU4MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE0MnB4O1xuICBAbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgZm9udC1zaXplOiA4cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDExN3B4O1xuICB9XG59XG5cbiNmb3JlY2FzdC1ib3gge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBib3JkZXItcmFkaXVzOiA3cHg7XG4gICAgYmFja2dyb3VuZDogIzIxZWNlOTtcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xuICAgIHdpZHRoOiA1ODBweDtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBhZGRpbmctcmlnaHQ6IDI1OXB4O1xuICBAbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgcGFkZGluZy1yaWdodDogMTc1cHg7XG4gIGZvbnQtc2l6ZTogOHB4O1xuICB9XG59XG5cbiNkYXNoYm9hcmQtcGFnZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbn1cblxuLmxlZ2VuZC1ncm91cCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIHdpZHRoOiA2MzBweDtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgd2lkdGg6IDM4MnB4O1xuICAgIH1cblxufVxuXG4uZm9ybS1ncm91cCAubGVnZW5kLWJveCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgYm9yZGVyLXJhZGl1czogN3B4O1xuICBwYWRkaW5nOiA1cHg7XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbiAgd2lkdGg6IDU4MHB4O1xufVxuXG4uZm9ybS1ncm91cCAjb3Blbi1kYXRhLWJveCB7XG4gICAgcGFkZGluZy1yaWdodDogMjMwcHg7XG4gICAgYmFja2dyb3VuZDogcmdiKDIwMSwgMjAzLCAyMDcpO1xufVxuLmZvcm0tZ3JvdXAgI3NhdmVkLWJveCB7XG4gICAgcGFkZGluZy1yaWdodDogMzg2cHg7XG4gICAgYmFja2dyb3VuZDogcmdiKDI1MCwgMjUwLCA1KTtcbn1cbi5mb3JtLWdyb3VwICNzdWJtaXR0ZWQtYm94IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNDVweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2IoMzMsIDIzNiwgMjMzKTtcbn1cbi5mb3JtLWdyb3VwICNjZXJ0aWZpZWQtYm94IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNjVweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2IoMCwgMTI4LCAwKTtcbn1cblxuLmZvcm0tZ3JvdXAgLmxlZ2VuZC1ib3ggc3BhbiB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4iLCJzZWN0aW9uI21vcmV7XG4gIG1hcmdpbi10b3A6ICRndXR0ZXI7XG59XG5cbi5uYXYtdGFicyB7XG4gIHpvb206IDE7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIi5cIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDA7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgb2wsIHVsLCAudGFicy1uYXZ7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogNTtcbiAgfVxuXG4gIGxpLCAudGFicy1uYXYgbGl7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQxcHgpe1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBib3JkZXI6IHNvbGlkIDFweCAjZmZmO1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgaGVpZ2h0OiAyLjI1ZW07XG4gICAgICBsaW5lLWhlaWdodDogMi4yNWVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTFweDtcbiAgICAgIHBhZGRpbmc6IDAgMWVtIDAgMWVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgICYuYWN0aXZlIGF7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgYm9yZGVyOiBzb2xpZCAxcHggI2JmYzFjMztcbiAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAjZmZmO1xuICAgICAgY29sb3I6ICMwYjBjMGM7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB6LWluZGV4OiA1O1xuICAgIH1cblxuICAgICY6Zmlyc3QtY2hpbGQgYXtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG4uanMtdGFiLWNvbnRlbnQge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi50YWItY29udGVudCAudGFiLXBhbmUge1xuICBwYWRkaW5nOiAkZ3V0dGVyIDAgMCAwO1xuICBib3JkZXItdG9wOiBzb2xpZCAxcHggI2JmYzFjMztcbiAgY2xlYXI6IGJvdGg7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4ub2ZmaWNlLWZvcm0tbm90aWNlLXBhc3N3b3JkIHtcbiAgICBmb250LXNpemU6IDE3cHggIWltcG9ydGFudDtcbiAgICBmb250LWZhbWlseTogU2Vnb2UgVUksU2Vnb2UgV1AsVGFob21hLEFyaWFsLHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbn1cblxuLm9mZmljZS1mb3JtLWZvb3Rlci1ibG9jayB7XG4gICAgZm9udC1zaXplOiAxN3B4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC1mYW1pbHk6IFNlZ29lIFVJLFNlZ29lIFdQLFRhaG9tYSxBcmlhbCxzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG59XG4iLCIucHJldmlvdXMtbmV4dC1uYXZpZ2F0aW9uIHtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzpoaWRkZW47XG4gICAgbWFyZ2luLXRvcDo2MHB4O1xuICAgIHdpZHRoOjEwMCU7XG59XG4ucHJldmlvdXMtbmV4dC1uYXZpZ2F0aW9uIGxpe1xuICBmb250LWZhbWlseTpcIm50YVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOjIwcHg7XG4gIGxpbmUtaGVpZ2h0OjEuMTExMTE7XG4gIGZvbnQtd2VpZ2h0OjQwMDtcbiAgdGV4dC10cmFuc2Zvcm06bm9uZTtcbiAgZGlzcGxheTpibG9jaztcbiAgcGFkZGluZzowO1xuICBtYXJnaW46MDtcbiAgd2lkdGg6NTAlO1xuICBmbG9hdDpsZWZ0O1xuXG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NDFweCkge1xuICAucHJldmlvdXMtbmV4dC1uYXZpZ2F0aW9uIGxpIHtcbiAgICBmb250LXNpemU6MjdweDtcbiAgICBsaW5lLWhlaWdodDoxLjExMTExXG4gIH1cbn1cblxuIC5wcmV2aW91cy1uZXh0LW5hdmlnYXRpb24gbGkubmV4dCB7XG4gICBmbG9hdDpyaWdodDtcbiAgIHRleHQtYWxpZ246cmlnaHQ7XG4gfVxuXG4gLnByZXZpb3VzLW5leHQtbmF2aWdhdGlvbiBsaS5uZXh0IGEge1xuICAgcGFkZGluZzoxNXB4IDM1cHggMTVweCAwO1xuIH1cblxuIC5wcmV2aW91cy1uZXh0LW5hdmlnYXRpb24gbGkubmV4dCBhOmJlZm9yZSB7XG4gICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50IHVybChodHRwczovL2Fzc2V0cy5wdWJsaXNoaW5nLnNlcnZpY2UuZ292LnVrL2dvdmVybm1lbnQvYXNzZXRzL2Fycm93LXNwcml0ZS0yQjhDQzQtNWUyY2VlM2U5ODI1NDliNTI4NTY4NGEyZTRmMDcwNmM1ZDljNTMxZjBhZmRmNjFkZmUzMmRmYjFkZmViODJmMC5wbmcpIG5vLXJlcGVhdCAtMTAycHggLTExcHg7XG4gICBtYXJnaW46LTRweCAtMzJweCAwIDA7XG4gICBkaXNwbGF5OmJsb2NrO1xuICAgZmxvYXQ6cmlnaHQ7XG4gICB3aWR0aDozMHB4O1xuICAgaGVpZ2h0OjM4cHg7XG4gICBjb250ZW50OlwiIFwiO1xuIH1cblxuIC5wcmV2aW91cy1uZXh0LW5hdmlnYXRpb24gbGkucHJldmlvdXMgYSB7XG4gICBwYWRkaW5nOjE1cHggMCAxNXB4IDM1cHg7XG4gfVxuXG4gLnByZXZpb3VzLW5leHQtbmF2aWdhdGlvbiBsaS5wcmV2aW91cyBhOmJlZm9yZSB7XG4gICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50IHVybChodHRwczovL2Fzc2V0cy5wdWJsaXNoaW5nLnNlcnZpY2UuZ292LnVrL2dvdmVybm1lbnQvYXNzZXRzL2Fycm93LXNwcml0ZS0yQjhDQzQtNWUyY2VlM2U5ODI1NDliNTI4NTY4NGEyZTRmMDcwNmM1ZDljNTMxZjBhZmRmNjFkZmUzMmRmYjFkZmViODJmMC5wbmcpIG5vLXJlcGVhdCAtMjBweCAtMTFweDtcbiAgIG1hcmdpbjotNHB4IDAgMCAtMzJweDtcbiAgIGRpc3BsYXk6YmxvY2s7XG4gICBmbG9hdDpsZWZ0O1xuICAgd2lkdGg6MzBweDtcbiAgIGhlaWdodDozOHB4O1xuICAgY29udGVudDpcIiBcIjtcbiB9XG5cbiAucHJldmlvdXMtbmV4dC1uYXZpZ2F0aW9uIGxpIGEge1xuICAgZGlzcGxheTpibG9jaztcbiAgIHRleHQtZGVjb3JhdGlvbjpub25lO1xuIH1cblxuIC5wcmV2aW91cy1uZXh0LW5hdmlnYXRpb24gbGkgYSBzcGFuIHtcbiAgIGRpc3BsYXk6YmxvY2s7XG4gICBmb250LWZhbWlseTpcIm50YVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgIGZvbnQtc2l6ZToxMnB4O1xuICAgbGluZS1oZWlnaHQ6MS4yNTtcbiAgIGZvbnQtd2VpZ2h0OjQwMDtcbiAgIHRleHQtdHJhbnNmb3JtOm5vbmU7XG4gICBwYWRkaW5nLXRvcDo2cHg7XG4gICBwYWRkaW5nLWJvdHRvbTo0cHg7XG4gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgLnByZXZpb3VzLW5leHQtbmF2aWdhdGlvbiBsaSBhIHNwYW4ge1xuICAgIGZvbnQtc2l6ZToxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OjEuNDI4NTc7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gIC5wcmV2aW91cy1uZXh0LW5hdmlnYXRpb24gbGkgYSBzcGFuIHtcbiAgICBwYWRkaW5nLXRvcDo0cHg7XG4gICAgcGFkZGluZy1ib3R0b206MXB4O1xuICB9XG59XG5cbiAucHJldmlvdXMtbmV4dC1uYXZpZ2F0aW9uIGxpIGE6Zm9jdXMgLnBhZ2UtbnVtYmVycyxcbiAucHJldmlvdXMtbmV4dC1uYXZpZ2F0aW9uIGxpIGE6aG92ZXIgLnBhZ2UtbnVtYmVycyB7XG4gICB0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO1xuIH1cblxuIC5wcmV2aW91cy1uZXh0LW5hdmlnYXRpb24gbGkgYTpob3ZlciB7XG4gICBiYWNrZ3JvdW5kOiNmOGY4Zjg7XG4gfVxuXG4gLnByZXZpb3VzLW5leHQtbmF2aWdhdGlvbiBsaSBhOmFjdGl2ZSB7XG4gICBiYWNrZ3JvdW5kOiNkZWUwZTI7XG4gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgLnByZXZpb3VzLW5leHQtbmF2aWdhdGlvbiBsaSAudmlzdWFsbHloaWRkZW4ge1xuICAgIGZvbnQtZmFtaWx5OlwibnRhXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZToyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OjEuMTExMTE7XG4gICAgZm9udC13ZWlnaHQ6NDAwO1xuICAgIHRleHQtdHJhbnNmb3JtOm5vbmU7XG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246c3RhdGljO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NDFweCkgYW5kIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gIC5wcmV2aW91cy1uZXh0LW5hdmlnYXRpb24gbGkgLnZpc3VhbGx5aGlkZGVuIHtcbiAgICBmb250LXNpemU6MjdweDtcbiAgICBsaW5lLWhlaWdodDoxLjExMTExO1xuICB9XG59XG4iLCJkaWFsb2dbb3Blbl0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdG9wOiAwO1xuICB3aWR0aDogNTglO1xuICBtYXJnaW46IDFlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtYXJnaW4tdG9wOiAxMCU7XG4gIGZvbnQtc2l6ZTogMTlweDtcbiAgZm9udC1mYW1pbHk6IFwiR0RTIFRyYW5zcG9ydFwiLGFyaWFsLHNhbnMtc2VyaWY7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NDFweCkge1xuICBkaWFsb2dbb3Blbl0ge1xuICAgIHBhZGRpbmc6IDEwcHggMTVweCAxNXB4IDE1cHg7XG4gICAgbWFyZ2luOiAzMHB4IGF1dG87XG5cblx0Zm9ybSB7XG5cdFx0bWFyZ2luLXRvcDogMTVweDtcblx0fVxuICB9XG59XG5cbmRpYWxvZyArIC5iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5cbi5mYS1leGNsYW1hdGlvbi1jaXJjbGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+BqlwiO1xufVxuXG5kaWFsb2cgcCB7XG4gICAgbWFyZ2luLXRvcCA6IDFlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG59XG5cbmRpYWxvZyB7XG4gICAgI2RpYWxvZy10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiR0RTIFRyYW5zcG9ydFwiLGFyaWFsLHNhbnMtc2VyaWY7XG4gICAgfVxuICAgIHVsLmxpc3QubGlzdC1idWxsZXQge1xuICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkdEUyBUcmFuc3BvcnRcIixhcmlhbCxzYW5zLXNlcmlmO1xuICAgIH1cbn1cbmRpYWxvZyNjb25maXJtLXMxNTEtb2ZmaWNlciB7XG4gICAgd2lkdGg6IDYwJTtcbn1cbmRpYWxvZyNzZWxlY3QtZGF0YXNldCAuZ292dWstcmVkLWJhbm5lciB7XG4gICAgaGVpZ2h0OiAxOHB4O1xufVxuXG5kaWFsb2cjZG93bmxvYWQtZGV0YWlsZWQtcmVwb3J0IC5hdWRpdC1sYWJlbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA3MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuLndhcm5pbmctcmVkLWJvcmRlciB7XG4gICAgYm9yZGVyOiA1cHggc29saWQgI2IxMGUxZTtcblxuICAgIHAge1xuICAgICAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICB9XG5cbiAgICAubm90aWNlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xNXB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtMTVweDtcblxuICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWlubGluZSB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTRweCAxNXB4IDE1cHg7XG4gICAgICAgIG1hcmdpbjogMzBweCBhdXRvO1xuICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkdEUyBUcmFuc3BvcnRcIixhcmlhbCxzYW5zLXNlcmlmO1xuICAgIH1cblxufVxuXG4uZGlhbG9nLWlzLW9wZW4ge1xuICAgIC5kaWFsb2ctd3JhcHBlciB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNzUpO1xuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4iLCIubm90aWNlLWJhbm5lciB7XG4gIHBhZGRpbmc6IDEwcHggMCA4cHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYmZjMWMzOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDFweCkge1xuICAgIC5ub3RpY2UtYmFubmVyIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4OyB9IH1cblxuLm5vdGljZS1iYW5uZXIgcCB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiByZ2IoMTEsIDEyLCAxMik7XG4gICAgZm9udC1mYW1pbHk6IFwiR0RTIFRyYW5zcG9ydFwiLCBhcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMxNTc4OTQ3Mzc7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgICAgIC5ub3RpY2UtYmFubmVyIHAge1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1OyB9IH1cblxuICAubm90aWNlLWJhbm5lciAucGhhc2UtdGFnIHtcbiAgICBkaXNwbGF5OiAtbW96LWlubGluZS1zdGFjaztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwIDhweCAwIDA7XG4gICAgcGFkZGluZzogMnB4IDVweCAwO1xuICAgIGZvbnQtZmFtaWx5OiBcIkdEUyBUcmFuc3BvcnRcIiwgYXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTQyODY7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDUzODgwOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gICAgICAubm90aWNlLWJhbm5lciAucGhhc2UtdGFnIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yNTsgfSB9XG4gIC5ub3RpY2UtYmFubmVyIHNwYW4ge1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG4ubm90aWNlLWJhbm5lciBzcGFuIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi5wYW5lbC1saW1pdC13aWR0aCB7XG4gIG1heC13aWR0aDogNjUwcHg7XG59XG5cbi5kZWx0YS1zbWFsbGVyLXBhbmVsIHtcbiAgLmdvdnVrLXBhbmVsX190aXRsZSB7XG4gICAgZm9udC1zaXplOiA0MHB4O1xuICB9XG4gIC5nb3Z1ay1wYW5lbF9fYm9keSB7XG4gICAgZm9udC1zaXplOiAyN3B4O1xuICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gIH1cbn1cbiIsIi8vIFNob3cgZW1iZWRkZWQgT3JiZW9uIHRocm91Z2ggYSB2aWV3cG9ydCB3aXRoIHNldCB3aWR0aC9oZWlnaHQgdG8gcHJldmVudCBvdmVyZmxvdyBpc3N1ZXNcbiNlbWJlZGRlZC1mb3JtLWJ1aWxkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDgwMHB4O1xufVxuXG4jZW1iZWRkZWQtZm9ybS1idWlsZGVyIGRpdi5vcmJlb24ub3JiZW9uLXBvcnRsZXQtZGl2IHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogYXV0bztcbn1cblxuLy8gUHJldmVudCBPcmJlb24gcG9wdXBzIGZyb20gZGlzYXBwZWFyaW5nIGJlaGluZCB0aGUgcG9ydGxldFxuI2VtYmVkZGVkLWZvcm0tYnVpbGRlciAueXVpLWRpYWxvZyB7XG4gICAgdG9wOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5vcmJlb24gI28weGZvcm1zLWZvcm0gLnh4Zm9ybXMtc2V0LWhlaWdodCAueHhmb3Jtcy1kaWFsb2ctYm9keSAuZmItZGlhbG9nLXJlbWFpbmluZy1oZWlnaHQge1xuICBib3R0b206IDExMHB4O1xufVxuXG4ub3JiZW9uICNvMHhmb3Jtcy1mb3JtIC54eGZvcm1zLXNldC1oZWlnaHQgLnh4Zm9ybXMtZGlhbG9nLWJvZHkgLmZyLWRpYWxvZy1idXR0b25zIHtcbiAgYm90dG9tOiAyMHB4O1xuICB6LWluZGV4OiA5OTk7XG4gIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG59XG5cbi5vcmJlb24gI28weGZvcm1zLWZvcm0gLmZyLWdyaWQtdGQgLnhmb3Jtcy1yZXF1aXJlZCAueGZvcm1zLWxhYmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG59XG5cblxuLm9yYmVvbiAuZnItbW9kZS1uZXcgLnhmb3Jtcy1yZXF1aXJlZCAueGZvcm1zLWxhYmVsOmJlZm9yZSxcbi5vcmJlb24gLmZyLW1vZGUtdGVzdCAueGZvcm1zLXJlcXVpcmVkIC54Zm9ybXMtbGFiZWw6YmVmb3JlLFxuLm9yYmVvbiAueGZvcm1zLWRpYWxvZyAueGZvcm1zLXJlcXVpcmVkIC54Zm9ybXMtbGFiZWw6YmVmb3JlIHtcbiAgY29udGVudDogJyogJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDE1cHg7XG4gIGhlaWdodDogMTVweDtcbiAgcmlnaHQ6IGNhbGMoMTAwJSAtIDE1cHgpO1xuICB0b3A6IC03cHg7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xufSIsIi5kZWx0YS1ub3RpZmljYXRpb24tYmFubmVyLS1lcnJvciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZDQzNTFjO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkNDM1MWM7XG59XG5cbi5kZWx0YS1ub3RpZmljYXRpb24tYmFubmVyLS13YXJuaW5nIHtcbiAgICBib3JkZXItY29sb3I6ICNGRjVGMTU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNUYxNTtcbn1cblxuLmdvdnVrLW5vdGlmaWNhdGlvbi1iYW5uZXIge1xuICAgIG1hcmdpbi10b3A6IDFlbTtcbn1cblxuLmdvdnVrLW5vdGlmaWNhdGlvbi1iYW5uZXJfX2NvbnRlbnQgPiAqIHtcbiAgICBtYXgtd2lkdGg6IDgwMHB4O1xufVxuIiwiQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xuICBib2R5IHtcbiAgICAuZ292dWstd2lkdGgtY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogMTI4MHB4O1xuICAgIH1cblxuICAgIC5nb3Z1ay1oZWFkZXJfX2NvbnRlbnQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDI1MHB4KVxuICAgIH1cblxuICAgIHAsIHN0cm9uZyB7XG4gICAgICBtYXgtd2lkdGg6IDc1Y2g7XG4gICAgfVxuXG4gICAgcC50ZXh0LW5vLW1heC13aWR0aCwgc3Ryb25nLnRleHQtbm8tbWF4LXdpZHRoIHtcbiAgICAgIG1heC13aWR0aDogdW5zZXQ7XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMTAwcHgpIHtcbiAgYm9keS5kZWx0YS13aWRlLXBhZ2Uge1xuICAgIHBhZGRpbmctbGVmdDogNTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xuXG4gICAgLmdvdnVrLWhlYWRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogLTUwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC01MHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogNTBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogNTBweDtcbiAgICB9XG5cbiAgICAuZ292dWstd2lkdGgtY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogMTYwMHB4O1xuICAgIH1cblxuICAgIC5nb3Z1ay1mb290ZXIge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtNTBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNTBweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG4gICAgfVxuXG4gICAgLmdvdnVrLWhlYWRlcl9fY29udGVudCB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjUwcHgpXG4gICAgfVxuXG4gICAgLnVpLWRhdGVwaWNrZXIge1xuICAgICAgLy8gRGlzcGxheXMgYXMgYSBiYXIgYXQgdGhlIGJvdHRvbSB1bnRpbCBhIGRhdGVwaWNrZXIgaXMgY2xpY2tlZCBvbiB3aXRob3V0IHRoaXNcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5ncmlkLWNvbHVtbi10ZXh0LW1heC13aWR0aCB7XG4gIEBleHRlbmQgLmdvdnVrLWdyaWQtY29sdW1uLWZ1bGw7XG5cbiAgbWF4LXdpZHRoOiA1MGVtO1xufVxuIiwiXG4uZGVsdGEtYW5pbWF0aW9uLWxvYWRpbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmMmYxO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGFuaW1hdGlvbjogZGVsdGFMb2FkaW5nO1xuICBhbmltYXRpb24tZHVyYXRpb246IDEuNXM7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgYW5pbWF0aW9uLWRpcmVjdGlvbjogYWx0ZXJuYXRlLXJldmVyc2U7XG5cbiAgLmRlbHRhLWFuaW1hdGlvbi1sb2FkaW5nLWluZGljYXRvciB7XG4gICAgd2lkdGg6IDEwJTtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTlweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxZDcwYjg7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZGVsdGFMb2FkaW5nIHtcbiAgMCUge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuICAxMDAlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwMCU7XG4gIH1cbn0iLCIuZGVsdGEtaW1hZ2UtcmVzcG9uc2l2ZSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uZGVsdGEtc2NyZWVuLWdyYWIge1xuICBib3gtc2hhZG93OiAwIDAgMXJlbSByZ2JhKDEzOCwgMTM4LCAxMzgsIDAuNSk7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbi5mcy1oZWxwLWltYWdlLW92ZXJsYXktZGlzcGxheVxue1xuICBiYWNrZ3JvdW5kOiAjNDA0MDQwO1xuICBvcGFjaXR5OiAwLjU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgd2lkdGg6IDEwMHZ3O1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG59XG5cbi5oZWxwLWZzLWltYWdlLWNvbnRhaW5lclxue1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMjBweDtcbiAgd2lkdGg6IDgwJTtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyMHB4KTtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuXG4uaGlkZGVuXG57XG4gIGRpc3BsYXk6IG5vbmU7XG59IiwiLmNlcnRpZmljYXRpb24tcmVjb3JkX19oZWFkZXIge1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIG1heC13aWR0aDogY2FsYygxMDAlIC0gMTA4cHgpO1xufSIsIiNtYWluLWNvbnRlbnQuZnVsbHNjcmVlbi1jb250ZW50IHtcbiAgd2lkdGg6IGF1dG87XG4gIG1heC13aWR0aDogbm9uZTtcbiAgcGFkZGluZzogMCAzMHB4O1xuICAvKlxuICBUaGUgY3VycmVudCBNSENMRyBsYXB0b3BzIGVuZCB1cCB3aXRoIGEgMTI4MnB4IHZpZXdwb3J0IHdpZHRoLCB3aGljaCBpcyBqdXN0IHRvbyBzbWFsbCB0byBiZSBhYmxlIHRvIHNlZVxuICBhbGwgdGhlIGJ1dHRvbnMgaW4gT3JiZW9uLCBzbyBzaHJpbmsgdGhlIG1hcmdpbnMgdG8gZ2l2ZSBhIGZldyBtb3JlIHBpeGVscyBvZiBzcGFjZS5cbiAgKi9cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEzMDBweCkge1xuICAgICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG59XG5cbi5mdWxsc2NyZWVuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG59IiwiYm9keSAuZ292dWstdGFnIHtcbiAgLy8gU28gdGhhdCBpdCBmaXRzIFJlYWR5IGZvciBjZXJ0aWZpY2F0aW9uIG9uIG9uZSBsaW5lXG4gIG1heC13aWR0aDogMTg1cHg7XG59IiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICBEQVRFIFBJQ0tFUlxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuQG1peGluIGRzX21lZGlhLXF1ZXJ5KCRzaXplKSB7XG4gIEBpZiAkc2l6ZSA9PSBtZWRpdW0ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi5kc19kYXRlcGlja2VyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gIGZvbnQtZmFtaWx5OiBcIkdEUyBUcmFuc3BvcnRcIiwgYXJpYWwsIHNhbnMtc2VyaWY7XG5cbiAgLmRzX2lucHV0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgJl9faW5wdXQtd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZW5kO1xuICAgIGdhcDogMXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gIH1cblxuICAmX190b2RheSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0QwRThGRjtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAmX190b2RheTo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYm90dG9tOiA2cHg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBoZWlnaHQ6IDRweDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0ycHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiA0cHg7XG4gIH1cblxuICAmX19kaWFsb2cge1xuICAgIGJveC1zaGFkb3c6IDFweCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBjbGVhcjogYm90aDtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBhZGRpbmc6IDhweDtcbiAgICBvdXRsaW5lOiAxcHggc29saWQgI0IzQjNCMztcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHRvcDogMDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMsIG91dGxpbmUtY29sb3IgMC4ycztcbiAgICB3aWR0aDogMjk2cHg7XG4gICAgei1pbmRleDogMjtcblxuICAgICYtLW9wZW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBAc3VwcG9ydHMgKGxlZnQ6IHZhcigtLWRzLWRhdGUtcGlja2VyLWxlZnQtb2Zmc2V0KSkge1xuICAgICAgICBsZWZ0OiB2YXIoLS1kcy1kYXRlLXBpY2tlci1sZWZ0LW9mZnNldCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9faGVhZGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgcGFkZGluZzogOHB4O1xuICAgIH1cblxuICAgICZfX25hdmJ1dHRvbnMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGdhcDogNHB4O1xuXG4gICAgICAuZHNfYnV0dG9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIHBhZGRpbmc6IDhweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMsIGNvbG9yIDAuMnM7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0UwRTBFMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgIH1cblxuICAgIC5kc19idXR0b24gLmRzX2ljb24ge1xuICAgICAgaGVpZ2h0OiAxLjhlbTtcbiAgICAgIHdpZHRoOiAxLjhlbTtcbiAgICAgIGZpbGw6ICMwMDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgJl9fdGFibGUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcblxuICAgICAgdGgsIHRkIHtcbiAgICAgICAgd2lkdGg6IDE0LjI4JTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIHRoIHtcbiAgICAgICAgY29sb3I6ICM1ZTVlNWU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIH1cblxuICAgICAgdGQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGJvcmRlcjpub25lO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFMEUwRTA7XG4gICAgICAgIH1cblxuICAgICAgICAmLmRzX3NlbGVjdGVkIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB9XG5cbiAgICAgICAgJltkaXNhYmxlZD1cInRydWVcIl0sXG4gICAgICAgICZbYXJpYS1kaXNhYmxlZD1cInRydWVcIl0ge1xuICAgICAgICAgIGNvbG9yOiAjQjBCMEIwO1xuICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzLCBjb2xvciAwLjJzO1xuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTBFMEUwO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuZHNfc2VsZWN0ZWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZfX2J1dHRvbmdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgIC5kc19idXR0b24ge1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSA1cHgpO1xuICAgICAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjMDAwO1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMsIGNvbG9yIDAuMnM7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0UwRTBFMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuanMtZGF0ZXBpY2tlci1va3tcbiAgICAgICAgYmFja2dyb3VuZDogIzAwNzAzYztcbiAgICAgICAgY29sb3I6ICNGRkY7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19idXR0b24ge1xuICAgIHdpZHRoOiA0OHB4O1xuICAgIGhlaWdodDogNDhweDtcbiAgICBtYXJnaW46IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDcwM2M7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1YTMwO1xuICAgIH1cblxuICAgIC5kc19pY29uIHtcbiAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgZmlsbDogI2ZmZjtcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgZHNfbWVkaWEtcXVlcnkobWVkaXVtKSB7XG4gIC5kc19kYXRlcGlja2VyIHtcbiAgICAmX19kaWFsb2cge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAmX190aXRsZSB7XG4gICAgICAgIHBhZGRpbmc6IDhweCAwO1xuICAgICAgfVxuXG4gICAgICAmX19oZWFkZXIge1xuICAgICAgICA+IDpudGgtY2hpbGQoMSkge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgID4gOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5kc19idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3MDNjO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNWEzMDtcbiAgfVxufVxuXG4uZHNfZGF0ZXBpY2tlcl9faGVhZGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4uZHNfZGF0ZXBpY2tlcl9fZm9vdGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiA4cHggMDtcbn1cblxuLmZ1bGx5LWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmRzX2RhdGVwaWNrZXJfX2RpYWxvZ19fdGFibGUtY2FwdGlvbiB7XG4gIGNhcHRpb24tc2lkZTogYm90dG9tO1xuICBsaW5lLWhlaWdodDogMjtcbiAgbWFyZ2luLXRvcDogOHB4O1xuICBmb250LXNpemU6IDAuOHJlbTtcbn0iLCIvKiFcbiAqICBGb250IEF3ZXNvbWUgNC4zLjAgYnkgQGRhdmVnYW5keSAtIGh0dHA6Ly9mb250YXdlc29tZS5pbyAtIEBmb250YXdlc29tZVxuICogIExpY2Vuc2UgLSBodHRwOi8vZm9udGF3ZXNvbWUuaW8vbGljZW5zZSAoRm9udDogU0lMIE9GTCAxLjEsIENTUzogTUlUIExpY2Vuc2UpXG4gKi9cbi8qIEZPTlQgUEFUSFxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJztcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL2ZvbnRhd2Vzb21lLXdlYmZvbnQuZW90P3Y9NC4zLjAnKTtcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL2ZvbnRhd2Vzb21lLXdlYmZvbnQuZW90PyNpZWZpeCZ2PTQuMy4wJykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCB1cmwoJy4uL2ZvbnRzL2ZvbnRhd2Vzb21lLXdlYmZvbnQud29mZjI/dj00LjMuMCcpIGZvcm1hdCgnd29mZjInKSwgdXJsKCcuLi9mb250cy9mb250YXdlc29tZS13ZWJmb250LndvZmY/dj00LjMuMCcpIGZvcm1hdCgnd29mZicpLCB1cmwoJy4uL2ZvbnRzL2ZvbnRhd2Vzb21lLXdlYmZvbnQudHRmP3Y9NC4zLjAnKSBmb3JtYXQoJ3RydWV0eXBlJyksIHVybCgnLi4vZm9udHMvZm9udGF3ZXNvbWUtd2ViZm9udC5zdmc/dj00LjMuMCNmb250YXdlc29tZXJlZ3VsYXInKSBmb3JtYXQoJ3N2ZycpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG4uZmEge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQ6IG5vcm1hbCBub3JtYWwgbm9ybWFsIDE0cHgvMSBGb250QXdlc29tZTtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICB0ZXh0LXJlbmRlcmluZzogYXV0bztcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xufVxuLyogbWFrZXMgdGhlIGZvbnQgMzMlIGxhcmdlciByZWxhdGl2ZSB0byB0aGUgaWNvbiBjb250YWluZXIgKi9cbi5mYS1sZyB7XG4gIGZvbnQtc2l6ZTogMS4zMzMzMzMzM2VtO1xuICBsaW5lLWhlaWdodDogMC43NWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogLTE1JTtcbn1cbi5mYS0yeCB7XG4gIGZvbnQtc2l6ZTogMmVtO1xufVxuLmZhLTN4IHtcbiAgZm9udC1zaXplOiAzZW07XG59XG4uZmEtNHgge1xuICBmb250LXNpemU6IDRlbTtcbn1cbi5mYS01eCB7XG4gIGZvbnQtc2l6ZTogNWVtO1xufVxuLmZhLWZ3IHtcbiAgd2lkdGg6IDEuMjg1NzE0MjllbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmZhLXVsIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tbGVmdDogMi4xNDI4NTcxNGVtO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG4uZmEtdWwgPiBsaSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5mYS1saSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTIuMTQyODU3MTRlbTtcbiAgd2lkdGg6IDIuMTQyODU3MTRlbTtcbiAgdG9wOiAwLjE0Mjg1NzE0ZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5mYS1saS5mYS1sZyB7XG4gIGxlZnQ6IC0xLjg1NzE0Mjg2ZW07XG59XG4uZmEtYm9yZGVyIHtcbiAgcGFkZGluZzogLjJlbSAuMjVlbSAuMTVlbTtcbiAgYm9yZGVyOiBzb2xpZCAwLjA4ZW0gI2VlZWVlZTtcbiAgYm9yZGVyLXJhZGl1czogLjFlbTtcbn1cbi5wdWxsLXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuLnB1bGwtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuLmZhLnB1bGwtbGVmdCB7XG4gIG1hcmdpbi1yaWdodDogLjNlbTtcbn1cbi5mYS5wdWxsLXJpZ2h0IHtcbiAgbWFyZ2luLWxlZnQ6IC4zZW07XG59XG4uZmEtc3BpbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBmYS1zcGluIDJzIGluZmluaXRlIGxpbmVhcjtcbiAgYW5pbWF0aW9uOiBmYS1zcGluIDJzIGluZmluaXRlIGxpbmVhcjtcbn1cbi5mYS1wdWxzZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBmYS1zcGluIDFzIGluZmluaXRlIHN0ZXBzKDgpO1xuICBhbmltYXRpb246IGZhLXNwaW4gMXMgaW5maW5pdGUgc3RlcHMoOCk7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmEtc3BpbiB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhLXNwaW4ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgfVxufVxuLmZhLXJvdGF0ZS05MCB7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MSk7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG59XG4uZmEtcm90YXRlLTE4MCB7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249Mik7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG59XG4uZmEtcm90YXRlLTI3MCB7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249Myk7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7XG59XG4uZmEtZmxpcC1ob3Jpem9udGFsIHtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0wLCBtaXJyb3I9MSk7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7XG59XG4uZmEtZmxpcC12ZXJ0aWNhbCB7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MiwgbWlycm9yPTEpO1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSwgLTEpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpO1xufVxuOnJvb3QgLmZhLXJvdGF0ZS05MCxcbjpyb290IC5mYS1yb3RhdGUtMTgwLFxuOnJvb3QgLmZhLXJvdGF0ZS0yNzAsXG46cm9vdCAuZmEtZmxpcC1ob3Jpem9udGFsLFxuOnJvb3QgLmZhLWZsaXAtdmVydGljYWwge1xuICBmaWx0ZXI6IG5vbmU7XG59XG4uZmEtc3RhY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDJlbTtcbiAgaGVpZ2h0OiAyZW07XG4gIGxpbmUtaGVpZ2h0OiAyZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4uZmEtc3RhY2stMXgsXG4uZmEtc3RhY2stMngge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uZmEtc3RhY2stMXgge1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cbi5mYS1zdGFjay0yeCB7XG4gIGZvbnQtc2l6ZTogMmVtO1xufVxuLmZhLWludmVyc2Uge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi8qIEZvbnQgQXdlc29tZSB1c2VzIHRoZSBVbmljb2RlIFByaXZhdGUgVXNlIEFyZWEgKFBVQSkgdG8gZW5zdXJlIHNjcmVlblxuICAgcmVhZGVycyBkbyBub3QgcmVhZCBvZmYgcmFuZG9tIGNoYXJhY3RlcnMgdGhhdCByZXByZXNlbnQgaWNvbnMgKi9cbi5mYS1nbGFzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwMFwiO1xufVxuLmZhLW11c2ljOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDAxXCI7XG59XG4uZmEtc2VhcmNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDAyXCI7XG59XG4uZmEtZW52ZWxvcGUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwM1wiO1xufVxuLmZhLWhlYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA0XCI7XG59XG4uZmEtc3RhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwNVwiO1xufVxuLmZhLXN0YXItbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwNlwiO1xufVxuLmZhLXVzZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDdcIjtcbn1cbi5mYS1maWxtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA4XCI7XG59XG4uZmEtdGgtbGFyZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDlcIjtcbn1cbi5mYS10aDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwYVwiO1xufVxuLmZhLXRoLWxpc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMGJcIjtcbn1cbi5mYS1jaGVjazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwY1wiO1xufVxuLmZhLXJlbW92ZTpiZWZvcmUsXG4uZmEtY2xvc2U6YmVmb3JlLFxuLmZhLXRpbWVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDBkXCI7XG59XG4uZmEtc2VhcmNoLXBsdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMGVcIjtcbn1cbi5mYS1zZWFyY2gtbWludXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMTBcIjtcbn1cbi5mYS1wb3dlci1vZmY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMTFcIjtcbn1cbi5mYS1zaWduYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMTJcIjtcbn1cbi5mYS1nZWFyOmJlZm9yZSxcbi5mYS1jb2c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMTNcIjtcbn1cbi5mYS10cmFzaC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDE0XCI7XG59XG4uZmEtaG9tZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxNVwiO1xufVxuLmZhLWZpbGUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxNlwiO1xufVxuLmZhLWNsb2NrLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMTdcIjtcbn1cbi5mYS1yb2FkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDE4XCI7XG59XG4uZmEtZG93bmxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMTlcIjtcbn1cbi5mYS1hcnJvdy1jaXJjbGUtby1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDFhXCI7XG59XG4uZmEtYXJyb3ctY2lyY2xlLW8tdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMWJcIjtcbn1cbi5mYS1pbmJveDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxY1wiO1xufVxuLmZhLXBsYXktY2lyY2xlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMWRcIjtcbn1cbi5mYS1yb3RhdGUtcmlnaHQ6YmVmb3JlLFxuLmZhLXJlcGVhdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxZVwiO1xufVxuLmZhLXJlZnJlc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMjFcIjtcbn1cbi5mYS1saXN0LWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyMlwiO1xufVxuLmZhLWxvY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMjNcIjtcbn1cbi5mYS1mbGFnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDI0XCI7XG59XG4uZmEtaGVhZHBob25lczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyNVwiO1xufVxuLmZhLXZvbHVtZS1vZmY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMjZcIjtcbn1cbi5mYS12b2x1bWUtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyN1wiO1xufVxuLmZhLXZvbHVtZS11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyOFwiO1xufVxuLmZhLXFyY29kZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyOVwiO1xufVxuLmZhLWJhcmNvZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMmFcIjtcbn1cbi5mYS10YWc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMmJcIjtcbn1cbi5mYS10YWdzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDJjXCI7XG59XG4uZmEtYm9vazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyZFwiO1xufVxuLmZhLWJvb2ttYXJrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDJlXCI7XG59XG4uZmEtcHJpbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMmZcIjtcbn1cbi5mYS1jYW1lcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMzBcIjtcbn1cbi5mYS1mb250OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDMxXCI7XG59XG4uZmEtYm9sZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzMlwiO1xufVxuLmZhLWl0YWxpYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzM1wiO1xufVxuLmZhLXRleHQtaGVpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDM0XCI7XG59XG4uZmEtdGV4dC13aWR0aDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzNVwiO1xufVxuLmZhLWFsaWduLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMzZcIjtcbn1cbi5mYS1hbGlnbi1jZW50ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMzdcIjtcbn1cbi5mYS1hbGlnbi1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzOFwiO1xufVxuLmZhLWFsaWduLWp1c3RpZnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMzlcIjtcbn1cbi5mYS1saXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDNhXCI7XG59XG4uZmEtZGVkZW50OmJlZm9yZSxcbi5mYS1vdXRkZW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDNiXCI7XG59XG4uZmEtaW5kZW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDNjXCI7XG59XG4uZmEtdmlkZW8tY2FtZXJhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDNkXCI7XG59XG4uZmEtcGhvdG86YmVmb3JlLFxuLmZhLWltYWdlOmJlZm9yZSxcbi5mYS1waWN0dXJlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwM2VcIjtcbn1cbi5mYS1wZW5jaWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNDBcIjtcbn1cbi5mYS1tYXAtbWFya2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDQxXCI7XG59XG4uZmEtYWRqdXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDQyXCI7XG59XG4uZmEtdGludDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0M1wiO1xufVxuLmZhLWVkaXQ6YmVmb3JlLFxuLmZhLXBlbmNpbC1zcXVhcmUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0NFwiO1xufVxuLmZhLXNoYXJlLXNxdWFyZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDQ1XCI7XG59XG4uZmEtY2hlY2stc3F1YXJlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNDZcIjtcbn1cbi5mYS1hcnJvd3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNDdcIjtcbn1cbi5mYS1zdGVwLWJhY2t3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDQ4XCI7XG59XG4uZmEtZmFzdC1iYWNrd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0OVwiO1xufVxuLmZhLWJhY2t3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDRhXCI7XG59XG4uZmEtcGxheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0YlwiO1xufVxuLmZhLXBhdXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDRjXCI7XG59XG4uZmEtc3RvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0ZFwiO1xufVxuLmZhLWZvcndhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNGVcIjtcbn1cbi5mYS1mYXN0LWZvcndhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNTBcIjtcbn1cbi5mYS1zdGVwLWZvcndhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNTFcIjtcbn1cbi5mYS1lamVjdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1MlwiO1xufVxuLmZhLWNoZXZyb24tbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1M1wiO1xufVxuLmZhLWNoZXZyb24tcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNTRcIjtcbn1cbi5mYS1wbHVzLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1NVwiO1xufVxuLmZhLW1pbnVzLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1NlwiO1xufVxuLmZhLXRpbWVzLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1N1wiO1xufVxuLmZhLWNoZWNrLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1OFwiO1xufVxuLmZhLXF1ZXN0aW9uLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1OVwiO1xufVxuLmZhLWluZm8tY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDVhXCI7XG59XG4uZmEtY3Jvc3NoYWlyczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1YlwiO1xufVxuLmZhLXRpbWVzLWNpcmNsZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDVjXCI7XG59XG4uZmEtY2hlY2stY2lyY2xlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNWRcIjtcbn1cbi5mYS1iYW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNWVcIjtcbn1cbi5mYS1hcnJvdy1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDYwXCI7XG59XG4uZmEtYXJyb3ctcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjFcIjtcbn1cbi5mYS1hcnJvdy11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2MlwiO1xufVxuLmZhLWFycm93LWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjNcIjtcbn1cbi5mYS1tYWlsLWZvcndhcmQ6YmVmb3JlLFxuLmZhLXNoYXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDY0XCI7XG59XG4uZmEtZXhwYW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDY1XCI7XG59XG4uZmEtY29tcHJlc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjZcIjtcbn1cbi5mYS1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDY3XCI7XG59XG4uZmEtbWludXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjhcIjtcbn1cbi5mYS1hc3RlcmlzazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2OVwiO1xufVxuLmZhLWV4Y2xhbWF0aW9uLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2YVwiO1xufVxuLmZhLWdpZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNmJcIjtcbn1cbi5mYS1sZWFmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDZjXCI7XG59XG4uZmEtZmlyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2ZFwiO1xufVxuLmZhLWV5ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2ZVwiO1xufVxuLmZhLWV5ZS1zbGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3MFwiO1xufVxuLmZhLXdhcm5pbmc6YmVmb3JlLFxuLmZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDcxXCI7XG59XG4uZmEtcGxhbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzJcIjtcbn1cbi5mYS1jYWxlbmRhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3M1wiO1xufVxuLmZhLXJhbmRvbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3NFwiO1xufVxuLmZhLWNvbW1lbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzVcIjtcbn1cbi5mYS1tYWduZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzZcIjtcbn1cbi5mYS1jaGV2cm9uLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDc3XCI7XG59XG4uZmEtY2hldnJvbi1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDc4XCI7XG59XG4uZmEtcmV0d2VldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3OVwiO1xufVxuLmZhLXNob3BwaW5nLWNhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwN2FcIjtcbn1cbi5mYS1mb2xkZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwN2JcIjtcbn1cbi5mYS1mb2xkZXItb3BlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3Y1wiO1xufVxuLmZhLWFycm93cy12OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDdkXCI7XG59XG4uZmEtYXJyb3dzLWg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwN2VcIjtcbn1cbi5mYS1iYXItY2hhcnQtbzpiZWZvcmUsXG4uZmEtYmFyLWNoYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDgwXCI7XG59XG4uZmEtdHdpdHRlci1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODFcIjtcbn1cbi5mYS1mYWNlYm9vay1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODJcIjtcbn1cbi5mYS1jYW1lcmEtcmV0cm86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODNcIjtcbn1cbi5mYS1rZXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODRcIjtcbn1cbi5mYS1nZWFyczpiZWZvcmUsXG4uZmEtY29nczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4NVwiO1xufVxuLmZhLWNvbW1lbnRzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDg2XCI7XG59XG4uZmEtdGh1bWJzLW8tdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODdcIjtcbn1cbi5mYS10aHVtYnMtby1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDg4XCI7XG59XG4uZmEtc3Rhci1oYWxmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDg5XCI7XG59XG4uZmEtaGVhcnQtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4YVwiO1xufVxuLmZhLXNpZ24tb3V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDhiXCI7XG59XG4uZmEtbGlua2VkaW4tc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDhjXCI7XG59XG4uZmEtdGh1bWItdGFjazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4ZFwiO1xufVxuLmZhLWV4dGVybmFsLWxpbms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOGVcIjtcbn1cbi5mYS1zaWduLWluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDkwXCI7XG59XG4uZmEtdHJvcGh5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDkxXCI7XG59XG4uZmEtZ2l0aHViLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5MlwiO1xufVxuLmZhLXVwbG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5M1wiO1xufVxuLmZhLWxlbW9uLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOTRcIjtcbn1cbi5mYS1waG9uZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5NVwiO1xufVxuLmZhLXNxdWFyZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDk2XCI7XG59XG4uZmEtYm9va21hcmstbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5N1wiO1xufVxuLmZhLXBob25lLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5OFwiO1xufVxuLmZhLXR3aXR0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOTlcIjtcbn1cbi5mYS1mYWNlYm9vay1mOmJlZm9yZSxcbi5mYS1mYWNlYm9vazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5YVwiO1xufVxuLmZhLWdpdGh1YjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5YlwiO1xufVxuLmZhLXVubG9jazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5Y1wiO1xufVxuLmZhLWNyZWRpdC1jYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDlkXCI7XG59XG4uZmEtcnNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDllXCI7XG59XG4uZmEtaGRkLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYTBcIjtcbn1cbi5mYS1idWxsaG9ybjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhMVwiO1xufVxuLmZhLWJlbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZjNcIjtcbn1cbi5mYS1jZXJ0aWZpY2F0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhM1wiO1xufVxuLmZhLWhhbmQtby1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhNFwiO1xufVxuLmZhLWhhbmQtby1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGE1XCI7XG59XG4uZmEtaGFuZC1vLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGE2XCI7XG59XG4uZmEtaGFuZC1vLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYTdcIjtcbn1cbi5mYS1hcnJvdy1jaXJjbGUtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhOFwiO1xufVxuLmZhLWFycm93LWNpcmNsZS1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhOVwiO1xufVxuLmZhLWFycm93LWNpcmNsZS11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhYVwiO1xufVxuLmZhLWFycm93LWNpcmNsZS1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGFiXCI7XG59XG4uZmEtZ2xvYmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYWNcIjtcbn1cbi5mYS13cmVuY2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYWRcIjtcbn1cbi5mYS10YXNrczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhZVwiO1xufVxuLmZhLWZpbHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBiMFwiO1xufVxuLmZhLWJyaWVmY2FzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBiMVwiO1xufVxuLmZhLWFycm93cy1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYjJcIjtcbn1cbi5mYS1ncm91cDpiZWZvcmUsXG4uZmEtdXNlcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzBcIjtcbn1cbi5mYS1jaGFpbjpiZWZvcmUsXG4uZmEtbGluazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjMVwiO1xufVxuLmZhLWNsb3VkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGMyXCI7XG59XG4uZmEtZmxhc2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzNcIjtcbn1cbi5mYS1jdXQ6YmVmb3JlLFxuLmZhLXNjaXNzb3JzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGM0XCI7XG59XG4uZmEtY29weTpiZWZvcmUsXG4uZmEtZmlsZXMtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjNVwiO1xufVxuLmZhLXBhcGVyY2xpcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjNlwiO1xufVxuLmZhLXNhdmU6YmVmb3JlLFxuLmZhLWZsb3BweS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGM3XCI7XG59XG4uZmEtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGM4XCI7XG59XG4uZmEtbmF2aWNvbjpiZWZvcmUsXG4uZmEtcmVvcmRlcjpiZWZvcmUsXG4uZmEtYmFyczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjOVwiO1xufVxuLmZhLWxpc3QtdWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwY2FcIjtcbn1cbi5mYS1saXN0LW9sOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGNiXCI7XG59XG4uZmEtc3RyaWtldGhyb3VnaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjY1wiO1xufVxuLmZhLXVuZGVybGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjZFwiO1xufVxuLmZhLXRhYmxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGNlXCI7XG59XG4uZmEtbWFnaWM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDBcIjtcbn1cbi5mYS10cnVjazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkMVwiO1xufVxuLmZhLXBpbnRlcmVzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkMlwiO1xufVxuLmZhLXBpbnRlcmVzdC1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDNcIjtcbn1cbi5mYS1nb29nbGUtcGx1cy1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDRcIjtcbn1cbi5mYS1nb29nbGUtcGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkNVwiO1xufVxuLmZhLW1vbmV5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ2XCI7XG59XG4uZmEtY2FyZXQtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkN1wiO1xufVxuLmZhLWNhcmV0LXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ4XCI7XG59XG4uZmEtY2FyZXQtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkOVwiO1xufVxuLmZhLWNhcmV0LXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGRhXCI7XG59XG4uZmEtY29sdW1uczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkYlwiO1xufVxuLmZhLXVuc29ydGVkOmJlZm9yZSxcbi5mYS1zb3J0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGRjXCI7XG59XG4uZmEtc29ydC1kb3duOmJlZm9yZSxcbi5mYS1zb3J0LWRlc2M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZGRcIjtcbn1cbi5mYS1zb3J0LXVwOmJlZm9yZSxcbi5mYS1zb3J0LWFzYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkZVwiO1xufVxuLmZhLWVudmVsb3BlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGUwXCI7XG59XG4uZmEtbGlua2VkaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZTFcIjtcbn1cbi5mYS1yb3RhdGUtbGVmdDpiZWZvcmUsXG4uZmEtdW5kbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlMlwiO1xufVxuLmZhLWxlZ2FsOmJlZm9yZSxcbi5mYS1nYXZlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlM1wiO1xufVxuLmZhLWRhc2hib2FyZDpiZWZvcmUsXG4uZmEtdGFjaG9tZXRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlNFwiO1xufVxuLmZhLWNvbW1lbnQtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlNVwiO1xufVxuLmZhLWNvbW1lbnRzLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZTZcIjtcbn1cbi5mYS1mbGFzaDpiZWZvcmUsXG4uZmEtYm9sdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlN1wiO1xufVxuLmZhLXNpdGVtYXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZThcIjtcbn1cbi5mYS11bWJyZWxsYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlOVwiO1xufVxuLmZhLXBhc3RlOmJlZm9yZSxcbi5mYS1jbGlwYm9hcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZWFcIjtcbn1cbi5mYS1saWdodGJ1bGItbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlYlwiO1xufVxuLmZhLWV4Y2hhbmdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGVjXCI7XG59XG4uZmEtY2xvdWQtZG93bmxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZWRcIjtcbn1cbi5mYS1jbG91ZC11cGxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZWVcIjtcbn1cbi5mYS11c2VyLW1kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGYwXCI7XG59XG4uZmEtc3RldGhvc2NvcGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZjFcIjtcbn1cbi5mYS1zdWl0Y2FzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmMlwiO1xufVxuLmZhLWJlbGwtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhMlwiO1xufVxuLmZhLWNvZmZlZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmNFwiO1xufVxuLmZhLWN1dGxlcnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZjVcIjtcbn1cbi5mYS1maWxlLXRleHQtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmNlwiO1xufVxuLmZhLWJ1aWxkaW5nLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZjdcIjtcbn1cbi5mYS1ob3NwaXRhbC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGY4XCI7XG59XG4uZmEtYW1idWxhbmNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGY5XCI7XG59XG4uZmEtbWVka2l0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGZhXCI7XG59XG4uZmEtZmlnaHRlci1qZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZmJcIjtcbn1cbi5mYS1iZWVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGZjXCI7XG59XG4uZmEtaC1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZmRcIjtcbn1cbi5mYS1wbHVzLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmZVwiO1xufVxuLmZhLWFuZ2xlLWRvdWJsZS1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTAwXCI7XG59XG4uZmEtYW5nbGUtZG91YmxlLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTAxXCI7XG59XG4uZmEtYW5nbGUtZG91YmxlLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTAyXCI7XG59XG4uZmEtYW5nbGUtZG91YmxlLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDNcIjtcbn1cbi5mYS1hbmdsZS1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTA0XCI7XG59XG4uZmEtYW5nbGUtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDVcIjtcbn1cbi5mYS1hbmdsZS11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwNlwiO1xufVxuLmZhLWFuZ2xlLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDdcIjtcbn1cbi5mYS1kZXNrdG9wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTA4XCI7XG59XG4uZmEtbGFwdG9wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTA5XCI7XG59XG4uZmEtdGFibGV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTBhXCI7XG59XG4uZmEtbW9iaWxlLXBob25lOmJlZm9yZSxcbi5mYS1tb2JpbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMGJcIjtcbn1cbi5mYS1jaXJjbGUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwY1wiO1xufVxuLmZhLXF1b3RlLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMGRcIjtcbn1cbi5mYS1xdW90ZS1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwZVwiO1xufVxuLmZhLXNwaW5uZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMTBcIjtcbn1cbi5mYS1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMTFcIjtcbn1cbi5mYS1tYWlsLXJlcGx5OmJlZm9yZSxcbi5mYS1yZXBseTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExMlwiO1xufVxuLmZhLWdpdGh1Yi1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMTNcIjtcbn1cbi5mYS1mb2xkZXItbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExNFwiO1xufVxuLmZhLWZvbGRlci1vcGVuLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMTVcIjtcbn1cbi5mYS1zbWlsZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTE4XCI7XG59XG4uZmEtZnJvd24tbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExOVwiO1xufVxuLmZhLW1laC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTFhXCI7XG59XG4uZmEtZ2FtZXBhZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExYlwiO1xufVxuLmZhLWtleWJvYXJkLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMWNcIjtcbn1cbi5mYS1mbGFnLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMWRcIjtcbn1cbi5mYS1mbGFnLWNoZWNrZXJlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExZVwiO1xufVxuLmZhLXRlcm1pbmFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTIwXCI7XG59XG4uZmEtY29kZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyMVwiO1xufVxuLmZhLW1haWwtcmVwbHktYWxsOmJlZm9yZSxcbi5mYS1yZXBseS1hbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjJcIjtcbn1cbi5mYS1zdGFyLWhhbGYtZW1wdHk6YmVmb3JlLFxuLmZhLXN0YXItaGFsZi1mdWxsOmJlZm9yZSxcbi5mYS1zdGFyLWhhbGYtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyM1wiO1xufVxuLmZhLWxvY2F0aW9uLWFycm93OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTI0XCI7XG59XG4uZmEtY3JvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyNVwiO1xufVxuLmZhLWNvZGUtZm9yazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyNlwiO1xufVxuLmZhLXVubGluazpiZWZvcmUsXG4uZmEtY2hhaW4tYnJva2VuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTI3XCI7XG59XG4uZmEtcXVlc3Rpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjhcIjtcbn1cbi5mYS1pbmZvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTI5XCI7XG59XG4uZmEtZXhjbGFtYXRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMmFcIjtcbn1cbi5mYS1zdXBlcnNjcmlwdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyYlwiO1xufVxuLmZhLXN1YnNjcmlwdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyY1wiO1xufVxuLmZhLWVyYXNlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyZFwiO1xufVxuLmZhLXB1enpsZS1waWVjZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyZVwiO1xufVxuLmZhLW1pY3JvcGhvbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzBcIjtcbn1cbi5mYS1taWNyb3Bob25lLXNsYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTMxXCI7XG59XG4uZmEtc2hpZWxkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTMyXCI7XG59XG4uZmEtY2FsZW5kYXItbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzM1wiO1xufVxuLmZhLWZpcmUtZXh0aW5ndWlzaGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTM0XCI7XG59XG4uZmEtcm9ja2V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTM1XCI7XG59XG4uZmEtbWF4Y2RuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTM2XCI7XG59XG4uZmEtY2hldnJvbi1jaXJjbGUtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzN1wiO1xufVxuLmZhLWNoZXZyb24tY2lyY2xlLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTM4XCI7XG59XG4uZmEtY2hldnJvbi1jaXJjbGUtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzlcIjtcbn1cbi5mYS1jaGV2cm9uLWNpcmNsZS1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTNhXCI7XG59XG4uZmEtaHRtbDU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxM2JcIjtcbn1cbi5mYS1jc3MzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTNjXCI7XG59XG4uZmEtYW5jaG9yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTNkXCI7XG59XG4uZmEtdW5sb2NrLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzZVwiO1xufVxuLmZhLWJ1bGxzZXllOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQwXCI7XG59XG4uZmEtZWxsaXBzaXMtaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0MVwiO1xufVxuLmZhLWVsbGlwc2lzLXY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNDJcIjtcbn1cbi5mYS1yc3Mtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQzXCI7XG59XG4uZmEtcGxheS1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNDRcIjtcbn1cbi5mYS10aWNrZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNDVcIjtcbn1cbi5mYS1taW51cy1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNDZcIjtcbn1cbi5mYS1taW51cy1zcXVhcmUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0N1wiO1xufVxuLmZhLWxldmVsLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQ4XCI7XG59XG4uZmEtbGV2ZWwtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0OVwiO1xufVxuLmZhLWNoZWNrLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0YVwiO1xufVxuLmZhLXBlbmNpbC1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNGJcIjtcbn1cbi5mYS1leHRlcm5hbC1saW5rLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0Y1wiO1xufVxuLmZhLXNoYXJlLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0ZFwiO1xufVxuLmZhLWNvbXBhc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNGVcIjtcbn1cbi5mYS10b2dnbGUtZG93bjpiZWZvcmUsXG4uZmEtY2FyZXQtc3F1YXJlLW8tZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1MFwiO1xufVxuLmZhLXRvZ2dsZS11cDpiZWZvcmUsXG4uZmEtY2FyZXQtc3F1YXJlLW8tdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTFcIjtcbn1cbi5mYS10b2dnbGUtcmlnaHQ6YmVmb3JlLFxuLmZhLWNhcmV0LXNxdWFyZS1vLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTUyXCI7XG59XG4uZmEtZXVybzpiZWZvcmUsXG4uZmEtZXVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTUzXCI7XG59XG4uZmEtZ2JwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU0XCI7XG59XG4uZmEtZG9sbGFyOmJlZm9yZSxcbi5mYS11c2Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTVcIjtcbn1cbi5mYS1ydXBlZTpiZWZvcmUsXG4uZmEtaW5yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU2XCI7XG59XG4uZmEtY255OmJlZm9yZSxcbi5mYS1ybWI6YmVmb3JlLFxuLmZhLXllbjpiZWZvcmUsXG4uZmEtanB5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU3XCI7XG59XG4uZmEtcnVibGU6YmVmb3JlLFxuLmZhLXJvdWJsZTpiZWZvcmUsXG4uZmEtcnViOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU4XCI7XG59XG4uZmEtd29uOmJlZm9yZSxcbi5mYS1rcnc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTlcIjtcbn1cbi5mYS1iaXRjb2luOmJlZm9yZSxcbi5mYS1idGM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNWFcIjtcbn1cbi5mYS1maWxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTViXCI7XG59XG4uZmEtZmlsZS10ZXh0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTVjXCI7XG59XG4uZmEtc29ydC1hbHBoYS1hc2M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNWRcIjtcbn1cbi5mYS1zb3J0LWFscGhhLWRlc2M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNWVcIjtcbn1cbi5mYS1zb3J0LWFtb3VudC1hc2M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjBcIjtcbn1cbi5mYS1zb3J0LWFtb3VudC1kZXNjOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTYxXCI7XG59XG4uZmEtc29ydC1udW1lcmljLWFzYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2MlwiO1xufVxuLmZhLXNvcnQtbnVtZXJpYy1kZXNjOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTYzXCI7XG59XG4uZmEtdGh1bWJzLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTY0XCI7XG59XG4uZmEtdGh1bWJzLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjVcIjtcbn1cbi5mYS15b3V0dWJlLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2NlwiO1xufVxuLmZhLXlvdXR1YmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjdcIjtcbn1cbi5mYS14aW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTY4XCI7XG59XG4uZmEteGluZy1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjlcIjtcbn1cbi5mYS15b3V0dWJlLXBsYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNmFcIjtcbn1cbi5mYS1kcm9wYm94OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTZiXCI7XG59XG4uZmEtc3RhY2stb3ZlcmZsb3c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNmNcIjtcbn1cbi5mYS1pbnN0YWdyYW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNmRcIjtcbn1cbi5mYS1mbGlja3I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNmVcIjtcbn1cbi5mYS1hZG46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzBcIjtcbn1cbi5mYS1iaXRidWNrZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzFcIjtcbn1cbi5mYS1iaXRidWNrZXQtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTcyXCI7XG59XG4uZmEtdHVtYmxyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTczXCI7XG59XG4uZmEtdHVtYmxyLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3NFwiO1xufVxuLmZhLWxvbmctYXJyb3ctZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3NVwiO1xufVxuLmZhLWxvbmctYXJyb3ctdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzZcIjtcbn1cbi5mYS1sb25nLWFycm93LWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzdcIjtcbn1cbi5mYS1sb25nLWFycm93LXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTc4XCI7XG59XG4uZmEtYXBwbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzlcIjtcbn1cbi5mYS13aW5kb3dzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTdhXCI7XG59XG4uZmEtYW5kcm9pZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3YlwiO1xufVxuLmZhLWxpbnV4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTdjXCI7XG59XG4uZmEtZHJpYmJibGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxN2RcIjtcbn1cbi5mYS1za3lwZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3ZVwiO1xufVxuLmZhLWZvdXJzcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODBcIjtcbn1cbi5mYS10cmVsbG86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODFcIjtcbn1cbi5mYS1mZW1hbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODJcIjtcbn1cbi5mYS1tYWxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTgzXCI7XG59XG4uZmEtZ2l0dGlwOmJlZm9yZSxcbi5mYS1ncmF0aXBheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4NFwiO1xufVxuLmZhLXN1bi1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTg1XCI7XG59XG4uZmEtbW9vbi1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTg2XCI7XG59XG4uZmEtYXJjaGl2ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4N1wiO1xufVxuLmZhLWJ1ZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4OFwiO1xufVxuLmZhLXZrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTg5XCI7XG59XG4uZmEtd2VpYm86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOGFcIjtcbn1cbi5mYS1yZW5yZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOGJcIjtcbn1cbi5mYS1wYWdlbGluZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOGNcIjtcbn1cbi5mYS1zdGFjay1leGNoYW5nZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4ZFwiO1xufVxuLmZhLWFycm93LWNpcmNsZS1vLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMThlXCI7XG59XG4uZmEtYXJyb3ctY2lyY2xlLW8tbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5MFwiO1xufVxuLmZhLXRvZ2dsZS1sZWZ0OmJlZm9yZSxcbi5mYS1jYXJldC1zcXVhcmUtby1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTkxXCI7XG59XG4uZmEtZG90LWNpcmNsZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTkyXCI7XG59XG4uZmEtd2hlZWxjaGFpcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5M1wiO1xufVxuLmZhLXZpbWVvLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5NFwiO1xufVxuLmZhLXR1cmtpc2gtbGlyYTpiZWZvcmUsXG4uZmEtdHJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTk1XCI7XG59XG4uZmEtcGx1cy1zcXVhcmUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5NlwiO1xufVxuLmZhLXNwYWNlLXNodXR0bGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOTdcIjtcbn1cbi5mYS1zbGFjazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5OFwiO1xufVxuLmZhLWVudmVsb3BlLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5OVwiO1xufVxuLmZhLXdvcmRwcmVzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5YVwiO1xufVxuLmZhLW9wZW5pZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5YlwiO1xufVxuLmZhLWluc3RpdHV0aW9uOmJlZm9yZSxcbi5mYS1iYW5rOmJlZm9yZSxcbi5mYS11bml2ZXJzaXR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTljXCI7XG59XG4uZmEtbW9ydGFyLWJvYXJkOmJlZm9yZSxcbi5mYS1ncmFkdWF0aW9uLWNhcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5ZFwiO1xufVxuLmZhLXlhaG9vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTllXCI7XG59XG4uZmEtZ29vZ2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWEwXCI7XG59XG4uZmEtcmVkZGl0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWExXCI7XG59XG4uZmEtcmVkZGl0LXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhMlwiO1xufVxuLmZhLXN0dW1ibGV1cG9uLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhM1wiO1xufVxuLmZhLXN0dW1ibGV1cG9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWE0XCI7XG59XG4uZmEtZGVsaWNpb3VzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWE1XCI7XG59XG4uZmEtZGlnZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhNlwiO1xufVxuLmZhLXBpZWQtcGlwZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTdcIjtcbn1cbi5mYS1waWVkLXBpcGVyLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhOFwiO1xufVxuLmZhLWRydXBhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhOVwiO1xufVxuLmZhLWpvb21sYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhYVwiO1xufVxuLmZhLWxhbmd1YWdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWFiXCI7XG59XG4uZmEtZmF4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWFjXCI7XG59XG4uZmEtYnVpbGRpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYWRcIjtcbn1cbi5mYS1jaGlsZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhZVwiO1xufVxuLmZhLXBhdzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiMFwiO1xufVxuLmZhLXNwb29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWIxXCI7XG59XG4uZmEtY3ViZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiMlwiO1xufVxuLmZhLWN1YmVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWIzXCI7XG59XG4uZmEtYmVoYW5jZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiNFwiO1xufVxuLmZhLWJlaGFuY2Utc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWI1XCI7XG59XG4uZmEtc3RlYW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjZcIjtcbn1cbi5mYS1zdGVhbS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjdcIjtcbn1cbi5mYS1yZWN5Y2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWI4XCI7XG59XG4uZmEtYXV0b21vYmlsZTpiZWZvcmUsXG4uZmEtY2FyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWI5XCI7XG59XG4uZmEtY2FiOmJlZm9yZSxcbi5mYS10YXhpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWJhXCI7XG59XG4uZmEtdHJlZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiYlwiO1xufVxuLmZhLXNwb3RpZnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYmNcIjtcbn1cbi5mYS1kZXZpYW50YXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWJkXCI7XG59XG4uZmEtc291bmRjbG91ZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiZVwiO1xufVxuLmZhLWRhdGFiYXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWMwXCI7XG59XG4uZmEtZmlsZS1wZGYtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjMVwiO1xufVxuLmZhLWZpbGUtd29yZC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWMyXCI7XG59XG4uZmEtZmlsZS1leGNlbC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWMzXCI7XG59XG4uZmEtZmlsZS1wb3dlcnBvaW50LW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzRcIjtcbn1cbi5mYS1maWxlLXBob3RvLW86YmVmb3JlLFxuLmZhLWZpbGUtcGljdHVyZS1vOmJlZm9yZSxcbi5mYS1maWxlLWltYWdlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzVcIjtcbn1cbi5mYS1maWxlLXppcC1vOmJlZm9yZSxcbi5mYS1maWxlLWFyY2hpdmUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjNlwiO1xufVxuLmZhLWZpbGUtc291bmQtbzpiZWZvcmUsXG4uZmEtZmlsZS1hdWRpby1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWM3XCI7XG59XG4uZmEtZmlsZS1tb3ZpZS1vOmJlZm9yZSxcbi5mYS1maWxlLXZpZGVvLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzhcIjtcbn1cbi5mYS1maWxlLWNvZGUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjOVwiO1xufVxuLmZhLXZpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxY2FcIjtcbn1cbi5mYS1jb2RlcGVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWNiXCI7XG59XG4uZmEtanNmaWRkbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxY2NcIjtcbn1cbi5mYS1saWZlLWJvdXk6YmVmb3JlLFxuLmZhLWxpZmUtYnVveTpiZWZvcmUsXG4uZmEtbGlmZS1zYXZlcjpiZWZvcmUsXG4uZmEtc3VwcG9ydDpiZWZvcmUsXG4uZmEtbGlmZS1yaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWNkXCI7XG59XG4uZmEtY2lyY2xlLW8tbm90Y2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxY2VcIjtcbn1cbi5mYS1yYTpiZWZvcmUsXG4uZmEtcmViZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDBcIjtcbn1cbi5mYS1nZTpiZWZvcmUsXG4uZmEtZW1waXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQxXCI7XG59XG4uZmEtZ2l0LXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkMlwiO1xufVxuLmZhLWdpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkM1wiO1xufVxuLmZhLWhhY2tlci1uZXdzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQ0XCI7XG59XG4uZmEtdGVuY2VudC13ZWlibzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkNVwiO1xufVxuLmZhLXFxOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQ2XCI7XG59XG4uZmEtd2VjaGF0OmJlZm9yZSxcbi5mYS13ZWl4aW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDdcIjtcbn1cbi5mYS1zZW5kOmJlZm9yZSxcbi5mYS1wYXBlci1wbGFuZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkOFwiO1xufVxuLmZhLXNlbmQtbzpiZWZvcmUsXG4uZmEtcGFwZXItcGxhbmUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkOVwiO1xufVxuLmZhLWhpc3Rvcnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZGFcIjtcbn1cbi5mYS1nZW5kZXJsZXNzOmJlZm9yZSxcbi5mYS1jaXJjbGUtdGhpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkYlwiO1xufVxuLmZhLWhlYWRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkY1wiO1xufVxuLmZhLXBhcmFncmFwaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkZFwiO1xufVxuLmZhLXNsaWRlcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZGVcIjtcbn1cbi5mYS1zaGFyZS1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTBcIjtcbn1cbi5mYS1zaGFyZS1hbHQtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWUxXCI7XG59XG4uZmEtYm9tYjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlMlwiO1xufVxuLmZhLXNvY2Nlci1iYWxsLW86YmVmb3JlLFxuLmZhLWZ1dGJvbC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWUzXCI7XG59XG4uZmEtdHR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWU0XCI7XG59XG4uZmEtYmlub2N1bGFyczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlNVwiO1xufVxuLmZhLXBsdWc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTZcIjtcbn1cbi5mYS1zbGlkZXNoYXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWU3XCI7XG59XG4uZmEtdHdpdGNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWU4XCI7XG59XG4uZmEteWVscDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlOVwiO1xufVxuLmZhLW5ld3NwYXBlci1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWVhXCI7XG59XG4uZmEtd2lmaTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlYlwiO1xufVxuLmZhLWNhbGN1bGF0b3I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZWNcIjtcbn1cbi5mYS1wYXlwYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZWRcIjtcbn1cbi5mYS1nb29nbGUtd2FsbGV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWVlXCI7XG59XG4uZmEtY2MtdmlzYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmMFwiO1xufVxuLmZhLWNjLW1hc3RlcmNhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjFcIjtcbn1cbi5mYS1jYy1kaXNjb3ZlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmMlwiO1xufVxuLmZhLWNjLWFtZXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjNcIjtcbn1cbi5mYS1jYy1wYXlwYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjRcIjtcbn1cbi5mYS1jYy1zdHJpcGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjVcIjtcbn1cbi5mYS1iZWxsLXNsYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWY2XCI7XG59XG4uZmEtYmVsbC1zbGFzaC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWY3XCI7XG59XG4uZmEtdHJhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjhcIjtcbn1cbi5mYS1jb3B5cmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjlcIjtcbn1cbi5mYS1hdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmYVwiO1xufVxuLmZhLWV5ZWRyb3BwZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZmJcIjtcbn1cbi5mYS1wYWludC1icnVzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmY1wiO1xufVxuLmZhLWJpcnRoZGF5LWNha2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZmRcIjtcbn1cbi5mYS1hcmVhLWNoYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWZlXCI7XG59XG4uZmEtcGllLWNoYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjAwXCI7XG59XG4uZmEtbGluZS1jaGFydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwMVwiO1xufVxuLmZhLWxhc3RmbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwMlwiO1xufVxuLmZhLWxhc3RmbS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDNcIjtcbn1cbi5mYS10b2dnbGUtb2ZmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjA0XCI7XG59XG4uZmEtdG9nZ2xlLW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjA1XCI7XG59XG4uZmEtYmljeWNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwNlwiO1xufVxuLmZhLWJ1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwN1wiO1xufVxuLmZhLWlveGhvc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDhcIjtcbn1cbi5mYS1hbmdlbGxpc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDlcIjtcbn1cbi5mYS1jYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwYVwiO1xufVxuLmZhLXNoZWtlbDpiZWZvcmUsXG4uZmEtc2hlcWVsOmJlZm9yZSxcbi5mYS1pbHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMGJcIjtcbn1cbi5mYS1tZWFucGF0aDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwY1wiO1xufVxuLmZhLWJ1eXNlbGxhZHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMGRcIjtcbn1cbi5mYS1jb25uZWN0ZGV2ZWxvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwZVwiO1xufVxuLmZhLWRhc2hjdWJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjEwXCI7XG59XG4uZmEtZm9ydW1iZWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTFcIjtcbn1cbi5mYS1sZWFucHViOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjEyXCI7XG59XG4uZmEtc2VsbHN5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjEzXCI7XG59XG4uZmEtc2hpcnRzaW5idWxrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjE0XCI7XG59XG4uZmEtc2ltcGx5YnVpbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTVcIjtcbn1cbi5mYS1za3lhdGxhczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxNlwiO1xufVxuLmZhLWNhcnQtcGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxN1wiO1xufVxuLmZhLWNhcnQtYXJyb3ctZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxOFwiO1xufVxuLmZhLWRpYW1vbmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTlcIjtcbn1cbi5mYS1zaGlwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjFhXCI7XG59XG4uZmEtdXNlci1zZWNyZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMWJcIjtcbn1cbi5mYS1tb3RvcmN5Y2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjFjXCI7XG59XG4uZmEtc3RyZWV0LXZpZXc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMWRcIjtcbn1cbi5mYS1oZWFydGJlYXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMWVcIjtcbn1cbi5mYS12ZW51czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyMVwiO1xufVxuLmZhLW1hcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjJcIjtcbn1cbi5mYS1tZXJjdXJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjIzXCI7XG59XG4uZmEtdHJhbnNnZW5kZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjRcIjtcbn1cbi5mYS10cmFuc2dlbmRlci1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjVcIjtcbn1cbi5mYS12ZW51cy1kb3VibGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjZcIjtcbn1cbi5mYS1tYXJzLWRvdWJsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyN1wiO1xufVxuLmZhLXZlbnVzLW1hcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjhcIjtcbn1cbi5mYS1tYXJzLXN0cm9rZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyOVwiO1xufVxuLmZhLW1hcnMtc3Ryb2tlLXY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMmFcIjtcbn1cbi5mYS1tYXJzLXN0cm9rZS1oOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjJiXCI7XG59XG4uZmEtbmV1dGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjJjXCI7XG59XG4uZmEtZmFjZWJvb2stb2ZmaWNpYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzBcIjtcbn1cbi5mYS1waW50ZXJlc3QtcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzMVwiO1xufVxuLmZhLXdoYXRzYXBwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjMyXCI7XG59XG4uZmEtc2VydmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjMzXCI7XG59XG4uZmEtdXNlci1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjM0XCI7XG59XG4uZmEtdXNlci10aW1lczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzNVwiO1xufVxuLmZhLWhvdGVsOmJlZm9yZSxcbi5mYS1iZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzZcIjtcbn1cbi5mYS12aWFjb2luOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjM3XCI7XG59XG4uZmEtdHJhaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzhcIjtcbn1cbi5mYS1zdWJ3YXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzlcIjtcbn1cbi5mYS1tZWRpdW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyM2FcIjtcbn1cbiJdfQ== */
