@charset "UTF-8";
/**
 * Foundation for Sites by ZURB
 * Version 6.5.3
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
@media print, screen and (min-width: 48em) {
  .reveal, .reveal.tiny, .reveal.small, .reveal.large {
    right: auto;
    left: auto;
    margin: 0 auto;
  }
}

/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  height: 0;
  overflow: visible;
}

pre {
  font-family: monospace, monospace;
  font-size: 1em;
}

a {
  background-color: transparent;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

b,
strong {
  font-weight: bolder;
}

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

img {
  border-style: none;
}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

legend {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type="checkbox"],
[type="radio"] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

details {
  display: block;
}

summary {
  display: list-item;
}

template {
  display: none;
}

[hidden] {
  display: none;
}

.foundation-mq {
  font-family: "small=0em&medium=48em&large=64em&xlarge=100em&xxlarge=120.0625em";
}

html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 100%;
}

*,
*::before,
*::after {
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
}

body {
  margin: 0;
  padding: 0;
  background: #fefefe;
  font-family: "Lato", sans-serif;
  font-weight: normal;
  line-height: 1.5;
  color: #0a0a0a;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img {
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
  height: auto;
  -ms-interpolation-mode: bicubic;
}

textarea {
  height: auto;
  min-height: 50px;
  border-radius: 0;
}

select {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  border-radius: 0;
}

.map_canvas img,
.map_canvas embed,
.map_canvas object,
.mqa-display img,
.mqa-display embed,
.mqa-display object {
  max-width: none !important;
}

button {
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  border-radius: 0;
  background: transparent;
  line-height: 1;
  cursor: auto;
}

[data-whatinput='mouse'] button {
  outline: 0;
}

pre {
  overflow: auto;
}

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

.is-visible {
  display: block !important;
}

.is-hidden {
  display: none !important;
}

[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
textarea {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  -webkit-box-shadow: none;
          box-shadow: none;
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #0a0a0a;
  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

[type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
textarea:focus {
  outline: none;
  border: 1px solid #8a8a8a;
  background-color: #fefefe;
  -webkit-box-shadow: 0 0 5px #cacaca;
          box-shadow: 0 0 5px #cacaca;
  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
}

textarea {
  max-width: 100%;
}

textarea[rows] {
  height: auto;
}

input:disabled, input[readonly],
textarea:disabled,
textarea[readonly] {
  background-color: #e6e6e6;
  cursor: not-allowed;
}

[type='submit'],
[type='button'] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 0;
}

input[type='search'] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

::-webkit-input-placeholder {
  color: #cacaca;
}

::-moz-placeholder {
  color: #cacaca;
}

:-ms-input-placeholder {
  color: #cacaca;
}

::-ms-input-placeholder {
  color: #cacaca;
}

::placeholder {
  color: #cacaca;
}

[type='file'],
[type='checkbox'],
[type='radio'] {
  margin: 0 0 1rem;
}

[type='checkbox'] + label,
[type='radio'] + label {
  display: inline-block;
  vertical-align: baseline;
  margin-left: 0.5rem;
  margin-right: 1rem;
  margin-bottom: 0;
}

[type='checkbox'] + label[for],
[type='radio'] + label[for] {
  cursor: pointer;
}

label > [type='checkbox'],
label > [type='radio'] {
  margin-right: 0.5rem;
}

[type='file'] {
  width: 100%;
}

label {
  display: block;
  margin: 0;
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.8;
  color: #0a0a0a;
}

label.middle {
  margin: 0 0 1rem;
  padding: 0.5625rem 0;
}

.help-text {
  margin-top: -0.5rem;
  font-size: 0.8125rem;
  font-style: italic;
  color: #0a0a0a;
}

.input-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin-bottom: 1rem;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}

.input-group > :first-child, .input-group > :first-child.input-group-button > * {
  border-radius: 0 0 0 0;
}

.input-group > :last-child, .input-group > :last-child.input-group-button > * {
  border-radius: 0 0 0 0;
}

.input-group-label, .input-group-field, .input-group-button, .input-group-button a,
.input-group-button input,
.input-group-button button,
.input-group-button label {
  margin: 0;
  white-space: nowrap;
}

.input-group-label {
  padding: 0 1rem;
  border: 1px solid #cacaca;
  background: #e6e6e6;
  color: #0a0a0a;
  text-align: center;
  white-space: nowrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.input-group-label:first-child {
  border-right: 0;
}

.input-group-label:last-child {
  border-left: 0;
}

.input-group-field {
  border-radius: 0;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
  min-width: 0;
}

.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}

.input-group-button a,
.input-group-button input,
.input-group-button button,
.input-group-button label {
  -ms-flex-item-align: stretch;
      align-self: stretch;
  height: auto;
  padding-top: 0;
  padding-bottom: 0;
  font-size: 1rem;
}

fieldset {
  margin: 0;
  padding: 0;
  border: 0;
}

legend {
  max-width: 100%;
  margin-bottom: 0.5rem;
}

.fieldset {
  margin: 1.125rem 0;
  padding: 1.25rem;
  border: 1px solid #cacaca;
}

.fieldset legend {
  margin: 0;
  margin-left: -0.1875rem;
  padding: 0 0.1875rem;
}

select {
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #0a0a0a;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>");
  background-origin: content-box;
  background-position: right -1rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 1.5rem;
  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
}

@media screen and (min-width: 0\0) {
  select {
    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==");
  }
}

select:focus {
  outline: none;
  border: 1px solid #8a8a8a;
  background-color: #fefefe;
  -webkit-box-shadow: 0 0 5px #cacaca;
          box-shadow: 0 0 5px #cacaca;
  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
}

select:disabled {
  background-color: #e6e6e6;
  cursor: not-allowed;
}

select::-ms-expand {
  display: none;
}

select[multiple] {
  height: auto;
  background-image: none;
}

.is-invalid-input:not(:focus) {
  border-color: #cc4b37;
  background-color: #f9ecea;
}

.is-invalid-input:not(:focus)::-webkit-input-placeholder {
  color: #cc4b37;
}

.is-invalid-input:not(:focus)::-moz-placeholder {
  color: #cc4b37;
}

.is-invalid-input:not(:focus):-ms-input-placeholder {
  color: #cc4b37;
}

.is-invalid-input:not(:focus)::-ms-input-placeholder {
  color: #cc4b37;
}

.is-invalid-input:not(:focus)::placeholder {
  color: #cc4b37;
}

.is-invalid-label {
  color: #cc4b37;
}

.form-error {
  display: none;
  margin-top: -0.5rem;
  margin-bottom: 1rem;
  font-size: 0.75rem;
  font-weight: bold;
  color: #cc4b37;
}

.form-error.is-visible {
  display: block;
}

div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0;
}

p {
  margin-bottom: 1rem;
  font-size: inherit;
  line-height: 1.6;
  text-rendering: optimizeLegibility;
}

em,
i {
  font-style: italic;
  line-height: inherit;
}

strong,
b {
  font-weight: bold;
  line-height: inherit;
}

small {
  font-size: 80%;
  line-height: inherit;
}

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  font-family: "Lato", sans-serif;
  font-style: normal;
  font-weight: normal;
  color: inherit;
  text-rendering: optimizeLegibility;
}

h1 small, .h1 small,
h2 small, .h2 small,
h3 small, .h3 small,
h4 small, .h4 small,
h5 small, .h5 small,
h6 small, .h6 small {
  line-height: 0;
  color: #cacaca;
}

h1, .h1 {
  font-size: 1.5rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem;
}

h2, .h2 {
  font-size: 1.25rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem;
}

h3, .h3 {
  font-size: 1.1875rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem;
}

h4, .h4 {
  font-size: 1.125rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem;
}

h5, .h5 {
  font-size: 1.0625rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem;
}

h6, .h6 {
  font-size: 1rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem;
}

@media print, screen and (min-width: 48em) {
  h1, .h1 {
    font-size: 3rem;
  }
  h2, .h2 {
    font-size: 2.5rem;
  }
  h3, .h3 {
    font-size: 1.9375rem;
  }
  h4, .h4 {
    font-size: 1.5625rem;
  }
  h5, .h5 {
    font-size: 1.25rem;
  }
  h6, .h6 {
    font-size: 1rem;
  }
}

a {
  line-height: inherit;
  color: #991B1E;
  text-decoration: none;
  cursor: pointer;
}

a:hover, a:focus {
  color: #84171a;
}

a img {
  border: 0;
}

hr {
  clear: both;
  max-width: 75rem;
  height: 0;
  margin: 1.25rem auto;
  border-top: 0;
  border-right: 0;
  border-bottom: 1px solid #cacaca;
  border-left: 0;
}

ul,
ol,
dl {
  margin-bottom: 1rem;
  list-style-position: outside;
  line-height: 1.6;
}

li {
  font-size: inherit;
}

ul {
  margin-left: 1.25rem;
  list-style-type: disc;
}

ol {
  margin-left: 1.25rem;
}

ul ul, ol ul, ul ol, ol ol {
  margin-left: 1.25rem;
  margin-bottom: 0;
}

dl {
  margin-bottom: 1rem;
}

dl dt {
  margin-bottom: 0.3rem;
  font-weight: bold;
}

blockquote {
  margin: 0 0 1rem;
  padding: 0.5625rem 1.25rem 0 1.1875rem;
  border-left: 1px solid #cacaca;
}

blockquote, blockquote p {
  line-height: 1.6;
  color: #8a8a8a;
}

cite {
  display: block;
  font-size: 0.8125rem;
  color: #8a8a8a;
}

cite:before {
  content: "— ";
}

abbr, abbr[title] {
  border-bottom: 1px dotted #0a0a0a;
  cursor: help;
  text-decoration: none;
}

figure {
  margin: 0;
}

code {
  padding: 0.125rem 0.3125rem 0.0625rem;
  border: 1px solid #cacaca;
  background-color: #e6e6e6;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: normal;
  color: #0a0a0a;
}

kbd {
  margin: 0;
  padding: 0.125rem 0.25rem 0;
  background-color: #e6e6e6;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  color: #0a0a0a;
}

.subheader {
  margin-top: 0.2rem;
  margin-bottom: 0.5rem;
  font-weight: normal;
  line-height: 1.4;
  color: #8a8a8a;
}

.lead {
  font-size: 125%;
  line-height: 1.6;
}

.stat {
  font-size: 2.5rem;
  line-height: 1;
}

p + .stat {
  margin-top: -1rem;
}

ul.no-bullet, ol.no-bullet {
  margin-left: 0;
  list-style: none;
}

.text-left {
  text-align: left;
}

.text-right {
  text-align: right;
}

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

.text-justify {
  text-align: justify;
}

@media print, screen and (min-width: 48em) {
  .medium-text-left {
    text-align: left;
  }
  .medium-text-right {
    text-align: right;
  }
  .medium-text-center {
    text-align: center;
  }
  .medium-text-justify {
    text-align: justify;
  }
}

@media print, screen and (min-width: 64em) {
  .large-text-left {
    text-align: left;
  }
  .large-text-right {
    text-align: right;
  }
  .large-text-center {
    text-align: center;
  }
  .large-text-justify {
    text-align: justify;
  }
}

@media screen and (min-width: 100em) {
  .xlarge-text-left {
    text-align: left;
  }
  .xlarge-text-right {
    text-align: right;
  }
  .xlarge-text-center {
    text-align: center;
  }
  .xlarge-text-justify {
    text-align: justify;
  }
}

@media screen and (min-width: 120.0625em) {
  .xxlarge-text-left {
    text-align: left;
  }
  .xxlarge-text-right {
    text-align: right;
  }
  .xxlarge-text-center {
    text-align: center;
  }
  .xxlarge-text-justify {
    text-align: justify;
  }
}

.show-for-print {
  display: none !important;
}

@media print {
  * {
    background: transparent !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    color: black !important;
    text-shadow: none !important;
  }
  .show-for-print {
    display: block !important;
  }
  .hide-for-print {
    display: none !important;
  }
  table.show-for-print {
    display: table !important;
  }
  thead.show-for-print {
    display: table-header-group !important;
  }
  tbody.show-for-print {
    display: table-row-group !important;
  }
  tr.show-for-print {
    display: table-row !important;
  }
  td.show-for-print {
    display: table-cell !important;
  }
  th.show-for-print {
    display: table-cell !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  .ir a:after,
  a[href^='javascript:']:after,
  a[href^='#']:after {
    content: '';
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  pre,
  blockquote {
    border: 1px solid #8a8a8a;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  @page {
    margin: 0.5cm;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
  .print-break-inside {
    page-break-inside: auto;
  }
}

.grid-container {
  padding-right: 1.875rem;
  padding-left: 1.875rem;
  max-width: 1470px;
  margin-left: auto;
  margin-right: auto;
}

.grid-container.fluid {
  padding-right: 1.875rem;
  padding-left: 1.875rem;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.grid-container.full {
  padding-right: 0;
  padding-left: 0;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.grid-x {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
}

.cell {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: 100%;
}

.cell.auto {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
}

.cell.shrink {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}

.grid-x > .auto {
  width: auto;
}

.grid-x > .shrink {
  width: auto;
}

.grid-x > .small-shrink, .grid-x > .small-full, .grid-x > .small-1, .grid-x > .small-2, .grid-x > .small-3, .grid-x > .small-4, .grid-x > .small-5, .grid-x > .small-6, .grid-x > .small-7, .grid-x > .small-8, .grid-x > .small-9, .grid-x > .small-10, .grid-x > .small-11, .grid-x > .small-12 {
  -ms-flex-preferred-size: auto;
      flex-basis: auto;
}

@media print, screen and (min-width: 48em) {
  .grid-x > .medium-shrink, .grid-x > .medium-full, .grid-x > .medium-1, .grid-x > .medium-2, .grid-x > .medium-3, .grid-x > .medium-4, .grid-x > .medium-5, .grid-x > .medium-6, .grid-x > .medium-7, .grid-x > .medium-8, .grid-x > .medium-9, .grid-x > .medium-10, .grid-x > .medium-11, .grid-x > .medium-12 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }
}

@media print, screen and (min-width: 64em) {
  .grid-x > .large-shrink, .grid-x > .large-full, .grid-x > .large-1, .grid-x > .large-2, .grid-x > .large-3, .grid-x > .large-4, .grid-x > .large-5, .grid-x > .large-6, .grid-x > .large-7, .grid-x > .large-8, .grid-x > .large-9, .grid-x > .large-10, .grid-x > .large-11, .grid-x > .large-12 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }
}

@media screen and (min-width: 100em) {
  .grid-x > .xlarge-shrink, .grid-x > .xlarge-full, .grid-x > .xlarge-1, .grid-x > .xlarge-2, .grid-x > .xlarge-3, .grid-x > .xlarge-4, .grid-x > .xlarge-5, .grid-x > .xlarge-6, .grid-x > .xlarge-7, .grid-x > .xlarge-8, .grid-x > .xlarge-9, .grid-x > .xlarge-10, .grid-x > .xlarge-11, .grid-x > .xlarge-12 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }
}

@media screen and (min-width: 120.0625em) {
  .grid-x > .xxlarge-shrink, .grid-x > .xxlarge-full, .grid-x > .xxlarge-1, .grid-x > .xxlarge-2, .grid-x > .xxlarge-3, .grid-x > .xxlarge-4, .grid-x > .xxlarge-5, .grid-x > .xxlarge-6, .grid-x > .xxlarge-7, .grid-x > .xxlarge-8, .grid-x > .xxlarge-9, .grid-x > .xxlarge-10, .grid-x > .xxlarge-11, .grid-x > .xxlarge-12 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }
}

.grid-x > .small-1, .grid-x > .small-2, .grid-x > .small-3, .grid-x > .small-4, .grid-x > .small-5, .grid-x > .small-6, .grid-x > .small-7, .grid-x > .small-8, .grid-x > .small-9, .grid-x > .small-10, .grid-x > .small-11, .grid-x > .small-12 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}

.grid-x > .small-1 {
  width: 8.33333%;
}

.grid-x > .small-2 {
  width: 16.66667%;
}

.grid-x > .small-3 {
  width: 25%;
}

.grid-x > .small-4 {
  width: 33.33333%;
}

.grid-x > .small-5 {
  width: 41.66667%;
}

.grid-x > .small-6 {
  width: 50%;
}

.grid-x > .small-7 {
  width: 58.33333%;
}

.grid-x > .small-8 {
  width: 66.66667%;
}

.grid-x > .small-9 {
  width: 75%;
}

.grid-x > .small-10 {
  width: 83.33333%;
}

.grid-x > .small-11 {
  width: 91.66667%;
}

.grid-x > .small-12 {
  width: 100%;
}

@media print, screen and (min-width: 48em) {
  .grid-x > .medium-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto;
  }
  .grid-x > .medium-shrink, .grid-x > .medium-1, .grid-x > .medium-2, .grid-x > .medium-3, .grid-x > .medium-4, .grid-x > .medium-5, .grid-x > .medium-6, .grid-x > .medium-7, .grid-x > .medium-8, .grid-x > .medium-9, .grid-x > .medium-10, .grid-x > .medium-11, .grid-x > .medium-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
  }
  .grid-x > .medium-shrink {
    width: auto;
  }
  .grid-x > .medium-1 {
    width: 8.33333%;
  }
  .grid-x > .medium-2 {
    width: 16.66667%;
  }
  .grid-x > .medium-3 {
    width: 25%;
  }
  .grid-x > .medium-4 {
    width: 33.33333%;
  }
  .grid-x > .medium-5 {
    width: 41.66667%;
  }
  .grid-x > .medium-6 {
    width: 50%;
  }
  .grid-x > .medium-7 {
    width: 58.33333%;
  }
  .grid-x > .medium-8 {
    width: 66.66667%;
  }
  .grid-x > .medium-9 {
    width: 75%;
  }
  .grid-x > .medium-10 {
    width: 83.33333%;
  }
  .grid-x > .medium-11 {
    width: 91.66667%;
  }
  .grid-x > .medium-12 {
    width: 100%;
  }
}

@media print, screen and (min-width: 64em) {
  .grid-x > .large-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto;
  }
  .grid-x > .large-shrink, .grid-x > .large-1, .grid-x > .large-2, .grid-x > .large-3, .grid-x > .large-4, .grid-x > .large-5, .grid-x > .large-6, .grid-x > .large-7, .grid-x > .large-8, .grid-x > .large-9, .grid-x > .large-10, .grid-x > .large-11, .grid-x > .large-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
  }
  .grid-x > .large-shrink {
    width: auto;
  }
  .grid-x > .large-1 {
    width: 8.33333%;
  }
  .grid-x > .large-2 {
    width: 16.66667%;
  }
  .grid-x > .large-3 {
    width: 25%;
  }
  .grid-x > .large-4 {
    width: 33.33333%;
  }
  .grid-x > .large-5 {
    width: 41.66667%;
  }
  .grid-x > .large-6 {
    width: 50%;
  }
  .grid-x > .large-7 {
    width: 58.33333%;
  }
  .grid-x > .large-8 {
    width: 66.66667%;
  }
  .grid-x > .large-9 {
    width: 75%;
  }
  .grid-x > .large-10 {
    width: 83.33333%;
  }
  .grid-x > .large-11 {
    width: 91.66667%;
  }
  .grid-x > .large-12 {
    width: 100%;
  }
}

@media screen and (min-width: 100em) {
  .grid-x > .xlarge-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto;
  }
  .grid-x > .xlarge-shrink, .grid-x > .xlarge-1, .grid-x > .xlarge-2, .grid-x > .xlarge-3, .grid-x > .xlarge-4, .grid-x > .xlarge-5, .grid-x > .xlarge-6, .grid-x > .xlarge-7, .grid-x > .xlarge-8, .grid-x > .xlarge-9, .grid-x > .xlarge-10, .grid-x > .xlarge-11, .grid-x > .xlarge-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
  }
  .grid-x > .xlarge-shrink {
    width: auto;
  }
  .grid-x > .xlarge-1 {
    width: 8.33333%;
  }
  .grid-x > .xlarge-2 {
    width: 16.66667%;
  }
  .grid-x > .xlarge-3 {
    width: 25%;
  }
  .grid-x > .xlarge-4 {
    width: 33.33333%;
  }
  .grid-x > .xlarge-5 {
    width: 41.66667%;
  }
  .grid-x > .xlarge-6 {
    width: 50%;
  }
  .grid-x > .xlarge-7 {
    width: 58.33333%;
  }
  .grid-x > .xlarge-8 {
    width: 66.66667%;
  }
  .grid-x > .xlarge-9 {
    width: 75%;
  }
  .grid-x > .xlarge-10 {
    width: 83.33333%;
  }
  .grid-x > .xlarge-11 {
    width: 91.66667%;
  }
  .grid-x > .xlarge-12 {
    width: 100%;
  }
}

@media screen and (min-width: 120.0625em) {
  .grid-x > .xxlarge-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto;
  }
  .grid-x > .xxlarge-shrink, .grid-x > .xxlarge-1, .grid-x > .xxlarge-2, .grid-x > .xxlarge-3, .grid-x > .xxlarge-4, .grid-x > .xxlarge-5, .grid-x > .xxlarge-6, .grid-x > .xxlarge-7, .grid-x > .xxlarge-8, .grid-x > .xxlarge-9, .grid-x > .xxlarge-10, .grid-x > .xxlarge-11, .grid-x > .xxlarge-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
  }
  .grid-x > .xxlarge-shrink {
    width: auto;
  }
  .grid-x > .xxlarge-1 {
    width: 8.33333%;
  }
  .grid-x > .xxlarge-2 {
    width: 16.66667%;
  }
  .grid-x > .xxlarge-3 {
    width: 25%;
  }
  .grid-x > .xxlarge-4 {
    width: 33.33333%;
  }
  .grid-x > .xxlarge-5 {
    width: 41.66667%;
  }
  .grid-x > .xxlarge-6 {
    width: 50%;
  }
  .grid-x > .xxlarge-7 {
    width: 58.33333%;
  }
  .grid-x > .xxlarge-8 {
    width: 66.66667%;
  }
  .grid-x > .xxlarge-9 {
    width: 75%;
  }
  .grid-x > .xxlarge-10 {
    width: 83.33333%;
  }
  .grid-x > .xxlarge-11 {
    width: 91.66667%;
  }
  .grid-x > .xxlarge-12 {
    width: 100%;
  }
}

.grid-margin-x:not(.grid-x) > .cell {
  width: auto;
}

.grid-margin-y:not(.grid-y) > .cell {
  height: auto;
}

.grid-margin-x {
  margin-left: -0.625rem;
  margin-right: -0.625rem;
}

@media print, screen and (min-width: 48em) {
  .grid-margin-x {
    margin-left: -0.9375rem;
    margin-right: -0.9375rem;
  }
}

.grid-margin-x > .cell {
  width: calc(100% - 1.25rem);
  margin-left: 0.625rem;
  margin-right: 0.625rem;
}

@media print, screen and (min-width: 48em) {
  .grid-margin-x > .cell {
    width: calc(100% - 1.875rem);
    margin-left: 0.9375rem;
    margin-right: 0.9375rem;
  }
}

.grid-margin-x > .auto {
  width: auto;
}

.grid-margin-x > .shrink {
  width: auto;
}

.grid-margin-x > .small-1 {
  width: calc(8.33333% - 1.25rem);
}

.grid-margin-x > .small-2 {
  width: calc(16.66667% - 1.25rem);
}

.grid-margin-x > .small-3 {
  width: calc(25% - 1.25rem);
}

.grid-margin-x > .small-4 {
  width: calc(33.33333% - 1.25rem);
}

.grid-margin-x > .small-5 {
  width: calc(41.66667% - 1.25rem);
}

.grid-margin-x > .small-6 {
  width: calc(50% - 1.25rem);
}

.grid-margin-x > .small-7 {
  width: calc(58.33333% - 1.25rem);
}

.grid-margin-x > .small-8 {
  width: calc(66.66667% - 1.25rem);
}

.grid-margin-x > .small-9 {
  width: calc(75% - 1.25rem);
}

.grid-margin-x > .small-10 {
  width: calc(83.33333% - 1.25rem);
}

.grid-margin-x > .small-11 {
  width: calc(91.66667% - 1.25rem);
}

.grid-margin-x > .small-12 {
  width: calc(100% - 1.25rem);
}

@media print, screen and (min-width: 48em) {
  .grid-margin-x > .auto {
    width: auto;
  }
  .grid-margin-x > .shrink {
    width: auto;
  }
  .grid-margin-x > .small-1 {
    width: calc(8.33333% - 1.875rem);
  }
  .grid-margin-x > .small-2 {
    width: calc(16.66667% - 1.875rem);
  }
  .grid-margin-x > .small-3 {
    width: calc(25% - 1.875rem);
  }
  .grid-margin-x > .small-4 {
    width: calc(33.33333% - 1.875rem);
  }
  .grid-margin-x > .small-5 {
    width: calc(41.66667% - 1.875rem);
  }
  .grid-margin-x > .small-6 {
    width: calc(50% - 1.875rem);
  }
  .grid-margin-x > .small-7 {
    width: calc(58.33333% - 1.875rem);
  }
  .grid-margin-x > .small-8 {
    width: calc(66.66667% - 1.875rem);
  }
  .grid-margin-x > .small-9 {
    width: calc(75% - 1.875rem);
  }
  .grid-margin-x > .small-10 {
    width: calc(83.33333% - 1.875rem);
  }
  .grid-margin-x > .small-11 {
    width: calc(91.66667% - 1.875rem);
  }
  .grid-margin-x > .small-12 {
    width: calc(100% - 1.875rem);
  }
  .grid-margin-x > .medium-auto {
    width: auto;
  }
  .grid-margin-x > .medium-shrink {
    width: auto;
  }
  .grid-margin-x > .medium-1 {
    width: calc(8.33333% - 1.875rem);
  }
  .grid-margin-x > .medium-2 {
    width: calc(16.66667% - 1.875rem);
  }
  .grid-margin-x > .medium-3 {
    width: calc(25% - 1.875rem);
  }
  .grid-margin-x > .medium-4 {
    width: calc(33.33333% - 1.875rem);
  }
  .grid-margin-x > .medium-5 {
    width: calc(41.66667% - 1.875rem);
  }
  .grid-margin-x > .medium-6 {
    width: calc(50% - 1.875rem);
  }
  .grid-margin-x > .medium-7 {
    width: calc(58.33333% - 1.875rem);
  }
  .grid-margin-x > .medium-8 {
    width: calc(66.66667% - 1.875rem);
  }
  .grid-margin-x > .medium-9 {
    width: calc(75% - 1.875rem);
  }
  .grid-margin-x > .medium-10 {
    width: calc(83.33333% - 1.875rem);
  }
  .grid-margin-x > .medium-11 {
    width: calc(91.66667% - 1.875rem);
  }
  .grid-margin-x > .medium-12 {
    width: calc(100% - 1.875rem);
  }
}

@media print, screen and (min-width: 64em) {
  .grid-margin-x > .large-auto {
    width: auto;
  }
  .grid-margin-x > .large-shrink {
    width: auto;
  }
  .grid-margin-x > .large-1 {
    width: calc(8.33333% - 1.875rem);
  }
  .grid-margin-x > .large-2 {
    width: calc(16.66667% - 1.875rem);
  }
  .grid-margin-x > .large-3 {
    width: calc(25% - 1.875rem);
  }
  .grid-margin-x > .large-4 {
    width: calc(33.33333% - 1.875rem);
  }
  .grid-margin-x > .large-5 {
    width: calc(41.66667% - 1.875rem);
  }
  .grid-margin-x > .large-6 {
    width: calc(50% - 1.875rem);
  }
  .grid-margin-x > .large-7 {
    width: calc(58.33333% - 1.875rem);
  }
  .grid-margin-x > .large-8 {
    width: calc(66.66667% - 1.875rem);
  }
  .grid-margin-x > .large-9 {
    width: calc(75% - 1.875rem);
  }
  .grid-margin-x > .large-10 {
    width: calc(83.33333% - 1.875rem);
  }
  .grid-margin-x > .large-11 {
    width: calc(91.66667% - 1.875rem);
  }
  .grid-margin-x > .large-12 {
    width: calc(100% - 1.875rem);
  }
}

@media screen and (min-width: 100em) {
  .grid-margin-x > .xlarge-auto {
    width: auto;
  }
  .grid-margin-x > .xlarge-shrink {
    width: auto;
  }
  .grid-margin-x > .xlarge-1 {
    width: calc(8.33333% - 1.875rem);
  }
  .grid-margin-x > .xlarge-2 {
    width: calc(16.66667% - 1.875rem);
  }
  .grid-margin-x > .xlarge-3 {
    width: calc(25% - 1.875rem);
  }
  .grid-margin-x > .xlarge-4 {
    width: calc(33.33333% - 1.875rem);
  }
  .grid-margin-x > .xlarge-5 {
    width: calc(41.66667% - 1.875rem);
  }
  .grid-margin-x > .xlarge-6 {
    width: calc(50% - 1.875rem);
  }
  .grid-margin-x > .xlarge-7 {
    width: calc(58.33333% - 1.875rem);
  }
  .grid-margin-x > .xlarge-8 {
    width: calc(66.66667% - 1.875rem);
  }
  .grid-margin-x > .xlarge-9 {
    width: calc(75% - 1.875rem);
  }
  .grid-margin-x > .xlarge-10 {
    width: calc(83.33333% - 1.875rem);
  }
  .grid-margin-x > .xlarge-11 {
    width: calc(91.66667% - 1.875rem);
  }
  .grid-margin-x > .xlarge-12 {
    width: calc(100% - 1.875rem);
  }
}

@media screen and (min-width: 120.0625em) {
  .grid-margin-x > .xxlarge-auto {
    width: auto;
  }
  .grid-margin-x > .xxlarge-shrink {
    width: auto;
  }
  .grid-margin-x > .xxlarge-1 {
    width: calc(8.33333% - 1.875rem);
  }
  .grid-margin-x > .xxlarge-2 {
    width: calc(16.66667% - 1.875rem);
  }
  .grid-margin-x > .xxlarge-3 {
    width: calc(25% - 1.875rem);
  }
  .grid-margin-x > .xxlarge-4 {
    width: calc(33.33333% - 1.875rem);
  }
  .grid-margin-x > .xxlarge-5 {
    width: calc(41.66667% - 1.875rem);
  }
  .grid-margin-x > .xxlarge-6 {
    width: calc(50% - 1.875rem);
  }
  .grid-margin-x > .xxlarge-7 {
    width: calc(58.33333% - 1.875rem);
  }
  .grid-margin-x > .xxlarge-8 {
    width: calc(66.66667% - 1.875rem);
  }
  .grid-margin-x > .xxlarge-9 {
    width: calc(75% - 1.875rem);
  }
  .grid-margin-x > .xxlarge-10 {
    width: calc(83.33333% - 1.875rem);
  }
  .grid-margin-x > .xxlarge-11 {
    width: calc(91.66667% - 1.875rem);
  }
  .grid-margin-x > .xxlarge-12 {
    width: calc(100% - 1.875rem);
  }
}

.grid-padding-x .grid-padding-x {
  margin-right: -0.625rem;
  margin-left: -0.625rem;
}

@media print, screen and (min-width: 48em) {
  .grid-padding-x .grid-padding-x {
    margin-right: -0.9375rem;
    margin-left: -0.9375rem;
  }
}

.grid-container:not(.full) > .grid-padding-x {
  margin-right: -0.625rem;
  margin-left: -0.625rem;
}

@media print, screen and (min-width: 48em) {
  .grid-container:not(.full) > .grid-padding-x {
    margin-right: -0.9375rem;
    margin-left: -0.9375rem;
  }
}

.grid-padding-x > .cell {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
}

@media print, screen and (min-width: 48em) {
  .grid-padding-x > .cell {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem;
  }
}

.small-up-1 > .cell {
  width: 100%;
}

.small-up-2 > .cell {
  width: 50%;
}

.small-up-3 > .cell {
  width: 33.33333%;
}

.small-up-4 > .cell {
  width: 25%;
}

.small-up-5 > .cell {
  width: 20%;
}

.small-up-6 > .cell {
  width: 16.66667%;
}

.small-up-7 > .cell {
  width: 14.28571%;
}

.small-up-8 > .cell {
  width: 12.5%;
}

@media print, screen and (min-width: 48em) {
  .medium-up-1 > .cell {
    width: 100%;
  }
  .medium-up-2 > .cell {
    width: 50%;
  }
  .medium-up-3 > .cell {
    width: 33.33333%;
  }
  .medium-up-4 > .cell {
    width: 25%;
  }
  .medium-up-5 > .cell {
    width: 20%;
  }
  .medium-up-6 > .cell {
    width: 16.66667%;
  }
  .medium-up-7 > .cell {
    width: 14.28571%;
  }
  .medium-up-8 > .cell {
    width: 12.5%;
  }
}

@media print, screen and (min-width: 64em) {
  .large-up-1 > .cell {
    width: 100%;
  }
  .large-up-2 > .cell {
    width: 50%;
  }
  .large-up-3 > .cell {
    width: 33.33333%;
  }
  .large-up-4 > .cell {
    width: 25%;
  }
  .large-up-5 > .cell {
    width: 20%;
  }
  .large-up-6 > .cell {
    width: 16.66667%;
  }
  .large-up-7 > .cell {
    width: 14.28571%;
  }
  .large-up-8 > .cell {
    width: 12.5%;
  }
}

@media screen and (min-width: 100em) {
  .xlarge-up-1 > .cell {
    width: 100%;
  }
  .xlarge-up-2 > .cell {
    width: 50%;
  }
  .xlarge-up-3 > .cell {
    width: 33.33333%;
  }
  .xlarge-up-4 > .cell {
    width: 25%;
  }
  .xlarge-up-5 > .cell {
    width: 20%;
  }
  .xlarge-up-6 > .cell {
    width: 16.66667%;
  }
  .xlarge-up-7 > .cell {
    width: 14.28571%;
  }
  .xlarge-up-8 > .cell {
    width: 12.5%;
  }
}

@media screen and (min-width: 120.0625em) {
  .xxlarge-up-1 > .cell {
    width: 100%;
  }
  .xxlarge-up-2 > .cell {
    width: 50%;
  }
  .xxlarge-up-3 > .cell {
    width: 33.33333%;
  }
  .xxlarge-up-4 > .cell {
    width: 25%;
  }
  .xxlarge-up-5 > .cell {
    width: 20%;
  }
  .xxlarge-up-6 > .cell {
    width: 16.66667%;
  }
  .xxlarge-up-7 > .cell {
    width: 14.28571%;
  }
  .xxlarge-up-8 > .cell {
    width: 12.5%;
  }
}

.grid-margin-x.small-up-1 > .cell {
  width: calc(100% - 1.25rem);
}

.grid-margin-x.small-up-2 > .cell {
  width: calc(50% - 1.25rem);
}

.grid-margin-x.small-up-3 > .cell {
  width: calc(33.33333% - 1.25rem);
}

.grid-margin-x.small-up-4 > .cell {
  width: calc(25% - 1.25rem);
}

.grid-margin-x.small-up-5 > .cell {
  width: calc(20% - 1.25rem);
}

.grid-margin-x.small-up-6 > .cell {
  width: calc(16.66667% - 1.25rem);
}

.grid-margin-x.small-up-7 > .cell {
  width: calc(14.28571% - 1.25rem);
}

.grid-margin-x.small-up-8 > .cell {
  width: calc(12.5% - 1.25rem);
}

@media print, screen and (min-width: 48em) {
  .grid-margin-x.small-up-1 > .cell {
    width: calc(100% - 1.875rem);
  }
  .grid-margin-x.small-up-2 > .cell {
    width: calc(50% - 1.875rem);
  }
  .grid-margin-x.small-up-3 > .cell {
    width: calc(33.33333% - 1.875rem);
  }
  .grid-margin-x.small-up-4 > .cell {
    width: calc(25% - 1.875rem);
  }
  .grid-margin-x.small-up-5 > .cell {
    width: calc(20% - 1.875rem);
  }
  .grid-margin-x.small-up-6 > .cell {
    width: calc(16.66667% - 1.875rem);
  }
  .grid-margin-x.small-up-7 > .cell {
    width: calc(14.28571% - 1.875rem);
  }
  .grid-margin-x.small-up-8 > .cell {
    width: calc(12.5% - 1.875rem);
  }
  .grid-margin-x.medium-up-1 > .cell {
    width: calc(100% - 1.875rem);
  }
  .grid-margin-x.medium-up-2 > .cell {
    width: calc(50% - 1.875rem);
  }
  .grid-margin-x.medium-up-3 > .cell {
    width: calc(33.33333% - 1.875rem);
  }
  .grid-margin-x.medium-up-4 > .cell {
    width: calc(25% - 1.875rem);
  }
  .grid-margin-x.medium-up-5 > .cell {
    width: calc(20% - 1.875rem);
  }
  .grid-margin-x.medium-up-6 > .cell {
    width: calc(16.66667% - 1.875rem);
  }
  .grid-margin-x.medium-up-7 > .cell {
    width: calc(14.28571% - 1.875rem);
  }
  .grid-margin-x.medium-up-8 > .cell {
    width: calc(12.5% - 1.875rem);
  }
}

@media print, screen and (min-width: 64em) {
  .grid-margin-x.large-up-1 > .cell {
    width: calc(100% - 1.875rem);
  }
  .grid-margin-x.large-up-2 > .cell {
    width: calc(50% - 1.875rem);
  }
  .grid-margin-x.large-up-3 > .cell {
    width: calc(33.33333% - 1.875rem);
  }
  .grid-margin-x.large-up-4 > .cell {
    width: calc(25% - 1.875rem);
  }
  .grid-margin-x.large-up-5 > .cell {
    width: calc(20% - 1.875rem);
  }
  .grid-margin-x.large-up-6 > .cell {
    width: calc(16.66667% - 1.875rem);
  }
  .grid-margin-x.large-up-7 > .cell {
    width: calc(14.28571% - 1.875rem);
  }
  .grid-margin-x.large-up-8 > .cell {
    width: calc(12.5% - 1.875rem);
  }
}

@media screen and (min-width: 100em) {
  .grid-margin-x.xlarge-up-1 > .cell {
    width: calc(100% - 1.875rem);
  }
  .grid-margin-x.xlarge-up-2 > .cell {
    width: calc(50% - 1.875rem);
  }
  .grid-margin-x.xlarge-up-3 > .cell {
    width: calc(33.33333% - 1.875rem);
  }
  .grid-margin-x.xlarge-up-4 > .cell {
    width: calc(25% - 1.875rem);
  }
  .grid-margin-x.xlarge-up-5 > .cell {
    width: calc(20% - 1.875rem);
  }
  .grid-margin-x.xlarge-up-6 > .cell {
    width: calc(16.66667% - 1.875rem);
  }
  .grid-margin-x.xlarge-up-7 > .cell {
    width: calc(14.28571% - 1.875rem);
  }
  .grid-margin-x.xlarge-up-8 > .cell {
    width: calc(12.5% - 1.875rem);
  }
}

@media screen and (min-width: 120.0625em) {
  .grid-margin-x.xxlarge-up-1 > .cell {
    width: calc(100% - 1.875rem);
  }
  .grid-margin-x.xxlarge-up-2 > .cell {
    width: calc(50% - 1.875rem);
  }
  .grid-margin-x.xxlarge-up-3 > .cell {
    width: calc(33.33333% - 1.875rem);
  }
  .grid-margin-x.xxlarge-up-4 > .cell {
    width: calc(25% - 1.875rem);
  }
  .grid-margin-x.xxlarge-up-5 > .cell {
    width: calc(20% - 1.875rem);
  }
  .grid-margin-x.xxlarge-up-6 > .cell {
    width: calc(16.66667% - 1.875rem);
  }
  .grid-margin-x.xxlarge-up-7 > .cell {
    width: calc(14.28571% - 1.875rem);
  }
  .grid-margin-x.xxlarge-up-8 > .cell {
    width: calc(12.5% - 1.875rem);
  }
}

.small-margin-collapse {
  margin-right: 0;
  margin-left: 0;
}

.small-margin-collapse > .cell {
  margin-right: 0;
  margin-left: 0;
}

.small-margin-collapse > .small-1 {
  width: 8.33333%;
}

.small-margin-collapse > .small-2 {
  width: 16.66667%;
}

.small-margin-collapse > .small-3 {
  width: 25%;
}

.small-margin-collapse > .small-4 {
  width: 33.33333%;
}

.small-margin-collapse > .small-5 {
  width: 41.66667%;
}

.small-margin-collapse > .small-6 {
  width: 50%;
}

.small-margin-collapse > .small-7 {
  width: 58.33333%;
}

.small-margin-collapse > .small-8 {
  width: 66.66667%;
}

.small-margin-collapse > .small-9 {
  width: 75%;
}

.small-margin-collapse > .small-10 {
  width: 83.33333%;
}

.small-margin-collapse > .small-11 {
  width: 91.66667%;
}

.small-margin-collapse > .small-12 {
  width: 100%;
}

@media print, screen and (min-width: 48em) {
  .small-margin-collapse > .medium-1 {
    width: 8.33333%;
  }
  .small-margin-collapse > .medium-2 {
    width: 16.66667%;
  }
  .small-margin-collapse > .medium-3 {
    width: 25%;
  }
  .small-margin-collapse > .medium-4 {
    width: 33.33333%;
  }
  .small-margin-collapse > .medium-5 {
    width: 41.66667%;
  }
  .small-margin-collapse > .medium-6 {
    width: 50%;
  }
  .small-margin-collapse > .medium-7 {
    width: 58.33333%;
  }
  .small-margin-collapse > .medium-8 {
    width: 66.66667%;
  }
  .small-margin-collapse > .medium-9 {
    width: 75%;
  }
  .small-margin-collapse > .medium-10 {
    width: 83.33333%;
  }
  .small-margin-collapse > .medium-11 {
    width: 91.66667%;
  }
  .small-margin-collapse > .medium-12 {
    width: 100%;
  }
}

@media print, screen and (min-width: 64em) {
  .small-margin-collapse > .large-1 {
    width: 8.33333%;
  }
  .small-margin-collapse > .large-2 {
    width: 16.66667%;
  }
  .small-margin-collapse > .large-3 {
    width: 25%;
  }
  .small-margin-collapse > .large-4 {
    width: 33.33333%;
  }
  .small-margin-collapse > .large-5 {
    width: 41.66667%;
  }
  .small-margin-collapse > .large-6 {
    width: 50%;
  }
  .small-margin-collapse > .large-7 {
    width: 58.33333%;
  }
  .small-margin-collapse > .large-8 {
    width: 66.66667%;
  }
  .small-margin-collapse > .large-9 {
    width: 75%;
  }
  .small-margin-collapse > .large-10 {
    width: 83.33333%;
  }
  .small-margin-collapse > .large-11 {
    width: 91.66667%;
  }
  .small-margin-collapse > .large-12 {
    width: 100%;
  }
}

@media screen and (min-width: 100em) {
  .small-margin-collapse > .xlarge-1 {
    width: 8.33333%;
  }
  .small-margin-collapse > .xlarge-2 {
    width: 16.66667%;
  }
  .small-margin-collapse > .xlarge-3 {
    width: 25%;
  }
  .small-margin-collapse > .xlarge-4 {
    width: 33.33333%;
  }
  .small-margin-collapse > .xlarge-5 {
    width: 41.66667%;
  }
  .small-margin-collapse > .xlarge-6 {
    width: 50%;
  }
  .small-margin-collapse > .xlarge-7 {
    width: 58.33333%;
  }
  .small-margin-collapse > .xlarge-8 {
    width: 66.66667%;
  }
  .small-margin-collapse > .xlarge-9 {
    width: 75%;
  }
  .small-margin-collapse > .xlarge-10 {
    width: 83.33333%;
  }
  .small-margin-collapse > .xlarge-11 {
    width: 91.66667%;
  }
  .small-margin-collapse > .xlarge-12 {
    width: 100%;
  }
}

@media screen and (min-width: 120.0625em) {
  .small-margin-collapse > .xxlarge-1 {
    width: 8.33333%;
  }
  .small-margin-collapse > .xxlarge-2 {
    width: 16.66667%;
  }
  .small-margin-collapse > .xxlarge-3 {
    width: 25%;
  }
  .small-margin-collapse > .xxlarge-4 {
    width: 33.33333%;
  }
  .small-margin-collapse > .xxlarge-5 {
    width: 41.66667%;
  }
  .small-margin-collapse > .xxlarge-6 {
    width: 50%;
  }
  .small-margin-collapse > .xxlarge-7 {
    width: 58.33333%;
  }
  .small-margin-collapse > .xxlarge-8 {
    width: 66.66667%;
  }
  .small-margin-collapse > .xxlarge-9 {
    width: 75%;
  }
  .small-margin-collapse > .xxlarge-10 {
    width: 83.33333%;
  }
  .small-margin-collapse > .xxlarge-11 {
    width: 91.66667%;
  }
  .small-margin-collapse > .xxlarge-12 {
    width: 100%;
  }
}

.small-padding-collapse {
  margin-right: 0;
  margin-left: 0;
}

.small-padding-collapse > .cell {
  padding-right: 0;
  padding-left: 0;
}

@media print, screen and (min-width: 48em) {
  .medium-margin-collapse {
    margin-right: 0;
    margin-left: 0;
  }
  .medium-margin-collapse > .cell {
    margin-right: 0;
    margin-left: 0;
  }
}

@media print, screen and (min-width: 48em) {
  .medium-margin-collapse > .small-1 {
    width: 8.33333%;
  }
  .medium-margin-collapse > .small-2 {
    width: 16.66667%;
  }
  .medium-margin-collapse > .small-3 {
    width: 25%;
  }
  .medium-margin-collapse > .small-4 {
    width: 33.33333%;
  }
  .medium-margin-collapse > .small-5 {
    width: 41.66667%;
  }
  .medium-margin-collapse > .small-6 {
    width: 50%;
  }
  .medium-margin-collapse > .small-7 {
    width: 58.33333%;
  }
  .medium-margin-collapse > .small-8 {
    width: 66.66667%;
  }
  .medium-margin-collapse > .small-9 {
    width: 75%;
  }
  .medium-margin-collapse > .small-10 {
    width: 83.33333%;
  }
  .medium-margin-collapse > .small-11 {
    width: 91.66667%;
  }
  .medium-margin-collapse > .small-12 {
    width: 100%;
  }
}

@media print, screen and (min-width: 48em) {
  .medium-margin-collapse > .medium-1 {
    width: 8.33333%;
  }
  .medium-margin-collapse > .medium-2 {
    width: 16.66667%;
  }
  .medium-margin-collapse > .medium-3 {
    width: 25%;
  }
  .medium-margin-collapse > .medium-4 {
    width: 33.33333%;
  }
  .medium-margin-collapse > .medium-5 {
    width: 41.66667%;
  }
  .medium-margin-collapse > .medium-6 {
    width: 50%;
  }
  .medium-margin-collapse > .medium-7 {
    width: 58.33333%;
  }
  .medium-margin-collapse > .medium-8 {
    width: 66.66667%;
  }
  .medium-margin-collapse > .medium-9 {
    width: 75%;
  }
  .medium-margin-collapse > .medium-10 {
    width: 83.33333%;
  }
  .medium-margin-collapse > .medium-11 {
    width: 91.66667%;
  }
  .medium-margin-collapse > .medium-12 {
    width: 100%;
  }
}

@media print, screen and (min-width: 64em) {
  .medium-margin-collapse > .large-1 {
    width: 8.33333%;
  }
  .medium-margin-collapse > .large-2 {
    width: 16.66667%;
  }
  .medium-margin-collapse > .large-3 {
    width: 25%;
  }
  .medium-margin-collapse > .large-4 {
    width: 33.33333%;
  }
  .medium-margin-collapse > .large-5 {
    width: 41.66667%;
  }
  .medium-margin-collapse > .large-6 {
    width: 50%;
  }
  .medium-margin-collapse > .large-7 {
    width: 58.33333%;
  }
  .medium-margin-collapse > .large-8 {
    width: 66.66667%;
  }
  .medium-margin-collapse > .large-9 {
    width: 75%;
  }
  .medium-margin-collapse > .large-10 {
    width: 83.33333%;
  }
  .medium-margin-collapse > .large-11 {
    width: 91.66667%;
  }
  .medium-margin-collapse > .large-12 {
    width: 100%;
  }
}

@media screen and (min-width: 100em) {
  .medium-margin-collapse > .xlarge-1 {
    width: 8.33333%;
  }
  .medium-margin-collapse > .xlarge-2 {
    width: 16.66667%;
  }
  .medium-margin-collapse > .xlarge-3 {
    width: 25%;
  }
  .medium-margin-collapse > .xlarge-4 {
    width: 33.33333%;
  }
  .medium-margin-collapse > .xlarge-5 {
    width: 41.66667%;
  }
  .medium-margin-collapse > .xlarge-6 {
    width: 50%;
  }
  .medium-margin-collapse > .xlarge-7 {
    width: 58.33333%;
  }
  .medium-margin-collapse > .xlarge-8 {
    width: 66.66667%;
  }
  .medium-margin-collapse > .xlarge-9 {
    width: 75%;
  }
  .medium-margin-collapse > .xlarge-10 {
    width: 83.33333%;
  }
  .medium-margin-collapse > .xlarge-11 {
    width: 91.66667%;
  }
  .medium-margin-collapse > .xlarge-12 {
    width: 100%;
  }
}

@media screen and (min-width: 120.0625em) {
  .medium-margin-collapse > .xxlarge-1 {
    width: 8.33333%;
  }
  .medium-margin-collapse > .xxlarge-2 {
    width: 16.66667%;
  }
  .medium-margin-collapse > .xxlarge-3 {
    width: 25%;
  }
  .medium-margin-collapse > .xxlarge-4 {
    width: 33.33333%;
  }
  .medium-margin-collapse > .xxlarge-5 {
    width: 41.66667%;
  }
  .medium-margin-collapse > .xxlarge-6 {
    width: 50%;
  }
  .medium-margin-collapse > .xxlarge-7 {
    width: 58.33333%;
  }
  .medium-margin-collapse > .xxlarge-8 {
    width: 66.66667%;
  }
  .medium-margin-collapse > .xxlarge-9 {
    width: 75%;
  }
  .medium-margin-collapse > .xxlarge-10 {
    width: 83.33333%;
  }
  .medium-margin-collapse > .xxlarge-11 {
    width: 91.66667%;
  }
  .medium-margin-collapse > .xxlarge-12 {
    width: 100%;
  }
}

@media print, screen and (min-width: 48em) {
  .medium-padding-collapse {
    margin-right: 0;
    margin-left: 0;
  }
  .medium-padding-collapse > .cell {
    padding-right: 0;
    padding-left: 0;
  }
}

@media print, screen and (min-width: 64em) {
  .large-margin-collapse {
    margin-right: 0;
    margin-left: 0;
  }
  .large-margin-collapse > .cell {
    margin-right: 0;
    margin-left: 0;
  }
}

@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .small-1 {
    width: 8.33333%;
  }
  .large-margin-collapse > .small-2 {
    width: 16.66667%;
  }
  .large-margin-collapse > .small-3 {
    width: 25%;
  }
  .large-margin-collapse > .small-4 {
    width: 33.33333%;
  }
  .large-margin-collapse > .small-5 {
    width: 41.66667%;
  }
  .large-margin-collapse > .small-6 {
    width: 50%;
  }
  .large-margin-collapse > .small-7 {
    width: 58.33333%;
  }
  .large-margin-collapse > .small-8 {
    width: 66.66667%;
  }
  .large-margin-collapse > .small-9 {
    width: 75%;
  }
  .large-margin-collapse > .small-10 {
    width: 83.33333%;
  }
  .large-margin-collapse > .small-11 {
    width: 91.66667%;
  }
  .large-margin-collapse > .small-12 {
    width: 100%;
  }
}

@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .medium-1 {
    width: 8.33333%;
  }
  .large-margin-collapse > .medium-2 {
    width: 16.66667%;
  }
  .large-margin-collapse > .medium-3 {
    width: 25%;
  }
  .large-margin-collapse > .medium-4 {
    width: 33.33333%;
  }
  .large-margin-collapse > .medium-5 {
    width: 41.66667%;
  }
  .large-margin-collapse > .medium-6 {
    width: 50%;
  }
  .large-margin-collapse > .medium-7 {
    width: 58.33333%;
  }
  .large-margin-collapse > .medium-8 {
    width: 66.66667%;
  }
  .large-margin-collapse > .medium-9 {
    width: 75%;
  }
  .large-margin-collapse > .medium-10 {
    width: 83.33333%;
  }
  .large-margin-collapse > .medium-11 {
    width: 91.66667%;
  }
  .large-margin-collapse > .medium-12 {
    width: 100%;
  }
}

@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .large-1 {
    width: 8.33333%;
  }
  .large-margin-collapse > .large-2 {
    width: 16.66667%;
  }
  .large-margin-collapse > .large-3 {
    width: 25%;
  }
  .large-margin-collapse > .large-4 {
    width: 33.33333%;
  }
  .large-margin-collapse > .large-5 {
    width: 41.66667%;
  }
  .large-margin-collapse > .large-6 {
    width: 50%;
  }
  .large-margin-collapse > .large-7 {
    width: 58.33333%;
  }
  .large-margin-collapse > .large-8 {
    width: 66.66667%;
  }
  .large-margin-collapse > .large-9 {
    width: 75%;
  }
  .large-margin-collapse > .large-10 {
    width: 83.33333%;
  }
  .large-margin-collapse > .large-11 {
    width: 91.66667%;
  }
  .large-margin-collapse > .large-12 {
    width: 100%;
  }
}

@media screen and (min-width: 100em) {
  .large-margin-collapse > .xlarge-1 {
    width: 8.33333%;
  }
  .large-margin-collapse > .xlarge-2 {
    width: 16.66667%;
  }
  .large-margin-collapse > .xlarge-3 {
    width: 25%;
  }
  .large-margin-collapse > .xlarge-4 {
    width: 33.33333%;
  }
  .large-margin-collapse > .xlarge-5 {
    width: 41.66667%;
  }
  .large-margin-collapse > .xlarge-6 {
    width: 50%;
  }
  .large-margin-collapse > .xlarge-7 {
    width: 58.33333%;
  }
  .large-margin-collapse > .xlarge-8 {
    width: 66.66667%;
  }
  .large-margin-collapse > .xlarge-9 {
    width: 75%;
  }
  .large-margin-collapse > .xlarge-10 {
    width: 83.33333%;
  }
  .large-margin-collapse > .xlarge-11 {
    width: 91.66667%;
  }
  .large-margin-collapse > .xlarge-12 {
    width: 100%;
  }
}

@media screen and (min-width: 120.0625em) {
  .large-margin-collapse > .xxlarge-1 {
    width: 8.33333%;
  }
  .large-margin-collapse > .xxlarge-2 {
    width: 16.66667%;
  }
  .large-margin-collapse > .xxlarge-3 {
    width: 25%;
  }
  .large-margin-collapse > .xxlarge-4 {
    width: 33.33333%;
  }
  .large-margin-collapse > .xxlarge-5 {
    width: 41.66667%;
  }
  .large-margin-collapse > .xxlarge-6 {
    width: 50%;
  }
  .large-margin-collapse > .xxlarge-7 {
    width: 58.33333%;
  }
  .large-margin-collapse > .xxlarge-8 {
    width: 66.66667%;
  }
  .large-margin-collapse > .xxlarge-9 {
    width: 75%;
  }
  .large-margin-collapse > .xxlarge-10 {
    width: 83.33333%;
  }
  .large-margin-collapse > .xxlarge-11 {
    width: 91.66667%;
  }
  .large-margin-collapse > .xxlarge-12 {
    width: 100%;
  }
}

@media print, screen and (min-width: 64em) {
  .large-padding-collapse {
    margin-right: 0;
    margin-left: 0;
  }
  .large-padding-collapse > .cell {
    padding-right: 0;
    padding-left: 0;
  }
}

@media screen and (min-width: 100em) {
  .xlarge-margin-collapse {
    margin-right: 0;
    margin-left: 0;
  }
  .xlarge-margin-collapse > .cell {
    margin-right: 0;
    margin-left: 0;
  }
}

@media screen and (min-width: 100em) {
  .xlarge-margin-collapse > .small-1 {
    width: 8.33333%;
  }
  .xlarge-margin-collapse > .small-2 {
    width: 16.66667%;
  }
  .xlarge-margin-collapse > .small-3 {
    width: 25%;
  }
  .xlarge-margin-collapse > .small-4 {
    width: 33.33333%;
  }
  .xlarge-margin-collapse > .small-5 {
    width: 41.66667%;
  }
  .xlarge-margin-collapse > .small-6 {
    width: 50%;
  }
  .xlarge-margin-collapse > .small-7 {
    width: 58.33333%;
  }
  .xlarge-margin-collapse > .small-8 {
    width: 66.66667%;
  }
  .xlarge-margin-collapse > .small-9 {
    width: 75%;
  }
  .xlarge-margin-collapse > .small-10 {
    width: 83.33333%;
  }
  .xlarge-margin-collapse > .small-11 {
    width: 91.66667%;
  }
  .xlarge-margin-collapse > .small-12 {
    width: 100%;
  }
}

@media screen and (min-width: 100em) {
  .xlarge-margin-collapse > .medium-1 {
    width: 8.33333%;
  }
  .xlarge-margin-collapse > .medium-2 {
    width: 16.66667%;
  }
  .xlarge-margin-collapse > .medium-3 {
    width: 25%;
  }
  .xlarge-margin-collapse > .medium-4 {
    width: 33.33333%;
  }
  .xlarge-margin-collapse > .medium-5 {
    width: 41.66667%;
  }
  .xlarge-margin-collapse > .medium-6 {
    width: 50%;
  }
  .xlarge-margin-collapse > .medium-7 {
    width: 58.33333%;
  }
  .xlarge-margin-collapse > .medium-8 {
    width: 66.66667%;
  }
  .xlarge-margin-collapse > .medium-9 {
    width: 75%;
  }
  .xlarge-margin-collapse > .medium-10 {
    width: 83.33333%;
  }
  .xlarge-margin-collapse > .medium-11 {
    width: 91.66667%;
  }
  .xlarge-margin-collapse > .medium-12 {
    width: 100%;
  }
}

@media screen and (min-width: 100em) {
  .xlarge-margin-collapse > .large-1 {
    width: 8.33333%;
  }
  .xlarge-margin-collapse > .large-2 {
    width: 16.66667%;
  }
  .xlarge-margin-collapse > .large-3 {
    width: 25%;
  }
  .xlarge-margin-collapse > .large-4 {
    width: 33.33333%;
  }
  .xlarge-margin-collapse > .large-5 {
    width: 41.66667%;
  }
  .xlarge-margin-collapse > .large-6 {
    width: 50%;
  }
  .xlarge-margin-collapse > .large-7 {
    width: 58.33333%;
  }
  .xlarge-margin-collapse > .large-8 {
    width: 66.66667%;
  }
  .xlarge-margin-collapse > .large-9 {
    width: 75%;
  }
  .xlarge-margin-collapse > .large-10 {
    width: 83.33333%;
  }
  .xlarge-margin-collapse > .large-11 {
    width: 91.66667%;
  }
  .xlarge-margin-collapse > .large-12 {
    width: 100%;
  }
}

@media screen and (min-width: 100em) {
  .xlarge-margin-collapse > .xlarge-1 {
    width: 8.33333%;
  }
  .xlarge-margin-collapse > .xlarge-2 {
    width: 16.66667%;
  }
  .xlarge-margin-collapse > .xlarge-3 {
    width: 25%;
  }
  .xlarge-margin-collapse > .xlarge-4 {
    width: 33.33333%;
  }
  .xlarge-margin-collapse > .xlarge-5 {
    width: 41.66667%;
  }
  .xlarge-margin-collapse > .xlarge-6 {
    width: 50%;
  }
  .xlarge-margin-collapse > .xlarge-7 {
    width: 58.33333%;
  }
  .xlarge-margin-collapse > .xlarge-8 {
    width: 66.66667%;
  }
  .xlarge-margin-collapse > .xlarge-9 {
    width: 75%;
  }
  .xlarge-margin-collapse > .xlarge-10 {
    width: 83.33333%;
  }
  .xlarge-margin-collapse > .xlarge-11 {
    width: 91.66667%;
  }
  .xlarge-margin-collapse > .xlarge-12 {
    width: 100%;
  }
}

@media screen and (min-width: 120.0625em) {
  .xlarge-margin-collapse > .xxlarge-1 {
    width: 8.33333%;
  }
  .xlarge-margin-collapse > .xxlarge-2 {
    width: 16.66667%;
  }
  .xlarge-margin-collapse > .xxlarge-3 {
    width: 25%;
  }
  .xlarge-margin-collapse > .xxlarge-4 {
    width: 33.33333%;
  }
  .xlarge-margin-collapse > .xxlarge-5 {
    width: 41.66667%;
  }
  .xlarge-margin-collapse > .xxlarge-6 {
    width: 50%;
  }
  .xlarge-margin-collapse > .xxlarge-7 {
    width: 58.33333%;
  }
  .xlarge-margin-collapse > .xxlarge-8 {
    width: 66.66667%;
  }
  .xlarge-margin-collapse > .xxlarge-9 {
    width: 75%;
  }
  .xlarge-margin-collapse > .xxlarge-10 {
    width: 83.33333%;
  }
  .xlarge-margin-collapse > .xxlarge-11 {
    width: 91.66667%;
  }
  .xlarge-margin-collapse > .xxlarge-12 {
    width: 100%;
  }
}

@media screen and (min-width: 100em) {
  .xlarge-padding-collapse {
    margin-right: 0;
    margin-left: 0;
  }
  .xlarge-padding-collapse > .cell {
    padding-right: 0;
    padding-left: 0;
  }
}

@media screen and (min-width: 120.0625em) {
  .xxlarge-margin-collapse {
    margin-right: 0;
    margin-left: 0;
  }
  .xxlarge-margin-collapse > .cell {
    margin-right: 0;
    margin-left: 0;
  }
}

@media screen and (min-width: 120.0625em) {
  .xxlarge-margin-collapse > .small-1 {
    width: 8.33333%;
  }
  .xxlarge-margin-collapse > .small-2 {
    width: 16.66667%;
  }
  .xxlarge-margin-collapse > .small-3 {
    width: 25%;
  }
  .xxlarge-margin-collapse > .small-4 {
    width: 33.33333%;
  }
  .xxlarge-margin-collapse > .small-5 {
    width: 41.66667%;
  }
  .xxlarge-margin-collapse > .small-6 {
    width: 50%;
  }
  .xxlarge-margin-collapse > .small-7 {
    width: 58.33333%;
  }
  .xxlarge-margin-collapse > .small-8 {
    width: 66.66667%;
  }
  .xxlarge-margin-collapse > .small-9 {
    width: 75%;
  }
  .xxlarge-margin-collapse > .small-10 {
    width: 83.33333%;
  }
  .xxlarge-margin-collapse > .small-11 {
    width: 91.66667%;
  }
  .xxlarge-margin-collapse > .small-12 {
    width: 100%;
  }
}

@media screen and (min-width: 120.0625em) {
  .xxlarge-margin-collapse > .medium-1 {
    width: 8.33333%;
  }
  .xxlarge-margin-collapse > .medium-2 {
    width: 16.66667%;
  }
  .xxlarge-margin-collapse > .medium-3 {
    width: 25%;
  }
  .xxlarge-margin-collapse > .medium-4 {
    width: 33.33333%;
  }
  .xxlarge-margin-collapse > .medium-5 {
    width: 41.66667%;
  }
  .xxlarge-margin-collapse > .medium-6 {
    width: 50%;
  }
  .xxlarge-margin-collapse > .medium-7 {
    width: 58.33333%;
  }
  .xxlarge-margin-collapse > .medium-8 {
    width: 66.66667%;
  }
  .xxlarge-margin-collapse > .medium-9 {
    width: 75%;
  }
  .xxlarge-margin-collapse > .medium-10 {
    width: 83.33333%;
  }
  .xxlarge-margin-collapse > .medium-11 {
    width: 91.66667%;
  }
  .xxlarge-margin-collapse > .medium-12 {
    width: 100%;
  }
}

@media screen and (min-width: 120.0625em) {
  .xxlarge-margin-collapse > .large-1 {
    width: 8.33333%;
  }
  .xxlarge-margin-collapse > .large-2 {
    width: 16.66667%;
  }
  .xxlarge-margin-collapse > .large-3 {
    width: 25%;
  }
  .xxlarge-margin-collapse > .large-4 {
    width: 33.33333%;
  }
  .xxlarge-margin-collapse > .large-5 {
    width: 41.66667%;
  }
  .xxlarge-margin-collapse > .large-6 {
    width: 50%;
  }
  .xxlarge-margin-collapse > .large-7 {
    width: 58.33333%;
  }
  .xxlarge-margin-collapse > .large-8 {
    width: 66.66667%;
  }
  .xxlarge-margin-collapse > .large-9 {
    width: 75%;
  }
  .xxlarge-margin-collapse > .large-10 {
    width: 83.33333%;
  }
  .xxlarge-margin-collapse > .large-11 {
    width: 91.66667%;
  }
  .xxlarge-margin-collapse > .large-12 {
    width: 100%;
  }
}

@media screen and (min-width: 120.0625em) {
  .xxlarge-margin-collapse > .xlarge-1 {
    width: 8.33333%;
  }
  .xxlarge-margin-collapse > .xlarge-2 {
    width: 16.66667%;
  }
  .xxlarge-margin-collapse > .xlarge-3 {
    width: 25%;
  }
  .xxlarge-margin-collapse > .xlarge-4 {
    width: 33.33333%;
  }
  .xxlarge-margin-collapse > .xlarge-5 {
    width: 41.66667%;
  }
  .xxlarge-margin-collapse > .xlarge-6 {
    width: 50%;
  }
  .xxlarge-margin-collapse > .xlarge-7 {
    width: 58.33333%;
  }
  .xxlarge-margin-collapse > .xlarge-8 {
    width: 66.66667%;
  }
  .xxlarge-margin-collapse > .xlarge-9 {
    width: 75%;
  }
  .xxlarge-margin-collapse > .xlarge-10 {
    width: 83.33333%;
  }
  .xxlarge-margin-collapse > .xlarge-11 {
    width: 91.66667%;
  }
  .xxlarge-margin-collapse > .xlarge-12 {
    width: 100%;
  }
}

@media screen and (min-width: 120.0625em) {
  .xxlarge-margin-collapse > .xxlarge-1 {
    width: 8.33333%;
  }
  .xxlarge-margin-collapse > .xxlarge-2 {
    width: 16.66667%;
  }
  .xxlarge-margin-collapse > .xxlarge-3 {
    width: 25%;
  }
  .xxlarge-margin-collapse > .xxlarge-4 {
    width: 33.33333%;
  }
  .xxlarge-margin-collapse > .xxlarge-5 {
    width: 41.66667%;
  }
  .xxlarge-margin-collapse > .xxlarge-6 {
    width: 50%;
  }
  .xxlarge-margin-collapse > .xxlarge-7 {
    width: 58.33333%;
  }
  .xxlarge-margin-collapse > .xxlarge-8 {
    width: 66.66667%;
  }
  .xxlarge-margin-collapse > .xxlarge-9 {
    width: 75%;
  }
  .xxlarge-margin-collapse > .xxlarge-10 {
    width: 83.33333%;
  }
  .xxlarge-margin-collapse > .xxlarge-11 {
    width: 91.66667%;
  }
  .xxlarge-margin-collapse > .xxlarge-12 {
    width: 100%;
  }
}

@media screen and (min-width: 120.0625em) {
  .xxlarge-padding-collapse {
    margin-right: 0;
    margin-left: 0;
  }
  .xxlarge-padding-collapse > .cell {
    padding-right: 0;
    padding-left: 0;
  }
}

.small-offset-0 {
  margin-left: 0%;
}

.grid-margin-x > .small-offset-0 {
  margin-left: calc(0% + 0.625rem);
}

.small-offset-1 {
  margin-left: 8.33333%;
}

.grid-margin-x > .small-offset-1 {
  margin-left: calc(8.33333% + 0.625rem);
}

.small-offset-2 {
  margin-left: 16.66667%;
}

.grid-margin-x > .small-offset-2 {
  margin-left: calc(16.66667% + 0.625rem);
}

.small-offset-3 {
  margin-left: 25%;
}

.grid-margin-x > .small-offset-3 {
  margin-left: calc(25% + 0.625rem);
}

.small-offset-4 {
  margin-left: 33.33333%;
}

.grid-margin-x > .small-offset-4 {
  margin-left: calc(33.33333% + 0.625rem);
}

.small-offset-5 {
  margin-left: 41.66667%;
}

.grid-margin-x > .small-offset-5 {
  margin-left: calc(41.66667% + 0.625rem);
}

.small-offset-6 {
  margin-left: 50%;
}

.grid-margin-x > .small-offset-6 {
  margin-left: calc(50% + 0.625rem);
}

.small-offset-7 {
  margin-left: 58.33333%;
}

.grid-margin-x > .small-offset-7 {
  margin-left: calc(58.33333% + 0.625rem);
}

.small-offset-8 {
  margin-left: 66.66667%;
}

.grid-margin-x > .small-offset-8 {
  margin-left: calc(66.66667% + 0.625rem);
}

.small-offset-9 {
  margin-left: 75%;
}

.grid-margin-x > .small-offset-9 {
  margin-left: calc(75% + 0.625rem);
}

.small-offset-10 {
  margin-left: 83.33333%;
}

.grid-margin-x > .small-offset-10 {
  margin-left: calc(83.33333% + 0.625rem);
}

.small-offset-11 {
  margin-left: 91.66667%;
}

.grid-margin-x > .small-offset-11 {
  margin-left: calc(91.66667% + 0.625rem);
}

@media print, screen and (min-width: 48em) {
  .medium-offset-0 {
    margin-left: 0%;
  }
  .grid-margin-x > .medium-offset-0 {
    margin-left: calc(0% + 0.9375rem);
  }
  .medium-offset-1 {
    margin-left: 8.33333%;
  }
  .grid-margin-x > .medium-offset-1 {
    margin-left: calc(8.33333% + 0.9375rem);
  }
  .medium-offset-2 {
    margin-left: 16.66667%;
  }
  .grid-margin-x > .medium-offset-2 {
    margin-left: calc(16.66667% + 0.9375rem);
  }
  .medium-offset-3 {
    margin-left: 25%;
  }
  .grid-margin-x > .medium-offset-3 {
    margin-left: calc(25% + 0.9375rem);
  }
  .medium-offset-4 {
    margin-left: 33.33333%;
  }
  .grid-margin-x > .medium-offset-4 {
    margin-left: calc(33.33333% + 0.9375rem);
  }
  .medium-offset-5 {
    margin-left: 41.66667%;
  }
  .grid-margin-x > .medium-offset-5 {
    margin-left: calc(41.66667% + 0.9375rem);
  }
  .medium-offset-6 {
    margin-left: 50%;
  }
  .grid-margin-x > .medium-offset-6 {
    margin-left: calc(50% + 0.9375rem);
  }
  .medium-offset-7 {
    margin-left: 58.33333%;
  }
  .grid-margin-x > .medium-offset-7 {
    margin-left: calc(58.33333% + 0.9375rem);
  }
  .medium-offset-8 {
    margin-left: 66.66667%;
  }
  .grid-margin-x > .medium-offset-8 {
    margin-left: calc(66.66667% + 0.9375rem);
  }
  .medium-offset-9 {
    margin-left: 75%;
  }
  .grid-margin-x > .medium-offset-9 {
    margin-left: calc(75% + 0.9375rem);
  }
  .medium-offset-10 {
    margin-left: 83.33333%;
  }
  .grid-margin-x > .medium-offset-10 {
    margin-left: calc(83.33333% + 0.9375rem);
  }
  .medium-offset-11 {
    margin-left: 91.66667%;
  }
  .grid-margin-x > .medium-offset-11 {
    margin-left: calc(91.66667% + 0.9375rem);
  }
}

@media print, screen and (min-width: 64em) {
  .large-offset-0 {
    margin-left: 0%;
  }
  .grid-margin-x > .large-offset-0 {
    margin-left: calc(0% + 0.9375rem);
  }
  .large-offset-1 {
    margin-left: 8.33333%;
  }
  .grid-margin-x > .large-offset-1 {
    margin-left: calc(8.33333% + 0.9375rem);
  }
  .large-offset-2 {
    margin-left: 16.66667%;
  }
  .grid-margin-x > .large-offset-2 {
    margin-left: calc(16.66667% + 0.9375rem);
  }
  .large-offset-3 {
    margin-left: 25%;
  }
  .grid-margin-x > .large-offset-3 {
    margin-left: calc(25% + 0.9375rem);
  }
  .large-offset-4 {
    margin-left: 33.33333%;
  }
  .grid-margin-x > .large-offset-4 {
    margin-left: calc(33.33333% + 0.9375rem);
  }
  .large-offset-5 {
    margin-left: 41.66667%;
  }
  .grid-margin-x > .large-offset-5 {
    margin-left: calc(41.66667% + 0.9375rem);
  }
  .large-offset-6 {
    margin-left: 50%;
  }
  .grid-margin-x > .large-offset-6 {
    margin-left: calc(50% + 0.9375rem);
  }
  .large-offset-7 {
    margin-left: 58.33333%;
  }
  .grid-margin-x > .large-offset-7 {
    margin-left: calc(58.33333% + 0.9375rem);
  }
  .large-offset-8 {
    margin-left: 66.66667%;
  }
  .grid-margin-x > .large-offset-8 {
    margin-left: calc(66.66667% + 0.9375rem);
  }
  .large-offset-9 {
    margin-left: 75%;
  }
  .grid-margin-x > .large-offset-9 {
    margin-left: calc(75% + 0.9375rem);
  }
  .large-offset-10 {
    margin-left: 83.33333%;
  }
  .grid-margin-x > .large-offset-10 {
    margin-left: calc(83.33333% + 0.9375rem);
  }
  .large-offset-11 {
    margin-left: 91.66667%;
  }
  .grid-margin-x > .large-offset-11 {
    margin-left: calc(91.66667% + 0.9375rem);
  }
}

@media screen and (min-width: 100em) {
  .xlarge-offset-0 {
    margin-left: 0%;
  }
  .grid-margin-x > .xlarge-offset-0 {
    margin-left: calc(0% + 0.9375rem);
  }
  .xlarge-offset-1 {
    margin-left: 8.33333%;
  }
  .grid-margin-x > .xlarge-offset-1 {
    margin-left: calc(8.33333% + 0.9375rem);
  }
  .xlarge-offset-2 {
    margin-left: 16.66667%;
  }
  .grid-margin-x > .xlarge-offset-2 {
    margin-left: calc(16.66667% + 0.9375rem);
  }
  .xlarge-offset-3 {
    margin-left: 25%;
  }
  .grid-margin-x > .xlarge-offset-3 {
    margin-left: calc(25% + 0.9375rem);
  }
  .xlarge-offset-4 {
    margin-left: 33.33333%;
  }
  .grid-margin-x > .xlarge-offset-4 {
    margin-left: calc(33.33333% + 0.9375rem);
  }
  .xlarge-offset-5 {
    margin-left: 41.66667%;
  }
  .grid-margin-x > .xlarge-offset-5 {
    margin-left: calc(41.66667% + 0.9375rem);
  }
  .xlarge-offset-6 {
    margin-left: 50%;
  }
  .grid-margin-x > .xlarge-offset-6 {
    margin-left: calc(50% + 0.9375rem);
  }
  .xlarge-offset-7 {
    margin-left: 58.33333%;
  }
  .grid-margin-x > .xlarge-offset-7 {
    margin-left: calc(58.33333% + 0.9375rem);
  }
  .xlarge-offset-8 {
    margin-left: 66.66667%;
  }
  .grid-margin-x > .xlarge-offset-8 {
    margin-left: calc(66.66667% + 0.9375rem);
  }
  .xlarge-offset-9 {
    margin-left: 75%;
  }
  .grid-margin-x > .xlarge-offset-9 {
    margin-left: calc(75% + 0.9375rem);
  }
  .xlarge-offset-10 {
    margin-left: 83.33333%;
  }
  .grid-margin-x > .xlarge-offset-10 {
    margin-left: calc(83.33333% + 0.9375rem);
  }
  .xlarge-offset-11 {
    margin-left: 91.66667%;
  }
  .grid-margin-x > .xlarge-offset-11 {
    margin-left: calc(91.66667% + 0.9375rem);
  }
}

@media screen and (min-width: 120.0625em) {
  .xxlarge-offset-0 {
    margin-left: 0%;
  }
  .grid-margin-x > .xxlarge-offset-0 {
    margin-left: calc(0% + 0.9375rem);
  }
  .xxlarge-offset-1 {
    margin-left: 8.33333%;
  }
  .grid-margin-x > .xxlarge-offset-1 {
    margin-left: calc(8.33333% + 0.9375rem);
  }
  .xxlarge-offset-2 {
    margin-left: 16.66667%;
  }
  .grid-margin-x > .xxlarge-offset-2 {
    margin-left: calc(16.66667% + 0.9375rem);
  }
  .xxlarge-offset-3 {
    margin-left: 25%;
  }
  .grid-margin-x > .xxlarge-offset-3 {
    margin-left: calc(25% + 0.9375rem);
  }
  .xxlarge-offset-4 {
    margin-left: 33.33333%;
  }
  .grid-margin-x > .xxlarge-offset-4 {
    margin-left: calc(33.33333% + 0.9375rem);
  }
  .xxlarge-offset-5 {
    margin-left: 41.66667%;
  }
  .grid-margin-x > .xxlarge-offset-5 {
    margin-left: calc(41.66667% + 0.9375rem);
  }
  .xxlarge-offset-6 {
    margin-left: 50%;
  }
  .grid-margin-x > .xxlarge-offset-6 {
    margin-left: calc(50% + 0.9375rem);
  }
  .xxlarge-offset-7 {
    margin-left: 58.33333%;
  }
  .grid-margin-x > .xxlarge-offset-7 {
    margin-left: calc(58.33333% + 0.9375rem);
  }
  .xxlarge-offset-8 {
    margin-left: 66.66667%;
  }
  .grid-margin-x > .xxlarge-offset-8 {
    margin-left: calc(66.66667% + 0.9375rem);
  }
  .xxlarge-offset-9 {
    margin-left: 75%;
  }
  .grid-margin-x > .xxlarge-offset-9 {
    margin-left: calc(75% + 0.9375rem);
  }
  .xxlarge-offset-10 {
    margin-left: 83.33333%;
  }
  .grid-margin-x > .xxlarge-offset-10 {
    margin-left: calc(83.33333% + 0.9375rem);
  }
  .xxlarge-offset-11 {
    margin-left: 91.66667%;
  }
  .grid-margin-x > .xxlarge-offset-11 {
    margin-left: calc(91.66667% + 0.9375rem);
  }
}

.grid-y {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap;
}

.grid-y > .cell {
  width: auto;
  max-width: none;
}

.grid-y > .auto {
  height: auto;
}

.grid-y > .shrink {
  height: auto;
}

.grid-y > .small-shrink, .grid-y > .small-full, .grid-y > .small-1, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12 {
  -ms-flex-preferred-size: auto;
      flex-basis: auto;
}

@media print, screen and (min-width: 48em) {
  .grid-y > .medium-shrink, .grid-y > .medium-full, .grid-y > .medium-1, .grid-y > .medium-2, .grid-y > .medium-3, .grid-y > .medium-4, .grid-y > .medium-5, .grid-y > .medium-6, .grid-y > .medium-7, .grid-y > .medium-8, .grid-y > .medium-9, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }
}

@media print, screen and (min-width: 64em) {
  .grid-y > .large-shrink, .grid-y > .large-full, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }
}

@media screen and (min-width: 100em) {
  .grid-y > .xlarge-shrink, .grid-y > .xlarge-full, .grid-y > .xlarge-1, .grid-y > .xlarge-2, .grid-y > .xlarge-3, .grid-y > .xlarge-4, .grid-y > .xlarge-5, .grid-y > .xlarge-6, .grid-y > .xlarge-7, .grid-y > .xlarge-8, .grid-y > .xlarge-9, .grid-y > .xlarge-10, .grid-y > .xlarge-11, .grid-y > .xlarge-12 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }
}

@media screen and (min-width: 120.0625em) {
  .grid-y > .xxlarge-shrink, .grid-y > .xxlarge-full, .grid-y > .xxlarge-1, .grid-y > .xxlarge-2, .grid-y > .xxlarge-3, .grid-y > .xxlarge-4, .grid-y > .xxlarge-5, .grid-y > .xxlarge-6, .grid-y > .xxlarge-7, .grid-y > .xxlarge-8, .grid-y > .xxlarge-9, .grid-y > .xxlarge-10, .grid-y > .xxlarge-11, .grid-y > .xxlarge-12 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }
}

.grid-y > .small-1, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}

.grid-y > .small-1 {
  height: 8.33333%;
}

.grid-y > .small-2 {
  height: 16.66667%;
}

.grid-y > .small-3 {
  height: 25%;
}

.grid-y > .small-4 {
  height: 33.33333%;
}

.grid-y > .small-5 {
  height: 41.66667%;
}

.grid-y > .small-6 {
  height: 50%;
}

.grid-y > .small-7 {
  height: 58.33333%;
}

.grid-y > .small-8 {
  height: 66.66667%;
}

.grid-y > .small-9 {
  height: 75%;
}

.grid-y > .small-10 {
  height: 83.33333%;
}

.grid-y > .small-11 {
  height: 91.66667%;
}

.grid-y > .small-12 {
  height: 100%;
}

@media print, screen and (min-width: 48em) {
  .grid-y > .medium-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    height: auto;
  }
  .grid-y > .medium-shrink, .grid-y > .medium-1, .grid-y > .medium-2, .grid-y > .medium-3, .grid-y > .medium-4, .grid-y > .medium-5, .grid-y > .medium-6, .grid-y > .medium-7, .grid-y > .medium-8, .grid-y > .medium-9, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
  }
  .grid-y > .medium-shrink {
    height: auto;
  }
  .grid-y > .medium-1 {
    height: 8.33333%;
  }
  .grid-y > .medium-2 {
    height: 16.66667%;
  }
  .grid-y > .medium-3 {
    height: 25%;
  }
  .grid-y > .medium-4 {
    height: 33.33333%;
  }
  .grid-y > .medium-5 {
    height: 41.66667%;
  }
  .grid-y > .medium-6 {
    height: 50%;
  }
  .grid-y > .medium-7 {
    height: 58.33333%;
  }
  .grid-y > .medium-8 {
    height: 66.66667%;
  }
  .grid-y > .medium-9 {
    height: 75%;
  }
  .grid-y > .medium-10 {
    height: 83.33333%;
  }
  .grid-y > .medium-11 {
    height: 91.66667%;
  }
  .grid-y > .medium-12 {
    height: 100%;
  }
}

@media print, screen and (min-width: 64em) {
  .grid-y > .large-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    height: auto;
  }
  .grid-y > .large-shrink, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
  }
  .grid-y > .large-shrink {
    height: auto;
  }
  .grid-y > .large-1 {
    height: 8.33333%;
  }
  .grid-y > .large-2 {
    height: 16.66667%;
  }
  .grid-y > .large-3 {
    height: 25%;
  }
  .grid-y > .large-4 {
    height: 33.33333%;
  }
  .grid-y > .large-5 {
    height: 41.66667%;
  }
  .grid-y > .large-6 {
    height: 50%;
  }
  .grid-y > .large-7 {
    height: 58.33333%;
  }
  .grid-y > .large-8 {
    height: 66.66667%;
  }
  .grid-y > .large-9 {
    height: 75%;
  }
  .grid-y > .large-10 {
    height: 83.33333%;
  }
  .grid-y > .large-11 {
    height: 91.66667%;
  }
  .grid-y > .large-12 {
    height: 100%;
  }
}

@media screen and (min-width: 100em) {
  .grid-y > .xlarge-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    height: auto;
  }
  .grid-y > .xlarge-shrink, .grid-y > .xlarge-1, .grid-y > .xlarge-2, .grid-y > .xlarge-3, .grid-y > .xlarge-4, .grid-y > .xlarge-5, .grid-y > .xlarge-6, .grid-y > .xlarge-7, .grid-y > .xlarge-8, .grid-y > .xlarge-9, .grid-y > .xlarge-10, .grid-y > .xlarge-11, .grid-y > .xlarge-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
  }
  .grid-y > .xlarge-shrink {
    height: auto;
  }
  .grid-y > .xlarge-1 {
    height: 8.33333%;
  }
  .grid-y > .xlarge-2 {
    height: 16.66667%;
  }
  .grid-y > .xlarge-3 {
    height: 25%;
  }
  .grid-y > .xlarge-4 {
    height: 33.33333%;
  }
  .grid-y > .xlarge-5 {
    height: 41.66667%;
  }
  .grid-y > .xlarge-6 {
    height: 50%;
  }
  .grid-y > .xlarge-7 {
    height: 58.33333%;
  }
  .grid-y > .xlarge-8 {
    height: 66.66667%;
  }
  .grid-y > .xlarge-9 {
    height: 75%;
  }
  .grid-y > .xlarge-10 {
    height: 83.33333%;
  }
  .grid-y > .xlarge-11 {
    height: 91.66667%;
  }
  .grid-y > .xlarge-12 {
    height: 100%;
  }
}

@media screen and (min-width: 120.0625em) {
  .grid-y > .xxlarge-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    height: auto;
  }
  .grid-y > .xxlarge-shrink, .grid-y > .xxlarge-1, .grid-y > .xxlarge-2, .grid-y > .xxlarge-3, .grid-y > .xxlarge-4, .grid-y > .xxlarge-5, .grid-y > .xxlarge-6, .grid-y > .xxlarge-7, .grid-y > .xxlarge-8, .grid-y > .xxlarge-9, .grid-y > .xxlarge-10, .grid-y > .xxlarge-11, .grid-y > .xxlarge-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
  }
  .grid-y > .xxlarge-shrink {
    height: auto;
  }
  .grid-y > .xxlarge-1 {
    height: 8.33333%;
  }
  .grid-y > .xxlarge-2 {
    height: 16.66667%;
  }
  .grid-y > .xxlarge-3 {
    height: 25%;
  }
  .grid-y > .xxlarge-4 {
    height: 33.33333%;
  }
  .grid-y > .xxlarge-5 {
    height: 41.66667%;
  }
  .grid-y > .xxlarge-6 {
    height: 50%;
  }
  .grid-y > .xxlarge-7 {
    height: 58.33333%;
  }
  .grid-y > .xxlarge-8 {
    height: 66.66667%;
  }
  .grid-y > .xxlarge-9 {
    height: 75%;
  }
  .grid-y > .xxlarge-10 {
    height: 83.33333%;
  }
  .grid-y > .xxlarge-11 {
    height: 91.66667%;
  }
  .grid-y > .xxlarge-12 {
    height: 100%;
  }
}

.grid-padding-y .grid-padding-y {
  margin-top: -0.625rem;
  margin-bottom: -0.625rem;
}

@media print, screen and (min-width: 48em) {
  .grid-padding-y .grid-padding-y {
    margin-top: -0.9375rem;
    margin-bottom: -0.9375rem;
  }
}

.grid-padding-y > .cell {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}

@media print, screen and (min-width: 48em) {
  .grid-padding-y > .cell {
    padding-top: 0.9375rem;
    padding-bottom: 0.9375rem;
  }
}

.grid-margin-y {
  margin-top: -0.625rem;
  margin-bottom: -0.625rem;
}

@media print, screen and (min-width: 48em) {
  .grid-margin-y {
    margin-top: -0.9375rem;
    margin-bottom: -0.9375rem;
  }
}

.grid-margin-y > .cell {
  height: calc(100% - 1.25rem);
  margin-top: 0.625rem;
  margin-bottom: 0.625rem;
}

@media print, screen and (min-width: 48em) {
  .grid-margin-y > .cell {
    height: calc(100% - 1.875rem);
    margin-top: 0.9375rem;
    margin-bottom: 0.9375rem;
  }
}

.grid-margin-y > .auto {
  height: auto;
}

.grid-margin-y > .shrink {
  height: auto;
}

.grid-margin-y > .small-1 {
  height: calc(8.33333% - 1.25rem);
}

.grid-margin-y > .small-2 {
  height: calc(16.66667% - 1.25rem);
}

.grid-margin-y > .small-3 {
  height: calc(25% - 1.25rem);
}

.grid-margin-y > .small-4 {
  height: calc(33.33333% - 1.25rem);
}

.grid-margin-y > .small-5 {
  height: calc(41.66667% - 1.25rem);
}

.grid-margin-y > .small-6 {
  height: calc(50% - 1.25rem);
}

.grid-margin-y > .small-7 {
  height: calc(58.33333% - 1.25rem);
}

.grid-margin-y > .small-8 {
  height: calc(66.66667% - 1.25rem);
}

.grid-margin-y > .small-9 {
  height: calc(75% - 1.25rem);
}

.grid-margin-y > .small-10 {
  height: calc(83.33333% - 1.25rem);
}

.grid-margin-y > .small-11 {
  height: calc(91.66667% - 1.25rem);
}

.grid-margin-y > .small-12 {
  height: calc(100% - 1.25rem);
}

@media print, screen and (min-width: 48em) {
  .grid-margin-y > .auto {
    height: auto;
  }
  .grid-margin-y > .shrink {
    height: auto;
  }
  .grid-margin-y > .small-1 {
    height: calc(8.33333% - 1.875rem);
  }
  .grid-margin-y > .small-2 {
    height: calc(16.66667% - 1.875rem);
  }
  .grid-margin-y > .small-3 {
    height: calc(25% - 1.875rem);
  }
  .grid-margin-y > .small-4 {
    height: calc(33.33333% - 1.875rem);
  }
  .grid-margin-y > .small-5 {
    height: calc(41.66667% - 1.875rem);
  }
  .grid-margin-y > .small-6 {
    height: calc(50% - 1.875rem);
  }
  .grid-margin-y > .small-7 {
    height: calc(58.33333% - 1.875rem);
  }
  .grid-margin-y > .small-8 {
    height: calc(66.66667% - 1.875rem);
  }
  .grid-margin-y > .small-9 {
    height: calc(75% - 1.875rem);
  }
  .grid-margin-y > .small-10 {
    height: calc(83.33333% - 1.875rem);
  }
  .grid-margin-y > .small-11 {
    height: calc(91.66667% - 1.875rem);
  }
  .grid-margin-y > .small-12 {
    height: calc(100% - 1.875rem);
  }
  .grid-margin-y > .medium-auto {
    height: auto;
  }
  .grid-margin-y > .medium-shrink {
    height: auto;
  }
  .grid-margin-y > .medium-1 {
    height: calc(8.33333% - 1.875rem);
  }
  .grid-margin-y > .medium-2 {
    height: calc(16.66667% - 1.875rem);
  }
  .grid-margin-y > .medium-3 {
    height: calc(25% - 1.875rem);
  }
  .grid-margin-y > .medium-4 {
    height: calc(33.33333% - 1.875rem);
  }
  .grid-margin-y > .medium-5 {
    height: calc(41.66667% - 1.875rem);
  }
  .grid-margin-y > .medium-6 {
    height: calc(50% - 1.875rem);
  }
  .grid-margin-y > .medium-7 {
    height: calc(58.33333% - 1.875rem);
  }
  .grid-margin-y > .medium-8 {
    height: calc(66.66667% - 1.875rem);
  }
  .grid-margin-y > .medium-9 {
    height: calc(75% - 1.875rem);
  }
  .grid-margin-y > .medium-10 {
    height: calc(83.33333% - 1.875rem);
  }
  .grid-margin-y > .medium-11 {
    height: calc(91.66667% - 1.875rem);
  }
  .grid-margin-y > .medium-12 {
    height: calc(100% - 1.875rem);
  }
}

@media print, screen and (min-width: 64em) {
  .grid-margin-y > .large-auto {
    height: auto;
  }
  .grid-margin-y > .large-shrink {
    height: auto;
  }
  .grid-margin-y > .large-1 {
    height: calc(8.33333% - 1.875rem);
  }
  .grid-margin-y > .large-2 {
    height: calc(16.66667% - 1.875rem);
  }
  .grid-margin-y > .large-3 {
    height: calc(25% - 1.875rem);
  }
  .grid-margin-y > .large-4 {
    height: calc(33.33333% - 1.875rem);
  }
  .grid-margin-y > .large-5 {
    height: calc(41.66667% - 1.875rem);
  }
  .grid-margin-y > .large-6 {
    height: calc(50% - 1.875rem);
  }
  .grid-margin-y > .large-7 {
    height: calc(58.33333% - 1.875rem);
  }
  .grid-margin-y > .large-8 {
    height: calc(66.66667% - 1.875rem);
  }
  .grid-margin-y > .large-9 {
    height: calc(75% - 1.875rem);
  }
  .grid-margin-y > .large-10 {
    height: calc(83.33333% - 1.875rem);
  }
  .grid-margin-y > .large-11 {
    height: calc(91.66667% - 1.875rem);
  }
  .grid-margin-y > .large-12 {
    height: calc(100% - 1.875rem);
  }
}

@media screen and (min-width: 100em) {
  .grid-margin-y > .xlarge-auto {
    height: auto;
  }
  .grid-margin-y > .xlarge-shrink {
    height: auto;
  }
  .grid-margin-y > .xlarge-1 {
    height: calc(8.33333% - 1.875rem);
  }
  .grid-margin-y > .xlarge-2 {
    height: calc(16.66667% - 1.875rem);
  }
  .grid-margin-y > .xlarge-3 {
    height: calc(25% - 1.875rem);
  }
  .grid-margin-y > .xlarge-4 {
    height: calc(33.33333% - 1.875rem);
  }
  .grid-margin-y > .xlarge-5 {
    height: calc(41.66667% - 1.875rem);
  }
  .grid-margin-y > .xlarge-6 {
    height: calc(50% - 1.875rem);
  }
  .grid-margin-y > .xlarge-7 {
    height: calc(58.33333% - 1.875rem);
  }
  .grid-margin-y > .xlarge-8 {
    height: calc(66.66667% - 1.875rem);
  }
  .grid-margin-y > .xlarge-9 {
    height: calc(75% - 1.875rem);
  }
  .grid-margin-y > .xlarge-10 {
    height: calc(83.33333% - 1.875rem);
  }
  .grid-margin-y > .xlarge-11 {
    height: calc(91.66667% - 1.875rem);
  }
  .grid-margin-y > .xlarge-12 {
    height: calc(100% - 1.875rem);
  }
}

@media screen and (min-width: 120.0625em) {
  .grid-margin-y > .xxlarge-auto {
    height: auto;
  }
  .grid-margin-y > .xxlarge-shrink {
    height: auto;
  }
  .grid-margin-y > .xxlarge-1 {
    height: calc(8.33333% - 1.875rem);
  }
  .grid-margin-y > .xxlarge-2 {
    height: calc(16.66667% - 1.875rem);
  }
  .grid-margin-y > .xxlarge-3 {
    height: calc(25% - 1.875rem);
  }
  .grid-margin-y > .xxlarge-4 {
    height: calc(33.33333% - 1.875rem);
  }
  .grid-margin-y > .xxlarge-5 {
    height: calc(41.66667% - 1.875rem);
  }
  .grid-margin-y > .xxlarge-6 {
    height: calc(50% - 1.875rem);
  }
  .grid-margin-y > .xxlarge-7 {
    height: calc(58.33333% - 1.875rem);
  }
  .grid-margin-y > .xxlarge-8 {
    height: calc(66.66667% - 1.875rem);
  }
  .grid-margin-y > .xxlarge-9 {
    height: calc(75% - 1.875rem);
  }
  .grid-margin-y > .xxlarge-10 {
    height: calc(83.33333% - 1.875rem);
  }
  .grid-margin-y > .xxlarge-11 {
    height: calc(91.66667% - 1.875rem);
  }
  .grid-margin-y > .xxlarge-12 {
    height: calc(100% - 1.875rem);
  }
}

.grid-frame {
  overflow: hidden;
  position: relative;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  width: 100vw;
}

.cell .grid-frame {
  width: 100%;
}

.cell-block {
  overflow-x: auto;
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
}

.cell-block-y {
  overflow-y: auto;
  max-height: 100%;
  min-height: 100%;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
}

.cell-block-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  max-height: 100%;
}

.cell-block-container > .grid-x {
  max-height: 100%;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}

@media print, screen and (min-width: 48em) {
  .medium-grid-frame {
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    width: 100vw;
  }
  .cell .medium-grid-frame {
    width: 100%;
  }
  .medium-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
  }
  .medium-cell-block-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 100%;
  }
  .medium-cell-block-container > .grid-x {
    max-height: 100%;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
  .medium-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    min-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
  }
}

@media print, screen and (min-width: 64em) {
  .large-grid-frame {
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    width: 100vw;
  }
  .cell .large-grid-frame {
    width: 100%;
  }
  .large-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
  }
  .large-cell-block-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 100%;
  }
  .large-cell-block-container > .grid-x {
    max-height: 100%;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
  .large-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    min-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
  }
}

@media screen and (min-width: 100em) {
  .xlarge-grid-frame {
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    width: 100vw;
  }
  .cell .xlarge-grid-frame {
    width: 100%;
  }
  .xlarge-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
  }
  .xlarge-cell-block-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 100%;
  }
  .xlarge-cell-block-container > .grid-x {
    max-height: 100%;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
  .xlarge-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    min-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
  }
}

@media screen and (min-width: 120.0625em) {
  .xxlarge-grid-frame {
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    width: 100vw;
  }
  .cell .xxlarge-grid-frame {
    width: 100%;
  }
  .xxlarge-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
  }
  .xxlarge-cell-block-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 100%;
  }
  .xxlarge-cell-block-container > .grid-x {
    max-height: 100%;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
  .xxlarge-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    min-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
  }
}

.grid-y.grid-frame {
  width: auto;
  overflow: hidden;
  position: relative;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  height: 100vh;
}

@media print, screen and (min-width: 48em) {
  .grid-y.medium-grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    height: 100vh;
  }
}

@media print, screen and (min-width: 64em) {
  .grid-y.large-grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    height: 100vh;
  }
}

@media screen and (min-width: 100em) {
  .grid-y.xlarge-grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    height: 100vh;
  }
}

@media screen and (min-width: 120.0625em) {
  .grid-y.xxlarge-grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    height: 100vh;
  }
}

.cell .grid-y.grid-frame {
  height: 100%;
}

@media print, screen and (min-width: 48em) {
  .cell .grid-y.medium-grid-frame {
    height: 100%;
  }
}

@media print, screen and (min-width: 64em) {
  .cell .grid-y.large-grid-frame {
    height: 100%;
  }
}

@media screen and (min-width: 100em) {
  .cell .grid-y.xlarge-grid-frame {
    height: 100%;
  }
}

@media screen and (min-width: 120.0625em) {
  .cell .grid-y.xxlarge-grid-frame {
    height: 100%;
  }
}

.grid-margin-y {
  margin-top: -0.625rem;
  margin-bottom: -0.625rem;
}

@media print, screen and (min-width: 48em) {
  .grid-margin-y {
    margin-top: -0.9375rem;
    margin-bottom: -0.9375rem;
  }
}

.grid-margin-y > .cell {
  height: calc(100% - 1.25rem);
  margin-top: 0.625rem;
  margin-bottom: 0.625rem;
}

@media print, screen and (min-width: 48em) {
  .grid-margin-y > .cell {
    height: calc(100% - 1.875rem);
    margin-top: 0.9375rem;
    margin-bottom: 0.9375rem;
  }
}

.grid-margin-y > .auto {
  height: auto;
}

.grid-margin-y > .shrink {
  height: auto;
}

.grid-margin-y > .small-1 {
  height: calc(8.33333% - 1.25rem);
}

.grid-margin-y > .small-2 {
  height: calc(16.66667% - 1.25rem);
}

.grid-margin-y > .small-3 {
  height: calc(25% - 1.25rem);
}

.grid-margin-y > .small-4 {
  height: calc(33.33333% - 1.25rem);
}

.grid-margin-y > .small-5 {
  height: calc(41.66667% - 1.25rem);
}

.grid-margin-y > .small-6 {
  height: calc(50% - 1.25rem);
}

.grid-margin-y > .small-7 {
  height: calc(58.33333% - 1.25rem);
}

.grid-margin-y > .small-8 {
  height: calc(66.66667% - 1.25rem);
}

.grid-margin-y > .small-9 {
  height: calc(75% - 1.25rem);
}

.grid-margin-y > .small-10 {
  height: calc(83.33333% - 1.25rem);
}

.grid-margin-y > .small-11 {
  height: calc(91.66667% - 1.25rem);
}

.grid-margin-y > .small-12 {
  height: calc(100% - 1.25rem);
}

@media print, screen and (min-width: 48em) {
  .grid-margin-y > .auto {
    height: auto;
  }
  .grid-margin-y > .shrink {
    height: auto;
  }
  .grid-margin-y > .small-1 {
    height: calc(8.33333% - 1.875rem);
  }
  .grid-margin-y > .small-2 {
    height: calc(16.66667% - 1.875rem);
  }
  .grid-margin-y > .small-3 {
    height: calc(25% - 1.875rem);
  }
  .grid-margin-y > .small-4 {
    height: calc(33.33333% - 1.875rem);
  }
  .grid-margin-y > .small-5 {
    height: calc(41.66667% - 1.875rem);
  }
  .grid-margin-y > .small-6 {
    height: calc(50% - 1.875rem);
  }
  .grid-margin-y > .small-7 {
    height: calc(58.33333% - 1.875rem);
  }
  .grid-margin-y > .small-8 {
    height: calc(66.66667% - 1.875rem);
  }
  .grid-margin-y > .small-9 {
    height: calc(75% - 1.875rem);
  }
  .grid-margin-y > .small-10 {
    height: calc(83.33333% - 1.875rem);
  }
  .grid-margin-y > .small-11 {
    height: calc(91.66667% - 1.875rem);
  }
  .grid-margin-y > .small-12 {
    height: calc(100% - 1.875rem);
  }
  .grid-margin-y > .medium-auto {
    height: auto;
  }
  .grid-margin-y > .medium-shrink {
    height: auto;
  }
  .grid-margin-y > .medium-1 {
    height: calc(8.33333% - 1.875rem);
  }
  .grid-margin-y > .medium-2 {
    height: calc(16.66667% - 1.875rem);
  }
  .grid-margin-y > .medium-3 {
    height: calc(25% - 1.875rem);
  }
  .grid-margin-y > .medium-4 {
    height: calc(33.33333% - 1.875rem);
  }
  .grid-margin-y > .medium-5 {
    height: calc(41.66667% - 1.875rem);
  }
  .grid-margin-y > .medium-6 {
    height: calc(50% - 1.875rem);
  }
  .grid-margin-y > .medium-7 {
    height: calc(58.33333% - 1.875rem);
  }
  .grid-margin-y > .medium-8 {
    height: calc(66.66667% - 1.875rem);
  }
  .grid-margin-y > .medium-9 {
    height: calc(75% - 1.875rem);
  }
  .grid-margin-y > .medium-10 {
    height: calc(83.33333% - 1.875rem);
  }
  .grid-margin-y > .medium-11 {
    height: calc(91.66667% - 1.875rem);
  }
  .grid-margin-y > .medium-12 {
    height: calc(100% - 1.875rem);
  }
}

@media print, screen and (min-width: 64em) {
  .grid-margin-y > .large-auto {
    height: auto;
  }
  .grid-margin-y > .large-shrink {
    height: auto;
  }
  .grid-margin-y > .large-1 {
    height: calc(8.33333% - 1.875rem);
  }
  .grid-margin-y > .large-2 {
    height: calc(16.66667% - 1.875rem);
  }
  .grid-margin-y > .large-3 {
    height: calc(25% - 1.875rem);
  }
  .grid-margin-y > .large-4 {
    height: calc(33.33333% - 1.875rem);
  }
  .grid-margin-y > .large-5 {
    height: calc(41.66667% - 1.875rem);
  }
  .grid-margin-y > .large-6 {
    height: calc(50% - 1.875rem);
  }
  .grid-margin-y > .large-7 {
    height: calc(58.33333% - 1.875rem);
  }
  .grid-margin-y > .large-8 {
    height: calc(66.66667% - 1.875rem);
  }
  .grid-margin-y > .large-9 {
    height: calc(75% - 1.875rem);
  }
  .grid-margin-y > .large-10 {
    height: calc(83.33333% - 1.875rem);
  }
  .grid-margin-y > .large-11 {
    height: calc(91.66667% - 1.875rem);
  }
  .grid-margin-y > .large-12 {
    height: calc(100% - 1.875rem);
  }
}

@media screen and (min-width: 100em) {
  .grid-margin-y > .xlarge-auto {
    height: auto;
  }
  .grid-margin-y > .xlarge-shrink {
    height: auto;
  }
  .grid-margin-y > .xlarge-1 {
    height: calc(8.33333% - 1.875rem);
  }
  .grid-margin-y > .xlarge-2 {
    height: calc(16.66667% - 1.875rem);
  }
  .grid-margin-y > .xlarge-3 {
    height: calc(25% - 1.875rem);
  }
  .grid-margin-y > .xlarge-4 {
    height: calc(33.33333% - 1.875rem);
  }
  .grid-margin-y > .xlarge-5 {
    height: calc(41.66667% - 1.875rem);
  }
  .grid-margin-y > .xlarge-6 {
    height: calc(50% - 1.875rem);
  }
  .grid-margin-y > .xlarge-7 {
    height: calc(58.33333% - 1.875rem);
  }
  .grid-margin-y > .xlarge-8 {
    height: calc(66.66667% - 1.875rem);
  }
  .grid-margin-y > .xlarge-9 {
    height: calc(75% - 1.875rem);
  }
  .grid-margin-y > .xlarge-10 {
    height: calc(83.33333% - 1.875rem);
  }
  .grid-margin-y > .xlarge-11 {
    height: calc(91.66667% - 1.875rem);
  }
  .grid-margin-y > .xlarge-12 {
    height: calc(100% - 1.875rem);
  }
}

@media screen and (min-width: 120.0625em) {
  .grid-margin-y > .xxlarge-auto {
    height: auto;
  }
  .grid-margin-y > .xxlarge-shrink {
    height: auto;
  }
  .grid-margin-y > .xxlarge-1 {
    height: calc(8.33333% - 1.875rem);
  }
  .grid-margin-y > .xxlarge-2 {
    height: calc(16.66667% - 1.875rem);
  }
  .grid-margin-y > .xxlarge-3 {
    height: calc(25% - 1.875rem);
  }
  .grid-margin-y > .xxlarge-4 {
    height: calc(33.33333% - 1.875rem);
  }
  .grid-margin-y > .xxlarge-5 {
    height: calc(41.66667% - 1.875rem);
  }
  .grid-margin-y > .xxlarge-6 {
    height: calc(50% - 1.875rem);
  }
  .grid-margin-y > .xxlarge-7 {
    height: calc(58.33333% - 1.875rem);
  }
  .grid-margin-y > .xxlarge-8 {
    height: calc(66.66667% - 1.875rem);
  }
  .grid-margin-y > .xxlarge-9 {
    height: calc(75% - 1.875rem);
  }
  .grid-margin-y > .xxlarge-10 {
    height: calc(83.33333% - 1.875rem);
  }
  .grid-margin-y > .xxlarge-11 {
    height: calc(91.66667% - 1.875rem);
  }
  .grid-margin-y > .xxlarge-12 {
    height: calc(100% - 1.875rem);
  }
}

.grid-frame.grid-margin-y {
  height: calc(100vh + 1.25rem);
}

@media print, screen and (min-width: 48em) {
  .grid-frame.grid-margin-y {
    height: calc(100vh + 1.875rem);
  }
}

@media print, screen and (min-width: 64em) {
  .grid-frame.grid-margin-y {
    height: calc(100vh + 1.875rem);
  }
}

@media screen and (min-width: 100em) {
  .grid-frame.grid-margin-y {
    height: calc(100vh + 1.875rem);
  }
}

@media screen and (min-width: 120.0625em) {
  .grid-frame.grid-margin-y {
    height: calc(100vh + 1.875rem);
  }
}

@media print, screen and (min-width: 48em) {
  .grid-margin-y.medium-grid-frame {
    height: calc(100vh + 1.875rem);
  }
}

@media print, screen and (min-width: 64em) {
  .grid-margin-y.large-grid-frame {
    height: calc(100vh + 1.875rem);
  }
}

@media screen and (min-width: 100em) {
  .grid-margin-y.xlarge-grid-frame {
    height: calc(100vh + 1.875rem);
  }
}

@media screen and (min-width: 120.0625em) {
  .grid-margin-y.xxlarge-grid-frame {
    height: calc(100vh + 1.875rem);
  }
}

.button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  padding: 1.5em;
  border: 1px solid transparent;
  border-radius: 3px;
  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-family: inherit;
  -webkit-appearance: none;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #991B1E;
  color: #fefefe;
}

[data-whatinput='mouse'] .button {
  outline: 0;
}

.button:hover, .button:focus {
  background-color: #82171a;
  color: #fefefe;
}

.button.tiny {
  font-size: 0.6rem;
}

.button.small {
  font-size: 0.75rem;
}

.button.defaut {
  font-size: 14px;
}

.button.large {
  font-size: 1.25rem;
}

.button.expanded {
  display: block;
  width: 100%;
  margin-right: 0;
  margin-left: 0;
}

.button.primary {
  background-color: #991B1E;
  color: #fefefe;
}

.button.primary:hover, .button.primary:focus {
  background-color: #7a1618;
  color: #fefefe;
}

.button.secondary {
  background-color: #A6070C;
  color: #fefefe;
}

.button.secondary:hover, .button.secondary:focus {
  background-color: #85060a;
  color: #fefefe;
}

.button.success {
  background-color: #3adb76;
  color: #0a0a0a;
}

.button.success:hover, .button.success:focus {
  background-color: #22bb5b;
  color: #0a0a0a;
}

.button.warning {
  background-color: #cc8b00;
  color: #0a0a0a;
}

.button.warning:hover, .button.warning:focus {
  background-color: #a36f00;
  color: #0a0a0a;
}

.button.alert {
  background-color: #cc4b37;
  color: #fefefe;
}

.button.alert:hover, .button.alert:focus {
  background-color: #a53b2a;
  color: #fefefe;
}

.button.disabled, .button[disabled] {
  opacity: 0.25;
  cursor: not-allowed;
}

.button.disabled, .button.disabled:hover, .button.disabled:focus, .button[disabled], .button[disabled]:hover, .button[disabled]:focus {
  background-color: #991B1E;
  color: #fefefe;
}

.button.disabled.primary, .button[disabled].primary {
  opacity: 0.25;
  cursor: not-allowed;
}

.button.disabled.primary, .button.disabled.primary:hover, .button.disabled.primary:focus, .button[disabled].primary, .button[disabled].primary:hover, .button[disabled].primary:focus {
  background-color: #991B1E;
  color: #fefefe;
}

.button.disabled.secondary, .button[disabled].secondary {
  opacity: 0.25;
  cursor: not-allowed;
}

.button.disabled.secondary, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
  background-color: #A6070C;
  color: #fefefe;
}

.button.disabled.success, .button[disabled].success {
  opacity: 0.25;
  cursor: not-allowed;
}

.button.disabled.success, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success, .button[disabled].success:hover, .button[disabled].success:focus {
  background-color: #3adb76;
  color: #0a0a0a;
}

.button.disabled.warning, .button[disabled].warning {
  opacity: 0.25;
  cursor: not-allowed;
}

.button.disabled.warning, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning, .button[disabled].warning:hover, .button[disabled].warning:focus {
  background-color: #cc8b00;
  color: #0a0a0a;
}

.button.disabled.alert, .button[disabled].alert {
  opacity: 0.25;
  cursor: not-allowed;
}

.button.disabled.alert, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert, .button[disabled].alert:hover, .button[disabled].alert:focus {
  background-color: #cc4b37;
  color: #fefefe;
}

.button.hollow {
  border: 1px solid #991B1E;
  color: #991B1E;
}

.button.hollow, .button.hollow:hover, .button.hollow:focus {
  background-color: transparent;
}

.button.hollow.disabled, .button.hollow.disabled:hover, .button.hollow.disabled:focus, .button.hollow[disabled], .button.hollow[disabled]:hover, .button.hollow[disabled]:focus {
  background-color: transparent;
}

.button.hollow:hover, .button.hollow:focus {
  border-color: #4d0e0f;
  color: #4d0e0f;
}

.button.hollow:hover.disabled, .button.hollow:hover[disabled], .button.hollow:focus.disabled, .button.hollow:focus[disabled] {
  border: 1px solid #991B1E;
  color: #991B1E;
}

.button.hollow.primary {
  border: 1px solid #991B1E;
  color: #991B1E;
}

.button.hollow.primary:hover, .button.hollow.primary:focus {
  border-color: #4d0e0f;
  color: #4d0e0f;
}

.button.hollow.primary:hover.disabled, .button.hollow.primary:hover[disabled], .button.hollow.primary:focus.disabled, .button.hollow.primary:focus[disabled] {
  border: 1px solid #991B1E;
  color: #991B1E;
}

.button.hollow.secondary {
  border: 1px solid #A6070C;
  color: #A6070C;
}

.button.hollow.secondary:hover, .button.hollow.secondary:focus {
  border-color: #530406;
  color: #530406;
}

.button.hollow.secondary:hover.disabled, .button.hollow.secondary:hover[disabled], .button.hollow.secondary:focus.disabled, .button.hollow.secondary:focus[disabled] {
  border: 1px solid #A6070C;
  color: #A6070C;
}

.button.hollow.success {
  border: 1px solid #3adb76;
  color: #3adb76;
}

.button.hollow.success:hover, .button.hollow.success:focus {
  border-color: #157539;
  color: #157539;
}

.button.hollow.success:hover.disabled, .button.hollow.success:hover[disabled], .button.hollow.success:focus.disabled, .button.hollow.success:focus[disabled] {
  border: 1px solid #3adb76;
  color: #3adb76;
}

.button.hollow.warning {
  border: 1px solid #cc8b00;
  color: #cc8b00;
}

.button.hollow.warning:hover, .button.hollow.warning:focus {
  border-color: #664600;
  color: #664600;
}

.button.hollow.warning:hover.disabled, .button.hollow.warning:hover[disabled], .button.hollow.warning:focus.disabled, .button.hollow.warning:focus[disabled] {
  border: 1px solid #cc8b00;
  color: #cc8b00;
}

.button.hollow.alert {
  border: 1px solid #cc4b37;
  color: #cc4b37;
}

.button.hollow.alert:hover, .button.hollow.alert:focus {
  border-color: #67251a;
  color: #67251a;
}

.button.hollow.alert:hover.disabled, .button.hollow.alert:hover[disabled], .button.hollow.alert:focus.disabled, .button.hollow.alert:focus[disabled] {
  border: 1px solid #cc4b37;
  color: #cc4b37;
}

.button.clear {
  border: 1px solid #991B1E;
  color: #991B1E;
}

.button.clear, .button.clear:hover, .button.clear:focus {
  background-color: transparent;
}

.button.clear.disabled, .button.clear.disabled:hover, .button.clear.disabled:focus, .button.clear[disabled], .button.clear[disabled]:hover, .button.clear[disabled]:focus {
  background-color: transparent;
}

.button.clear:hover, .button.clear:focus {
  border-color: #4d0e0f;
  color: #4d0e0f;
}

.button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus.disabled, .button.clear:focus[disabled] {
  border: 1px solid #991B1E;
  color: #991B1E;
}

.button.clear, .button.clear.disabled, .button.clear[disabled], .button.clear:hover, .button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus, .button.clear:focus.disabled, .button.clear:focus[disabled] {
  border-color: transparent;
}

.button.clear.primary {
  border: 1px solid #991B1E;
  color: #991B1E;
}

.button.clear.primary:hover, .button.clear.primary:focus {
  border-color: #4d0e0f;
  color: #4d0e0f;
}

.button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] {
  border: 1px solid #991B1E;
  color: #991B1E;
}

.button.clear.primary, .button.clear.primary.disabled, .button.clear.primary[disabled], .button.clear.primary:hover, .button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus, .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] {
  border-color: transparent;
}

.button.clear.secondary {
  border: 1px solid #A6070C;
  color: #A6070C;
}

.button.clear.secondary:hover, .button.clear.secondary:focus {
  border-color: #530406;
  color: #530406;
}

.button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] {
  border: 1px solid #A6070C;
  color: #A6070C;
}

.button.clear.secondary, .button.clear.secondary.disabled, .button.clear.secondary[disabled], .button.clear.secondary:hover, .button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus, .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] {
  border-color: transparent;
}

.button.clear.success {
  border: 1px solid #3adb76;
  color: #3adb76;
}

.button.clear.success:hover, .button.clear.success:focus {
  border-color: #157539;
  color: #157539;
}

.button.clear.success:hover.disabled, .button.clear.success:hover[disabled], .button.clear.success:focus.disabled, .button.clear.success:focus[disabled] {
  border: 1px solid #3adb76;
  color: #3adb76;
}

.button.clear.success, .button.clear.success.disabled, .button.clear.success[disabled], .button.clear.success:hover, .button.clear.success:hover.disabled, .button.clear.success:hover[disabled], .button.clear.success:focus, .button.clear.success:focus.disabled, .button.clear.success:focus[disabled] {
  border-color: transparent;
}

.button.clear.warning {
  border: 1px solid #cc8b00;
  color: #cc8b00;
}

.button.clear.warning:hover, .button.clear.warning:focus {
  border-color: #664600;
  color: #664600;
}

.button.clear.warning:hover.disabled, .button.clear.warning:hover[disabled], .button.clear.warning:focus.disabled, .button.clear.warning:focus[disabled] {
  border: 1px solid #cc8b00;
  color: #cc8b00;
}

.button.clear.warning, .button.clear.warning.disabled, .button.clear.warning[disabled], .button.clear.warning:hover, .button.clear.warning:hover.disabled, .button.clear.warning:hover[disabled], .button.clear.warning:focus, .button.clear.warning:focus.disabled, .button.clear.warning:focus[disabled] {
  border-color: transparent;
}

.button.clear.alert {
  border: 1px solid #cc4b37;
  color: #cc4b37;
}

.button.clear.alert:hover, .button.clear.alert:focus {
  border-color: #67251a;
  color: #67251a;
}

.button.clear.alert:hover.disabled, .button.clear.alert:hover[disabled], .button.clear.alert:focus.disabled, .button.clear.alert:focus[disabled] {
  border: 1px solid #cc4b37;
  color: #cc4b37;
}

.button.clear.alert, .button.clear.alert.disabled, .button.clear.alert[disabled], .button.clear.alert:hover, .button.clear.alert:hover.disabled, .button.clear.alert:hover[disabled], .button.clear.alert:focus, .button.clear.alert:focus.disabled, .button.clear.alert:focus[disabled] {
  border-color: transparent;
}

.button.dropdown::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 0.4em;
  content: '';
  border-bottom-width: 0;
  border-top-style: solid;
  border-color: #fefefe transparent transparent;
  position: relative;
  top: 0.4em;
  display: inline-block;
  float: right;
  margin-left: 1.5em;
}

.button.dropdown.hollow::after, .button.dropdown.clear::after {
  border-top-color: #991B1E;
}

.button.dropdown.hollow.primary::after, .button.dropdown.clear.primary::after {
  border-top-color: #991B1E;
}

.button.dropdown.hollow.secondary::after, .button.dropdown.clear.secondary::after {
  border-top-color: #A6070C;
}

.button.dropdown.hollow.success::after, .button.dropdown.clear.success::after {
  border-top-color: #3adb76;
}

.button.dropdown.hollow.warning::after, .button.dropdown.clear.warning::after {
  border-top-color: #cc8b00;
}

.button.dropdown.hollow.alert::after, .button.dropdown.clear.alert::after {
  border-top-color: #cc4b37;
}

.button.arrow-only::after {
  top: -0.1em;
  float: none;
  margin-left: 0;
}

a.button:hover, a.button:focus {
  text-decoration: none;
}

.button-group {
  margin-bottom: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}

.button-group::before, .button-group::after {
  display: table;
  content: ' ';
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.button-group::after {
  clear: both;
}

.button-group .button {
  margin: 0;
  margin-right: 1px;
  margin-bottom: 1px;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}

.button-group .button:last-child {
  margin-right: 0;
}

.button-group.tiny .button {
  font-size: 0.6rem;
}

.button-group.small .button {
  font-size: 0.75rem;
}

.button-group.defaut .button {
  font-size: 14px;
}

.button-group.large .button {
  font-size: 1.25rem;
}

.button-group.expanded .button {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
}

.button-group.primary .button {
  background-color: #991B1E;
  color: #fefefe;
}

.button-group.primary .button:hover, .button-group.primary .button:focus {
  background-color: #7a1618;
  color: #fefefe;
}

.button-group.secondary .button {
  background-color: #A6070C;
  color: #fefefe;
}

.button-group.secondary .button:hover, .button-group.secondary .button:focus {
  background-color: #85060a;
  color: #fefefe;
}

.button-group.success .button {
  background-color: #3adb76;
  color: #0a0a0a;
}

.button-group.success .button:hover, .button-group.success .button:focus {
  background-color: #22bb5b;
  color: #0a0a0a;
}

.button-group.warning .button {
  background-color: #cc8b00;
  color: #0a0a0a;
}

.button-group.warning .button:hover, .button-group.warning .button:focus {
  background-color: #a36f00;
  color: #0a0a0a;
}

.button-group.alert .button {
  background-color: #cc4b37;
  color: #fefefe;
}

.button-group.alert .button:hover, .button-group.alert .button:focus {
  background-color: #a53b2a;
  color: #fefefe;
}

.button-group.stacked, .button-group.stacked-for-small, .button-group.stacked-for-medium {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
}

.button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child {
  margin-bottom: 0;
}

.button-group.stacked.expanded .button, .button-group.stacked-for-small.expanded .button, .button-group.stacked-for-medium.expanded .button {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
}

@media print, screen and (min-width: 48em) {
  .button-group.stacked-for-small .button {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    margin-bottom: 0;
  }
}

@media print, screen and (min-width: 64em) {
  .button-group.stacked-for-medium .button {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    margin-bottom: 0;
  }
}

@media screen and (max-width: 47.99875em) {
  .button-group.stacked-for-small.expanded {
    display: block;
  }
  .button-group.stacked-for-small.expanded .button {
    display: block;
    margin-right: 0;
  }
}

@media screen and (max-width: 63.99875em) {
  .button-group.stacked-for-medium.expanded {
    display: block;
  }
  .button-group.stacked-for-medium.expanded .button {
    display: block;
    margin-right: 0;
  }
}

.close-button {
  position: absolute;
  color: #8a8a8a;
  cursor: pointer;
}

[data-whatinput='mouse'] .close-button {
  outline: 0;
}

.close-button:hover, .close-button:focus {
  color: #0a0a0a;
}

.close-button.small {
  right: 0.66rem;
  top: 0.33em;
  font-size: 1.5em;
  line-height: 1;
}

.close-button, .close-button.medium {
  right: 1rem;
  top: 0.5rem;
  font-size: 2em;
  line-height: 1;
}

.label {
  display: inline-block;
  padding: 0.33333rem 0.5rem;
  border-radius: 0;
  font-size: 0.8rem;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  background: #991B1E;
  color: #fefefe;
}

.label.primary {
  background: #991B1E;
  color: #fefefe;
}

.label.secondary {
  background: #A6070C;
  color: #fefefe;
}

.label.success {
  background: #3adb76;
  color: #0a0a0a;
}

.label.warning {
  background: #cc8b00;
  color: #0a0a0a;
}

.label.alert {
  background: #cc4b37;
  color: #fefefe;
}

.progress {
  height: 1rem;
  margin-bottom: 1rem;
  border-radius: 0;
  background-color: #cacaca;
}

.progress.primary .progress-meter {
  background-color: #991B1E;
}

.progress.secondary .progress-meter {
  background-color: #A6070C;
}

.progress.success .progress-meter {
  background-color: #3adb76;
}

.progress.warning .progress-meter {
  background-color: #cc8b00;
}

.progress.alert .progress-meter {
  background-color: #cc4b37;
}

.progress-meter {
  position: relative;
  display: block;
  width: 0%;
  height: 100%;
  background-color: #991B1E;
}

.progress-meter-text {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  margin: 0;
  font-size: 0.75rem;
  font-weight: bold;
  color: #fefefe;
  white-space: nowrap;
}

.slider {
  position: relative;
  height: 0.5rem;
  margin-top: 1.25rem;
  margin-bottom: 2.25rem;
  background-color: #e6e6e6;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -ms-touch-action: none;
      touch-action: none;
}

.slider-fill {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  max-width: 100%;
  height: 0.5rem;
  background-color: #cacaca;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}

.slider-fill.is-dragging {
  -webkit-transition: all 0s linear;
  transition: all 0s linear;
}

.slider-handle {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  z-index: 1;
  display: inline-block;
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 0;
  background-color: #991B1E;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
}

[data-whatinput='mouse'] .slider-handle {
  outline: 0;
}

.slider-handle:hover {
  background-color: #82171a;
}

.slider-handle.is-dragging {
  -webkit-transition: all 0s linear;
  transition: all 0s linear;
}

.slider.disabled,
.slider[disabled] {
  opacity: 0.25;
  cursor: not-allowed;
}

.slider.vertical {
  display: inline-block;
  width: 0.5rem;
  height: 12.5rem;
  margin: 0 1.25rem;
  -webkit-transform: scale(1, -1);
          transform: scale(1, -1);
}

.slider.vertical .slider-fill {
  top: 0;
  width: 0.5rem;
  max-height: 100%;
}

.slider.vertical .slider-handle {
  position: absolute;
  top: 0;
  left: 50%;
  width: 1.4rem;
  height: 1.4rem;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.switch {
  height: 2rem;
  position: relative;
  margin-bottom: 1rem;
  outline: 0;
  font-size: 0.875rem;
  font-weight: bold;
  color: #fefefe;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.switch-input {
  position: absolute;
  margin-bottom: 0;
  opacity: 0;
}

.switch-paddle {
  position: relative;
  display: block;
  width: 4rem;
  height: 2rem;
  border-radius: 0;
  background: #cacaca;
  -webkit-transition: all 0.25s ease-out;
  transition: all 0.25s ease-out;
  font-weight: inherit;
  color: inherit;
  cursor: pointer;
}

input + .switch-paddle {
  margin: 0;
}

.switch-paddle::after {
  position: absolute;
  top: 0.25rem;
  left: 0.25rem;
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  border-radius: 0;
  background: #fefefe;
  -webkit-transition: all 0.25s ease-out;
  transition: all 0.25s ease-out;
  content: '';
}

input:checked ~ .switch-paddle {
  background: #991B1E;
}

input:checked ~ .switch-paddle::after {
  left: 2.25rem;
}

[data-whatinput='mouse'] input:focus ~ .switch-paddle {
  outline: 0;
}

.switch-active, .switch-inactive {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.switch-active {
  left: 8%;
  display: none;
}

input:checked + label > .switch-active {
  display: block;
}

.switch-inactive {
  right: 15%;
}

input:checked + label > .switch-inactive {
  display: none;
}

.switch.tiny {
  height: 1.5rem;
}

.switch.tiny .switch-paddle {
  width: 3rem;
  height: 1.5rem;
  font-size: 0.625rem;
}

.switch.tiny .switch-paddle::after {
  top: 0.25rem;
  left: 0.25rem;
  width: 1rem;
  height: 1rem;
}

.switch.tiny input:checked ~ .switch-paddle::after {
  left: 1.75rem;
}

.switch.small {
  height: 1.75rem;
}

.switch.small .switch-paddle {
  width: 3.5rem;
  height: 1.75rem;
  font-size: 0.75rem;
}

.switch.small .switch-paddle::after {
  top: 0.25rem;
  left: 0.25rem;
  width: 1.25rem;
  height: 1.25rem;
}

.switch.small input:checked ~ .switch-paddle::after {
  left: 2rem;
}

.switch.large {
  height: 2.5rem;
}

.switch.large .switch-paddle {
  width: 5rem;
  height: 2.5rem;
  font-size: 1rem;
}

.switch.large .switch-paddle::after {
  top: 0.25rem;
  left: 0.25rem;
  width: 2rem;
  height: 2rem;
}

.switch.large input:checked ~ .switch-paddle::after {
  left: 2.75rem;
}

table {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 0;
}

thead,
tbody,
tfoot {
  border: 1px solid #f1f1f1;
  background-color: #fefefe;
}

caption {
  padding: 0.5rem 0.625rem 0.625rem;
  font-weight: bold;
}

thead {
  background: #f8f8f8;
  color: #0a0a0a;
}

tfoot {
  background: #f1f1f1;
  color: #0a0a0a;
}

thead tr,
tfoot tr {
  background: transparent;
}

thead th,
thead td,
tfoot th,
tfoot td {
  padding: 0.5rem 0.625rem 0.625rem;
  font-weight: bold;
  text-align: left;
}

tbody th,
tbody td {
  padding: 0.5rem 0.625rem 0.625rem;
}

tbody tr:nth-child(even) {
  border-bottom: 0;
  background-color: #f1f1f1;
}

table.unstriped tbody {
  background-color: #fefefe;
}

table.unstriped tbody tr {
  border-bottom: 0;
  border-bottom: 1px solid #f1f1f1;
  background-color: #fefefe;
}

@media screen and (max-width: 63.99875em) {
  table.stack thead {
    display: none;
  }
  table.stack tfoot {
    display: none;
  }
  table.stack tr,
  table.stack th,
  table.stack td {
    display: block;
  }
  table.stack td {
    border-top: 0;
  }
}

table.scroll {
  display: block;
  width: 100%;
  overflow-x: auto;
}

table.hover thead tr:hover {
  background-color: #f3f3f3;
}

table.hover tfoot tr:hover {
  background-color: #ececec;
}

table.hover tbody tr:hover {
  background-color: #f9f9f9;
}

table.hover:not(.unstriped) tr:nth-of-type(even):hover {
  background-color: #ececec;
}

.table-scroll {
  overflow-x: auto;
}

.badge {
  display: inline-block;
  min-width: 2.1em;
  padding: 0.3em;
  border-radius: 50%;
  font-size: 0.6rem;
  text-align: center;
  background: #991B1E;
  color: #fefefe;
}

.badge.primary {
  background: #991B1E;
  color: #fefefe;
}

.badge.secondary {
  background: #A6070C;
  color: #fefefe;
}

.badge.success {
  background: #3adb76;
  color: #0a0a0a;
}

.badge.warning {
  background: #cc8b00;
  color: #0a0a0a;
}

.badge.alert {
  background: #cc4b37;
  color: #fefefe;
}

.breadcrumbs {
  margin: 0 0 1rem 0;
  list-style: none;
}

.breadcrumbs::before, .breadcrumbs::after {
  display: table;
  content: ' ';
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.breadcrumbs::after {
  clear: both;
}

.breadcrumbs li {
  float: left;
  font-size: 0.6875rem;
  color: #0a0a0a;
  cursor: default;
  text-transform: uppercase;
}

.breadcrumbs li:not(:last-child)::after {
  position: relative;
  margin: 0 0.75rem;
  opacity: 1;
  content: "/";
  color: #cacaca;
}

.breadcrumbs a {
  color: #991B1E;
}

.breadcrumbs a:hover {
  text-decoration: underline;
}

.breadcrumbs .disabled {
  color: #cacaca;
  cursor: not-allowed;
}

.callout {
  position: relative;
  margin: 0 0 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(10, 10, 10, 0.25);
  border-radius: 0;
  background-color: white;
  color: #0a0a0a;
}

.callout > :first-child {
  margin-top: 0;
}

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

.callout.primary {
  background-color: #f8d5d6;
  color: #0a0a0a;
}

.callout.secondary {
  background-color: #fdced0;
  color: #0a0a0a;
}

.callout.success {
  background-color: #e1faea;
  color: #0a0a0a;
}

.callout.warning {
  background-color: #fff0d1;
  color: #0a0a0a;
}

.callout.alert {
  background-color: #f7e4e1;
  color: #0a0a0a;
}

.callout.small {
  padding-top: 0.5rem;
  padding-right: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 0.5rem;
}

.callout.large {
  padding-top: 3rem;
  padding-right: 3rem;
  padding-bottom: 3rem;
  padding-left: 3rem;
}

.card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  margin-bottom: 1rem;
  border: 1px solid #e6e6e6;
  border-radius: 0;
  background: #fefefe;
  -webkit-box-shadow: none;
          box-shadow: none;
  overflow: hidden;
  color: #0a0a0a;
}

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

.card-divider {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
  padding: 1rem;
  background: #e6e6e6;
}

.card-divider > :last-child {
  margin-bottom: 0;
}

.card-section {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
  padding: 1rem;
}

.card-section > :last-child {
  margin-bottom: 0;
}

.card-image {
  min-height: 1px;
}

.dropdown-pane {
  position: absolute;
  z-index: 10;
  display: none;
  width: 300px;
  padding: 1rem;
  visibility: hidden;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  font-size: 1rem;
}

.dropdown-pane.is-opening {
  display: block;
}

.dropdown-pane.is-open {
  display: block;
  visibility: visible;
}

.dropdown-pane.tiny {
  width: 100px;
}

.dropdown-pane.small {
  width: 200px;
}

.dropdown-pane.large {
  width: 400px;
}

.pagination {
  margin-left: 0;
  margin-bottom: 1rem;
}

.pagination::before, .pagination::after {
  display: table;
  content: ' ';
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.pagination::after {
  clear: both;
}

.pagination li {
  margin-right: 0.0625rem;
  border-radius: 0;
  font-size: 0.875rem;
  display: none;
}

.pagination li:last-child, .pagination li:first-child {
  display: inline-block;
}

@media print, screen and (min-width: 48em) {
  .pagination li {
    display: inline-block;
  }
}

.pagination a,
.pagination button {
  display: block;
  padding: 0.1875rem 0.625rem;
  border-radius: 0;
  color: #0a0a0a;
}

.pagination a:hover,
.pagination button:hover {
  background: #e6e6e6;
}

.pagination .current {
  padding: 0.1875rem 0.625rem;
  background: #991B1E;
  color: #fefefe;
  cursor: default;
}

.pagination .disabled {
  padding: 0.1875rem 0.625rem;
  color: #cacaca;
  cursor: not-allowed;
}

.pagination .disabled:hover {
  background: transparent;
}

.pagination .ellipsis::after {
  padding: 0.1875rem 0.625rem;
  content: '\2026';
  color: #0a0a0a;
}

.pagination-previous a::before,
.pagination-previous.disabled::before {
  display: inline-block;
  margin-right: 0.5rem;
  content: '\00ab';
}

.pagination-next a::after,
.pagination-next.disabled::after {
  display: inline-block;
  margin-left: 0.5rem;
  content: '\00bb';
}

.has-tip {
  position: relative;
  display: inline-block;
  border-bottom: dotted 1px #8a8a8a;
  font-weight: bold;
  cursor: help;
}

.tooltip {
  position: absolute;
  top: calc(100% + 0.6495rem);
  z-index: 1200;
  max-width: 10rem;
  padding: 0.75rem;
  border-radius: 0;
  background-color: #0a0a0a;
  font-size: 80%;
  color: #fefefe;
}

.tooltip::before {
  position: absolute;
}

.tooltip.bottom::before {
  display: block;
  width: 0;
  height: 0;
  border: inset 0.75rem;
  content: '';
  border-top-width: 0;
  border-bottom-style: solid;
  border-color: transparent transparent #0a0a0a;
  bottom: 100%;
}

.tooltip.bottom.align-center::before {
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.tooltip.top::before {
  display: block;
  width: 0;
  height: 0;
  border: inset 0.75rem;
  content: '';
  border-bottom-width: 0;
  border-top-style: solid;
  border-color: #0a0a0a transparent transparent;
  top: 100%;
  bottom: auto;
}

.tooltip.top.align-center::before {
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.tooltip.left::before {
  display: block;
  width: 0;
  height: 0;
  border: inset 0.75rem;
  content: '';
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #0a0a0a;
  left: 100%;
}

.tooltip.left.align-center::before {
  bottom: auto;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.tooltip.right::before {
  display: block;
  width: 0;
  height: 0;
  border: inset 0.75rem;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #0a0a0a transparent transparent;
  right: 100%;
  left: auto;
}

.tooltip.right.align-center::before {
  bottom: auto;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.tooltip.align-top::before {
  bottom: auto;
  top: 10%;
}

.tooltip.align-bottom::before {
  bottom: 10%;
  top: auto;
}

.tooltip.align-left::before {
  left: 10%;
  right: auto;
}

.tooltip.align-right::before {
  left: auto;
  right: 10%;
}

.accordion {
  margin-left: 0;
  background: #fefefe;
  list-style-type: none;
}

.accordion[disabled] .accordion-title {
  cursor: not-allowed;
}

.accordion-item:first-child > :first-child {
  border-radius: 0 0 0 0;
}

.accordion-item:last-child > :last-child {
  border-radius: 0 0 0 0;
}

.accordion-title {
  position: relative;
  display: block;
  padding: 1.25rem 1rem;
  border: 1px solid #e6e6e6;
  border-bottom: 0;
  font-size: 0.75rem;
  line-height: 1;
  color: #991B1E;
}

:last-child:not(.is-active) > .accordion-title {
  border-bottom: 1px solid #e6e6e6;
  border-radius: 0 0 0 0;
}

.accordion-title:hover, .accordion-title:focus {
  background-color: #e6e6e6;
}

.accordion-title::before {
  position: absolute;
  top: 50%;
  right: 1rem;
  margin-top: -0.5rem;
  content: '+';
}

.is-active > .accordion-title::before {
  content: '\2013';
}

.accordion-content {
  display: none;
  padding: 1rem;
  border: 1px solid #e6e6e6;
  border-bottom: 0;
  background-color: #fefefe;
  color: #0a0a0a;
}

:last-child > .accordion-content:last-child {
  border-bottom: 1px solid #e6e6e6;
}

.media-object {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 1rem;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}

.media-object img {
  max-width: none;
}

@media screen and (max-width: 47.99875em) {
  .media-object.stack-for-small {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

.media-object-section {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
}

.media-object-section:first-child {
  padding-right: 1rem;
}

.media-object-section:last-child:not(:nth-child(2)) {
  padding-left: 1rem;
}

.media-object-section > :last-child {
  margin-bottom: 0;
}

@media screen and (max-width: 47.99875em) {
  .stack-for-small .media-object-section {
    padding: 0;
    padding-bottom: 1rem;
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    max-width: 100%;
  }
  .stack-for-small .media-object-section img {
    width: 100%;
  }
}

.media-object-section.main-section {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
}

.orbit {
  position: relative;
}

.orbit-container {
  position: relative;
  height: 0;
  margin: 0;
  list-style: none;
  overflow: hidden;
}

.orbit-slide {
  width: 100%;
  position: absolute;
}

.orbit-slide.no-motionui.is-active {
  top: 0;
  left: 0;
}

.orbit-figure {
  margin: 0;
}

.orbit-image {
  width: 100%;
  max-width: 100%;
  margin: 0;
}

.orbit-caption {
  position: absolute;
  bottom: 0;
  width: 100%;
  margin-bottom: 0;
  padding: 1rem;
  background-color: rgba(10, 10, 10, 0.5);
  color: #fefefe;
}

.orbit-previous, .orbit-next {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 10;
  padding: 1rem;
  color: #fefefe;
}

[data-whatinput='mouse'] .orbit-previous, [data-whatinput='mouse'] .orbit-next {
  outline: 0;
}

.orbit-previous:hover, .orbit-next:hover, .orbit-previous:active, .orbit-next:active, .orbit-previous:focus, .orbit-next:focus {
  background-color: rgba(10, 10, 10, 0.5);
}

.orbit-previous {
  left: 0;
}

.orbit-next {
  left: auto;
  right: 0;
}

.orbit-bullets {
  position: relative;
  margin-top: 0.8rem;
  margin-bottom: 0.8rem;
  text-align: center;
}

[data-whatinput='mouse'] .orbit-bullets {
  outline: 0;
}

.orbit-bullets button {
  width: 1.2rem;
  height: 1.2rem;
  margin: 0.1rem;
  border-radius: 50%;
  background-color: #cacaca;
}

.orbit-bullets button:hover {
  background-color: #8a8a8a;
}

.orbit-bullets button.is-active {
  background-color: #8a8a8a;
}

.responsive-embed,
.flex-video {
  position: relative;
  height: 0;
  margin-bottom: 1rem;
  padding-bottom: 75%;
  overflow: hidden;
}

.responsive-embed iframe,
.responsive-embed object,
.responsive-embed embed,
.responsive-embed video,
.flex-video iframe,
.flex-video object,
.flex-video embed,
.flex-video video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.responsive-embed.widescreen,
.flex-video.widescreen {
  padding-bottom: 56.25%;
}

.tabs {
  margin: 0;
  border: 1px solid #e6e6e6;
  background: #fefefe;
  list-style-type: none;
}

.tabs::before, .tabs::after {
  display: table;
  content: ' ';
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.tabs::after {
  clear: both;
}

.tabs.vertical > li {
  display: block;
  float: none;
  width: auto;
}

.tabs.simple > li > a {
  padding: 0;
}

.tabs.simple > li > a:hover {
  background: transparent;
}

.tabs.primary {
  background: #991B1E;
}

.tabs.primary > li > a {
  color: #fefefe;
}

.tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
  background: #a71d21;
}

.tabs-title {
  float: left;
}

.tabs-title > a {
  display: block;
  padding: 1.25rem 1.5rem;
  font-size: 0.75rem;
  line-height: 1;
  color: #991B1E;
}

[data-whatinput='mouse'] .tabs-title > a {
  outline: 0;
}

.tabs-title > a:hover {
  background: #fefefe;
  color: #84171a;
}

.tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {
  background: #e6e6e6;
  color: #991B1E;
}

.tabs-content {
  border: 1px solid #e6e6e6;
  border-top: 0;
  background: #fefefe;
  color: #0a0a0a;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

.tabs-content.vertical {
  border: 1px solid #e6e6e6;
  border-left: 0;
}

.tabs-panel {
  display: none;
  padding: 1rem;
}

.tabs-panel.is-active {
  display: block;
}

.thumbnail {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 1rem;
  border: 4px solid #fefefe;
  border-radius: 0;
  -webkit-box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2);
          box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2);
  line-height: 0;
}

a.thumbnail {
  -webkit-transition: -webkit-box-shadow 200ms ease-out;
  transition: -webkit-box-shadow 200ms ease-out;
  transition: box-shadow 200ms ease-out;
  transition: box-shadow 200ms ease-out, -webkit-box-shadow 200ms ease-out;
}

a.thumbnail:hover, a.thumbnail:focus {
  -webkit-box-shadow: 0 0 6px 1px rgba(153, 27, 30, 0.5);
          box-shadow: 0 0 6px 1px rgba(153, 27, 30, 0.5);
}

a.thumbnail image {
  -webkit-box-shadow: none;
          box-shadow: none;
}

.menu {
  padding: 0;
  margin: 0;
  list-style: none;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

[data-whatinput='mouse'] .menu li {
  outline: 0;
}

.menu a,
.menu .button {
  line-height: 1;
  text-decoration: none;
  display: block;
  padding: 0.7rem 1rem;
}

.menu input,
.menu select,
.menu a,
.menu button {
  margin-bottom: 0;
}

.menu input {
  display: inline-block;
}

.menu, .menu.horizontal {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}

.menu.vertical {
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.menu.expanded li {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
}

.menu.simple {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.menu.simple li + li {
  margin-left: 1rem;
}

.menu.simple a {
  padding: 0;
}

@media print, screen and (min-width: 48em) {
  .menu.medium-horizontal {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .menu.medium-vertical {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .menu.medium-expanded li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
  .menu.medium-simple li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
}

@media print, screen and (min-width: 64em) {
  .menu.large-horizontal {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .menu.large-vertical {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .menu.large-expanded li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
  .menu.large-simple li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
}

@media screen and (min-width: 100em) {
  .menu.xlarge-horizontal {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .menu.xlarge-vertical {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .menu.xlarge-expanded li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
  .menu.xlarge-simple li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
}

@media screen and (min-width: 120.0625em) {
  .menu.xxlarge-horizontal {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .menu.xxlarge-vertical {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .menu.xxlarge-expanded li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
  .menu.xxlarge-simple li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
  }
}

.menu.nested {
  margin-right: 0;
  margin-left: 1rem;
}

.menu.icons a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.menu.icon-top a, .menu.icon-right a, .menu.icon-bottom a, .menu.icon-left a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.menu.icon-left li a {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
}

.menu.icon-left li a img,
.menu.icon-left li a i,
.menu.icon-left li a svg {
  margin-right: 0.25rem;
}

.menu.icon-right li a {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
}

.menu.icon-right li a img,
.menu.icon-right li a i,
.menu.icon-right li a svg {
  margin-left: 0.25rem;
}

.menu.icon-top li a {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap;
}

.menu.icon-top li a img,
.menu.icon-top li a i,
.menu.icon-top li a svg {
  -ms-flex-item-align: stretch;
      align-self: stretch;
  margin-bottom: 0.25rem;
  text-align: center;
}

.menu.icon-bottom li a {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap;
}

.menu.icon-bottom li a img,
.menu.icon-bottom li a i,
.menu.icon-bottom li a svg {
  -ms-flex-item-align: stretch;
      align-self: stretch;
  margin-bottom: 0.25rem;
  text-align: center;
}

.menu .is-active > a {
  background: #991B1E;
  color: #fefefe;
}

.menu .active > a {
  background: #991B1E;
  color: #fefefe;
}

.menu.align-left {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.menu.align-right li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.menu.align-right li .submenu li {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.menu.align-right.vertical li {
  display: block;
  text-align: right;
}

.menu.align-right.vertical li .submenu li {
  text-align: right;
}

.menu.align-right .nested {
  margin-right: 1rem;
  margin-left: 0;
}

.menu.align-center li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.menu.align-center li .submenu li {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.menu .menu-text {
  padding: 0.7rem 1rem;
  font-weight: bold;
  line-height: 1;
  color: inherit;
}

.menu-centered > .menu {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.menu-centered > .menu li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.menu-centered > .menu li .submenu li {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.no-js [data-responsive-menu] ul {
  display: none;
}

.menu-icon {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 16px;
  cursor: pointer;
}

.menu-icon::after {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 2px;
  background: #fefefe;
  -webkit-box-shadow: 0 7px 0 #fefefe, 0 14px 0 #fefefe;
          box-shadow: 0 7px 0 #fefefe, 0 14px 0 #fefefe;
  content: '';
}

.menu-icon:hover::after {
  background: #cacaca;
  -webkit-box-shadow: 0 7px 0 #cacaca, 0 14px 0 #cacaca;
          box-shadow: 0 7px 0 #cacaca, 0 14px 0 #cacaca;
}

.menu-icon.dark {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 16px;
  cursor: pointer;
}

.menu-icon.dark::after {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 2px;
  background: #0a0a0a;
  -webkit-box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a;
          box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a;
  content: '';
}

.menu-icon.dark:hover::after {
  background: #8a8a8a;
  -webkit-box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a;
          box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a;
}

.accordion-menu li {
  width: 100%;
}

.accordion-menu a {
  padding: 0.7rem 1rem;
}

.accordion-menu .is-accordion-submenu a {
  padding: 0.7rem 1rem;
}

.accordion-menu .nested.is-accordion-submenu {
  margin-right: 0;
  margin-left: 1rem;
}

.accordion-menu.align-right .nested.is-accordion-submenu {
  margin-right: 1rem;
  margin-left: 0;
}

.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a {
  position: relative;
}

.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-bottom-width: 0;
  border-top-style: solid;
  border-color: #991B1E transparent transparent;
  position: absolute;
  top: 50%;
  margin-top: -3px;
  right: 1rem;
}

.accordion-menu.align-left .is-accordion-submenu-parent > a::after {
  right: 1rem;
  left: auto;
}

.accordion-menu.align-right .is-accordion-submenu-parent > a::after {
  right: auto;
  left: 1rem;
}

.accordion-menu .is-accordion-submenu-parent[aria-expanded='true'] > a::after {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
}

.is-accordion-submenu-parent {
  position: relative;
}

.has-submenu-toggle > a {
  margin-right: 40px;
}

.submenu-toggle {
  position: absolute;
  top: 0;
  right: 0;
  width: 40px;
  height: 40px;
  cursor: pointer;
}

.submenu-toggle::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-bottom-width: 0;
  border-top-style: solid;
  border-color: #991B1E transparent transparent;
  top: 0;
  bottom: 0;
  margin: auto;
}

.submenu-toggle[aria-expanded='true']::after {
  -webkit-transform: scaleY(-1);
          transform: scaleY(-1);
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
}

.submenu-toggle-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.is-drilldown {
  position: relative;
  overflow: hidden;
}

.is-drilldown li {
  display: block;
}

.is-drilldown.animate-height {
  -webkit-transition: height 0.5s;
  transition: height 0.5s;
}

.drilldown a {
  padding: 0.7rem 1rem;
  background: #fefefe;
}

.drilldown .is-drilldown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: -1;
  width: 100%;
  background: #fefefe;
  -webkit-transition: -webkit-transform 0.15s linear;
  transition: -webkit-transform 0.15s linear;
  transition: transform 0.15s linear;
  transition: transform 0.15s linear, -webkit-transform 0.15s linear;
}

.drilldown .is-drilldown-submenu.is-active {
  z-index: 1;
  display: block;
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
}

.drilldown .is-drilldown-submenu.is-closing {
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
}

.drilldown .is-drilldown-submenu a {
  padding: 0.7rem 1rem;
}

.drilldown .nested.is-drilldown-submenu {
  margin-right: 0;
  margin-left: 0;
}

.drilldown .drilldown-submenu-cover-previous {
  min-height: 100%;
}

.drilldown .is-drilldown-submenu-parent > a {
  position: relative;
}

.drilldown .is-drilldown-submenu-parent > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #991B1E;
  position: absolute;
  top: 50%;
  margin-top: -6px;
  right: 1rem;
}

.drilldown.align-left .is-drilldown-submenu-parent > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #991B1E;
  right: 1rem;
  left: auto;
}

.drilldown.align-right .is-drilldown-submenu-parent > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #991B1E transparent transparent;
  right: auto;
  left: 1rem;
}

.drilldown .js-drilldown-back > a::before {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #991B1E transparent transparent;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.75rem;
}

.dropdown.menu > li.opens-left > .is-dropdown-submenu {
  top: 100%;
  right: 0;
  left: auto;
}

.dropdown.menu > li.opens-right > .is-dropdown-submenu {
  top: 100%;
  right: auto;
  left: 0;
}

.dropdown.menu > li.is-dropdown-submenu-parent > a {
  position: relative;
  padding-right: 1.5rem;
}

.dropdown.menu > li.is-dropdown-submenu-parent > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-bottom-width: 0;
  border-top-style: solid;
  border-color: #991B1E transparent transparent;
  right: 5px;
  left: auto;
  margin-top: -3px;
}

[data-whatinput='mouse'] .dropdown.menu a {
  outline: 0;
}

.dropdown.menu > li > a {
  padding: 0.7rem 1rem;
}

.dropdown.menu > li.is-active > a {
  background: transparent;
  color: #991B1E;
}

.no-js .dropdown.menu ul {
  display: none;
}

.dropdown.menu .nested.is-dropdown-submenu {
  margin-right: 0;
  margin-left: 0;
}

.dropdown.menu.vertical > li .is-dropdown-submenu {
  top: 0;
}

.dropdown.menu.vertical > li.opens-left > .is-dropdown-submenu {
  top: 0;
  right: 100%;
  left: auto;
}

.dropdown.menu.vertical > li.opens-right > .is-dropdown-submenu {
  right: auto;
  left: 100%;
}

.dropdown.menu.vertical > li > a::after {
  right: 14px;
}

.dropdown.menu.vertical > li.opens-left > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #991B1E transparent transparent;
  right: auto;
  left: 5px;
}

.dropdown.menu.vertical > li.opens-right > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #991B1E;
}

@media print, screen and (min-width: 48em) {
  .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto;
  }
  .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0;
  }
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem;
  }
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #991B1E transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px;
  }
  .dropdown.menu.medium-vertical > li .is-dropdown-submenu {
    top: 0;
  }
  .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu {
    top: 0;
    right: 100%;
    left: auto;
  }
  .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%;
  }
  .dropdown.menu.medium-vertical > li > a::after {
    right: 14px;
  }
  .dropdown.menu.medium-vertical > li.opens-left > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #991B1E transparent transparent;
    right: auto;
    left: 5px;
  }
  .dropdown.menu.medium-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #991B1E;
  }
}

@media print, screen and (min-width: 64em) {
  .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto;
  }
  .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0;
  }
  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem;
  }
  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #991B1E transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px;
  }
  .dropdown.menu.large-vertical > li .is-dropdown-submenu {
    top: 0;
  }
  .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu {
    top: 0;
    right: 100%;
    left: auto;
  }
  .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%;
  }
  .dropdown.menu.large-vertical > li > a::after {
    right: 14px;
  }
  .dropdown.menu.large-vertical > li.opens-left > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #991B1E transparent transparent;
    right: auto;
    left: 5px;
  }
  .dropdown.menu.large-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #991B1E;
  }
}

@media screen and (min-width: 100em) {
  .dropdown.menu.xlarge-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto;
  }
  .dropdown.menu.xlarge-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0;
  }
  .dropdown.menu.xlarge-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem;
  }
  .dropdown.menu.xlarge-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #991B1E transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px;
  }
  .dropdown.menu.xlarge-vertical > li .is-dropdown-submenu {
    top: 0;
  }
  .dropdown.menu.xlarge-vertical > li.opens-left > .is-dropdown-submenu {
    top: 0;
    right: 100%;
    left: auto;
  }
  .dropdown.menu.xlarge-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%;
  }
  .dropdown.menu.xlarge-vertical > li > a::after {
    right: 14px;
  }
  .dropdown.menu.xlarge-vertical > li.opens-left > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #991B1E transparent transparent;
    right: auto;
    left: 5px;
  }
  .dropdown.menu.xlarge-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #991B1E;
  }
}

@media screen and (min-width: 120.0625em) {
  .dropdown.menu.xxlarge-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto;
  }
  .dropdown.menu.xxlarge-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0;
  }
  .dropdown.menu.xxlarge-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem;
  }
  .dropdown.menu.xxlarge-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #991B1E transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px;
  }
  .dropdown.menu.xxlarge-vertical > li .is-dropdown-submenu {
    top: 0;
  }
  .dropdown.menu.xxlarge-vertical > li.opens-left > .is-dropdown-submenu {
    top: 0;
    right: 100%;
    left: auto;
  }
  .dropdown.menu.xxlarge-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%;
  }
  .dropdown.menu.xxlarge-vertical > li > a::after {
    right: 14px;
  }
  .dropdown.menu.xxlarge-vertical > li.opens-left > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #991B1E transparent transparent;
    right: auto;
    left: 5px;
  }
  .dropdown.menu.xxlarge-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #991B1E;
  }
}

.dropdown.menu.align-right .is-dropdown-submenu.first-sub {
  top: 100%;
  right: 0;
  left: auto;
}

.is-dropdown-menu.vertical {
  width: 100px;
}

.is-dropdown-menu.vertical.align-right {
  float: right;
}

.is-dropdown-submenu-parent {
  position: relative;
}

.is-dropdown-submenu-parent a::after {
  position: absolute;
  top: 50%;
  right: 5px;
  left: auto;
  margin-top: -6px;
}

.is-dropdown-submenu-parent.opens-inner > .is-dropdown-submenu {
  top: 100%;
  left: auto;
}

.is-dropdown-submenu-parent.opens-left > .is-dropdown-submenu {
  right: 100%;
  left: auto;
}

.is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu {
  right: auto;
  left: 100%;
}

.is-dropdown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: 1;
  display: none;
  min-width: 200px;
  border: 1px solid #cacaca;
  background: #fefefe;
}

.dropdown .is-dropdown-submenu a {
  padding: 0.7rem 1rem;
}

.is-dropdown-submenu .is-dropdown-submenu-parent > a::after {
  right: 14px;
}

.is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #991B1E transparent transparent;
  right: auto;
  left: 5px;
}

.is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #991B1E;
}

.is-dropdown-submenu .is-dropdown-submenu {
  margin-top: -1px;
}

.is-dropdown-submenu > li {
  width: 100%;
}

.is-dropdown-submenu.js-dropdown-active {
  display: block;
}

.is-off-canvas-open {
  overflow: hidden;
}

.js-off-canvas-overlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 11;
  width: 100%;
  height: 100%;
  -webkit-transition: opacity 0.5s ease, visibility 0.5s ease;
  transition: opacity 0.5s ease, visibility 0.5s ease;
  background: rgba(254, 254, 254, 0.25);
  opacity: 0;
  visibility: hidden;
  overflow: hidden;
}

.js-off-canvas-overlay.is-visible {
  opacity: 1;
  visibility: visible;
}

.js-off-canvas-overlay.is-closable {
  cursor: pointer;
}

.js-off-canvas-overlay.is-overlay-absolute {
  position: absolute;
}

.js-off-canvas-overlay.is-overlay-fixed {
  position: fixed;
}

.off-canvas-wrapper {
  position: relative;
  overflow: hidden;
}

.off-canvas {
  position: fixed;
  z-index: 12;
  -webkit-transition: -webkit-transform 0.5s ease;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #e6e6e6;
}

[data-whatinput='mouse'] .off-canvas {
  outline: 0;
}

.off-canvas.is-transition-push {
  z-index: 12;
}

.off-canvas.is-closed {
  visibility: hidden;
}

.off-canvas.is-transition-overlap {
  z-index: 13;
}

.off-canvas.is-transition-overlap.is-open {
  -webkit-box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);
          box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);
}

.off-canvas.is-open {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.off-canvas-absolute {
  position: absolute;
  z-index: 12;
  -webkit-transition: -webkit-transform 0.5s ease;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #e6e6e6;
}

[data-whatinput='mouse'] .off-canvas-absolute {
  outline: 0;
}

.off-canvas-absolute.is-transition-push {
  z-index: 12;
}

.off-canvas-absolute.is-closed {
  visibility: hidden;
}

.off-canvas-absolute.is-transition-overlap {
  z-index: 13;
}

.off-canvas-absolute.is-transition-overlap.is-open {
  -webkit-box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);
          box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);
}

.off-canvas-absolute.is-open {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.position-left {
  top: 0;
  left: 0;
  height: 100%;
  overflow-y: auto;
  width: 250px;
  -webkit-transform: translateX(-250px);
          transform: translateX(-250px);
}

.off-canvas-content .off-canvas.position-left {
  -webkit-transform: translateX(-250px);
          transform: translateX(-250px);
}

.off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.off-canvas-content.is-open-left.has-transition-push {
  -webkit-transform: translateX(250px);
          transform: translateX(250px);
}

.position-left.is-transition-push {
  -webkit-box-shadow: inset -13px 0 20px -13px rgba(10, 10, 10, 0.25);
          box-shadow: inset -13px 0 20px -13px rgba(10, 10, 10, 0.25);
}

.position-right {
  top: 0;
  right: 0;
  height: 100%;
  overflow-y: auto;
  width: 250px;
  -webkit-transform: translateX(250px);
          transform: translateX(250px);
}

.off-canvas-content .off-canvas.position-right {
  -webkit-transform: translateX(250px);
          transform: translateX(250px);
}

.off-canvas-content .off-canvas.position-right.is-transition-overlap.is-open {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.off-canvas-content.is-open-right.has-transition-push {
  -webkit-transform: translateX(-250px);
          transform: translateX(-250px);
}

.position-right.is-transition-push {
  -webkit-box-shadow: inset 13px 0 20px -13px rgba(10, 10, 10, 0.25);
          box-shadow: inset 13px 0 20px -13px rgba(10, 10, 10, 0.25);
}

.position-top {
  top: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  height: 250px;
  -webkit-transform: translateY(-250px);
          transform: translateY(-250px);
}

.off-canvas-content .off-canvas.position-top {
  -webkit-transform: translateY(-250px);
          transform: translateY(-250px);
}

.off-canvas-content .off-canvas.position-top.is-transition-overlap.is-open {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.off-canvas-content.is-open-top.has-transition-push {
  -webkit-transform: translateY(250px);
          transform: translateY(250px);
}

.position-top.is-transition-push {
  -webkit-box-shadow: inset 0 -13px 20px -13px rgba(10, 10, 10, 0.25);
          box-shadow: inset 0 -13px 20px -13px rgba(10, 10, 10, 0.25);
}

.position-bottom {
  bottom: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  height: 250px;
  -webkit-transform: translateY(250px);
          transform: translateY(250px);
}

.off-canvas-content .off-canvas.position-bottom {
  -webkit-transform: translateY(250px);
          transform: translateY(250px);
}

.off-canvas-content .off-canvas.position-bottom.is-transition-overlap.is-open {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.off-canvas-content.is-open-bottom.has-transition-push {
  -webkit-transform: translateY(-250px);
          transform: translateY(-250px);
}

.position-bottom.is-transition-push {
  -webkit-box-shadow: inset 0 13px 20px -13px rgba(10, 10, 10, 0.25);
          box-shadow: inset 0 13px 20px -13px rgba(10, 10, 10, 0.25);
}

.off-canvas-content {
  -webkit-transform: none;
          transform: none;
  -webkit-transition: -webkit-transform 0.5s ease;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.off-canvas-content.has-transition-push {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.off-canvas-content .off-canvas.is-open {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

@media print, screen and (min-width: 48em) {
  .position-left.reveal-for-medium {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible;
  }
  .position-left.reveal-for-medium .close-button {
    display: none;
  }
  .off-canvas-content .position-left.reveal-for-medium {
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas-content.has-reveal-left {
    margin-left: 250px;
  }
  .position-left.reveal-for-medium ~ .off-canvas-content {
    margin-left: 250px;
  }
  .position-right.reveal-for-medium {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible;
  }
  .position-right.reveal-for-medium .close-button {
    display: none;
  }
  .off-canvas-content .position-right.reveal-for-medium {
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas-content.has-reveal-right {
    margin-right: 250px;
  }
  .position-right.reveal-for-medium ~ .off-canvas-content {
    margin-right: 250px;
  }
  .position-top.reveal-for-medium {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible;
  }
  .position-top.reveal-for-medium .close-button {
    display: none;
  }
  .off-canvas-content .position-top.reveal-for-medium {
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas-content.has-reveal-top {
    margin-top: 250px;
  }
  .position-top.reveal-for-medium ~ .off-canvas-content {
    margin-top: 250px;
  }
  .position-bottom.reveal-for-medium {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible;
  }
  .position-bottom.reveal-for-medium .close-button {
    display: none;
  }
  .off-canvas-content .position-bottom.reveal-for-medium {
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas-content.has-reveal-bottom {
    margin-bottom: 250px;
  }
  .position-bottom.reveal-for-medium ~ .off-canvas-content {
    margin-bottom: 250px;
  }
}

@media print, screen and (min-width: 64em) {
  .position-left.reveal-for-large {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible;
  }
  .position-left.reveal-for-large .close-button {
    display: none;
  }
  .off-canvas-content .position-left.reveal-for-large {
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas-content.has-reveal-left {
    margin-left: 250px;
  }
  .position-left.reveal-for-large ~ .off-canvas-content {
    margin-left: 250px;
  }
  .position-right.reveal-for-large {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible;
  }
  .position-right.reveal-for-large .close-button {
    display: none;
  }
  .off-canvas-content .position-right.reveal-for-large {
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas-content.has-reveal-right {
    margin-right: 250px;
  }
  .position-right.reveal-for-large ~ .off-canvas-content {
    margin-right: 250px;
  }
  .position-top.reveal-for-large {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible;
  }
  .position-top.reveal-for-large .close-button {
    display: none;
  }
  .off-canvas-content .position-top.reveal-for-large {
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas-content.has-reveal-top {
    margin-top: 250px;
  }
  .position-top.reveal-for-large ~ .off-canvas-content {
    margin-top: 250px;
  }
  .position-bottom.reveal-for-large {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible;
  }
  .position-bottom.reveal-for-large .close-button {
    display: none;
  }
  .off-canvas-content .position-bottom.reveal-for-large {
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas-content.has-reveal-bottom {
    margin-bottom: 250px;
  }
  .position-bottom.reveal-for-large ~ .off-canvas-content {
    margin-bottom: 250px;
  }
}

@media screen and (min-width: 100em) {
  .position-left.reveal-for-xlarge {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible;
  }
  .position-left.reveal-for-xlarge .close-button {
    display: none;
  }
  .off-canvas-content .position-left.reveal-for-xlarge {
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas-content.has-reveal-left {
    margin-left: 250px;
  }
  .position-left.reveal-for-xlarge ~ .off-canvas-content {
    margin-left: 250px;
  }
  .position-right.reveal-for-xlarge {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible;
  }
  .position-right.reveal-for-xlarge .close-button {
    display: none;
  }
  .off-canvas-content .position-right.reveal-for-xlarge {
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas-content.has-reveal-right {
    margin-right: 250px;
  }
  .position-right.reveal-for-xlarge ~ .off-canvas-content {
    margin-right: 250px;
  }
  .position-top.reveal-for-xlarge {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible;
  }
  .position-top.reveal-for-xlarge .close-button {
    display: none;
  }
  .off-canvas-content .position-top.reveal-for-xlarge {
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas-content.has-reveal-top {
    margin-top: 250px;
  }
  .position-top.reveal-for-xlarge ~ .off-canvas-content {
    margin-top: 250px;
  }
  .position-bottom.reveal-for-xlarge {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible;
  }
  .position-bottom.reveal-for-xlarge .close-button {
    display: none;
  }
  .off-canvas-content .position-bottom.reveal-for-xlarge {
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas-content.has-reveal-bottom {
    margin-bottom: 250px;
  }
  .position-bottom.reveal-for-xlarge ~ .off-canvas-content {
    margin-bottom: 250px;
  }
}

@media screen and (min-width: 120.0625em) {
  .position-left.reveal-for-xxlarge {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible;
  }
  .position-left.reveal-for-xxlarge .close-button {
    display: none;
  }
  .off-canvas-content .position-left.reveal-for-xxlarge {
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas-content.has-reveal-left {
    margin-left: 250px;
  }
  .position-left.reveal-for-xxlarge ~ .off-canvas-content {
    margin-left: 250px;
  }
  .position-right.reveal-for-xxlarge {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible;
  }
  .position-right.reveal-for-xxlarge .close-button {
    display: none;
  }
  .off-canvas-content .position-right.reveal-for-xxlarge {
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas-content.has-reveal-right {
    margin-right: 250px;
  }
  .position-right.reveal-for-xxlarge ~ .off-canvas-content {
    margin-right: 250px;
  }
  .position-top.reveal-for-xxlarge {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible;
  }
  .position-top.reveal-for-xxlarge .close-button {
    display: none;
  }
  .off-canvas-content .position-top.reveal-for-xxlarge {
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas-content.has-reveal-top {
    margin-top: 250px;
  }
  .position-top.reveal-for-xxlarge ~ .off-canvas-content {
    margin-top: 250px;
  }
  .position-bottom.reveal-for-xxlarge {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible;
  }
  .position-bottom.reveal-for-xxlarge .close-button {
    display: none;
  }
  .off-canvas-content .position-bottom.reveal-for-xxlarge {
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas-content.has-reveal-bottom {
    margin-bottom: 250px;
  }
  .position-bottom.reveal-for-xxlarge ~ .off-canvas-content {
    margin-bottom: 250px;
  }
}

@media print, screen and (min-width: 48em) {
  .off-canvas.in-canvas-for-medium {
    visibility: visible;
    height: auto;
    position: static;
    background: none;
    width: auto;
    overflow: visible;
    -webkit-transition: none;
    transition: none;
  }
  .off-canvas.in-canvas-for-medium.position-left, .off-canvas.in-canvas-for-medium.position-right, .off-canvas.in-canvas-for-medium.position-top, .off-canvas.in-canvas-for-medium.position-bottom {
    -webkit-box-shadow: none;
            box-shadow: none;
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas.in-canvas-for-medium .close-button {
    display: none;
  }
}

@media print, screen and (min-width: 64em) {
  .off-canvas.in-canvas-for-large {
    visibility: visible;
    height: auto;
    position: static;
    background: none;
    width: auto;
    overflow: visible;
    -webkit-transition: none;
    transition: none;
  }
  .off-canvas.in-canvas-for-large.position-left, .off-canvas.in-canvas-for-large.position-right, .off-canvas.in-canvas-for-large.position-top, .off-canvas.in-canvas-for-large.position-bottom {
    -webkit-box-shadow: none;
            box-shadow: none;
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas.in-canvas-for-large .close-button {
    display: none;
  }
}

@media screen and (min-width: 100em) {
  .off-canvas.in-canvas-for-xlarge {
    visibility: visible;
    height: auto;
    position: static;
    background: none;
    width: auto;
    overflow: visible;
    -webkit-transition: none;
    transition: none;
  }
  .off-canvas.in-canvas-for-xlarge.position-left, .off-canvas.in-canvas-for-xlarge.position-right, .off-canvas.in-canvas-for-xlarge.position-top, .off-canvas.in-canvas-for-xlarge.position-bottom {
    -webkit-box-shadow: none;
            box-shadow: none;
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas.in-canvas-for-xlarge .close-button {
    display: none;
  }
}

@media screen and (min-width: 120.0625em) {
  .off-canvas.in-canvas-for-xxlarge {
    visibility: visible;
    height: auto;
    position: static;
    background: none;
    width: auto;
    overflow: visible;
    -webkit-transition: none;
    transition: none;
  }
  .off-canvas.in-canvas-for-xxlarge.position-left, .off-canvas.in-canvas-for-xxlarge.position-right, .off-canvas.in-canvas-for-xxlarge.position-top, .off-canvas.in-canvas-for-xxlarge.position-bottom {
    -webkit-box-shadow: none;
            box-shadow: none;
    -webkit-transform: none;
            transform: none;
  }
  .off-canvas.in-canvas-for-xxlarge .close-button {
    display: none;
  }
}

html.is-reveal-open {
  position: fixed;
  width: 100%;
  overflow-y: hidden;
}

html.is-reveal-open.zf-has-scroll {
  overflow-y: scroll;
}

html.is-reveal-open body {
  overflow-y: hidden;
}

.reveal-overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1005;
  display: none;
  background-color: rgba(10, 10, 10, 0.45);
  overflow-y: auto;
}

.reveal {
  z-index: 1006;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  display: none;
  padding: 1rem;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  position: relative;
  top: 100px;
  margin-right: auto;
  margin-left: auto;
  overflow-y: auto;
}

[data-whatinput='mouse'] .reveal {
  outline: 0;
}

@media print, screen and (min-width: 48em) {
  .reveal {
    min-height: 0;
  }
}

.reveal .column {
  min-width: 0;
}

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

@media print, screen and (min-width: 48em) {
  .reveal {
    width: 600px;
    max-width: 75rem;
  }
}

.reveal.collapse {
  padding: 0;
}

@media print, screen and (min-width: 48em) {
  .reveal.tiny {
    width: 30%;
    max-width: 75rem;
  }
}

@media print, screen and (min-width: 48em) {
  .reveal.small {
    width: 50%;
    max-width: 75rem;
  }
}

@media print, screen and (min-width: 48em) {
  .reveal.large {
    width: 90%;
    max-width: 75rem;
  }
}

.reveal.full {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  max-width: none;
  height: 100%;
  min-height: 100%;
  margin-left: 0;
  border: 0;
  border-radius: 0;
}

@media screen and (max-width: 47.99875em) {
  .reveal {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    min-height: 100%;
    margin-left: 0;
    border: 0;
    border-radius: 0;
  }
}

.reveal.without-overlay {
  position: fixed;
}

.sticky-container {
  position: relative;
}

.sticky {
  position: relative;
  z-index: 0;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.sticky.is-stuck {
  position: fixed;
  z-index: 5;
  width: 100%;
}

.sticky.is-stuck.is-at-top {
  top: 0;
}

.sticky.is-stuck.is-at-bottom {
  bottom: 0;
}

.sticky.is-anchored {
  position: relative;
  right: auto;
  left: auto;
}

.sticky.is-anchored.is-at-bottom {
  bottom: 0;
}

.title-bar {
  padding: 0.5rem;
  background: #0a0a0a;
  color: #fefefe;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.title-bar .menu-icon {
  margin-left: 0.25rem;
  margin-right: 0.25rem;
}

.title-bar-left,
.title-bar-right {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
}

.title-bar-right {
  text-align: right;
}

.title-bar-title {
  display: inline-block;
  vertical-align: middle;
  font-weight: bold;
}

.top-bar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0.5rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.top-bar,
.top-bar ul {
  background-color: #e6e6e6;
}

.top-bar input {
  max-width: 200px;
  margin-right: 1rem;
}

.top-bar .input-group-field {
  width: 100%;
  margin-right: 0;
}

.top-bar input.button {
  width: auto;
}

.top-bar .top-bar-left,
.top-bar .top-bar-right {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  max-width: 100%;
}

@media print, screen and (min-width: 48em) {
  .top-bar {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
  .top-bar .top-bar-left {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    margin-right: auto;
  }
  .top-bar .top-bar-right {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
    margin-left: auto;
  }
}

@media screen and (max-width: 63.99875em) {
  .top-bar.stacked-for-medium {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .top-bar.stacked-for-medium .top-bar-left,
  .top-bar.stacked-for-medium .top-bar-right {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%;
  }
}

@media screen and (max-width: 99.99875em) {
  .top-bar.stacked-for-large {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .top-bar.stacked-for-large .top-bar-left,
  .top-bar.stacked-for-large .top-bar-right {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%;
  }
}

@media screen and (max-width: 120.06125em) {
  .top-bar.stacked-for-xlarge {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .top-bar.stacked-for-xlarge .top-bar-left,
  .top-bar.stacked-for-xlarge .top-bar-right {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%;
  }
}

.top-bar.stacked-for-xxlarge {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.top-bar.stacked-for-xxlarge .top-bar-left,
.top-bar.stacked-for-xxlarge .top-bar-right {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  max-width: 100%;
}

.top-bar-title {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  margin: 0.5rem 1rem 0.5rem 0;
}

.top-bar-left,
.top-bar-right {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}

.float-left {
  float: left !important;
}

.float-right {
  float: right !important;
}

.float-center {
  display: block;
  margin-right: auto;
  margin-left: auto;
}

.clearfix::before, .clearfix::after {
  display: table;
  content: ' ';
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.clearfix::after {
  clear: both;
}

.align-left {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.align-right {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.align-center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.align-justify {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.align-spaced {
  -ms-flex-pack: distribute;
      justify-content: space-around;
}

.align-left.vertical.menu > li > a {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.align-right.vertical.menu > li > a {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.align-center.vertical.menu > li > a {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.align-top {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.align-self-top {
  -ms-flex-item-align: start;
      align-self: flex-start;
}

.align-bottom {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

.align-self-bottom {
  -ms-flex-item-align: end;
      align-self: flex-end;
}

.align-middle {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.align-self-middle {
  -ms-flex-item-align: center;
      align-self: center;
}

.align-stretch {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}

.align-self-stretch {
  -ms-flex-item-align: stretch;
      align-self: stretch;
}

.align-center-middle {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
}

.small-order-1 {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.small-order-2 {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}

.small-order-3 {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
}

.small-order-4 {
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4;
}

.small-order-5 {
  -webkit-box-ordinal-group: 6;
      -ms-flex-order: 5;
          order: 5;
}

.small-order-6 {
  -webkit-box-ordinal-group: 7;
      -ms-flex-order: 6;
          order: 6;
}

@media print, screen and (min-width: 48em) {
  .medium-order-1 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .medium-order-2 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .medium-order-3 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .medium-order-4 {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
  .medium-order-5 {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
  }
  .medium-order-6 {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6;
  }
}

@media print, screen and (min-width: 64em) {
  .large-order-1 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .large-order-2 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .large-order-3 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .large-order-4 {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
  .large-order-5 {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
  }
  .large-order-6 {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6;
  }
}

@media screen and (min-width: 100em) {
  .xlarge-order-1 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .xlarge-order-2 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .xlarge-order-3 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .xlarge-order-4 {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
  .xlarge-order-5 {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
  }
  .xlarge-order-6 {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6;
  }
}

@media screen and (min-width: 120.0625em) {
  .xxlarge-order-1 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .xxlarge-order-2 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .xxlarge-order-3 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .xxlarge-order-4 {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
  .xxlarge-order-5 {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
  }
  .xxlarge-order-6 {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6;
  }
}

.flex-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.flex-child-auto {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
}

.flex-child-grow {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
}

.flex-child-shrink {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
}

.flex-dir-row {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}

.flex-dir-row-reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

.flex-dir-column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.flex-dir-column-reverse {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
}

@media print, screen and (min-width: 48em) {
  .medium-flex-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .medium-flex-child-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
  }
  .medium-flex-child-grow {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto;
  }
  .medium-flex-child-shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
  }
  .medium-flex-dir-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .medium-flex-dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .medium-flex-dir-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .medium-flex-dir-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}

@media print, screen and (min-width: 64em) {
  .large-flex-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .large-flex-child-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
  }
  .large-flex-child-grow {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto;
  }
  .large-flex-child-shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
  }
  .large-flex-dir-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .large-flex-dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .large-flex-dir-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .large-flex-dir-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}

@media screen and (min-width: 100em) {
  .xlarge-flex-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .xlarge-flex-child-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
  }
  .xlarge-flex-child-grow {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto;
  }
  .xlarge-flex-child-shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
  }
  .xlarge-flex-dir-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .xlarge-flex-dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .xlarge-flex-dir-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .xlarge-flex-dir-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}

@media screen and (min-width: 120.0625em) {
  .xxlarge-flex-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .xxlarge-flex-child-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
  }
  .xxlarge-flex-child-grow {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto;
  }
  .xxlarge-flex-child-shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
  }
  .xxlarge-flex-dir-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .xxlarge-flex-dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .xxlarge-flex-dir-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .xxlarge-flex-dir-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}

.hide {
  display: none !important;
}

.invisible {
  visibility: hidden;
}

@media screen and (max-width: 47.99875em) {
  .hide-for-small-only {
    display: none !important;
  }
}

@media screen and (max-width: 0em), screen and (min-width: 48em) {
  .show-for-small-only {
    display: none !important;
  }
}

@media print, screen and (min-width: 48em) {
  .hide-for-medium {
    display: none !important;
  }
}

@media screen and (max-width: 47.99875em) {
  .show-for-medium {
    display: none !important;
  }
}

@media screen and (min-width: 48em) and (max-width: 63.99875em) {
  .hide-for-medium-only {
    display: none !important;
  }
}

@media screen and (max-width: 47.99875em), screen and (min-width: 64em) {
  .show-for-medium-only {
    display: none !important;
  }
}

@media print, screen and (min-width: 64em) {
  .hide-for-large {
    display: none !important;
  }
}

@media screen and (max-width: 63.99875em) {
  .show-for-large {
    display: none !important;
  }
}

@media screen and (min-width: 64em) and (max-width: 99.99875em) {
  .hide-for-large-only {
    display: none !important;
  }
}

@media screen and (max-width: 63.99875em), screen and (min-width: 100em) {
  .show-for-large-only {
    display: none !important;
  }
}

@media screen and (min-width: 100em) {
  .hide-for-xlarge {
    display: none !important;
  }
}

@media screen and (max-width: 99.99875em) {
  .show-for-xlarge {
    display: none !important;
  }
}

@media screen and (min-width: 100em) and (max-width: 120.06125em) {
  .hide-for-xlarge-only {
    display: none !important;
  }
}

@media screen and (max-width: 99.99875em), screen and (min-width: 120.0625em) {
  .show-for-xlarge-only {
    display: none !important;
  }
}

@media screen and (min-width: 120.0625em) {
  .hide-for-xxlarge {
    display: none !important;
  }
}

@media screen and (max-width: 120.06125em) {
  .show-for-xxlarge {
    display: none !important;
  }
}

@media screen and (min-width: 120.0625em) {
  .hide-for-xxlarge-only {
    display: none !important;
  }
}

@media screen and (max-width: 120.06125em) {
  .show-for-xxlarge-only {
    display: none !important;
  }
}

.show-for-sr,
.show-on-focus {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.show-on-focus:active, .show-on-focus:focus {
  position: static !important;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  white-space: normal;
}

.show-for-landscape,
.hide-for-portrait {
  display: block !important;
}

@media screen and (orientation: landscape) {
  .show-for-landscape,
  .hide-for-portrait {
    display: block !important;
  }
}

@media screen and (orientation: portrait) {
  .show-for-landscape,
  .hide-for-portrait {
    display: none !important;
  }
}

.hide-for-landscape,
.show-for-portrait {
  display: none !important;
}

@media screen and (orientation: landscape) {
  .hide-for-landscape,
  .show-for-portrait {
    display: none !important;
  }
}

@media screen and (orientation: portrait) {
  .hide-for-landscape,
  .show-for-portrait {
    display: block !important;
  }
}

.text-hide {
  font: 0/0 a !important;
  color: transparent !important;
  text-shadow: none !important;
  background-color: transparent !important;
  border: 0 !important;
}

.text-truncate {
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis;
  white-space: nowrap !important;
}

.text-nowrap {
  white-space: nowrap !important;
}

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

.text-lowercase {
  text-transform: lowercase !important;
}

.text-uppercase {
  text-transform: uppercase !important;
}

.text-capitalize {
  text-transform: capitalize !important;
}

.text-overline {
  text-decoration: overline !important;
}

.text-underline {
  text-decoration: underline !important;
}

.text-line-through {
  text-decoration: line-through !important;
}

.font-wide {
  letter-spacing: 0.25rem;
}

.font-normal {
  font-weight: normal;
}

.font-bold {
  font-weight: bold;
}

.font-italic {
  font-style: italic !important;
}

ul.list-disc {
  list-style-type: disc !important;
}

ul.list-circle {
  list-style-type: circle !important;
}

ul.list-square {
  list-style-type: square !important;
}

ol.list-decimal {
  list-style-type: decimal !important;
}

ol.list-lower-alpha {
  list-style-type: lower-alpha !important;
}

ol.list-lower-latin {
  list-style-type: lower-latin !important;
}

ol.list-lower-roman {
  list-style-type: lower-roman !important;
}

ol.list-upper-alpha {
  list-style-type: upper-alpha !important;
}

ol.list-upper-latin {
  list-style-type: upper-latin !important;
}

ol.list-upper-roman {
  list-style-type: upper-roman !important;
}

.rounded {
  border-radius: 5000px !important;
}

.rounded:after {
  border-radius: 50%;
}

.radius {
  border-radius: 0.1875rem;
}

.bordered {
  border: 0.0625rem solid #cacaca;
}

.shadow {
  -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
          box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
}

.arrow-down {
  display: block;
  width: 0;
  height: 0;
  border: inset 0.4375rem;
  content: '';
  border-bottom-width: 0;
  border-top-style: solid;
  border-color: #0a0a0a transparent transparent;
}

.arrow-up {
  display: block;
  width: 0;
  height: 0;
  border: inset 0.4375rem;
  content: '';
  border-top-width: 0;
  border-bottom-style: solid;
  border-color: transparent transparent #0a0a0a;
}

.arrow-right {
  display: block;
  width: 0;
  height: 0;
  border: inset 0.4375rem;
  content: '';
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #0a0a0a;
}

.arrow-left {
  display: block;
  width: 0;
  height: 0;
  border: inset 0.4375rem;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #0a0a0a transparent transparent;
}

.separator-center {
  text-align: center !important;
}

.separator-center::before, .separator-center::after {
  display: table;
  content: ' ';
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.separator-center::after {
  clear: both;
}

.separator-center::after {
  position: relative !important;
  width: 3rem;
  border-bottom: 0.125rem solid #991B1E;
  margin: 1rem auto 0;
}

.separator-left {
  text-align: left !important;
}

.separator-left::before, .separator-left::after {
  display: table;
  content: ' ';
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.separator-left::after {
  clear: both;
}

.separator-left::after {
  position: relative !important;
  width: 3rem;
  border-bottom: 0.125rem solid #991B1E;
  margin: 1rem auto 0;
  margin-left: 0 !important;
}

.separator-right {
  text-align: right !important;
}

.separator-right::before, .separator-right::after {
  display: table;
  content: ' ';
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.separator-right::after {
  clear: both;
}

.separator-right::after {
  position: relative !important;
  width: 3rem;
  border-bottom: 0.125rem solid #991B1E;
  margin: 1rem auto 0;
  margin-right: 0 !important;
}

.overflow-visible {
  overflow: visible !important;
}

.overflow-x-visible {
  overflow-x: visible !important;
}

.overflow-y-visible {
  overflow-y: visible !important;
}

.overflow-hidden {
  overflow: hidden !important;
}

.overflow-x-hidden {
  overflow-x: hidden !important;
}

.overflow-y-hidden {
  overflow-y: hidden !important;
}

.overflow-scroll {
  overflow: scroll !important;
}

.overflow-x-scroll {
  overflow-x: scroll !important;
}

.overflow-y-scroll {
  overflow-y: scroll !important;
}

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

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

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

.display-table {
  display: table !important;
}

.display-table-cell {
  display: table-cell !important;
}

.position-static {
  position: static !important;
}

.position-relative {
  position: relative !important;
}

.position-absolute {
  position: absolute !important;
}

.position-fixed {
  position: fixed !important;
}

.position-fixed-top {
  position: fixed !important;
  top: 0rem !important;
  right: 0rem !important;
  left: 0rem !important;
  z-index: 975;
}

.position-fixed-bottom {
  position: fixed !important;
  right: 0rem !important;
  bottom: 0rem !important;
  left: 0rem !important;
  z-index: 975;
}

.border-box {
  -webkit-box-sizing: border-box !important;
          box-sizing: border-box !important;
}

.border-none {
  border: none !important;
}

.width-25 {
  width: 25% !important;
}

.width-50 {
  width: 50% !important;
}

.width-75 {
  width: 75% !important;
}

.width-100 {
  width: 100% !important;
}

.height-25 {
  height: 25% !important;
}

.height-50 {
  height: 50% !important;
}

.height-75 {
  height: 75% !important;
}

.height-100 {
  height: 100% !important;
}

.max-width-100 {
  max-width: 100% !important;
}

.max-height-100 {
  max-height: 100% !important;
}

.margin-0 {
  margin: 0rem;
}

.margin-top-0 {
  margin-top: 0rem !important;
}

.margin-right-0 {
  margin-right: 0rem !important;
}

.margin-bottom-0 {
  margin-bottom: 0rem !important;
}

.margin-left-0 {
  margin-left: 0rem !important;
}

.margin-horizontal-0 {
  margin-right: 0rem !important;
  margin-left: 0rem !important;
}

.margin-vertical-0 {
  margin-top: 0rem !important;
  margin-bottom: 0rem !important;
}

.padding-0 {
  padding: 0rem;
}

.padding-top-0 {
  padding-top: 0rem !important;
}

.padding-right-0 {
  padding-right: 0rem !important;
}

.padding-bottom-0 {
  padding-bottom: 0rem !important;
}

.padding-left-0 {
  padding-left: 0rem !important;
}

.padding-horizontal-0 {
  padding-right: 0rem !important;
  padding-left: 0rem !important;
}

.padding-vertical-0 {
  padding-top: 0rem !important;
  padding-bottom: 0rem !important;
}

.margin-1 {
  margin: 1rem;
}

.margin-top-1 {
  margin-top: 1rem !important;
}

.margin-right-1 {
  margin-right: 1rem !important;
}

.margin-bottom-1 {
  margin-bottom: 1rem !important;
}

.margin-left-1 {
  margin-left: 1rem !important;
}

.margin-horizontal-1 {
  margin-right: 1rem !important;
  margin-left: 1rem !important;
}

.margin-vertical-1 {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important;
}

.padding-1 {
  padding: 1rem;
}

.padding-top-1 {
  padding-top: 1rem !important;
}

.padding-right-1 {
  padding-right: 1rem !important;
}

.padding-bottom-1 {
  padding-bottom: 1rem !important;
}

.padding-left-1 {
  padding-left: 1rem !important;
}

.padding-horizontal-1 {
  padding-right: 1rem !important;
  padding-left: 1rem !important;
}

.padding-vertical-1 {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}

.margin-2 {
  margin: 2rem;
}

.margin-top-2 {
  margin-top: 2rem !important;
}

.margin-right-2 {
  margin-right: 2rem !important;
}

.margin-bottom-2 {
  margin-bottom: 2rem !important;
}

.margin-left-2 {
  margin-left: 2rem !important;
}

.margin-horizontal-2 {
  margin-right: 2rem !important;
  margin-left: 2rem !important;
}

.margin-vertical-2 {
  margin-top: 2rem !important;
  margin-bottom: 2rem !important;
}

.padding-2 {
  padding: 2rem;
}

.padding-top-2 {
  padding-top: 2rem !important;
}

.padding-right-2 {
  padding-right: 2rem !important;
}

.padding-bottom-2 {
  padding-bottom: 2rem !important;
}

.padding-left-2 {
  padding-left: 2rem !important;
}

.padding-horizontal-2 {
  padding-right: 2rem !important;
  padding-left: 2rem !important;
}

.padding-vertical-2 {
  padding-top: 2rem !important;
  padding-bottom: 2rem !important;
}

.margin-3 {
  margin: 3rem;
}

.margin-top-3 {
  margin-top: 3rem !important;
}

.margin-right-3 {
  margin-right: 3rem !important;
}

.margin-bottom-3 {
  margin-bottom: 3rem !important;
}

.margin-left-3 {
  margin-left: 3rem !important;
}

.margin-horizontal-3 {
  margin-right: 3rem !important;
  margin-left: 3rem !important;
}

.margin-vertical-3 {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important;
}

.padding-3 {
  padding: 3rem;
}

.padding-top-3 {
  padding-top: 3rem !important;
}

.padding-right-3 {
  padding-right: 3rem !important;
}

.padding-bottom-3 {
  padding-bottom: 3rem !important;
}

.padding-left-3 {
  padding-left: 3rem !important;
}

.padding-horizontal-3 {
  padding-right: 3rem !important;
  padding-left: 3rem !important;
}

.padding-vertical-3 {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}

* {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

:focus {
  outline: 0 !important;
}

body {
  font-family: "Lato", sans-serif;
  font-size: 16px;
  color: #3C3C3C;
  overflow-x: hidden;
  line-height: 1.5;
}

a {
  color: #991B1E;
  -webkit-transition: 0.3s ease all;
  transition: 0.3s ease all;
}

a:hover, a:focus {
  color: #3C3C3C;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 400;
  font-family: "Teko", sans-serif;
  margin-bottom: 15px;
}

h4, h5, h6 {
  font-family: "Lato", sans-serif;
  line-height: 1.4;
}

h1 {
  font-size: 80px;
  line-height: 1;
}

h2 {
  font-size: 60px;
  line-height: 1;
}

h3 {
  font-size: 34px;
  line-height: 1.2;
}

h4 {
  font-size: 30px;
}

h5 {
  font-size: 24px;
}

h6 {
  font-size: 20px;
}

@media (max-width: 1280px) {
  h1 {
    font-size: 60px;
  }
  h2 {
    font-size: 40px;
  }
  h3 {
    font-size: 28px;
  }
  h4 {
    font-size: 24px;
  }
  h5 {
    font-size: 20px;
  }
  h6 {
    font-size: 16px;
  }
}

img {
  max-width: 100%;
  height: auto;
}

p {
  line-height: 1.5;
  margin-bottom: 25px;
}

p.large {
  font-size: 20px;
}

p.small {
  font-size: 14px;
}

ul.large {
  font-size: 20px;
}

ul.small {
  font-size: 14px;
}

ul.letter {
  list-style: lower-latin;
}

ul.roman {
  list-style: lower-roman;
}

ol.large {
  font-size: 20px;
}

ol.small {
  font-size: 14px;
}

input[type=text], input[type=number],
input[type=email], input[type=tel],
input[type=password], select, textarea {
  border: solid 1px #C4C4C4;
  background-color: #fff;
  padding: 10px 15px;
  font-size: 18px;
  font-weight: 500;
  height: 50px;
}

select {
  padding-right: 30px !important;
}

ul.gform_fields {
  margin: 0 0 20px;
}

ul.gform_fields li {
  list-style: none;
}

ul.gform_fields li.hidden_label > label {
  display: none;
}

ul.gform_fields .hidden_sub_label {
  display: none;
}

ul.gform_fields .field .ginput_container span {
  display: block;
}

ul.gform_fields .field .ginput_container span + span {
  margin-top: 15px;
}

ul.gform_fields .gfield {
  margin-bottom: 15px;
}

ul.gform_fields .gfield input, ul.gform_fields .gfield textarea, ul.gform_fields .gfield select {
  margin-bottom: 0;
}

/* Buttons */
a.button, input.button, button.button {
  position: relative;
  padding: 16px 40px 11px;
  font-family: "Teko", sans-serif;
  font-size: 20px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.238em;
  margin-bottom: 20px;
  line-height: 28px;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  border-radius: 0;
  background: none !important;
  color: #fff;
}

a.button:before, input.button:before, button.button:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: #991B1E;
  z-index: -1;
  -webkit-transform: skewX(-18deg);
          transform: skewX(-18deg);
}

a.button:hover, input.button:hover, button.button:hover {
  color: #fff;
}

a.button:hover:before, input.button:hover:before, button.button:hover:before {
  background: rgba(166, 7, 12, 0.8);
}

a.button.inverse, input.button.inverse, button.button.inverse {
  color: #3C3C3C;
}

a.button.inverse:before, input.button.inverse:before, button.button.inverse:before {
  background: #fff;
}

a.button.inverse:hover:before, input.button.inverse:hover:before, button.button.inverse:hover:before {
  background: #C4C4C4;
}

a.button.disabled, a.button[disable], input.button.disabled, input.button[disable], button.button.disabled, button.button[disable] {
  opacity: 1 !important;
  background: #fff !important;
  color: #C4C4C4 !important;
  border: 1px solid #C4C4C4 !important;
}

a.button.disabled *, a.button[disable] *, input.button.disabled *, input.button[disable] *, button.button.disabled *, button.button[disable] * {
  color: #C4C4C4 !important;
}

a.button.disabled [class*="circle"], a.button[disable] [class*="circle"], input.button.disabled [class*="circle"], input.button[disable] [class*="circle"], button.button.disabled [class*="circle"], button.button[disable] [class*="circle"] {
  background: #C4C4C4 !important;
  color: #fff !important;
}

a.button.small, input.button.small, button.button.small {
  padding: 10px 20px;
  font-size: 14px;
  font-weight: 500;
  line-height: 26px;
}

a.button.large, input.button.large, button.button.large {
  padding: 18px 40px;
  font-size: 20px;
}

a.button.nomin, input.button.nomin, button.button.nomin {
  min-width: 1px;
}

a.button small, input.button small, button.button small {
  display: inline-block;
  font-size: 13px;
  line-height: 1;
  vertical-align: middle;
  text-align: left;
}

a.button small s, input.button small s, button.button small s {
  text-decoration: none;
  color: #3C3C3C;
}

.buttons a.button, .buttons input.button, .buttons button.button {
  margin-left: 25px;
  margin-right: 25px;
}

.action a.button, .action input.button, .action button.button {
  margin-bottom: 0;
}

@media (max-width: 480px) {
  a.button, input.button, button.button {
    line-height: 20px;
  }
}

.gform_wrapper form .gfield_validation_message,
.gform_wrapper form .validation_message {
  margin-top: 3px;
  padding: 2px 10px !important;
}

.fw-extralight {
  font-weight: 200 !important;
}

.fw-light {
  font-weight: 300 !important;
}

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

.fw-medium {
  font-weight: 500 !important;
}

.fw-semibold {
  font-weight: 600 !important;
}

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

.fw-extrabold {
  font-weight: 800 !important;
}

.fw-black {
  font-weight: 900 !important;
}

.text-primary {
  color: #991B1E !important;
}

.text-secondary {
  color: #A6070C !important;
}

.text-dark {
  color: #3C3C3C !important;
}

.text-white {
  color: #fff !important;
}

.bc-primary {
  background-color: #991B1E !important;
}

.bc-secondary {
  background-color: #A6070C !important;
}

.bc-dark {
  background-color: #3C3C3C !important;
}

.order-1 {
  -webkit-box-ordinal-group: 2 !important;
      -ms-flex-order: 1 !important;
          order: 1 !important;
}

.order-2 {
  -webkit-box-ordinal-group: 3 !important;
      -ms-flex-order: 2 !important;
          order: 2 !important;
}

.order-3 {
  -webkit-box-ordinal-group: 4 !important;
      -ms-flex-order: 3 !important;
          order: 3 !important;
}

.order-4 {
  -webkit-box-ordinal-group: 5 !important;
      -ms-flex-order: 4 !important;
          order: 4 !important;
}

.order-5 {
  -webkit-box-ordinal-group: 6 !important;
      -ms-flex-order: 5 !important;
          order: 5 !important;
}

.order-6 {
  -webkit-box-ordinal-group: 7 !important;
      -ms-flex-order: 6 !important;
          order: 6 !important;
}

.order-7 {
  -webkit-box-ordinal-group: 8 !important;
      -ms-flex-order: 7 !important;
          order: 7 !important;
}

.order-8 {
  -webkit-box-ordinal-group: 9 !important;
      -ms-flex-order: 8 !important;
          order: 8 !important;
}

.order-9 {
  -webkit-box-ordinal-group: 10 !important;
      -ms-flex-order: 9 !important;
          order: 9 !important;
}

.order-10 {
  -webkit-box-ordinal-group: 11 !important;
      -ms-flex-order: 10 !important;
          order: 10 !important;
}

.order-11 {
  -webkit-box-ordinal-group: 12 !important;
      -ms-flex-order: 11 !important;
          order: 11 !important;
}

.order-12 {
  -webkit-box-ordinal-group: 13 !important;
      -ms-flex-order: 12 !important;
          order: 12 !important;
}

.order-13 {
  -webkit-box-ordinal-group: 14 !important;
      -ms-flex-order: 13 !important;
          order: 13 !important;
}

.order-14 {
  -webkit-box-ordinal-group: 15 !important;
      -ms-flex-order: 14 !important;
          order: 14 !important;
}

.order-15 {
  -webkit-box-ordinal-group: 16 !important;
      -ms-flex-order: 15 !important;
          order: 15 !important;
}

.order-16 {
  -webkit-box-ordinal-group: 17 !important;
      -ms-flex-order: 16 !important;
          order: 16 !important;
}

.order-17 {
  -webkit-box-ordinal-group: 18 !important;
      -ms-flex-order: 17 !important;
          order: 17 !important;
}

.order-18 {
  -webkit-box-ordinal-group: 19 !important;
      -ms-flex-order: 18 !important;
          order: 18 !important;
}

.order-19 {
  -webkit-box-ordinal-group: 20 !important;
      -ms-flex-order: 19 !important;
          order: 19 !important;
}

.order-20 {
  -webkit-box-ordinal-group: 21 !important;
      -ms-flex-order: 20 !important;
          order: 20 !important;
}

/* Mobile to Desktop
**************************/
@media (min-width: 1024px) {
  .order-lg-1 {
    -webkit-box-ordinal-group: 2 !important;
        -ms-flex-order: 1 !important;
            order: 1 !important;
  }
  .order-lg-2 {
    -webkit-box-ordinal-group: 3 !important;
        -ms-flex-order: 2 !important;
            order: 2 !important;
  }
  .order-lg-3 {
    -webkit-box-ordinal-group: 4 !important;
        -ms-flex-order: 3 !important;
            order: 3 !important;
  }
  .order-lg-4 {
    -webkit-box-ordinal-group: 5 !important;
        -ms-flex-order: 4 !important;
            order: 4 !important;
  }
  .order-lg-5 {
    -webkit-box-ordinal-group: 6 !important;
        -ms-flex-order: 5 !important;
            order: 5 !important;
  }
  .order-lg-6 {
    -webkit-box-ordinal-group: 7 !important;
        -ms-flex-order: 6 !important;
            order: 6 !important;
  }
  .order-lg-7 {
    -webkit-box-ordinal-group: 8 !important;
        -ms-flex-order: 7 !important;
            order: 7 !important;
  }
  .order-lg-8 {
    -webkit-box-ordinal-group: 9 !important;
        -ms-flex-order: 8 !important;
            order: 8 !important;
  }
  .order-lg-9 {
    -webkit-box-ordinal-group: 10 !important;
        -ms-flex-order: 9 !important;
            order: 9 !important;
  }
  .order-lg-10 {
    -webkit-box-ordinal-group: 11 !important;
        -ms-flex-order: 10 !important;
            order: 10 !important;
  }
  .order-lg-11 {
    -webkit-box-ordinal-group: 12 !important;
        -ms-flex-order: 11 !important;
            order: 11 !important;
  }
  .order-lg-12 {
    -webkit-box-ordinal-group: 13 !important;
        -ms-flex-order: 12 !important;
            order: 12 !important;
  }
  .order-lg-13 {
    -webkit-box-ordinal-group: 14 !important;
        -ms-flex-order: 13 !important;
            order: 13 !important;
  }
  .order-lg-14 {
    -webkit-box-ordinal-group: 15 !important;
        -ms-flex-order: 14 !important;
            order: 14 !important;
  }
  .order-lg-15 {
    -webkit-box-ordinal-group: 16 !important;
        -ms-flex-order: 15 !important;
            order: 15 !important;
  }
  .order-lg-16 {
    -webkit-box-ordinal-group: 17 !important;
        -ms-flex-order: 16 !important;
            order: 16 !important;
  }
  .order-lg-17 {
    -webkit-box-ordinal-group: 18 !important;
        -ms-flex-order: 17 !important;
            order: 17 !important;
  }
  .order-lg-18 {
    -webkit-box-ordinal-group: 19 !important;
        -ms-flex-order: 18 !important;
            order: 18 !important;
  }
  .order-lg-19 {
    -webkit-box-ordinal-group: 20 !important;
        -ms-flex-order: 19 !important;
            order: 19 !important;
  }
  .order-lg-20 {
    -webkit-box-ordinal-group: 21 !important;
        -ms-flex-order: 20 !important;
            order: 20 !important;
  }
}

/* Desktop to Mobile
**************************/
@media (max-width: 1536px) {
  .text-large {
    font-size: 24px;
  }
}

@media (max-width: 1023px) {
  .text-large {
    font-size: 21px;
  }
}

.circle_list {
  list-style-type: none;
  margin: 0 0 25px 30px;
  padding: 0;
  text-align: left;
}

.circle_list li {
  position: relative;
  padding-left: 30px;
  margin-bottom: 15px;
}

.circle_list li:before {
  content: '';
  display: block;
  width: 15px;
  height: 15px;
  background: #991B1E;
  border-radius: 15px;
  position: absolute;
  top: 5px;
  left: 0;
  -webkit-box-shadow: 0 0 0px 1px #C4C4C4;
          box-shadow: 0 0 0px 1px #C4C4C4;
  border: 3px solid #fff;
}

@media (max-width: 767px) {
  .circle_list {
    margin-left: 10px;
  }
}

.wbg {
  background: url(../img/bg-logo.png) no-repeat center/100% 100%;
  width: 564px;
  margin: 0 auto 30px;
  padding: 15px 7% 10px;
  max-width: 100%;
}

.wbg img {
  width: 100%;
}

.wbg.skew span {
  display: block;
  -webkit-transform: skewY(-6deg);
          transform: skewY(-6deg);
  overflow: hidden;
  margin: 15px 0;
}

.wbg.skew span img {
  -webkit-transform: skewY(6deg);
          transform: skewY(6deg);
  margin: -5.5% 0;
}

.wbg.skewx {
  background-image: url(../img/bg-logo2.png);
  padding: 7% 10px;
}

@media (min-width: 1024px) {
  .scroll-offset {
    display: block;
    padding-top: 90px;
    margin-top: -90px;
  }
}

@-webkit-keyframes heartBeat {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  14% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }
  28% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  42% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }
  70% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes heartBeat {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  14% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }
  28% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  42% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }
  70% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@-webkit-keyframes headerIn {
  from {
    top: -100%;
  }
  to {
    top: 0;
  }
}

@keyframes headerIn {
  from {
    top: -100%;
  }
  to {
    top: 0;
  }
}

@-webkit-keyframes formIn {
  from {
    top: -100%;
  }
  to {
    top: 140px;
  }
}

@keyframes formIn {
  from {
    top: -100%;
  }
  to {
    top: 140px;
  }
}

.header .topbar {
  background-color: #191919;
}

.header .topbar .contact-nav li a {
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  padding: 0.7rem 0;
}

.page-content {
  padding: 80px 0;
}

/*** FOOTER reviews-lander **/
.reviews-lander #footer {
  padding-top: 80px;
  background: url(../img/bg-footer-slc2.jpg) no-repeat center top/cover;
  position: relative;
  z-index: 1;
}

.reviews-lander #footer:before {
  content: "";
  background: rgba(0, 0, 0, 0.5);
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: -1;
}

.reviews-lander #footer .foot_top {
  text-align: center;
}

.reviews-lander #footer .foot_top h2 {
  font-size: 45px;
  font-weight: 800;
  line-height: 1.33;
  color: #fff;
  margin-bottom: 30px;
}

.reviews-lander #footer .foot_middle {
  margin-bottom: 50px;
}

.reviews-lander #footer .foot_middle h3 {
  max-width: 500px;
  text-transform: uppercase;
  color: #fff;
}

.reviews-lander #footer .foot_middle img {
  margin: 40px 0px;
}

.reviews-lander #footer .foot_contact {
  list-style: none;
  margin-left: 0;
}

.reviews-lander #footer .foot_contact li {
  margin-bottom: 18px;
}

.reviews-lander #footer .foot_contact .phone::before {
  display: none;
}

.reviews-lander #footer .foot_contact .phone a {
  font-size: 35px;
  font-weight: 800;
  line-height: 1.34;
  color: #bae4ff;
}

.reviews-lander #footer .foot_contact .address {
  font-size: 18px;
  font-weight: 800;
  line-height: 1.3;
  color: #fff;
}

.reviews-lander #footer .foot_contact .email a {
  font-size: 18px;
  font-weight: 800;
  line-height: 1.44;
  color: #fff;
  text-decoration: underline;
}

.reviews-lander #footer .foot_contact .serial {
  font-size: 18px;
  font-weight: 800;
  color: #bae4ff;
}

.reviews-lander #footer .form_box label {
  color: #fff;
}

.reviews-lander #footer .copyright {
  text-align: center;
  padding: 25px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.reviews-lander #footer .copyright p {
  font-size: 15px;
  font-weight: 400;
  color: #fff;
  margin: 0;
}

.reviews-lander #footer .copyright span {
  font-size: 15px;
  font-weight: 400;
  color: #fff;
}

.reviews-lander #footer .copyright span a {
  text-decoration: underline;
  color: #fff;
}

@media (max-width: 1536px) {
  .reviews-lander #footer {
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media (max-width: 1023px) {
  .reviews-lander #footer .copyright {
    display: block;
  }
}

@media (max-width: 639px) {
  .reviews-lander #footer {
    padding-left: 5px;
    padding-right: 5px;
    padding-top: 40px;
  }
  .reviews-lander #footer .foot_top h2 {
    font-size: 36px;
  }
  .reviews-lander #footer .foot_bottom .f-copyright {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .reviews-lander #footer .foot_bottom .f-copyright p {
    margin-bottom: 10px;
  }
}

#header {
  position: fixed;
  z-index: 999;
  width: 100%;
  z-index: 9998;
  background: #fff;
}

#header.fixed {
  -webkit-box-shadow: 0 1px 5px 1px rgba(0, 0, 0, 0.1);
          box-shadow: 0 1px 5px 1px rgba(0, 0, 0, 0.1);
}

#header.fixed .navbar {
  padding: 10px 0;
}

#header.fixed .navbar .brand img {
  max-height: 60px;
}

#header + * {
  padding-top: 150px;
}

#header .navbar {
  padding: 30px 0;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

#header .navbar .cell:first-child {
  padding-left: 0;
}

#header .navbar .cell:last-child {
  padding-right: 0;
}

#header .navbar .brand {
  max-width: 100%;
  display: inline-block;
}

#header .navbar .brand img {
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  max-height: 90px;
  width: auto;
}

#header .navbar .header-phone {
  font-size: 30px;
  color: #3C3C3C;
}

#header .navbar .header-phone .phone:before {
  margin-right: 0px;
}

#header .navbar .header-nav {
  position: relative;
}

#header .navbar .header-nav ul.menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: wrap;
      flex-flow: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

#header .navbar .header-nav ul.menu ul {
  position: absolute;
}

#header .navbar .header-nav ul.menu li a {
  color: #3C3C3C;
  font-size: 16px;
  font-weight: 400;
  padding: 10px 15px;
  display: block;
}

#header .navbar .header-nav ul.menu li a:focus, #header .navbar .header-nav ul.menu li a:hover {
  color: #6e6e6e;
}

#header .navbar .header-nav ul.menu li.is-active a {
  background-color: transparent;
}

#header .navbar .header-nav ul.menu li .submenu {
  top: 45px;
  left: 0;
  margin-left: 0;
  border-top: 5px solid #A6070C;
  max-height: 500px;
  overflow: visible auto;
  width: 290px;
}

#header .navbar .header-nav ul.menu li .submenu > li {
  margin-left: 0px;
}

#header .navbar .header-nav ul.menu li .submenu > li > a {
  font-size: 16px;
  color: #707070 !important;
  padding: 20px 30px !important;
  width: 100%;
}

#header .navbar .header-nav ul.menu li .submenu > li > a:hover {
  color: #707070 !important;
}

#header .navbar .header-nav ul.menu li .submenu > li > a > span {
  font-size: 14px;
  font-style: italic;
  display: block;
  line-height: 1.14;
}

#header .navbar .header-nav ul.menu li .submenu > li:hover {
  background-color: #f1f1f1;
  color: #707070 !important;
}

#header .navbar .header-nav ul.menu .cta {
  margin: 0 0 0 5px;
}

#header .navbar .header-nav ul.menu .cta a {
  font-size: 28px;
  font-weight: 700;
  font-family: "Teko", sans-serif;
  color: #fff;
  position: relative;
  padding: 12px 35px 8px;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.238em;
}

#header .navbar .header-nav ul.menu .cta a:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: #991B1E;
  z-index: -1;
  -webkit-transform: skewX(-18deg);
          transform: skewX(-18deg);
}

#header .navbar .header-nav ul.menu .cta a:hover {
  color: #fff;
}

#header .navbar .header-nav ul.menu .cta a:hover:before {
  background: rgba(166, 7, 12, 0.8);
}

#header .navbar .header-nav-toggler {
  display: none;
  width: 50px;
  margin: 0 auto 0 0;
  padding: 10px;
}

#header .navbar .header-nav-toggler span {
  display: block;
  border-bottom: 3px solid #3C3C3C;
  padding: 0;
  margin-bottom: 5px;
  -webkit-transition: 0.3s ease all;
  transition: 0.3s ease all;
}

#header .navbar .header-nav-toggler span:last-child {
  width: calc(100% - 10px);
}

#header .navbar .header-nav-toggler:hover span {
  width: 100%;
  border-bottom-color: #3C3C3C;
}

@media (max-width: 1410px) {
  #header + * {
    padding-top: 120px;
  }
  #header .navbar .brand img {
    max-height: 60px;
  }
  #header .navbar .header-nav ul.menu .cta a {
    font-size: 24px;
    padding: 12px 25px 8px;
  }
}

@media (max-width: 1200px) {
  #header .navbar .header-nav {
    margin: 0 0 0 10px;
  }
  #header .navbar .header-nav ul.menu li a {
    font-size: 14px;
    padding: 10px;
  }
  #header .navbar .header-nav ul.menu .cta a {
    font-size: 18px;
    padding: 12px 20px 8px;
  }
}

@media (max-width: 1023px) {
  #header {
    background-color: #fff !important;
    position: fixed;
  }
  #header + * {
    padding-top: 80px;
  }
  #header .navbar {
    padding: 10px 0;
  }
  #header .navbar .brand {
    display: block;
    text-align: center;
  }
  #header .navbar .brand.light {
    display: none;
  }
  #header .navbar .brand.dark {
    display: inline-block;
  }
  #header .navbar .brand img {
    max-height: 60px;
  }
  #header .navbar .header-nav {
    display: none;
  }
  #header .navbar .header-nav-toggler {
    display: block;
  }
  #header #header-nav-mobile {
    width: 100%;
    left: 0 !important;
    top: 80px !important;
    border: 0;
    padding: 0;
    height: calc(100vh - 80px);
  }
  #header #header-nav-mobile.fixed {
    position: fixed;
  }
  #header #header-nav-mobile .mobile-menu-wrap {
    margin: 0;
    text-align: center;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    overflow-y: auto;
    border-top: 2px solid #3C3C3C;
  }
  #header #header-nav-mobile .mobile-menu-wrap .h-links {
    margin-left: 0;
    margin-top: 50px;
    margin-bottom: 50px;
  }
  #header #header-nav-mobile .mobile-menu-wrap .h-links li {
    margin-bottom: 22px;
    list-style: none;
  }
  #header #header-nav-mobile .mobile-menu-wrap .h-links li a {
    font-size: 18px;
    font-weight: 700;
    color: #3C3C3C;
    text-transform: uppercase;
  }
  #header #header-nav-mobile .mobile-menu-wrap .h-links li a:hover {
    color: #3C3C3C;
  }
  #header #header-nav-mobile .mobile-menu-wrap .h-links .button {
    padding-top: 15px;
    margin: 0 15px;
    font-size: 24px;
    color: #fff;
  }
  #header #header-nav-mobile .mobile-menu-wrap .h-lower-wrap .h-contact {
    list-style: none;
    margin-left: 0;
    margin-bottom: 50px;
  }
  #header #header-nav-mobile .mobile-menu-wrap .h-lower-wrap .h-contact .mm-phone {
    margin-bottom: 12px;
  }
  #header #header-nav-mobile .mobile-menu-wrap .h-lower-wrap .h-contact .mm-phone a {
    font-size: 20px;
    font-weight: 800;
    color: #991B1E;
  }
  #header #header-nav-mobile .mobile-menu-wrap .h-lower-wrap .h-contact .mm-address {
    font-size: 14px;
    font-weight: 800;
    margin-bottom: 12px;
    color: #3C3C3C;
    padding: 0px 10px;
  }
  #header #header-nav-mobile .mobile-menu-wrap .h-lower-wrap .h-contact .mm-email {
    margin-bottom: 12px;
  }
  #header #header-nav-mobile .mobile-menu-wrap .h-lower-wrap .h-contact .mm-email a {
    font-size: 18px;
    font-weight: 800;
    color: #3C3C3C;
    text-decoration: underline;
  }
  #header #header-nav-mobile .mobile-menu-wrap .h-lower-wrap .h-contact .mm-serial {
    font-size: 18px;
    font-weight: 800;
    color: #3C3C3C;
  }
  #header #header-nav-mobile .mobile-menu-wrap .h-lower-wrap .h-bottom-link.cta {
    background-color: #991B1E;
    padding: 18px 35px;
    width: 100%;
  }
  #header #header-nav-mobile .mobile-menu-wrap .h-lower-wrap .h-bottom-link.cta a {
    color: #fff;
    text-transform: uppercase;
    font-size: 18px;
    font-weight: 700;
  }
}

@media (max-width: 639px) {
  #header .grid-container {
    padding-left: 10px;
    padding-right: 10px;
  }
  #header .navbar .brand {
    padding: 5px 15px;
  }
}

.sec_hero {
  position: relative;
}

.sec_hero .banner {
  position: relative;
  z-index: 1;
  padding-bottom: 25px;
}

.sec_hero .media {
  position: absolute;
  right: 0;
  top: 0;
  height: calc(100% - 25px);
  width: 46%;
  z-index: 1;
  overflow: hidden;
}

.sec_hero .media > img, .sec_hero .media video, .sec_hero .media .hero_img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top;
     object-position: top;
}

.sec_hero .media .btn_play {
  position: absolute;
  right: 30px;
  bottom: 20px;
}

.sec_hero .caption {
  padding: 130px 0 100px calc((100vw - 1410px) / 2);
  width: 58.33333%;
  position: relative;
  z-index: 2;
  color: #fff;
}

.sec_hero .caption:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: -110px;
  bottom: -25px;
  background: #991B1E;
  -webkit-transform: skewX(-18deg);
          transform: skewX(-18deg);
  -webkit-transform-origin: top;
          transform-origin: top;
}

.sec_hero .caption h1 {
  font-size: 100px;
  line-height: 1;
  margin: 0;
}

.sec_hero .caption h4 {
  font-size: 60px;
  line-height: 1;
  font-weight: 300;
}

.sec_hero .features {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: wrap;
      flex-flow: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 70px 0;
}

.sec_hero .features .item {
  width: 220px;
  max-width: 100%;
  margin: 0 30px 30px;
  text-align: center;
}

.sec_hero .features .item figure {
  min-height: 105px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 20px;
}

.sec_hero .features .item h3 {
  font-size: 40px;
}

@media (max-width: 1410px) {
  .sec_hero .caption {
    padding-left: 30px;
  }
  .sec_hero .caption h1 {
    font-size: 85px;
  }
  .sec_hero .caption h4 {
    font-size: 45px;
  }
}

@media (max-width: 1023px) {
  .sec_hero .caption {
    padding-left: 30px;
  }
  .sec_hero .caption h1 {
    font-size: 60px;
  }
  .sec_hero .caption h4 {
    font-size: 35px;
  }
  .sec_hero .features {
    padding-bottom: 0;
  }
  .sec_hero .features .item {
    width: 180px;
  }
  .sec_hero .features .item h3 {
    font-size: 32px;
  }
}

@media (max-width: 767px) {
  .sec_hero .media {
    position: relative;
    width: auto;
    height: 320px;
  }
  .sec_hero .media .btn_play {
    right: 20px;
    width: 70px;
  }
  .sec_hero .caption {
    padding: 35px 30px 0;
    margin: -10px 0 0;
    width: auto;
    text-align: center;
  }
  .sec_hero .caption:before {
    bottom: -15px;
    right: 0;
    -webkit-transform: none;
            transform: none;
  }
  .sec_hero .caption h1 {
    font-size: 45px;
  }
  .sec_hero .caption h4 {
    font-size: 25px;
  }
}

.sec_services {
  position: relative;
  z-index: 1;
  padding: 250px 0 0;
  text-align: center;
}

.sec_services h2 {
  font-size: 120px;
  line-height: 1;
}

.sec_services h2 span {
  display: inline-block;
}

.sec_services h3 {
  font-size: 60px;
}

.sec_services .bg {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: -1;
  text-align: center;
}

.sec_services .service_head {
  color: #fff;
  max-width: 1200px;
  margin: 0 auto;
}

.sec_services .service_items {
  position: relative;
}

.sec_services .service_box {
  display: block;
  background: #A6070C;
  color: #fff;
  padding: 40px 20px;
  text-align: center;
  margin-bottom: 30px;
}

.sec_services .service_box > *:last-child {
  margin-bottom: 0;
}

.sec_services .service_box figure {
  min-height: 60px;
  margin-bottom: 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.sec_services .service_box h4 {
  font-size: 20px;
}

@media (max-width: 1600px) {
  .sec_services {
    padding-top: 12%;
  }
  .sec_services h2 {
    font-size: 100px;
  }
}

@media (max-width: 1366px) {
  .sec_services h2 {
    font-size: 80px;
  }
  .sec_services h3 {
    font-size: 45px;
  }
}

@media (max-width: 1023px) {
  .sec_services h2 {
    font-size: 55px;
  }
  .sec_services h3 {
    font-size: 35px;
  }
}

@media (max-width: 767px) {
  .sec_services h2 {
    font-size: 42px;
  }
  .sec_services .bg {
    position: relative;
  }
  .sec_services .service_head {
    color: #3C3C3C;
  }
}

.sec_about {
  position: relative;
  padding: 90px 0;
}

.sec_about .bordered {
  padding: 40px 50px;
  border: 3px solid #C4C4C4;
  font-size: 34px;
  font-weight: bold;
  line-height: 1.4;
  color: #991B1E;
}

.sec_about .bordered a, .sec_about .bordered span {
  color: #3C3C3C;
}

@media (max-width: 1023px) {
  .sec_about {
    padding: 50px 0;
  }
  .sec_about .bordered {
    padding: 30px;
    font-size: 24px;
  }
}

@media (max-width: 639px) {
  .sec_about .bordered {
    padding: 20px;
    font-size: 20px;
  }
  .sec_about .copy {
    text-align: center;
  }
}

.sec_pricing {
  position: relative;
  padding: 280px 0 200px;
  z-index: 1;
}

.sec_pricing .bg {
  position: absolute;
  z-index: -1;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  overflow: hidden;
}

.sec_pricing .bg img {
  width: 100%;
}

.sec_pricing .pricing_box {
  position: relative;
  background: #991B1E;
  color: #fff;
  padding: 50px;
  min-height: 480px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: wrap;
      flex-flow: wrap;
  -ms-flex-line-pack: center;
      align-content: center;
  text-align: center;
  font-size: 30px;
  margin-bottom: 30px;
}

.sec_pricing .pricing_box:before {
  content: "";
  border: 1px solid #C4C4C4;
  position: absolute;
  left: 25px;
  right: 25px;
  top: 25px;
  bottom: 25px;
}

.sec_pricing .pricing_box > * {
  width: 100%;
  position: relative;
}

.sec_pricing .pricing_box > *:last-child {
  margin-bottom: 0;
}

.sec_pricing .pricing_box h3 {
  font-size: 60px;
  margin-bottom: 5px;
}

.sec_pricing .pricing_box p {
  max-width: 390px;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 1366px) {
  .sec_pricing {
    padding-top: 0;
    padding-bottom: 50px;
  }
  .sec_pricing .bg {
    position: relative;
  }
  .sec_pricing .pricing_box {
    font-size: 24px;
    min-height: 390px;
  }
  .sec_pricing .pricing_box h3 {
    font-size: 50px;
    line-height: 1;
  }
}

@media (max-width: 369px) {
  .sec_pricing .pricing_box {
    padding: 50px 30px;
    font-size: 30px;
    min-height: 300px;
  }
  .sec_pricing .pricing_box:before {
    left: 15px;
    top: 15px;
    right: 15px;
    bottom: 15px;
  }
}

.sec_excellence {
  position: relative;
  background: #fff url(../img/bg-excellence.jpg) no-repeat center/100%;
  padding: 160px 0;
  text-align: center;
}

.sec_excellence h2 {
  margin-bottom: 5px;
}

.sec_excellence .excel_box {
  background: #fff;
  -webkit-box-shadow: 0px 4px 14px 10px rgba(0, 0, 0, 0.06);
          box-shadow: 0px 4px 14px 10px rgba(0, 0, 0, 0.06);
  min-height: 335px;
  text-align: center;
  margin-bottom: 30px;
  padding: 50px 30px;
}

.sec_excellence .excel_box figure {
  min-height: 130px;
  margin-bottom: 20px;
}

.sec_excellence .excel_box h3 {
  font-size: 34px;
  color: #991B1E;
  margin: 0 auto;
  max-width: 290px;
}

@media (max-width: 1280px) {
  .sec_excellence .excel_box {
    min-height: 300px;
    padding: 40px 30px;
  }
  .sec_excellence .excel_box h3 {
    font-size: 24px;
  }
}

@media (max-width: 1023px) {
  .sec_excellence {
    padding: 60px 0 100px;
  }
}

@media (max-width: 767px) {
  .sec_excellence .excel_box {
    padding: 35px 20px;
    min-height: 1px;
  }
  .sec_excellence .excel_box h3 {
    font-size: 30px;
  }
}

.sec_reviews {
  position: relative;
  margin: -60px 0 60px;
}

.sec_reviews .quote {
  font-size: 16px;
  padding: 0;
  border: 0;
  margin-bottom: 30px;
  max-width: 530px;
  color: #3C3C3C;
}

.sec_reviews .quote p {
  color: #3C3C3C;
}

.sec_reviews .quote cite {
  border: 0;
  position: relative;
  padding: 0 0 0 45px;
  font-size: 13px;
  font-weight: 600;
  font-style: normal;
  display: inline-block;
  text-align: left;
  color: #3C3C3C;
}

.sec_reviews .quote cite::before {
  content: "";
}

.sec_reviews .quote cite span {
  position: absolute;
  width: 35px;
  left: 0;
  top: 5px;
}

.sec_reviews .quote cite img {
  display: block;
}

.sec_reviews .quote cite small {
  font-size: 10px;
}

@media (max-width: 1023px) {
  .sec_reviews {
    margin-bottom: 0;
    text-align: center;
  }
  .sec_reviews h2 {
    text-align: center;
  }
  .sec_reviews .quote {
    max-width: none;
  }
}

.sec_cta {
  position: relative;
  z-index: 1;
  padding: 160px 0 100px;
}

.sec_cta .bg {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: -1;
}

.sec_cta .bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.sec_cta .cta_box {
  position: relative;
  background: #991B1E;
  color: #fff;
  padding: 50px 60px;
  min-height: 480px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: wrap;
      flex-flow: wrap;
  -ms-flex-line-pack: center;
      align-content: center;
  text-align: center;
  font-size: 27px;
  margin-bottom: 30px;
}

.sec_cta .cta_box:before {
  content: "";
  border: 1px solid #C4C4C4;
  position: absolute;
  left: 25px;
  right: 25px;
  top: 25px;
  bottom: 25px;
}

.sec_cta .cta_box > * {
  width: 100%;
  position: relative;
}

.sec_cta .cta_box > *:last-child {
  margin-bottom: 0;
}

.sec_cta .cta_box a {
  color: #fff;
}

.sec_cta .cta_box h3 {
  font-size: 60px;
  margin-bottom: 15px;
}

@media (max-width: 1023px) {
  .sec_cta {
    padding-bottom: 20px;
  }
}

@media (max-width: 639px) {
  .sec_cta {
    padding-bottom: 0;
  }
  .sec_cta .cta_box {
    padding: 50px 30px;
    font-size: 20px;
    min-height: 1px;
  }
  .sec_cta .cta_box:before {
    left: 15px;
    right: 15px;
    top: 15px;
    bottom: 15px;
  }
  .sec_cta .cta_box h3 {
    font-size: 40px;
  }
}

.sec_location {
  position: relative;
  text-align: center;
  padding: 100px 0;
}

@media (max-width: 1023px) {
  .sec_location {
    padding: 60px 0;
  }
}

.sec_financing {
  position: relative;
  padding: 0 0 100px;
}

@media (max-width: 1023px) {
  .sec_financing {
    padding: 0;
  }
}

.sec_whyus {
  position: relative;
  padding: 120px 0 220px;
  background: #fff url(../img/bg-excellence.jpg) no-repeat center/100%;
  text-align: center;
}

.sec_whyus .whyus_box {
  background: #fff;
  -webkit-box-shadow: 0px 4px 14px 10px rgba(0, 0, 0, 0.06);
          box-shadow: 0px 4px 14px 10px rgba(0, 0, 0, 0.06);
  min-height: 335px;
  text-align: center;
  margin-bottom: 30px;
  padding: 50px 30px;
}

.sec_whyus .whyus_box figure {
  min-height: 130px;
  margin-bottom: 20px;
}

.sec_whyus .whyus_box h3 {
  font-size: 34px;
  color: #991B1E;
  margin: 0 auto;
  max-width: 300px;
}

@media (max-width: 1366px) {
  .sec_whyus .whyus_box {
    min-height: 300px;
    padding: 40px 20px;
  }
  .sec_whyus .whyus_box h3 {
    font-size: 24px;
  }
}

@media (max-width: 1023px) {
  .sec_whyus {
    padding: 0 0 100px;
  }
}

@media (max-width: 767px) {
  .sec_whyus {
    padding: 0 0 60px;
  }
  .sec_whyus .whyus_box {
    min-height: 1px;
  }
  .sec_whyus .whyus_box figure {
    min-height: 1px;
  }
}

.sec_aircon {
  position: relative;
  padding: 0 0 100px;
}

.sec_aircon .sidenav {
  background: #fff;
  border: 1px solid #C4C4C4;
  -webkit-box-shadow: 0px 4px 14px 10px rgba(0, 0, 0, 0.06);
          box-shadow: 0px 4px 14px 10px rgba(0, 0, 0, 0.06);
  padding: 20px 20px 10px;
  margin: 0 40px 0 0;
}

.sec_aircon .sidenav h3 {
  margin: 0 0 10px;
}

.sec_aircon .sidenav ul {
  margin: 0;
  padding: 0 10px;
}

.sec_aircon .sidenav ul li {
  list-style: none;
  float: none;
  position: relative;
}

.sec_aircon .sidenav ul li + li {
  border-top: 1px solid #C4C4C4;
}

.sec_aircon .sidenav ul li a {
  color: #991B1E;
  font-size: 18px;
  display: block;
  padding: 15px 10px;
  position: relative;
  z-index: 2;
}

.sec_aircon .sidenav ul li a:hover, .sec_aircon .sidenav ul li a:focus {
  background: none;
}

.sec_aircon .sidenav ul li.is-active:before {
  content: "";
  position: absolute;
  left: -30px;
  right: -30px;
  top: -1px;
  bottom: -1px;
  background: #991B1E;
  z-index: 1;
}

.sec_aircon .sidenav ul li.is-active a {
  background: none;
  color: #fff;
}

.sec_aircon .copy {
  position: relative;
}

.sec_aircon .copy h2 {
  color: #991B1E;
  text-transform: uppercase;
}

.sec_aircon .tabs-content {
  border: 0;
  background: none;
  color: #3C3C3C;
}

.sec_aircon .tabs-panel {
  padding: 0;
}

@media (max-width: 1023px) {
  .sec_aircon .sidenav {
    margin: 0 0 30px;
  }
}

@media (max-width: 767px) {
  .sec_aircon {
    padding: 0 0 60px;
  }
}

.sec_contact {
  position: relative;
  z-index: 1;
  padding: 200px 0 30px;
  background: #fbfbfb;
}

.sec_contact hgroup {
  max-width: 590px;
  margin: 0 auto 50px;
}

.sec_contact hgroup a {
  color: #3C3C3C;
}

.sec_contact hgroup a:hover {
  color: #991B1E;
}

.sec_contact .bg {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: -1;
  overflow: hidden;
}

.sec_contact .bg img {
  width: 100%;
}

.sec_contact .form_box {
  width: auto;
}

.sec_contact .form_box div.gform_fields {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: wrap;
      flex-flow: wrap;
  margin: 0 -15px;
  grid-column-gap: 0;
  grid-row-gap: 0;
  width: auto;
}

.sec_contact .form_box div.gform_fields .gfield {
  width: 100%;
  padding: 0 15px;
  margin-bottom: 30px;
}

.sec_contact .form_box div.gform_fields .gfield.ghalf {
  width: 50%;
}

.sec_contact .form_box div.gform_fields .gfield .textarea {
  height: 145px;
}


.sec_contact .form_box .gform_footer {
  text-align: center;
}

@media (max-width: 767px) {
  .sec_contact {
    padding: 100px 0 30px;
  }
  .sec_contact hgroup {
    margin-bottom: 30px;
  }
}

@media (max-width: 639px) {
  .sec_contact .form_box div.gform_fields .gfield.ghalf {
    width: 100%;
  }
}

.sec_model {
  position: relative;
  padding: 50px 0 100px;
}

.sec_model h2 {
  margin: 0;
}

.sticky_cta {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  background: #000;
  padding: 10px 15px;
  z-index: 999;
}

.sticky_cta .button {
  margin: 0;
  line-height: 28px;
  padding: 10px 40px;
  letter-spacing: 2px;
  font-weight: 800;
  font-family: "Lato", sans-serif;
}

.sticky_cta .button:before {
  -webkit-transform: none;
          transform: none;
  border-radius: 5px;
}

@media (max-width: 639px) {
  .sticky_cta .button {
    padding: 8px 20px;
    font-size: 18px;
  }
}

#footer {
  position: relative;
  z-index: 1;
  padding: 0 0 50px;
}

#footer .foot_top {
  padding: 100px 0 50px;
}

#footer .foot_top h2 {
  font-size: 45px;
  font-weight: 800;
  line-height: 1.33;
  color: #fff;
  margin-bottom: 30px;
}

#footer .foot_top h5 {
  font-size: 20px;
}

#footer .foot_links {
  margin-bottom: 30px;
}

#footer .foot_links ul {
  margin: 0;
  padding: 0;
}

#footer .foot_links ul li {
  list-style: none;
}

#footer .foot_social ul {
  margin: 50px -3px;
  padding: 0;
}

#footer .foot_social ul li {
  list-style: none;
  display: inline-block;
  margin: 0 3px;
}

#footer .foot_logo {
  padding-right: 20px;
}

#footer .foot_phone {
  padding: 10px 0 0;
  color: #991B1E;
  font-size: 40px;
  font-family: "Teko", sans-serif;
  letter-spacing: 9px;
  font-weight: bold;
  margin-bottom: 30px;
}

#footer .foot_bottom {
  background: #000;
  padding: 35px 0;
}

#footer .copyright {
  font-size: 16px;
  color: #fff;
}

#footer .copyright a {
  color: #fff;
}

#footer .copyright span {
  display: inline-block;
}

@media (max-width: 1366px) {
  #footer .foot_phone {
    font-size: 30px;
  }
}

@media (max-width: 1023px) {
  #footer .foot_top {
    padding-top: 60px;
  }
  #footer .foot_logo {
    text-align: center;
  }
  #footer .foot_phone {
    text-align: center;
  }
  #footer .foot_social ul {
    margin: 0;
  }
  #footer .foot_bottom {
    text-align: center;
  }
}

@media (max-width: 767px) {
  #footer {
    text-align: center;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9jb21wb25lbnRzL19yZXZlYWwuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvdmVuZG9yL25vcm1hbGl6ZS5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9fZ2xvYmFsLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL3V0aWwvX3VuaXQuc2NzcyIsImJhc2UvX3ZhcmlhYmxlcy5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy91dGlsL19taXhpbnMuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvZm9ybXMvX3RleHQuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvZm9ybXMvX2NoZWNrYm94LnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL2Zvcm1zL19sYWJlbC5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9mb3Jtcy9faGVscC10ZXh0LnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9mb3Jtcy9fZmllbGRzZXQuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvZm9ybXMvX3NlbGVjdC5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy90eXBvZ3JhcGh5L19oZWxwZXJzLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL3R5cG9ncmFwaHkvX2FsaWdubWVudC5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy90eXBvZ3JhcGh5L19wcmludC5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL3h5LWdyaWQvX2d1dHRlcnMuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MveHktZ3JpZC9fZ3JpZC5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy94eS1ncmlkL19jZWxsLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL3h5LWdyaWQvX2xheW91dC5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy94eS1ncmlkL19wb3NpdGlvbi5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy94eS1ncmlkL19mcmFtZS5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLWdyb3VwLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL2NvbXBvbmVudHMvX2Nsb3NlLWJ1dHRvbi5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9jb21wb25lbnRzL19sYWJlbC5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9jb21wb25lbnRzL19wcm9ncmVzcy1iYXIuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvZm9ybXMvX3Byb2dyZXNzLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL2NvbXBvbmVudHMvX3NsaWRlci5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9mb3Jtcy9fcmFuZ2Uuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvY29tcG9uZW50cy9fc3dpdGNoLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL2NvbXBvbmVudHMvX3RhYmxlLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL3V0aWwvX2NvbG9yLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL2NvbXBvbmVudHMvX2JhZGdlLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL2NvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL2NvbXBvbmVudHMvX2NhbGxvdXQuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvY29tcG9uZW50cy9fY2FyZC5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9jb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL2NvbXBvbmVudHMvX3Rvb2x0aXAuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL2NvbXBvbmVudHMvX21lZGlhLW9iamVjdC5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9jb21wb25lbnRzL19vcmJpdC5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9jb21wb25lbnRzL19yZXNwb25zaXZlLWVtYmVkLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL3V0aWwvX21hdGguc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvY29tcG9uZW50cy9fdGFicy5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9jb21wb25lbnRzL190aHVtYm5haWwuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvY29tcG9uZW50cy9fbWVudS5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9jb21wb25lbnRzL19tZW51LWljb24uc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLW1lbnUuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvY29tcG9uZW50cy9fZHJpbGxkb3duLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL2NvbXBvbmVudHMvX2Ryb3Bkb3duLW1lbnUuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9jb21wb25lbnRzL19zdGlja3kuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvY29tcG9uZW50cy9fdGl0bGUtYmFyLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL2NvbXBvbmVudHMvX3RvcC1iYXIuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvY29tcG9uZW50cy9fZmxvYXQuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvY29tcG9uZW50cy9fZmxleC5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy91dGlsL19mbGV4LnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvcHJvdG90eXBlL190ZXh0LXV0aWxpdGllcy5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9wcm90b3R5cGUvX3RleHQtdHJhbnNmb3JtYXRpb24uc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvcHJvdG90eXBlL190ZXh0LWRlY29yYXRpb24uc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvcHJvdG90eXBlL19mb250LXN0eWxpbmcuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvcHJvdG90eXBlL19saXN0LXN0eWxlLXR5cGUuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvcHJvdG90eXBlL19yb3VuZGVkLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL3Byb3RvdHlwZS9fYm9yZGVyZWQuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvcHJvdG90eXBlL19zaGFkb3cuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvcHJvdG90eXBlL19hcnJvdy5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9wcm90b3R5cGUvX3NlcGFyYXRvci5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9wcm90b3R5cGUvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL3Byb3RvdHlwZS9fb3ZlcmZsb3cuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvcHJvdG90eXBlL19kaXNwbGF5LnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL3Byb3RvdHlwZS9fYm9yZGVyLWJveC5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9wcm90b3R5cGUvX2JvcmRlci1ub25lLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL3Byb3RvdHlwZS9fc2l6aW5nLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL3Byb3RvdHlwZS9fc3BhY2luZy5zY3NzIiwiYmFzZS9fdHlwb2dyYXBoeS5zY3NzIiwiYmFzZS9fbWl4aW5zLnNjc3MiLCJiYXNlL19mb3JtLnNjc3MiLCJiYXNlL191dGlsaXRpZXMuc2NzcyIsImJhc2UvX2NvbXBvbmVudHMuc2NzcyIsImJhc2UvX2FuaW1hdGlvbnMuc2NzcyIsImN1c3RvbS9fY3VzdG9tLnNjc3MiLCJhcHAuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUNBaEI7Ozs7O0VETUU7QUVnS0k7RUN6SEo7SUFDRSxXQUFXO0lBQ1gsVUFBVTtJQUNWLGNBQWM7RUhwQ2hCO0FBQ0Y7O0FJWkUsMkVBQUE7QUFRQTtFQUNFLGlCQUFpQjtFQUNqQiw4QkFBOEI7QUpRbEM7O0FJQUU7RUFDRSxTQUFTO0FKR2I7O0FJR0U7RUFDRSxjQUFjO0VBQ2QsZ0JBQWdCO0FKQXBCOztBSVNFO0VBQ0UsK0JBQXVCO1VBQXZCLHVCQUF1QjtFQUN2QixTQUFTO0VBQ1QsaUJBQWlCO0FKTnJCOztBSVlFO0VBQ0UsaUNBQWlDO0VBQ2pDLGNBQWM7QUpUbEI7O0FJaUJFO0VBQ0UsNkJBQTZCO0FKZGpDOztBSW9CRTtFQUNFLG1CQUFtQjtFQUNuQiwwQkFBMEI7RUFDMUIseUNBQWlDO1VBQWpDLGlDQUFpQztBSmpCckM7O0FJc0JFOztFQUVFLG1CQUFtQjtBSm5CdkI7O0FJeUJFOzs7RUFHRSxpQ0FBaUM7RUFDakMsY0FBYztBSnRCbEI7O0FJMkJFO0VBQ0UsY0FBYztBSnhCbEI7O0FJOEJFOztFQUVFLGNBQWM7RUFDZCxjQUFjO0VBQ2Qsa0JBQWtCO0VBQ2xCLHdCQUF3QjtBSjNCNUI7O0FJOEJFO0VBQ0UsZUFBZTtBSjNCbkI7O0FJOEJFO0VBQ0UsV0FBVztBSjNCZjs7QUltQ0U7RUFDRSxrQkFBa0I7QUpoQ3RCOztBSXlDRTs7Ozs7RUFLRSxvQkFBb0I7RUFDcEIsZUFBZTtFQUNmLGlCQUFpQjtFQUNqQixT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RVVjckIsY1ZZYTtFR3NHYix3T0FBeU47RU85R3ZOLDhCQUE4QjtFQUM5Qix1Q0FBMEQ7RUFDMUQsNEJBQTRCO0VBQzVCLHdCQUF3QjtFQUV4QixxQkFBdUQ7RUFJdkQsMkVOcUI4RDtFTXJCOUQsbUVOcUI4RDtFTXJCOUQsMkROcUI4RDtFTXJCOUQsb0ZOcUI4RDtBVGdibEU7O0FROVZFO0VId0NBO0lHckNJLHVXQUF1VztFUmdXM1c7QUFDRjs7QWV2Y0U7RUFDRSxhQUFhO0VBQ2IseUJWWGU7RVVZZix5QlZKVztFVUtYLG1DVmpCaUI7VVVpQmpCLDJCVmpCaUI7RVVvQmYsMkVOVTREO0VNVjVELG1FTlU0RDtFTVY1RCwyRE5VNEQ7RU1WNUQsb0ZOVTREO0FUOGJsRTs7QWVuY0U7RUFDRSx5QlY5QmdCO0VVK0JoQixtQk5EK0I7QVR1Y25DOztBZWxjRTtFQUNFLGFBQWE7QWZxY2pCOztBZWxjRTtFQUNFLFlBQVk7RUFDWixzQkFBc0I7QWZxYzFCOztBZ0J0ZUU7RUFDRSxxQlRyQ2lCO0VTc0NqQix5QkFBK0Q7QWhCeWVuRTs7QWdCdmVJO0VBQ0UsY1R6Q2U7QVBtaEJyQjs7QWdCM2VJO0VBQ0UsY1R6Q2U7QVBtaEJyQjs7QWdCM2VJO0VBQ0UsY1R6Q2U7QVBtaEJyQjs7QWdCM2VJO0VBQ0UsY1R6Q2U7QVBtaEJyQjs7QWdCM2VJO0VBQ0UsY1R6Q2U7QVBtaEJyQjs7QWdCaGRJO0VBQ0UsY1RwRWU7QVB1aEJyQjs7QWdCOWNFO0VBekJBLGFBQWE7RUFDYixtQkFBZ0M7RUFDaEMsbUJWOEJ1RDtFVTVCdkQsa0JWNEJ1RDtFVTNCdkQsaUJYMkJ1QjtFVzFCdkIsY1R0RG1CO0FQZ2lCckI7O0FnQnZkRTtFQUlJLGNBQWM7QWhCdWRwQjs7QWlCN1NFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBbUJFLFNBQVM7RUFDVCxVQUFVO0FqQmdUZDs7QWlCNVNFO0VBQ0UsbUJBekswQjtFQTJLMUIsa0JBQWtCO0VBQ2xCLGdCQWhMc0I7RUFpTHRCLGtDQXpLeUM7QWpCdWQ3Qzs7QWlCMVNFOztFQUVFLGtCQUFrQjtFQUNsQixvQkFBb0I7QWpCNlN4Qjs7QWlCelNFOztFQUVFLGlCWmpOcUI7RVlrTnJCLG9CQUFvQjtBakI0U3hCOztBSTlmRTtFYXVORSxjQTVNaUI7RUE2TWpCLG9CQUFvQjtBakIyU3hCOztBaUJ2U0U7Ozs7OztFQU1FLCtCVnpTaUM7RVUwU2pDLGtCQXpSc0I7RUEwUnRCLG1CWnhPeUI7RVl5T3pCLGNBblJrQjtFQW9SbEIsa0NBL05zQztBakJ5Z0IxQzs7QWlCcFRFOzs7Ozs7RUFhSSxjQUFjO0VBQ2QsY1oxUmU7QUwwa0JyQjs7QWlCdlNRO0VBSUksaUJYdlA2QztFV21RN0MsZ0JBN1NXO0VBcVRYLGFBQWE7RUFPYixxQkF4VGlCO0FqQnVrQjdCOztBaUI5U1E7RUFJSSxrQlh2UDZDO0VXbVE3QyxnQkE3U1c7RUFxVFgsYUFBYTtFQU9iLHFCQXhUaUI7QWpCOGtCN0I7O0FpQnJUUTtFQUlJLG9CWHZQNkM7RVdtUTdDLGdCQTdTVztFQXFUWCxhQUFhO0VBT2IscUJBeFRpQjtBakJxbEI3Qjs7QWlCNVRRO0VBSUksbUJYdlA2QztFV21RN0MsZ0JBN1NXO0VBcVRYLGFBQWE7RUFPYixxQkF4VGlCO0FqQjRsQjdCOztBaUJuVVE7RUFJSSxvQlh2UDZDO0VXbVE3QyxnQkE3U1c7RUFxVFgsYUFBYTtFQU9iLHFCQXhUaUI7QWpCbW1CN0I7O0FpQjFVUTtFQUlJLGVYdlA2QztFV21RN0MsZ0JBN1NXO0VBcVRYLGFBQWE7RUFPYixxQkF4VGlCO0FqQjBtQjdCOztBRXRmTTtFZXFLRTtJQUlJLGVYdlA2QztFTnlrQnZEO0VpQnRWTTtJQUlJLGlCWHZQNkM7RU40a0J2RDtFaUJ6Vk07SUFJSSxvQlh2UDZDO0VOK2tCdkQ7RWlCNVZNO0lBSUksb0JYdlA2QztFTmtsQnZEO0VpQi9WTTtJQUlJLGtCWHZQNkM7RU5xbEJ2RDtFaUJsV007SUFJSSxlWHZQNkM7RU53bEJ2RDtBQUNGOztBSXpuQkU7RWEyVEUsb0JBQW9CO0VBQ3BCLGNWL1dtQjtFVWdYbkIscUJBOU55QjtFQWdPekIsZUFBZTtBakJpVW5COztBaUJ0VUU7RUFTSSxjQXhPMkQ7QWpCeWlCakU7O0FpQjFVRTtFQWdCSSxTQUFTO0FqQjhUZjs7QUkzcEJFO0VhbVdFLFdBQVc7RUFFWCxnQlhsVHFEO0VXbVRyRCxTQUFTO0VBQ1Qsb0JBck95QjtFQXVPekIsYUFBYTtFQUNiLGVBQWU7RUFDZixnQ1p4V2lCO0VZeVdqQixjQUFjO0FqQjBUbEI7O0FpQnRURTs7O0VBR0UsbUJBelMwQjtFQTBTMUIsNEJBbE95QjtFQW1PekIsZ0JBL1NzQjtBakJ3bUIxQjs7QWlCclRFO0VBQ0Usa0JBQWtCO0FqQndUdEI7O0FpQnBURTtFQUNFLG9CQXpPc0I7RUEwT3RCLHFCQWxQa0I7QWpCeWlCdEI7O0FpQm5URTtFQUNFLG9CQS9Pc0I7QWpCcWlCMUI7O0FpQmxURTtFQUVJLG9CQWpQMkI7RUFrUDNCLGdCQUFnQjtBakJvVHRCOztBaUIvU0U7RUFDRSxtQkFwUHlCO0FqQnNpQjdCOztBaUJuVEU7RUFJSSxxQkEvTzhCO0VBZ1A5QixpQlpuV21CO0FMc3BCekI7O0FpQjlTRTtFQUNFLGdCQWxWMEI7RUFtVjFCLHNDWDFXcUQ7RVcyV3JELDhCWjNaaUI7QUw0c0JyQjs7QWlCcFRFO0VBTUksZ0JBM1ZvQjtFQTRWcEIsY1ozWmE7QUw2c0JuQjs7QWlCN1NFO0VBQ0UsY0FBYztFQUNkLG9CWHRYcUQ7RVd1WHJELGNabmFlO0FMbXRCbkI7O0FpQm5URTtFQU1JLGFBL09nQjtBakJnaUJ0Qjs7QWlCNVNFO0VBQ0UsaUNaeGFXO0VZeWFYLFlBQVk7RUFDWixxQkFBcUI7QWpCK1N6Qjs7QWlCM1NFO0VBQ0UsU0FBUztBakI4U2I7O0FpQjFTRTtFQUNFLHFDWDVZcUQ7RVc4WXJELHlCWjliaUI7RVkrYmpCLHlCWm5jZ0I7RVlxY2hCLDREQW5jbUU7RUFvY25FLG1CWnRaeUI7RVl1WnpCLGNaM2JXO0FMc3VCZjs7QWlCdlNFO0VBQ0UsU0FBUztFQUNULDJCWHBaUztFV3NaVCx5QlovY2dCO0VZaWRoQiw0REEvY21FO0VBZ2RuRSxjWnRjVztBTDh1QmY7O0FrQi91QkU7RUFDRSxrQkFsQnlC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QnhEOztBcUIzK0JNO0VHSEYsZ0JBRG9EO0F4Qm0vQnhEOztBcUIvK0JNO0VHSEYsVUFEb0Q7QXhCdS9CeEQ7O0FxQm4vQk07RUdIRixnQkFEb0Q7QXhCMi9CeEQ7O0FxQnYvQk07RUdIRixnQkFEb0Q7QXhCKy9CeEQ7O0FxQjMvQk07RUdIRixXQURvRDtBeEJtZ0N4RDs7QUV0N0JNO0VtQjlGQTtJR2pCRixtQkFBYTtRQUFiLGlCQUFhO1lBQWIsYUFBYTtJQTJCYixXQUFtQjtFeEJnaENyQjtFcUJwaENFO0lHcEJBLG1CQUFjO1FBQWQsa0JBQWM7WUFBZCxjQUFjO0V4QjJpQ2hCO0VxQmpoQ0k7SUdFRixXQUFtQjtFeEJraENyQjtFcUIzZ0NJO0lHSEYsZUFEb0Q7RXhCa2hDdEQ7RXFCOWdDSTtJR0hGLGdCQURvRDtFeEJxaEN0RDtFcUJqaENJO0lHSEYsVUFEb0Q7RXhCd2hDdEQ7RXFCcGhDSTtJR0hGLGdCQURvRDtFeEIyaEN0RDtFcUJ2aENJO0lHSEYsZ0JBRG9EO0V4QjhoQ3REO0VxQjFoQ0k7SUdIRixVQURvRDtFeEJpaUN0RDtFcUI3aENJO0lHSEYsZ0JBRG9EO0V4Qm9pQ3REO0VxQmhpQ0k7SUdIRixnQkFEb0Q7RXhCdWlDdEQ7RXFCbmlDSTtJR0hGLFVBRG9EO0V4QjBpQ3REO0VxQnRpQ0k7SUdIRixnQkFEb0Q7RXhCNmlDdEQ7RXFCemlDSTtJR0hGLGdCQURvRDtFeEJnakN0RDtFcUI1aUNJO0lHSEYsV0FEb0Q7RXhCbWpDdEQ7QUFDRjs7QUV2K0JNO0VtQjlGQTtJR2pCRixtQkFBYTtRQUFiLGlCQUFhO1lBQWIsYUFBYTtJQTJCYixXQUFtQjtFeEJpa0NyQjtFcUJya0NFO0lHcEJBLG1CQUFjO1FBQWQsa0JBQWM7WUFBZCxjQUFjO0V4QjRsQ2hCO0VxQmxrQ0k7SUdFRixXQUFtQjtFeEJta0NyQjtFcUI1akNJO0lHSEYsZUFEb0Q7RXhCbWtDdEQ7RXFCL2pDSTtJR0hGLGdCQURvRDtFeEJza0N0RDtFcUJsa0NJO0lHSEYsVUFEb0Q7RXhCeWtDdEQ7RXFCcmtDSTtJR0hGLGdCQURvRDtFeEI0a0N0RDtFcUJ4a0NJO0lHSEYsZ0JBRG9EO0V4QitrQ3REO0VxQjNrQ0k7SUdIRixVQURvRDtFeEJrbEN0RDtFcUI5a0NJO0lHSEYsZ0JBRG9EO0V4QnFsQ3REO0VxQmpsQ0k7SUdIRixnQkFEb0Q7RXhCd2xDdEQ7RXFCcGxDSTtJR0hGLFVBRG9EO0V4QjJsQ3REO0VxQnZsQ0k7SUdIRixnQkFEb0Q7RXhCOGxDdEQ7RXFCMWxDSTtJR0hGLGdCQURvRDtFeEJpbUN0RDtFcUI3bENJO0lHSEYsV0FEb0Q7RXhCb21DdEQ7QUFDRjs7QUVuaENNO0VtQm5HQTtJR2pCRixtQkFBYTtRQUFiLGlCQUFhO1lBQWIsYUFBYTtJQTJCYixXQUFtQjtFeEJrbkNyQjtFcUJ0bkNFO0lHcEJBLG1CQUFjO1FBQWQsa0JBQWM7WUFBZCxjQUFjO0V4QjZvQ2hCO0VxQm5uQ0k7SUdFRixXQUFtQjtFeEJvbkNyQjtFcUI3bUNJO0lHSEYsZUFEb0Q7RXhCb25DdEQ7RXFCaG5DSTtJR0hGLGdCQURvRDtFeEJ1bkN0RDtFcUJubkNJO0lHSEYsVUFEb0Q7RXhCMG5DdEQ7RXFCdG5DSTtJR0hGLGdCQURvRDtFeEI2bkN0RDtFcUJ6bkNJO0lHSEYsZ0JBRG9EO0V4QmdvQ3REO0VxQjVuQ0k7SUdIRixVQURvRDtFeEJtb0N0RDtFcUIvbkNJO0lHSEYsZ0JBRG9EO0V4QnNvQ3REO0VxQmxvQ0k7SUdIRixnQkFEb0Q7RXhCeW9DdEQ7RXFCcm9DSTtJR0hGLFVBRG9EO0V4QjRvQ3REO0VxQnhvQ0k7SUdIRixnQkFEb0Q7RXhCK29DdEQ7RXFCM29DSTtJR0hGLGdCQURvRDtFeEJrcEN0RDtFcUI5b0NJO0lHSEYsV0FEb0Q7RXhCcXBDdEQ7QUFDRjs7QUVwa0NNO0VtQm5HQTtJR2pCRixtQkFBYTtRQUFiLGlCQUFhO1lBQWIsYUFBYTtJQTJCYixXQUFtQjtFeEJtcUNyQjtFcUJ2cUNFO0lHcEJBLG1CQUFjO1FBQWQsa0JBQWM7WUFBZCxjQUFjO0V4QjhyQ2hCO0VxQnBxQ0k7SUdFRixXQUFtQjtFeEJxcUNyQjtFcUI5cENJO0lHSEYsZUFEb0Q7RXhCcXFDdEQ7RXFCanFDSTtJR0hGLGdCQURvRDtFeEJ3cUN0RDtFcUJwcUNJO0lHSEYsVUFEb0Q7RXhCMnFDdEQ7RXFCdnFDSTtJR0hGLGdCQURvRDtFeEI4cUN0RDtFcUIxcUNJO0lHSEYsZ0JBRG9EO0V4QmlyQ3REO0VxQjdxQ0k7SUdIRixVQURvRDtFeEJvckN0RDtFcUJockNJO0lHSEYsZ0JBRG9EO0V4QnVyQ3REO0VxQm5yQ0k7SUdIRixnQkFEb0Q7RXhCMHJDdEQ7RXFCdHJDSTtJR0hGLFVBRG9EO0V4QjZyQ3REO0VxQnpyQ0k7SUdIRixnQkFEb0Q7RXhCZ3NDdEQ7RXFCNXJDSTtJR0hGLGdCQURvRDtFeEJtc0N0RDtFcUIvckNJO0lHSEYsV0FEb0Q7RXhCc3NDdEQ7QUFDRjs7QXFCM3JDRTtFQUNFLFdBQVc7QXJCOHJDZjs7QXFCMXJDRTtFQUNFLFlBQVk7QXJCNnJDaEI7O0FxQi9wQ0U7RUN6R00sc0JBQTZEO0VBQTdELHVCQUE2RDtBdEI2d0NyRTs7QUV2b0NNO0VtQjdCSjtJQ3pHTSx1QkFBNkQ7SUFBN0Qsd0JBQTZEO0V0Qm14Q25FO0FBQ0Y7O0FxQjNxQ0U7RUcxREUsMkJBRDRFO0VGckMxRSxxQkFBNkQ7RUFBN0Qsc0JBQTZEO0F0Qml4Q25FOztBRXBwQ007RW1CN0JKO0lHMURFLDRCQUQ0RTtJRnJDMUUsc0JBQTZEO0lBQTdELHVCQUE2RDtFdEJ3eENqRTtBQUNGOztBcUJqdENFO0VHL0JFLFdBQW1CO0F4Qm92Q3ZCOztBcUJqdENFO0VHL0JFLFdBQW1CO0F4Qm92Q3ZCOztBcUI3c0NJO0VHbkNBLCtCQURnSDtBeEJxdkNwSDs7QXFCanRDSTtFR25DQSxnQ0FEZ0g7QXhCeXZDcEg7O0FxQnJ0Q0k7RUduQ0EsMEJBRGdIO0F4QjZ2Q3BIOztBcUJ6dENJO0VHbkNBLGdDQURnSDtBeEJpd0NwSDs7QXFCN3RDSTtFR25DQSxnQ0FEZ0g7QXhCcXdDcEg7O0FxQmp1Q0k7RUduQ0EsMEJBRGdIO0F4Qnl3Q3BIOztBcUJydUNJO0VHbkNBLGdDQURnSDtBeEI2d0NwSDs7QXFCenVDSTtFR25DQSxnQ0FEZ0g7QXhCaXhDcEg7O0FxQjd1Q0k7RUduQ0EsMEJBRGdIO0F4QnF4Q3BIOztBcUJqdkNJO0VHbkNBLGdDQURnSDtBeEJ5eENwSDs7QXFCcnZDSTtFR25DQSxnQ0FEZ0g7QXhCNnhDcEg7O0FxQnp2Q0k7RUduQ0EsMkJBRGdIO0F4Qml5Q3BIOztBRXB0Q007RW1CckRKO0lHL0JFLFdBQW1CO0V4QjZ5Q3JCO0VxQjF3Q0E7SUcvQkUsV0FBbUI7RXhCNHlDckI7RXFCcndDRTtJR25DQSxnQ0FEZ0g7RXhCNHlDbEg7RXFCeHdDRTtJR25DQSxpQ0FEZ0g7RXhCK3lDbEg7RXFCM3dDRTtJR25DQSwyQkFEZ0g7RXhCa3pDbEg7RXFCOXdDRTtJR25DQSxpQ0FEZ0g7RXhCcXpDbEg7RXFCanhDRTtJR25DQSxpQ0FEZ0g7RXhCd3pDbEg7RXFCcHhDRTtJR25DQSwyQkFEZ0g7RXhCMnpDbEg7RXFCdnhDRTtJR25DQSxpQ0FEZ0g7RXhCOHpDbEg7RXFCMXhDRTtJR25DQSxpQ0FEZ0g7RXhCaTBDbEg7RXFCN3hDRTtJR25DQSwyQkFEZ0g7RXhCbzBDbEg7RXFCaHlDRTtJR25DQSxpQ0FEZ0g7RXhCdTBDbEg7RXFCbnlDRTtJR25DQSxpQ0FEZ0g7RXhCMDBDbEg7RXFCdHlDRTtJR25DQSw0QkFEZ0g7RXhCNjBDbEg7RXFCcnpDQTtJRy9CRSxXQUFtQjtFeEJ1MUNyQjtFcUJwekNBO0lHL0JFLFdBQW1CO0V4QnMxQ3JCO0VxQi95Q0U7SUduQ0EsZ0NBRGdIO0V4QnMxQ2xIO0VxQmx6Q0U7SUduQ0EsaUNBRGdIO0V4QnkxQ2xIO0VxQnJ6Q0U7SUduQ0EsMkJBRGdIO0V4QjQxQ2xIO0VxQnh6Q0U7SUduQ0EsaUNBRGdIO0V4QisxQ2xIO0VxQjN6Q0U7SUduQ0EsaUNBRGdIO0V4QmsyQ2xIO0VxQjl6Q0U7SUduQ0EsMkJBRGdIO0V4QnEyQ2xIO0VxQmowQ0U7SUduQ0EsaUNBRGdIO0V4QncyQ2xIO0VxQnAwQ0U7SUduQ0EsaUNBRGdIO0V4QjIyQ2xIO0VxQnYwQ0U7SUduQ0EsMkJBRGdIO0V4QjgyQ2xIO0VxQjEwQ0U7SUduQ0EsaUNBRGdIO0V4QmkzQ2xIO0VxQjcwQ0U7SUduQ0EsaUNBRGdIO0V4Qm8zQ2xIO0VxQmgxQ0U7SUduQ0EsNEJBRGdIO0V4QnUzQ2xIO0FBQ0Y7O0FFM3lDTTtFbUJyREo7SUcvQkUsV0FBbUI7RXhCbzRDckI7RXFCajJDQTtJRy9CRSxXQUFtQjtFeEJtNENyQjtFcUI1MUNFO0lHbkNBLGdDQURnSDtFeEJtNENsSDtFcUIvMUNFO0lHbkNBLGlDQURnSDtFeEJzNENsSDtFcUJsMkNFO0lHbkNBLDJCQURnSDtFeEJ5NENsSDtFcUJyMkNFO0lHbkNBLGlDQURnSDtFeEI0NENsSDtFcUJ4MkNFO0lHbkNBLGlDQURnSDtFeEIrNENsSDtFcUIzMkNFO0lHbkNBLDJCQURnSDtFeEJrNUNsSDtFcUI5MkNFO0lHbkNBLGlDQURnSDtFeEJxNUNsSDtFcUJqM0NFO0lHbkNBLGlDQURnSDtFeEJ3NUNsSDtFcUJwM0NFO0lHbkNBLDJCQURnSDtFeEIyNUNsSDtFcUJ2M0NFO0lHbkNBLGlDQURnSDtFeEI4NUNsSDtFcUIxM0NFO0lHbkNBLGlDQURnSDtFeEJpNkNsSDtFcUI3M0NFO0lHbkNBLDRCQURnSDtFeEJvNkNsSDtBQUNGOztBRW4xQ007RW1CMURKO0lHL0JFLFdBQW1CO0V4Qmk3Q3JCO0VxQjk0Q0E7SUcvQkUsV0FBbUI7RXhCZzdDckI7RXFCejRDRTtJR25DQSxnQ0FEZ0g7RXhCZzdDbEg7RXFCNTRDRTtJR25DQSxpQ0FEZ0g7RXhCbTdDbEg7RXFCLzRDRTtJR25DQSwyQkFEZ0g7RXhCczdDbEg7RXFCbDVDRTtJR25DQSxpQ0FEZ0g7RXhCeTdDbEg7RXFCcjVDRTtJR25DQSxpQ0FEZ0g7RXhCNDdDbEg7RXFCeDVDRTtJR25DQSwyQkFEZ0g7RXhCKzdDbEg7RXFCMzVDRTtJR25DQSxpQ0FEZ0g7RXhCazhDbEg7RXFCOTVDRTtJR25DQSxpQ0FEZ0g7RXhCcThDbEg7RXFCajZDRTtJR25DQSwyQkFEZ0g7RXhCdzhDbEg7RXFCcDZDRTtJR25DQSxpQ0FEZ0g7RXhCMjhDbEg7RXFCdjZDRTtJR25DQSxpQ0FEZ0g7RXhCODhDbEg7RXFCMTZDRTtJR25DQSw0QkFEZ0g7RXhCaTlDbEg7QUFDRjs7QUVoNENNO0VtQjFESjtJRy9CRSxXQUFtQjtFeEI4OUNyQjtFcUIzN0NBO0lHL0JFLFdBQW1CO0V4QjY5Q3JCO0VxQnQ3Q0U7SUduQ0EsZ0NBRGdIO0V4QjY5Q2xIO0VxQno3Q0U7SUduQ0EsaUNBRGdIO0V4QmcrQ2xIO0VxQjU3Q0U7SUduQ0EsMkJBRGdIO0V4Qm0rQ2xIO0VxQi83Q0U7SUduQ0EsaUNBRGdIO0V4QnMrQ2xIO0VxQmw4Q0U7SUduQ0EsaUNBRGdIO0V4QnkrQ2xIO0VxQnI4Q0U7SUduQ0EsMkJBRGdIO0V4QjQrQ2xIO0VxQng4Q0U7SUduQ0EsaUNBRGdIO0V4QisrQ2xIO0VxQjM4Q0U7SUduQ0EsaUNBRGdIO0V4QmsvQ2xIO0VxQjk4Q0U7SUduQ0EsMkJBRGdIO0V4QnEvQ2xIO0VxQmo5Q0U7SUduQ0EsaUNBRGdIO0V4QncvQ2xIO0VxQnA5Q0U7SUduQ0EsaUNBRGdIO0V4QjIvQ2xIO0VxQnY5Q0U7SUduQ0EsNEJBRGdIO0V4QjgvQ2xIO0FBQ0Y7O0FxQjM2Q0U7RUM3SU0sdUJBQTZEO0VBQTdELHNCQUE2RDtBdEI2akRyRTs7QUV2N0NNO0VtQk9KO0lDN0lNLHdCQUE2RDtJQUE3RCx1QkFBNkQ7RXRCbWtEbkU7QUFDRjs7QXFCOTZDSTtFQ3RKSSx1QkFBNkQ7RUFBN0Qsc0JBQTZEO0F0QnlrRHJFOztBRW44Q007RW1CZ0JGO0lDdEpJLHdCQUE2RDtJQUE3RCx1QkFBNkQ7RXRCK2tEbkU7QUFDRjs7QXFCbjhDRTtFQzdJTSx1QkFBNkQ7RUFBN0Qsc0JBQTZEO0F0QnFsRHJFOztBRS84Q007RW1CT0o7SUM3SU0sd0JBQTZEO0lBQTdELHVCQUE2RDtFdEIybERuRTtBQUNGOztBeUI5bERFO0VENERFLFdBRG9EO0F4QnVpRHhEOztBeUJsbURFO0VENERFLFVBRG9EO0F4QjJpRHhEOztBeUJ0bURFO0VENERFLGdCQURvRDtBeEIraUR4RDs7QXlCMW1ERTtFRDRERSxVQURvRDtBeEJtakR4RDs7QXlCOW1ERTtFRDRERSxVQURvRDtBeEJ1akR4RDs7QXlCbG5ERTtFRDRERSxnQkFEb0Q7QXhCMmpEeEQ7O0F5QnRuREU7RUQ0REUsZ0JBRG9EO0F4QitqRHhEOztBeUIxbkRFO0VENERFLFlBRG9EO0F4Qm1rRHhEOztBRXQvQ007RXVCeElKO0lENERFLFdBRG9EO0V4QndrRHREO0V5Qm5vREE7SUQ0REUsVUFEb0Q7RXhCMmtEdEQ7RXlCdG9EQTtJRDRERSxnQkFEb0Q7RXhCOGtEdEQ7RXlCem9EQTtJRDRERSxVQURvRDtFeEJpbER0RDtFeUI1b0RBO0lENERFLFVBRG9EO0V4Qm9sRHREO0V5Qi9vREE7SUQ0REUsZ0JBRG9EO0V4QnVsRHREO0V5QmxwREE7SUQ0REUsZ0JBRG9EO0V4QjBsRHREO0V5QnJwREE7SUQ0REUsWUFEb0Q7RXhCNmxEdEQ7QUFDRjs7QUVqaERNO0V1QnhJSjtJRDRERSxXQURvRDtFeEJtbUR0RDtFeUI5cERBO0lENERFLFVBRG9EO0V4QnNtRHREO0V5QmpxREE7SUQ0REUsZ0JBRG9EO0V4QnltRHREO0V5QnBxREE7SUQ0REUsVUFEb0Q7RXhCNG1EdEQ7RXlCdnFEQTtJRDRERSxVQURvRDtFeEIrbUR0RDtFeUIxcURBO0lENERFLGdCQURvRDtFeEJrbkR0RDtFeUI3cURBO0lENERFLGdCQURvRDtFeEJxbkR0RDtFeUJockRBO0lENERFLFlBRG9EO0V4QnduRHREO0FBQ0Y7O0FFdmlETTtFdUI3SUo7SUQ0REUsV0FEb0Q7RXhCOG5EdEQ7RXlCenJEQTtJRDRERSxVQURvRDtFeEJpb0R0RDtFeUI1ckRBO0lENERFLGdCQURvRDtFeEJvb0R0RDtFeUIvckRBO0lENERFLFVBRG9EO0V4QnVvRHREO0V5QmxzREE7SUQ0REUsVUFEb0Q7RXhCMG9EdEQ7RXlCcnNEQTtJRDRERSxnQkFEb0Q7RXhCNm9EdEQ7RXlCeHNEQTtJRDRERSxnQkFEb0Q7RXhCZ3BEdEQ7RXlCM3NEQTtJRDRERSxZQURvRDtFeEJtcER0RDtBQUNGOztBRWxrRE07RXVCN0lKO0lENERFLFdBRG9EO0V4QnlwRHREO0V5QnB0REE7SUQ0REUsVUFEb0Q7RXhCNHBEdEQ7RXlCdnREQTtJRDRERSxnQkFEb0Q7RXhCK3BEdEQ7RXlCMXREQTtJRDRERSxVQURvRDtFeEJrcUR0RDtFeUI3dERBO0lENERFLFVBRG9EO0V4QnFxRHREO0V5Qmh1REE7SUQ0REUsZ0JBRG9EO0V4QndxRHREO0V5Qm51REE7SUQ0REUsZ0JBRG9EO0V4QjJxRHREO0V5QnR1REE7SUQ0REUsWUFEb0Q7RXhCOHFEdEQ7QUFDRjs7QXlCMXVERTtFRDRERSwyQkFEZ0g7QXhCbXJEcEg7O0F5Qjl1REU7RUQ0REUsMEJBRGdIO0F4QnVyRHBIOztBeUJsdkRFO0VENERFLGdDQURnSDtBeEIyckRwSDs7QXlCdHZERTtFRDRERSwwQkFEZ0g7QXhCK3JEcEg7O0F5QjF2REU7RUQ0REUsMEJBRGdIO0F4Qm1zRHBIOztBeUI5dkRFO0VENERFLGdDQURnSDtBeEJ1c0RwSDs7QXlCbHdERTtFRDRERSxnQ0FEZ0g7QXhCMnNEcEg7O0F5QnR3REU7RUQ0REUsNEJBRGdIO0F4QitzRHBIOztBRWxvRE07RXVCeElKO0lENERFLDRCQURnSDtFeEJvdERsSDtFeUIvd0RBO0lENERFLDJCQURnSDtFeEJ1dERsSDtFeUJseERBO0lENERFLGlDQURnSDtFeEIwdERsSDtFeUJyeERBO0lENERFLDJCQURnSDtFeEI2dERsSDtFeUJ4eERBO0lENERFLDJCQURnSDtFeEJndURsSDtFeUIzeERBO0lENERFLGlDQURnSDtFeEJtdURsSDtFeUI5eERBO0lENERFLGlDQURnSDtFeEJzdURsSDtFeUJqeURBO0lENERFLDZCQURnSDtFeEJ5dURsSDtFeUJweURBO0lENERFLDRCQURnSDtFeEI0dURsSDtFeUJ2eURBO0lENERFLDJCQURnSDtFeEIrdURsSDtFeUIxeURBO0lENERFLGlDQURnSDtFeEJrdkRsSDtFeUI3eURBO0lENERFLDJCQURnSDtFeEJxdkRsSDtFeUJoekRBO0lENERFLDJCQURnSDtFeEJ3dkRsSDtFeUJuekRBO0lENERFLGlDQURnSDtFeEIydkRsSDtFeUJ0ekRBO0lENERFLGlDQURnSDtFeEI4dkRsSDtFeUJ6ekRBO0lENERFLDZCQURnSDtFeEJpd0RsSDtBQUNGOztBRXJyRE07RXVCeElKO0lENERFLDRCQURnSDtFeEJ1d0RsSDtFeUJsMERBO0lENERFLDJCQURnSDtFeEIwd0RsSDtFeUJyMERBO0lENERFLGlDQURnSDtFeEI2d0RsSDtFeUJ4MERBO0lENERFLDJCQURnSDtFeEJneERsSDtFeUIzMERBO0lENERFLDJCQURnSDtFeEJteERsSDtFeUI5MERBO0lENERFLGlDQURnSDtFeEJzeERsSDtFeUJqMURBO0lENERFLGlDQURnSDtFeEJ5eERsSDtFeUJwMURBO0lENERFLDZCQURnSDtFeEI0eERsSDtBQUNGOztBRTNzRE07RXVCN0lKO0lENERFLDRCQURnSDtFeEJreURsSDtFeUI3MURBO0lENERFLDJCQURnSDtFeEJxeURsSDtFeUJoMkRBO0lENERFLGlDQURnSDtFeEJ3eURsSDtFeUJuMkRBO0lENERFLDJCQURnSDtFeEIyeURsSDtFeUJ0MkRBO0lENERFLDJCQURnSDtFeEI4eURsSDtFeUJ6MkRBO0lENERFLGlDQURnSDtFeEJpekRsSDtFeUI1MkRBO0lENERFLGlDQURnSDtFeEJvekRsSDtFeUIvMkRBO0lENERFLDZCQURnSDtFeEJ1ekRsSDtBQUNGOztBRXR1RE07RXVCN0lKO0lENERFLDRCQURnSDtFeEI2ekRsSDtFeUJ4M0RBO0lENERFLDJCQURnSDtFeEJnMERsSDtFeUIzM0RBO0lENERFLGlDQURnSDtFeEJtMERsSDtFeUI5M0RBO0lENERFLDJCQURnSDtFeEJzMERsSDtFeUJqNERBO0lENERFLDJCQURnSDtFeEJ5MERsSDtFeUJwNERBO0lENERFLGlDQURnSDtFeEI0MERsSDtFeUJ2NERBO0lENERFLGlDQURnSDtFeEIrMERsSDtFeUIxNERBO0lENERFLDZCQURnSDtFeEJrMURsSDtBQUNGOztBcUJuc0RNO0VLaE5FLGVBQTBCO0VBQTFCLGNBQTBCO0ExQnc1RGxDOztBMEJyNURNO0VBRUksZUFBMEI7RUFBMUIsY0FBMEI7QTFCdzVEcEM7O0EwQmw0RFk7RUZzQ1IsZUFEb0Q7QXhCaTJEeEQ7O0EwQnQ0RFk7RUZzQ1IsZ0JBRG9EO0F4QnEyRHhEOztBMEIxNERZO0VGc0NSLFVBRG9EO0F4QnkyRHhEOztBMEI5NERZO0VGc0NSLGdCQURvRDtBeEI2MkR4RDs7QTBCbDVEWTtFRnNDUixnQkFEb0Q7QXhCaTNEeEQ7O0EwQnQ1RFk7RUZzQ1IsVUFEb0Q7QXhCcTNEeEQ7O0EwQjE1RFk7RUZzQ1IsZ0JBRG9EO0F4QnkzRHhEOztBMEI5NURZO0VGc0NSLGdCQURvRDtBeEI2M0R4RDs7QTBCbDZEWTtFRnNDUixVQURvRDtBeEJpNER4RDs7QTBCdDZEWTtFRnNDUixnQkFEb0Q7QXhCcTREeEQ7O0EwQjE2RFk7RUZzQ1IsZ0JBRG9EO0F4Qnk0RHhEOztBMEI5NkRZO0VGc0NSLFdBRG9EO0F4QjY0RHhEOztBRWgwRE07RXdCbEhNO0lGc0NSLGVBRG9EO0V4Qms1RHREO0UwQnY3RFU7SUZzQ1IsZ0JBRG9EO0V4QnE1RHREO0UwQjE3RFU7SUZzQ1IsVUFEb0Q7RXhCdzVEdEQ7RTBCNzdEVTtJRnNDUixnQkFEb0Q7RXhCMjVEdEQ7RTBCaDhEVTtJRnNDUixnQkFEb0Q7RXhCODVEdEQ7RTBCbjhEVTtJRnNDUixVQURvRDtFeEJpNkR0RDtFMEJ0OERVO0lGc0NSLGdCQURvRDtFeEJvNkR0RDtFMEJ6OERVO0lGc0NSLGdCQURvRDtFeEJ1NkR0RDtFMEI1OERVO0lGc0NSLFVBRG9EO0V4QjA2RHREO0UwQi84RFU7SUZzQ1IsZ0JBRG9EO0V4QjY2RHREO0UwQmw5RFU7SUZzQ1IsZ0JBRG9EO0V4Qmc3RHREO0UwQnI5RFU7SUZzQ1IsV0FEb0Q7RXhCbTdEdEQ7QUFDRjs7QUV2MkRNO0V3QmxITTtJRnNDUixlQURvRDtFeEJ5N0R0RDtFMEI5OURVO0lGc0NSLGdCQURvRDtFeEI0N0R0RDtFMEJqK0RVO0lGc0NSLFVBRG9EO0V4Qis3RHREO0UwQnArRFU7SUZzQ1IsZ0JBRG9EO0V4Qms4RHREO0UwQnYrRFU7SUZzQ1IsZ0JBRG9EO0V4QnE4RHREO0UwQjErRFU7SUZzQ1IsVUFEb0Q7RXhCdzhEdEQ7RTBCNytEVTtJRnNDUixnQkFEb0Q7RXhCMjhEdEQ7RTBCaC9EVTtJRnNDUixnQkFEb0Q7RXhCODhEdEQ7RTBCbi9EVTtJRnNDUixVQURvRDtFeEJpOUR0RDtFMEJ0L0RVO0lGc0NSLGdCQURvRDtFeEJvOUR0RDtFMEJ6L0RVO0lGc0NSLGdCQURvRDtFeEJ1OUR0RDtFMEI1L0RVO0lGc0NSLFdBRG9EO0V4QjA5RHREO0FBQ0Y7O0FFejRETTtFd0J2SE07SUZzQ1IsZUFEb0Q7RXhCZytEdEQ7RTBCcmdFVTtJRnNDUixnQkFEb0Q7RXhCbStEdEQ7RTBCeGdFVTtJRnNDUixVQURvRDtFeEJzK0R0RDtFMEIzZ0VVO0lGc0NSLGdCQURvRDtFeEJ5K0R0RDtFMEI5Z0VVO0lGc0NSLGdCQURvRDtFeEI0K0R0RDtFMEJqaEVVO0lGc0NSLFVBRG9EO0V4QisrRHREO0UwQnBoRVU7SUZzQ1IsZ0JBRG9EO0V4QmsvRHREO0UwQnZoRVU7SUZzQ1IsZ0JBRG9EO0V4QnEvRHREO0UwQjFoRVU7SUZzQ1IsVUFEb0Q7RXhCdy9EdEQ7RTBCN2hFVTtJRnNDUixnQkFEb0Q7RXhCMi9EdEQ7RTBCaGlFVTtJRnNDUixnQkFEb0Q7RXhCOC9EdEQ7RTBCbmlFVTtJRnNDUixXQURvRDtFeEJpZ0V0RDtBQUNGOztBRWg3RE07RXdCdkhNO0lGc0NSLGVBRG9EO0V4QnVnRXREO0UwQjVpRVU7SUZzQ1IsZ0JBRG9EO0V4QjBnRXREO0UwQi9pRVU7SUZzQ1IsVUFEb0Q7RXhCNmdFdEQ7RTBCbGpFVTtJRnNDUixnQkFEb0Q7RXhCZ2hFdEQ7RTBCcmpFVTtJRnNDUixnQkFEb0Q7RXhCbWhFdEQ7RTBCeGpFVTtJRnNDUixVQURvRDtFeEJzaEV0RDtFMEIzakVVO0lGc0NSLGdCQURvRDtFeEJ5aEV0RDtFMEI5akVVO0lGc0NSLGdCQURvRDtFeEI0aEV0RDtFMEJqa0VVO0lGc0NSLFVBRG9EO0V4QitoRXREO0UwQnBrRVU7SUZzQ1IsZ0JBRG9EO0V4QmtpRXREO0UwQnZrRVU7SUZzQ1IsZ0JBRG9EO0V4QnFpRXREO0UwQjFrRVU7SUZzQ1IsV0FEb0Q7RXhCd2lFdEQ7QUFDRjs7QXFCbjVETTtFSy9LRSxlQUEwQjtFQUExQixjQUEwQjtBMUJ1a0VsQzs7QTBCcGtFTTtFQUVJLGdCQUE0QjtFQUE1QixlQUE0QjtBMUJ1a0V0Qzs7QUV0K0RNO0VtQm1FQTtJS2hORSxlQUEwQjtJQUExQixjQUEwQjtFMUJ5bkVoQztFMEJ0bkVJO0lBRUksZUFBMEI7SUFBMUIsY0FBMEI7RTFCd25FbEM7QUFDRjs7QUVqL0RNO0V3QjNITTtJRitDUixlQURvRDtFeEJta0V0RDtFMEJqbkVVO0lGK0NSLGdCQURvRDtFeEJza0V0RDtFMEJwbkVVO0lGK0NSLFVBRG9EO0V4QnlrRXREO0UwQnZuRVU7SUYrQ1IsZ0JBRG9EO0V4QjRrRXREO0UwQjFuRVU7SUYrQ1IsZ0JBRG9EO0V4QitrRXREO0UwQjduRVU7SUYrQ1IsVUFEb0Q7RXhCa2xFdEQ7RTBCaG9FVTtJRitDUixnQkFEb0Q7RXhCcWxFdEQ7RTBCbm9FVTtJRitDUixnQkFEb0Q7RXhCd2xFdEQ7RTBCdG9FVTtJRitDUixVQURvRDtFeEIybEV0RDtFMEJ6b0VVO0lGK0NSLGdCQURvRDtFeEI4bEV0RDtFMEI1b0VVO0lGK0NSLGdCQURvRDtFeEJpbUV0RDtFMEIvb0VVO0lGK0NSLFdBRG9EO0V4Qm9tRXREO0FBQ0Y7O0FFeGhFTTtFd0JsSE07SUZzQ1IsZUFEb0Q7RXhCMG1FdEQ7RTBCL29FVTtJRnNDUixnQkFEb0Q7RXhCNm1FdEQ7RTBCbHBFVTtJRnNDUixVQURvRDtFeEJnbkV0RDtFMEJycEVVO0lGc0NSLGdCQURvRDtFeEJtbkV0RDtFMEJ4cEVVO0lGc0NSLGdCQURvRDtFeEJzbkV0RDtFMEIzcEVVO0lGc0NSLFVBRG9EO0V4QnluRXREO0UwQjlwRVU7SUZzQ1IsZ0JBRG9EO0V4QjRuRXREO0UwQmpxRVU7SUZzQ1IsZ0JBRG9EO0V4QituRXREO0UwQnBxRVU7SUZzQ1IsVUFEb0Q7RXhCa29FdEQ7RTBCdnFFVTtJRnNDUixnQkFEb0Q7RXhCcW9FdEQ7RTBCMXFFVTtJRnNDUixnQkFEb0Q7RXhCd29FdEQ7RTBCN3FFVTtJRnNDUixXQURvRDtFeEIyb0V0RDtBQUNGOztBRS9qRU07RXdCbEhNO0lGc0NSLGVBRG9EO0V4QmlwRXREO0UwQnRyRVU7SUZzQ1IsZ0JBRG9EO0V4Qm9wRXREO0UwQnpyRVU7SUZzQ1IsVUFEb0Q7RXhCdXBFdEQ7RTBCNXJFVTtJRnNDUixnQkFEb0Q7RXhCMHBFdEQ7RTBCL3JFVTtJRnNDUixnQkFEb0Q7RXhCNnBFdEQ7RTBCbHNFVTtJRnNDUixVQURvRDtFeEJncUV0RDtFMEJyc0VVO0lGc0NSLGdCQURvRDtFeEJtcUV0RDtFMEJ4c0VVO0lGc0NSLGdCQURvRDtFeEJzcUV0RDtFMEIzc0VVO0lGc0NSLFVBRG9EO0V4QnlxRXREO0UwQjlzRVU7SUZzQ1IsZ0JBRG9EO0V4QjRxRXREO0UwQmp0RVU7SUZzQ1IsZ0JBRG9EO0V4QitxRXREO0UwQnB0RVU7SUZzQ1IsV0FEb0Q7RXhCa3JFdEQ7QUFDRjs7QUVqbUVNO0V3QnZITTtJRnNDUixlQURvRDtFeEJ3ckV0RDtFMEI3dEVVO0lGc0NSLGdCQURvRDtFeEIyckV0RDtFMEJodUVVO0lGc0NSLFVBRG9EO0V4QjhyRXREO0UwQm51RVU7SUZzQ1IsZ0JBRG9EO0V4QmlzRXREO0UwQnR1RVU7SUZzQ1IsZ0JBRG9EO0V4Qm9zRXREO0UwQnp1RVU7SUZzQ1IsVUFEb0Q7RXhCdXNFdEQ7RTBCNXVFVTtJRnNDUixnQkFEb0Q7RXhCMHNFdEQ7RTBCL3VFVTtJRnNDUixnQkFEb0Q7RXhCNnNFdEQ7RTBCbHZFVTtJRnNDUixVQURvRDtFeEJndEV0RDtFMEJydkVVO0lGc0NSLGdCQURvRDtFeEJtdEV0RDtFMEJ4dkVVO0lGc0NSLGdCQURvRDtFeEJzdEV0RDtFMEIzdkVVO0lGc0NSLFdBRG9EO0V4Qnl0RXREO0FBQ0Y7O0FFeG9FTTtFd0J2SE07SUZzQ1IsZUFEb0Q7RXhCK3RFdEQ7RTBCcHdFVTtJRnNDUixnQkFEb0Q7RXhCa3VFdEQ7RTBCdndFVTtJRnNDUixVQURvRDtFeEJxdUV0RDtFMEIxd0VVO0lGc0NSLGdCQURvRDtFeEJ3dUV0RDtFMEI3d0VVO0lGc0NSLGdCQURvRDtFeEIydUV0RDtFMEJoeEVVO0lGc0NSLFVBRG9EO0V4Qjh1RXREO0UwQm54RVU7SUZzQ1IsZ0JBRG9EO0V4Qml2RXREO0UwQnR4RVU7SUZzQ1IsZ0JBRG9EO0V4Qm92RXREO0UwQnp4RVU7SUZzQ1IsVUFEb0Q7RXhCdXZFdEQ7RTBCNXhFVTtJRnNDUixnQkFEb0Q7RXhCMHZFdEQ7RTBCL3hFVTtJRnNDUixnQkFEb0Q7RXhCNnZFdEQ7RTBCbHlFVTtJRnNDUixXQURvRDtFeEJnd0V0RDtBQUNGOztBRXByRU07RW1CeUVBO0lLL0tFLGVBQTBCO0lBQTFCLGNBQTBCO0UxQmd5RWhDO0UwQjd4RUk7SUFFSSxnQkFBNEI7SUFBNUIsZUFBNEI7RTFCK3hFcEM7QUFDRjs7QUUvckVNO0VtQm1FQTtJS2hORSxlQUEwQjtJQUExQixjQUEwQjtFMUJrMUVoQztFMEIvMEVJO0lBRUksZUFBMEI7SUFBMUIsY0FBMEI7RTFCaTFFbEM7QUFDRjs7QUUxc0VNO0V3QjNITTtJRitDUixlQURvRDtFeEI0eEV0RDtFMEIxMEVVO0lGK0NSLGdCQURvRDtFeEIreEV0RDtFMEI3MEVVO0lGK0NSLFVBRG9EO0V4Qmt5RXREO0UwQmgxRVU7SUYrQ1IsZ0JBRG9EO0V4QnF5RXREO0UwQm4xRVU7SUYrQ1IsZ0JBRG9EO0V4Qnd5RXREO0UwQnQxRVU7SUYrQ1IsVUFEb0Q7RXhCMnlFdEQ7RTBCejFFVTtJRitDUixnQkFEb0Q7RXhCOHlFdEQ7RTBCNTFFVTtJRitDUixnQkFEb0Q7RXhCaXpFdEQ7RTBCLzFFVTtJRitDUixVQURvRDtFeEJvekV0RDtFMEJsMkVVO0lGK0NSLGdCQURvRDtFeEJ1ekV0RDtFMEJyMkVVO0lGK0NSLGdCQURvRDtFeEIwekV0RDtFMEJ4MkVVO0lGK0NSLFdBRG9EO0V4QjZ6RXREO0FBQ0Y7O0FFanZFTTtFd0IzSE07SUYrQ1IsZUFEb0Q7RXhCbTBFdEQ7RTBCajNFVTtJRitDUixnQkFEb0Q7RXhCczBFdEQ7RTBCcDNFVTtJRitDUixVQURvRDtFeEJ5MEV0RDtFMEJ2M0VVO0lGK0NSLGdCQURvRDtFeEI0MEV0RDtFMEIxM0VVO0lGK0NSLGdCQURvRDtFeEIrMEV0RDtFMEI3M0VVO0lGK0NSLFVBRG9EO0V4QmsxRXREO0UwQmg0RVU7SUYrQ1IsZ0JBRG9EO0V4QnExRXREO0UwQm40RVU7SUYrQ1IsZ0JBRG9EO0V4QncxRXREO0UwQnQ0RVU7SUYrQ1IsVUFEb0Q7RXhCMjFFdEQ7RTBCejRFVTtJRitDUixnQkFEb0Q7RXhCODFFdEQ7RTBCNTRFVTtJRitDUixnQkFEb0Q7RXhCaTJFdEQ7RTBCLzRFVTtJRitDUixXQURvRDtFeEJvMkV0RDtBQUNGOztBRXh4RU07RXdCbEhNO0lGc0NSLGVBRG9EO0V4QjAyRXREO0UwQi80RVU7SUZzQ1IsZ0JBRG9EO0V4QjYyRXREO0UwQmw1RVU7SUZzQ1IsVUFEb0Q7RXhCZzNFdEQ7RTBCcjVFVTtJRnNDUixnQkFEb0Q7RXhCbTNFdEQ7RTBCeDVFVTtJRnNDUixnQkFEb0Q7RXhCczNFdEQ7RTBCMzVFVTtJRnNDUixVQURvRDtFeEJ5M0V0RDtFMEI5NUVVO0lGc0NSLGdCQURvRDtFeEI0M0V0RDtFMEJqNkVVO0lGc0NSLGdCQURvRDtFeEIrM0V0RDtFMEJwNkVVO0lGc0NSLFVBRG9EO0V4Qms0RXREO0UwQnY2RVU7SUZzQ1IsZ0JBRG9EO0V4QnE0RXREO0UwQjE2RVU7SUZzQ1IsZ0JBRG9EO0V4Qnc0RXREO0UwQjc2RVU7SUZzQ1IsV0FEb0Q7RXhCMjRFdEQ7QUFDRjs7QUUxekVNO0V3QnZITTtJRnNDUixlQURvRDtFeEJpNUV0RDtFMEJ0N0VVO0lGc0NSLGdCQURvRDtFeEJvNUV0RDtFMEJ6N0VVO0lGc0NSLFVBRG9EO0V4QnU1RXREO0UwQjU3RVU7SUZzQ1IsZ0JBRG9EO0V4QjA1RXREO0UwQi83RVU7SUZzQ1IsZ0JBRG9EO0V4QjY1RXREO0UwQmw4RVU7SUZzQ1IsVUFEb0Q7RXhCZzZFdEQ7RTBCcjhFVTtJRnNDUixnQkFEb0Q7RXhCbTZFdEQ7RTBCeDhFVTtJRnNDUixnQkFEb0Q7RXhCczZFdEQ7RTBCMzhFVTtJRnNDUixVQURvRDtFeEJ5NkV0RDtFMEI5OEVVO0lGc0NSLGdCQURvRDtFeEI0NkV0RDtFMEJqOUVVO0lGc0NSLGdCQURvRDtFeEIrNkV0RDtFMEJwOUVVO0lGc0NSLFdBRG9EO0V4Qms3RXREO0FBQ0Y7O0FFajJFTTtFd0J2SE07SUZzQ1IsZUFEb0Q7RXhCdzdFdEQ7RTBCNzlFVTtJRnNDUixnQkFEb0Q7RXhCMjdFdEQ7RTBCaCtFVTtJRnNDUixVQURvRDtFeEI4N0V0RDtFMEJuK0VVO0lGc0NSLGdCQURvRDtFeEJpOEV0RDtFMEJ0K0VVO0lGc0NSLGdCQURvRDtFeEJvOEV0RDtFMEJ6K0VVO0lGc0NSLFVBRG9EO0V4QnU4RXREO0UwQjUrRVU7SUZzQ1IsZ0JBRG9EO0V4QjA4RXREO0UwQi8rRVU7SUZzQ1IsZ0JBRG9EO0V4QjY4RXREO0UwQmwvRVU7SUZzQ1IsVUFEb0Q7RXhCZzlFdEQ7RTBCci9FVTtJRnNDUixnQkFEb0Q7RXhCbTlFdEQ7RTBCeC9FVTtJRnNDUixnQkFEb0Q7RXhCczlFdEQ7RTBCMy9FVTtJRnNDUixXQURvRDtFeEJ5OUV0RDtBQUNGOztBRTc0RU07RW1CeUVBO0lLL0tFLGVBQTBCO0lBQTFCLGNBQTBCO0UxQnkvRWhDO0UwQnQvRUk7SUFFSSxnQkFBNEI7SUFBNUIsZUFBNEI7RTFCdy9FcEM7QUFDRjs7QUVuNUVNO0VtQjhEQTtJS2hORSxlQUEwQjtJQUExQixjQUEwQjtFMUIyaUZoQztFMEJ4aUZJO0lBRUksZUFBMEI7SUFBMUIsY0FBMEI7RTFCMGlGbEM7QUFDRjs7QUU5NUVNO0V3QmhJTTtJRitDUixlQURvRDtFeEJxL0V0RDtFMEJuaUZVO0lGK0NSLGdCQURvRDtFeEJ3L0V0RDtFMEJ0aUZVO0lGK0NSLFVBRG9EO0V4QjIvRXREO0UwQnppRlU7SUYrQ1IsZ0JBRG9EO0V4QjgvRXREO0UwQjVpRlU7SUYrQ1IsZ0JBRG9EO0V4QmlnRnREO0UwQi9pRlU7SUYrQ1IsVUFEb0Q7RXhCb2dGdEQ7RTBCbGpGVTtJRitDUixnQkFEb0Q7RXhCdWdGdEQ7RTBCcmpGVTtJRitDUixnQkFEb0Q7RXhCMGdGdEQ7RTBCeGpGVTtJRitDUixVQURvRDtFeEI2Z0Z0RDtFMEIzakZVO0lGK0NSLGdCQURvRDtFeEJnaEZ0RDtFMEI5akZVO0lGK0NSLGdCQURvRDtFeEJtaEZ0RDtFMEJqa0ZVO0lGK0NSLFdBRG9EO0V4QnNoRnREO0FBQ0Y7O0FFcjhFTTtFd0JoSU07SUYrQ1IsZUFEb0Q7RXhCNGhGdEQ7RTBCMWtGVTtJRitDUixnQkFEb0Q7RXhCK2hGdEQ7RTBCN2tGVTtJRitDUixVQURvRDtFeEJraUZ0RDtFMEJobEZVO0lGK0NSLGdCQURvRDtFeEJxaUZ0RDtFMEJubEZVO0lGK0NSLGdCQURvRDtFeEJ3aUZ0RDtFMEJ0bEZVO0lGK0NSLFVBRG9EO0V4QjJpRnREO0UwQnpsRlU7SUYrQ1IsZ0JBRG9EO0V4QjhpRnREO0UwQjVsRlU7SUYrQ1IsZ0JBRG9EO0V4QmlqRnREO0UwQi9sRlU7SUYrQ1IsVUFEb0Q7RXhCb2pGdEQ7RTBCbG1GVTtJRitDUixnQkFEb0Q7RXhCdWpGdEQ7RTBCcm1GVTtJRitDUixnQkFEb0Q7RXhCMGpGdEQ7RTBCeG1GVTtJRitDUixXQURvRDtFeEI2akZ0RDtBQUNGOztBRTUrRU07RXdCaElNO0lGK0NSLGVBRG9EO0V4Qm1rRnREO0UwQmpuRlU7SUYrQ1IsZ0JBRG9EO0V4QnNrRnREO0UwQnBuRlU7SUYrQ1IsVUFEb0Q7RXhCeWtGdEQ7RTBCdm5GVTtJRitDUixnQkFEb0Q7RXhCNGtGdEQ7RTBCMW5GVTtJRitDUixnQkFEb0Q7RXhCK2tGdEQ7RTBCN25GVTtJRitDUixVQURvRDtFeEJrbEZ0RDtFMEJob0ZVO0lGK0NSLGdCQURvRDtFeEJxbEZ0RDtFMEJub0ZVO0lGK0NSLGdCQURvRDtFeEJ3bEZ0RDtFMEJ0b0ZVO0lGK0NSLFVBRG9EO0V4QjJsRnREO0UwQnpvRlU7SUYrQ1IsZ0JBRG9EO0V4QjhsRnREO0UwQjVvRlU7SUYrQ1IsZ0JBRG9EO0V4QmltRnREO0UwQi9vRlU7SUYrQ1IsV0FEb0Q7RXhCb21GdEQ7QUFDRjs7QUVuaEZNO0V3QnZITTtJRnNDUixlQURvRDtFeEIwbUZ0RDtFMEIvb0ZVO0lGc0NSLGdCQURvRDtFeEI2bUZ0RDtFMEJscEZVO0lGc0NSLFVBRG9EO0V4QmduRnREO0UwQnJwRlU7SUZzQ1IsZ0JBRG9EO0V4Qm1uRnREO0UwQnhwRlU7SUZzQ1IsZ0JBRG9EO0V4QnNuRnREO0UwQjNwRlU7SUZzQ1IsVUFEb0Q7RXhCeW5GdEQ7RTBCOXBGVTtJRnNDUixnQkFEb0Q7RXhCNG5GdEQ7RTBCanFGVTtJRnNDUixnQkFEb0Q7RXhCK25GdEQ7RTBCcHFGVTtJRnNDUixVQURvRDtFeEJrb0Z0RDtFMEJ2cUZVO0lGc0NSLGdCQURvRDtFeEJxb0Z0RDtFMEIxcUZVO0lGc0NSLGdCQURvRDtFeEJ3b0Z0RDtFMEI3cUZVO0lGc0NSLFdBRG9EO0V4QjJvRnREO0FBQ0Y7O0FFMWpGTTtFd0J2SE07SUZzQ1IsZUFEb0Q7RXhCaXBGdEQ7RTBCdHJGVTtJRnNDUixnQkFEb0Q7RXhCb3BGdEQ7RTBCenJGVTtJRnNDUixVQURvRDtFeEJ1cEZ0RDtFMEI1ckZVO0lGc0NSLGdCQURvRDtFeEIwcEZ0RDtFMEIvckZVO0lGc0NSLGdCQURvRDtFeEI2cEZ0RDtFMEJsc0ZVO0lGc0NSLFVBRG9EO0V4QmdxRnREO0UwQnJzRlU7SUZzQ1IsZ0JBRG9EO0V4Qm1xRnREO0UwQnhzRlU7SUZzQ1IsZ0JBRG9EO0V4QnNxRnREO0UwQjNzRlU7SUZzQ1IsVUFEb0Q7RXhCeXFGdEQ7RTBCOXNGVTtJRnNDUixnQkFEb0Q7RXhCNHFGdEQ7RTBCanRGVTtJRnNDUixnQkFEb0Q7RXhCK3FGdEQ7RTBCcHRGVTtJRnNDUixXQURvRDtFeEJrckZ0RDtBQUNGOztBRWptRk07RW1Cb0VBO0lLL0tFLGVBQTBCO0lBQTFCLGNBQTBCO0UxQmt0RmhDO0UwQi9zRkk7SUFFSSxnQkFBNEI7SUFBNUIsZUFBNEI7RTFCaXRGcEM7QUFDRjs7QUU1bUZNO0VtQjhEQTtJS2hORSxlQUEwQjtJQUExQixjQUEwQjtFMUJvd0ZoQztFMEJqd0ZJO0lBRUksZUFBMEI7SUFBMUIsY0FBMEI7RTFCbXdGbEM7QUFDRjs7QUV2bkZNO0V3QmhJTTtJRitDUixlQURvRDtFeEI4c0Z0RDtFMEI1dkZVO0lGK0NSLGdCQURvRDtFeEJpdEZ0RDtFMEIvdkZVO0lGK0NSLFVBRG9EO0V4Qm90RnREO0UwQmx3RlU7SUYrQ1IsZ0JBRG9EO0V4QnV0RnREO0UwQnJ3RlU7SUYrQ1IsZ0JBRG9EO0V4QjB0RnREO0UwQnh3RlU7SUYrQ1IsVUFEb0Q7RXhCNnRGdEQ7RTBCM3dGVTtJRitDUixnQkFEb0Q7RXhCZ3VGdEQ7RTBCOXdGVTtJRitDUixnQkFEb0Q7RXhCbXVGdEQ7RTBCanhGVTtJRitDUixVQURvRDtFeEJzdUZ0RDtFMEJweEZVO0lGK0NSLGdCQURvRDtFeEJ5dUZ0RDtFMEJ2eEZVO0lGK0NSLGdCQURvRDtFeEI0dUZ0RDtFMEIxeEZVO0lGK0NSLFdBRG9EO0V4Qit1RnREO0FBQ0Y7O0FFOXBGTTtFd0JoSU07SUYrQ1IsZUFEb0Q7RXhCcXZGdEQ7RTBCbnlGVTtJRitDUixnQkFEb0Q7RXhCd3ZGdEQ7RTBCdHlGVTtJRitDUixVQURvRDtFeEIydkZ0RDtFMEJ6eUZVO0lGK0NSLGdCQURvRDtFeEI4dkZ0RDtFMEI1eUZVO0lGK0NSLGdCQURvRDtFeEJpd0Z0RDtFMEIveUZVO0lGK0NSLFVBRG9EO0V4Qm93RnREO0UwQmx6RlU7SUYrQ1IsZ0JBRG9EO0V4QnV3RnREO0UwQnJ6RlU7SUYrQ1IsZ0JBRG9EO0V4QjB3RnREO0UwQnh6RlU7SUYrQ1IsVUFEb0Q7RXhCNndGdEQ7RTBCM3pGVTtJRitDUixnQkFEb0Q7RXhCZ3hGdEQ7RTBCOXpGVTtJRitDUixnQkFEb0Q7RXhCbXhGdEQ7RTBCajBGVTtJRitDUixXQURvRDtFeEJzeEZ0RDtBQUNGOztBRXJzRk07RXdCaElNO0lGK0NSLGVBRG9EO0V4QjR4RnREO0UwQjEwRlU7SUYrQ1IsZ0JBRG9EO0V4Qit4RnREO0UwQjcwRlU7SUYrQ1IsVUFEb0Q7RXhCa3lGdEQ7RTBCaDFGVTtJRitDUixnQkFEb0Q7RXhCcXlGdEQ7RTBCbjFGVTtJRitDUixnQkFEb0Q7RXhCd3lGdEQ7RTBCdDFGVTtJRitDUixVQURvRDtFeEIyeUZ0RDtFMEJ6MUZVO0lGK0NSLGdCQURvRDtFeEI4eUZ0RDtFMEI1MUZVO0lGK0NSLGdCQURvRDtFeEJpekZ0RDtFMEIvMUZVO0lGK0NSLFVBRG9EO0V4Qm96RnREO0UwQmwyRlU7SUYrQ1IsZ0JBRG9EO0V4QnV6RnREO0UwQnIyRlU7SUYrQ1IsZ0JBRG9EO0V4QjB6RnREO0UwQngyRlU7SUYrQ1IsV0FEb0Q7RXhCNnpGdEQ7QUFDRjs7QUU1dUZNO0V3QmhJTTtJRitDUixlQURvRDtFeEJtMEZ0RDtFMEJqM0ZVO0lGK0NSLGdCQURvRDtFeEJzMEZ0RDtFMEJwM0ZVO0lGK0NSLFVBRG9EO0V4QnkwRnREO0UwQnYzRlU7SUYrQ1IsZ0JBRG9EO0V4QjQwRnREO0UwQjEzRlU7SUYrQ1IsZ0JBRG9EO0V4QiswRnREO0UwQjczRlU7SUYrQ1IsVUFEb0Q7RXhCazFGdEQ7RTBCaDRGVTtJRitDUixnQkFEb0Q7RXhCcTFGdEQ7RTBCbjRGVTtJRitDUixnQkFEb0Q7RXhCdzFGdEQ7RTBCdDRGVTtJRitDUixVQURvRDtFeEIyMUZ0RDtFMEJ6NEZVO0lGK0NSLGdCQURvRDtFeEI4MUZ0RDtFMEI1NEZVO0lGK0NSLGdCQURvRDtFeEJpMkZ0RDtFMEIvNEZVO0lGK0NSLFdBRG9EO0V4Qm8yRnREO0FBQ0Y7O0FFbnhGTTtFd0J2SE07SUZzQ1IsZUFEb0Q7RXhCMDJGdEQ7RTBCLzRGVTtJRnNDUixnQkFEb0Q7RXhCNjJGdEQ7RTBCbDVGVTtJRnNDUixVQURvRDtFeEJnM0Z0RDtFMEJyNUZVO0lGc0NSLGdCQURvRDtFeEJtM0Z0RDtFMEJ4NUZVO0lGc0NSLGdCQURvRDtFeEJzM0Z0RDtFMEIzNUZVO0lGc0NSLFVBRG9EO0V4QnkzRnREO0UwQjk1RlU7SUZzQ1IsZ0JBRG9EO0V4QjQzRnREO0UwQmo2RlU7SUZzQ1IsZ0JBRG9EO0V4QiszRnREO0UwQnA2RlU7SUZzQ1IsVUFEb0Q7RXhCazRGdEQ7RTBCdjZGVTtJRnNDUixnQkFEb0Q7RXhCcTRGdEQ7RTBCMTZGVTtJRnNDUixnQkFEb0Q7RXhCdzRGdEQ7RTBCNzZGVTtJRnNDUixXQURvRDtFeEIyNEZ0RDtBQUNGOztBRTF6Rk07RW1Cb0VBO0lLL0tFLGVBQTBCO0lBQTFCLGNBQTBCO0UxQjI2RmhDO0UwQng2Rkk7SUFFSSxnQkFBNEI7SUFBNUIsZUFBNEI7RTFCMDZGcEM7QUFDRjs7QXFCbnZGTTtFTWhPRixlQUE2QjtBM0J1OUZqQzs7QXFCbnZGTTtFTXBPRixnQ0FBNkI7QTNCMjlGakM7O0FxQjN2Rk07RU1oT0YscUJBQTZCO0EzQis5RmpDOztBcUIzdkZNO0VNcE9GLHNDQUE2QjtBM0JtK0ZqQzs7QXFCbndGTTtFTWhPRixzQkFBNkI7QTNCdStGakM7O0FxQm53Rk07RU1wT0YsdUNBQTZCO0EzQjIrRmpDOztBcUIzd0ZNO0VNaE9GLGdCQUE2QjtBM0IrK0ZqQzs7QXFCM3dGTTtFTXBPRixpQ0FBNkI7QTNCbS9GakM7O0FxQm54Rk07RU1oT0Ysc0JBQTZCO0EzQnUvRmpDOztBcUJueEZNO0VNcE9GLHVDQUE2QjtBM0IyL0ZqQzs7QXFCM3hGTTtFTWhPRixzQkFBNkI7QTNCKy9GakM7O0FxQjN4Rk07RU1wT0YsdUNBQTZCO0EzQm1nR2pDOztBcUJueUZNO0VNaE9GLGdCQUE2QjtBM0J1Z0dqQzs7QXFCbnlGTTtFTXBPRixpQ0FBNkI7QTNCMmdHakM7O0FxQjN5Rk07RU1oT0Ysc0JBQTZCO0EzQitnR2pDOztBcUIzeUZNO0VNcE9GLHVDQUE2QjtBM0JtaEdqQzs7QXFCbnpGTTtFTWhPRixzQkFBNkI7QTNCdWhHakM7O0FxQm56Rk07RU1wT0YsdUNBQTZCO0EzQjJoR2pDOztBcUIzekZNO0VNaE9GLGdCQUE2QjtBM0IraEdqQzs7QXFCM3pGTTtFTXBPRixpQ0FBNkI7QTNCbWlHakM7O0FxQm4wRk07RU1oT0Ysc0JBQTZCO0EzQnVpR2pDOztBcUJuMEZNO0VNcE9GLHVDQUE2QjtBM0IyaUdqQzs7QXFCMzBGTTtFTWhPRixzQkFBNkI7QTNCK2lHakM7O0FxQjMwRk07RU1wT0YsdUNBQTZCO0EzQm1qR2pDOztBRTE2Rk07RW1CdUZBO0lNaE9GLGVBQTZCO0UzQndqRy9CO0VxQnAxRkk7SU1wT0YsaUNBQTZCO0UzQjJqRy9CO0VxQjMxRkk7SU1oT0YscUJBQTZCO0UzQjhqRy9CO0VxQjExRkk7SU1wT0YsdUNBQTZCO0UzQmlrRy9CO0VxQmoyRkk7SU1oT0Ysc0JBQTZCO0UzQm9rRy9CO0VxQmgyRkk7SU1wT0Ysd0NBQTZCO0UzQnVrRy9CO0VxQnYyRkk7SU1oT0YsZ0JBQTZCO0UzQjBrRy9CO0VxQnQyRkk7SU1wT0Ysa0NBQTZCO0UzQjZrRy9CO0VxQjcyRkk7SU1oT0Ysc0JBQTZCO0UzQmdsRy9CO0VxQjUyRkk7SU1wT0Ysd0NBQTZCO0UzQm1sRy9CO0VxQm4zRkk7SU1oT0Ysc0JBQTZCO0UzQnNsRy9CO0VxQmwzRkk7SU1wT0Ysd0NBQTZCO0UzQnlsRy9CO0VxQnozRkk7SU1oT0YsZ0JBQTZCO0UzQjRsRy9CO0VxQngzRkk7SU1wT0Ysa0NBQTZCO0UzQitsRy9CO0VxQi8zRkk7SU1oT0Ysc0JBQTZCO0UzQmttRy9CO0VxQjkzRkk7SU1wT0Ysd0NBQTZCO0UzQnFtRy9CO0VxQnI0Rkk7SU1oT0Ysc0JBQTZCO0UzQndtRy9CO0VxQnA0Rkk7SU1wT0Ysd0NBQTZCO0UzQjJtRy9CO0VxQjM0Rkk7SU1oT0YsZ0JBQTZCO0UzQjhtRy9CO0VxQjE0Rkk7SU1wT0Ysa0NBQTZCO0UzQmluRy9CO0VxQmo1Rkk7SU1oT0Ysc0JBQTZCO0UzQm9uRy9CO0VxQmg1Rkk7SU1wT0Ysd0NBQTZCO0UzQnVuRy9CO0VxQnY1Rkk7SU1oT0Ysc0JBQTZCO0UzQjBuRy9CO0VxQnQ1Rkk7SU1wT0Ysd0NBQTZCO0UzQjZuRy9CO0FBQ0Y7O0FFci9GTTtFbUJ1RkE7SU1oT0YsZUFBNkI7RTNCbW9HL0I7RXFCLzVGSTtJTXBPRixpQ0FBNkI7RTNCc29HL0I7RXFCdDZGSTtJTWhPRixxQkFBNkI7RTNCeW9HL0I7RXFCcjZGSTtJTXBPRix1Q0FBNkI7RTNCNG9HL0I7RXFCNTZGSTtJTWhPRixzQkFBNkI7RTNCK29HL0I7RXFCMzZGSTtJTXBPRix3Q0FBNkI7RTNCa3BHL0I7RXFCbDdGSTtJTWhPRixnQkFBNkI7RTNCcXBHL0I7RXFCajdGSTtJTXBPRixrQ0FBNkI7RTNCd3BHL0I7RXFCeDdGSTtJTWhPRixzQkFBNkI7RTNCMnBHL0I7RXFCdjdGSTtJTXBPRix3Q0FBNkI7RTNCOHBHL0I7RXFCOTdGSTtJTWhPRixzQkFBNkI7RTNCaXFHL0I7RXFCNzdGSTtJTXBPRix3Q0FBNkI7RTNCb3FHL0I7RXFCcDhGSTtJTWhPRixnQkFBNkI7RTNCdXFHL0I7RXFCbjhGSTtJTXBPRixrQ0FBNkI7RTNCMHFHL0I7RXFCMThGSTtJTWhPRixzQkFBNkI7RTNCNnFHL0I7RXFCejhGSTtJTXBPRix3Q0FBNkI7RTNCZ3JHL0I7RXFCaDlGSTtJTWhPRixzQkFBNkI7RTNCbXJHL0I7RXFCLzhGSTtJTXBPRix3Q0FBNkI7RTNCc3JHL0I7RXFCdDlGSTtJTWhPRixnQkFBNkI7RTNCeXJHL0I7RXFCcjlGSTtJTXBPRixrQ0FBNkI7RTNCNHJHL0I7RXFCNTlGSTtJTWhPRixzQkFBNkI7RTNCK3JHL0I7RXFCMzlGSTtJTXBPRix3Q0FBNkI7RTNCa3NHL0I7RXFCbCtGSTtJTWhPRixzQkFBNkI7RTNCcXNHL0I7RXFCaitGSTtJTXBPRix3Q0FBNkI7RTNCd3NHL0I7QUFDRjs7QUUzakdNO0VtQmtGQTtJTWhPRixlQUE2QjtFM0I4c0cvQjtFcUIxK0ZJO0lNcE9GLGlDQUE2QjtFM0JpdEcvQjtFcUJqL0ZJO0lNaE9GLHFCQUE2QjtFM0JvdEcvQjtFcUJoL0ZJO0lNcE9GLHVDQUE2QjtFM0J1dEcvQjtFcUJ2L0ZJO0lNaE9GLHNCQUE2QjtFM0IwdEcvQjtFcUJ0L0ZJO0lNcE9GLHdDQUE2QjtFM0I2dEcvQjtFcUI3L0ZJO0lNaE9GLGdCQUE2QjtFM0JndUcvQjtFcUI1L0ZJO0lNcE9GLGtDQUE2QjtFM0JtdUcvQjtFcUJuZ0dJO0lNaE9GLHNCQUE2QjtFM0JzdUcvQjtFcUJsZ0dJO0lNcE9GLHdDQUE2QjtFM0J5dUcvQjtFcUJ6Z0dJO0lNaE9GLHNCQUE2QjtFM0I0dUcvQjtFcUJ4Z0dJO0lNcE9GLHdDQUE2QjtFM0IrdUcvQjtFcUIvZ0dJO0lNaE9GLGdCQUE2QjtFM0JrdkcvQjtFcUI5Z0dJO0lNcE9GLGtDQUE2QjtFM0JxdkcvQjtFcUJyaEdJO0lNaE9GLHNCQUE2QjtFM0J3dkcvQjtFcUJwaEdJO0lNcE9GLHdDQUE2QjtFM0IydkcvQjtFcUIzaEdJO0lNaE9GLHNCQUE2QjtFM0I4dkcvQjtFcUIxaEdJO0lNcE9GLHdDQUE2QjtFM0Jpd0cvQjtFcUJqaUdJO0lNaE9GLGdCQUE2QjtFM0Jvd0cvQjtFcUJoaUdJO0lNcE9GLGtDQUE2QjtFM0J1d0cvQjtFcUJ2aUdJO0lNaE9GLHNCQUE2QjtFM0Iwd0cvQjtFcUJ0aUdJO0lNcE9GLHdDQUE2QjtFM0I2d0cvQjtFcUI3aUdJO0lNaE9GLHNCQUE2QjtFM0JneEcvQjtFcUI1aUdJO0lNcE9GLHdDQUE2QjtFM0JteEcvQjtBQUNGOztBRXRvR007RW1Ca0ZBO0lNaE9GLGVBQTZCO0UzQnl4Ry9CO0VxQnJqR0k7SU1wT0YsaUNBQTZCO0UzQjR4Ry9CO0VxQjVqR0k7SU1oT0YscUJBQTZCO0UzQit4Ry9CO0VxQjNqR0k7SU1wT0YsdUNBQTZCO0UzQmt5Ry9CO0VxQmxrR0k7SU1oT0Ysc0JBQTZCO0UzQnF5Ry9CO0VxQmprR0k7SU1wT0Ysd0NBQTZCO0UzQnd5Ry9CO0VxQnhrR0k7SU1oT0YsZ0JBQTZCO0UzQjJ5Ry9CO0VxQnZrR0k7SU1wT0Ysa0NBQTZCO0UzQjh5Ry9CO0VxQjlrR0k7SU1oT0Ysc0JBQTZCO0UzQml6Ry9CO0VxQjdrR0k7SU1wT0Ysd0NBQTZCO0UzQm96Ry9CO0VxQnBsR0k7SU1oT0Ysc0JBQTZCO0UzQnV6Ry9CO0VxQm5sR0k7SU1wT0Ysd0NBQTZCO0UzQjB6Ry9CO0VxQjFsR0k7SU1oT0YsZ0JBQTZCO0UzQjZ6Ry9CO0VxQnpsR0k7SU1wT0Ysa0NBQTZCO0UzQmcwRy9CO0VxQmhtR0k7SU1oT0Ysc0JBQTZCO0UzQm0wRy9CO0VxQi9sR0k7SU1wT0Ysd0NBQTZCO0UzQnMwRy9CO0VxQnRtR0k7SU1oT0Ysc0JBQTZCO0UzQnkwRy9CO0VxQnJtR0k7SU1wT0Ysd0NBQTZCO0UzQjQwRy9CO0VxQjVtR0k7SU1oT0YsZ0JBQTZCO0UzQiswRy9CO0VxQjNtR0k7SU1wT0Ysa0NBQTZCO0UzQmsxRy9CO0VxQmxuR0k7SU1oT0Ysc0JBQTZCO0UzQnExRy9CO0VxQmpuR0k7SU1wT0Ysd0NBQTZCO0UzQncxRy9CO0VxQnhuR0k7SU1oT0Ysc0JBQTZCO0UzQjIxRy9CO0VxQnZuR0k7SU1wT0Ysd0NBQTZCO0UzQjgxRy9CO0FBQ0Y7O0FxQmx4R2dCO0VFeEVkLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsNEJBSDZCO0VBRzdCLDZCQUg2QjtNQUc3Qiw0QkFINkI7VUFHN0Isd0JBSDZCO0F2QmkyRy9COztBcUI5bUdFO0VHN01BLFdBQW1CO0VBQ25CLGVBQTJCO0F4Qit6RzdCOztBcUJubkdFO0VHak1FLFlBQW1CO0F4Qnd6R3ZCOztBcUJ2bkdFO0VHN0xFLFlBQW1CO0F4Qnd6R3ZCOztBcUIzbkdFO0VBMkJNLDZCQUFnQjtNQUFoQixnQkFBZ0I7QXJCb21HeEI7O0FFNXVHTTtFbUI2R0o7SUEyQk0sNkJBQWdCO1FBQWhCLGdCQUFnQjtFckJ5bUd0QjtBQUNGOztBRWx2R007RW1CNkdKO0lBMkJNLDZCQUFnQjtRQUFoQixnQkFBZ0I7RXJCK21HdEI7QUFDRjs7QUVudkdNO0VtQndHSjtJQTJCTSw2QkFBZ0I7UUFBaEIsZ0JBQWdCO0VyQnFuR3RCO0FBQ0Y7O0FFenZHTTtFbUJ3R0o7SUEyQk0sNkJBQWdCO1FBQWhCLGdCQUFnQjtFckIybkd0QjtBQUNGOztBcUJ2cEdFO0VHek5FLG1CQUFjO01BQWQsa0JBQWM7VUFBZCxjQUFjO0F4Qm8zR2xCOztBcUIzcEdFO0VHekxFLGdCQURvRDtBeEJ5MUd4RDs7QXFCL3BHRTtFR3pMRSxpQkFEb0Q7QXhCNjFHeEQ7O0FxQm5xR0U7RUd6TEUsV0FEb0Q7QXhCaTJHeEQ7O0FxQnZxR0U7RUd6TEUsaUJBRG9EO0F4QnEyR3hEOztBcUIzcUdFO0VHekxFLGlCQURvRDtBeEJ5Mkd4RDs7QXFCL3FHRTtFR3pMRSxXQURvRDtBeEI2Mkd4RDs7QXFCbnJHRTtFR3pMRSxpQkFEb0Q7QXhCaTNHeEQ7O0FxQnZyR0U7RUd6TEUsaUJBRG9EO0F4QnEzR3hEOztBcUIzckdFO0VHekxFLFdBRG9EO0F4QnkzR3hEOztBcUIvckdFO0VHekxFLGlCQURvRDtBeEI2M0d4RDs7QXFCbnNHRTtFR3pMRSxpQkFEb0Q7QXhCaTRHeEQ7O0FxQnZzR0U7RUd6TEUsWUFEb0Q7QXhCcTRHeEQ7O0FFeHpHTTtFbUI2R0o7SUc1TkUsbUJBQWE7UUFBYixpQkFBYTtZQUFiLGFBQWE7SUEyQmIsWUFBbUI7RXhCazVHckI7RXFCanRHQTtJR3pORSxtQkFBYztRQUFkLGtCQUFjO1lBQWQsY0FBYztFeEI2NkdoQjtFcUJwdEdBO0lHN0xFLFlBQW1CO0V4Qm81R3JCO0VxQnZ0R0E7SUd6TEUsZ0JBRG9EO0V4Qm81R3REO0VxQjF0R0E7SUd6TEUsaUJBRG9EO0V4QnU1R3REO0VxQjd0R0E7SUd6TEUsV0FEb0Q7RXhCMDVHdEQ7RXFCaHVHQTtJR3pMRSxpQkFEb0Q7RXhCNjVHdEQ7RXFCbnVHQTtJR3pMRSxpQkFEb0Q7RXhCZzZHdEQ7RXFCdHVHQTtJR3pMRSxXQURvRDtFeEJtNkd0RDtFcUJ6dUdBO0lHekxFLGlCQURvRDtFeEJzNkd0RDtFcUI1dUdBO0lHekxFLGlCQURvRDtFeEJ5Nkd0RDtFcUIvdUdBO0lHekxFLFdBRG9EO0V4QjQ2R3REO0VxQmx2R0E7SUd6TEUsaUJBRG9EO0V4Qis2R3REO0VxQnJ2R0E7SUd6TEUsaUJBRG9EO0V4Qms3R3REO0VxQnh2R0E7SUd6TEUsWUFEb0Q7RXhCcTdHdEQ7QUFDRjs7QUV6MkdNO0VtQjZHSjtJRzVORSxtQkFBYTtRQUFiLGlCQUFhO1lBQWIsYUFBYTtJQTJCYixZQUFtQjtFeEJtOEdyQjtFcUJsd0dBO0lHek5FLG1CQUFjO1FBQWQsa0JBQWM7WUFBZCxjQUFjO0V4Qjg5R2hCO0VxQnJ3R0E7SUc3TEUsWUFBbUI7RXhCcThHckI7RXFCeHdHQTtJR3pMRSxnQkFEb0Q7RXhCcThHdEQ7RXFCM3dHQTtJR3pMRSxpQkFEb0Q7RXhCdzhHdEQ7RXFCOXdHQTtJR3pMRSxXQURvRDtFeEIyOEd0RDtFcUJqeEdBO0lHekxFLGlCQURvRDtFeEI4OEd0RDtFcUJweEdBO0lHekxFLGlCQURvRDtFeEJpOUd0RDtFcUJ2eEdBO0lHekxFLFdBRG9EO0V4Qm85R3REO0VxQjF4R0E7SUd6TEUsaUJBRG9EO0V4QnU5R3REO0VxQjd4R0E7SUd6TEUsaUJBRG9EO0V4QjA5R3REO0VxQmh5R0E7SUd6TEUsV0FEb0Q7RXhCNjlHdEQ7RXFCbnlHQTtJR3pMRSxpQkFEb0Q7RXhCZytHdEQ7RXFCdHlHQTtJR3pMRSxpQkFEb0Q7RXhCbStHdEQ7RXFCenlHQTtJR3pMRSxZQURvRDtFeEJzK0d0RDtBQUNGOztBRXI1R007RW1Cd0dKO0lHNU5FLG1CQUFhO1FBQWIsaUJBQWE7WUFBYixhQUFhO0lBMkJiLFlBQW1CO0V4Qm8vR3JCO0VxQm56R0E7SUd6TkUsbUJBQWM7UUFBZCxrQkFBYztZQUFkLGNBQWM7RXhCK2dIaEI7RXFCdHpHQTtJRzdMRSxZQUFtQjtFeEJzL0dyQjtFcUJ6ekdBO0lHekxFLGdCQURvRDtFeEJzL0d0RDtFcUI1ekdBO0lHekxFLGlCQURvRDtFeEJ5L0d0RDtFcUIvekdBO0lHekxFLFdBRG9EO0V4QjQvR3REO0VxQmwwR0E7SUd6TEUsaUJBRG9EO0V4QisvR3REO0VxQnIwR0E7SUd6TEUsaUJBRG9EO0V4QmtnSHREO0VxQngwR0E7SUd6TEUsV0FEb0Q7RXhCcWdIdEQ7RXFCMzBHQTtJR3pMRSxpQkFEb0Q7RXhCd2dIdEQ7RXFCOTBHQTtJR3pMRSxpQkFEb0Q7RXhCMmdIdEQ7RXFCajFHQTtJR3pMRSxXQURvRDtFeEI4Z0h0RDtFcUJwMUdBO0lHekxFLGlCQURvRDtFeEJpaEh0RDtFcUJ2MUdBO0lHekxFLGlCQURvRDtFeEJvaEh0RDtFcUIxMUdBO0lHekxFLFlBRG9EO0V4QnVoSHREO0FBQ0Y7O0FFdDhHTTtFbUJ3R0o7SUc1TkUsbUJBQWE7UUFBYixpQkFBYTtZQUFiLGFBQWE7SUEyQmIsWUFBbUI7RXhCcWlIckI7RXFCcDJHQTtJR3pORSxtQkFBYztRQUFkLGtCQUFjO1lBQWQsY0FBYztFeEJna0hoQjtFcUJ2MkdBO0lHN0xFLFlBQW1CO0V4QnVpSHJCO0VxQjEyR0E7SUd6TEUsZ0JBRG9EO0V4QnVpSHREO0VxQjcyR0E7SUd6TEUsaUJBRG9EO0V4QjBpSHREO0VxQmgzR0E7SUd6TEUsV0FEb0Q7RXhCNmlIdEQ7RXFCbjNHQTtJR3pMRSxpQkFEb0Q7RXhCZ2pIdEQ7RXFCdDNHQTtJR3pMRSxpQkFEb0Q7RXhCbWpIdEQ7RXFCejNHQTtJR3pMRSxXQURvRDtFeEJzakh0RDtFcUI1M0dBO0lHekxFLGlCQURvRDtFeEJ5akh0RDtFcUIvM0dBO0lHekxFLGlCQURvRDtFeEI0akh0RDtFcUJsNEdBO0lHekxFLFdBRG9EO0V4QitqSHREO0VxQnI0R0E7SUd6TEUsaUJBRG9EO0V4QmtrSHREO0VxQng0R0E7SUd6TEUsaUJBRG9EO0V4QnFrSHREO0VxQjM0R0E7SUd6TEUsWUFEb0Q7RXhCd2tIdEQ7QUFDRjs7QXFCOTBHSTtFQ3BUSSxxQkFBNkQ7RUFBN0Qsd0JBQTZEO0F0QnVvSHJFOztBRWpnSE07RW1COEtGO0lDcFRJLHNCQUE2RDtJQUE3RCx5QkFBNkQ7RXRCNm9IbkU7QUFDRjs7QXFCMTFHSTtFQ3BUSSxxQkFBNkQ7RUFBN0Qsd0JBQTZEO0F0Qm1wSHJFOztBRTdnSE07RW1COEtGO0lDcFRJLHNCQUE2RDtJQUE3RCx5QkFBNkQ7RXRCeXBIbkU7QUFDRjs7QXFCampIRTtFQ3pHTSxxQkFBNkQ7RUFBN0Qsd0JBQTZEO0F0QitwSHJFOztBRXpoSE07RW1CN0JKO0lDekdNLHNCQUE2RDtJQUE3RCx5QkFBNkQ7RXRCcXFIbkU7QUFDRjs7QXFCN2pIRTtFRzFERSw0QkFENEU7RUZyQzFFLG9CQUE2RDtFQUE3RCx1QkFBNkQ7QXRCbXFIbkU7O0FFdGlITTtFbUI3Qko7SUcxREUsNkJBRDRFO0lGckMxRSxxQkFBNkQ7SUFBN0Qsd0JBQTZEO0V0QjBxSGpFO0FBQ0Y7O0FxQm5tSEU7RUcvQkUsWUFBbUI7QXhCc29IdkI7O0FxQm5tSEU7RUcvQkUsWUFBbUI7QXhCc29IdkI7O0FxQi9sSEk7RUduQ0EsZ0NBRGdIO0F4QnVvSHBIOztBcUJubUhJO0VHbkNBLGlDQURnSDtBeEIyb0hwSDs7QXFCdm1ISTtFR25DQSwyQkFEZ0g7QXhCK29IcEg7O0FxQjNtSEk7RUduQ0EsaUNBRGdIO0F4Qm1wSHBIOztBcUIvbUhJO0VHbkNBLGlDQURnSDtBeEJ1cEhwSDs7QXFCbm5ISTtFR25DQSwyQkFEZ0g7QXhCMnBIcEg7O0FxQnZuSEk7RUduQ0EsaUNBRGdIO0F4QitwSHBIOztBcUIzbkhJO0VHbkNBLGlDQURnSDtBeEJtcUhwSDs7QXFCL25ISTtFR25DQSwyQkFEZ0g7QXhCdXFIcEg7O0FxQm5vSEk7RUduQ0EsaUNBRGdIO0F4QjJxSHBIOztBcUJ2b0hJO0VHbkNBLGlDQURnSDtBeEIrcUhwSDs7QXFCM29ISTtFR25DQSw0QkFEZ0g7QXhCbXJIcEg7O0FFdG1ITTtFbUJyREo7SUcvQkUsWUFBbUI7RXhCK3JIckI7RXFCNXBIQTtJRy9CRSxZQUFtQjtFeEI4ckhyQjtFcUJ2cEhFO0lHbkNBLGlDQURnSDtFeEI4ckhsSDtFcUIxcEhFO0lHbkNBLGtDQURnSDtFeEJpc0hsSDtFcUI3cEhFO0lHbkNBLDRCQURnSDtFeEJvc0hsSDtFcUJocUhFO0lHbkNBLGtDQURnSDtFeEJ1c0hsSDtFcUJucUhFO0lHbkNBLGtDQURnSDtFeEIwc0hsSDtFcUJ0cUhFO0lHbkNBLDRCQURnSDtFeEI2c0hsSDtFcUJ6cUhFO0lHbkNBLGtDQURnSDtFeEJndEhsSDtFcUI1cUhFO0lHbkNBLGtDQURnSDtFeEJtdEhsSDtFcUIvcUhFO0lHbkNBLDRCQURnSDtFeEJzdEhsSDtFcUJsckhFO0lHbkNBLGtDQURnSDtFeEJ5dEhsSDtFcUJyckhFO0lHbkNBLGtDQURnSDtFeEI0dEhsSDtFcUJ4ckhFO0lHbkNBLDZCQURnSDtFeEIrdEhsSDtFcUJ2c0hBO0lHL0JFLFlBQW1CO0V4Qnl1SHJCO0VxQnRzSEE7SUcvQkUsWUFBbUI7RXhCd3VIckI7RXFCanNIRTtJR25DQSxpQ0FEZ0g7RXhCd3VIbEg7RXFCcHNIRTtJR25DQSxrQ0FEZ0g7RXhCMnVIbEg7RXFCdnNIRTtJR25DQSw0QkFEZ0g7RXhCOHVIbEg7RXFCMXNIRTtJR25DQSxrQ0FEZ0g7RXhCaXZIbEg7RXFCN3NIRTtJR25DQSxrQ0FEZ0g7RXhCb3ZIbEg7RXFCaHRIRTtJR25DQSw0QkFEZ0g7RXhCdXZIbEg7RXFCbnRIRTtJR25DQSxrQ0FEZ0g7RXhCMHZIbEg7RXFCdHRIRTtJR25DQSxrQ0FEZ0g7RXhCNnZIbEg7RXFCenRIRTtJR25DQSw0QkFEZ0g7RXhCZ3dIbEg7RXFCNXRIRTtJR25DQSxrQ0FEZ0g7RXhCbXdIbEg7RXFCL3RIRTtJR25DQSxrQ0FEZ0g7RXhCc3dIbEg7RXFCbHVIRTtJR25DQSw2QkFEZ0g7RXhCeXdIbEg7QUFDRjs7QUU3ckhNO0VtQnJESjtJRy9CRSxZQUFtQjtFeEJzeEhyQjtFcUJudkhBO0lHL0JFLFlBQW1CO0V4QnF4SHJCO0VxQjl1SEU7SUduQ0EsaUNBRGdIO0V4QnF4SGxIO0VxQmp2SEU7SUduQ0Esa0NBRGdIO0V4Qnd4SGxIO0VxQnB2SEU7SUduQ0EsNEJBRGdIO0V4QjJ4SGxIO0VxQnZ2SEU7SUduQ0Esa0NBRGdIO0V4Qjh4SGxIO0VxQjF2SEU7SUduQ0Esa0NBRGdIO0V4Qml5SGxIO0VxQjd2SEU7SUduQ0EsNEJBRGdIO0V4Qm95SGxIO0VxQmh3SEU7SUduQ0Esa0NBRGdIO0V4QnV5SGxIO0VxQm53SEU7SUduQ0Esa0NBRGdIO0V4QjB5SGxIO0VxQnR3SEU7SUduQ0EsNEJBRGdIO0V4QjZ5SGxIO0VxQnp3SEU7SUduQ0Esa0NBRGdIO0V4Qmd6SGxIO0VxQjV3SEU7SUduQ0Esa0NBRGdIO0V4Qm16SGxIO0VxQi93SEU7SUduQ0EsNkJBRGdIO0V4QnN6SGxIO0FBQ0Y7O0FFcnVITTtFbUIxREo7SUcvQkUsWUFBbUI7RXhCbTBIckI7RXFCaHlIQTtJRy9CRSxZQUFtQjtFeEJrMEhyQjtFcUIzeEhFO0lHbkNBLGlDQURnSDtFeEJrMEhsSDtFcUI5eEhFO0lHbkNBLGtDQURnSDtFeEJxMEhsSDtFcUJqeUhFO0lHbkNBLDRCQURnSDtFeEJ3MEhsSDtFcUJweUhFO0lHbkNBLGtDQURnSDtFeEIyMEhsSDtFcUJ2eUhFO0lHbkNBLGtDQURnSDtFeEI4MEhsSDtFcUIxeUhFO0lHbkNBLDRCQURnSDtFeEJpMUhsSDtFcUI3eUhFO0lHbkNBLGtDQURnSDtFeEJvMUhsSDtFcUJoekhFO0lHbkNBLGtDQURnSDtFeEJ1MUhsSDtFcUJuekhFO0lHbkNBLDRCQURnSDtFeEIwMUhsSDtFcUJ0ekhFO0lHbkNBLGtDQURnSDtFeEI2MUhsSDtFcUJ6ekhFO0lHbkNBLGtDQURnSDtFeEJnMkhsSDtFcUI1ekhFO0lHbkNBLDZCQURnSDtFeEJtMkhsSDtBQUNGOztBRWx4SE07RW1CMURKO0lHL0JFLFlBQW1CO0V4QmczSHJCO0VxQjcwSEE7SUcvQkUsWUFBbUI7RXhCKzJIckI7RXFCeDBIRTtJR25DQSxpQ0FEZ0g7RXhCKzJIbEg7RXFCMzBIRTtJR25DQSxrQ0FEZ0g7RXhCazNIbEg7RXFCOTBIRTtJR25DQSw0QkFEZ0g7RXhCcTNIbEg7RXFCajFIRTtJR25DQSxrQ0FEZ0g7RXhCdzNIbEg7RXFCcDFIRTtJR25DQSxrQ0FEZ0g7RXhCMjNIbEg7RXFCdjFIRTtJR25DQSw0QkFEZ0g7RXhCODNIbEg7RXFCMTFIRTtJR25DQSxrQ0FEZ0g7RXhCaTRIbEg7RXFCNzFIRTtJR25DQSxrQ0FEZ0g7RXhCbzRIbEg7RXFCaDJIRTtJR25DQSw0QkFEZ0g7RXhCdTRIbEg7RXFCbjJIRTtJR25DQSxrQ0FEZ0g7RXhCMDRIbEg7RXFCdDJIRTtJR25DQSxrQ0FEZ0g7RXhCNjRIbEg7RXFCejJIRTtJR25DQSw2QkFEZ0g7RXhCZzVIbEg7QUFDRjs7QXFCam9IRTtFT3pWRSxnQkFBZ0I7RUFDaEIsa0JBQWtCO0VBQ2xCLHFCQUFpQjtNQUFqQixpQkFBaUI7RUFDakIsMEJBQW9CO01BQXBCLHVCQUFvQjtVQUFwQixvQkFBb0I7RUEyQmhCLFlBQXNDO0E1Qm84SDlDOztBcUJyb0hFO0VBQ0UsV0FBVztBckJ3b0hmOztBcUJyb0hFO0VPaFRFLGdCQUFnQjtFQUNoQixlQUFlO0VBR2pCLGlDQUFpQztFQUNqQyw0Q0FBNEM7QTVCdTdIOUM7O0Fx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aEIsYUFBdUM7RTVCeXBJN0M7QUFDRjs7QUUzaElNO0VtQjRPRjtJQVFNLFdBQVc7SU8vWWpCLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIscUJBQWlCO1FBQWpCLGlCQUFpQjtJQUNqQiwwQkFBb0I7UUFBcEIsdUJBQW9CO1lBQXBCLG9CQUFvQjtJQXlCaEIsYUFBdUM7RTVCb3FJN0M7QUFDRjs7QXFCNXlISTtFQUVJLFlBQVk7QXJCOHlIcEI7O0FFL2lJTTtFbUIrUEY7SUFNTSxZQUFZO0VyQit5SHBCO0FBQ0Y7O0FFcmpJTTtFbUIrUEY7SUFNTSxZQUFZO0VyQnF6SHBCO0FBQ0Y7O0FFdGpJTTtFbUIwUEY7SUFNTSxZQUFZO0VyQjJ6SHBCO0FBQ0Y7O0FFNWpJTTtFbUIwUEY7SUFNTSxZQUFZO0VyQmkwSHBCO0FBQ0Y7O0FxQnBtSUU7RUN6R00scUJBQTZEO0VBQTdELHdCQUE2RDtBdEJrdElyRTs7QUU1a0lNO0VtQjdCSjtJQ3pHTSxzQkFBNkQ7SUFBN0QseUJBQTZEO0V0Qnd0SW5FO0FBQ0Y7O0FxQmhuSUU7RUcxREUsNEJBRDRFO0VGckMxRSxvQkFBNkQ7RUFBN0QsdUJBQTZEO0F0QnN0SW5FOztBRXpsSU07RW1CN0JKO0lHMURFLDZCQUQ0RTtJRnJDMUUscUJBQTZEO0lBQTdELHdCQUE2RDtFdEI2dElqRTtBQUNGOztBcUJ0cElFO0VHL0JFLFlBQW1CO0F4QnlySXZCOztBcUJ0cElFO0VHL0JFLFlBQW1CO0F4QnlySXZCOztBcUJscElJO0VHbkNBLGdDQURnSDtBeEIwcklwSDs7QXFCdHBJSTtFR25DQSxpQ0FEZ0g7QXhCOHJJcEg7O0FxQjFwSUk7RUduQ0EsMkJBRGdIO0F4QmtzSXBIOztBcUI5cElJO0VHbkNBLGlDQURnSDtBeEJzc0lwSDs7QXFCbHFJSTtFR25DQSxpQ0FEZ0g7QXhCMHNJcEg7O0FxQnRxSUk7RUduQ0EsMkJBRGdIO0F4QjhzSXBIOztBcUIxcUlJO0VHbkNBLGlDQURnSDtBeEJrdElwSDs7QXFCOXFJSTtFR25DQSxpQ0FEZ0g7QXhCc3RJcEg7O0FxQmxySUk7RUduQ0EsMkJBRGdIO0F4QjB0SXBIOztBcUJ0cklJO0VHbkNBLGlDQURnSDtBeEI4dElwSDs7QXFCMXJJSTtFR25DQSxpQ0FEZ0g7QXhCa3VJcEg7O0FxQjlySUk7RUduQ0EsNEJBRGdIO0F4QnN1SXBIOztBRXpwSU07RW1CckRKO0lHL0JFLFlBQW1CO0V4Qmt2SXJCO0VxQi9zSUE7SUcvQkUsWUFBbUI7RXhCaXZJckI7RXFCMXNJRTtJR25DQSxpQ0FEZ0g7RXhCaXZJbEg7RXFCN3NJRTtJR25DQSxrQ0FEZ0g7RXhCb3ZJbEg7RXFCaHRJRTtJR25DQSw0QkFEZ0g7RXhCdXZJbEg7RXFCbnRJRTtJR25DQSxrQ0FEZ0g7RXhCMHZJbEg7RXFCdHRJRTtJR25DQSxrQ0FEZ0g7RXhCNnZJbEg7RXFCenRJRTtJR25DQSw0QkFEZ0g7RXhCZ3dJbEg7RXFCNXRJRTtJR25DQSxrQ0FEZ0g7RXhCbXdJbEg7RXFCL3RJRTtJR25DQSxrQ0FEZ0g7RXhCc3dJbEg7RXFCbHVJRTtJR25DQSw0QkFEZ0g7RXhCeXdJbEg7RXFCcnVJRTtJR25DQSxrQ0FEZ0g7RXhCNHdJbEg7RXFCeHVJRTtJR25DQSxrQ0FEZ0g7RXhCK3dJbEg7RXFCM3VJRTtJR25DQSw2QkFEZ0g7RXhCa3hJbEg7RXFCMXZJQTtJRy9CRSxZQUFtQjtFeEI0eElyQjtFcUJ6dklBO0lHL0JFLFlBQW1CO0V4QjJ4SXJCO0VxQnB2SUU7SUduQ0EsaUNBRGdIO0V4QjJ4SWxIO0VxQnZ2SUU7SUduQ0Esa0NBRGdIO0V4Qjh4SWxIO0VxQjF2SUU7SUduQ0EsNEJBRGdIO0V4Qml5SWxIO0VxQjd2SUU7SUduQ0Esa0NBRGdIO0V4Qm95SWxIO0VxQmh3SUU7SUduQ0Esa0NBRGdIO0V4QnV5SWxIO0VxQm53SUU7SUduQ0EsNEJBRGdIO0V4QjB5SWxIO0VxQnR3SUU7SUduQ0Esa0NBRGdIO0V4QjZ5SWxIO0VxQnp3SUU7SUduQ0Esa0NBRGdIO0V4Qmd6SWxIO0VxQjV3SUU7SUduQ0EsNEJBRGdIO0V4Qm16SWxIO0VxQi93SUU7SUduQ0Esa0NBRGdIO0V4QnN6SWxIO0VxQmx4SUU7SUduQ0Esa0NBRGdIO0V4Qnl6SWxIO0VxQnJ4SUU7SUduQ0EsNkJBRGdIO0V4QjR6SWxIO0FBQ0Y7O0FFaHZJTTtFbUJyREo7SUcvQkUsWUFBbUI7RXhCeTBJckI7RXFCdHlJQTtJRy9CRSxZQUFtQjtFeEJ3MElyQjtFcUJqeUlFO0lHbkNBLGlDQURnSDtFeEJ3MElsSDtFcUJweUlFO0lHbkNBLGtDQURnSDtFeEIyMElsSDtFcUJ2eUlFO0lHbkNBLDRCQURnSDtFeEI4MElsSDtFcUIxeUlFO0lHbkNBLGtDQURnSDtFeEJpMUlsSDtFcUI3eUlFO0lHbkNBLGtDQURnSDtFeEJvMUlsSDtFcUJoeklFO0lHbkNBLDRCQURnSDtFeEJ1MUlsSDtFcUJueklFO0lHbkNBLGtDQURnSDtFeEIwMUlsSDtFcUJ0eklFO0lHbkNBLGtDQURnSDtFeEI2MUlsSDtFcUJ6eklFO0lHbkNBLDRCQURnSDtFeEJnMklsSDtFcUI1eklFO0lHbkNBLGtDQURnSDtFeEJtMklsSDtFcUIveklFO0lHbkNBLGtDQURnSDtFeEJzMklsSDtFcUJsMElFO0lHbkNBLDZCQURnSDtFeEJ5MklsSDtBQUNGOztBRXh4SU07RW1CMURKO0lHL0JFLFlBQW1CO0V4QnMzSXJCO0VxQm4xSUE7SUcvQkUsWUFBbUI7RXhCcTNJckI7RXFCOTBJRTtJR25DQSxpQ0FEZ0g7RXhCcTNJbEg7RXFCajFJRTtJR25DQSxrQ0FEZ0g7RXhCdzNJbEg7RXFCcDFJRTtJR25DQSw0QkFEZ0g7RXhCMjNJbEg7RXFCdjFJRTtJR25DQSxrQ0FEZ0g7RXhCODNJbEg7RXFCMTFJRTtJR25DQSxrQ0FEZ0g7RXhCaTRJbEg7RXFCNzFJRTtJR25DQSw0QkFEZ0g7RXhCbzRJbEg7RXFCaDJJRTtJR25DQSxrQ0FEZ0g7RXhCdTRJbEg7RXFCbjJJRTtJR25DQSxrQ0FEZ0g7RXhCMDRJbEg7RXFCdDJJRTtJR25DQSw0QkFEZ0g7RXhCNjRJbEg7RXFCejJJRTtJR25DQSxrQ0FEZ0g7RXhCZzVJbEg7RXFCNTJJRTtJR25DQSxrQ0FEZ0g7RXhCbTVJbEg7RXFCLzJJRTtJR25DQSw2QkFEZ0g7RXhCczVJbEg7QUFDRjs7QUVyMElNO0VtQjFESjtJRy9CRSxZQUFtQjtFeEJtNklyQjtFcUJoNElBO0lHL0JFLFlBQW1CO0V4Qms2SXJCO0VxQjMzSUU7SUduQ0EsaUNBRGdIO0V4Qms2SWxIO0VxQjkzSUU7SUduQ0Esa0NBRGdIO0V4QnE2SWxIO0VxQmo0SUU7SUduQ0EsNEJBRGdIO0V4Qnc2SWxIO0VxQnA0SUU7SUduQ0Esa0NBRGdIO0V4QjI2SWxIO0VxQnY0SUU7SUduQ0Esa0NBRGdIO0V4Qjg2SWxIO0VxQjE0SUU7SUduQ0EsNEJBRGdIO0V4Qmk3SWxIO0VxQjc0SUU7SUduQ0Esa0NBRGdIO0V4Qm83SWxIO0VxQmg1SUU7SUduQ0Esa0NBRGdIO0V4QnU3SWxIO0VxQm41SUU7SUduQ0EsNEJBRGdIO0V4QjA3SWxIO0VxQnQ1SUU7SUduQ0Esa0NBRGdIO0V4QjY3SWxIO0VxQno1SUU7SUduQ0Esa0NBRGdIO0V4Qmc4SWxIO0VxQjU1SUU7SUduQ0EsNkJBRGdIO0V4Qm04SWxIO0FBQ0Y7O0FxQjNtSUk7RU8vWUksNkJBQW1DO0E1QjgvSTNDOztBRTMzSU07RW1CNFFGO0lPL1lJLDhCQUFtQztFNUJtZ0p6QztBQUNGOztBRWo0SU07RW1CNFFGO0lPL1lJLDhCQUFtQztFNUJ5Z0p6QztBQUNGOztBRWw0SU07RW1CdVFGO0lPL1lJLDhCQUFtQztFNUIrZ0p6QztBQUNGOztBRXg0SU07RW1CdVFGO0lPL1lJLDhCQUFtQztFNUJxaEp6QztBQUNGOztBRW41SU07RW1CZ1JBO0lPblpFLDhCQUFtQztFNUIyaEp6QztBQUNGOztBRXo1SU07RW1CZ1JBO0lPblpFLDhCQUFtQztFNUJpaUp6QztBQUNGOztBRTE1SU07RW1CMlFBO0lPblpFLDhCQUFtQztFNUJ1aUp6QztBQUNGOztBRWg2SU07RW1CMlFBO0lPblpFLDhCQUFtQztFNUI2aUp6QztBQUNGOztBNkJ4MElFO0VBaExBLHFCQUFxQjtFQUNyQixzQkFBc0I7RUFDdEIsa0JBekVrQztFQW1GaEMsY3RCMURrQjtFc0I2RHBCLDZCQUE2QjtFQUM3QixrQnRCckVpQjtFc0JzRWpCLHlFQTFCdUU7RUEwQnZFLGlFQTFCdUU7RUEyQnZFLG9CQWpHMEI7RUFtRzFCLHdCQUF3QjtFQUN4QixjQUFjO0VBQ2Qsa0JBQWtCO0VBQ2xCLGVBQWU7RUFxQ2YseUJ0QmhKcUI7RXNCaUpyQixjeEJsR2E7QUw4aUpmOztBQUVBO0VRMTVJSSxVQUFVO0FSNDVJZDs7QTZCOThJRTtFQUNFLHlCQTNIdUU7RUE0SHZFLGN4QnRHVztBTHVqSmY7O0E2QmwySUU7RUFNTSxpQnRCek9RO0FQeWtKaEI7O0E2QnQySUU7RUFNTSxrQnRCeE9VO0FQNGtKbEI7O0E2QjEySUU7RUFNTSxldEJ2T1E7QVAra0poQjs7QTZCOTJJRTtFQU1NLGtCdEJ0T1U7QVBrbEpsQjs7QTZCbDNJRTtFQWxKRSxjQUFjO0VBQ2QsV0FBVztFQUNYLGVBQWU7RUFDZixjQUFjO0E3QndnSmxCOztBNkJ6M0lFO0VBcEhBLHlCdEJoSnFCO0VzQmlKckIsY3hCbEdhO0FMbWxKZjs7QTZCLytJRTtFQUNFLHlCQVBvRjtFQVFwRixjeEJ0R1c7QUx3bEpmOztBNkJuNElFO0VBcEhBLHlCdEIvSXVCO0VzQmdKdkIsY3hCbEdhO0FMNmxKZjs7QTZCei9JRTtFQUNFLHlCQVBvRjtFQVFwRixjeEJ0R1c7QUxrbUpmOztBNkI3NElFO0VBcEhBLHlCdEI5SXFCO0VzQitJckIsY3hCdEdhO0FMMm1KZjs7QTZCbmdKRTtFQUNFLHlCQVBvRjtFQVFwRixjeEIxR1c7QUxnbkpmOztBNkJ2NUlFO0VBcEhBLHlCdEI1SXFCO0VzQjZJckIsY3hCdEdhO0FMcW5KZjs7QTZCN2dKRTtFQUNFLHlCQVBvRjtFQVFwRixjeEIxR1c7QUwwbkpmOztBNkJqNklFO0VBcEhBLHlCdEI3SW1CO0VzQjhJbkIsY3hCbEdhO0FMMm5KZjs7QTZCdmhKRTtFQUNFLHlCQVBvRjtFQVFwRixjeEJ0R1c7QUxnb0pmOztBNkIzNklFO0VBMURBLGFBaEo0QjtFQWlKNUIsbUJBQW1CO0E3QnkrSXJCOztBNkJ2K0lFO0VBQ0UseUJ0QjlNbUI7RXNCK01uQixjeEJoS1c7QUwwb0pmOztBNkJyN0lFO0VBMURBLGFBaEo0QjtFQWlKNUIsbUJBQW1CO0E3Qm0vSXJCOztBNkJqL0lFO0VBQ0UseUJ0QjlNbUI7RXNCK01uQixjeEJoS1c7QUxvcEpmOztBNkIvN0lFO0VBMURBLGFBaEo0QjtFQWlKNUIsbUJBQW1CO0E3QjYvSXJCOztBNkIzL0lFO0VBQ0UseUJ0QjdNcUI7RXNCOE1yQixjeEJoS1c7QUw4cEpmOztBNkJ6OElFO0VBMURBLGFBaEo0QjtFQWlKNUIsbUJBQW1CO0E3QnVnSnJCOztBNkJyZ0pFO0VBQ0UseUJ0QjVNbUI7RXNCNk1uQixjeEJwS1c7QUw0cUpmOztBNkJuOUlFO0VBMURBLGFBaEo0QjtFQWlKNUIsbUJBQW1CO0E3QmloSnJCOztBNkIvZ0pFO0VBQ0UseUJ0QjFNbUI7RXNCMk1uQixjeEJwS1c7QUxzckpmOztBNkI3OUlFO0VBMURBLGFBaEo0QjtFQWlKNUIsbUJBQW1CO0E3QjJoSnJCOztBNkJ6aEpFO0VBQ0UseUJ0QjNNaUI7RXNCNE1qQixjeEJoS1c7QUw0ckpmOztBNkJ2K0lFO0VBbkZBLHlCdEJqTHFCO0VzQmtMckIsY3RCbExxQjtBUGd2SnZCOztBNkJybEpFO0VBR0UsNkJBQTZCO0E3QnNsSmpDOztBNkJqbEpJO0VBRUUsNkJBQTZCO0E3Qm1sSm5DOztBNkJwa0pFO0VBQ0UscUJBTjZEO0VBTzdELGNBUDZEO0E3QjhrSmpFOztBNkJ0a0pJO0VBRUUseUJ0QnpMaUI7RXNCMExqQixjdEIxTGlCO0FQa3dKdkI7O0E2QjkvSUU7RUFuRkEseUJ0QmpMcUI7RXNCa0xyQixjdEJsTHFCO0FQdXdKdkI7O0E2Qm5sSkU7RUFDRSxxQkFONkQ7RUFPN0QsY0FQNkQ7QTdCNmxKakU7O0E2QnJsSkk7RUFFRSx5QnRCekxpQjtFc0IwTGpCLGN0QjFMaUI7QVBpeEp2Qjs7QTZCN2dKRTtFQW5GQSx5QnRCaEx1QjtFc0JpTHZCLGN0QmpMdUI7QVBxeEp6Qjs7QTZCbG1KRTtFQUNFLHFCQU42RDtFQU83RCxjQVA2RDtBN0I0bUpqRTs7QTZCcG1KSTtFQUVFLHlCdEJ4TG1CO0VzQnlMbkIsY3RCekxtQjtBUCt4SnpCOztBNkI1aEpFO0VBbkZBLHlCdEIvS3FCO0VzQmdMckIsY3RCaExxQjtBUG15SnZCOztBNkJqbkpFO0VBQ0UscUJBTjZEO0VBTzdELGNBUDZEO0E3QjJuSmpFOztBNkJubkpJO0VBRUUseUJ0QnZMaUI7RXNCd0xqQixjdEJ4TGlCO0FQNnlKdkI7O0E2QjNpSkU7RUFuRkEseUJ0QjdLcUI7RXNCOEtyQixjdEI5S3FCO0FQZ3pKdkI7O0E2QmhvSkU7RUFDRSxxQkFONkQ7RUFPN0QsY0FQNkQ7QTdCMG9KakU7O0E2QmxvSkk7RUFFRSx5QnRCckxpQjtFc0JzTGpCLGN0QnRMaUI7QVAwekp2Qjs7QTZCMWpKRTtFQW5GQSx5QnRCOUttQjtFc0IrS25CLGN0Qi9LbUI7QVBnMEpyQjs7QTZCL29KRTtFQUNFLHFCQU42RDtFQU83RCxjQVA2RDtBN0J5cEpqRTs7QTZCanBKSTtFQUVFLHlCdEJ0TGU7RXNCdUxmLGN0QnZMZTtBUDAwSnJCOztBNkJ6a0pFO0VBbkZBLHlCdEJqTHFCO0VzQmtMckIsY3RCbExxQjtBUGsxSnZCOztBNkJ2ckpFO0VBR0UsNkJBQTZCO0E3QndySmpDOztBNkJuckpJO0VBRUUsNkJBQTZCO0E3QnFySm5DOztBNkJ0cUpFO0VBQ0UscUJBTjZEO0VBTzdELGNBUDZEO0E3QmdySmpFOztBNkJ4cUpJO0VBRUUseUJ0QnpMaUI7RXNCMExqQixjdEIxTGlCO0FQbzJKdkI7O0E2QmhtSkU7RUF1RlUseUJBQXlCO0E3QjZnSnJDOztBNkJwbUpFO0VBbkZBLHlCdEJqTHFCO0VzQmtMckIsY3RCbExxQjtBUDYySnZCOztBNkJ6ckpFO0VBQ0UscUJBTjZEO0VBTzdELGNBUDZEO0E3Qm1zSmpFOztBNkIzckpJO0VBRUUseUJ0QnpMaUI7RXNCMExqQixjdEIxTGlCO0FQdTNKdkI7O0E2Qm5uSkU7RUFvR2MseUJBQXlCO0E3Qm1oSnpDOztBNkJ2bkpFO0VBbkZBLHlCdEJoTHVCO0VzQmlMdkIsY3RCakx1QjtBUCszSnpCOztBNkI1c0pFO0VBQ0UscUJBTjZEO0VBTzdELGNBUDZEO0E3QnN0SmpFOztBNkI5c0pJO0VBRUUseUJ0QnhMbUI7RXNCeUxuQixjdEJ6TG1CO0FQeTRKekI7O0E2QnRvSkU7RUFvR2MseUJBQXlCO0E3QnNpSnpDOztBNkIxb0pFO0VBbkZBLHlCdEIvS3FCO0VzQmdMckIsY3RCaExxQjtBUGk1SnZCOztBNkIvdEpFO0VBQ0UscUJBTjZEO0VBTzdELGNBUDZEO0E3Qnl1SmpFOztBNkJqdUpJO0VBRUUseUJ0QnZMaUI7RXNCd0xqQixjdEJ4TGlCO0FQMjVKdkI7O0E2QnpwSkU7RUFvR2MseUJBQXlCO0E3QnlqSnpDOztBNkI3cEpFO0VBbkZBLHlCdEI3S3FCO0VzQjhLckIsY3RCOUtxQjtBUGs2SnZCOztBNkJsdkpFO0VBQ0UscUJBTjZEO0VBTzdELGNBUDZEO0E3QjR2SmpFOztBNkJwdkpJO0VBRUUseUJ0QnJMaUI7RXNCc0xqQixjdEJ0TGlCO0FQNDZKdkI7O0E2QjVxSkU7RUFvR2MseUJBQXlCO0E3QjRrSnpDOztBNkJockpFO0VBbkZBLHlCdEI5S21CO0VzQitLbkIsY3RCL0ttQjtBUHM3SnJCOztBNkJyd0pFO0VBQ0UscUJBTjZEO0VBTzdELGNBUDZEO0E3Qit3SmpFOztBNkJ2d0pJO0VBRUUseUJ0QnRMZTtFc0J1TGYsY3RCdkxlO0FQZzhKckI7O0E2Qi9ySkU7RUFvR2MseUJBQXlCO0E3QitsSnpDOztBNkIzdUpFO0VyQnZMQSxjQUFjO0VBQ2QsUUFBUTtFQUNSLFNBQVM7RUFFVCxtQnFCK0tZO0VyQjdLWixXQUFXO0VBR1Qsc0JBQXNCO0VBQ3RCLHVCQUF1QjtFQUN2Qiw2Q0FBcUQ7RXFCOEtyRCxrQkFBa0I7RUFDbEIsVUFBVTtFQUVWLHFCQUFxQjtFQUNyQixZQUFPO0VBQ1Asa0J0QjdMa0I7QVBpN0p0Qjs7QTZCbnRKRTtFQXdIUSx5QnRCNVhhO0FQMjlKdkI7O0E2QnZ0SkU7RUE4SFkseUJ0QmxZUztBUCs5SnZCOztBNkIzdEpFO0VBOEhZLHlCdEJqWVc7QVBrK0p6Qjs7QTZCL3RKRTtFQThIWSx5QnRCaFlTO0FQcStK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ZCxjQTVDVztFQTZDWCxjQXhDd0I7QS9CNG9LMUI7O0FnQzduS0U7RUFaQSxxQkFBcUI7RUFDckIsMEJBVCtCO0VBVy9CLGdCM0JtRGU7RTJCakRmLGlCQWpCc0I7RUFrQnRCLGNBQWM7RUFDZCxtQkFBbUI7RUFDbkIsZUFBZTtFQU9iLG1CekJoRG1CO0V5QmlEbkIsYzNCRlc7QUx1b0tmOztBZ0N6b0tFO0VBUU0sbUJ6QnJEZTtFeUJzRGYsYzNCUE87QUw0b0tmOztBZ0M5b0tFO0VBUU0sbUJ6QnBEaUI7RXlCcURqQixjM0JQTztBTGlwS2Y7O0FnQ25wS0U7RUFRTSxtQnpCbkRlO0V5Qm9EZixjM0JYTztBTDBwS2Y7O0FnQ3hwS0U7RUFRTSxtQnpCakRlO0V5QmtEZixjM0JYTztBTCtwS2Y7O0FnQzdwS0U7RUFRTSxtQnpCbERhO0V5Qm1EYixjM0JQTztBTGdxS2Y7O0FpQzNxS0U7RUFuQ0EsWUNJb0I7RURIcEIsbUI1QmlFa0I7RTRCaEVsQixnQjVCb0ZlO0U0Qm5GZix5QjVCK0JtQjtBTG1yS3JCOztBaUNscktFO0VBTVEseUIxQjFDYTtBUDB0S3ZCOztBaUN0cktFO0VBTVEseUIxQnpDZTtBUDZ0S3pCOztBaUMxcktFO0VBTVEseUIxQnhDYTtBUGd1S3ZCOztBaUM5cktFO0VBTVEseUIxQnRDYTtBUGt1S3ZCOztBaUNsc0tFO0VBTVEseUIxQnZDVztBUHV1S3JCOztBaUN6cktFO0VBeENBLGtCQUFrQjtFQUNsQixjQUFjO0VBQ2QsU0FBUztFQUNULFlBQVk7RUFDWix5QjFCYnFCO0FQa3ZLdkI7O0FpQzVyS0U7RXpCOExBLGtCQUFrQjtFQUNsQixRQUFRO0VBQ1IsU0FBUztFQUNULHdDQUFnQztVQUFoQyxnQ0FBZ0M7RXlCaE9oQyxTQUFTO0VBQ1Qsa0JBQWtCO0VBQ2xCLGlCQUFpQjtFQUNqQixjNUJxQmE7RTRCcEJiLG1CQUFtQjtBakNtdUtyQjs7QW1DMXBLRTtFQXBGQSxrQkFBa0I7RUFDbEIsY0Nab0I7RURhcEIsbUJBQW1CO0VBQ25CLHNCQUFzQjtFQUV0Qix5QjlCVWtCO0U4QlRsQixl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Q0UsV0FSK0I7RUFTL0IsY0FsS3VCO0VBbUt2QixtQi9CakdxRDtBTjAxS3pEOztBcUN0dktFO0VBQ0UsWUEvSTBCO0VBZ0oxQixhQWhKMEI7RUFpSjFCLFdBZmtEO0VBZ0JsRCxZQWZtRDtBckN3d0t2RDs7QXFDdHZLRTtFQUNFLGFBbEJtRTtBckMyd0t2RTs7QXFDOXNLRTtFQTNEQSxlQTFKMkI7QXJDdTZLN0I7O0FxQzN3S0U7RUFDRSxhQVIrQjtFQVMvQixlQTlKeUI7RUErSnpCLGtCL0JqR3FEO0FOKzJLekQ7O0FxQzN3S0U7RUFDRSxZQS9JMEI7RUFnSjFCLGFBaEowQjtFQWlKMUIsY0Fma0Q7RUFnQmxELGVBZm1EO0FyQzZ4S3ZEOztBcUMzd0tFO0VBQ0UsVUFsQm1FO0FyQ2d5S3ZFOztBcUMvdEtFO0VBL0RBLGNBdEowQjtBckN3N0s1Qjs7QXFDaHlLRTtFQUNFLFdBUitCO0VBUy9CLGNBMUp3QjtFQTJKeEIsZS9CakdxRDtBTm80S3pEOztBcUNoeUtFO0VBQ0UsWUEvSTBCO0VBZ0oxQixhQWhKMEI7RUFpSjFCLFdBZmtEO0VBZ0JsRCxZQWZtRDtBckNrekt2RDs7QXFDaHlLRTtFQUNFLGFBbEJtRTtBckNxekt2RTs7QXNDdnJLRTtFQTlHQSx5QkFBeUI7RUFDekIsV0FBVztFQUNYLG1CakM1SGtCO0VpQzZIbEIsZ0JqQ3pHZTtBTGs1S2pCOztBc0NoNEtFOzs7RUFHRSx5QkNuQjZDO0VEb0I3Qyx5QmpDOURXO0FMaThLZjs7QXNDLzNLRTtFQUNFLGlDaEMvQnFEO0VnQ2dDckQsaUJqQ2hDcUI7QUxrNkt6Qjs7QW9CMTdLSTtFa0I2REEsbUJDL0I2QztFRGdDN0MsY2pDOUVXO0FMKzhLZjs7QXNDNzNLRTtFQUNFLG1CQ3JDNkM7RURzQzdDLGNqQ3BGVztBTG85S2Y7O0FzQzUzS0U7O0VBSUksdUJBQXVCO0F0QzYzSzdCOztBc0NqNEtFOzs7O0VBVUksaUNoQzFEbUQ7RWdDMkRuRCxpQmpDM0RtQjtFaUM0RG5CLGdCQUFZO0F0QzgzS2xCOztBc0N6M0tFOztFQUdJLGlDaENwRW1EO0FOKzdLekQ7O0FzQ2o4S007RUFDRSxnQkFBZ0I7RUFDaEIseUJDTXlDO0F2Qzg3S2pEOztBc0NyM0tNO0VBRUUseUJqQ3JITztBTDQrS2Y7O0FzQzE3S0U7RUFDRSxnQkFBZ0I7RUFDaEIsZ0NDVjZDO0VEVzdDLHlCakNyRFc7QUxrL0tmOztBRTMzS007RW9DZ0hGO0lBQ0UsYUFBYTtFdEMrd0tqQjtFc0Mzd0tBO0lBQ0UsYUFBYTtFdEM2d0tmO0VzQzF3S0E7OztJQUdFLGNBQWM7RXRDNHdLaEI7RXNDendLQTtJQUNFLGFBQWE7RXRDMndLZjtBQUNGOztBc0M3dktFO0VBdkdBLGNBQWM7RUFDZCxXQUFXO0VBQ1gsZ0JBQWdCO0F0Q3cyS2xCOztBc0NqMktJO0VBQ0UseUJBckttRTtBdEN5Z0x6RTs7QXNDOTFLSTtFQUNFLHlCQXBLbUU7QXRDcWdMekU7O0FzQzMxS0k7RUFDRSx5QkEzTXlEO0F0Q3lpTC9EOztBc0N2MUtNO0VBQ0UseUJBL01tRjtBdEN5aUwzRjs7QXNDM3dLRTtFQUNFLGdCQUFnQjtBdEM4d0twQjs7QXdDaGlMRTtFQVhBLHFCQUFxQjtFQUNyQixnQkFUb0I7RUFVcEIsY0FkbUI7RUFnQm5CLGtCQUFrQjtFQUVsQixpQkFWc0I7RUFXdEIsa0JBQWtCO0VBT2hCLG1CakMvQ21CO0VpQ2dEbkIsY25DRFc7QUx3aUxmOztBd0MzaUxFO0VBUU0sbUJqQ3BEZTtFaUNxRGYsY25DTk87QUw2aUxmOztBd0NoakxFO0VBUU0sbUJqQ25EaUI7RWlDb0RqQixjbkNOTztBTGtqTGY7O0F3Q3JqTEU7RUFRTSxtQmpDbERlO0VpQ21EZixjbkNWTztBTDJqTGY7O0F3QzFqTEU7RUFRTSxtQmpDaERlO0VpQ2lEZixjbkNWTztBTGdrTGY7O0F3Qy9qTEU7RUFRTSxtQmpDakRhO0VpQ2tEYixjbkNOTztBTGlrTGY7O0F5Q3ZnTEU7RUE3Q0Esa0JBdkR1QztFQXdEdkMsZ0JBQWdCO0F6Q3dqTGxCOztBUWo5S0U7RUFFRSxjQUFjO0VBQ2QsWUFBWTtFQUdWLDBCQUFhO01BQWIsYUFBYTtFQUNiLDRCQUFRO01BQVIs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VUFBUixRQUFRO0FSa29MZDs7QVE5bkxFO0VBQ0UsV0FBVztBUmlvTGY7O0E2Q3B1TEU7RUFDRSx1QnZDS3FEO0V1Q0pyRCxnQnhDUWE7RXdDUGIsbUJ2Q0dxRDtFdUNHbkQsYUFBYTtBN0NrdUxuQjs7QTZDaHVMTTtFQUVFLHFCQUFxQjtBN0NrdUw3Qjs7QUUzcExNO0UyQ3BGSjtJQXVCTSxxQkFBcUI7RTdDNnRMM0I7QUFDRjs7QTZDeHRMRTs7RUFFRSxjQUFjO0VBQ2QsMkJ2QzFCcUQ7RXVDMkJyRCxnQnhDdkJhO0V3Q3dCYixjeENwRVc7QUwreExmOztBNkN6dExJOztFQUNFLG1CeENuRmM7QUxnekxwQjs7QTZDbnJMRTtFQS9CQSwyQnZDMUN1RDtFdUMyQ3ZELG1CdEM5SHFCO0VzQytIckIsY3hDaEZhO0V3Q2lGYixlQUFlO0E3Q3N0TGpCOztBNkMxckxFO0VBcEJBLDJCdkNyRHVEO0V1Q3NEdkQsY3hDdEdtQjtFd0N1R25CLG1CQUFtQjtBN0NrdExyQjs7QTZDaHRMRTtFQUNFLHVCQUF1QjtBN0NtdEwzQjs7QTZDcHNMRTtFQU5BLDJCdkNuRXVEO0V1Q29FdkQsZ0JBQWdCO0VBQ2hCLGN4QzdHYTtBTDJ6TGY7O0E2Q3pyTEk7O0VBRUUscUJBQXFCO0VBQ3JCLG9CQUFzQztFQUN0QyxnQkFBZ0I7QTdDNHJMdEI7O0E2Q3pyTEk7O0VBRUUscUJBQXFCO0VBQ3JCLG1CQUFxQztFQUNyQyxnQkFBZ0I7QTdDNHJMdEI7O0E4Q2p1TEU7RUFuR0Esa0JBQWtCO0VBQ2xCLHFCQUFxQjtFQUVyQixpQ3pDWmlCO0V5Q2FqQixpQnpDK0J1QjtFeUM5QnZCLFlBaERtQjtBOUN1M0xyQjs7QThDcnVMRTtFQTlGQSxrQkFBa0I7RUFDbEIsMkJBQXdDO0VBQ3hDLGFBQWE7RUFFYixnQkFoQ3VCO0VBaUN2QixnQkFyQ3VCO0VBdUN2QixnQnpDdUJlO0V5Q3RCZix5QnpDdEJhO0V5Q3VCYixjN0I0Qm1CO0U2QjNCbkIsY3pDcEJhO0FMeTFMZjs7QThDbjBMRTtFQUNFLGtCQUFrQjtBOUNzMEx0Qjs7QThDbDBMSTtF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Q2dCO01Bd0NoQixzQkF4Q2dCO1VBd0NoQixtQkF4Q2dCO0VEd0ZkLDBCQUFxQjtNQUFyQixxQkFBcUI7QWhFc29RekI7O0FnRWhvUU07RUNoQ0osNEJEK0JnQjtNQy9CaEIsaUJEK0JnQjtVQy9CaEIsUUQrQmdCO0FoRXFvUWxCOztBZ0Vwb1FNO0VDaENKLDRCRCtCZ0I7TUMvQmhCLGlCRCtCZ0I7VUMvQmhCLFFEK0JnQjtBaEV5b1FsQjs7QWdFeG9RTTtFQ2hDSiw0QkQrQmdCO01DL0JoQixpQkQrQmdCO1VDL0JoQixRRCtCZ0I7QWhFNm9RbEI7O0FnRTVvUU07RUNoQ0osNEJEK0JnQjtNQy9CaEIsaUJEK0JnQjtVQy9CaEIsUUQrQmdCO0FoRWlwUWxCOztBZ0VocFFNO0VDaENKLDRCRCtCZ0I7TUMvQmhCLGlCRCtCZ0I7VUMvQmhCLFFEK0JnQjtBaEVxcFFsQjs7QWdFcHBRTTtFQ2hDSiw0QkQrQmdCO01DL0JoQixpQkQrQmdCO1VDL0JoQixRRCtCZ0I7QWhFeXBRbEI7O0FFaG1RTTtFOER4REE7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCO0VoRThwUWhCO0VnRTdwUUk7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCO0VoRWlxUWhCO0VnRWhxUUk7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCO0VoRW9xUWhCO0VnRW5xUUk7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCO0VoRXVxUWhCO0VnRXRxUUk7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCO0VoRTBxUWhCO0VnRXpxUUk7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCO0VoRTZxUWhCO0FBQ0Y7O0FFcm5RTTtFOER4REE7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCO0VoRW1yUWhCO0VnRWxyUUk7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCO0VoRXNyUWhCO0VnRXJyUUk7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCO0VoRXlyUWhCO0VnRXhyUUk7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCO0VoRTRyUWhCO0VnRTNyUUk7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCO0VoRStyUWhCO0VnRTlyUUk7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCO0VoRWtzUWhCO0FBQ0Y7O0FFcm9RTTtFOEQ3REE7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCO0VoRXdzUWhCO0VnRXZzUUk7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCO0VoRTJzUWhCO0VnRTFzUUk7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCO0VoRThzUWhCO0VnRTdzUUk7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCO0VoRWl0UWhCO0VnRWh0UUk7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCO0VoRW90UWhCO0VnRW50UUk7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCO0VoRXV0UWhCO0FBQ0Y7O0FFMXBRTTtFOEQ3REE7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCO0VoRTZ0UWhCO0VnRTV0UUk7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCO0VoRWd1UWhCO0VnRS90UUk7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCO0VoRW11UWhCO0VnRWx1UUk7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCO0VoRXN1UWhCO0Vn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O0VBTTlDLCtCQUFvRDtBbkY2clN4RDs7QW9CcHVTSTtFZ0VsQkEsa0NBQWtDO0VBQ2xDLG1DQUFtQztFQUNuQyxrQ0FBa0M7QXBGMHZTdEM7O0FnQmx0U0c7RW9FckNLLHFCQUFvQjtBcEYydlM1Qjs7QUkvdVNFO0VnRlRFLCtCN0VPaUM7RTZFTmpDLGU3RU9pQjtFNkVOakIsYzdFRmdCO0U2RUloQixrQkFBa0I7RUFDbEIsZ0JBQWdCO0FwRjJ2U3BCOztBSWx0U0U7RWdGcENFLGM3RWZtQjtFNkVnQm5CLGlDQUF5QjtFQUF6Qix5QkFBeUI7QXBGMHZTN0I7O0FpQjc1UkU7RW1FelZNLGM3RWZZO0FQeXdTcEI7O0FvRnR2U0E7RUFDSSxnQkFBZ0I7RUFDaEIsK0I3RVhvQztFNkVZcEMsbUJBQW1CO0FwRnl2U3ZCOztBb0Z2dlNBO0VBQ0ksK0I3RWxCaUM7RTZFbUJqQyxnQkFBZTtBcEYwdlNuQjs7QUlwd1NFO0VnRmNFLGVBQWU7RUFDZixjQUFjO0FwRjB2U2xCOztBb0Z4dlNBO0VBQ0ksZUFBZTtFQUNmLGNBQWM7QXBGMnZTbEI7O0FvRnp2U0E7RUFDSSxlQUFjO0VBQ2QsZ0JBQWU7QXBGNHZTbkI7O0FvRjF2U0E7RUFDSSxlQUFjO0FwRjZ2U2xCOztBb0YzdlNBO0VBQ0ksZUFBYztBcEY4dlNsQjs7QW9GNXZTQTtFQUNJLGVBQWM7QXBGK3ZTbEI7O0FxRnB6U1E7RWpGcUJOO0lnRnFDTSxlQUFlO0VwRit2U3JCO0VvRm54U0Y7SUF1QlEsZUFBZTtFcEYrdlNyQjtFb0ZseFNGO0lBc0JRLGVBQWU7RXBGK3ZTckI7RW9GanhTRjtJQXFCUSxlQUFlO0VwRit2U3JCO0VvRmp4U0Y7SUFxQlEsZUFBZTtFcEYrdlNyQjtFb0ZqeFNGO0lBcUJRLGVBQWU7RXBGK3ZTckI7QUFDRjs7QUkxdFNFO0VnRi9CRSxlQUFlO0VBQ2YsWUFBWTtBcEY2dlNoQjs7QWlCNWpTRTtFbUU3TEUsZ0JBQWdCO0VBQ2hCLG1CQUFtQjtBcEY2dlN2Qjs7QW9GL3ZTQTtFQUtRLGVBQWU7QXBGOHZTdkI7O0FvRm53U0E7RUFRUSxl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QTJGN21VQTtFQStFWSxxQkFBcUI7QTNGa2lVakM7O0EyRjloVUk7RUFuRko7SUFxRlksZUFBZTtFM0ZpaVV6QjtBQUNGOztBMkY5aFVJO0VBekZKO0lBMkZZLGlCQUFpQjtFM0ZpaVUzQjtFMkY1blVGO0lBK0ZZLGtCQUFrQjtFM0ZnaVU1QjtFMkYvblVGO0lBa0dZLGtCQUFrQjtFM0ZnaVU1QjtFMkZsb1VGO0lBc0dZLFNBQVM7RTNGK2hVbkI7RTJGcm9VRjtJQTBHWSxrQkFBa0I7RTNGOGhVNUI7QUFDRjs7QTJGNWhVSTtFQTdHSjtJQThHUSxrQkFBa0I7RTNGZ2lVeEI7QUFDRiIsImZpbGUiOiJhcHAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyoqXHJcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuICogVmVyc2lvbiA2LjUuM1xyXG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG4gKi9cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5yZXZlYWwsIC5yZXZlYWwudGlueSwgLnJldmVhbC5zbWFsbCwgLnJldmVhbC5sYXJnZSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuXG4vKiEgbm9ybWFsaXplLmNzcyB2OC4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbn1cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG59XG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIG1hcmdpbjogMDtcbn1cblxuYnV0dG9uLFxuaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG59XG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xufVxuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAwO1xufVxuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbn1cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgZm9udDogaW5oZXJpdDtcbn1cblxuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmZvdW5kYXRpb24tbXEge1xuICBmb250LWZhbWlseTogXCJzbWFsbD0wZW0mbWVkaXVtPTQ4ZW0mbGFyZ2U9NjRlbSZ4bGFyZ2U9MTAwZW0meHhsYXJnZT0xMjAuMDYyNWVtXCI7XG59XG5cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmb250LXNpemU6IDEwMCU7XG59XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGZvbnQtZmFtaWx5OiBcIkxhdG9cIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG5pbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xufVxuXG50ZXh0YXJlYSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogNTBweDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuc2VsZWN0IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi5tYXBfY2FudmFzIGltZyxcbi5tYXBfY2FudmFzIGVtYmVkLFxuLm1hcF9jYW52YXMgb2JqZWN0LFxuLm1xYS1kaXNwbGF5IGltZyxcbi5tcWEtZGlzcGxheSBlbWJlZCxcbi5tcWEtZGlzcGxheSBvYmplY3Qge1xuICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuYnV0dG9uIHtcbiAgcGFkZGluZzogMDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogYXV0bztcbn1cblxuW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGJ1dHRvbiB7XG4gIG91dGxpbmU6IDA7XG59XG5cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbn1cblxuLmlzLXZpc2libGUge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuXG4uaXMtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5bdHlwZT0ndGV4dCddLCBbdHlwZT0ncGFzc3dvcmQnXSwgW3R5cGU9J2RhdGUnXSwgW3R5cGU9J2RhdGV0aW1lJ10sIFt0eXBlPSdkYXRldGltZS1sb2NhbCddLCBbdHlwZT0nbW9udGgnXSwgW3R5cGU9J3dlZWsnXSwgW3R5cGU9J2VtYWlsJ10sIFt0eXBlPSdudW1iZXInXSwgW3R5cGU9J3NlYXJjaCddLCBbdHlwZT0ndGVsJ10sIFt0eXBlPSd0aW1lJ10sIFt0eXBlPSd1cmwnXSwgW3R5cGU9J2NvbG9yJ10sXG50ZXh0YXJlYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyLjQzNzVyZW07XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuICBhcHBlYXJhbmNlOiBub25lO1xufVxuXG5bdHlwZT0ndGV4dCddOmZvY3VzLCBbdHlwZT0ncGFzc3dvcmQnXTpmb2N1cywgW3R5cGU9J2RhdGUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZS1sb2NhbCddOmZvY3VzLCBbdHlwZT0nbW9udGgnXTpmb2N1cywgW3R5cGU9J3dlZWsnXTpmb2N1cywgW3R5cGU9J2VtYWlsJ106Zm9jdXMsIFt0eXBlPSdudW1iZXInXTpmb2N1cywgW3R5cGU9J3NlYXJjaCddOmZvY3VzLCBbdHlwZT0ndGVsJ106Zm9jdXMsIFt0eXBlPSd0aW1lJ106Zm9jdXMsIFt0eXBlPSd1cmwnXTpmb2N1cywgW3R5cGU9J2NvbG9yJ106Zm9jdXMsXG50ZXh0YXJlYTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGJveC1zaGFkb3c6IDAgMCA1cHggI2NhY2FjYTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG59XG5cbnRleHRhcmVhIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG50ZXh0YXJlYVtyb3dzXSB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuaW5wdXQ6ZGlzYWJsZWQsIGlucHV0W3JlYWRvbmx5XSxcbnRleHRhcmVhOmRpc2FibGVkLFxudGV4dGFyZWFbcmVhZG9ubHldIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuW3R5cGU9J3N1Ym1pdCddLFxuW3R5cGU9J2J1dHRvbiddIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuaW5wdXRbdHlwZT0nc2VhcmNoJ10ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG46OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNjYWNhY2E7XG59XG5cblt0eXBlPSdmaWxlJ10sXG5bdHlwZT0nY2hlY2tib3gnXSxcblt0eXBlPSdyYWRpbyddIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cblxuW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcblt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5bdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsW2Zvcl0sXG5bdHlwZT0ncmFkaW8nXSArIGxhYmVsW2Zvcl0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbmxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG5sYWJlbCA+IFt0eXBlPSdyYWRpbyddIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG59XG5cblt0eXBlPSdmaWxlJ10ge1xuICB3aWR0aDogMTAwJTtcbn1cblxubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS44O1xuICBjb2xvcjogIzBhMGEwYTtcbn1cblxubGFiZWwubWlkZGxlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41NjI1cmVtIDA7XG59XG5cbi5oZWxwLXRleHQge1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBjb2xvcjogIzBhMGEwYTtcbn1cblxuLmlucHV0LWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xufVxuXG4uaW5wdXQtZ3JvdXAgPiA6Zmlyc3QtY2hpbGQsIC5pbnB1dC1ncm91cCA+IDpmaXJzdC1jaGlsZC5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDtcbn1cblxuLmlucHV0LWdyb3VwID4gOmxhc3QtY2hpbGQsIC5pbnB1dC1ncm91cCA+IDpsYXN0LWNoaWxkLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICoge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwO1xufVxuXG4uaW5wdXQtZ3JvdXAtbGFiZWwsIC5pbnB1dC1ncm91cC1maWVsZCwgLmlucHV0LWdyb3VwLWJ1dHRvbiwgLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCxcbi5pbnB1dC1ncm91cC1idXR0b24gYnV0dG9uLFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCB7XG4gIG1hcmdpbjogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgcGFkZGluZzogMCAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xuICBjb2xvcjogIzBhMGEwYTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDAgYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmlucHV0LWdyb3VwLWxhYmVsOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xufVxuXG4uaW5wdXQtZ3JvdXAtbGFiZWw6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1sZWZ0OiAwO1xufVxuXG4uaW5wdXQtZ3JvdXAtZmllbGQge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBmbGV4OiAxIDEgMHB4O1xuICBtaW4td2lkdGg6IDA7XG59XG5cbi5pbnB1dC1ncm91cC1idXR0b24ge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIGF1dG87XG59XG5cbi5pbnB1dC1ncm91cC1idXR0b24gYSxcbi5pbnB1dC1ncm91cC1idXR0b24gaW5wdXQsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbixcbi5pbnB1dC1ncm91cC1idXR0b24gbGFiZWwge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuXG5maWVsZHNldCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xufVxuXG5sZWdlbmQge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cblxuLmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAxLjEyNXJlbSAwO1xuICBwYWRkaW5nOiAxLjI1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xufVxuXG4uZmllbGRzZXQgbGVnZW5kIHtcbiAgbWFyZ2luOiAwO1xuICBtYXJnaW4tbGVmdDogLTAuMTg3NXJlbTtcbiAgcGFkZGluZzogMCAwLjE4NzVyZW07XG59XG5cbnNlbGVjdCB7XG4gIGhlaWdodDogMi40Mzc1cmVtO1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6IHJnYiUyODEzOCwgMTM4LCAxMzglMjknPjwvcG9seWdvbj48L3N2Zz5cIik7XG4gIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgLTFyZW0gY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgc2VsZWN0IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09XCIpO1xuICB9XG59XG5cbnNlbGVjdDpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGJveC1zaGFkb3c6IDAgMCA1cHggI2NhY2FjYTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG59XG5cbnNlbGVjdDpkaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbnNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbnNlbGVjdFttdWx0aXBsZV0ge1xuICBoZWlnaHQ6IGF1dG87XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG5cbi5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpIHtcbiAgYm9yZGVyLWNvbG9yOiAjY2M0YjM3O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjllY2VhO1xufVxuXG4uaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKTo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2NjNGIzNztcbn1cblxuLmlzLWludmFsaWQtbGFiZWwge1xuICBjb2xvcjogI2NjNGIzNztcbn1cblxuLmZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2NjNGIzNztcbn1cblxuLmZvcm0tZXJyb3IuaXMtdmlzaWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5kaXYsXG5kbCxcbmR0LFxuZGQsXG51bCxcbm9sLFxubGksXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG5wcmUsXG5mb3JtLFxucCxcbmJsb2NrcXVvdGUsXG50aCxcbnRkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG5wIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMS42O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xufVxuXG5lbSxcbmkge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5zdHJvbmcsXG5iIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuaDEsIC5oMSxcbmgyLCAuaDIsXG5oMywgLmgzLFxuaDQsIC5oNCxcbmg1LCAuaDUsXG5oNiwgLmg2IHtcbiAgZm9udC1mYW1pbHk6IFwiTGF0b1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xufVxuXG5oMSBzbWFsbCwgLmgxIHNtYWxsLFxuaDIgc21hbGwsIC5oMiBzbWFsbCxcbmgzIHNtYWxsLCAuaDMgc21hbGwsXG5oNCBzbWFsbCwgLmg0IHNtYWxsLFxuaDUgc21hbGwsIC5oNSBzbWFsbCxcbmg2IHNtYWxsLCAuaDYgc21hbGwge1xuICBsaW5lLWhlaWdodDogMDtcbiAgY29sb3I6ICNjYWNhY2E7XG59XG5cbmgxLCAuaDEge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuXG5oMiwgLmgyIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG5cbmgzLCAuaDMge1xuICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuXG5oNCwgLmg0IHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuXG5oNSwgLmg1IHtcbiAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cblxuaDYsIC5oNiB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICBoMSwgLmgxIHtcbiAgICBmb250LXNpemU6IDNyZW07XG4gIH1cbiAgaDIsIC5oMiB7XG4gICAgZm9udC1zaXplOiAyLjVyZW07XG4gIH1cbiAgaDMsIC5oMyB7XG4gICAgZm9udC1zaXplOiAxLjkzNzVyZW07XG4gIH1cbiAgaDQsIC5oNCB7XG4gICAgZm9udC1zaXplOiAxLjU2MjVyZW07XG4gIH1cbiAgaDUsIC5oNSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICB9XG4gIGg2LCAuaDYge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgfVxufVxuXG5hIHtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjOTkxQjFFO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuYTpob3ZlciwgYTpmb2N1cyB7XG4gIGNvbG9yOiAjODQxNzFhO1xufVxuXG5hIGltZyB7XG4gIGJvcmRlcjogMDtcbn1cblxuaHIge1xuICBjbGVhcjogYm90aDtcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IDEuMjVyZW0gYXV0bztcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLWxlZnQ6IDA7XG59XG5cbnVsLFxub2wsXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG59XG5cbmxpIHtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xufVxuXG51bCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG59XG5cbm9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG59XG5cbnVsIHVsLCBvbCB1bCwgdWwgb2wsIG9sIG9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuZGwgZHQge1xuICBtYXJnaW4tYm90dG9tOiAwLjNyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41NjI1cmVtIDEuMjVyZW0gMCAxLjE4NzVyZW07XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2NhY2FjYTtcbn1cblxuYmxvY2txdW90ZSwgYmxvY2txdW90ZSBwIHtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgY29sb3I6ICM4YThhOGE7XG59XG5cbmNpdGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGNvbG9yOiAjOGE4YThhO1xufVxuXG5jaXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi4oCUIFwiO1xufVxuXG5hYmJyLCBhYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgIzBhMGEwYTtcbiAgY3Vyc29yOiBoZWxwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuY29kZSB7XG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuMzEyNXJlbSAwLjA2MjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzBhMGEwYTtcbn1cblxua2JkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjI1cmVtIDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBjb2xvcjogIzBhMGEwYTtcbn1cblxuLnN1YmhlYWRlciB7XG4gIG1hcmdpbi10b3A6IDAuMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogIzhhOGE4YTtcbn1cblxuLmxlYWQge1xuICBmb250LXNpemU6IDEyNSU7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG59XG5cbi5zdGF0IHtcbiAgZm9udC1zaXplOiAyLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG5wICsgLnN0YXQge1xuICBtYXJnaW4tdG9wOiAtMXJlbTtcbn1cblxudWwubm8tYnVsbGV0LCBvbC5uby1idWxsZXQge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLnRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi50ZXh0LXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi50ZXh0LWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRleHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZWRpdW0tdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG4gIC5tZWRpdW0tdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbiAgLm1lZGl1bS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC5tZWRpdW0tdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgLmxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG4gIC5sYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC5sYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnhsYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgLnhsYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuICAueGxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLnhsYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwLjA2MjVlbSkge1xuICAueHhsYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgLnh4bGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbiAgLnh4bGFyZ2UtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAueHhsYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gIH1cbn1cblxuLnNob3ctZm9yLXByaW50IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgcHJpbnQge1xuICAqIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICAuaGlkZS1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICB0YWJsZS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDtcbiAgfVxuICB0aGVhZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7XG4gIH1cbiAgdGJvZHkuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50O1xuICB9XG4gIHRyLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDtcbiAgfVxuICB0ZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICB9XG4gIHRoLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gIH1cbiAgYSxcbiAgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuICBhW2hyZWZdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjtcbiAgfVxuICAuaXIgYTphZnRlcixcbiAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgYVtocmVmXj0nIyddOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgfVxuICBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiO1xuICB9XG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIH1cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDtcbiAgfVxuICB0cixcbiAgaW1nIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIH1cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxuICBAcGFnZSB7XG4gICAgbWFyZ2luOiAwLjVjbTtcbiAgfVxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzO1xuICB9XG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7XG4gIH1cbiAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87XG4gIH1cbn1cblxuLmdyaWQtY29udGFpbmVyIHtcbiAgcGFkZGluZy1yaWdodDogMS44NzVyZW07XG4gIHBhZGRpbmctbGVmdDogMS44NzVyZW07XG4gIG1heC13aWR0aDogMTQ3MHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4uZ3JpZC1jb250YWluZXIuZmx1aWQge1xuICBwYWRkaW5nLXJpZ2h0OiAxLjg3NXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxLjg3NXJlbTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4uZ3JpZC1jb250YWluZXIuZnVsbCB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4uZ3JpZC14IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbn1cblxuLmNlbGwge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWluLWhlaWdodDogMHB4O1xuICBtaW4td2lkdGg6IDBweDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jZWxsLmF1dG8ge1xuICBmbGV4OiAxIDEgMHB4O1xufVxuXG4uY2VsbC5zaHJpbmsge1xuICBmbGV4OiAwIDAgYXV0bztcbn1cblxuLmdyaWQteCA+IC5hdXRvIHtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi5ncmlkLXggPiAuc2hyaW5rIHtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi5ncmlkLXggPiAuc21hbGwtc2hyaW5rLCAuZ3JpZC14ID4gLnNtYWxsLWZ1bGwsIC5ncmlkLXggPiAuc21hbGwtMSwgLmdyaWQteCA+IC5zbWFsbC0yLCAuZ3JpZC14ID4gLnNtYWxsLTMsIC5ncmlkLXggPiAuc21hbGwtNCwgLmdyaWQteCA+IC5zbWFsbC01LCAuZ3JpZC14ID4gLnNtYWxsLTYsIC5ncmlkLXggPiAuc21hbGwtNywgLmdyaWQteCA+IC5zbWFsbC04LCAuZ3JpZC14ID4gLnNtYWxsLTksIC5ncmlkLXggPiAuc21hbGwtMTAsIC5ncmlkLXggPiAuc21hbGwtMTEsIC5ncmlkLXggPiAuc21hbGwtMTIge1xuICBmbGV4LWJhc2lzOiBhdXRvO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZ3JpZC14ID4gLm1lZGl1bS1zaHJpbmssIC5ncmlkLXggPiAubWVkaXVtLWZ1bGwsIC5ncmlkLXggPiAubWVkaXVtLTEsIC5ncmlkLXggPiAubWVkaXVtLTIsIC5ncmlkLXggPiAubWVkaXVtLTMsIC5ncmlkLXggPiAubWVkaXVtLTQsIC5ncmlkLXggPiAubWVkaXVtLTUsIC5ncmlkLXggPiAubWVkaXVtLTYsIC5ncmlkLXggPiAubWVkaXVtLTcsIC5ncmlkLXggPiAubWVkaXVtLTgsIC5ncmlkLXggPiAubWVkaXVtLTksIC5ncmlkLXggPiAubWVkaXVtLTEwLCAuZ3JpZC14ID4gLm1lZGl1bS0xMSwgLmdyaWQteCA+IC5tZWRpdW0tMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQteCA+IC5sYXJnZS1zaHJpbmssIC5ncmlkLXggPiAubGFyZ2UtZnVsbCwgLmdyaWQteCA+IC5sYXJnZS0xLCAuZ3JpZC14ID4gLmxhcmdlLTIsIC5ncmlkLXggPiAubGFyZ2UtMywgLmdyaWQteCA+IC5sYXJnZS00LCAuZ3JpZC14ID4gLmxhcmdlLTUsIC5ncmlkLXggPiAubGFyZ2UtNiwgLmdyaWQteCA+IC5sYXJnZS03LCAuZ3JpZC14ID4gLmxhcmdlLTgsIC5ncmlkLXggPiAubGFyZ2UtOSwgLmdyaWQteCA+IC5sYXJnZS0xMCwgLmdyaWQteCA+IC5sYXJnZS0xMSwgLmdyaWQteCA+IC5sYXJnZS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAuZ3JpZC14ID4gLnhsYXJnZS1zaHJpbmssIC5ncmlkLXggPiAueGxhcmdlLWZ1bGwsIC5ncmlkLXggPiAueGxhcmdlLTEsIC5ncmlkLXggPiAueGxhcmdlLTIsIC5ncmlkLXggPiAueGxhcmdlLTMsIC5ncmlkLXggPiAueGxhcmdlLTQsIC5ncmlkLXggPiAueGxhcmdlLTUsIC5ncmlkLXggPiAueGxhcmdlLTYsIC5ncmlkLXggPiAueGxhcmdlLTcsIC5ncmlkLXggPiAueGxhcmdlLTgsIC5ncmlkLXggPiAueGxhcmdlLTksIC5ncmlkLXggPiAueGxhcmdlLTEwLCAuZ3JpZC14ID4gLnhsYXJnZS0xMSwgLmdyaWQteCA+IC54bGFyZ2UtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwLjA2MjVlbSkge1xuICAuZ3JpZC14ID4gLnh4bGFyZ2Utc2hyaW5rLCAuZ3JpZC14ID4gLnh4bGFyZ2UtZnVsbCwgLmdyaWQteCA+IC54eGxhcmdlLTEsIC5ncmlkLXggPiAueHhsYXJnZS0yLCAuZ3JpZC14ID4gLnh4bGFyZ2UtMywgLmdyaWQteCA+IC54eGxhcmdlLTQsIC5ncmlkLXggPiAueHhsYXJnZS01LCAuZ3JpZC14ID4gLnh4bGFyZ2UtNiwgLmdyaWQteCA+IC54eGxhcmdlLTcsIC5ncmlkLXggPiAueHhsYXJnZS04LCAuZ3JpZC14ID4gLnh4bGFyZ2UtOSwgLmdyaWQteCA+IC54eGxhcmdlLTEwLCAuZ3JpZC14ID4gLnh4bGFyZ2UtMTEsIC5ncmlkLXggPiAueHhsYXJnZS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgfVxufVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEsIC5ncmlkLXggPiAuc21hbGwtMiwgLmdyaWQteCA+IC5zbWFsbC0zLCAuZ3JpZC14ID4gLnNtYWxsLTQsIC5ncmlkLXggPiAuc21hbGwtNSwgLmdyaWQteCA+IC5zbWFsbC02LCAuZ3JpZC14ID4gLnNtYWxsLTcsIC5ncmlkLXggPiAuc21hbGwtOCwgLmdyaWQteCA+IC5zbWFsbC05LCAuZ3JpZC14ID4gLnNtYWxsLTEwLCAuZ3JpZC14ID4gLnNtYWxsLTExLCAuZ3JpZC14ID4gLnNtYWxsLTEyIHtcbiAgZmxleDogMCAwIGF1dG87XG59XG5cbi5ncmlkLXggPiAuc21hbGwtMSB7XG4gIHdpZHRoOiA4LjMzMzMzJTtcbn1cblxuLmdyaWQteCA+IC5zbWFsbC0yIHtcbiAgd2lkdGg6IDE2LjY2NjY3JTtcbn1cblxuLmdyaWQteCA+IC5zbWFsbC0zIHtcbiAgd2lkdGg6IDI1JTtcbn1cblxuLmdyaWQteCA+IC5zbWFsbC00IHtcbiAgd2lkdGg6IDMzLjMzMzMzJTtcbn1cblxuLmdyaWQteCA+IC5zbWFsbC01IHtcbiAgd2lkdGg6IDQxLjY2NjY3JTtcbn1cblxuLmdyaWQteCA+IC5zbWFsbC02IHtcbiAgd2lkdGg6IDUwJTtcbn1cblxuLmdyaWQteCA+IC5zbWFsbC03IHtcbiAgd2lkdGg6IDU4LjMzMzMzJTtcbn1cblxuLmdyaWQteCA+IC5zbWFsbC04IHtcbiAgd2lkdGg6IDY2LjY2NjY3JTtcbn1cblxuLmdyaWQteCA+IC5zbWFsbC05IHtcbiAgd2lkdGg6IDc1JTtcbn1cblxuLmdyaWQteCA+IC5zbWFsbC0xMCB7XG4gIHdpZHRoOiA4My4zMzMzMyU7XG59XG5cbi5ncmlkLXggPiAuc21hbGwtMTEge1xuICB3aWR0aDogOTEuNjY2NjclO1xufVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEyIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ncmlkLXggPiAubWVkaXVtLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tc2hyaW5rLCAuZ3JpZC14ID4gLm1lZGl1bS0xLCAuZ3JpZC14ID4gLm1lZGl1bS0yLCAuZ3JpZC14ID4gLm1lZGl1bS0zLCAuZ3JpZC14ID4gLm1lZGl1bS00LCAuZ3JpZC14ID4gLm1lZGl1bS01LCAuZ3JpZC14ID4gLm1lZGl1bS02LCAuZ3JpZC14ID4gLm1lZGl1bS03LCAuZ3JpZC14ID4gLm1lZGl1bS04LCAuZ3JpZC14ID4gLm1lZGl1bS05LCAuZ3JpZC14ID4gLm1lZGl1bS0xMCwgLmdyaWQteCA+IC5tZWRpdW0tMTEsIC5ncmlkLXggPiAubWVkaXVtLTEyIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTtcbiAgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclO1xuICB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclO1xuICB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTtcbiAgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclO1xuICB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7XG4gIH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7XG4gIH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLXggPiAubGFyZ2UtYXV0byB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC14ID4gLmxhcmdlLXNocmluaywgLmdyaWQteCA+IC5sYXJnZS0xLCAuZ3JpZC14ID4gLmxhcmdlLTIsIC5ncmlkLXggPiAubGFyZ2UtMywgLmdyaWQteCA+IC5sYXJnZS00LCAuZ3JpZC14ID4gLmxhcmdlLTUsIC5ncmlkLXggPiAubGFyZ2UtNiwgLmdyaWQteCA+IC5sYXJnZS03LCAuZ3JpZC14ID4gLmxhcmdlLTgsIC5ncmlkLXggPiAubGFyZ2UtOSwgLmdyaWQteCA+IC5sYXJnZS0xMCwgLmdyaWQteCA+IC5sYXJnZS0xMSwgLmdyaWQteCA+IC5sYXJnZS0xMiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gIH1cbiAgLmdyaWQteCA+IC5sYXJnZS1zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLmdyaWQteCA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTtcbiAgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmdyaWQteCA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTtcbiAgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC5ncmlkLXggPiAueGxhcmdlLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQteCA+IC54bGFyZ2Utc2hyaW5rLCAuZ3JpZC14ID4gLnhsYXJnZS0xLCAuZ3JpZC14ID4gLnhsYXJnZS0yLCAuZ3JpZC14ID4gLnhsYXJnZS0zLCAuZ3JpZC14ID4gLnhsYXJnZS00LCAuZ3JpZC14ID4gLnhsYXJnZS01LCAuZ3JpZC14ID4gLnhsYXJnZS02LCAuZ3JpZC14ID4gLnhsYXJnZS03LCAuZ3JpZC14ID4gLnhsYXJnZS04LCAuZ3JpZC14ID4gLnhsYXJnZS05LCAuZ3JpZC14ID4gLnhsYXJnZS0xMCwgLmdyaWQteCA+IC54bGFyZ2UtMTEsIC5ncmlkLXggPiAueGxhcmdlLTEyIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS1zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTtcbiAgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclO1xuICB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclO1xuICB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTtcbiAgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclO1xuICB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7XG4gIH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7XG4gIH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMC4wNjI1ZW0pIHtcbiAgLmdyaWQteCA+IC54eGxhcmdlLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLXNocmluaywgLmdyaWQteCA+IC54eGxhcmdlLTEsIC5ncmlkLXggPiAueHhsYXJnZS0yLCAuZ3JpZC14ID4gLnh4bGFyZ2UtMywgLmdyaWQteCA+IC54eGxhcmdlLTQsIC5ncmlkLXggPiAueHhsYXJnZS01LCAuZ3JpZC14ID4gLnh4bGFyZ2UtNiwgLmdyaWQteCA+IC54eGxhcmdlLTcsIC5ncmlkLXggPiAueHhsYXJnZS04LCAuZ3JpZC14ID4gLnh4bGFyZ2UtOSwgLmdyaWQteCA+IC54eGxhcmdlLTEwLCAuZ3JpZC14ID4gLnh4bGFyZ2UtMTEsIC5ncmlkLXggPiAueHhsYXJnZS0xMiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gIH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLXNocmluayB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTtcbiAgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTtcbiAgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTtcbiAgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7XG4gIH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclO1xuICB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICB3aWR0aDogYXV0bztcbn1cblxuLmdyaWQtbWFyZ2luLXk6bm90KC5ncmlkLXkpID4gLmNlbGwge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5ncmlkLW1hcmdpbi14IHtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14IHtcbiAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gIH1cbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZ3JpZC1tYXJnaW4teCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gIH1cbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuYXV0byB7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zaHJpbmsge1xuICB3aWR0aDogYXV0bztcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMSB7XG4gIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7XG59XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTIge1xuICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMyB7XG4gIHdpZHRoOiBjYWxjKDI1JSAtIDEuMjVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC00IHtcbiAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7XG59XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTUge1xuICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjI1cmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNiB7XG4gIHdpZHRoOiBjYWxjKDUwJSAtIDEuMjVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC03IHtcbiAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7XG59XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTgge1xuICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjI1cmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOSB7XG4gIHdpZHRoOiBjYWxjKDc1JSAtIDEuMjVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMCB7XG4gIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMSB7XG4gIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuMjVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMiB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXggPiAuYXV0byB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc2hyaW5rIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IGNhbGMoNzUlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tYXV0byB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLXNocmluayB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtYXV0byB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utc2hyaW5rIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IGNhbGMoNzUlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtYXV0byB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLXNocmluayB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTEge1xuICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTMge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtNCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS01IHtcbiAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTYge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtNyB7XG4gICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS04IHtcbiAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTkge1xuICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMTAge1xuICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMTEge1xuICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMTIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwLjA2MjVlbSkge1xuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLWF1dG8ge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utc2hyaW5rIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTEge1xuICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtMiB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtMyB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtNCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtNSB7XG4gICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtNiB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtNyB7XG4gICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtOCB7XG4gICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtOSB7XG4gICAgd2lkdGg6IGNhbGMoNzUlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtMTAge1xuICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTExIHtcbiAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgfVxufVxuXG4uZ3JpZC1wYWRkaW5nLXggLmdyaWQtcGFkZGluZy14IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ncmlkLXBhZGRpbmcteCAuZ3JpZC1wYWRkaW5nLXgge1xuICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTtcbiAgfVxufVxuXG4uZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+IC5ncmlkLXBhZGRpbmcteCB7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+IC5ncmlkLXBhZGRpbmcteCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtO1xuICB9XG59XG5cbi5ncmlkLXBhZGRpbmcteCA+IC5jZWxsIHtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ncmlkLXBhZGRpbmcteCA+IC5jZWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gIH1cbn1cblxuLnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uc21hbGwtdXAtMiA+IC5jZWxsIHtcbiAgd2lkdGg6IDUwJTtcbn1cblxuLnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7XG59XG5cbi5zbWFsbC11cC00ID4gLmNlbGwge1xuICB3aWR0aDogMjUlO1xufVxuXG4uc21hbGwtdXAtNSA+IC5jZWxsIHtcbiAgd2lkdGg6IDIwJTtcbn1cblxuLnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gIHdpZHRoOiAxNi42NjY2NyU7XG59XG5cbi5zbWFsbC11cC03ID4gLmNlbGwge1xuICB3aWR0aDogMTQuMjg1NzElO1xufVxuXG4uc21hbGwtdXAtOCA+IC5jZWxsIHtcbiAgd2lkdGg6IDEyLjUlO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWVkaXVtLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLm1lZGl1bS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLm1lZGl1bS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLm1lZGl1bS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7XG4gIH1cbiAgLm1lZGl1bS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7XG4gIH1cbiAgLm1lZGl1bS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAubGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5sYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gIH1cbiAgLmxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAubGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjAlO1xuICB9XG4gIC5sYXJnZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7XG4gIH1cbiAgLmxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTtcbiAgfVxuICAubGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnhsYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC54bGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC54bGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlO1xuICB9XG4gIC54bGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC54bGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjAlO1xuICB9XG4gIC54bGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTYuNjY2NjclO1xuICB9XG4gIC54bGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzElO1xuICB9XG4gIC54bGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwLjA2MjVlbSkge1xuICAueHhsYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC54eGxhcmdlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAueHhsYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gIH1cbiAgLnh4bGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC54eGxhcmdlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDIwJTtcbiAgfVxuICAueHhsYXJnZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7XG4gIH1cbiAgLnh4bGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzElO1xuICB9XG4gIC54eGxhcmdlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEyLjUlO1xuICB9XG59XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMiA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7XG59XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC00ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygyNSUgLSAxLjI1cmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNSA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMjAlIC0gMS4yNXJlbSk7XG59XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC03ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjI1cmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtOCA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjI1cmVtKTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDEuODc1cmVtKTtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDEuODc1cmVtKTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS44NzVyZW0pO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMC4wNjI1ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS44NzVyZW0pO1xuICB9XG59XG5cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2Uge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICB3aWR0aDogOC4zMzMzMyU7XG59XG5cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gIHdpZHRoOiAxNi42NjY2NyU7XG59XG5cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gIHdpZHRoOiAyNSU7XG59XG5cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7XG59XG5cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gIHdpZHRoOiA0MS42NjY2NyU7XG59XG5cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gIHdpZHRoOiA1MCU7XG59XG5cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gIHdpZHRoOiA1OC4zMzMzMyU7XG59XG5cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gIHdpZHRoOiA2Ni42NjY2NyU7XG59XG5cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gIHdpZHRoOiA3NSU7XG59XG5cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICB3aWR0aDogODMuMzMzMzMlO1xufVxuXG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgd2lkdGg6IDkxLjY2NjY3JTtcbn1cblxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAuMDYyNWVtKSB7XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5zbWFsbC1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLnNtYWxsLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwLjA2MjVlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWVkaXVtLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAubWVkaXVtLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMC4wNjI1ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAubGFyZ2UtcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAuMDYyNWVtKSB7XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC54bGFyZ2UtcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC54bGFyZ2UtcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAuMDYyNWVtKSB7XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwLjA2MjVlbSkge1xuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAuMDYyNWVtKSB7XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMC4wNjI1ZW0pIHtcbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwLjA2MjVlbSkge1xuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAuMDYyNWVtKSB7XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTtcbiAgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclO1xuICB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7XG4gIH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMC4wNjI1ZW0pIHtcbiAgLnh4bGFyZ2UtcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC54eGxhcmdlLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuLnNtYWxsLW9mZnNldC0wIHtcbiAgbWFyZ2luLWxlZnQ6IDAlO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMC42MjVyZW0pO1xufVxuXG4uc21hbGwtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7XG59XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAwLjYyNXJlbSk7XG59XG5cbi5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7XG59XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMC42MjVyZW0pO1xufVxuXG4uc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMjUlO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDAuNjI1cmVtKTtcbn1cblxuLnNtYWxsLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTtcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAwLjYyNXJlbSk7XG59XG5cbi5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7XG59XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMC42MjVyZW0pO1xufVxuXG4uc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogNTAlO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDAuNjI1cmVtKTtcbn1cblxuLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTtcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyAwLjYyNXJlbSk7XG59XG5cbi5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7XG59XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMC42MjVyZW0pO1xufVxuXG4uc21hbGwtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogNzUlO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDAuNjI1cmVtKTtcbn1cblxuLnNtYWxsLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7XG59XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDAuNjI1cmVtKTtcbn1cblxuLnNtYWxsLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7XG59XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDAuNjI1cmVtKTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAwLjkzNzVyZW0pO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMC45Mzc1cmVtKTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMC45Mzc1cmVtKTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMC45Mzc1cmVtKTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMC45Mzc1cmVtKTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMC45Mzc1cmVtKTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMC45Mzc1cmVtKTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMC45Mzc1cmVtKTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMC45Mzc1cmVtKTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMC45Mzc1cmVtKTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAwLjkzNzVyZW0pO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDAuOTM3NXJlbSk7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMC45Mzc1cmVtKTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAwLjkzNzVyZW0pO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMC45Mzc1cmVtKTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDAuOTM3NXJlbSk7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAwLjkzNzVyZW0pO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMC45Mzc1cmVtKTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDAuOTM3NXJlbSk7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyAwLjkzNzVyZW0pO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMC45Mzc1cmVtKTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDAuOTM3NXJlbSk7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDAuOTM3NXJlbSk7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDAuOTM3NXJlbSk7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnhsYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAwLjkzNzVyZW0pO1xuICB9XG4gIC54bGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMC45Mzc1cmVtKTtcbiAgfVxuICAueGxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMC45Mzc1cmVtKTtcbiAgfVxuICAueGxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMC45Mzc1cmVtKTtcbiAgfVxuICAueGxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMC45Mzc1cmVtKTtcbiAgfVxuICAueGxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMC45Mzc1cmVtKTtcbiAgfVxuICAueGxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMC45Mzc1cmVtKTtcbiAgfVxuICAueGxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMC45Mzc1cmVtKTtcbiAgfVxuICAueGxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMC45Mzc1cmVtKTtcbiAgfVxuICAueGxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMC45Mzc1cmVtKTtcbiAgfVxuICAueGxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAwLjkzNzVyZW0pO1xuICB9XG4gIC54bGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDAuOTM3NXJlbSk7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwLjA2MjVlbSkge1xuICAueHhsYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMC45Mzc1cmVtKTtcbiAgfVxuICAueHhsYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMC45Mzc1cmVtKTtcbiAgfVxuICAueHhsYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAwLjkzNzVyZW0pO1xuICB9XG4gIC54eGxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDAuOTM3NXJlbSk7XG4gIH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMC45Mzc1cmVtKTtcbiAgfVxuICAueHhsYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAwLjkzNzVyZW0pO1xuICB9XG4gIC54eGxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDAuOTM3NXJlbSk7XG4gIH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMC45Mzc1cmVtKTtcbiAgfVxuICAueHhsYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAwLjkzNzVyZW0pO1xuICB9XG4gIC54eGxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDAuOTM3NXJlbSk7XG4gIH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAwLjkzNzVyZW0pO1xuICB9XG4gIC54eGxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMC45Mzc1cmVtKTtcbiAgfVxufVxuXG4uZ3JpZC15IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xufVxuXG4uZ3JpZC15ID4gLmNlbGwge1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiBub25lO1xufVxuXG4uZ3JpZC15ID4gLmF1dG8ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5ncmlkLXkgPiAuc2hyaW5rIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uZ3JpZC15ID4gLnNtYWxsLXNocmluaywgLmdyaWQteSA+IC5zbWFsbC1mdWxsLCAuZ3JpZC15ID4gLnNtYWxsLTEsIC5ncmlkLXkgPiAuc21hbGwtMiwgLmdyaWQteSA+IC5zbWFsbC0zLCAuZ3JpZC15ID4gLnNtYWxsLTQsIC5ncmlkLXkgPiAuc21hbGwtNSwgLmdyaWQteSA+IC5zbWFsbC02LCAuZ3JpZC15ID4gLnNtYWxsLTcsIC5ncmlkLXkgPiAuc21hbGwtOCwgLmdyaWQteSA+IC5zbWFsbC05LCAuZ3JpZC15ID4gLnNtYWxsLTEwLCAuZ3JpZC15ID4gLnNtYWxsLTExLCAuZ3JpZC15ID4gLnNtYWxsLTEyIHtcbiAgZmxleC1iYXNpczogYXV0bztcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmdyaWQteSA+IC5tZWRpdW0tc2hyaW5rLCAuZ3JpZC15ID4gLm1lZGl1bS1mdWxsLCAuZ3JpZC15ID4gLm1lZGl1bS0xLCAuZ3JpZC15ID4gLm1lZGl1bS0yLCAuZ3JpZC15ID4gLm1lZGl1bS0zLCAuZ3JpZC15ID4gLm1lZGl1bS00LCAuZ3JpZC15ID4gLm1lZGl1bS01LCAuZ3JpZC15ID4gLm1lZGl1bS02LCAuZ3JpZC15ID4gLm1lZGl1bS03LCAuZ3JpZC15ID4gLm1lZGl1bS04LCAuZ3JpZC15ID4gLm1lZGl1bS05LCAuZ3JpZC15ID4gLm1lZGl1bS0xMCwgLmdyaWQteSA+IC5tZWRpdW0tMTEsIC5ncmlkLXkgPiAubWVkaXVtLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLmxhcmdlLWZ1bGwsIC5ncmlkLXkgPiAubGFyZ2UtMSwgLmdyaWQteSA+IC5sYXJnZS0yLCAuZ3JpZC15ID4gLmxhcmdlLTMsIC5ncmlkLXkgPiAubGFyZ2UtNCwgLmdyaWQteSA+IC5sYXJnZS01LCAuZ3JpZC15ID4gLmxhcmdlLTYsIC5ncmlkLXkgPiAubGFyZ2UtNywgLmdyaWQteSA+IC5sYXJnZS04LCAuZ3JpZC15ID4gLmxhcmdlLTksIC5ncmlkLXkgPiAubGFyZ2UtMTAsIC5ncmlkLXkgPiAubGFyZ2UtMTEsIC5ncmlkLXkgPiAubGFyZ2UtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLmdyaWQteSA+IC54bGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLnhsYXJnZS1mdWxsLCAuZ3JpZC15ID4gLnhsYXJnZS0xLCAuZ3JpZC15ID4gLnhsYXJnZS0yLCAuZ3JpZC15ID4gLnhsYXJnZS0zLCAuZ3JpZC15ID4gLnhsYXJnZS00LCAuZ3JpZC15ID4gLnhsYXJnZS01LCAuZ3JpZC15ID4gLnhsYXJnZS02LCAuZ3JpZC15ID4gLnhsYXJnZS03LCAuZ3JpZC15ID4gLnhsYXJnZS04LCAuZ3JpZC15ID4gLnhsYXJnZS05LCAuZ3JpZC15ID4gLnhsYXJnZS0xMCwgLmdyaWQteSA+IC54bGFyZ2UtMTEsIC5ncmlkLXkgPiAueGxhcmdlLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMC4wNjI1ZW0pIHtcbiAgLmdyaWQteSA+IC54eGxhcmdlLXNocmluaywgLmdyaWQteSA+IC54eGxhcmdlLWZ1bGwsIC5ncmlkLXkgPiAueHhsYXJnZS0xLCAuZ3JpZC15ID4gLnh4bGFyZ2UtMiwgLmdyaWQteSA+IC54eGxhcmdlLTMsIC5ncmlkLXkgPiAueHhsYXJnZS00LCAuZ3JpZC15ID4gLnh4bGFyZ2UtNSwgLmdyaWQteSA+IC54eGxhcmdlLTYsIC5ncmlkLXkgPiAueHhsYXJnZS03LCAuZ3JpZC15ID4gLnh4bGFyZ2UtOCwgLmdyaWQteSA+IC54eGxhcmdlLTksIC5ncmlkLXkgPiAueHhsYXJnZS0xMCwgLmdyaWQteSA+IC54eGxhcmdlLTExLCAuZ3JpZC15ID4gLnh4bGFyZ2UtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gIH1cbn1cblxuLmdyaWQteSA+IC5zbWFsbC0xLCAuZ3JpZC15ID4gLnNtYWxsLTIsIC5ncmlkLXkgPiAuc21hbGwtMywgLmdyaWQteSA+IC5zbWFsbC00LCAuZ3JpZC15ID4gLnNtYWxsLTUsIC5ncmlkLXkgPiAuc21hbGwtNiwgLmdyaWQteSA+IC5zbWFsbC03LCAuZ3JpZC15ID4gLnNtYWxsLTgsIC5ncmlkLXkgPiAuc21hbGwtOSwgLmdyaWQteSA+IC5zbWFsbC0xMCwgLmdyaWQteSA+IC5zbWFsbC0xMSwgLmdyaWQteSA+IC5zbWFsbC0xMiB7XG4gIGZsZXg6IDAgMCBhdXRvO1xufVxuXG4uZ3JpZC15ID4gLnNtYWxsLTEge1xuICBoZWlnaHQ6IDguMzMzMzMlO1xufVxuXG4uZ3JpZC15ID4gLnNtYWxsLTIge1xuICBoZWlnaHQ6IDE2LjY2NjY3JTtcbn1cblxuLmdyaWQteSA+IC5zbWFsbC0zIHtcbiAgaGVpZ2h0OiAyNSU7XG59XG5cbi5ncmlkLXkgPiAuc21hbGwtNCB7XG4gIGhlaWdodDogMzMuMzMzMzMlO1xufVxuXG4uZ3JpZC15ID4gLnNtYWxsLTUge1xuICBoZWlnaHQ6IDQxLjY2NjY3JTtcbn1cblxuLmdyaWQteSA+IC5zbWFsbC02IHtcbiAgaGVpZ2h0OiA1MCU7XG59XG5cbi5ncmlkLXkgPiAuc21hbGwtNyB7XG4gIGhlaWdodDogNTguMzMzMzMlO1xufVxuXG4uZ3JpZC15ID4gLnNtYWxsLTgge1xuICBoZWlnaHQ6IDY2LjY2NjY3JTtcbn1cblxuLmdyaWQteSA+IC5zbWFsbC05IHtcbiAgaGVpZ2h0OiA3NSU7XG59XG5cbi5ncmlkLXkgPiAuc21hbGwtMTAge1xuICBoZWlnaHQ6IDgzLjMzMzMzJTtcbn1cblxuLmdyaWQteSA+IC5zbWFsbC0xMSB7XG4gIGhlaWdodDogOTEuNjY2NjclO1xufVxuXG4uZ3JpZC15ID4gLnNtYWxsLTEyIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZ3JpZC15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS1zaHJpbmssIC5ncmlkLXkgPiAubWVkaXVtLTEsIC5ncmlkLXkgPiAubWVkaXVtLTIsIC5ncmlkLXkgPiAubWVkaXVtLTMsIC5ncmlkLXkgPiAubWVkaXVtLTQsIC5ncmlkLXkgPiAubWVkaXVtLTUsIC5ncmlkLXkgPiAubWVkaXVtLTYsIC5ncmlkLXkgPiAubWVkaXVtLTcsIC5ncmlkLXkgPiAubWVkaXVtLTgsIC5ncmlkLXkgPiAubWVkaXVtLTksIC5ncmlkLXkgPiAubWVkaXVtLTEwLCAuZ3JpZC15ID4gLm1lZGl1bS0xMSwgLmdyaWQteSA+IC5tZWRpdW0tMTIge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLXNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTEge1xuICAgIGhlaWdodDogOC4zMzMzMyU7XG4gIH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tMiB7XG4gICAgaGVpZ2h0OiAxNi42NjY2NyU7XG4gIH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tMyB7XG4gICAgaGVpZ2h0OiAyNSU7XG4gIH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tNCB7XG4gICAgaGVpZ2h0OiAzMy4zMzMzMyU7XG4gIH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tNSB7XG4gICAgaGVpZ2h0OiA0MS42NjY2NyU7XG4gIH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tNiB7XG4gICAgaGVpZ2h0OiA1MCU7XG4gIH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tNyB7XG4gICAgaGVpZ2h0OiA1OC4zMzMzMyU7XG4gIH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tOCB7XG4gICAgaGVpZ2h0OiA2Ni42NjY2NyU7XG4gIH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tOSB7XG4gICAgaGVpZ2h0OiA3NSU7XG4gIH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tMTAge1xuICAgIGhlaWdodDogODMuMzMzMzMlO1xuICB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTExIHtcbiAgICBoZWlnaHQ6IDkxLjY2NjY3JTtcbiAgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS0xMiB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLXkgPiAubGFyZ2UtYXV0byB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQteSA+IC5sYXJnZS1zaHJpbmssIC5ncmlkLXkgPiAubGFyZ2UtMSwgLmdyaWQteSA+IC5sYXJnZS0yLCAuZ3JpZC15ID4gLmxhcmdlLTMsIC5ncmlkLXkgPiAubGFyZ2UtNCwgLmdyaWQteSA+IC5sYXJnZS01LCAuZ3JpZC15ID4gLmxhcmdlLTYsIC5ncmlkLXkgPiAubGFyZ2UtNywgLmdyaWQteSA+IC5sYXJnZS04LCAuZ3JpZC15ID4gLmxhcmdlLTksIC5ncmlkLXkgPiAubGFyZ2UtMTAsIC5ncmlkLXkgPiAubGFyZ2UtMTEsIC5ncmlkLXkgPiAubGFyZ2UtMTIge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQteSA+IC5sYXJnZS0xIHtcbiAgICBoZWlnaHQ6IDguMzMzMzMlO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtMiB7XG4gICAgaGVpZ2h0OiAxNi42NjY2NyU7XG4gIH1cbiAgLmdyaWQteSA+IC5sYXJnZS0zIHtcbiAgICBoZWlnaHQ6IDI1JTtcbiAgfVxuICAuZ3JpZC15ID4gLmxhcmdlLTQge1xuICAgIGhlaWdodDogMzMuMzMzMzMlO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtNSB7XG4gICAgaGVpZ2h0OiA0MS42NjY2NyU7XG4gIH1cbiAgLmdyaWQteSA+IC5sYXJnZS02IHtcbiAgICBoZWlnaHQ6IDUwJTtcbiAgfVxuICAuZ3JpZC15ID4gLmxhcmdlLTcge1xuICAgIGhlaWdodDogNTguMzMzMzMlO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtOCB7XG4gICAgaGVpZ2h0OiA2Ni42NjY2NyU7XG4gIH1cbiAgLmdyaWQteSA+IC5sYXJnZS05IHtcbiAgICBoZWlnaHQ6IDc1JTtcbiAgfVxuICAuZ3JpZC15ID4gLmxhcmdlLTEwIHtcbiAgICBoZWlnaHQ6IDgzLjMzMzMzJTtcbiAgfVxuICAuZ3JpZC15ID4gLmxhcmdlLTExIHtcbiAgICBoZWlnaHQ6IDkxLjY2NjY3JTtcbiAgfVxuICAuZ3JpZC15ID4gLmxhcmdlLTEyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLmdyaWQteSA+IC54bGFyZ2UtYXV0byB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQteSA+IC54bGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLnhsYXJnZS0xLCAuZ3JpZC15ID4gLnhsYXJnZS0yLCAuZ3JpZC15ID4gLnhsYXJnZS0zLCAuZ3JpZC15ID4gLnhsYXJnZS00LCAuZ3JpZC15ID4gLnhsYXJnZS01LCAuZ3JpZC15ID4gLnhsYXJnZS02LCAuZ3JpZC15ID4gLnhsYXJnZS03LCAuZ3JpZC15ID4gLnhsYXJnZS04LCAuZ3JpZC15ID4gLnhsYXJnZS05LCAuZ3JpZC15ID4gLnhsYXJnZS0xMCwgLmdyaWQteSA+IC54bGFyZ2UtMTEsIC5ncmlkLXkgPiAueGxhcmdlLTEyIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgfVxuICAuZ3JpZC15ID4gLnhsYXJnZS1zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC15ID4gLnhsYXJnZS0xIHtcbiAgICBoZWlnaHQ6IDguMzMzMzMlO1xuICB9XG4gIC5ncmlkLXkgPiAueGxhcmdlLTIge1xuICAgIGhlaWdodDogMTYuNjY2NjclO1xuICB9XG4gIC5ncmlkLXkgPiAueGxhcmdlLTMge1xuICAgIGhlaWdodDogMjUlO1xuICB9XG4gIC5ncmlkLXkgPiAueGxhcmdlLTQge1xuICAgIGhlaWdodDogMzMuMzMzMzMlO1xuICB9XG4gIC5ncmlkLXkgPiAueGxhcmdlLTUge1xuICAgIGhlaWdodDogNDEuNjY2NjclO1xuICB9XG4gIC5ncmlkLXkgPiAueGxhcmdlLTYge1xuICAgIGhlaWdodDogNTAlO1xuICB9XG4gIC5ncmlkLXkgPiAueGxhcmdlLTcge1xuICAgIGhlaWdodDogNTguMzMzMzMlO1xuICB9XG4gIC5ncmlkLXkgPiAueGxhcmdlLTgge1xuICAgIGhlaWdodDogNjYuNjY2NjclO1xuICB9XG4gIC5ncmlkLXkgPiAueGxhcmdlLTkge1xuICAgIGhlaWdodDogNzUlO1xuICB9XG4gIC5ncmlkLXkgPiAueGxhcmdlLTEwIHtcbiAgICBoZWlnaHQ6IDgzLjMzMzMzJTtcbiAgfVxuICAuZ3JpZC15ID4gLnhsYXJnZS0xMSB7XG4gICAgaGVpZ2h0OiA5MS42NjY2NyU7XG4gIH1cbiAgLmdyaWQteSA+IC54bGFyZ2UtMTIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAuMDYyNWVtKSB7XG4gIC5ncmlkLXkgPiAueHhsYXJnZS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC15ID4gLnh4bGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLnh4bGFyZ2UtMSwgLmdyaWQteSA+IC54eGxhcmdlLTIsIC5ncmlkLXkgPiAueHhsYXJnZS0zLCAuZ3JpZC15ID4gLnh4bGFyZ2UtNCwgLmdyaWQteSA+IC54eGxhcmdlLTUsIC5ncmlkLXkgPiAueHhsYXJnZS02LCAuZ3JpZC15ID4gLnh4bGFyZ2UtNywgLmdyaWQteSA+IC54eGxhcmdlLTgsIC5ncmlkLXkgPiAueHhsYXJnZS05LCAuZ3JpZC15ID4gLnh4bGFyZ2UtMTAsIC5ncmlkLXkgPiAueHhsYXJnZS0xMSwgLmdyaWQteSA+IC54eGxhcmdlLTEyIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgfVxuICAuZ3JpZC15ID4gLnh4bGFyZ2Utc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQteSA+IC54eGxhcmdlLTEge1xuICAgIGhlaWdodDogOC4zMzMzMyU7XG4gIH1cbiAgLmdyaWQteSA+IC54eGxhcmdlLTIge1xuICAgIGhlaWdodDogMTYuNjY2NjclO1xuICB9XG4gIC5ncmlkLXkgPiAueHhsYXJnZS0zIHtcbiAgICBoZWlnaHQ6IDI1JTtcbiAgfVxuICAuZ3JpZC15ID4gLnh4bGFyZ2UtNCB7XG4gICAgaGVpZ2h0OiAzMy4zMzMzMyU7XG4gIH1cbiAgLmdyaWQteSA+IC54eGxhcmdlLTUge1xuICAgIGhlaWdodDogNDEuNjY2NjclO1xuICB9XG4gIC5ncmlkLXkgPiAueHhsYXJnZS02IHtcbiAgICBoZWlnaHQ6IDUwJTtcbiAgfVxuICAuZ3JpZC15ID4gLnh4bGFyZ2UtNyB7XG4gICAgaGVpZ2h0OiA1OC4zMzMzMyU7XG4gIH1cbiAgLmdyaWQteSA+IC54eGxhcmdlLTgge1xuICAgIGhlaWdodDogNjYuNjY2NjclO1xuICB9XG4gIC5ncmlkLXkgPiAueHhsYXJnZS05IHtcbiAgICBoZWlnaHQ6IDc1JTtcbiAgfVxuICAuZ3JpZC15ID4gLnh4bGFyZ2UtMTAge1xuICAgIGhlaWdodDogODMuMzMzMzMlO1xuICB9XG4gIC5ncmlkLXkgPiAueHhsYXJnZS0xMSB7XG4gICAgaGVpZ2h0OiA5MS42NjY2NyU7XG4gIH1cbiAgLmdyaWQteSA+IC54eGxhcmdlLTEyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuLmdyaWQtcGFkZGluZy15IC5ncmlkLXBhZGRpbmcteSB7XG4gIG1hcmdpbi10b3A6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuNjI1cmVtO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZ3JpZC1wYWRkaW5nLXkgLmdyaWQtcGFkZGluZy15IHtcbiAgICBtYXJnaW4tdG9wOiAtMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IC0wLjkzNzVyZW07XG4gIH1cbn1cblxuLmdyaWQtcGFkZGluZy15ID4gLmNlbGwge1xuICBwYWRkaW5nLXRvcDogMC42MjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjYyNXJlbTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmdyaWQtcGFkZGluZy15ID4gLmNlbGwge1xuICAgIHBhZGRpbmctdG9wOiAwLjkzNzVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuOTM3NXJlbTtcbiAgfVxufVxuXG4uZ3JpZC1tYXJnaW4teSB7XG4gIG1hcmdpbi10b3A6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuNjI1cmVtO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZ3JpZC1tYXJnaW4teSB7XG4gICAgbWFyZ2luLXRvcDogLTAuOTM3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAtMC45Mzc1cmVtO1xuICB9XG59XG5cbi5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICBtYXJnaW4tdG9wOiAwLjYyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gIH1cbn1cblxuLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7XG59XG5cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7XG59XG5cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS4yNXJlbSk7XG59XG5cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7XG59XG5cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7XG59XG5cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS4yNXJlbSk7XG59XG5cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7XG59XG5cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7XG59XG5cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS4yNXJlbSk7XG59XG5cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLWF1dG8ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLXNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS1hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLXNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTUge1xuICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMC4wNjI1ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS1hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS1zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTUge1xuICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgfVxufVxuXG4uZ3JpZC1mcmFtZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB3aWR0aDogMTAwdnc7XG59XG5cbi5jZWxsIC5ncmlkLWZyYW1lIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jZWxsLWJsb2NrIHtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xufVxuXG4uY2VsbC1ibG9jay15IHtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbn1cblxuLmNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTtcbn1cblxuLmNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgfVxuICAuY2VsbCAubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuICB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgfVxuICAuY2VsbCAubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmxhcmdlLWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbiAgfVxuICAubGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbiAgLmxhcmdlLWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC54bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICB9XG4gIC5jZWxsIC54bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnhsYXJnZS1jZWxsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG4gIH1cbiAgLnhsYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH1cbiAgLnhsYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbiAgLnhsYXJnZS1jZWxsLWJsb2NrLXkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAuMDYyNWVtKSB7XG4gIC54eGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgfVxuICAuY2VsbCAueHhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAueHhsYXJnZS1jZWxsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG4gIH1cbiAgLnh4bGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB9XG4gIC54eGxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxuICAueHhsYXJnZS1jZWxsLWJsb2NrLXkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbiAgfVxufVxuXG4uZ3JpZC15LmdyaWQtZnJhbWUge1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGhlaWdodDogMTAwdmg7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ncmlkLXkubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQteS5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC5ncmlkLXkueGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwLjA2MjVlbSkge1xuICAuZ3JpZC15Lnh4bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgfVxufVxuXG4uY2VsbCAuZ3JpZC15LmdyaWQtZnJhbWUge1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5jZWxsIC5ncmlkLXkubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuY2VsbCAuZ3JpZC15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAuY2VsbCAuZ3JpZC15LnhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwLjA2MjVlbSkge1xuICAuY2VsbCAuZ3JpZC15Lnh4bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbi5ncmlkLW1hcmdpbi15IHtcbiAgbWFyZ2luLXRvcDogLTAuNjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC42MjVyZW07XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15IHtcbiAgICBtYXJnaW4tdG9wOiAtMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IC0wLjkzNzVyZW07XG4gIH1cbn1cblxuLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gIG1hcmdpbi10b3A6IDAuNjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgfVxufVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjI1cmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gIGhlaWdodDogY2FsYygyNSUgLSAxLjI1cmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjI1cmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gIGhlaWdodDogY2FsYyg1MCUgLSAxLjI1cmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjI1cmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjI1cmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gIGhlaWdodDogY2FsYyg3NSUgLSAxLjI1cmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS4yNXJlbSk7XG59XG5cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuMjVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTUge1xuICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLWF1dG8ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2Utc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwLjA2MjVlbSkge1xuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLWF1dG8ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLXNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICB9XG59XG5cbi5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjI1cmVtKTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS44NzVyZW0pO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuODc1cmVtKTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjg3NXJlbSk7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwLjA2MjVlbSkge1xuICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjg3NXJlbSk7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuODc1cmVtKTtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1tYXJnaW4teS5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjg3NXJlbSk7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkueGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuODc1cmVtKTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAuMDYyNWVtKSB7XG4gIC5ncmlkLW1hcmdpbi15Lnh4bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS44NzVyZW0pO1xuICB9XG59XG5cbi5idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgcGFkZGluZzogMS41ZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5OTFCMUU7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuXG5bZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmJ1dHRvbiB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi5idXR0b246aG92ZXIsIC5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODIxNzFhO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cblxuLmJ1dHRvbi50aW55IHtcbiAgZm9udC1zaXplOiAwLjZyZW07XG59XG5cbi5idXR0b24uc21hbGwge1xuICBmb250LXNpemU6IDAuNzVyZW07XG59XG5cbi5idXR0b24uZGVmYXV0IHtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4uYnV0dG9uLmxhcmdlIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xufVxuXG4uYnV0dG9uLmV4cGFuZGVkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4uYnV0dG9uLnByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTkxQjFFO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cblxuLmJ1dHRvbi5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLnByaW1hcnk6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2ExNjE4O1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cblxuLmJ1dHRvbi5zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQTYwNzBDO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cblxuLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzg1MDYwYTtcbiAgY29sb3I6ICNmZWZlZmU7XG59XG5cbi5idXR0b24uc3VjY2VzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuXG4uYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uc3VjY2Vzczpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMmJiNWI7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuXG4uYnV0dG9uLndhcm5pbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M4YjAwO1xuICBjb2xvcjogIzBhMGEwYTtcbn1cblxuLmJ1dHRvbi53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLndhcm5pbmc6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTM2ZjAwO1xuICBjb2xvcjogIzBhMGEwYTtcbn1cblxuLmJ1dHRvbi5hbGVydCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYzRiMzc7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuXG4uYnV0dG9uLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmFsZXJ0OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2E1M2IyYTtcbiAgY29sb3I6ICNmZWZlZmU7XG59XG5cbi5idXR0b24uZGlzYWJsZWQsIC5idXR0b25bZGlzYWJsZWRdIHtcbiAgb3BhY2l0eTogMC4yNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5OTFCMUU7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuXG4uYnV0dG9uLmRpc2FibGVkLnByaW1hcnksIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnkge1xuICBvcGFjaXR5OiAwLjI1O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4uYnV0dG9uLmRpc2FibGVkLnByaW1hcnksIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5LCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk5MUIxRTtcbiAgY29sb3I6ICNmZWZlZmU7XG59XG5cbi5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5LCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnkge1xuICBvcGFjaXR5OiAwLjI1O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4uYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeSwgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnksIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0E2MDcwQztcbiAgY29sb3I6ICNmZWZlZmU7XG59XG5cbi5idXR0b24uZGlzYWJsZWQuc3VjY2VzcywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2VzcyB7XG4gIG9wYWNpdHk6IDAuMjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5idXR0b24uZGlzYWJsZWQuc3VjY2VzcywgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3MsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xuICBjb2xvcjogIzBhMGEwYTtcbn1cblxuLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nIHtcbiAgb3BhY2l0eTogMC4yNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nLCAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZywgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYzhiMDA7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuXG4uYnV0dG9uLmRpc2FibGVkLmFsZXJ0LCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydCB7XG4gIG9wYWNpdHk6IDAuMjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5idXR0b24uZGlzYWJsZWQuYWxlcnQsIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0LCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YjM3O1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cblxuLmJ1dHRvbi5ob2xsb3cge1xuICBib3JkZXI6IDFweCBzb2xpZCAjOTkxQjFFO1xuICBjb2xvcjogIzk5MUIxRTtcbn1cblxuLmJ1dHRvbi5ob2xsb3csIC5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uYnV0dG9uLmhvbGxvdy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzRkMGUwZjtcbiAgY29sb3I6ICM0ZDBlMGY7XG59XG5cbi5idXR0b24uaG9sbG93OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdzpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdzpmb2N1c1tkaXNhYmxlZF0ge1xuICBib3JkZXI6IDFweCBzb2xpZCAjOTkxQjFFO1xuICBjb2xvcjogIzk5MUIxRTtcbn1cblxuLmJ1dHRvbi5ob2xsb3cucHJpbWFyeSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM5OTFCMUU7XG4gIGNvbG9yOiAjOTkxQjFFO1xufVxuXG4uYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjNGQwZTBmO1xuICBjb2xvcjogIzRkMGUwZjtcbn1cblxuLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnByaW1hcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnByaW1hcnk6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzk5MUIxRTtcbiAgY29sb3I6ICM5OTFCMUU7XG59XG5cbi5idXR0b24uaG9sbG93LnNlY29uZGFyeSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNBNjA3MEM7XG4gIGNvbG9yOiAjQTYwNzBDO1xufVxuXG4uYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzUzMDQwNjtcbiAgY29sb3I6ICM1MzA0MDY7XG59XG5cbi5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI0E2MDcwQztcbiAgY29sb3I6ICNBNjA3MEM7XG59XG5cbi5idXR0b24uaG9sbG93LnN1Y2Nlc3Mge1xuICBib3JkZXI6IDFweCBzb2xpZCAjM2FkYjc2O1xuICBjb2xvcjogIzNhZGI3Njtcbn1cblxuLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzE1NzUzOTtcbiAgY29sb3I6ICMxNTc1Mzk7XG59XG5cbi5idXR0b24uaG9sbG93LnN1Y2Nlc3M6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzW2Rpc2FibGVkXSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMzYWRiNzY7XG4gIGNvbG9yOiAjM2FkYjc2O1xufVxuXG4uYnV0dG9uLmhvbGxvdy53YXJuaW5nIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjOGIwMDtcbiAgY29sb3I6ICNjYzhiMDA7XG59XG5cbi5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXIsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICM2NjQ2MDA7XG4gIGNvbG9yOiAjNjY0NjAwO1xufVxuXG4uYnV0dG9uLmhvbGxvdy53YXJuaW5nOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1c1tkaXNhYmxlZF0ge1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2M4YjAwO1xuICBjb2xvcjogI2NjOGIwMDtcbn1cblxuLmJ1dHRvbi5ob2xsb3cuYWxlcnQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2M0YjM3O1xuICBjb2xvcjogI2NjNGIzNztcbn1cblxuLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmFsZXJ0OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjNjcyNTFhO1xuICBjb2xvcjogIzY3MjUxYTtcbn1cblxuLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmFsZXJ0OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmFsZXJ0OmZvY3VzW2Rpc2FibGVkXSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYzRiMzc7XG4gIGNvbG9yOiAjY2M0YjM3O1xufVxuXG4uYnV0dG9uLmNsZWFyIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzk5MUIxRTtcbiAgY29sb3I6ICM5OTFCMUU7XG59XG5cbi5idXR0b24uY2xlYXIsIC5idXR0b24uY2xlYXI6aG92ZXIsIC5idXR0b24uY2xlYXI6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmJ1dHRvbi5jbGVhci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uYnV0dG9uLmNsZWFyOmhvdmVyLCAuYnV0dG9uLmNsZWFyOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjNGQwZTBmO1xuICBjb2xvcjogIzRkMGUwZjtcbn1cblxuLmJ1dHRvbi5jbGVhcjpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcjpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXI6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXI6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzk5MUIxRTtcbiAgY29sb3I6ICM5OTFCMUU7XG59XG5cbi5idXR0b24uY2xlYXIsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyOmhvdmVyLCAuYnV0dG9uLmNsZWFyOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcjpmb2N1cywgLmJ1dHRvbi5jbGVhcjpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcjpmb2N1c1tkaXNhYmxlZF0ge1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uYnV0dG9uLmNsZWFyLnByaW1hcnkge1xuICBib3JkZXI6IDFweCBzb2xpZCAjOTkxQjFFO1xuICBjb2xvcjogIzk5MUIxRTtcbn1cblxuLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICM0ZDBlMGY7XG4gIGNvbG9yOiAjNGQwZTBmO1xufVxuXG4uYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzW2Rpc2FibGVkXSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM5OTFCMUU7XG4gIGNvbG9yOiAjOTkxQjFFO1xufVxuXG4uYnV0dG9uLmNsZWFyLnByaW1hcnksIC5idXR0b24uY2xlYXIucHJpbWFyeS5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cywgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnkge1xuICBib3JkZXI6IDFweCBzb2xpZCAjQTYwNzBDO1xuICBjb2xvcjogI0E2MDcwQztcbn1cblxuLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjNTMwNDA2O1xuICBjb2xvcjogIzUzMDQwNjtcbn1cblxuLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzW2Rpc2FibGVkXSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNBNjA3MEM7XG4gIGNvbG9yOiAjQTYwNzBDO1xufVxuXG4uYnV0dG9uLmNsZWFyLnNlY29uZGFyeSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnkuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmJ1dHRvbi5jbGVhci5zdWNjZXNzIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzNhZGI3NjtcbiAgY29sb3I6ICMzYWRiNzY7XG59XG5cbi5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjMTU3NTM5O1xuICBjb2xvcjogIzE1NzUzOTtcbn1cblxuLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1c1tkaXNhYmxlZF0ge1xuICBib3JkZXI6IDFweCBzb2xpZCAjM2FkYjc2O1xuICBjb2xvcjogIzNhZGI3Njtcbn1cblxuLmJ1dHRvbi5jbGVhci5zdWNjZXNzLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3MuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzc1tkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzW2Rpc2FibGVkXSB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5idXR0b24uY2xlYXIud2FybmluZyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYzhiMDA7XG4gIGNvbG9yOiAjY2M4YjAwO1xufVxuXG4uYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzY2NDYwMDtcbiAgY29sb3I6ICM2NjQ2MDA7XG59XG5cbi5idXR0b24uY2xlYXIud2FybmluZzpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjOGIwMDtcbiAgY29sb3I6ICNjYzhiMDA7XG59XG5cbi5idXR0b24uY2xlYXIud2FybmluZywgLmJ1dHRvbi5jbGVhci53YXJuaW5nLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmdbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIsIC5idXR0b24uY2xlYXIud2FybmluZzpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1c1tkaXNhYmxlZF0ge1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uYnV0dG9uLmNsZWFyLmFsZXJ0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjNGIzNztcbiAgY29sb3I6ICNjYzRiMzc7XG59XG5cbi5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIsIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICM2NzI1MWE7XG4gIGNvbG9yOiAjNjcyNTFhO1xufVxuXG4uYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1c1tkaXNhYmxlZF0ge1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2M0YjM3O1xuICBjb2xvcjogI2NjNGIzNztcbn1cblxuLmJ1dHRvbi5jbGVhci5hbGVydCwgLmJ1dHRvbi5jbGVhci5hbGVydC5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydFtkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIsIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzW2Rpc2FibGVkXSB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5idXR0b24uZHJvcGRvd246OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgMC40ZW07XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiAjZmVmZWZlIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMC40ZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tbGVmdDogMS41ZW07XG59XG5cbi5idXR0b24uZHJvcGRvd24uaG9sbG93OjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhcjo6YWZ0ZXIge1xuICBib3JkZXItdG9wLWNvbG9yOiAjOTkxQjFFO1xufVxuXG4uYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5wcmltYXJ5OjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci5wcmltYXJ5OjphZnRlciB7XG4gIGJvcmRlci10b3AtY29sb3I6ICM5OTFCMUU7XG59XG5cbi5idXR0b24uZHJvcGRvd24uaG9sbG93LnNlY29uZGFyeTo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIuc2Vjb25kYXJ5OjphZnRlciB7XG4gIGJvcmRlci10b3AtY29sb3I6ICNBNjA3MEM7XG59XG5cbi5idXR0b24uZHJvcGRvd24uaG9sbG93LnN1Y2Nlc3M6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLnN1Y2Nlc3M6OmFmdGVyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzNhZGI3Njtcbn1cblxuLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cud2FybmluZzo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIud2FybmluZzo6YWZ0ZXIge1xuICBib3JkZXItdG9wLWNvbG9yOiAjY2M4YjAwO1xufVxuXG4uYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5hbGVydDo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIuYWxlcnQ6OmFmdGVyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2NjNGIzNztcbn1cblxuLmJ1dHRvbi5hcnJvdy1vbmx5OjphZnRlciB7XG4gIHRvcDogLTAuMWVtO1xuICBmbG9hdDogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbmEuYnV0dG9uOmhvdmVyLCBhLmJ1dHRvbjpmb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmJ1dHRvbi1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbn1cblxuLmJ1dHRvbi1ncm91cDo6YmVmb3JlLCAuYnV0dG9uLWdyb3VwOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiAnICc7XG4gIGZsZXgtYmFzaXM6IDA7XG4gIG9yZGVyOiAxO1xufVxuXG4uYnV0dG9uLWdyb3VwOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYnV0dG9uLWdyb3VwIC5idXR0b24ge1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi1yaWdodDogMXB4O1xuICBtYXJnaW4tYm90dG9tOiAxcHg7XG4gIGZsZXg6IDAgMCBhdXRvO1xufVxuXG4uYnV0dG9uLWdyb3VwIC5idXR0b246bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLmJ1dHRvbi1ncm91cC50aW55IC5idXR0b24ge1xuICBmb250LXNpemU6IDAuNnJlbTtcbn1cblxuLmJ1dHRvbi1ncm91cC5zbWFsbCAuYnV0dG9uIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xufVxuXG4uYnV0dG9uLWdyb3VwLmRlZmF1dCAuYnV0dG9uIHtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4uYnV0dG9uLWdyb3VwLmxhcmdlIC5idXR0b24ge1xuICBmb250LXNpemU6IDEuMjVyZW07XG59XG5cbi5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbiB7XG4gIGZsZXg6IDEgMSAwcHg7XG59XG5cbi5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk5MUIxRTtcbiAgY29sb3I6ICNmZWZlZmU7XG59XG5cbi5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3YTE2MTg7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuXG4uYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0E2MDcwQztcbiAgY29sb3I6ICNmZWZlZmU7XG59XG5cbi5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODUwNjBhO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cblxuLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xuICBjb2xvcjogIzBhMGEwYTtcbn1cblxuLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIyYmI1YjtcbiAgY29sb3I6ICMwYTBhMGE7XG59XG5cbi5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjOGIwMDtcbiAgY29sb3I6ICMwYTBhMGE7XG59XG5cbi5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhMzZmMDA7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuXG4uYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YjM3O1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cblxuLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTUzYjJhO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cblxuLmJ1dHRvbi1ncm91cC5zdGFja2VkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLmJ1dHRvbi1ncm91cC5zdGFja2VkIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbiB7XG4gIGZsZXg6IDAgMCAxMDAlO1xufVxuXG4uYnV0dG9uLWdyb3VwLnN0YWNrZWQgLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmJ1dHRvbi1ncm91cC5zdGFja2VkLmV4cGFuZGVkIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQgLmJ1dHRvbiB7XG4gIGZsZXg6IDEgMSAwcHg7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3Ljk5ODc1ZW0pIHtcbiAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAuYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQgLmJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5cbi5jbG9zZS1idXR0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiAjOGE4YThhO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbltkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuY2xvc2UtYnV0dG9uIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLmNsb3NlLWJ1dHRvbjpob3ZlciwgLmNsb3NlLWJ1dHRvbjpmb2N1cyB7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuXG4uY2xvc2UtYnV0dG9uLnNtYWxsIHtcbiAgcmlnaHQ6IDAuNjZyZW07XG4gIHRvcDogMC4zM2VtO1xuICBmb250LXNpemU6IDEuNWVtO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLmNsb3NlLWJ1dHRvbiwgLmNsb3NlLWJ1dHRvbi5tZWRpdW0ge1xuICByaWdodDogMXJlbTtcbiAgdG9wOiAwLjVyZW07XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGJhY2tncm91bmQ6ICM5OTFCMUU7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuXG4ubGFiZWwucHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6ICM5OTFCMUU7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuXG4ubGFiZWwuc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZDogI0E2MDcwQztcbiAgY29sb3I6ICNmZWZlZmU7XG59XG5cbi5sYWJlbC5zdWNjZXNzIHtcbiAgYmFja2dyb3VuZDogIzNhZGI3NjtcbiAgY29sb3I6ICMwYTBhMGE7XG59XG5cbi5sYWJlbC53YXJuaW5nIHtcbiAgYmFja2dyb3VuZDogI2NjOGIwMDtcbiAgY29sb3I6ICMwYTBhMGE7XG59XG5cbi5sYWJlbC5hbGVydCB7XG4gIGJhY2tncm91bmQ6ICNjYzRiMzc7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuXG4ucHJvZ3Jlc3Mge1xuICBoZWlnaHQ6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYWNhY2E7XG59XG5cbi5wcm9ncmVzcy5wcmltYXJ5IC5wcm9ncmVzcy1tZXRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5OTFCMUU7XG59XG5cbi5wcm9ncmVzcy5zZWNvbmRhcnkgLnByb2dyZXNzLW1ldGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0E2MDcwQztcbn1cblxuLnByb2dyZXNzLnN1Y2Nlc3MgLnByb2dyZXNzLW1ldGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNhZGI3Njtcbn1cblxuLnByb2dyZXNzLndhcm5pbmcgLnByb2dyZXNzLW1ldGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjOGIwMDtcbn1cblxuLnByb2dyZXNzLmFsZXJ0IC5wcm9ncmVzcy1tZXRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYzRiMzc7XG59XG5cbi5wcm9ncmVzcy1tZXRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTkxQjFFO1xufVxuXG4ucHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5zbGlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMC41cmVtO1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7XG59XG5cbi5zbGlkZXItZmlsbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwLjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYWNhY2E7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xufVxuXG4uc2xpZGVyLWZpbGwuaXMtZHJhZ2dpbmcge1xuICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xufVxuXG4uc2xpZGVyLWhhbmRsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMS40cmVtO1xuICBoZWlnaHQ6IDEuNHJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk5MUIxRTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xufVxuXG5bZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnNsaWRlci1oYW5kbGUge1xuICBvdXRsaW5lOiAwO1xufVxuXG4uc2xpZGVyLWhhbmRsZTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4MjE3MWE7XG59XG5cbi5zbGlkZXItaGFuZGxlLmlzLWRyYWdnaW5nIHtcbiAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjtcbn1cblxuLnNsaWRlci5kaXNhYmxlZCxcbi5zbGlkZXJbZGlzYWJsZWRdIHtcbiAgb3BhY2l0eTogMC4yNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLnNsaWRlci52ZXJ0aWNhbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDAuNXJlbTtcbiAgaGVpZ2h0OiAxMi41cmVtO1xuICBtYXJnaW46IDAgMS4yNXJlbTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7XG59XG5cbi5zbGlkZXIudmVydGljYWwgLnNsaWRlci1maWxsIHtcbiAgdG9wOiAwO1xuICB3aWR0aDogMC41cmVtO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xufVxuXG4uc2xpZGVyLnZlcnRpY2FsIC5zbGlkZXItaGFuZGxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDUwJTtcbiAgd2lkdGg6IDEuNHJlbTtcbiAgaGVpZ2h0OiAxLjRyZW07XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLnN3aXRjaCB7XG4gIGhlaWdodDogMnJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBvdXRsaW5lOiAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4uc3dpdGNoLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uc3dpdGNoLXBhZGRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiA0cmVtO1xuICBoZWlnaHQ6IDJyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6ICNjYWNhY2E7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbmlucHV0ICsgLnN3aXRjaC1wYWRkbGUge1xuICBtYXJnaW46IDA7XG59XG5cbi5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwLjI1cmVtO1xuICBsZWZ0OiAwLjI1cmVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEuNXJlbTtcbiAgaGVpZ2h0OiAxLjVyZW07XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgY29udGVudDogJyc7XG59XG5cbmlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZSB7XG4gIGJhY2tncm91bmQ6ICM5OTFCMUU7XG59XG5cbmlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICBsZWZ0OiAyLjI1cmVtO1xufVxuXG5bZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gaW5wdXQ6Zm9jdXMgfiAuc3dpdGNoLXBhZGRsZSB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi5zd2l0Y2gtYWN0aXZlLCAuc3dpdGNoLWluYWN0aXZlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4uc3dpdGNoLWFjdGl2ZSB7XG4gIGxlZnQ6IDglO1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5pbnB1dDpjaGVja2VkICsgbGFiZWwgPiAuc3dpdGNoLWFjdGl2ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uc3dpdGNoLWluYWN0aXZlIHtcbiAgcmlnaHQ6IDE1JTtcbn1cblxuaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gLnN3aXRjaC1pbmFjdGl2ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5zd2l0Y2gudGlueSB7XG4gIGhlaWdodDogMS41cmVtO1xufVxuXG4uc3dpdGNoLnRpbnkgLnN3aXRjaC1wYWRkbGUge1xuICB3aWR0aDogM3JlbTtcbiAgaGVpZ2h0OiAxLjVyZW07XG4gIGZvbnQtc2l6ZTogMC42MjVyZW07XG59XG5cbi5zd2l0Y2gudGlueSAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICB0b3A6IDAuMjVyZW07XG4gIGxlZnQ6IDAuMjVyZW07XG4gIHdpZHRoOiAxcmVtO1xuICBoZWlnaHQ6IDFyZW07XG59XG5cbi5zd2l0Y2gudGlueSBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgbGVmdDogMS43NXJlbTtcbn1cblxuLnN3aXRjaC5zbWFsbCB7XG4gIGhlaWdodDogMS43NXJlbTtcbn1cblxuLnN3aXRjaC5zbWFsbCAuc3dpdGNoLXBhZGRsZSB7XG4gIHdpZHRoOiAzLjVyZW07XG4gIGhlaWdodDogMS43NXJlbTtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xufVxuXG4uc3dpdGNoLnNtYWxsIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gIHRvcDogMC4yNXJlbTtcbiAgbGVmdDogMC4yNXJlbTtcbiAgd2lkdGg6IDEuMjVyZW07XG4gIGhlaWdodDogMS4yNXJlbTtcbn1cblxuLnN3aXRjaC5zbWFsbCBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgbGVmdDogMnJlbTtcbn1cblxuLnN3aXRjaC5sYXJnZSB7XG4gIGhlaWdodDogMi41cmVtO1xufVxuXG4uc3dpdGNoLmxhcmdlIC5zd2l0Y2gtcGFkZGxlIHtcbiAgd2lkdGg6IDVyZW07XG4gIGhlaWdodDogMi41cmVtO1xuICBmb250LXNpemU6IDFyZW07XG59XG5cbi5zd2l0Y2gubGFyZ2UgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgdG9wOiAwLjI1cmVtO1xuICBsZWZ0OiAwLjI1cmVtO1xuICB3aWR0aDogMnJlbTtcbiAgaGVpZ2h0OiAycmVtO1xufVxuXG4uc3dpdGNoLmxhcmdlIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICBsZWZ0OiAyLjc1cmVtO1xufVxuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG50aGVhZCxcbnRib2R5LFxudGZvb3Qge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZjFmMWYxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xufVxuXG5jYXB0aW9uIHtcbiAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxudGhlYWQge1xuICBiYWNrZ3JvdW5kOiAjZjhmOGY4O1xuICBjb2xvcjogIzBhMGEwYTtcbn1cblxudGZvb3Qge1xuICBiYWNrZ3JvdW5kOiAjZjFmMWYxO1xuICBjb2xvcjogIzBhMGEwYTtcbn1cblxudGhlYWQgdHIsXG50Zm9vdCB0ciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG50aGVhZCB0aCxcbnRoZWFkIHRkLFxudGZvb3QgdGgsXG50Zm9vdCB0ZCB7XG4gIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbnRib2R5IHRoLFxudGJvZHkgdGQge1xuICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07XG59XG5cbnRib2R5IHRyOm50aC1jaGlsZChldmVuKSB7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XG59XG5cbnRhYmxlLnVuc3RyaXBlZCB0Ym9keSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG59XG5cbnRhYmxlLnVuc3RyaXBlZCB0Ym9keSB0ciB7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjFmMWYxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIHRhYmxlLnN0YWNrIHRoZWFkIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIHRhYmxlLnN0YWNrIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIHRhYmxlLnN0YWNrIHRyLFxuICB0YWJsZS5zdGFjayB0aCxcbiAgdGFibGUuc3RhY2sgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIHRhYmxlLnN0YWNrIHRkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbnRhYmxlLnNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxudGFibGUuaG92ZXIgdGhlYWQgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzO1xufVxuXG50YWJsZS5ob3ZlciB0Zm9vdCB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZWM7XG59XG5cbnRhYmxlLmhvdmVyIHRib2R5IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcbn1cblxudGFibGUuaG92ZXI6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VjZWNlYztcbn1cblxuLnRhYmxlLXNjcm9sbCB7XG4gIG92ZXJmbG93LXg6IGF1dG87XG59XG5cbi5iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiAyLjFlbTtcbiAgcGFkZGluZzogMC4zZW07XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgZm9udC1zaXplOiAwLjZyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogIzk5MUIxRTtcbiAgY29sb3I6ICNmZWZlZmU7XG59XG5cbi5iYWRnZS5wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogIzk5MUIxRTtcbiAgY29sb3I6ICNmZWZlZmU7XG59XG5cbi5iYWRnZS5zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kOiAjQTYwNzBDO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cblxuLmJhZGdlLnN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kOiAjM2FkYjc2O1xuICBjb2xvcjogIzBhMGEwYTtcbn1cblxuLmJhZGdlLndhcm5pbmcge1xuICBiYWNrZ3JvdW5kOiAjY2M4YjAwO1xuICBjb2xvcjogIzBhMGEwYTtcbn1cblxuLmJhZGdlLmFsZXJ0IHtcbiAgYmFja2dyb3VuZDogI2NjNGIzNztcbiAgY29sb3I6ICNmZWZlZmU7XG59XG5cbi5icmVhZGNydW1icyB7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLmJyZWFkY3J1bWJzOjpiZWZvcmUsIC5icmVhZGNydW1iczo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogJyAnO1xuICBmbGV4LWJhc2lzOiAwO1xuICBvcmRlcjogMTtcbn1cblxuLmJyZWFkY3J1bWJzOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYnJlYWRjcnVtYnMgbGkge1xuICBmbG9hdDogbGVmdDtcbiAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5icmVhZGNydW1icyBsaTpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwIDAuNzVyZW07XG4gIG9wYWNpdHk6IDE7XG4gIGNvbnRlbnQ6IFwiL1wiO1xuICBjb2xvcjogI2NhY2FjYTtcbn1cblxuLmJyZWFkY3J1bWJzIGEge1xuICBjb2xvcjogIzk5MUIxRTtcbn1cblxuLmJyZWFkY3J1bWJzIGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLmJyZWFkY3J1bWJzIC5kaXNhYmxlZCB7XG4gIGNvbG9yOiAjY2FjYWNhO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4uY2FsbG91dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEwLCAxMCwgMTAsIDAuMjUpO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgY29sb3I6ICMwYTBhMGE7XG59XG5cbi5jYWxsb3V0ID4gOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLmNhbGxvdXQgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jYWxsb3V0LnByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhkNWQ2O1xuICBjb2xvcjogIzBhMGEwYTtcbn1cblxuLmNhbGxvdXQuc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZkY2VkMDtcbiAgY29sb3I6ICMwYTBhMGE7XG59XG5cbi5jYWxsb3V0LnN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTFmYWVhO1xuICBjb2xvcjogIzBhMGEwYTtcbn1cblxuLmNhbGxvdXQud2FybmluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmYwZDE7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuXG4uY2FsbG91dC5hbGVydCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmN2U0ZTE7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuXG4uY2FsbG91dC5zbWFsbCB7XG4gIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG59XG5cbi5jYWxsb3V0LmxhcmdlIHtcbiAgcGFkZGluZy10b3A6IDNyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDNyZW07XG4gIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuICBwYWRkaW5nLWxlZnQ6IDNyZW07XG59XG5cbi5jYXJkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1ncm93OiAxO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBib3gtc2hhZG93OiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogIzBhMGEwYTtcbn1cblxuLmNhcmQgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jYXJkLWRpdmlkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDEgYXV0bztcbiAgcGFkZGluZzogMXJlbTtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbn1cblxuLmNhcmQtZGl2aWRlciA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtc2VjdGlvbiB7XG4gIGZsZXg6IDEgMCBhdXRvO1xuICBwYWRkaW5nOiAxcmVtO1xufVxuXG4uY2FyZC1zZWN0aW9uID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY2FyZC1pbWFnZSB7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbn1cblxuLmRyb3Bkb3duLXBhbmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMzAwcHg7XG4gIHBhZGRpbmc6IDFyZW07XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuXG4uZHJvcGRvd24tcGFuZS5pcy1vcGVuaW5nIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5kcm9wZG93bi1wYW5lLmlzLW9wZW4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuLmRyb3Bkb3duLXBhbmUudGlueSB7XG4gIHdpZHRoOiAxMDBweDtcbn1cblxuLmRyb3Bkb3duLXBhbmUuc21hbGwge1xuICB3aWR0aDogMjAwcHg7XG59XG5cbi5kcm9wZG93bi1wYW5lLmxhcmdlIHtcbiAgd2lkdGg6IDQwMHB4O1xufVxuXG4ucGFnaW5hdGlvbiB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG4ucGFnaW5hdGlvbjo6YmVmb3JlLCAucGFnaW5hdGlvbjo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogJyAnO1xuICBmbGV4LWJhc2lzOiAwO1xuICBvcmRlcjogMTtcbn1cblxuLnBhZ2luYXRpb246OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5wYWdpbmF0aW9uIGxpIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjA2MjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wYWdpbmF0aW9uIGxpOmxhc3QtY2hpbGQsIC5wYWdpbmF0aW9uIGxpOmZpcnN0LWNoaWxkIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAucGFnaW5hdGlvbiBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi5wYWdpbmF0aW9uIGEsXG4ucGFnaW5hdGlvbiBidXR0b24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBjb2xvcjogIzBhMGEwYTtcbn1cblxuLnBhZ2luYXRpb24gYTpob3Zlcixcbi5wYWdpbmF0aW9uIGJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNlNmU2ZTY7XG59XG5cbi5wYWdpbmF0aW9uIC5jdXJyZW50IHtcbiAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICBiYWNrZ3JvdW5kOiAjOTkxQjFFO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4ucGFnaW5hdGlvbiAuZGlzYWJsZWQge1xuICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gIGNvbG9yOiAjY2FjYWNhO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4ucGFnaW5hdGlvbiAuZGlzYWJsZWQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLnBhZ2luYXRpb24gLmVsbGlwc2lzOjphZnRlciB7XG4gIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgY29udGVudDogJ1xcMjAyNic7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuXG4ucGFnaW5hdGlvbi1wcmV2aW91cyBhOjpiZWZvcmUsXG4ucGFnaW5hdGlvbi1wcmV2aW91cy5kaXNhYmxlZDo6YmVmb3JlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgY29udGVudDogJ1xcMDBhYic7XG59XG5cbi5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXG4ucGFnaW5hdGlvbi1uZXh0LmRpc2FibGVkOjphZnRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgY29udGVudDogJ1xcMDBiYic7XG59XG5cbi5oYXMtdGlwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggIzhhOGE4YTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGN1cnNvcjogaGVscDtcbn1cblxuLnRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDAlICsgMC42NDk1cmVtKTtcbiAgei1pbmRleDogMTIwMDtcbiAgbWF4LXdpZHRoOiAxMHJlbTtcbiAgcGFkZGluZzogMC43NXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBhMGEwYTtcbiAgZm9udC1zaXplOiA4MCU7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuXG4udG9vbHRpcDo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG4udG9vbHRpcC5ib3R0b206OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMGEwYTBhO1xuICBib3R0b206IDEwMCU7XG59XG5cbi50b29sdGlwLmJvdHRvbS5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4udG9vbHRpcC50b3A6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiAjMGEwYTBhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB0b3A6IDEwMCU7XG4gIGJvdHRvbTogYXV0bztcbn1cblxuLnRvb2x0aXAudG9wLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi50b29sdGlwLmxlZnQ6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMGEwYTBhO1xuICBsZWZ0OiAxMDAlO1xufVxuXG4udG9vbHRpcC5sZWZ0LmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgYm90dG9tOiBhdXRvO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4udG9vbHRpcC5yaWdodDo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMwYTBhMGEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIHJpZ2h0OiAxMDAlO1xuICBsZWZ0OiBhdXRvO1xufVxuXG4udG9vbHRpcC5yaWdodC5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gIGJvdHRvbTogYXV0bztcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLnRvb2x0aXAuYWxpZ24tdG9wOjpiZWZvcmUge1xuICBib3R0b206IGF1dG87XG4gIHRvcDogMTAlO1xufVxuXG4udG9vbHRpcC5hbGlnbi1ib3R0b206OmJlZm9yZSB7XG4gIGJvdHRvbTogMTAlO1xuICB0b3A6IGF1dG87XG59XG5cbi50b29sdGlwLmFsaWduLWxlZnQ6OmJlZm9yZSB7XG4gIGxlZnQ6IDEwJTtcbiAgcmlnaHQ6IGF1dG87XG59XG5cbi50b29sdGlwLmFsaWduLXJpZ2h0OjpiZWZvcmUge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMTAlO1xufVxuXG4uYWNjb3JkaW9uIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLmFjY29yZGlvbltkaXNhYmxlZF0gLmFjY29yZGlvbi10aXRsZSB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5hY2NvcmRpb24taXRlbTpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7XG59XG5cbi5hY2NvcmRpb24taXRlbTpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwO1xufVxuXG4uYWNjb3JkaW9uLXRpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMS4yNXJlbSAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogIzk5MUIxRTtcbn1cblxuOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gLmFjY29yZGlvbi10aXRsZSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwO1xufVxuXG4uYWNjb3JkaW9uLXRpdGxlOmhvdmVyLCAuYWNjb3JkaW9uLXRpdGxlOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbn1cblxuLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIGNvbnRlbnQ6ICcrJztcbn1cblxuLmlzLWFjdGl2ZSA+IC5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXDIwMTMnO1xufVxuXG4uYWNjb3JkaW9uLWNvbnRlbnQge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBjb2xvcjogIzBhMGEwYTtcbn1cblxuOmxhc3QtY2hpbGQgPiAuYWNjb3JkaW9uLWNvbnRlbnQ6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTZlNmU2O1xufVxuXG4ubWVkaWEtb2JqZWN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZmxleC13cmFwOiBub3dyYXA7XG59XG5cbi5tZWRpYS1vYmplY3QgaW1nIHtcbiAgbWF4LXdpZHRoOiBub25lO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45OTg3NWVtKSB7XG4gIC5tZWRpYS1vYmplY3Quc3RhY2stZm9yLXNtYWxsIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbn1cblxuLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgZmxleDogMCAxIGF1dG87XG59XG5cbi5tZWRpYS1vYmplY3Qtc2VjdGlvbjpmaXJzdC1jaGlsZCB7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG59XG5cbi5tZWRpYS1vYmplY3Qtc2VjdGlvbjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbn1cblxuLm1lZGlhLW9iamVjdC1zZWN0aW9uID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45OTg3NWVtKSB7XG4gIC5zdGFjay1mb3Itc21hbGwgLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIC5zdGFjay1mb3Itc21hbGwgLm1lZGlhLW9iamVjdC1zZWN0aW9uIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLm1lZGlhLW9iamVjdC1zZWN0aW9uLm1haW4tc2VjdGlvbiB7XG4gIGZsZXg6IDEgMSAwcHg7XG59XG5cbi5vcmJpdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm9yYml0LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5vcmJpdC1zbGlkZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi5vcmJpdC1zbGlkZS5uby1tb3Rpb251aS5pcy1hY3RpdmUge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG59XG5cbi5vcmJpdC1maWd1cmUge1xuICBtYXJnaW46IDA7XG59XG5cbi5vcmJpdC1pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbn1cblxuLm9yYml0LWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAsIDEwLCAxMCwgMC41KTtcbiAgY29sb3I6ICNmZWZlZmU7XG59XG5cbi5vcmJpdC1wcmV2aW91cywgLm9yYml0LW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHotaW5kZXg6IDEwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cblxuW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vcmJpdC1wcmV2aW91cywgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vcmJpdC1uZXh0IHtcbiAgb3V0bGluZTogMDtcbn1cblxuLm9yYml0LXByZXZpb3VzOmhvdmVyLCAub3JiaXQtbmV4dDpob3ZlciwgLm9yYml0LXByZXZpb3VzOmFjdGl2ZSwgLm9yYml0LW5leHQ6YWN0aXZlLCAub3JiaXQtcHJldmlvdXM6Zm9jdXMsIC5vcmJpdC1uZXh0OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMCwgMTAsIDEwLCAwLjUpO1xufVxuXG4ub3JiaXQtcHJldmlvdXMge1xuICBsZWZ0OiAwO1xufVxuXG4ub3JiaXQtbmV4dCB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwO1xufVxuXG4ub3JiaXQtYnVsbGV0cyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogMC44cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjhyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vcmJpdC1idWxsZXRzIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLm9yYml0LWJ1bGxldHMgYnV0dG9uIHtcbiAgd2lkdGg6IDEuMnJlbTtcbiAgaGVpZ2h0OiAxLjJyZW07XG4gIG1hcmdpbjogMC4xcmVtO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYWNhY2E7XG59XG5cbi5vcmJpdC1idWxsZXRzIGJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4YThhOGE7XG59XG5cbi5vcmJpdC1idWxsZXRzIGJ1dHRvbi5pcy1hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGE4YThhO1xufVxuXG4ucmVzcG9uc2l2ZS1lbWJlZCxcbi5mbGV4LXZpZGVvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIHBhZGRpbmctYm90dG9tOiA3NSU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5yZXNwb25zaXZlLWVtYmVkIGlmcmFtZSxcbi5yZXNwb25zaXZlLWVtYmVkIG9iamVjdCxcbi5yZXNwb25zaXZlLWVtYmVkIGVtYmVkLFxuLnJlc3BvbnNpdmUtZW1iZWQgdmlkZW8sXG4uZmxleC12aWRlbyBpZnJhbWUsXG4uZmxleC12aWRlbyBvYmplY3QsXG4uZmxleC12aWRlbyBlbWJlZCxcbi5mbGV4LXZpZGVvIHZpZGVvIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5yZXNwb25zaXZlLWVtYmVkLndpZGVzY3JlZW4sXG4uZmxleC12aWRlby53aWRlc2NyZWVuIHtcbiAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbn1cblxuLnRhYnMge1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLnRhYnM6OmJlZm9yZSwgLnRhYnM6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6ICcgJztcbiAgZmxleC1iYXNpczogMDtcbiAgb3JkZXI6IDE7XG59XG5cbi50YWJzOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4udGFicy52ZXJ0aWNhbCA+IGxpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBub25lO1xuICB3aWR0aDogYXV0bztcbn1cblxuLnRhYnMuc2ltcGxlID4gbGkgPiBhIHtcbiAgcGFkZGluZzogMDtcbn1cblxuLnRhYnMuc2ltcGxlID4gbGkgPiBhOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi50YWJzLnByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAjOTkxQjFFO1xufVxuXG4udGFicy5wcmltYXJ5ID4gbGkgPiBhIHtcbiAgY29sb3I6ICNmZWZlZmU7XG59XG5cbi50YWJzLnByaW1hcnkgPiBsaSA+IGE6aG92ZXIsIC50YWJzLnByaW1hcnkgPiBsaSA+IGE6Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiAjYTcxZDIxO1xufVxuXG4udGFicy10aXRsZSB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4udGFicy10aXRsZSA+IGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMS4yNXJlbSAxLjVyZW07XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAjOTkxQjFFO1xufVxuXG5bZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnRhYnMtdGl0bGUgPiBhIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLnRhYnMtdGl0bGUgPiBhOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgY29sb3I6ICM4NDE3MWE7XG59XG5cbi50YWJzLXRpdGxlID4gYTpmb2N1cywgLnRhYnMtdGl0bGUgPiBhW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gIGJhY2tncm91bmQ6ICNlNmU2ZTY7XG4gIGNvbG9yOiAjOTkxQjFFO1xufVxuXG4udGFicy1jb250ZW50IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG59XG5cbi50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItbGVmdDogMDtcbn1cblxuLnRhYnMtcGFuZWwge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxcmVtO1xufVxuXG4udGFicy1wYW5lbC5pcy1hY3RpdmUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnRodW1ibmFpbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXI6IDRweCBzb2xpZCAjZmVmZWZlO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgxMCwgMTAsIDEwLCAwLjIpO1xuICBsaW5lLWhlaWdodDogMDtcbn1cblxuYS50aHVtYm5haWwge1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xufVxuXG5hLnRodW1ibmFpbDpob3ZlciwgYS50aHVtYm5haWw6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgNnB4IDFweCByZ2JhKDE1MywgMjcsIDMwLCAwLjUpO1xufVxuXG5hLnRodW1ibmFpbCBpbWFnZSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5tZW51IHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5tZW51IGxpIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLm1lbnUgYSxcbi5tZW51IC5idXR0b24ge1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMC43cmVtIDFyZW07XG59XG5cbi5tZW51IGlucHV0LFxuLm1lbnUgc2VsZWN0LFxuLm1lbnUgYSxcbi5tZW51IGJ1dHRvbiB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5tZW51IGlucHV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4ubWVudSwgLm1lbnUuaG9yaXpvbnRhbCB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cblxuLm1lbnUudmVydGljYWwge1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLm1lbnUuZXhwYW5kZWQgbGkge1xuICBmbGV4OiAxIDEgMHB4O1xufVxuXG4ubWVudS5zaW1wbGUge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ubWVudS5zaW1wbGUgbGkgKyBsaSB7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtO1xufVxuXG4ubWVudS5zaW1wbGUgYSB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZW51Lm1lZGl1bS1ob3Jpem9udGFsIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAubWVudS5tZWRpdW0tdmVydGljYWwge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgLm1lbnUubWVkaXVtLWV4cGFuZGVkIGxpIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICB9XG4gIC5tZW51Lm1lZGl1bS1zaW1wbGUgbGkge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbiAgLm1lbnUubGFyZ2UtdmVydGljYWwge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgLm1lbnUubGFyZ2UtZXhwYW5kZWQgbGkge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gIH1cbiAgLm1lbnUubGFyZ2Utc2ltcGxlIGxpIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC5tZW51LnhsYXJnZS1ob3Jpem9udGFsIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAubWVudS54bGFyZ2UtdmVydGljYWwge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgLm1lbnUueGxhcmdlLWV4cGFuZGVkIGxpIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICB9XG4gIC5tZW51LnhsYXJnZS1zaW1wbGUgbGkge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwLjA2MjVlbSkge1xuICAubWVudS54eGxhcmdlLWhvcml6b250YWwge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG4gIC5tZW51Lnh4bGFyZ2UtdmVydGljYWwge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgLm1lbnUueHhsYXJnZS1leHBhbmRlZCBsaSB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgfVxuICAubWVudS54eGxhcmdlLXNpbXBsZSBsaSB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgfVxufVxuXG4ubWVudS5uZXN0ZWQge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtO1xufVxuXG4ubWVudS5pY29ucyBhIHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLm1lbnUuaWNvbi10b3AgYSwgLm1lbnUuaWNvbi1yaWdodCBhLCAubWVudS5pY29uLWJvdHRvbSBhLCAubWVudS5pY29uLWxlZnQgYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5tZW51Lmljb24tbGVmdCBsaSBhIHtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwO1xufVxuXG4ubWVudS5pY29uLWxlZnQgbGkgYSBpbWcsXG4ubWVudS5pY29uLWxlZnQgbGkgYSBpLFxuLm1lbnUuaWNvbi1sZWZ0IGxpIGEgc3ZnIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xufVxuXG4ubWVudS5pY29uLXJpZ2h0IGxpIGEge1xuICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG59XG5cbi5tZW51Lmljb24tcmlnaHQgbGkgYSBpbWcsXG4ubWVudS5pY29uLXJpZ2h0IGxpIGEgaSxcbi5tZW51Lmljb24tcmlnaHQgbGkgYSBzdmcge1xuICBtYXJnaW4tbGVmdDogMC4yNXJlbTtcbn1cblxuLm1lbnUuaWNvbi10b3AgbGkgYSB7XG4gIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbn1cblxuLm1lbnUuaWNvbi10b3AgbGkgYSBpbWcsXG4ubWVudS5pY29uLXRvcCBsaSBhIGksXG4ubWVudS5pY29uLXRvcCBsaSBhIHN2ZyB7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm1lbnUuaWNvbi1ib3R0b20gbGkgYSB7XG4gIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbn1cblxuLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBpbWcsXG4ubWVudS5pY29uLWJvdHRvbSBsaSBhIGksXG4ubWVudS5pY29uLWJvdHRvbSBsaSBhIHN2ZyB7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm1lbnUgLmlzLWFjdGl2ZSA+IGEge1xuICBiYWNrZ3JvdW5kOiAjOTkxQjFFO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cblxuLm1lbnUgLmFjdGl2ZSA+IGEge1xuICBiYWNrZ3JvdW5kOiAjOTkxQjFFO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cblxuLm1lbnUuYWxpZ24tbGVmdCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLm1lbnUuYWxpZ24tcmlnaHQgbGkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG4ubWVudS5hbGlnbi1yaWdodCBsaSAuc3VibWVudSBsaSB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLm1lbnUuYWxpZ24tcmlnaHQudmVydGljYWwgbGkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5tZW51LmFsaWduLXJpZ2h0LnZlcnRpY2FsIGxpIC5zdWJtZW51IGxpIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5tZW51LmFsaWduLXJpZ2h0IC5uZXN0ZWQge1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4ubWVudS5hbGlnbi1jZW50ZXIgbGkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLm1lbnUuYWxpZ24tY2VudGVyIGxpIC5zdWJtZW51IGxpIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG4ubWVudSAubWVudS10ZXh0IHtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi5tZW51LWNlbnRlcmVkID4gLm1lbnUge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLm1lbnUtY2VudGVyZWQgPiAubWVudSBsaSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ubWVudS1jZW50ZXJlZCA+IC5tZW51IGxpIC5zdWJtZW51IGxpIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG4ubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5tZW51LWljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMTZweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubWVudS1pY29uOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMnB4O1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBib3gtc2hhZG93OiAwIDdweCAwICNmZWZlZmUsIDAgMTRweCAwICNmZWZlZmU7XG4gIGNvbnRlbnQ6ICcnO1xufVxuXG4ubWVudS1pY29uOmhvdmVyOjphZnRlciB7XG4gIGJhY2tncm91bmQ6ICNjYWNhY2E7XG4gIGJveC1zaGFkb3c6IDAgN3B4IDAgI2NhY2FjYSwgMCAxNHB4IDAgI2NhY2FjYTtcbn1cblxuLm1lbnUtaWNvbi5kYXJrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm1lbnUtaWNvbi5kYXJrOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMnB4O1xuICBiYWNrZ3JvdW5kOiAjMGEwYTBhO1xuICBib3gtc2hhZG93OiAwIDdweCAwICMwYTBhMGEsIDAgMTRweCAwICMwYTBhMGE7XG4gIGNvbnRlbnQ6ICcnO1xufVxuXG4ubWVudS1pY29uLmRhcms6aG92ZXI6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogIzhhOGE4YTtcbiAgYm94LXNoYWRvdzogMCA3cHggMCAjOGE4YThhLCAwIDE0cHggMCAjOGE4YThhO1xufVxuXG4uYWNjb3JkaW9uLW1lbnUgbGkge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmFjY29yZGlvbi1tZW51IGEge1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbn1cblxuLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudSBhIHtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07XG59XG5cbi5hY2NvcmRpb24tbWVudSAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMXJlbTtcbn1cblxuLmFjY29yZGlvbi1tZW51LmFsaWduLXJpZ2h0IC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4uYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICM5OTFCMUUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6IC0zcHg7XG4gIHJpZ2h0OiAxcmVtO1xufVxuXG4uYWNjb3JkaW9uLW1lbnUuYWxpZ24tbGVmdCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICByaWdodDogMXJlbTtcbiAgbGVmdDogYXV0bztcbn1cblxuLmFjY29yZGlvbi1tZW51LmFsaWduLXJpZ2h0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxcmVtO1xufVxuXG4uYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPSd0cnVlJ10gPiBhOjphZnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG59XG5cbi5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5oYXMtc3VibWVudS10b2dnbGUgPiBhIHtcbiAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xufVxuXG4uc3VibWVudS10b2dnbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnN1Ym1lbnUtdG9nZ2xlOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICM5OTFCMUUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBtYXJnaW46IGF1dG87XG59XG5cbi5zdWJtZW51LXRvZ2dsZVthcmlhLWV4cGFuZGVkPSd0cnVlJ106OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xufVxuXG4uc3VibWVudS10b2dnbGUtdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYm9yZGVyOiAwO1xufVxuXG4uaXMtZHJpbGxkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uaXMtZHJpbGxkb3duIGxpIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5pcy1kcmlsbGRvd24uYW5pbWF0ZS1oZWlnaHQge1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41cztcbn1cblxuLmRyaWxsZG93biBhIHtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG59XG5cbi5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG4gIHotaW5kZXg6IC0xO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjtcbn1cblxuLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUuaXMtYWN0aXZlIHtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG59XG5cbi5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51LmlzLWNsb3Npbmcge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG59XG5cbi5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51IGEge1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbn1cblxuLmRyaWxsZG93biAubmVzdGVkLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLmRyaWxsZG93biAuZHJpbGxkb3duLXN1Ym1lbnUtY292ZXItcHJldmlvdXMge1xuICBtaW4taGVpZ2h0OiAxMDAlO1xufVxuXG4uZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICM5OTFCMUU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6IC02cHg7XG4gIHJpZ2h0OiAxcmVtO1xufVxuXG4uZHJpbGxkb3duLmFsaWduLWxlZnQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzk5MUIxRTtcbiAgcmlnaHQ6IDFyZW07XG4gIGxlZnQ6IGF1dG87XG59XG5cbi5kcmlsbGRvd24uYWxpZ24tcmlnaHQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzk5MUIxRSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDFyZW07XG59XG5cbi5kcmlsbGRvd24gLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzk5MUIxRSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tcmlnaHQ6IDAuNzVyZW07XG59XG5cbi5kcm9wZG93bi5tZW51ID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bztcbn1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMDtcbn1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbn1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogIzk5MUIxRSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgcmlnaHQ6IDVweDtcbiAgbGVmdDogYXV0bztcbiAgbWFyZ2luLXRvcDogLTNweDtcbn1cblxuW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5kcm9wZG93bi5tZW51IGEge1xuICBvdXRsaW5lOiAwO1xufVxuXG4uZHJvcGRvd24ubWVudSA+IGxpID4gYSB7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xufVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLmlzLWFjdGl2ZSA+IGEge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICM5OTFCMUU7XG59XG5cbi5uby1qcyAuZHJvcGRvd24ubWVudSB1bCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5kcm9wZG93bi5tZW51IC5uZXN0ZWQuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDA7XG59XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAwO1xuICByaWdodDogMTAwJTtcbiAgbGVmdDogYXV0bztcbn1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDEwMCU7XG59XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gIHJpZ2h0OiAxNHB4O1xufVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICM5OTFCMUUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiA1cHg7XG59XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICM5OTFCMUU7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwO1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjOTkxQjFFIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlO1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4O1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjOTkxQjFFIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDtcbiAgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICM5OTFCMUU7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwO1xuICB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzk5MUIxRSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogNXB4O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogLTNweDtcbiAgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTtcbiAgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4O1xuICB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICM5OTFCMUUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjOTkxQjFFO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwO1xuICB9XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICB9XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjOTkxQjFFIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICB9XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlO1xuICB9XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS12ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4O1xuICB9XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjOTkxQjFFIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDtcbiAgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICM5OTFCMUU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwLjA2MjVlbSkge1xuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwO1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgfVxuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICM5OTFCMUUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4O1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzk5MUIxRSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzk5MUIxRTtcbiAgfVxufVxuXG4uZHJvcGRvd24ubWVudS5hbGlnbi1yaWdodCAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvO1xufVxuXG4uaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCB7XG4gIHdpZHRoOiAxMDBweDtcbn1cblxuLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwuYWxpZ24tcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IGE6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDVweDtcbiAgbGVmdDogYXV0bztcbiAgbWFyZ2luLXRvcDogLTZweDtcbn1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWlubmVyID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IGF1dG87XG59XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICByaWdodDogMTAwJTtcbiAgbGVmdDogYXV0bztcbn1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMTAwJTtcbn1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWluLXdpZHRoOiAyMDBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbn1cblxuLmRyb3Bkb3duIC5pcy1kcm9wZG93bi1zdWJtZW51IGEge1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbn1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICByaWdodDogMTRweDtcbn1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICM5OTFCMUUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiA1cHg7XG59XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzk5MUIxRTtcbn1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBtYXJnaW4tdG9wOiAtMXB4O1xufVxuXG4uaXMtZHJvcGRvd24tc3VibWVudSA+IGxpIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uaXMtb2ZmLWNhbnZhcy1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmpzLW9mZi1jYW52YXMtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2UsIHZpc2liaWxpdHkgMC41cyBlYXNlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuMjUpO1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtdmlzaWJsZSB7XG4gIG9wYWNpdHk6IDE7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbi5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtY2xvc2FibGUge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtb3ZlcmxheS1hYnNvbHV0ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1vdmVybGF5LWZpeGVkIHtcbiAgcG9zaXRpb246IGZpeGVkO1xufVxuXG4ub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ub2ZmLWNhbnZhcyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTI7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2U7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbn1cblxuW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vZmYtY2FudmFzIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLm9mZi1jYW52YXMuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgei1pbmRleDogMTI7XG59XG5cbi5vZmYtY2FudmFzLmlzLWNsb3NlZCB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLm9mZi1jYW52YXMuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgei1pbmRleDogMTM7XG59XG5cbi5vZmYtY2FudmFzLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgxMCwgMTAsIDEwLCAwLjcpO1xufVxuXG4ub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG59XG5cbi5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xufVxuXG5bZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICBvdXRsaW5lOiAwO1xufVxuXG4ub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy10cmFuc2l0aW9uLXB1c2gge1xuICB6LWluZGV4OiAxMjtcbn1cblxuLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtY2xvc2VkIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4ub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICB6LWluZGV4OiAxMztcbn1cblxuLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDEwLCAxMCwgMTAsIDAuNyk7XG59XG5cbi5vZmYtY2FudmFzLWFic29sdXRlLmlzLW9wZW4ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbn1cblxuLnBvc2l0aW9uLWxlZnQge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgd2lkdGg6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1MHB4KTtcbn1cblxuLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1sZWZ0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNTBweCk7XG59XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tbGVmdC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xufVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tbGVmdC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1MHB4KTtcbn1cblxuLnBvc2l0aW9uLWxlZnQuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgLTEzcHggMCAyMHB4IC0xM3B4IHJnYmEoMTAsIDEwLCAxMCwgMC4yNSk7XG59XG5cbi5wb3NpdGlvbi1yaWdodCB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgd2lkdGg6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUwcHgpO1xufVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXJpZ2h0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1MHB4KTtcbn1cblxuLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1yaWdodC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xufVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tcmlnaHQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUwcHgpO1xufVxuXG4ucG9zaXRpb24tcmlnaHQuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMTNweCAwIDIwcHggLTEzcHggcmdiYSgxMCwgMTAsIDEwLCAwLjI1KTtcbn1cblxuLnBvc2l0aW9uLXRvcCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIGhlaWdodDogMjUwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjUwcHgpO1xufVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXRvcCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjUwcHgpO1xufVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXRvcC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xufVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tdG9wLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUwcHgpO1xufVxuXG4ucG9zaXRpb24tdG9wLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgLTEzcHggMjBweCAtMTNweCByZ2JhKDEwLCAxMCwgMTAsIDAuMjUpO1xufVxuXG4ucG9zaXRpb24tYm90dG9tIHtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgaGVpZ2h0OiAyNTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1MHB4KTtcbn1cblxuLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1ib3R0b20ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUwcHgpO1xufVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWJvdHRvbS5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xufVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tYm90dG9tLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1MHB4KTtcbn1cblxuLnBvc2l0aW9uLWJvdHRvbS5pcy10cmFuc2l0aW9uLXB1c2gge1xuICBib3gtc2hhZG93OiBpbnNldCAwIDEzcHggMjBweCAtMTNweCByZ2JhKDEwLCAxMCwgMTAsIDAuMjUpO1xufVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xufVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiAyNTBweDtcbiAgfVxuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIG1hcmdpbi1sZWZ0OiAyNTBweDtcbiAgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtcmlnaHQge1xuICAgIG1hcmdpbi1yaWdodDogMjUwcHg7XG4gIH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyNTBweDtcbiAgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtdG9wIHtcbiAgICBtYXJnaW4tdG9wOiAyNTBweDtcbiAgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgbWFyZ2luLXRvcDogMjUwcHg7XG4gIH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWJvdHRvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7XG4gIH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDI1MHB4O1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogMjUwcHg7XG4gIH1cbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIG1hcmdpbi1sZWZ0OiAyNTBweDtcbiAgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtcmlnaHQge1xuICAgIG1hcmdpbi1yaWdodDogMjUwcHg7XG4gIH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4O1xuICB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC10b3Age1xuICAgIG1hcmdpbi10b3A6IDI1MHB4O1xuICB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIG1hcmdpbi10b3A6IDI1MHB4O1xuICB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDI1MHB4O1xuICB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDI1MHB4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogMjUwcHg7XG4gIH1cbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBtYXJnaW4tbGVmdDogMjUwcHg7XG4gIH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4O1xuICB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIG1hcmdpbi1yaWdodDogMjUwcHg7XG4gIH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogMjUwcHg7XG4gIH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIG1hcmdpbi10b3A6IDI1MHB4O1xuICB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDI1MHB4O1xuICB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNTBweDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAuMDYyNWVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXh4bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogMjUwcHg7XG4gIH1cbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14eGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1MHB4O1xuICB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXh4bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteHhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyNTBweDtcbiAgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14eGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyNTBweDtcbiAgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteHhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXh4bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtdG9wIHtcbiAgICBtYXJnaW4tdG9wOiAyNTBweDtcbiAgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteHhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIG1hcmdpbi10b3A6IDI1MHB4O1xuICB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14eGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDI1MHB4O1xuICB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14eGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLWxlZnQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLXJpZ2h0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi10b3AsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlLnBvc2l0aW9uLWxlZnQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tcmlnaHQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tdG9wLCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGxhcmdlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZS5wb3NpdGlvbi1sZWZ0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZS5wb3NpdGlvbi1yaWdodCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14bGFyZ2UucG9zaXRpb24tdG9wLCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZS5wb3NpdGlvbi1ib3R0b20ge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwLjA2MjVlbSkge1xuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXh4bGFyZ2Uge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteHhsYXJnZS5wb3NpdGlvbi1sZWZ0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXh4bGFyZ2UucG9zaXRpb24tcmlnaHQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteHhsYXJnZS5wb3NpdGlvbi10b3AsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteHhsYXJnZS5wb3NpdGlvbi1ib3R0b20ge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteHhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbmh0bWwuaXMtcmV2ZWFsLW9wZW4ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG59XG5cbmh0bWwuaXMtcmV2ZWFsLW9wZW4uemYtaGFzLXNjcm9sbCB7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbn1cblxuaHRtbC5pcy1yZXZlYWwtb3BlbiBib2R5IHtcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xufVxuXG4ucmV2ZWFsLW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAwNTtcbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMCwgMTAsIDEwLCAwLjQ1KTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLnJldmVhbCB7XG4gIHotaW5kZXg6IDEwMDY7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDEwMHB4O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG5bZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnJldmVhbCB7XG4gIG91dGxpbmU6IDA7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5yZXZlYWwge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gIH1cbn1cblxuLnJldmVhbCAuY29sdW1uIHtcbiAgbWluLXdpZHRoOiAwO1xufVxuXG4ucmV2ZWFsID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAucmV2ZWFsIHtcbiAgICB3aWR0aDogNjAwcHg7XG4gICAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgfVxufVxuXG4ucmV2ZWFsLmNvbGxhcHNlIHtcbiAgcGFkZGluZzogMDtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnJldmVhbC50aW55IHtcbiAgICB3aWR0aDogMzAlO1xuICAgIG1heC13aWR0aDogNzVyZW07XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnJldmVhbC5zbWFsbCB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBtYXgtd2lkdGg6IDc1cmVtO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5yZXZlYWwubGFyZ2Uge1xuICAgIHdpZHRoOiA5MCU7XG4gICAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgfVxufVxuXG4ucmV2ZWFsLmZ1bGwge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTk4NzVlbSkge1xuICAucmV2ZWFsIHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG5cbi5yZXZlYWwud2l0aG91dC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xufVxuXG4uc3RpY2t5LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnN0aWNreSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cblxuLnN0aWNreS5pcy1zdHVjayB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogNTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5zdGlja3kuaXMtc3R1Y2suaXMtYXQtdG9wIHtcbiAgdG9wOiAwO1xufVxuXG4uc3RpY2t5LmlzLXN0dWNrLmlzLWF0LWJvdHRvbSB7XG4gIGJvdHRvbTogMDtcbn1cblxuLnN0aWNreS5pcy1hbmNob3JlZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IGF1dG87XG59XG5cbi5zdGlja3kuaXMtYW5jaG9yZWQuaXMtYXQtYm90dG9tIHtcbiAgYm90dG9tOiAwO1xufVxuXG4udGl0bGUtYmFyIHtcbiAgcGFkZGluZzogMC41cmVtO1xuICBiYWNrZ3JvdW5kOiAjMGEwYTBhO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4udGl0bGUtYmFyIC5tZW51LWljb24ge1xuICBtYXJnaW4tbGVmdDogMC4yNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xufVxuXG4udGl0bGUtYmFyLWxlZnQsXG4udGl0bGUtYmFyLXJpZ2h0IHtcbiAgZmxleDogMSAxIDBweDtcbn1cblxuLnRpdGxlLWJhci1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4udGl0bGUtYmFyLXRpdGxlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLnRvcC1iYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLnRvcC1iYXIsXG4udG9wLWJhciB1bCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG59XG5cbi50b3AtYmFyIGlucHV0IHtcbiAgbWF4LXdpZHRoOiAyMDBweDtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xufVxuXG4udG9wLWJhciAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4udG9wLWJhciBpbnB1dC5idXR0b24ge1xuICB3aWR0aDogYXV0bztcbn1cblxuLnRvcC1iYXIgLnRvcC1iYXItbGVmdCxcbi50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IHtcbiAgZmxleDogMCAwIDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnRvcC1iYXIge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG4gIC50b3AtYmFyIC50b3AtYmFyLWxlZnQge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuICAudG9wLWJhciAudG9wLWJhci1yaWdodCB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAudG9wLWJhci5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICAudG9wLWJhci5zdGFja2VkLWZvci1tZWRpdW0gLnRvcC1iYXItbGVmdCxcbiAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWVkaXVtIC50b3AtYmFyLXJpZ2h0IHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkuOTk4NzVlbSkge1xuICAudG9wLWJhci5zdGFja2VkLWZvci1sYXJnZSB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC50b3AtYmFyLnN0YWNrZWQtZm9yLWxhcmdlIC50b3AtYmFyLWxlZnQsXG4gIC50b3AtYmFyLnN0YWNrZWQtZm9yLWxhcmdlIC50b3AtYmFyLXJpZ2h0IHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwLjA2MTI1ZW0pIHtcbiAgLnRvcC1iYXIuc3RhY2tlZC1mb3IteGxhcmdlIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLnRvcC1iYXIuc3RhY2tlZC1mb3IteGxhcmdlIC50b3AtYmFyLWxlZnQsXG4gIC50b3AtYmFyLnN0YWNrZWQtZm9yLXhsYXJnZSAudG9wLWJhci1yaWdodCB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi50b3AtYmFyLnN0YWNrZWQtZm9yLXh4bGFyZ2Uge1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi50b3AtYmFyLnN0YWNrZWQtZm9yLXh4bGFyZ2UgLnRvcC1iYXItbGVmdCxcbi50b3AtYmFyLnN0YWNrZWQtZm9yLXh4bGFyZ2UgLnRvcC1iYXItcmlnaHQge1xuICBmbGV4OiAwIDAgMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4udG9wLWJhci10aXRsZSB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtYXJnaW46IDAuNXJlbSAxcmVtIDAuNXJlbSAwO1xufVxuXG4udG9wLWJhci1sZWZ0LFxuLnRvcC1iYXItcmlnaHQge1xuICBmbGV4OiAwIDAgYXV0bztcbn1cblxuLmZsb2F0LWxlZnQge1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xufVxuXG4uZmxvYXQtcmlnaHQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbn1cblxuLmZsb2F0LWNlbnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG4uY2xlYXJmaXg6OmJlZm9yZSwgLmNsZWFyZml4OjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiAnICc7XG4gIGZsZXgtYmFzaXM6IDA7XG4gIG9yZGVyOiAxO1xufVxuXG4uY2xlYXJmaXg6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5hbGlnbi1sZWZ0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG4uYWxpZ24tcmlnaHQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG4uYWxpZ24tY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5hbGlnbi1qdXN0aWZ5IHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4uYWxpZ24tc3BhY2VkIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG59XG5cbi5hbGlnbi1sZWZ0LnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbi5hbGlnbi1yaWdodC52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxuLmFsaWduLWNlbnRlci52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5hbGlnbi10b3Age1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cblxuLmFsaWduLXNlbGYtdG9wIHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbn1cblxuLmFsaWduLWJvdHRvbSB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbn1cblxuLmFsaWduLXNlbGYtYm90dG9tIHtcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG59XG5cbi5hbGlnbi1taWRkbGUge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uYWxpZ24tc2VsZi1taWRkbGUge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG59XG5cbi5hbGlnbi1zdHJldGNoIHtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG59XG5cbi5hbGlnbi1zZWxmLXN0cmV0Y2gge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xufVxuXG4uYWxpZ24tY2VudGVyLW1pZGRsZSB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5zbWFsbC1vcmRlci0xIHtcbiAgb3JkZXI6IDE7XG59XG5cbi5zbWFsbC1vcmRlci0yIHtcbiAgb3JkZXI6IDI7XG59XG5cbi5zbWFsbC1vcmRlci0zIHtcbiAgb3JkZXI6IDM7XG59XG5cbi5zbWFsbC1vcmRlci00IHtcbiAgb3JkZXI6IDQ7XG59XG5cbi5zbWFsbC1vcmRlci01IHtcbiAgb3JkZXI6IDU7XG59XG5cbi5zbWFsbC1vcmRlci02IHtcbiAgb3JkZXI6IDY7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZWRpdW0tb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7XG4gIH1cbiAgLm1lZGl1bS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjtcbiAgfVxuICAubWVkaXVtLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzO1xuICB9XG4gIC5tZWRpdW0tb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7XG4gIH1cbiAgLm1lZGl1bS1vcmRlci01IHtcbiAgICBvcmRlcjogNTtcbiAgfVxuICAubWVkaXVtLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2O1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTtcbiAgfVxuICAubGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7XG4gIH1cbiAgLmxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzO1xuICB9XG4gIC5sYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDtcbiAgfVxuICAubGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7XG4gIH1cbiAgLmxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC54bGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7XG4gIH1cbiAgLnhsYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjtcbiAgfVxuICAueGxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzO1xuICB9XG4gIC54bGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7XG4gIH1cbiAgLnhsYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTtcbiAgfVxuICAueGxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMC4wNjI1ZW0pIHtcbiAgLnh4bGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7XG4gIH1cbiAgLnh4bGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7XG4gIH1cbiAgLnh4bGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7XG4gIH1cbiAgLnh4bGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7XG4gIH1cbiAgLnh4bGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7XG4gIH1cbiAgLnh4bGFyZ2Utb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7XG4gIH1cbn1cblxuLmZsZXgtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLmZsZXgtY2hpbGQtYXV0byB7XG4gIGZsZXg6IDEgMSBhdXRvO1xufVxuXG4uZmxleC1jaGlsZC1ncm93IHtcbiAgZmxleDogMSAwIGF1dG87XG59XG5cbi5mbGV4LWNoaWxkLXNocmluayB7XG4gIGZsZXg6IDAgMSBhdXRvO1xufVxuXG4uZmxleC1kaXItcm93IHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cblxuLmZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xufVxuXG4uZmxleC1kaXItY29sdW1uIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWVkaXVtLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cbiAgLm1lZGl1bS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbiAgLm1lZGl1bS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICB9XG4gIC5tZWRpdW0tZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG4gIC5tZWRpdW0tZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gIH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuICAubGFyZ2UtZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG4gIC5sYXJnZS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICB9XG4gIC5sYXJnZS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgLmxhcmdlLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnhsYXJnZS1mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuICAueGxhcmdlLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gIH1cbiAgLnhsYXJnZS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG4gIC54bGFyZ2UtZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG4gIC54bGFyZ2UtZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG4gIC54bGFyZ2UtZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgfVxuICAueGxhcmdlLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICAueGxhcmdlLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwLjA2MjVlbSkge1xuICAueHhsYXJnZS1mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuICAueHhsYXJnZS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICB9XG4gIC54eGxhcmdlLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cbiAgLnh4bGFyZ2UtZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG4gIC54eGxhcmdlLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAueHhsYXJnZS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICB9XG4gIC54eGxhcmdlLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICAueHhsYXJnZS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICB9XG59XG5cbi5oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45OTg3NWVtKSB7XG4gIC5oaWRlLWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMGVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5zaG93LWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3Ljk5ODc1ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3Ljk5ODc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogOTkuOTk4NzVlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC5zaG93LWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLmhpZGUtZm9yLXhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5Ljk5ODc1ZW0pIHtcbiAgLnNob3ctZm9yLXhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSBhbmQgKG1heC13aWR0aDogMTIwLjA2MTI1ZW0pIHtcbiAgLmhpZGUtZm9yLXhsYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkuOTk4NzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwLjA2MjVlbSkge1xuICAuc2hvdy1mb3IteGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAuMDYyNWVtKSB7XG4gIC5oaWRlLWZvci14eGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwLjA2MTI1ZW0pIHtcbiAgLnNob3ctZm9yLXh4bGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAuMDYyNWVtKSB7XG4gIC5oaWRlLWZvci14eGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAuMDYxMjVlbSkge1xuICAuc2hvdy1mb3IteHhsYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnNob3ctZm9yLXNyLFxuLnNob3ctb24tZm9jdXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlcjogMDtcbn1cblxuLnNob3ctb24tZm9jdXM6YWN0aXZlLCAuc2hvdy1vbi1mb2N1czpmb2N1cyB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG59XG5cbi5zaG93LWZvci1sYW5kc2NhcGUsXG4uaGlkZS1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uaGlkZS1mb3ItbGFuZHNjYXBlLFxuLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuXG4udGV4dC1oaWRlIHtcbiAgZm9udDogMC8wIGEgIWltcG9ydGFudDtcbiAgY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xufVxuXG4udGV4dC10cnVuY2F0ZSB7XG4gIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LW5vd3JhcCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbn1cblxuLnRleHQtd3JhcCB7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZCAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1sb3dlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LXVwcGVyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDtcbn1cblxuLnRleHQtY2FwaXRhbGl6ZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LW92ZXJsaW5lIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBvdmVybGluZSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC11bmRlcmxpbmUge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1saW5lLXRocm91Z2gge1xuICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaCAhaW1wb3J0YW50O1xufVxuXG4uZm9udC13aWRlIHtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMjVyZW07XG59XG5cbi5mb250LW5vcm1hbCB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbi5mb250LWJvbGQge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmZvbnQtaXRhbGljIHtcbiAgZm9udC1zdHlsZTogaXRhbGljICFpbXBvcnRhbnQ7XG59XG5cbnVsLmxpc3QtZGlzYyB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYyAhaW1wb3J0YW50O1xufVxuXG51bC5saXN0LWNpcmNsZSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogY2lyY2xlICFpbXBvcnRhbnQ7XG59XG5cbnVsLmxpc3Qtc3F1YXJlIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBzcXVhcmUgIWltcG9ydGFudDtcbn1cblxub2wubGlzdC1kZWNpbWFsIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsICFpbXBvcnRhbnQ7XG59XG5cbm9sLmxpc3QtbG93ZXItYWxwaGEge1xuICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhICFpbXBvcnRhbnQ7XG59XG5cbm9sLmxpc3QtbG93ZXItbGF0aW4ge1xuICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWxhdGluICFpbXBvcnRhbnQ7XG59XG5cbm9sLmxpc3QtbG93ZXItcm9tYW4ge1xuICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLXJvbWFuICFpbXBvcnRhbnQ7XG59XG5cbm9sLmxpc3QtdXBwZXItYWxwaGEge1xuICBsaXN0LXN0eWxlLXR5cGU6IHVwcGVyLWFscGhhICFpbXBvcnRhbnQ7XG59XG5cbm9sLmxpc3QtdXBwZXItbGF0aW4ge1xuICBsaXN0LXN0eWxlLXR5cGU6IHVwcGVyLWxhdGluICFpbXBvcnRhbnQ7XG59XG5cbm9sLmxpc3QtdXBwZXItcm9tYW4ge1xuICBsaXN0LXN0eWxlLXR5cGU6IHVwcGVyLXJvbWFuICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkIHtcbiAgYm9yZGVyLXJhZGl1czogNTAwMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkOmFmdGVyIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4ucmFkaXVzIHtcbiAgYm9yZGVyLXJhZGl1czogMC4xODc1cmVtO1xufVxuXG4uYm9yZGVyZWQge1xuICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjY2FjYWNhO1xufVxuXG4uc2hhZG93IHtcbiAgYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjE2KSwgMCAycHggMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbi5hcnJvdy1kb3duIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgMC40Mzc1cmVtO1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogIzBhMGEwYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbn1cblxuLmFycm93LXVwIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgMC40Mzc1cmVtO1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzBhMGEwYTtcbn1cblxuLmFycm93LXJpZ2h0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgMC40Mzc1cmVtO1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzBhMGEwYTtcbn1cblxuLmFycm93LWxlZnQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCAwLjQzNzVyZW07XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMGEwYTBhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xufVxuXG4uc2VwYXJhdG9yLWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xufVxuXG4uc2VwYXJhdG9yLWNlbnRlcjo6YmVmb3JlLCAuc2VwYXJhdG9yLWNlbnRlcjo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogJyAnO1xuICBmbGV4LWJhc2lzOiAwO1xuICBvcmRlcjogMTtcbn1cblxuLnNlcGFyYXRvci1jZW50ZXI6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5zZXBhcmF0b3ItY2VudGVyOjphZnRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogM3JlbTtcbiAgYm9yZGVyLWJvdHRvbTogMC4xMjVyZW0gc29saWQgIzk5MUIxRTtcbiAgbWFyZ2luOiAxcmVtIGF1dG8gMDtcbn1cblxuLnNlcGFyYXRvci1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xufVxuXG4uc2VwYXJhdG9yLWxlZnQ6OmJlZm9yZSwgLnNlcGFyYXRvci1sZWZ0OjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiAnICc7XG4gIGZsZXgtYmFzaXM6IDA7XG4gIG9yZGVyOiAxO1xufVxuXG4uc2VwYXJhdG9yLWxlZnQ6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5zZXBhcmF0b3ItbGVmdDo6YWZ0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDNyZW07XG4gIGJvcmRlci1ib3R0b206IDAuMTI1cmVtIHNvbGlkICM5OTFCMUU7XG4gIG1hcmdpbjogMXJlbSBhdXRvIDA7XG4gIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5zZXBhcmF0b3ItcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50O1xufVxuXG4uc2VwYXJhdG9yLXJpZ2h0OjpiZWZvcmUsIC5zZXBhcmF0b3ItcmlnaHQ6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6ICcgJztcbiAgZmxleC1iYXNpczogMDtcbiAgb3JkZXI6IDE7XG59XG5cbi5zZXBhcmF0b3ItcmlnaHQ6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5zZXBhcmF0b3ItcmlnaHQ6OmFmdGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAzcmVtO1xuICBib3JkZXItYm90dG9tOiAwLjEyNXJlbSBzb2xpZCAjOTkxQjFFO1xuICBtYXJnaW46IDFyZW0gYXV0byAwO1xuICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbn1cblxuLm92ZXJmbG93LXZpc2libGUge1xuICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuXG4ub3ZlcmZsb3cteC12aXNpYmxlIHtcbiAgb3ZlcmZsb3cteDogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuXG4ub3ZlcmZsb3cteS12aXNpYmxlIHtcbiAgb3ZlcmZsb3cteTogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuXG4ub3ZlcmZsb3ctaGlkZGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuXG4ub3ZlcmZsb3cteC1oaWRkZW4ge1xuICBvdmVyZmxvdy14OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cblxuLm92ZXJmbG93LXktaGlkZGVuIHtcbiAgb3ZlcmZsb3cteTogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG5cbi5vdmVyZmxvdy1zY3JvbGwge1xuICBvdmVyZmxvdzogc2Nyb2xsICFpbXBvcnRhbnQ7XG59XG5cbi5vdmVyZmxvdy14LXNjcm9sbCB7XG4gIG92ZXJmbG93LXg6IHNjcm9sbCAhaW1wb3J0YW50O1xufVxuXG4ub3ZlcmZsb3cteS1zY3JvbGwge1xuICBvdmVyZmxvdy15OiBzY3JvbGwgIWltcG9ydGFudDtcbn1cblxuLmRpc3BsYXktaW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG59XG5cbi5kaXNwbGF5LWlubGluZS1ibG9jayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xufVxuXG4uZGlzcGxheS1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG5cbi5kaXNwbGF5LXRhYmxlIHtcbiAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDtcbn1cblxuLmRpc3BsYXktdGFibGUtY2VsbCB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDtcbn1cblxuLnBvc2l0aW9uLXN0YXRpYyB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbn1cblxuLnBvc2l0aW9uLXJlbGF0aXZlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG59XG5cbi5wb3NpdGlvbi1hYnNvbHV0ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xufVxuXG4ucG9zaXRpb24tZml4ZWQge1xuICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbn1cblxuLnBvc2l0aW9uLWZpeGVkLXRvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xuICB0b3A6IDByZW0gIWltcG9ydGFudDtcbiAgcmlnaHQ6IDByZW0gIWltcG9ydGFudDtcbiAgbGVmdDogMHJlbSAhaW1wb3J0YW50O1xuICB6LWluZGV4OiA5NzU7XG59XG5cbi5wb3NpdGlvbi1maXhlZC1ib3R0b20ge1xuICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbiAgcmlnaHQ6IDByZW0gIWltcG9ydGFudDtcbiAgYm90dG9tOiAwcmVtICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IDByZW0gIWltcG9ydGFudDtcbiAgei1pbmRleDogOTc1O1xufVxuXG4uYm9yZGVyLWJveCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDtcbn1cblxuLmJvcmRlci1ub25lIHtcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi53aWR0aC0yNSB7XG4gIHdpZHRoOiAyNSUgIWltcG9ydGFudDtcbn1cblxuLndpZHRoLTUwIHtcbiAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xufVxuXG4ud2lkdGgtNzUge1xuICB3aWR0aDogNzUlICFpbXBvcnRhbnQ7XG59XG5cbi53aWR0aC0xMDAge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG4uaGVpZ2h0LTI1IHtcbiAgaGVpZ2h0OiAyNSUgIWltcG9ydGFudDtcbn1cblxuLmhlaWdodC01MCB7XG4gIGhlaWdodDogNTAlICFpbXBvcnRhbnQ7XG59XG5cbi5oZWlnaHQtNzUge1xuICBoZWlnaHQ6IDc1JSAhaW1wb3J0YW50O1xufVxuXG4uaGVpZ2h0LTEwMCB7XG4gIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG4ubWF4LXdpZHRoLTEwMCB7XG4gIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG4ubWF4LWhlaWdodC0xMDAge1xuICBtYXgtaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tMCB7XG4gIG1hcmdpbjogMHJlbTtcbn1cblxuLm1hcmdpbi10b3AtMCB7XG4gIG1hcmdpbi10b3A6IDByZW0gIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi1yaWdodC0wIHtcbiAgbWFyZ2luLXJpZ2h0OiAwcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tYm90dG9tLTAge1xuICBtYXJnaW4tYm90dG9tOiAwcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tbGVmdC0wIHtcbiAgbWFyZ2luLWxlZnQ6IDByZW0gIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi1ob3Jpem9udGFsLTAge1xuICBtYXJnaW4tcmlnaHQ6IDByZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDByZW0gIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi12ZXJ0aWNhbC0wIHtcbiAgbWFyZ2luLXRvcDogMHJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAwcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLTAge1xuICBwYWRkaW5nOiAwcmVtO1xufVxuXG4ucGFkZGluZy10b3AtMCB7XG4gIHBhZGRpbmctdG9wOiAwcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLXJpZ2h0LTAge1xuICBwYWRkaW5nLXJpZ2h0OiAwcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLWJvdHRvbS0wIHtcbiAgcGFkZGluZy1ib3R0b206IDByZW0gIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctbGVmdC0wIHtcbiAgcGFkZGluZy1sZWZ0OiAwcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLWhvcml6b250YWwtMCB7XG4gIHBhZGRpbmctcmlnaHQ6IDByZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAwcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLXZlcnRpY2FsLTAge1xuICBwYWRkaW5nLXRvcDogMHJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogMHJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLTEge1xuICBtYXJnaW46IDFyZW07XG59XG5cbi5tYXJnaW4tdG9wLTEge1xuICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tcmlnaHQtMSB7XG4gIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLWJvdHRvbS0xIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLWxlZnQtMSB7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4taG9yaXpvbnRhbC0xIHtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tdmVydGljYWwtMSB7XG4gIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy0xIHtcbiAgcGFkZGluZzogMXJlbTtcbn1cblxuLnBhZGRpbmctdG9wLTEge1xuICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy1yaWdodC0xIHtcbiAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy1ib3R0b20tMSB7XG4gIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLWxlZnQtMSB7XG4gIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy1ob3Jpem9udGFsLTEge1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy12ZXJ0aWNhbC0xIHtcbiAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi0yIHtcbiAgbWFyZ2luOiAycmVtO1xufVxuXG4ubWFyZ2luLXRvcC0yIHtcbiAgbWFyZ2luLXRvcDogMnJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLXJpZ2h0LTIge1xuICBtYXJnaW4tcmlnaHQ6IDJyZW0gIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi1ib3R0b20tMiB7XG4gIG1hcmdpbi1ib3R0b206IDJyZW0gIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi1sZWZ0LTIge1xuICBtYXJnaW4tbGVmdDogMnJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLWhvcml6b250YWwtMiB7XG4gIG1hcmdpbi1yaWdodDogMnJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMnJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLXZlcnRpY2FsLTIge1xuICBtYXJnaW4tdG9wOiAycmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDJyZW0gIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctMiB7XG4gIHBhZGRpbmc6IDJyZW07XG59XG5cbi5wYWRkaW5nLXRvcC0yIHtcbiAgcGFkZGluZy10b3A6IDJyZW0gIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctcmlnaHQtMiB7XG4gIHBhZGRpbmctcmlnaHQ6IDJyZW0gIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctYm90dG9tLTIge1xuICBwYWRkaW5nLWJvdHRvbTogMnJlbSAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy1sZWZ0LTIge1xuICBwYWRkaW5nLWxlZnQ6IDJyZW0gIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctaG9yaXpvbnRhbC0yIHtcbiAgcGFkZGluZy1yaWdodDogMnJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IDJyZW0gIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctdmVydGljYWwtMiB7XG4gIHBhZGRpbmctdG9wOiAycmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAycmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tMyB7XG4gIG1hcmdpbjogM3JlbTtcbn1cblxuLm1hcmdpbi10b3AtMyB7XG4gIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi1yaWdodC0zIHtcbiAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tYm90dG9tLTMge1xuICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tbGVmdC0zIHtcbiAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi1ob3Jpem9udGFsLTMge1xuICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi12ZXJ0aWNhbC0zIHtcbiAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLTMge1xuICBwYWRkaW5nOiAzcmVtO1xufVxuXG4ucGFkZGluZy10b3AtMyB7XG4gIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLXJpZ2h0LTMge1xuICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLWJvdHRvbS0zIHtcbiAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctbGVmdC0zIHtcbiAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLWhvcml6b250YWwtMyB7XG4gIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLXZlcnRpY2FsLTMge1xuICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4qIHtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbjpmb2N1cyB7XG4gIG91dGxpbmU6IDAgIWltcG9ydGFudDtcbn1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBcIkxhdG9cIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBjb2xvcjogIzNDM0MzQztcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG5hIHtcbiAgY29sb3I6ICM5OTFCMUU7XG4gIHRyYW5zaXRpb246IDAuM3MgZWFzZSBhbGw7XG59XG5cbmE6aG92ZXIsIGE6Zm9jdXMge1xuICBjb2xvcjogIzNDM0MzQztcbn1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtZmFtaWx5OiBcIlRla29cIiwgc2Fucy1zZXJpZjtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuaDQsIGg1LCBoNiB7XG4gIGZvbnQtZmFtaWx5OiBcIkxhdG9cIiwgc2Fucy1zZXJpZjtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuaDEge1xuICBmb250LXNpemU6IDgwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogNjBweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbmgzIHtcbiAgZm9udC1zaXplOiAzNHB4O1xuICBsaW5lLWhlaWdodDogMS4yO1xufVxuXG5oNCB7XG4gIGZvbnQtc2l6ZTogMzBweDtcbn1cblxuaDUge1xuICBmb250LXNpemU6IDI0cHg7XG59XG5cbmg2IHtcbiAgZm9udC1zaXplOiAyMHB4O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTI4MHB4KSB7XG4gIGgxIHtcbiAgICBmb250LXNpemU6IDYwcHg7XG4gIH1cbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgfVxuICBoMyB7XG4gICAgZm9udC1zaXplOiAyOHB4O1xuICB9XG4gIGg0IHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gIH1cbiAgaDUge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgfVxuICBoNiB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG5cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5wIHtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcbn1cblxucC5sYXJnZSB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbn1cblxucC5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cblxudWwubGFyZ2Uge1xuICBmb250LXNpemU6IDIwcHg7XG59XG5cbnVsLnNtYWxsIHtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuXG51bC5sZXR0ZXIge1xuICBsaXN0LXN0eWxlOiBsb3dlci1sYXRpbjtcbn1cblxudWwucm9tYW4ge1xuICBsaXN0LXN0eWxlOiBsb3dlci1yb21hbjtcbn1cblxub2wubGFyZ2Uge1xuICBmb250LXNpemU6IDIwcHg7XG59XG5cbm9sLnNtYWxsIHtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuXG5pbnB1dFt0eXBlPXRleHRdLCBpbnB1dFt0eXBlPW51bWJlcl0sXG5pbnB1dFt0eXBlPWVtYWlsXSwgaW5wdXRbdHlwZT10ZWxdLFxuaW5wdXRbdHlwZT1wYXNzd29yZF0sIHNlbGVjdCwgdGV4dGFyZWEge1xuICBib3JkZXI6IHNvbGlkIDFweCAjQzRDNEM0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgaGVpZ2h0OiA1MHB4O1xufVxuXG5zZWxlY3Qge1xuICBwYWRkaW5nLXJpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XG59XG5cbnVsLmdmb3JtX2ZpZWxkcyB7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG59XG5cbnVsLmdmb3JtX2ZpZWxkcyBsaSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbnVsLmdmb3JtX2ZpZWxkcyBsaS5oaWRkZW5fbGFiZWwgPiBsYWJlbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbnVsLmdmb3JtX2ZpZWxkcyAuaGlkZGVuX3N1Yl9sYWJlbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbnVsLmdmb3JtX2ZpZWxkcyAuZmllbGQgLmdpbnB1dF9jb250YWluZXIgc3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG51bC5nZm9ybV9maWVsZHMgLmZpZWxkIC5naW5wdXRfY29udGFpbmVyIHNwYW4gKyBzcGFuIHtcbiAgbWFyZ2luLXRvcDogMTVweDtcbn1cblxudWwuZ2Zvcm1fZmllbGRzIC5nZmllbGQge1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG51bC5nZm9ybV9maWVsZHMgLmdmaWVsZCBpbnB1dCwgdWwuZ2Zvcm1fZmllbGRzIC5nZmllbGQgdGV4dGFyZWEsIHVsLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIHNlbGVjdCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qIEJ1dHRvbnMgKi9cbmEuYnV0dG9uLCBpbnB1dC5idXR0b24sIGJ1dHRvbi5idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDE2cHggNDBweCAxMXB4O1xuICBmb250LWZhbWlseTogXCJUZWtvXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMjM4ZW07XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG5hLmJ1dHRvbjpiZWZvcmUsIGlucHV0LmJ1dHRvbjpiZWZvcmUsIGJ1dHRvbi5idXR0b246YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGJhY2tncm91bmQ6ICM5OTFCMUU7XG4gIHotaW5kZXg6IC0xO1xuICB0cmFuc2Zvcm06IHNrZXdYKC0xOGRlZyk7XG59XG5cbmEuYnV0dG9uOmhvdmVyLCBpbnB1dC5idXR0b246aG92ZXIsIGJ1dHRvbi5idXR0b246aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuYS5idXR0b246aG92ZXI6YmVmb3JlLCBpbnB1dC5idXR0b246aG92ZXI6YmVmb3JlLCBidXR0b24uYnV0dG9uOmhvdmVyOmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTY2LCA3LCAxMiwgMC44KTtcbn1cblxuYS5idXR0b24uaW52ZXJzZSwgaW5wdXQuYnV0dG9uLmludmVyc2UsIGJ1dHRvbi5idXR0b24uaW52ZXJzZSB7XG4gIGNvbG9yOiAjM0MzQzNDO1xufVxuXG5hLmJ1dHRvbi5pbnZlcnNlOmJlZm9yZSwgaW5wdXQuYnV0dG9uLmludmVyc2U6YmVmb3JlLCBidXR0b24uYnV0dG9uLmludmVyc2U6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbn1cblxuYS5idXR0b24uaW52ZXJzZTpob3ZlcjpiZWZvcmUsIGlucHV0LmJ1dHRvbi5pbnZlcnNlOmhvdmVyOmJlZm9yZSwgYnV0dG9uLmJ1dHRvbi5pbnZlcnNlOmhvdmVyOmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNDNEM0QzQ7XG59XG5cbmEuYnV0dG9uLmRpc2FibGVkLCBhLmJ1dHRvbltkaXNhYmxlXSwgaW5wdXQuYnV0dG9uLmRpc2FibGVkLCBpbnB1dC5idXR0b25bZGlzYWJsZV0sIGJ1dHRvbi5idXR0b24uZGlzYWJsZWQsIGJ1dHRvbi5idXR0b25bZGlzYWJsZV0ge1xuICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDtcbiAgY29sb3I6ICNDNEM0QzQgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAxcHggc29saWQgI0M0QzRDNCAhaW1wb3J0YW50O1xufVxuXG5hLmJ1dHRvbi5kaXNhYmxlZCAqLCBhLmJ1dHRvbltkaXNhYmxlXSAqLCBpbnB1dC5idXR0b24uZGlzYWJsZWQgKiwgaW5wdXQuYnV0dG9uW2Rpc2FibGVdICosIGJ1dHRvbi5idXR0b24uZGlzYWJsZWQgKiwgYnV0dG9uLmJ1dHRvbltkaXNhYmxlXSAqIHtcbiAgY29sb3I6ICNDNEM0QzQgIWltcG9ydGFudDtcbn1cblxuYS5idXR0b24uZGlzYWJsZWQgW2NsYXNzKj1cImNpcmNsZVwiXSwgYS5idXR0b25bZGlzYWJsZV0gW2NsYXNzKj1cImNpcmNsZVwiXSwgaW5wdXQuYnV0dG9uLmRpc2FibGVkIFtjbGFzcyo9XCJjaXJjbGVcIl0sIGlucHV0LmJ1dHRvbltkaXNhYmxlXSBbY2xhc3MqPVwiY2lyY2xlXCJdLCBidXR0b24uYnV0dG9uLmRpc2FibGVkIFtjbGFzcyo9XCJjaXJjbGVcIl0sIGJ1dHRvbi5idXR0b25bZGlzYWJsZV0gW2NsYXNzKj1cImNpcmNsZVwiXSB7XG4gIGJhY2tncm91bmQ6ICNDNEM0QzQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cblxuYS5idXR0b24uc21hbGwsIGlucHV0LmJ1dHRvbi5zbWFsbCwgYnV0dG9uLmJ1dHRvbi5zbWFsbCB7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMjZweDtcbn1cblxuYS5idXR0b24ubGFyZ2UsIGlucHV0LmJ1dHRvbi5sYXJnZSwgYnV0dG9uLmJ1dHRvbi5sYXJnZSB7XG4gIHBhZGRpbmc6IDE4cHggNDBweDtcbiAgZm9udC1zaXplOiAyMHB4O1xufVxuXG5hLmJ1dHRvbi5ub21pbiwgaW5wdXQuYnV0dG9uLm5vbWluLCBidXR0b24uYnV0dG9uLm5vbWluIHtcbiAgbWluLXdpZHRoOiAxcHg7XG59XG5cbmEuYnV0dG9uIHNtYWxsLCBpbnB1dC5idXR0b24gc21hbGwsIGJ1dHRvbi5idXR0b24gc21hbGwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbmEuYnV0dG9uIHNtYWxsIHMsIGlucHV0LmJ1dHRvbiBzbWFsbCBzLCBidXR0b24uYnV0dG9uIHNtYWxsIHMge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjM0MzQzNDO1xufVxuXG4uYnV0dG9ucyBhLmJ1dHRvbiwgLmJ1dHRvbnMgaW5wdXQuYnV0dG9uLCAuYnV0dG9ucyBidXR0b24uYnV0dG9uIHtcbiAgbWFyZ2luLWxlZnQ6IDI1cHg7XG4gIG1hcmdpbi1yaWdodDogMjVweDtcbn1cblxuLmFjdGlvbiBhLmJ1dHRvbiwgLmFjdGlvbiBpbnB1dC5idXR0b24sIC5hY3Rpb24gYnV0dG9uLmJ1dHRvbiB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICBhLmJ1dHRvbiwgaW5wdXQuYnV0dG9uLCBidXR0b24uYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgfVxufVxuXG4uZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZmllbGRfdmFsaWRhdGlvbl9tZXNzYWdlLFxuLmdmb3JtX3dyYXBwZXIgZm9ybSAudmFsaWRhdGlvbl9tZXNzYWdlIHtcbiAgbWFyZ2luLXRvcDogM3B4O1xuICBwYWRkaW5nOiAycHggMTBweCAhaW1wb3J0YW50O1xufVxuXG4uZnctZXh0cmFsaWdodCB7XG4gIGZvbnQtd2VpZ2h0OiAyMDAgIWltcG9ydGFudDtcbn1cblxuLmZ3LWxpZ2h0IHtcbiAgZm9udC13ZWlnaHQ6IDMwMCAhaW1wb3J0YW50O1xufVxuXG4uZnctcmVndWxhciB7XG4gIGZvbnQtd2VpZ2h0OiA0MDAgIWltcG9ydGFudDtcbn1cblxuLmZ3LW1lZGl1bSB7XG4gIGZvbnQtd2VpZ2h0OiA1MDAgIWltcG9ydGFudDtcbn1cblxuLmZ3LXNlbWlib2xkIHtcbiAgZm9udC13ZWlnaHQ6IDYwMCAhaW1wb3J0YW50O1xufVxuXG4uZnctYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDtcbn1cblxuLmZ3LWV4dHJhYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiA4MDAgIWltcG9ydGFudDtcbn1cblxuLmZ3LWJsYWNrIHtcbiAgZm9udC13ZWlnaHQ6IDkwMCAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1wcmltYXJ5IHtcbiAgY29sb3I6ICM5OTFCMUUgIWltcG9ydGFudDtcbn1cblxuLnRleHQtc2Vjb25kYXJ5IHtcbiAgY29sb3I6ICNBNjA3MEMgIWltcG9ydGFudDtcbn1cblxuLnRleHQtZGFyayB7XG4gIGNvbG9yOiAjM0MzQzNDICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LXdoaXRlIHtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cblxuLmJjLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTkxQjFFICFpbXBvcnRhbnQ7XG59XG5cbi5iYy1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQTYwNzBDICFpbXBvcnRhbnQ7XG59XG5cbi5iYy1kYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNDM0MzQyAhaW1wb3J0YW50O1xufVxuXG4ub3JkZXItMSB7XG4gIG9yZGVyOiAxICFpbXBvcnRhbnQ7XG59XG5cbi5vcmRlci0yIHtcbiAgb3JkZXI6IDIgIWltcG9ydGFudDtcbn1cblxuLm9yZGVyLTMge1xuICBvcmRlcjogMyAhaW1wb3J0YW50O1xufVxuXG4ub3JkZXItNCB7XG4gIG9yZGVyOiA0ICFpbXBvcnRhbnQ7XG59XG5cbi5vcmRlci01IHtcbiAgb3JkZXI6IDUgIWltcG9ydGFudDtcbn1cblxuLm9yZGVyLTYge1xuICBvcmRlcjogNiAhaW1wb3J0YW50O1xufVxuXG4ub3JkZXItNyB7XG4gIG9yZGVyOiA3ICFpbXBvcnRhbnQ7XG59XG5cbi5vcmRlci04IHtcbiAgb3JkZXI6IDggIWltcG9ydGFudDtcbn1cblxuLm9yZGVyLTkge1xuICBvcmRlcjogOSAhaW1wb3J0YW50O1xufVxuXG4ub3JkZXItMTAge1xuICBvcmRlcjogMTAgIWltcG9ydGFudDtcbn1cblxuLm9yZGVyLTExIHtcbiAgb3JkZXI6IDExICFpbXBvcnRhbnQ7XG59XG5cbi5vcmRlci0xMiB7XG4gIG9yZGVyOiAxMiAhaW1wb3J0YW50O1xufVxuXG4ub3JkZXItMTMge1xuICBvcmRlcjogMTMgIWltcG9ydGFudDtcbn1cblxuLm9yZGVyLTE0IHtcbiAgb3JkZXI6IDE0ICFpbXBvcnRhbnQ7XG59XG5cbi5vcmRlci0xNSB7XG4gIG9yZGVyOiAxNSAhaW1wb3J0YW50O1xufVxuXG4ub3JkZXItMTYge1xuICBvcmRlcjogMTYgIWltcG9ydGFudDtcbn1cblxuLm9yZGVyLTE3IHtcbiAgb3JkZXI6IDE3ICFpbXBvcnRhbnQ7XG59XG5cbi5vcmRlci0xOCB7XG4gIG9yZGVyOiAxOCAhaW1wb3J0YW50O1xufVxuXG4ub3JkZXItMTkge1xuICBvcmRlcjogMTkgIWltcG9ydGFudDtcbn1cblxuLm9yZGVyLTIwIHtcbiAgb3JkZXI6IDIwICFpbXBvcnRhbnQ7XG59XG5cbi8qIE1vYmlsZSB0byBEZXNrdG9wXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAub3JkZXItbGctMSB7XG4gICAgb3JkZXI6IDEgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXItbGctMiB7XG4gICAgb3JkZXI6IDIgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXItbGctMyB7XG4gICAgb3JkZXI6IDMgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXItbGctNCB7XG4gICAgb3JkZXI6IDQgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXItbGctNSB7XG4gICAgb3JkZXI6IDUgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXItbGctNiB7XG4gICAgb3JkZXI6IDYgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXItbGctNyB7XG4gICAgb3JkZXI6IDcgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXItbGctOCB7XG4gICAgb3JkZXI6IDggIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXItbGctOSB7XG4gICAgb3JkZXI6IDkgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXItbGctMTAge1xuICAgIG9yZGVyOiAxMCAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci1sZy0xMSB7XG4gICAgb3JkZXI6IDExICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9yZGVyLWxnLTEyIHtcbiAgICBvcmRlcjogMTIgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXItbGctMTMge1xuICAgIG9yZGVyOiAxMyAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci1sZy0xNCB7XG4gICAgb3JkZXI6IDE0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9yZGVyLWxnLTE1IHtcbiAgICBvcmRlcjogMTUgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXItbGctMTYge1xuICAgIG9yZGVyOiAxNiAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci1sZy0xNyB7XG4gICAgb3JkZXI6IDE3ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9yZGVyLWxnLTE4IHtcbiAgICBvcmRlcjogMTggIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXItbGctMTkge1xuICAgIG9yZGVyOiAxOSAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci1sZy0yMCB7XG4gICAgb3JkZXI6IDIwICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyogRGVza3RvcCB0byBNb2JpbGVcclxuKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5AbWVkaWEgKG1heC13aWR0aDogMTUzNnB4KSB7XG4gIC50ZXh0LWxhcmdlIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAudGV4dC1sYXJnZSB7XG4gICAgZm9udC1zaXplOiAyMXB4O1xuICB9XG59XG5cbi5jaXJjbGVfbGlzdCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luOiAwIDAgMjVweCAzMHB4O1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uY2lyY2xlX2xpc3QgbGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogMzBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuLmNpcmNsZV9saXN0IGxpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDE1cHg7XG4gIGhlaWdodDogMTVweDtcbiAgYmFja2dyb3VuZDogIzk5MUIxRTtcbiAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDVweDtcbiAgbGVmdDogMDtcbiAgYm94LXNoYWRvdzogMCAwIDBweCAxcHggI0M0QzRDNDtcbiAgYm9yZGVyOiAzcHggc29saWQgI2ZmZjtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5jaXJjbGVfbGlzdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIH1cbn1cblxuLndiZyB7XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWcvYmctbG9nby5wbmcpIG5vLXJlcGVhdCBjZW50ZXIvMTAwJSAxMDAlO1xuICB3aWR0aDogNTY0cHg7XG4gIG1hcmdpbjogMCBhdXRvIDMwcHg7XG4gIHBhZGRpbmc6IDE1cHggNyUgMTBweDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4ud2JnIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ud2JnLnNrZXcgc3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0cmFuc2Zvcm06IHNrZXdZKC02ZGVnKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luOiAxNXB4IDA7XG59XG5cbi53Ymcuc2tldyBzcGFuIGltZyB7XG4gIHRyYW5zZm9ybTogc2tld1koNmRlZyk7XG4gIG1hcmdpbjogLTUuNSUgMDtcbn1cblxuLndiZy5za2V3eCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvYmctbG9nbzIucG5nKTtcbiAgcGFkZGluZzogNyUgMTBweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuc2Nyb2xsLW9mZnNldCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy10b3A6IDkwcHg7XG4gICAgbWFyZ2luLXRvcDogLTkwcHg7XG4gIH1cbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGhlYXJ0QmVhdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuICAxNCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgfVxuICAyOCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG4gIDQyJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICB9XG4gIDcwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbn1cblxuQC1tb3ota2V5ZnJhbWVzIGhlYXJ0QmVhdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuICAxNCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgfVxuICAyOCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG4gIDQyJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICB9XG4gIDcwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbn1cblxuQC1vLWtleWZyYW1lcyBoZWFydEJlYXQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbiAgMTQlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gIH1cbiAgMjglIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuICA0MiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgfVxuICA3MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgaGVhcnRCZWF0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG4gIDE0JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICB9XG4gIDI4JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbiAgNDIlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gIH1cbiAgNzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgaGVhZGVySW4ge1xuICBmcm9tIHtcbiAgICB0b3A6IC0xMDAlO1xuICB9XG4gIHRvIHtcbiAgICB0b3A6IDA7XG4gIH1cbn1cblxuQC1tb3ota2V5ZnJhbWVzIGhlYWRlckluIHtcbiAgZnJvbSB7XG4gICAgdG9wOiAtMTAwJTtcbiAgfVxuICB0byB7XG4gICAgdG9wOiAwO1xuICB9XG59XG5cbkAtby1rZXlmcmFtZXMgaGVhZGVySW4ge1xuICBmcm9tIHtcbiAgICB0b3A6IC0xMDAlO1xuICB9XG4gIHRvIHtcbiAgICB0b3A6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBoZWFkZXJJbiB7XG4gIGZyb20ge1xuICAgIHRvcDogLTEwMCU7XG4gIH1cbiAgdG8ge1xuICAgIHRvcDogMDtcbiAgfVxufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZm9ybUluIHtcbiAgZnJvbSB7XG4gICAgdG9wOiAtMTAwJTtcbiAgfVxuICB0byB7XG4gICAgdG9wOiAxNDBweDtcbiAgfVxufVxuXG5ALW1vei1rZXlmcmFtZXMgZm9ybUluIHtcbiAgZnJvbSB7XG4gICAgdG9wOiAtMTAwJTtcbiAgfVxuICB0byB7XG4gICAgdG9wOiAxNDBweDtcbiAgfVxufVxuXG5ALW8ta2V5ZnJhbWVzIGZvcm1JbiB7XG4gIGZyb20ge1xuICAgIHRvcDogLTEwMCU7XG4gIH1cbiAgdG8ge1xuICAgIHRvcDogMTQwcHg7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmb3JtSW4ge1xuICBmcm9tIHtcbiAgICB0b3A6IC0xMDAlO1xuICB9XG4gIHRvIHtcbiAgICB0b3A6IDE0MHB4O1xuICB9XG59XG5cbi5oZWFkZXIgLnRvcGJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxOTE5MTk7XG59XG5cbi5oZWFkZXIgLnRvcGJhciAuY29udGFjdC1uYXYgbGkgYSB7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIHBhZGRpbmc6IDAuN3JlbSAwO1xufVxuXG4ucGFnZS1jb250ZW50IHtcbiAgcGFkZGluZzogODBweCAwO1xufVxuXG4vKioqIEZPT1RFUiByZXZpZXdzLWxhbmRlciAqKi9cbi5yZXZpZXdzLWxhbmRlciAjZm9vdGVyIHtcbiAgcGFkZGluZy10b3A6IDgwcHg7XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWcvYmctZm9vdGVyLXNsYzIuanBnKSBuby1yZXBlYXQgY2VudGVyIHRvcC9jb3ZlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xufVxuXG4ucmV2aWV3cy1sYW5kZXIgI2Zvb3RlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAtMTtcbn1cblxuLnJldmlld3MtbGFuZGVyICNmb290ZXIgLmZvb3RfdG9wIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ucmV2aWV3cy1sYW5kZXIgI2Zvb3RlciAuZm9vdF90b3AgaDIge1xuICBmb250LXNpemU6IDQ1cHg7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjMzO1xuICBjb2xvcjogI2ZmZjtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLnJldmlld3MtbGFuZGVyICNmb290ZXIgLmZvb3RfbWlkZGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcbn1cblxuLnJldmlld3MtbGFuZGVyICNmb290ZXIgLmZvb3RfbWlkZGxlIGgzIHtcbiAgbWF4LXdpZHRoOiA1MDBweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5yZXZpZXdzLWxhbmRlciAjZm9vdGVyIC5mb290X21pZGRsZSBpbWcge1xuICBtYXJnaW46IDQwcHggMHB4O1xufVxuXG4ucmV2aWV3cy1sYW5kZXIgI2Zvb3RlciAuZm9vdF9jb250YWN0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5yZXZpZXdzLWxhbmRlciAjZm9vdGVyIC5mb290X2NvbnRhY3QgbGkge1xuICBtYXJnaW4tYm90dG9tOiAxOHB4O1xufVxuXG4ucmV2aWV3cy1sYW5kZXIgI2Zvb3RlciAuZm9vdF9jb250YWN0IC5waG9uZTo6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnJldmlld3MtbGFuZGVyICNmb290ZXIgLmZvb3RfY29udGFjdCAucGhvbmUgYSB7XG4gIGZvbnQtc2l6ZTogMzVweDtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMzQ7XG4gIGNvbG9yOiAjYmFlNGZmO1xufVxuXG4ucmV2aWV3cy1sYW5kZXIgI2Zvb3RlciAuZm9vdF9jb250YWN0IC5hZGRyZXNzIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogODAwO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLnJldmlld3MtbGFuZGVyICNmb290ZXIgLmZvb3RfY29udGFjdCAuZW1haWwgYSB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDQ7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnJldmlld3MtbGFuZGVyICNmb290ZXIgLmZvb3RfY29udGFjdCAuc2VyaWFsIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogODAwO1xuICBjb2xvcjogI2JhZTRmZjtcbn1cblxuLnJldmlld3MtbGFuZGVyICNmb290ZXIgLmZvcm1fYm94IGxhYmVsIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5yZXZpZXdzLWxhbmRlciAjZm9vdGVyIC5jb3B5cmlnaHQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDI1cHggMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4ucmV2aWV3cy1sYW5kZXIgI2Zvb3RlciAuY29weXJpZ2h0IHAge1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjZmZmO1xuICBtYXJnaW46IDA7XG59XG5cbi5yZXZpZXdzLWxhbmRlciAjZm9vdGVyIC5jb3B5cmlnaHQgc3BhbiB7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5yZXZpZXdzLWxhbmRlciAjZm9vdGVyIC5jb3B5cmlnaHQgc3BhbiBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTUzNnB4KSB7XG4gIC5yZXZpZXdzLWxhbmRlciAjZm9vdGVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5yZXZpZXdzLWxhbmRlciAjZm9vdGVyIC5jb3B5cmlnaHQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAucmV2aWV3cy1sYW5kZXIgI2Zvb3RlciB7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICB9XG4gIC5yZXZpZXdzLWxhbmRlciAjZm9vdGVyIC5mb290X3RvcCBoMiB7XG4gICAgZm9udC1zaXplOiAzNnB4O1xuICB9XG4gIC5yZXZpZXdzLWxhbmRlciAjZm9vdGVyIC5mb290X2JvdHRvbSAuZi1jb3B5cmlnaHQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgLnJldmlld3MtbGFuZGVyICNmb290ZXIgLmZvb3RfYm90dG9tIC5mLWNvcHlyaWdodCBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG59XG5cbiNoZWFkZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDk5OTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDk5OTg7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG59XG5cbiNoZWFkZXIuZml4ZWQge1xuICBib3gtc2hhZG93OiAwIDFweCA1cHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuI2hlYWRlci5maXhlZCAubmF2YmFyIHtcbiAgcGFkZGluZzogMTBweCAwO1xufVxuXG4jaGVhZGVyLmZpeGVkIC5uYXZiYXIgLmJyYW5kIGltZyB7XG4gIG1heC1oZWlnaHQ6IDYwcHg7XG59XG5cbiNoZWFkZXIgKyAqIHtcbiAgcGFkZGluZy10b3A6IDE1MHB4O1xufVxuXG4jaGVhZGVyIC5uYXZiYXIge1xuICBwYWRkaW5nOiAzMHB4IDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG59XG5cbiNoZWFkZXIgLm5hdmJhciAuY2VsbDpmaXJzdC1jaGlsZCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cblxuI2hlYWRlciAubmF2YmFyIC5jZWxsOmxhc3QtY2hpbGQge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG4jaGVhZGVyIC5uYXZiYXIgLmJyYW5kIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbiNoZWFkZXIgLm5hdmJhciAuYnJhbmQgaW1nIHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbiAgbWF4LWhlaWdodDogOTBweDtcbiAgd2lkdGg6IGF1dG87XG59XG5cbiNoZWFkZXIgLm5hdmJhciAuaGVhZGVyLXBob25lIHtcbiAgZm9udC1zaXplOiAzMHB4O1xuICBjb2xvcjogIzNDM0MzQztcbn1cblxuI2hlYWRlciAubmF2YmFyIC5oZWFkZXItcGhvbmUgLnBob25lOmJlZm9yZSB7XG4gIG1hcmdpbi1yaWdodDogMHB4O1xufVxuXG4jaGVhZGVyIC5uYXZiYXIgLmhlYWRlci1uYXYge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbiNoZWFkZXIgLm5hdmJhciAuaGVhZGVyLW5hdiB1bC5tZW51IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG4jaGVhZGVyIC5uYXZiYXIgLmhlYWRlci1uYXYgdWwubWVudSB1bCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuI2hlYWRlciAubmF2YmFyIC5oZWFkZXItbmF2IHVsLm1lbnUgbGkgYSB7XG4gIGNvbG9yOiAjM0MzQzNDO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbiNoZWFkZXIgLm5hdmJhciAuaGVhZGVyLW5hdiB1bC5tZW51IGxpIGE6Zm9jdXMsICNoZWFkZXIgLm5hdmJhciAuaGVhZGVyLW5hdiB1bC5tZW51IGxpIGE6aG92ZXIge1xuICBjb2xvcjogIzZlNmU2ZTtcbn1cblxuI2hlYWRlciAubmF2YmFyIC5oZWFkZXItbmF2IHVsLm1lbnUgbGkuaXMtYWN0aXZlIGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuI2hlYWRlciAubmF2YmFyIC5oZWFkZXItbmF2IHVsLm1lbnUgbGkgLnN1Ym1lbnUge1xuICB0b3A6IDQ1cHg7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBib3JkZXItdG9wOiA1cHggc29saWQgI0E2MDcwQztcbiAgbWF4LWhlaWdodDogNTAwcHg7XG4gIG92ZXJmbG93OiB2aXNpYmxlIGF1dG87XG4gIHdpZHRoOiAyOTBweDtcbn1cblxuI2hlYWRlciAubmF2YmFyIC5oZWFkZXItbmF2IHVsLm1lbnUgbGkgLnN1Ym1lbnUgPiBsaSB7XG4gIG1hcmdpbi1sZWZ0OiAwcHg7XG59XG5cbiNoZWFkZXIgLm5hdmJhciAuaGVhZGVyLW5hdiB1bC5tZW51IGxpIC5zdWJtZW51ID4gbGkgPiBhIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBjb2xvcjogIzcwNzA3MCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAyMHB4IDMwcHggIWltcG9ydGFudDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbiNoZWFkZXIgLm5hdmJhciAuaGVhZGVyLW5hdiB1bC5tZW51IGxpIC5zdWJtZW51ID4gbGkgPiBhOmhvdmVyIHtcbiAgY29sb3I6ICM3MDcwNzAgIWltcG9ydGFudDtcbn1cblxuI2hlYWRlciAubmF2YmFyIC5oZWFkZXItbmF2IHVsLm1lbnUgbGkgLnN1Ym1lbnUgPiBsaSA+IGEgPiBzcGFuIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaW5lLWhlaWdodDogMS4xNDtcbn1cblxuI2hlYWRlciAubmF2YmFyIC5oZWFkZXItbmF2IHVsLm1lbnUgbGkgLnN1Ym1lbnUgPiBsaTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XG4gIGNvbG9yOiAjNzA3MDcwICFpbXBvcnRhbnQ7XG59XG5cbiNoZWFkZXIgLm5hdmJhciAuaGVhZGVyLW5hdiB1bC5tZW51IC5jdGEge1xuICBtYXJnaW46IDAgMCAwIDVweDtcbn1cblxuI2hlYWRlciAubmF2YmFyIC5oZWFkZXItbmF2IHVsLm1lbnUgLmN0YSBhIHtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LWZhbWlseTogXCJUZWtvXCIsIHNhbnMtc2VyaWY7XG4gIGNvbG9yOiAjZmZmO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDEycHggMzVweCA4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4yMzhlbTtcbn1cblxuI2hlYWRlciAubmF2YmFyIC5oZWFkZXItbmF2IHVsLm1lbnUgLmN0YSBhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kOiAjOTkxQjFFO1xuICB6LWluZGV4OiAtMTtcbiAgdHJhbnNmb3JtOiBza2V3WCgtMThkZWcpO1xufVxuXG4jaGVhZGVyIC5uYXZiYXIgLmhlYWRlci1uYXYgdWwubWVudSAuY3RhIGE6aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuI2hlYWRlciAubmF2YmFyIC5oZWFkZXItbmF2IHVsLm1lbnUgLmN0YSBhOmhvdmVyOmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTY2LCA3LCAxMiwgMC44KTtcbn1cblxuI2hlYWRlciAubmF2YmFyIC5oZWFkZXItbmF2LXRvZ2dsZXIge1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogNTBweDtcbiAgbWFyZ2luOiAwIGF1dG8gMCAwO1xuICBwYWRkaW5nOiAxMHB4O1xufVxuXG4jaGVhZGVyIC5uYXZiYXIgLmhlYWRlci1uYXYtdG9nZ2xlciBzcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAjM0MzQzNDO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIHRyYW5zaXRpb246IDAuM3MgZWFzZSBhbGw7XG59XG5cbiNoZWFkZXIgLm5hdmJhciAuaGVhZGVyLW5hdi10b2dnbGVyIHNwYW46bGFzdC1jaGlsZCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxMHB4KTtcbn1cblxuI2hlYWRlciAubmF2YmFyIC5oZWFkZXItbmF2LXRvZ2dsZXI6aG92ZXIgc3BhbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjM0MzQzNDO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTQxMHB4KSB7XG4gICNoZWFkZXIgKyAqIHtcbiAgICBwYWRkaW5nLXRvcDogMTIwcHg7XG4gIH1cbiAgI2hlYWRlciAubmF2YmFyIC5icmFuZCBpbWcge1xuICAgIG1heC1oZWlnaHQ6IDYwcHg7XG4gIH1cbiAgI2hlYWRlciAubmF2YmFyIC5oZWFkZXItbmF2IHVsLm1lbnUgLmN0YSBhIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgcGFkZGluZzogMTJweCAyNXB4IDhweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICNoZWFkZXIgLm5hdmJhciAuaGVhZGVyLW5hdiB7XG4gICAgbWFyZ2luOiAwIDAgMCAxMHB4O1xuICB9XG4gICNoZWFkZXIgLm5hdmJhciAuaGVhZGVyLW5hdiB1bC5tZW51IGxpIGEge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICB9XG4gICNoZWFkZXIgLm5hdmJhciAuaGVhZGVyLW5hdiB1bC5tZW51IC5jdGEgYSB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIHBhZGRpbmc6IDEycHggMjBweCA4cHg7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAjaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICB9XG4gICNoZWFkZXIgKyAqIHtcbiAgICBwYWRkaW5nLXRvcDogODBweDtcbiAgfVxuICAjaGVhZGVyIC5uYXZiYXIge1xuICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgfVxuICAjaGVhZGVyIC5uYXZiYXIgLmJyYW5kIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgI2hlYWRlciAubmF2YmFyIC5icmFuZC5saWdodCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAjaGVhZGVyIC5uYXZiYXIgLmJyYW5kLmRhcmsge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuICAjaGVhZGVyIC5uYXZiYXIgLmJyYW5kIGltZyB7XG4gICAgbWF4LWhlaWdodDogNjBweDtcbiAgfVxuICAjaGVhZGVyIC5uYXZiYXIgLmhlYWRlci1uYXYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgI2hlYWRlciAubmF2YmFyIC5oZWFkZXItbmF2LXRvZ2dsZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gICNoZWFkZXIgI2hlYWRlci1uYXYtbW9iaWxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgdG9wOiA4MHB4ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gODBweCk7XG4gIH1cbiAgI2hlYWRlciAjaGVhZGVyLW5hdi1tb2JpbGUuZml4ZWQge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgfVxuICAjaGVhZGVyICNoZWFkZXItbmF2LW1vYmlsZSAubW9iaWxlLW1lbnUtd3JhcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjM0MzQzNDO1xuICB9XG4gICNoZWFkZXIgI2hlYWRlci1uYXYtbW9iaWxlIC5tb2JpbGUtbWVudS13cmFwIC5oLWxpbmtzIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gIH1cbiAgI2hlYWRlciAjaGVhZGVyLW5hdi1tb2JpbGUgLm1vYmlsZS1tZW51LXdyYXAgLmgtbGlua3MgbGkge1xuICAgIG1hcmdpbi1ib3R0b206IDIycHg7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgfVxuICAjaGVhZGVyICNoZWFkZXItbmF2LW1vYmlsZSAubW9iaWxlLW1lbnUtd3JhcCAuaC1saW5rcyBsaSBhIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzNDM0MzQztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG4gICNoZWFkZXIgI2hlYWRlci1uYXYtbW9iaWxlIC5tb2JpbGUtbWVudS13cmFwIC5oLWxpbmtzIGxpIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjM0MzQzNDO1xuICB9XG4gICNoZWFkZXIgI2hlYWRlci1uYXYtbW9iaWxlIC5tb2JpbGUtbWVudS13cmFwIC5oLWxpbmtzIC5idXR0b24ge1xuICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgIG1hcmdpbjogMCAxNXB4O1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxuICAjaGVhZGVyICNoZWFkZXItbmF2LW1vYmlsZSAubW9iaWxlLW1lbnUtd3JhcCAuaC1sb3dlci13cmFwIC5oLWNvbnRhY3Qge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgfVxuICAjaGVhZGVyICNoZWFkZXItbmF2LW1vYmlsZSAubW9iaWxlLW1lbnUtd3JhcCAuaC1sb3dlci13cmFwIC5oLWNvbnRhY3QgLm1tLXBob25lIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICB9XG4gICNoZWFkZXIgI2hlYWRlci1uYXYtbW9iaWxlIC5tb2JpbGUtbWVudS13cmFwIC5oLWxvd2VyLXdyYXAgLmgtY29udGFjdCAubW0tcGhvbmUgYSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgY29sb3I6ICM5OTFCMUU7XG4gIH1cbiAgI2hlYWRlciAjaGVhZGVyLW5hdi1tb2JpbGUgLm1vYmlsZS1tZW51LXdyYXAgLmgtbG93ZXItd3JhcCAuaC1jb250YWN0IC5tbS1hZGRyZXNzIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgIGNvbG9yOiAjM0MzQzNDO1xuICAgIHBhZGRpbmc6IDBweCAxMHB4O1xuICB9XG4gICNoZWFkZXIgI2hlYWRlci1uYXYtbW9iaWxlIC5tb2JpbGUtbWVudS13cmFwIC5oLWxvd2VyLXdyYXAgLmgtY29udGFjdCAubW0tZW1haWwge1xuICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gIH1cbiAgI2hlYWRlciAjaGVhZGVyLW5hdi1tb2JpbGUgLm1vYmlsZS1tZW51LXdyYXAgLmgtbG93ZXItd3JhcCAuaC1jb250YWN0IC5tbS1lbWFpbCBhIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICBjb2xvcjogIzNDM0MzQztcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuICAjaGVhZGVyICNoZWFkZXItbmF2LW1vYmlsZSAubW9iaWxlLW1lbnUtd3JhcCAuaC1sb3dlci13cmFwIC5oLWNvbnRhY3QgLm1tLXNlcmlhbCB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgY29sb3I6ICMzQzNDM0M7XG4gIH1cbiAgI2hlYWRlciAjaGVhZGVyLW5hdi1tb2JpbGUgLm1vYmlsZS1tZW51LXdyYXAgLmgtbG93ZXItd3JhcCAuaC1ib3R0b20tbGluay5jdGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5OTFCMUU7XG4gICAgcGFkZGluZzogMThweCAzNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gICNoZWFkZXIgI2hlYWRlci1uYXYtbW9iaWxlIC5tb2JpbGUtbWVudS13cmFwIC5oLWxvd2VyLXdyYXAgLmgtYm90dG9tLWxpbmsuY3RhIGEge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICNoZWFkZXIgLmdyaWQtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgfVxuICAjaGVhZGVyIC5uYXZiYXIgLmJyYW5kIHtcbiAgICBwYWRkaW5nOiA1cHggMTVweDtcbiAgfVxufVxuXG4uc2VjX2hlcm8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5zZWNfaGVybyAuYmFubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBwYWRkaW5nLWJvdHRvbTogMjVweDtcbn1cblxuLnNlY19oZXJvIC5tZWRpYSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyNXB4KTtcbiAgd2lkdGg6IDQ2JTtcbiAgei1pbmRleDogMTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnNlY19oZXJvIC5tZWRpYSA+IGltZywgLnNlY19oZXJvIC5tZWRpYSB2aWRlbywgLnNlY19oZXJvIC5tZWRpYSAuaGVyb19pbWcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgb2JqZWN0LXBvc2l0aW9uOiB0b3A7XG59XG5cbi5zZWNfaGVybyAubWVkaWEgLmJ0bl9wbGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMzBweDtcbiAgYm90dG9tOiAyMHB4O1xufVxuXG4uc2VjX2hlcm8gLmNhcHRpb24ge1xuICBwYWRkaW5nOiAxMzBweCAwIDEwMHB4IGNhbGMoKDEwMHZ3IC0gMTQxMHB4KSAvIDIpO1xuICB3aWR0aDogNTguMzMzMzMlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uc2VjX2hlcm8gLmNhcHRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAtMTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogLTExMHB4O1xuICBib3R0b206IC0yNXB4O1xuICBiYWNrZ3JvdW5kOiAjOTkxQjFFO1xuICB0cmFuc2Zvcm06IHNrZXdYKC0xOGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbn1cblxuLnNlY19oZXJvIC5jYXB0aW9uIGgxIHtcbiAgZm9udC1zaXplOiAxMDBweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbjogMDtcbn1cblxuLnNlY19oZXJvIC5jYXB0aW9uIGg0IHtcbiAgZm9udC1zaXplOiA2MHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cblxuLnNlY19oZXJvIC5mZWF0dXJlcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDcwcHggMDtcbn1cblxuLnNlY19oZXJvIC5mZWF0dXJlcyAuaXRlbSB7XG4gIHdpZHRoOiAyMjBweDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAgMzBweCAzMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5zZWNfaGVybyAuZmVhdHVyZXMgLml0ZW0gZmlndXJlIHtcbiAgbWluLWhlaWdodDogMTA1cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4uc2VjX2hlcm8gLmZlYXR1cmVzIC5pdGVtIGgzIHtcbiAgZm9udC1zaXplOiA0MHB4O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTQxMHB4KSB7XG4gIC5zZWNfaGVybyAuY2FwdGlvbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICB9XG4gIC5zZWNfaGVybyAuY2FwdGlvbiBoMSB7XG4gICAgZm9udC1zaXplOiA4NXB4O1xuICB9XG4gIC5zZWNfaGVybyAuY2FwdGlvbiBoNCB7XG4gICAgZm9udC1zaXplOiA0NXB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLnNlY19oZXJvIC5jYXB0aW9uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gIH1cbiAgLnNlY19oZXJvIC5jYXB0aW9uIGgxIHtcbiAgICBmb250LXNpemU6IDYwcHg7XG4gIH1cbiAgLnNlY19oZXJvIC5jYXB0aW9uIGg0IHtcbiAgICBmb250LXNpemU6IDM1cHg7XG4gIH1cbiAgLnNlY19oZXJvIC5mZWF0dXJlcyB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbiAgLnNlY19oZXJvIC5mZWF0dXJlcyAuaXRlbSB7XG4gICAgd2lkdGg6IDE4MHB4O1xuICB9XG4gIC5zZWNfaGVybyAuZmVhdHVyZXMgLml0ZW0gaDMge1xuICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnNlY19oZXJvIC5tZWRpYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogMzIwcHg7XG4gIH1cbiAgLnNlY19oZXJvIC5tZWRpYSAuYnRuX3BsYXkge1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiA3MHB4O1xuICB9XG4gIC5zZWNfaGVybyAuY2FwdGlvbiB7XG4gICAgcGFkZGluZzogMzVweCAzMHB4IDA7XG4gICAgbWFyZ2luOiAtMTBweCAwIDA7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC5zZWNfaGVybyAuY2FwdGlvbjpiZWZvcmUge1xuICAgIGJvdHRvbTogLTE1cHg7XG4gICAgcmlnaHQ6IDA7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC5zZWNfaGVybyAuY2FwdGlvbiBoMSB7XG4gICAgZm9udC1zaXplOiA0NXB4O1xuICB9XG4gIC5zZWNfaGVybyAuY2FwdGlvbiBoNCB7XG4gICAgZm9udC1zaXplOiAyNXB4O1xuICB9XG59XG5cbi5zZWNfc2VydmljZXMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIHBhZGRpbmc6IDI1MHB4IDAgMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uc2VjX3NlcnZpY2VzIGgyIHtcbiAgZm9udC1zaXplOiAxMjBweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5zZWNfc2VydmljZXMgaDIgc3BhbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLnNlY19zZXJ2aWNlcyBoMyB7XG4gIGZvbnQtc2l6ZTogNjBweDtcbn1cblxuLnNlY19zZXJ2aWNlcyAuYmcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogLTE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnNlY19zZXJ2aWNlcyAuc2VydmljZV9oZWFkIHtcbiAgY29sb3I6ICNmZmY7XG4gIG1heC13aWR0aDogMTIwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLnNlY19zZXJ2aWNlcyAuc2VydmljZV9pdGVtcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnNlY19zZXJ2aWNlcyAuc2VydmljZV9ib3gge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZDogI0E2MDcwQztcbiAgY29sb3I6ICNmZmY7XG4gIHBhZGRpbmc6IDQwcHggMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4uc2VjX3NlcnZpY2VzIC5zZXJ2aWNlX2JveCA+ICo6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5zZWNfc2VydmljZXMgLnNlcnZpY2VfYm94IGZpZ3VyZSB7XG4gIG1pbi1oZWlnaHQ6IDYwcHg7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uc2VjX3NlcnZpY2VzIC5zZXJ2aWNlX2JveCBoNCB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAuc2VjX3NlcnZpY2VzIHtcbiAgICBwYWRkaW5nLXRvcDogMTIlO1xuICB9XG4gIC5zZWNfc2VydmljZXMgaDIge1xuICAgIGZvbnQtc2l6ZTogMTAwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEzNjZweCkge1xuICAuc2VjX3NlcnZpY2VzIGgyIHtcbiAgICBmb250LXNpemU6IDgwcHg7XG4gIH1cbiAgLnNlY19zZXJ2aWNlcyBoMyB7XG4gICAgZm9udC1zaXplOiA0NXB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLnNlY19zZXJ2aWNlcyBoMiB7XG4gICAgZm9udC1zaXplOiA1NXB4O1xuICB9XG4gIC5zZWNfc2VydmljZXMgaDMge1xuICAgIGZvbnQtc2l6ZTogMzVweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnNlY19zZXJ2aWNlcyBoMiB7XG4gICAgZm9udC1zaXplOiA0MnB4O1xuICB9XG4gIC5zZWNfc2VydmljZXMgLmJnIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgLnNlY19zZXJ2aWNlcyAuc2VydmljZV9oZWFkIHtcbiAgICBjb2xvcjogIzNDM0MzQztcbiAgfVxufVxuXG4uc2VjX2Fib3V0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiA5MHB4IDA7XG59XG5cbi5zZWNfYWJvdXQgLmJvcmRlcmVkIHtcbiAgcGFkZGluZzogNDBweCA1MHB4O1xuICBib3JkZXI6IDNweCBzb2xpZCAjQzRDNEM0O1xuICBmb250LXNpemU6IDM0cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogIzk5MUIxRTtcbn1cblxuLnNlY19hYm91dCAuYm9yZGVyZWQgYSwgLnNlY19hYm91dCAuYm9yZGVyZWQgc3BhbiB7XG4gIGNvbG9yOiAjM0MzQzNDO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5zZWNfYWJvdXQge1xuICAgIHBhZGRpbmc6IDUwcHggMDtcbiAgfVxuICAuc2VjX2Fib3V0IC5ib3JkZXJlZCB7XG4gICAgcGFkZGluZzogMzBweDtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gIC5zZWNfYWJvdXQgLmJvcmRlcmVkIHtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgfVxuICAuc2VjX2Fib3V0IC5jb3B5IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLnNlY19wcmljaW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAyODBweCAwIDIwMHB4O1xuICB6LWluZGV4OiAxO1xufVxuXG4uc2VjX3ByaWNpbmcgLmJnIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAtMTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uc2VjX3ByaWNpbmcgLmJnIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uc2VjX3ByaWNpbmcgLnByaWNpbmdfYm94IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAjOTkxQjFFO1xuICBjb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogNTBweDtcbiAgbWluLWhlaWdodDogNDgwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogd3JhcDtcbiAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMzBweDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLnNlY19wcmljaW5nIC5wcmljaW5nX2JveDpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXI6IDFweCBzb2xpZCAjQzRDNEM0O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDI1cHg7XG4gIHJpZ2h0OiAyNXB4O1xuICB0b3A6IDI1cHg7XG4gIGJvdHRvbTogMjVweDtcbn1cblxuLnNlY19wcmljaW5nIC5wcmljaW5nX2JveCA+ICoge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uc2VjX3ByaWNpbmcgLnByaWNpbmdfYm94ID4gKjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnNlY19wcmljaW5nIC5wcmljaW5nX2JveCBoMyB7XG4gIGZvbnQtc2l6ZTogNjBweDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG4uc2VjX3ByaWNpbmcgLnByaWNpbmdfYm94IHAge1xuICBtYXgtd2lkdGg6IDM5MHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTM2NnB4KSB7XG4gIC5zZWNfcHJpY2luZyB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gIH1cbiAgLnNlY19wcmljaW5nIC5iZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIC5zZWNfcHJpY2luZyAucHJpY2luZ19ib3gge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBtaW4taGVpZ2h0OiAzOTBweDtcbiAgfVxuICAuc2VjX3ByaWNpbmcgLnByaWNpbmdfYm94IGgzIHtcbiAgICBmb250LXNpemU6IDUwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDM2OXB4KSB7XG4gIC5zZWNfcHJpY2luZyAucHJpY2luZ19ib3gge1xuICAgIHBhZGRpbmc6IDUwcHggMzBweDtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgbWluLWhlaWdodDogMzAwcHg7XG4gIH1cbiAgLnNlY19wcmljaW5nIC5wcmljaW5nX2JveDpiZWZvcmUge1xuICAgIGxlZnQ6IDE1cHg7XG4gICAgdG9wOiAxNXB4O1xuICAgIHJpZ2h0OiAxNXB4O1xuICAgIGJvdHRvbTogMTVweDtcbiAgfVxufVxuXG4uc2VjX2V4Y2VsbGVuY2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6ICNmZmYgdXJsKC4uL2ltZy9iZy1leGNlbGxlbmNlLmpwZykgbm8tcmVwZWF0IGNlbnRlci8xMDAlO1xuICBwYWRkaW5nOiAxNjBweCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5zZWNfZXhjZWxsZW5jZSBoMiB7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuLnNlY19leGNlbGxlbmNlIC5leGNlbF9ib3gge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3gtc2hhZG93OiAwcHggNHB4IDE0cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMDYpO1xuICBtaW4taGVpZ2h0OiAzMzVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBwYWRkaW5nOiA1MHB4IDMwcHg7XG59XG5cbi5zZWNfZXhjZWxsZW5jZSAuZXhjZWxfYm94IGZpZ3VyZSB7XG4gIG1pbi1oZWlnaHQ6IDEzMHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4uc2VjX2V4Y2VsbGVuY2UgLmV4Y2VsX2JveCBoMyB7XG4gIGZvbnQtc2l6ZTogMzRweDtcbiAgY29sb3I6ICM5OTFCMUU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDI5MHB4O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTI4MHB4KSB7XG4gIC5zZWNfZXhjZWxsZW5jZSAuZXhjZWxfYm94IHtcbiAgICBtaW4taGVpZ2h0OiAzMDBweDtcbiAgICBwYWRkaW5nOiA0MHB4IDMwcHg7XG4gIH1cbiAgLnNlY19leGNlbGxlbmNlIC5leGNlbF9ib3ggaDMge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5zZWNfZXhjZWxsZW5jZSB7XG4gICAgcGFkZGluZzogNjBweCAwIDEwMHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuc2VjX2V4Y2VsbGVuY2UgLmV4Y2VsX2JveCB7XG4gICAgcGFkZGluZzogMzVweCAyMHB4O1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgfVxuICAuc2VjX2V4Y2VsbGVuY2UgLmV4Y2VsX2JveCBoMyB7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICB9XG59XG5cbi5zZWNfcmV2aWV3cyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAtNjBweCAwIDYwcHg7XG59XG5cbi5zZWNfcmV2aWV3cyAucXVvdGUge1xuICBmb250LXNpemU6IDE2cHg7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgbWF4LXdpZHRoOiA1MzBweDtcbiAgY29sb3I6ICMzQzNDM0M7XG59XG5cbi5zZWNfcmV2aWV3cyAucXVvdGUgcCB7XG4gIGNvbG9yOiAjM0MzQzNDO1xufVxuXG4uc2VjX3Jldmlld3MgLnF1b3RlIGNpdGUge1xuICBib3JkZXI6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMCAwIDAgNDVweDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY29sb3I6ICMzQzNDM0M7XG59XG5cbi5zZWNfcmV2aWV3cyAucXVvdGUgY2l0ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbn1cblxuLnNlY19yZXZpZXdzIC5xdW90ZSBjaXRlIHNwYW4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAzNXB4O1xuICBsZWZ0OiAwO1xuICB0b3A6IDVweDtcbn1cblxuLnNlY19yZXZpZXdzIC5xdW90ZSBjaXRlIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uc2VjX3Jldmlld3MgLnF1b3RlIGNpdGUgc21hbGwge1xuICBmb250LXNpemU6IDEwcHg7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLnNlY19yZXZpZXdzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAuc2VjX3Jldmlld3MgaDIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAuc2VjX3Jldmlld3MgLnF1b3RlIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cbn1cblxuLnNlY19jdGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIHBhZGRpbmc6IDE2MHB4IDAgMTAwcHg7XG59XG5cbi5zZWNfY3RhIC5iZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAtMTtcbn1cblxuLnNlY19jdGEgLmJnIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4uc2VjX2N0YSAuY3RhX2JveCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogIzk5MUIxRTtcbiAgY29sb3I6ICNmZmY7XG4gIHBhZGRpbmc6IDUwcHggNjBweDtcbiAgbWluLWhlaWdodDogNDgwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogd3JhcDtcbiAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMjdweDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLnNlY19jdGEgLmN0YV9ib3g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyOiAxcHggc29saWQgI0M0QzRDNDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAyNXB4O1xuICByaWdodDogMjVweDtcbiAgdG9wOiAyNXB4O1xuICBib3R0b206IDI1cHg7XG59XG5cbi5zZWNfY3RhIC5jdGFfYm94ID4gKiB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5zZWNfY3RhIC5jdGFfYm94ID4gKjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnNlY19jdGEgLmN0YV9ib3ggYSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uc2VjX2N0YSAuY3RhX2JveCBoMyB7XG4gIGZvbnQtc2l6ZTogNjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAuc2VjX2N0YSB7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gIC5zZWNfY3RhIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxuICAuc2VjX2N0YSAuY3RhX2JveCB7XG4gICAgcGFkZGluZzogNTBweCAzMHB4O1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gIH1cbiAgLnNlY19jdGEgLmN0YV9ib3g6YmVmb3JlIHtcbiAgICBsZWZ0OiAxNXB4O1xuICAgIHJpZ2h0OiAxNXB4O1xuICAgIHRvcDogMTVweDtcbiAgICBib3R0b206IDE1cHg7XG4gIH1cbiAgLnNlY19jdGEgLmN0YV9ib3ggaDMge1xuICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgfVxufVxuXG4uc2VjX2xvY2F0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDEwMHB4IDA7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLnNlY19sb2NhdGlvbiB7XG4gICAgcGFkZGluZzogNjBweCAwO1xuICB9XG59XG5cbi5zZWNfZmluYW5jaW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAwIDAgMTAwcHg7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLnNlY19maW5hbmNpbmcge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLnNlY193aHl1cyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMTIwcHggMCAyMjBweDtcbiAgYmFja2dyb3VuZDogI2ZmZiB1cmwoLi4vaW1nL2JnLWV4Y2VsbGVuY2UuanBnKSBuby1yZXBlYXQgY2VudGVyLzEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnNlY193aHl1cyAud2h5dXNfYm94IHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm94LXNoYWRvdzogMHB4IDRweCAxNHB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjA2KTtcbiAgbWluLWhlaWdodDogMzM1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgcGFkZGluZzogNTBweCAzMHB4O1xufVxuXG4uc2VjX3doeXVzIC53aHl1c19ib3ggZmlndXJlIHtcbiAgbWluLWhlaWdodDogMTMwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5zZWNfd2h5dXMgLndoeXVzX2JveCBoMyB7XG4gIGZvbnQtc2l6ZTogMzRweDtcbiAgY29sb3I6ICM5OTFCMUU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDMwMHB4O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTM2NnB4KSB7XG4gIC5zZWNfd2h5dXMgLndoeXVzX2JveCB7XG4gICAgbWluLWhlaWdodDogMzAwcHg7XG4gICAgcGFkZGluZzogNDBweCAyMHB4O1xuICB9XG4gIC5zZWNfd2h5dXMgLndoeXVzX2JveCBoMyB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLnNlY193aHl1cyB7XG4gICAgcGFkZGluZzogMCAwIDEwMHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuc2VjX3doeXVzIHtcbiAgICBwYWRkaW5nOiAwIDAgNjBweDtcbiAgfVxuICAuc2VjX3doeXVzIC53aHl1c19ib3gge1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgfVxuICAuc2VjX3doeXVzIC53aHl1c19ib3ggZmlndXJlIHtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gIH1cbn1cblxuLnNlY19haXJjb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDAgMCAxMDBweDtcbn1cblxuLnNlY19haXJjb24gLnNpZGVuYXYge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjQzRDNEM0O1xuICBib3gtc2hhZG93OiAwcHggNHB4IDE0cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMDYpO1xuICBwYWRkaW5nOiAyMHB4IDIwcHggMTBweDtcbiAgbWFyZ2luOiAwIDQwcHggMCAwO1xufVxuXG4uc2VjX2FpcmNvbiAuc2lkZW5hdiBoMyB7XG4gIG1hcmdpbjogMCAwIDEwcHg7XG59XG5cbi5zZWNfYWlyY29uIC5zaWRlbmF2IHVsIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwIDEwcHg7XG59XG5cbi5zZWNfYWlyY29uIC5zaWRlbmF2IHVsIGxpIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZmxvYXQ6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnNlY19haXJjb24gLnNpZGVuYXYgdWwgbGkgKyBsaSB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjQzRDNEM0O1xufVxuXG4uc2VjX2FpcmNvbiAuc2lkZW5hdiB1bCBsaSBhIHtcbiAgY29sb3I6ICM5OTFCMUU7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDE1cHggMTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xufVxuXG4uc2VjX2FpcmNvbiAuc2lkZW5hdiB1bCBsaSBhOmhvdmVyLCAuc2VjX2FpcmNvbiAuc2lkZW5hdiB1bCBsaSBhOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbn1cblxuLnNlY19haXJjb24gLnNpZGVuYXYgdWwgbGkuaXMtYWN0aXZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTMwcHg7XG4gIHJpZ2h0OiAtMzBweDtcbiAgdG9wOiAtMXB4O1xuICBib3R0b206IC0xcHg7XG4gIGJhY2tncm91bmQ6ICM5OTFCMUU7XG4gIHotaW5kZXg6IDE7XG59XG5cbi5zZWNfYWlyY29uIC5zaWRlbmF2IHVsIGxpLmlzLWFjdGl2ZSBhIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5zZWNfYWlyY29uIC5jb3B5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uc2VjX2FpcmNvbiAuY29weSBoMiB7XG4gIGNvbG9yOiAjOTkxQjFFO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uc2VjX2FpcmNvbiAudGFicy1jb250ZW50IHtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjb2xvcjogIzNDM0MzQztcbn1cblxuLnNlY19haXJjb24gLnRhYnMtcGFuZWwge1xuICBwYWRkaW5nOiAwO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5zZWNfYWlyY29uIC5zaWRlbmF2IHtcbiAgICBtYXJnaW46IDAgMCAzMHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuc2VjX2FpcmNvbiB7XG4gICAgcGFkZGluZzogMCAwIDYwcHg7XG4gIH1cbn1cblxuLnNlY19jb250YWN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBwYWRkaW5nOiAyMDBweCAwIDMwcHg7XG4gIGJhY2tncm91bmQ6ICNmYmZiZmI7XG59XG5cbi5zZWNfY29udGFjdCBoZ3JvdXAge1xuICBtYXgtd2lkdGg6IDU5MHB4O1xuICBtYXJnaW46IDAgYXV0byA1MHB4O1xufVxuXG4uc2VjX2NvbnRhY3QgaGdyb3VwIGEge1xuICBjb2xvcjogIzNDM0MzQztcbn1cblxuLnNlY19jb250YWN0IGhncm91cCBhOmhvdmVyIHtcbiAgY29sb3I6ICM5OTFCMUU7XG59XG5cbi5zZWNfY29udGFjdCAuYmcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogLTE7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5zZWNfY29udGFjdCAuYmcgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5zZWNfY29udGFjdCAuZm9ybV9ib3gge1xuICB3aWR0aDogYXV0bztcbn1cblxuLnNlY19jb250YWN0IC5mb3JtX2JveCBkaXYuZ2Zvcm1fZmllbGRzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiB3cmFwO1xuICBtYXJnaW46IDAgLTE1cHg7XG4gIGdyaWQtY29sdW1uLWdhcDogMDtcbiAgZ3JpZC1yb3ctZ2FwOiAwO1xuICB3aWR0aDogYXV0bztcbn1cblxuLnNlY19jb250YWN0IC5mb3JtX2JveCBkaXYuZ2Zvcm1fZmllbGRzIC5nZmllbGQge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMCAxNXB4O1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4uc2VjX2NvbnRhY3QgLmZvcm1fYm94IGRpdi5nZm9ybV9maWVsZHMgLmdmaWVsZC5naGFsZiB7XG4gIHdpZHRoOiA1MCU7XG59XG5cbi5zZWNfY29udGFjdCAuZm9ybV9ib3ggZGl2Lmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC50ZXh0YXJlYSB7XG4gIGhlaWdodDogMTQ1cHg7XG59XG5cbi5zZWNfY29udGFjdCAuZm9ybV9ib3ggZGl2Lmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkX2xhYmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnNlY19jb250YWN0IC5mb3JtX2JveCAuZ2Zvcm1fZm9vdGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnNlY19jb250YWN0IHtcbiAgICBwYWRkaW5nOiAxMDBweCAwIDMwcHg7XG4gIH1cbiAgLnNlY19jb250YWN0IGhncm91cCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgLnNlY19jb250YWN0IC5mb3JtX2JveCBkaXYuZ2Zvcm1fZmllbGRzIC5nZmllbGQuZ2hhbGYge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5zZWNfbW9kZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDUwcHggMCAxMDBweDtcbn1cblxuLnNlY19tb2RlbCBoMiB7XG4gIG1hcmdpbjogMDtcbn1cblxuLnN0aWNreV9jdGEge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgei1pbmRleDogOTk5O1xufVxuXG4uc3RpY2t5X2N0YSAuYnV0dG9uIHtcbiAgbWFyZ2luOiAwO1xuICBsaW5lLWhlaWdodDogMjhweDtcbiAgcGFkZGluZzogMTBweCA0MHB4O1xuICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICBmb250LXdlaWdodDogODAwO1xuICBmb250LWZhbWlseTogXCJMYXRvXCIsIHNhbnMtc2VyaWY7XG59XG5cbi5zdGlja3lfY3RhIC5idXR0b246YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAuc3RpY2t5X2N0YSAuYnV0dG9uIHtcbiAgICBwYWRkaW5nOiA4cHggMjBweDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gIH1cbn1cblxuI2Zvb3RlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgcGFkZGluZzogMCAwIDUwcHg7XG59XG5cbiNmb290ZXIgLmZvb3RfdG9wIHtcbiAgcGFkZGluZzogMTAwcHggMCA1MHB4O1xufVxuXG4jZm9vdGVyIC5mb290X3RvcCBoMiB7XG4gIGZvbnQtc2l6ZTogNDVweDtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMzM7XG4gIGNvbG9yOiAjZmZmO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4jZm9vdGVyIC5mb290X3RvcCBoNSB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbn1cblxuI2Zvb3RlciAuZm9vdF9saW5rcyB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbiNmb290ZXIgLmZvb3RfbGlua3MgdWwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbiNmb290ZXIgLmZvb3RfbGlua3MgdWwgbGkge1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4jZm9vdGVyIC5mb290X3NvY2lhbCB1bCB7XG4gIG1hcmdpbjogNTBweCAtM3B4O1xuICBwYWRkaW5nOiAwO1xufVxuXG4jZm9vdGVyIC5mb290X3NvY2lhbCB1bCBsaSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwIDNweDtcbn1cblxuI2Zvb3RlciAuZm9vdF9sb2dvIHtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbn1cblxuI2Zvb3RlciAuZm9vdF9waG9uZSB7XG4gIHBhZGRpbmc6IDEwcHggMCAwO1xuICBjb2xvcjogIzk5MUIxRTtcbiAgZm9udC1zaXplOiA0MHB4O1xuICBmb250LWZhbWlseTogXCJUZWtvXCIsIHNhbnMtc2VyaWY7XG4gIGxldHRlci1zcGFjaW5nOiA5cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4jZm9vdGVyIC5mb290X2JvdHRvbSB7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIHBhZGRpbmc6IDM1cHggMDtcbn1cblxuI2Zvb3RlciAuY29weXJpZ2h0IHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBjb2xvcjogI2ZmZjtcbn1cblxuI2Zvb3RlciAuY29weXJpZ2h0IGEge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuI2Zvb3RlciAuY29weXJpZ2h0IHNwYW4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMzY2cHgpIHtcbiAgI2Zvb3RlciAuZm9vdF9waG9uZSB7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgI2Zvb3RlciAuZm9vdF90b3Age1xuICAgIHBhZGRpbmctdG9wOiA2MHB4O1xuICB9XG4gICNmb290ZXIgLmZvb3RfbG9nbyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gICNmb290ZXIgLmZvb3RfcGhvbmUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAjZm9vdGVyIC5mb290X3NvY2lhbCB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gICNmb290ZXIgLmZvb3RfYm90dG9tIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICNmb290ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuIiwiLyoqXHJcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuICogVmVyc2lvbiA2LjUuM1xyXG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG4gKi9cclxuXHJcbi8vIERlcGVuZGVuY2llc1xyXG5AaW1wb3J0ICd2ZW5kb3Ivbm9ybWFsaXplJztcclxuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL21pc3NpbmctZGVwZW5kZW5jaWVzJztcclxuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL3RydWUnO1xyXG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9jb250YWluJztcclxuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcHVyZ2UnO1xyXG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZW1vdmUnO1xyXG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZXBsYWNlJztcclxuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvdG8tbGlzdCc7XHJcblxyXG4vLyAtLS0gU2V0dGluZ3MgLS0tXHJcbi8vIGltcG9ydCB5b3VyIG93biBgc2V0dGluZ3NgIGhlcmUgb3JcclxuLy8gaW1wb3J0IGFuZCBtb2RpZnkgdGhlIGRlZmF1bHQgc2V0dGluZ3MgdGhyb3VnaFxyXG4vLyBAaW1wb3J0ICdzZXR0aW5ncy9zZXR0aW5ncyc7XHJcblxyXG4vLyAtLS0gQ29tcG9uZW50cyAtLS1cclxuLy8gVXRpbGl0aWVzXHJcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XHJcbi8vIEdsb2JhbCBzdHlsZXNcclxuQGltcG9ydCAnZ2xvYmFsJztcclxuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xyXG5AaW1wb3J0ICd0eXBvZ3JhcGh5L3R5cG9ncmFwaHknO1xyXG5cclxuLy8gR3JpZHNcclxuQGltcG9ydCAnZ3JpZC9ncmlkJztcclxuQGltcG9ydCAneHktZ3JpZC94eS1ncmlkJztcclxuLy8gR2VuZXJpYyBjb21wb25lbnRzXHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24tZ3JvdXAnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2Nsb3NlLWJ1dHRvbic7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbGFiZWwnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL3Byb2dyZXNzLWJhcic7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9zd2l0Y2gnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYmxlJztcclxuLy8gQmFzaWMgY29tcG9uZW50c1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2JhZGdlJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9icmVhZGNydW1icyc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FyZCc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24nO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2x0aXAnO1xyXG5cclxuLy8gQ29udGFpbmVyc1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbic7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVkaWEtb2JqZWN0JztcclxuQGltcG9ydCAnY29tcG9uZW50cy9vcmJpdCc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmVzcG9uc2l2ZS1lbWJlZCc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFicyc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcclxuLy8gTWVudS1iYXNlZCBjb250YWluZXJzXHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudSc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudS1pY29uJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24tbWVudSc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJpbGxkb3duJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bi1tZW51JztcclxuXHJcbi8vIExheW91dCBjb21wb25lbnRzXHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb2ZmLWNhbnZhcyc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmV2ZWFsJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9zdGlja3knO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9wLWJhcic7XHJcblxyXG4vLyBIZWxwZXJzXHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxvYXQnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2ZsZXgnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL3Zpc2liaWxpdHknO1xyXG5AaW1wb3J0ICdwcm90b3R5cGUvcHJvdG90eXBlJztcclxuXHJcblxyXG5AbWl4aW4gZm91bmRhdGlvbi1ldmVyeXRoaW5nKFxyXG4gICRmbGV4OiB0cnVlLFxyXG4gICRwcm90b3R5cGU6IGZhbHNlXHJcbikge1xyXG4gIEBpZiAkZmxleCB7XHJcbiAgICAkZ2xvYmFsLWZsZXhib3g6IHRydWUgIWdsb2JhbDtcclxuICB9XHJcblxyXG4gIC8vIEdsb2JhbCBzdHlsZXNcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XHJcblxyXG4gIC8vIEdyaWRzXHJcbiAgQGlmIG5vdCAkZmxleCB7XHJcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIEBpZiAkeHktZ3JpZCB7XHJcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzO1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIEdlbmVyaWMgY29tcG9uZW50c1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcclxuICAvLyBCYXNpYyBjb21wb25lbnRzXHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xyXG5cclxuICAvLyBDb250YWluZXJzXHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xyXG4gIC8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XHJcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xyXG5cclxuICAvLyBMYXlvdXQgY29tcG9uZW50c1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XHJcblxyXG4gIC8vIEhlbHBlcnNcclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XHJcbiAgQGlmICRmbGV4IHsgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7IH1cclxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcclxuICBAaWYgJHByb3RvdHlwZSB7IEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7IH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgYnJlYWtwb2ludHNcclxuLy8vL1xyXG5cclxuLy8vIEEgbGlzdCBvZiBuYW1lZCBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcy5cclxuLy8vIEB0eXBlIE1hcFxyXG4kYnJlYWtwb2ludHM6IChcclxuICBzbWFsbDogMCxcclxuICBtZWRpdW06IDY0MHB4LFxyXG4gIGxhcmdlOiAxMDI0cHgsXHJcbiAgeGxhcmdlOiAxMjAwcHgsXHJcbiAgeHhsYXJnZTogMTQ0MHB4LFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8vIFRoZSBsYXJnZXN0IG5hbWVkIGJyZWFrcG9pbnQgaW4gd2hpY2ggdG8gaW5jbHVkZSBwcmludCBhcyBhIG1lZGlhIHR5cGVcclxuLy8vIEB0eXBlIEtleXdvcmRcclxuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlICFkZWZhdWx0O1xyXG5cclxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xyXG5cclxuJC16Zi1icmVha3BvaW50cy1rZXlzOiBtYXAtdG8tbGlzdCgkYnJlYWtwb2ludHMsICdrZXlzJyk7XHJcblxyXG5AaWYgbnRoKG1hcC12YWx1ZXMoJGJyZWFrcG9pbnRzKSwgMSkgIT0gMCB7XHJcbiAgQGVycm9yICdUaGUgZmlyc3Qga2V5IGluIHRoZSAkYnJlYWtwb2ludHMgbWFwIG11c3QgaGF2ZSBhIHZhbHVlIG9mIFwiMFwiLic7XHJcbn1cclxuQGVsc2Uge1xyXG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XHJcbn1cclxuXHJcbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cclxuLy8vIEB0eXBlIExpc3RcclxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgc3RyaW5nIG1hdGNoaW5nIHRoZSBpbnB1dCB2YWx1ZS4gUmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBzZWUgd2hhdCB0aGUgcG9zc2libGUgaW5wdXRzIGFyZS5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXHJcbkBmdW5jdGlvbiBicmVha3BvaW50KCR2YWw6ICQtemYtemVyby1icmVha3BvaW50KSB7XHJcbiAgLy8gU2l6ZSBvciBrZXl3b3JkXHJcbiAgJGJwOiBudGgoJHZhbCwgMSk7XHJcbiAgLy8gVmFsdWUgZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzXHJcbiAgJGJwLW1heDogMDtcclxuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxyXG4gICRkaXI6IGlmKGxlbmd0aCgkdmFsKSA+IDEsIG50aCgkdmFsLCAyKSwgdXApO1xyXG4gIC8vIEV2ZW50dWFsIG91dHB1dFxyXG4gICRzdHI6ICcnO1xyXG4gIC8vIElzIGl0IGEgbmFtZWQgbWVkaWEgcXVlcnk/XHJcbiAgJG5hbWVkOiBmYWxzZTtcclxuXHJcbiAgLy8gT3JpZW50YXRpb24gbWVkaWEgcXVlcmllcyBoYXZlIGEgdW5pcXVlIHN5bnRheFxyXG4gIEBpZiAkYnAgPT0gJ2xhbmRzY2FwZScgb3IgJGJwID09ICdwb3J0cmFpdCcge1xyXG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcclxuICB9XHJcbiAgQGVsc2UgaWYgJGJwID09ICdyZXRpbmEnIHtcclxuICAgIEByZXR1cm4gJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknO1xyXG4gIH1cclxuXHJcbiAgLy8gVHJ5IHRvIHB1bGwgYSBuYW1lZCBicmVha3BvaW50IG91dCBvZiB0aGUgJGJyZWFrcG9pbnRzIG1hcFxyXG4gIEBpZiB0eXBlLW9mKCRicCkgPT0gJ3N0cmluZycge1xyXG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XHJcbiAgICAgIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XHJcbiAgICAgICAgJGJwLW1heDogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJGJwKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGJwKTtcclxuICAgICAgJG5hbWVkOiB0cnVlO1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICAkYnA6IDA7XHJcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgJGJyZWFrcG9pbnRzIHNldHRpbmcuJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIENvbnZlcnQgYW55IHBpeGVsLCByZW0sIG9yIHVuaXRsZXNzIHZhbHVlIHRvIGVtXHJcbiAgJGJwOiAtemYtYnAtdG8tZW0oJGJwKTtcclxuICAvLyBNYXggdmFsdWUgaXMgMC4ycHggdW5kZXIgdGhlIG5leHQgYnJlYWtwb2ludCAoMC4wMiAvIDE2ID0gMC4wMDEyNSkuXHJcbiAgLy8gVXNlIGEgcHJlY2lzaW9uIHVuZGVyIDFweCB0byBzdXBwb3J0IGJyb3dzZXIgem9vbSwgYnV0IG5vdCB0byBsb3cgdG8gYXZvaWQgcm91bmRpbmcuXHJcbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzExMzEzXHJcbiAgQGlmICRicC1tYXgge1xyXG4gICAgJGJwLW1heDogLXpmLWJwLXRvLWVtKCRicC1tYXgpIC0gLjAwMTI1O1xyXG4gIH1cclxuXHJcbiAgLy8gQ29uZGl0aW9ucyB0byBza2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uXHJcbiAgLy8gLSBJdCdzIGEgbmFtZWQgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBkb3duXCIgb3IgXCIwIHVwXCJcclxuICAvLyAtIEl0J3MgYSBudW1lcmljIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgXCIgKyBhbnl0aGluZ1xyXG4gIEBpZiAkYnAgPiAwZW0gb3IgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xyXG4gICAgLy8gYG9ubHlgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbikgYW5kIChtYXgtd2lkdGg6IG4pYFxyXG4gICAgQGlmICRkaXIgPT0gJ29ubHknIHtcclxuICAgICAgLy8gT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIFwib25seVwiIHJhbmdlXHJcbiAgICAgIEBpZiAkbmFtZWQgPT0gdHJ1ZSB7XHJcbiAgICAgICAgLy8gT25seSB1c2UgXCJtaW4td2lkdGhcIiBpZiB0aGUgZmxvb3IgaXMgZ3JlYXRlciB0aGFuIDBcclxuICAgICAgICBAaWYgJGJwID4gMGVtIHtcclxuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XHJcblxyXG4gICAgICAgICAgLy8gT25seSBhZGQgXCJhbmRcIiB0byB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlcmUncyBhIGNlaWxpbmdcclxuICAgICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xyXG4gICAgICAgICAgICAkc3RyOiAkc3RyICsgJyBhbmQgJztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWF4LXdpZHRoXCIgaWYgdGhlcmUncyBhIGNlaWxpbmdcclxuICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcclxuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skYnAtbWF4fSknO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBAZWxzZSB7XHJcbiAgICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gYGRvd25gIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1heC13aWR0aDogbilgXHJcbiAgICBAZWxzZSBpZiAkZGlyID09ICdkb3duJyB7XHJcbiAgICAgICRtYXg6IGlmKCRuYW1lZCwgJGJwLW1heCwgJGJwKTtcclxuXHJcbiAgICAgIC8vIFNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb24gaWYgaW5wdXQgdmFsdWUgaXMgZXhhY3RseSBcIjAgZG93blwiLFxyXG4gICAgICAvLyB1bmxlc3MgdGhlIGZ1bmN0aW9uIHdhcyBjYWxsZWQgYXMgXCJzbWFsbCBkb3duXCIsIGluIHdoaWNoIGNhc2UgaXQncyBqdXN0IFwic21hbGwgb25seVwiXHJcbiAgICAgIEBpZiAkbmFtZWQgb3IgJGJwID4gMGVtIHtcclxuICAgICAgICBAaWYgJG1heCAhPSBudWxsIHtcclxuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skbWF4fSknO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIGB1cGAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKWBcclxuICAgIEBlbHNlIGlmICRicCA+IDBlbSB7XHJcbiAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRzdHI7XHJcbn1cclxuXHJcbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XHJcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cclxuLy8vICAtIElmIGEgcGl4ZWwgdmFsdWUgaXMgcGFzc2VkLCBpdCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhbiBlbSB2YWx1ZSB1c2luZyBgJGdsb2JhbC1mb250LXNpemVgIGFzIHRoZSBiYXNlLlxyXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXHJcbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxyXG4vLy9cclxuLy8vIEBvdXRwdXQgSWYgdGhlIGJyZWFrcG9pbnQgaXMgXCIwcHggYW5kIGxhcmdlclwiLCBvdXRwdXRzIHRoZSBjb250ZW50IGFzLWlzLiBPdGhlcndpc2UsIG91dHB1dHMgdGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBhIG1lZGlhIHF1ZXJ5LlxyXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWUpIHtcclxuICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XHJcbiAgJGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICR2YWx1ZSk7XHJcbiAgJHBicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkcHJpbnQtYnJlYWtwb2ludCk7XHJcblxyXG4gICRvbGQtemYtc2l6ZTogbnVsbDtcclxuXHJcbiAgLy8gTWFrZSBicmVha3BvaW50IHNpemUgYXZhaWxhYmxlIGFzIGEgdmFyaWFibGVcclxuICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xyXG4gICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XHJcbiAgfVxyXG4gICQtemYtc2l6ZTogbnRoKCR2YWx1ZSwgMSkgIWdsb2JhbDsgLy8gZ2V0IHRoZSBmaXJzdCB2YWx1ZSB0byBhY2NvdW50IGZvciBgb25seWAgYW5kIGBkb3duYCBrZXl3b3Jkc1xyXG5cclxuICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXHJcbiAgQGlmICRzdHIgPT0gJycge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG5cclxuICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxyXG4gIEBlbHNlIHtcclxuICAgIC8vIEZvciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJHByaW50LWJyZWFrcG9pbnQsIGFkZCBwcmludCB0byB0aGUgbWVkaWEgdHlwZXNcclxuICAgIEBpZiAkYnAgIT0gbnVsbCBhbmQgJGJwIDw9ICRwYnAge1xyXG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgI3skc3RyfSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAZWxzZSB7XHJcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xyXG59XHJcblxyXG4vLy8gQ29udmVydHMgdGhlIGJyZWFrcG9pbnRzIG1hcCB0byBhIFVSTC1lbmNvZGVkIHN0cmluZywgbGlrZSB0aGlzOiBga2V5MT12YWx1ZTEma2V5Mj12YWx1ZTJgLiBUaGUgdmFsdWUgaXMgdGhlbiBkcm9wcGVkIGludG8gdGhlIENTUyBmb3IgYSBzcGVjaWFsIGA8bWV0YT5gIHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0LiBUaGlzIGlzIGhvdyB3ZSB0cmFuc2ZlciB2YWx1ZXMgZnJvbSBTYXNzIHRvIEphdmFTY3JpcHQsIHNvIHRoZXkgY2FuIGJlIGRlZmluZWQgaW4gb25lIHBsYWNlLlxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gY29udmVydC5cclxuLy8vXHJcbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cclxuQGZ1bmN0aW9uIC16Zi1icC1zZXJpYWxpemUoJG1hcCkge1xyXG4gICRzdHI6ICcnO1xyXG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcclxuICAgICRzdHI6ICRzdHIgKyAka2V5ICsgJz0nICsgLXpmLWJwLXRvLWVtKCR2YWx1ZSkgKyAnJic7XHJcbiAgfVxyXG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XHJcblxyXG4gIEByZXR1cm4gJHN0cjtcclxufVxyXG5cclxuLy8vIEZpbmQgdGhlIG5leHQga2V5IGluIGEgbWFwLlxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXHJcbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxyXG4vLy9cclxuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvciB0aGUga2V5IGFmdGVyIGAka2V5YCwgaWYgYCRrZXlgIHdhcyBmb3VuZC4gSWYgYCRrZXlgIHdhcyBub3QgZm91bmQsIG9yIGAka2V5YCB3YXMgdGhlIGxhc3QgdmFsdWUgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXHJcbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xyXG5cclxuICAvLyBTdG9yZSB0aGUga2V5cyBvZiB0aGUgbWFwIGFzIGEgbGlzdFxyXG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xyXG5cclxuICAkaTogMDtcclxuXHJcbiAgLy8gSWYgdGhlIEtleSBFeGlzdHMsIEdldCB0aGUgaW5kZXggb2YgdGhlIGtleSB3aXRoaW4gdGhlIG1hcCBhbmQgYWRkIDEgdG8gaXQgZm9yIHRoZSBuZXh0IGJyZWFrcG9pbnQgaW4gdGhlIG1hcFxyXG4gIEBpZiAobWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcclxuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XHJcbiAgfVxyXG5cclxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXHJcbiAgQGlmICgkaSA+IGxlbmd0aCgkbWFwKSBvciAkaSA9PSAwKSB7XHJcbiAgICBAcmV0dXJuIG51bGw7XHJcbiAgfVxyXG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSB2YWx1ZVxyXG4gIEBlbHNlIHtcclxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcclxuICB9XHJcblxyXG59XHJcblxyXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXHJcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGxhc3QgYnJlYWtwb2ludC5cclxuLy8vXHJcbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXHJcbkBmdW5jdGlvbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRrZXkpIHtcclxuICAkbGlzdDogKCk7XHJcbiAgJGZvdW5kX2tleTogZmFsc2U7XHJcblxyXG4gIEBlYWNoICRuYW1lIGluICQtemYtYnJlYWtwb2ludHMta2V5cyB7XHJcbiAgICBAaWYgKCRuYW1lID09ICRrZXkpIHtcclxuICAgICAgJGZvdW5kX2tleTogdHJ1ZTtcclxuICAgIH1cclxuICAgIEBpZiBub3QgJGZvdW5kX2tleSB7XHJcbiAgICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICRuYW1lKTtcclxuICAgIH1cclxuICB9XHJcbiAgQHJldHVybiAkbGlzdDtcclxufVxyXG5cclxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxyXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCAtIGEgbmFtZWQgb3Igbm9uLW5hbWVkIGJyZWFrcG9pbnQuXHJcbi8vL1xyXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xyXG5AZnVuY3Rpb24gLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xyXG4gICRsYXN0OiAkLXpmLXplcm8tYnJlYWtwb2ludDtcclxuICAkZm91bmQ6IGZhbHNlO1xyXG5cclxuICAkdmFsdWU6IHVuaXRsZXNzLWNhbGMoJGJyZWFrcG9pbnQsIDFweCk7XHJcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xyXG4gICAgQGlmIG5vdCAkZm91bmQge1xyXG4gICAgICBAaWYgdW5pdGxlc3MtY2FsYygkdmFsKSA+ICR2YWx1ZSB7XHJcbiAgICAgICAgJGZvdW5kOiB0cnVlO1xyXG4gICAgICB9IEBlbHNlIHtcclxuICAgICAgICAkbGFzdDogJGtleTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkbGFzdDtcclxufVxyXG5cclxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXHJcbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdCByZWdhcmRsZXNzIG9mIGAkdmFsdWVgLlxyXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBoYXMgdGhlIGtleSBgJHZhbHVlYCwgdGhlIGV4YWN0IGJyZWFrcG9pbnQgdmFsdWUgaXMgcmV0dXJuZWQuXHJcbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGRvZXMgKm5vdCogaGF2ZSB0aGUgYnJlYWtwb2ludCwgdGhlIHZhbHVlIG1hdGNoaW5nIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGluIHRoZSBjb25maWcgbWFwIGlzIHJldHVybmVkLlxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gUmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cclxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cclxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xyXG4gIC8vIElmIHRoZSBnaXZlbiBtYXAgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdFxyXG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdudW1iZXInIHtcclxuICAgIEByZXR1cm4gJG1hcDtcclxuICB9XHJcblxyXG5cclxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBnbG9iYWxseVxyXG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcclxuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xyXG4gICAgICAkdmFsdWU6IC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJHZhbHVlKTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBAcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGluIHRoZSBsb2NhbCBjb25maWcgbWFwXHJcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1hcCwgJHZhbHVlKSB7XHJcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcclxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkdmFsdWUpO1xyXG4gIH1cclxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXHJcbiAgQGVsc2Uge1xyXG4gICAgJGFuY2hvcjogbnVsbDtcclxuICAgICRmb3VuZDogZmFsc2U7XHJcblxyXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xyXG4gICAgICBAaWYgbm90ICRmb3VuZCB7XHJcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcclxuICAgICAgICAgICRhbmNob3I6ICRrZXk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAka2V5ID09ICR2YWx1ZSB7XHJcbiAgICAgICAgICAkZm91bmQ6IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRhbmNob3IpO1xyXG4gIH1cclxufVxyXG5cclxuJHNtYWxsLXVwOiAnJztcclxuJHNtYWxsLW9ubHk6ICcnO1xyXG5cclxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcclxuICAkc21hbGwtdXA6IHNjcmVlbjtcclxuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XHJcbn1cclxuXHJcbiRtZWRpdW0tdXA6ICcnO1xyXG4kbWVkaXVtLW9ubHk6ICcnO1xyXG5cclxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XHJcbiAgJG1lZGl1bS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtKX0nKTtcclxuICAkbWVkaXVtLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBvbmx5KX0nKTtcclxufVxyXG5cclxuJGxhcmdlLXVwOiAnJztcclxuJGxhcmdlLW9ubHk6ICcnO1xyXG5cclxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbGFyZ2UpIHtcclxuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcclxuICAkbGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2Ugb25seSl9Jyk7XHJcbn1cclxuXHJcbiR4bGFyZ2UtdXA6ICcnO1xyXG4keGxhcmdlLW9ubHk6ICcnO1xyXG5cclxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeGxhcmdlKSB7XHJcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcclxuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcclxufVxyXG5cclxuJHh4bGFyZ2UtdXA6ICcnO1xyXG5cclxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeHhsYXJnZSkge1xyXG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgcmV2ZWFsXHJcbi8vLy9cclxuXHJcbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSBtb2RhbC5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgd2lkdGggb2YgYSBtb2RhbCwgd2l0aCBubyBjbGFzcyBhcHBsaWVkLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRyZXZlYWwtd2lkdGg6IDYwMHB4ICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgbWF4aW11bSB3aWR0aCBvZiBhIG1vZGFsLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYSBtb2RhbC5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgYSBtb2RhbC5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgbW9kYWwuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xyXG5cclxuLy8vIHotaW5kZXggZm9yIG1vZGFscy4gVGhlIG92ZXJsYXkgdXNlcyB0aGlzIHZhbHVlLCB3aGlsZSB0aGUgbW9kYWwgaXRzZWxmIHVzZXMgdGhpcyB2YWx1ZSBwbHVzIG9uZS5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kcmV2ZWFsLXppbmRleDogMTAwNSAhZGVmYXVsdDtcclxuXHJcbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIG1vZGFsIG92ZXJsYXlzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KSAhZGVmYXVsdDtcclxuXHJcblxyXG4vLyBQbGFjZWhvbGRlciBzZWxlY3RvciBmb3IgbWVkaXVtLWFuZC11cCBtb2RhbHNcclxuLy8gUHJldmVudHMgZHVwbGljYXRlIENTUyB3aGVuIGRlZmluaW5nIG11bHRpcGxlIFJldmVhbCBzaXplc1xyXG4vLyBUaGlzIHNob3VsZCBiZSBpbiB0aGUgc2FtZSBicmVha3BvaW50IHRoZW4gYEBtaXhpbiByZXZlYWwtbW9kYWwtd2lkdGhgXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgJXJldmVhbC1jZW50ZXJlZCB7XHJcbiAgICByaWdodDogYXV0bztcclxuICAgIGxlZnQ6IGF1dG87XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICB9XHJcbn1cclxuXHJcblxyXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbW9kYWwgb3ZlcmxheS5cclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBvdmVybGF5LlxyXG5AbWl4aW4gcmV2ZWFsLW92ZXJsYXkoJGJhY2tncm91bmQ6ICRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kKSB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHRvcDogMDtcclxuICByaWdodDogMDtcclxuICBib3R0b206IDA7XHJcbiAgbGVmdDogMDtcclxuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleDtcclxuXHJcbiAgZGlzcGxheTogbm9uZTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICBvdmVyZmxvdy15OiBhdXRvO1xyXG59XHJcblxyXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYSBtb2RhbC5cclxuQG1peGluIHJldmVhbC1tb2RhbC1iYXNlIHtcclxuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XHJcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXggKyAxO1xyXG4gIC8vIFdvcmthcm91bmQgYW5kcm9pZCBicm93c2VyIHotaW5kZXggYnVnXHJcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG5cclxuICBkaXNwbGF5OiBub25lO1xyXG4gIHBhZGRpbmc6ICRyZXZlYWwtcGFkZGluZztcclxuXHJcbiAgYm9yZGVyOiAkcmV2ZWFsLWJvcmRlcjtcclxuICBib3JkZXItcmFkaXVzOiAkcmV2ZWFsLXJhZGl1cztcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmV2ZWFsLWJhY2tncm91bmQ7XHJcblxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICBtaW4taGVpZ2h0OiAwO1xyXG4gIH1cclxuXHJcbiAgLy8gTWFrZSBzdXJlIHJvd3MgZG9uJ3QgaGF2ZSBhIG1pbi13aWR0aCBvbiB0aGVtXHJcbiAgLmNvbHVtbiB7XHJcbiAgICBtaW4td2lkdGg6IDA7XHJcbiAgfVxyXG5cclxuICAvLyBTdHJpcCBtYXJnaW5zIGZyb20gdGhlIGxhc3QgaXRlbSBpbiB0aGUgbW9kYWxcclxuICA+IDpsYXN0LWNoaWxkIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQWRqdXN0cyB0aGUgd2lkdGggb2YgYSBtb2RhbC5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgbW9kYWwuIEdlbmVyYWxseSBhIHBlcmNlbnRhZ2UuXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heC13aWR0aCBbJHJldmVhbC1tYXgtd2lkdGhdIC0gTWF4aW11bSB3aWR0aCBvZiB0aGUgbW9kYWwuXHJcbkBtaXhpbiByZXZlYWwtbW9kYWwtd2lkdGgoXHJcbiAgJHdpZHRoOiAkcmV2ZWFsLXdpZHRoLFxyXG4gICRtYXgtd2lkdGg6ICRyZXZlYWwtbWF4LXdpZHRoXHJcbikge1xyXG4gIC8vIEV4dGVuZHMgbXVzdCBiZSBtYWRlIG91dHNpZGUgb2YgYnJlYWtwb2ludHMgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBuZXdlciBTYXNzIHZlcnNpb25zIChsaWJzYXNzIHYzLjUpXHJcbiAgQGV4dGVuZCAlcmV2ZWFsLWNlbnRlcmVkO1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICB3aWR0aDogJHdpZHRoO1xyXG4gICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xyXG4gIH1cclxufVxyXG5cclxuLy8vIENyZWF0ZXMgYSBmdWxsLXNjcmVlbiBtb2RhbCwgd2hpY2ggc3RyZXRjaGVzIHRoZSBmdWxsIHdpZHRoIGFuZCBoZWlnaHQgb2YgdGhlIHdpbmRvdy5cclxuQG1peGluIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuIHtcclxuICB0b3A6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGxlZnQ6IDA7XHJcblxyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1heC13aWR0aDogbm9uZTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgbWluLWhlaWdodDogMTAwJTtcclxuICBtYXJnaW4tbGVmdDogMDtcclxuXHJcbiAgYm9yZGVyOiAwO1xyXG4gIGJvcmRlci1yYWRpdXM6IDA7XHJcbn1cclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLXJldmVhbCB7XHJcblxyXG4gIC8vLyBEaXNhYmxlcyB0aGUgc2Nyb2xsIHdoZW4gUmV2ZWFsIGlzIHNob3duIHRvIHByZXZlbnQgdGhlIGJhY2tncm91bmQgZnJvbSBzaGlmdGluZ1xyXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4ge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XHJcblxyXG4gICAgJi56Zi1oYXMtc2Nyb2xsIHtcclxuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG4gICAgfVxyXG5cclxuICAgIGJvZHkgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcclxuICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gT3ZlcmxheVxyXG4gIC5yZXZlYWwtb3ZlcmxheSB7XHJcbiAgICBAaW5jbHVkZSByZXZlYWwtb3ZlcmxheTtcclxuICB9XHJcblxyXG4gIC8vIE1vZGFsIGNvbnRhaW5lclxyXG4gIC5yZXZlYWwge1xyXG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2U7XHJcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoJHJldmVhbC13aWR0aCk7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB0b3A6IDEwMHB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG5cclxuICAgIC8vIFJlbW92ZSBwYWRkaW5nXHJcbiAgICAmLmNvbGxhcHNlIHtcclxuICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuXHJcbiAgICAvLyBTaXppbmcgY2xhc3Nlc1xyXG4gICAgJi50aW55ICB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgzMCUpOyB9XHJcbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDUwJSk7IH1cclxuICAgICYubGFyZ2UgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoOTAlKTsgfVxyXG5cclxuICAgIC8vIEZ1bGwtc2NyZWVuIG1vZGVcclxuICAgICYuZnVsbCB7XHJcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xyXG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcclxuICAgIH1cclxuXHJcbiAgICAmLndpdGhvdXQtb3ZlcmxheSB7XHJcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiQG1peGluIGZvdW5kYXRpb24tbm9ybWFsaXplKCkge1xyXG4gIC8qISBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cclxuXHJcbiAgLy8gRG9jdW1lbnRcclxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cclxuICAvLyAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXHJcbiAgLy8gMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXHJcblxyXG4gIGh0bWwge1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDFcclxuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gMlxyXG4gIH1cclxuXHJcbiAgLy8gU2VjdGlvbnNcclxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cclxuICAvLyBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXHJcblxyXG4gIGJvZHkge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gIH1cclxuXHJcbiAgLy8gQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxyXG4gIC8vIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXHJcblxyXG4gIGgxIHtcclxuICAgIGZvbnQtc2l6ZTogMmVtO1xyXG4gICAgbWFyZ2luOiAwLjY3ZW0gMDtcclxuICB9XHJcblxyXG4gIC8vIEdyb3VwaW5nIGNvbnRlbnRcclxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cclxuICAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxyXG4gIC8vIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxyXG5cclxuICBociB7XHJcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLy8gMVxyXG4gICAgaGVpZ2h0OiAwOyAvLyAxXHJcbiAgICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gMlxyXG4gIH1cclxuXHJcbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cclxuICAvLyAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXHJcblxyXG4gIHByZSB7XHJcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8vIDFcclxuICAgIGZvbnQtc2l6ZTogMWVtOyAvLyAyXHJcbiAgfVxyXG5cclxuICAvLyBUZXh0LWxldmVsIHNlbWFudGljc1xyXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblxyXG4gIC8vIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cclxuXHJcbiAgYSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICB9XHJcblxyXG4gIC8vIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXHJcbiAgLy8gMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cclxuXHJcbiAgYWJiclt0aXRsZV0ge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLy8gMVxyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8vIDJcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLy8gMlxyXG4gIH1cclxuXHJcbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cclxuXHJcbiAgYixcclxuICBzdHJvbmcge1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcclxuICB9XHJcblxyXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXHJcbiAgLy8gMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxyXG5cclxuICBjb2RlLFxyXG4gIGtiZCxcclxuICBzYW1wIHtcclxuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLy8gMVxyXG4gICAgZm9udC1zaXplOiAxZW07IC8vIDJcclxuICB9XHJcblxyXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxyXG5cclxuICBzbWFsbCB7XHJcbiAgICBmb250LXNpemU6IDgwJTtcclxuICB9XHJcblxyXG4gIC8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxyXG4gIC8vIGFsbCBicm93c2Vycy5cclxuXHJcbiAgc3ViLFxyXG4gIHN1cCB7XHJcbiAgICBmb250LXNpemU6IDc1JTtcclxuICAgIGxpbmUtaGVpZ2h0OiAwO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG4gIH1cclxuXHJcbiAgc3ViIHtcclxuICAgIGJvdHRvbTogLTAuMjVlbTtcclxuICB9XHJcblxyXG4gIHN1cCB7XHJcbiAgICB0b3A6IC0wLjVlbTtcclxuICB9XHJcblxyXG4gIC8vIEVtYmVkZGVkIGNvbnRlbnRcclxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cclxuICAvLyBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxyXG5cclxuICBpbWcge1xyXG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xyXG4gIH1cclxuXHJcbiAgLy8gRm9ybXNcclxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cclxuICAvLyAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cclxuICAvLyAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXHJcblxyXG4gIGJ1dHRvbixcclxuICBpbnB1dCxcclxuICBvcHRncm91cCxcclxuICBzZWxlY3QsXHJcbiAgdGV4dGFyZWEge1xyXG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8vIDFcclxuICAgIGZvbnQtc2l6ZTogMTAwJTsgLy8gMVxyXG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDFcclxuICAgIG1hcmdpbjogMDsgLy8gMlxyXG4gIH1cclxuXHJcbiAgLy8gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXHJcbiAgLy8gMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cclxuXHJcbiAgYnV0dG9uLFxyXG4gIGlucHV0IHsgLy8gMVxyXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgfVxyXG5cclxuICAvLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cclxuICAvLyAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXHJcblxyXG4gIGJ1dHRvbixcclxuICBzZWxlY3QgeyAvLyAxXHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICB9XHJcblxyXG4gIC8vIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXHJcblxyXG4gIGJ1dHRvbixcclxuICBbdHlwZT1cImJ1dHRvblwiXSxcclxuICBbdHlwZT1cInJlc2V0XCJdLFxyXG4gIFt0eXBlPVwic3VibWl0XCJdIHtcclxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xyXG4gIH1cclxuXHJcbiAgLy8gUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cclxuXHJcbiAgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxyXG4gIFt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxyXG4gIFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXHJcbiAgW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xyXG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xyXG4gICAgcGFkZGluZzogMDtcclxuICB9XHJcblxyXG4gIC8vIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cclxuXHJcbiAgYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxyXG4gIFt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxyXG4gIFt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXHJcbiAgW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xyXG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xyXG4gIH1cclxuXHJcbiAgLy8gQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxyXG5cclxuICBmaWVsZHNldCB7XHJcbiAgICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XHJcbiAgfVxyXG5cclxuICAvLyAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxyXG4gIC8vIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cclxuICAvLyAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XHJcbiAgLy8gICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXHJcblxyXG4gIGxlZ2VuZCB7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXHJcbiAgICBjb2xvcjogaW5oZXJpdDsgLy8gMlxyXG4gICAgZGlzcGxheTogdGFibGU7IC8vIDFcclxuICAgIG1heC13aWR0aDogMTAwJTsgLy8gMVxyXG4gICAgcGFkZGluZzogMDsgLy8gM1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLy8gMVxyXG4gIH1cclxuXHJcbiAgLy8gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cclxuXHJcbiAgcHJvZ3Jlc3Mge1xyXG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG4gIH1cclxuXHJcbiAgLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXHJcblxyXG4gIHRleHRhcmVhIHtcclxuICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gIH1cclxuXHJcbiAgLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXHJcbiAgLy8gMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxyXG5cclxuICBbdHlwZT1cImNoZWNrYm94XCJdLFxyXG4gIFt0eXBlPVwicmFkaW9cIl0ge1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxyXG4gICAgcGFkZGluZzogMDsgLy8gMlxyXG4gIH1cclxuXHJcbiAgLy8gQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxyXG5cclxuICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcclxuICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgfVxyXG5cclxuICAvLyAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cclxuICAvLyAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cclxuXHJcbiAgW3R5cGU9XCJzZWFyY2hcIl0ge1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIDFcclxuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvLyAyXHJcbiAgfVxyXG5cclxuICAvLyBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXHJcblxyXG4gIFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcclxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICB9XHJcblxyXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXHJcbiAgLy8gMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxyXG5cclxuICA6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcclxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAxXHJcbiAgICBmb250OiBpbmhlcml0OyAvLyAyXHJcbiAgfVxyXG5cclxuICAvLyBJbnRlcmFjdGl2ZVxyXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblxyXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXHJcblxyXG4gIGRldGFpbHMge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG5cclxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXHJcblxyXG4gIHN1bW1hcnkge1xyXG4gICAgZGlzcGxheTogbGlzdC1pdGVtO1xyXG4gIH1cclxuXHJcbiAgLy8gTWlzY1xyXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblxyXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cclxuXHJcbiAgdGVtcGxhdGUge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcblxyXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxyXG5cclxuICBbaGlkZGVuXSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1jb2xvci1saXRlcmFscywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIGdsb2JhbFxyXG4vLy8vXHJcblxyXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xyXG5cclxuLy8vIEZvbnQgc2l6ZSBhdHRyaWJ1dGUgYXBwbGllZCB0byBgPGh0bWw+YCBhbmQgYDxib2R5PmAuIFdlIHVzZSAxMDAlIGJ5IGRlZmF1bHQgc28gdGhlIHZhbHVlIGlzIGluaGVyaXRlZCBmcm9tIHRoZSB1c2VyJ3MgYnJvd3NlciBzZXR0aW5ncy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcclxuXHJcbi8vLyBHbG9iYWwgd2lkdGggb2YgeW91ciBzaXRlLiBVc2VkIGJ5IHRoZSBncmlkIHRvIGRldGVybWluZSByb3cgd2lkdGguXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQ29sb3JzIHVzZWQgZm9yIGJ1dHRvbnMsIGNhbGxvdXRzLCBsaW5rcywgZXRjLiBUaGVyZSBtdXN0IGFsd2F5cyBiZSBhIGNvbG9yIGNhbGxlZCBgcHJpbWFyeWAuXHJcbi8vLyBAdHlwZSBNYXBcclxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxyXG4gIHByaW1hcnk6ICMxNzc5YmEsXHJcbiAgc2Vjb25kYXJ5OiAjNzY3Njc2LFxyXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXHJcbiAgd2FybmluZzogI2ZmYWUwMCxcclxuICBhbGVydDogI2NjNGIzNyxcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBDb2xvciB1c2VkIGZvciBsaWdodCBncmF5IFVJIGl0ZW1zLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGxpZ2h0LWdyYXk6ICNlNmU2ZTYgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2EgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQ29sb3IgdXNlZCBmb3IgZGFyayBncmF5IFVJIGl0ZW1zLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcclxuXHJcbi8vLyBDb2xvciB1c2VkIGZvciBibGFjayB1aSBpdGVtcy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRibGFjazogIzBhMGEwYSAhZGVmYXVsdDtcclxuXHJcbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiR3aGl0ZTogI2ZlZmVmZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBib2R5LlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xyXG5cclxuLy8vIFRleHQgY29sb3Igb2YgdGhlIGJvZHkuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cclxuLy8vIEB0eXBlIExpc3RcclxuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcclxuXHJcbi8vLyBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSBhbnRpYWxpYXNlZCB0eXBlLCB1c2luZyB0aGUgYC13ZWJraXQtZm9udC1zbW9vdGhpbmdgIGFuZCBgLW1vei1vc3gtZm9udC1zbW9vdGhpbmdgIENTUyBwcm9wZXJ0aWVzLlxyXG4vLy8gQHR5cGUgQm9vbGVhblxyXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgbWFyZ2luIG9uIGNvbXBvbmVudHMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGdsb2JhbC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBvc2l0aW9uaW5nIG9uIGNvbXBvbmVudHMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGdsb2JhbC1wb3NpdGlvbjogMXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3Igbm9ybWFsIHR5cGUuXHJcbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXHJcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsICFkZWZhdWx0O1xyXG5cclxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBib2xkIHR5cGUuXHJcbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXHJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XHJcblxyXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBlbGVtZW50cyB0aGF0IGhhdmUgYSBib3JkZXIgcmFkaXVzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRnbG9iYWwtcmFkaXVzOiAwICFkZWZhdWx0O1xyXG5cclxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIENhbiBiZSBvdmVyd3JpdHRlbiBhdCBpbmRpdmlkdWFsIG1lbnUgY29tcG9uZW50IGxldmVsLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBOZXN0ZWQgbWFyZ2luIGZvciBzdWJtZW51LlxyXG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBTZXRzIHRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgQ1NTLiBDYW4gYmUgZWl0aGVyIGBsdHJgIG9yIGBydGxgLlxyXG4vLy8gQHR5cGUgS2V5d29yZFxyXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGZvciBjb21wb25lbnRzIHRoYXQgc3VwcG9ydCBpdC5cclxuLy8vIEB0eXBlIEJvb2xlYW5cclxuJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFkZWZhdWx0O1xyXG5cclxuLy8vIEVuYWJsZWQgcmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgcHJvdG90eXBlcyBpZiBhcHBsaWNhYmxlXHJcbi8vLyBAdHlwZSBCb29sZWFuXHJcbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBCdXR0b24gY3Vyc29yJ3MgdmFsdWUsIGBhdXRvYCBieSBkZWZhdWx0XHJcbi8vLyBAdHlwZSBLZXl3b3JkXHJcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0byAhZGVmYXVsdDtcclxuXHJcbkBpZiBub3QgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xyXG4gIEBlcnJvciAnSW4gJGZvdW5kYXRpb24tcGFsZXR0ZSwgeW91IG11c3QgaGF2ZSBhIGNvbG9yIG5hbWVkIFwicHJpbWFyeVwiLic7XHJcbn1cclxuXHJcbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciB0ZXh0IGRpcmVjdGlvblxyXG4kZ2xvYmFsLWxlZnQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCByaWdodCwgbGVmdCk7XHJcbiRnbG9iYWwtcmlnaHQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBsZWZ0LCByaWdodCk7XHJcblxyXG4vLyBJbnRlcm5hbCB2YXJpYWJsZSB0aGF0IGNvbnRhaW5zIHRoZSBmbGV4IGp1c3RpZnlpbmcgb3B0aW9uc1xyXG4kLXpmLWZsZXgtanVzdGlmeTogLXpmLWZsZXgtanVzdGlmeSgkZ2xvYmFsLXRleHQtZGlyZWN0aW9uKTtcclxuXHJcbi8vLyBHbG9iYWwgdG9sZXJhbmNlIGZvciBjb2xvciBwaWNrIGNvbnRyYXN0LlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDAgIWRlZmF1bHQ7XHJcblxyXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgY29sb3JzXHJcbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXMge1xyXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbm9ybWFsaXplO1xyXG5cclxuICAvLyBUaGVzZSBzdHlsZXMgYXJlIGFwcGxpZWQgdG8gYSA8bWV0YT4gdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHRcclxuICAuZm91bmRhdGlvbi1tcSB7XHJcbiAgICBmb250LWZhbWlseTogJyN7LXpmLWJwLXNlcmlhbGl6ZSgkYnJlYWtwb2ludHMpfSc7XHJcbiAgfVxyXG5cclxuICBodG1sIHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xyXG4gIH1cclxuXHJcbiAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcclxuICAqLFxyXG4gICo6OmJlZm9yZSxcclxuICAqOjphZnRlciB7XHJcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xyXG4gIH1cclxuXHJcbiAgLy8gRGVmYXVsdCBib2R5IHN0eWxlc1xyXG4gIGJvZHkge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuXHJcbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xyXG5cclxuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xyXG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcblxyXG4gICAgQGlmICgkYm9keS1hbnRpYWxpYXNlZCkge1xyXG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcclxuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGltZyB7XHJcbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cclxuICAgIC8vIEdyaWQgZGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XHJcbiAgfVxyXG5cclxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcclxuICB0ZXh0YXJlYSB7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiAgfVxyXG5cclxuICAvLyBNYWtlIHNlbGVjdCBlbGVtZW50cyBhcmUgMTAwJSB3aWR0aCBieSBkZWZhdWx0XHJcbiAgc2VsZWN0IHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4gIH1cclxuXHJcbiAgLy8gU3R5bGVzIEdvb2dsZSBNYXBzIGFuZCBNYXBRdWVzdCBlbWJlZHMgcHJvcGVybHlcclxuICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWlkc1xyXG4gIC5tYXBfY2FudmFzLFxyXG4gIC5tcWEtZGlzcGxheSB7XHJcbiAgICBpbWcsXHJcbiAgICBlbWJlZCxcclxuICAgIG9iamVjdCB7XHJcbiAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gUmVzZXQgPGJ1dHRvbj4gc3R5bGVzIGNyZWF0ZWQgYnkgbW9zdCBicm93c2Vyc1xyXG4gIGJ1dHRvbiB7XHJcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICBsaW5lLWhlaWdodDogMTtcclxuICAgIGN1cnNvcjogJGdsb2JhbC1idXR0b24tY3Vyc29yO1xyXG4gIH1cclxuXHJcbiAgLy8gUHJldmVudCB0ZXh0IG92ZXJmbG93IG9uIHByZVxyXG4gIHByZSB7XHJcbiAgICBvdmVyZmxvdzogYXV0bztcclxuICB9XHJcblxyXG4gIC8vIE1ha2UgcmVzZXQgaW5oZXJpdCBmb250LWZhbWlseSBpbnN0ZWFkIG9mIHNldHRpbmdzIHNhbnMtc2VyaWZcclxuICBidXR0b24sXHJcbiAgaW5wdXQsXHJcbiAgb3B0Z3JvdXAsXHJcbiAgc2VsZWN0LFxyXG4gIHRleHRhcmVhIHtcclxuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG4gIH1cclxuXHJcbiAgLy8gSW50ZXJuYWwgY2xhc3NlcyB0byBzaG93L2hpZGUgZWxlbWVudHMgaW4gSmF2YVNjcmlwdFxyXG4gIC5pcy12aXNpYmxlIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAuaXMtaGlkZGVuIHtcclxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xyXG4vLy8vXHJcblxyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcclxuXHJcbi8vLyBSZW1vdmVzIHRoZSB1bml0IChlLmcuIHB4LCBlbSwgcmVtKSBmcm9tIGEgdmFsdWUsIHJldHVybmluZyB0aGUgbnVtYmVyIG9ubHkuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW0gLSBOdW1iZXIgdG8gc3RyaXAgdW5pdCBmcm9tLlxyXG4vLy9cclxuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxyXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtKSB7XHJcbiAgQHJldHVybiAkbnVtIC8gKCRudW0gKiAwICsgMSk7XHJcbn1cclxuXHJcbi8vLyBDb252ZXJ0cyBvbmUgb3IgbW9yZSBwaXhlbCB2YWx1ZXMgaW50byBtYXRjaGluZyByZW0gdmFsdWVzLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR2YWx1ZXMgLSBPbmUgb3IgbW9yZSB2YWx1ZXMgdG8gY29udmVydC4gQmUgc3VyZSB0byBzZXBhcmF0ZSB0aGVtIHdpdGggc3BhY2VzIGFuZCBub3QgY29tbWFzLiBJZiB5b3UgbmVlZCB0byBjb252ZXJ0IGEgY29tbWEtc2VwYXJhdGVkIGxpc3QsIHdyYXAgdGhlIGxpc3QgaW4gcGFyZW50aGVzZXMuXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gVGhlIGJhc2UgdmFsdWUgdG8gdXNlIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGByZW1gLiBJZiB5b3UncmUgdXNpbmcgRm91bmRhdGlvbiBvdXQgb2YgdGhlIGJveCwgdGhpcyBpcyAxNnB4LiBJZiB0aGlzIHBhcmFtZXRlciBpcyBgbnVsbGAsIHRoZSBmdW5jdGlvbiB3aWxsIHJlZmVyZW5jZSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cclxuLy8vXHJcbi8vLyBAcmV0dXJucyB7TGlzdH0gQSBsaXN0IG9mIGNvbnZlcnRlZCB2YWx1ZXMuXHJcbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xyXG4gICRyZW0tdmFsdWVzOiAoKTtcclxuICAkY291bnQ6IGxlbmd0aCgkdmFsdWVzKTtcclxuXHJcbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxyXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcclxuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcclxuICB9XHJcblxyXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxyXG4gIC8vIFRoaXMgaXMgYmVjYXVzZSAxMDAlIGZvbnQgc2l6ZSA9IDE2cHggaW4gbW9zdCBhbGwgYnJvd3NlcnNcclxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcclxuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XHJcbiAgfVxyXG5cclxuICAvLyBVc2luZyByZW0gYXMgYmFzZSBhbGxvd3MgY29ycmVjdCBzY2FsaW5nXHJcbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcclxuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XHJcbiAgfVxyXG5cclxuICBAaWYgJGNvdW50ID09IDEge1xyXG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcclxuICB9XHJcblxyXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcclxuICAgICRyZW0tdmFsdWVzOiBhcHBlbmQoJHJlbS12YWx1ZXMsIC16Zi10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UpKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHJlbS12YWx1ZXM7XHJcbn1cclxuXHJcbi8vIENvbnZlcnRzIGEgdW5pdGxlc3MsIHBpeGVsLCBvciByZW0gdmFsdWUgdG8gZW0sIGZvciB1c2UgaW4gYnJlYWtwb2ludHMuXHJcbkBmdW5jdGlvbiAtemYtYnAtdG8tZW0oJHZhbHVlKSB7XHJcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcclxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcgb3IgdW5pdGxlc3MoJHZhbHVlKSB7XHJcbiAgICAkdmFsdWU6IHJlbS1jYWxjKCR2YWx1ZSwgJGJhc2U6IDE2cHgpO1xyXG4gIH1cclxuXHJcbiAgLy8gVGhlbiB0aGUgdmFsdWUgaXMgY29udmVydGVkIHRvIGVtc1xyXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xyXG59XHJcblxyXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIEJhc2UgZm9yIHBpeGVsIGNvbnZlcnNpb24uXHJcbi8vL1xyXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cclxuQGZ1bmN0aW9uIC16Zi10by1yZW0oJHZhbHVlLCAkYmFzZTogbnVsbCkge1xyXG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xyXG4gICAgQHdhcm4gaW5zcGVjdCgkdmFsdWUpICsgJyB3YXMgcGFzc2VkIHRvIHJlbS1jYWxjKCksIHdoaWNoIGlzIG5vdCBhIG51bWJlci4nO1xyXG4gICAgQHJldHVybiAkdmFsdWU7XHJcbiAgfVxyXG5cclxuICAvLyBUcmFuc2Zvcm0gZW0gaW50byByZW0gaWYgc29tZW9uZSBoYW5kcyBvdmVyICdlbSdzXHJcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcclxuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogMXJlbTtcclxuICB9XHJcblxyXG4gIC8vIENhbGN1bGF0ZSByZW0gaWYgdW5pdHMgZm9yICR2YWx1ZSBpcyBub3QgcmVtIG9yIGVtXHJcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncmVtJyB7XHJcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcclxuICB9XHJcblxyXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcclxuICBAaWYgJHZhbHVlID09IDByZW0ge1xyXG4gICAgJHZhbHVlOiAwO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkdmFsdWU7XHJcbn1cclxuXHJcbi8vLyBDb252ZXJ0cyBhIHBpeGVsLCBwZXJjZW50YWdlLCByZW0gb3IgZW0gdmFsdWUgdG8gYSB1bml0bGVzcyB2YWx1ZSBiYXNlZCBvbiBhIGdpdmVuIGZvbnQgc2l6ZS4gSWRlYWwgZm9yIHdvcmtpbmcgb3V0IHVuaXRsZXNzIGxpbmUgaGVpZ2h0cy5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gY29udmVydCB0byBhIHVuaXRsZXNzIGxpbmUgaGVpZ2h0XHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgZm9udCBzaXplIHRvIHVzZSB0byB3b3JrIG91dCB0aGUgbGluZSBoZWlnaHQgLSBkZWZhdWx0cyB0byAkZ2xvYmFsLWZvbnQtc2l6ZVxyXG4vLy9cclxuLy8vIEByZXR1cm4ge051bWJlcn0gLSBVbml0bGVzcyBudW1iZXJcclxuQGZ1bmN0aW9uIHVuaXRsZXNzLWNhbGMoJHZhbHVlLCAkYmFzZTogbnVsbCkge1xyXG5cclxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXHJcbiAgQGlmICRiYXNlID09IG51bGwge1xyXG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xyXG4gIH1cclxuXHJcbiAgLy8gRmlyc3QsIGxldHMgY29udmVydCBvdXIgJGJhc2UgdG8gcGl4ZWxzXHJcblxyXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxyXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xyXG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcclxuICB9XHJcblxyXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XHJcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xyXG4gIH1cclxuXHJcbiAgQGlmIHVuaXQoJGJhc2UpID09ICdlbScge1xyXG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcclxuICB9XHJcblxyXG4gIC8vIE5vdyBsZXQncyBjb252ZXJ0IG91ciB2YWx1ZSB0byBwaXhlbHMgdG9vXHJcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnJScge1xyXG4gICAgJHZhbHVlOiAoJHZhbHVlIC8gMTAwJSkgKiAkYmFzZTtcclxuICB9XHJcblxyXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3JlbScge1xyXG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcclxuICB9XHJcblxyXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XHJcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xyXG4gIH1cclxuXHJcbiAgLy8gJ3B4J1xyXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyB7XHJcbiAgICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xyXG4gIH1cclxuXHJcbiAgLy8gYXNzdW1lIHRoYXQgbGluZS1oZWlnaHRzIGdyZWF0ZXIgdGhhbiAxMCBhcmUgbWVhbnQgdG8gYmUgYWJzb2x1dGUgaW4gJ3B4J1xyXG4gIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAoJHZhbHVlID4gMTApIHtcclxuICAgIEByZXR1cm4gJHZhbHVlIC8gc3RyaXAtdW5pdCgkYmFzZSk7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICR2YWx1ZTtcclxufVxyXG4iLCJcclxuLy8gbGlnaHRlbigkY29sb3ItYmxhY2ssIDYuNSUpOyAjMTExXHJcbi8vIGxpZ2h0ZW4oJGNvbG9yLWJsYWNrLCAxMy41JSk7ICMyMjJcclxuLy8gbGlnaHRlbigkY29sb3ItYmxhY2ssIDIwJSk7ICMzMzNcclxuXHJcbiRjb2xvci1wcmltYXJ5OiAjOTkxQjFFO1xyXG4kY29sb3Itc2Vjb25kYXJ5OiAjQTYwNzBDO1xyXG4kY29sb3Itc3VjY2VzczogIzNhZGI3NjtcclxuJGNvbG9yLWFsZXJ0OiAjY2M0YjM3O1xyXG4kY29sb3Itd2FybmluZzogI2NjOGIwMDtcclxuJGNvbG9yLWRhcms6ICMzQzNDM0M7XHJcbiRjb2xvci1ibGFjazogIzAwMDtcclxuJGNvbG9yLWxpZ2h0OiAjQzRDNEM0O1xyXG4kY29sb3Itd2hpdGU6ICNmZmY7XHJcbiRjb2xvci1ncmV5OiAjNmU2ZTZlO1xyXG5cclxuXHJcbiRib2R5LWZvbnQtZmFtaWx5OiAnTGF0bycsIHNhbnMtc2VyaWY7XHJcbiRib2R5LWZvbnQtc2l6ZTogMTZweDtcclxuXHJcbiRoZWFkaW5nLWZvbnQtZmFtaWx5OiAnVGVrbycsIHNhbnMtc2VyaWY7XHJcblxyXG5cclxuLy8gRk9VTkRBVElPTiBWQVJJQUJMRVMgXHJcbiRncmlkLWNvbnRhaW5lcjogMTQ3MHB4O1xyXG4kZ3JpZC1jb250YWluZXItcGFkZGluZzogNjBweDtcclxuXHJcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcclxuICBwcmltYXJ5OiAkY29sb3ItcHJpbWFyeSxcclxuICBzZWNvbmRhcnk6ICRjb2xvci1zZWNvbmRhcnksXHJcbiAgc3VjY2VzczogJGNvbG9yLXN1Y2Nlc3MsXHJcbiAgd2FybmluZzogJGNvbG9yLXdhcm5pbmcsXHJcbiAgYWxlcnQ6ICRjb2xvci1hbGVydCxcclxuKSAhZGVmYXVsdDtcclxuXHJcbiRidXR0b24tYmFja2dyb3VuZDogJGNvbG9yLXByaW1hcnk7XHJcbiRidXR0b24tcmFkaXVzOiAzcHg7XHJcbiRidXR0b24tc2l6ZXM6IChcclxuICAgIHRpbnk6IDAuNnJlbSxcclxuICAgIHNtYWxsOiAwLjc1cmVtLFxyXG4gICAgZGVmYXV0OiAxNHB4LCAvLyBkZWZhdWx0OiAwLjlyZW0sXHJcbiAgICBsYXJnZTogMS4yNXJlbVxyXG4pICFkZWZhdWx0O1xyXG4kYnV0dG9uLXBhZGRpbmc6IDEuNWVtO1xyXG4kYnV0dG9uLWZvbnQtd2VpZ2h0OiA1MDAgIWRlZmF1bHQ7XHJcblxyXG4kaW5wdXQtc2hhZG93OiBub25lO1xyXG5cclxuXHJcbiRicmVha3BvaW50czogKFxyXG4gIHNtYWxsOiAwcHgsXHJcbiAgbWVkaXVtOiA3NjhweCxcclxuICBsYXJnZTogMTAyNHB4LFxyXG4gIHhsYXJnZTogMTYwMHB4LFxyXG4gIHh4bGFyZ2U6IDE5MjFweCxcclxuKTtcclxuXHJcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UgeGxhcmdlIHh4bGFyZ2UpOyIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBmdW5jdGlvbnNcclxuLy8vL1xyXG5cclxuLy8vIENyZWF0ZXMgYW4gaW5uZXIgYm94LXNoYWRvdyBmb3Igb25seSBvbmUgc2lkZVxyXG4vLy9cclxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpZGUgLSBTaWRlIHRoZSBzaGFkb3cgaXMgc3VwcG9zZWQgdG8gYXBwZWFyLiBDYW4gYmUgYHRvcGAsIGBsZWZ0YCwgYHJpZ2h0YCBvciBgYm90dG9tYC5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSAtIFdpZHRoIGZvciB0aGUgdGFyZ2V0IHNpZGUuXHJcbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciBvZiB0aGUgc2hhZG93LlxyXG5AbWl4aW4gaW5uZXItc2lkZS1zaGFkb3coXHJcbiAgJHNpZGU6IGJvdHRvbSxcclxuICAkc2l6ZTogMjBweCxcclxuICAkY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KVxyXG4pIHtcclxuXHJcbiAgJGhlbHBlcjogcm91bmQoJHNpemUgKiAwLjY1KTtcclxuXHJcbiAgQGlmICgkc2lkZSA9PSB0b3ApIHtcclxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xyXG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGxlZnQpIHtcclxuICAgIGJveC1zaGFkb3c6IGluc2V0ICRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xyXG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IHJpZ2h0KSB7XHJcbiAgICBib3gtc2hhZG93OiBpbnNldCAoLTEpKiRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xyXG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGJvdHRvbSkge1xyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAoLTEpKiRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcclxuICB9XHJcbn1cclxuXHJcbi8vLyBDcmVhdGVzIGEgQ1NTIHRyaWFuZ2xlLCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgZHJvcGRvd24gYXJyb3dzLCBkcm9wZG93biBwaXBzLCBhbmQgbW9yZS4gVXNlIHRoaXMgbWl4aW4gaW5zaWRlIGEgYCY6OmJlZm9yZWAgb3IgYCY6OmFmdGVyYCBzZWxlY3RvciwgdG8gYXR0YWNoIHRoZSB0cmlhbmdsZSB0byBhbiBleGlzdGluZyBlbGVtZW50LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cclxuLy8vIEBwYXJhbSB7Q29sb3J9ICR0cmlhbmdsZS1jb2xvciAtIENvbG9yIG9mIHRoZSB0cmlhbmdsZS5cclxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXHJcbkBtaXhpbiBjc3MtdHJpYW5nbGUoXHJcbiAgJHRyaWFuZ2xlLXNpemUsXHJcbiAgJHRyaWFuZ2xlLWNvbG9yLFxyXG4gICR0cmlhbmdsZS1kaXJlY3Rpb25cclxuKSB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgd2lkdGg6IDA7XHJcbiAgaGVpZ2h0OiAwO1xyXG5cclxuICBib3JkZXI6IGluc2V0ICR0cmlhbmdsZS1zaXplO1xyXG5cclxuICBjb250ZW50OiAnJztcclxuXHJcbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGRvd24pIHtcclxuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XHJcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcclxuICAgIGJvcmRlci1jb2xvcjogJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xyXG4gIH1cclxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdXApIHtcclxuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XHJcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcclxuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xyXG4gIH1cclxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcclxuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcclxuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcclxuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xyXG4gIH1cclxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCkge1xyXG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XHJcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xyXG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGljb24uXHJcbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMjBweF0gLSBXaWR0aCBvZiB0aGUgaWNvbi5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFsxNnB4XSAtIEhlaWdodCBvZiB0aGUgaWNvbi5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFycyBbM10gLSBOdW1iZXIgb2YgYmFycyBpbiB0aGUgaWNvbi5cclxuQG1peGluIGhhbWJ1cmdlcihcclxuICAkY29sb3I6ICRibGFjayxcclxuICAkY29sb3ItaG92ZXI6ICRkYXJrLWdyYXksXHJcbiAgJHdpZHRoOiAyMHB4LFxyXG4gICRoZWlnaHQ6IDE2cHgsXHJcbiAgJHdlaWdodDogMnB4LFxyXG4gICRiYXJzOiAzXHJcbikge1xyXG4gIC8vIGJveC1zaGFkb3cgQ1NTIG91dHB1dFxyXG4gICRzaGFkb3c6ICgpO1xyXG4gICRob3Zlci1zaGFkb3c6ICgpO1xyXG5cclxuICAvLyBTcGFjaW5nIGJldHdlZW4gYmFycyBpcyBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSB0b3RhbCBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgZWFjaCBiYXJcclxuICAkc3BhY2luZzogKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKTtcclxuXHJcbiAgQGlmIHVuaXQoJHNwYWNpbmcpID09ICdweCcge1xyXG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcclxuICB9XHJcblxyXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xyXG4gICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcclxuICAgICRzaGFkb3c6IGFwcGVuZCgkc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3IsIGNvbW1hKTtcclxuICB9XHJcblxyXG4gIC8vIEljb24gY29udGFpbmVyXHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIHdpZHRoOiAkd2lkdGg7XHJcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgLy8gSWNvbiBiYXJzXHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuXHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xyXG5cclxuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcclxuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XHJcblxyXG4gICAgY29udGVudDogJyc7XHJcbiAgfVxyXG5cclxuICAvLyBIb3ZlciBzdGF0ZVxyXG4gIEBpZiAkY29sb3ItaG92ZXIge1xyXG4gICAgLy8gR2VuZXJhdGUgQ1NTXHJcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcclxuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcclxuICAgICAgJGhvdmVyLXNoYWRvdzogYXBwZW5kKCRob3Zlci1zaGFkb3csIDAgJG9mZnNldCAwICRjb2xvci1ob3ZlciwgY29tbWEpO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXI6OmFmdGVyIHtcclxuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xyXG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8vIEFkZHMgYSBkb3dud2FyZC1mYWNpbmcgdHJpYW5nbGUgYXMgYSBiYWNrZ3JvdW5kIGltYWdlIHRvIGFuIGVsZW1lbnQuIFRoZSBpbWFnZSBpcyBmb3JtYXR0ZWQgYXMgYW4gU1ZHLCBtYWtpbmcgaXQgZWFzeSB0byBjaGFuZ2UgdGhlIGNvbG9yLiBCZWNhdXNlIEludGVybmV0IEV4cGxvcmVyIGRvZXNuJ3Qgc3VwcG9ydCBlbmNvZGVkIFNWR3MgYXMgYmFja2dyb3VuZCBpbWFnZXMsIGEgUE5HIGZhbGxiYWNrIGlzIGFsc28gaW5jbHVkZWQuXHJcbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIHRyaWFuZ2xlLlxyXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xyXG4gICRyZ2I6ICdyZ2IlMjgje3JvdW5kKHJlZCgkY29sb3IpKX0sICN7cm91bmQoZ3JlZW4oJGNvbG9yKSl9LCAje3JvdW5kKGJsdWUoJGNvbG9yKSl9JTI5JztcclxuXHJcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xyXG5cclxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcclxuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XHJcbiAgICAgIC8vIFdoaXRlIHRyaWFuZ2xlXHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICAvLyBCbGFjayB0cmlhbmdsZVxyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vLyBBcHBsaWVzIHRoZSBtaWNybyBjbGVhcmZpeCBoYWNrIHBvcHVsYXJpemVkIGJ5IE5pY29sYXMgR2FsbGFnaGVyLiBJbmNsdWRlIHRoaXMgbWl4aW4gb24gYSBjb250YWluZXIgaWYgaXRzIGNoaWxkcmVuIGFyZSBhbGwgZmxvYXRlZCwgdG8gZ2l2ZSB0aGUgY29udGFpbmVyIGEgcHJvcGVyIGhlaWdodC5cclxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXHJcbi8vLyBAbGluayBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay8gTWljcm8gQ2xlYXJmaXggSGFja1xyXG4vLy8gQGxpbmsgaHR0cDovL2RhbmlzYWRlc2lnbmVyLmNvbS9ibG9nL2ZsZXhib3gtY2xlYXItZml4LXBzZXVkby1lbGVtZW50cy8gRmxleGJveCBmaXhcclxuQG1peGluIGNsZWFyZml4IHtcclxuICAmOjpiZWZvcmUsXHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgZGlzcGxheTogdGFibGU7XHJcbiAgICBjb250ZW50OiAnICc7XHJcblxyXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XHJcbiAgICAgIGZsZXgtYmFzaXM6IDA7XHJcbiAgICAgIG9yZGVyOiAxO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQWRkcyBDU1MgZm9yIGEgXCJxdWFudGl0eSBxdWVyeVwiIHNlbGVjdG9yIHRoYXQgYXV0b21hdGljYWxseSBzaXplcyBlbGVtZW50cyBiYXNlZCBvbiBob3cgbWFueSB0aGVyZSBhcmUgaW5zaWRlIGEgY29udGFpbmVyLlxyXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IC0gTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gZGV0ZWN0LiBUaGUgaGlnaGVyIHRoaXMgbnVtYmVyIGlzLCB0aGUgbW9yZSBDU1MgdGhhdCdzIHJlcXVpcmVkIHRvIGNvdmVyIGVhY2ggbnVtYmVyIG9mIGl0ZW1zLlxyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXHJcbkBtaXhpbiBhdXRvLXdpZHRoKCRtYXgsICRlbGVtOiBsaSkge1xyXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJG1heCB7XHJcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcclxuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkIH4gI3skZWxlbX0ge1xyXG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgxIC8gJGkpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8vIFJlbW92ZXMgdGhlIGZvY3VzIHJpbmcgYXJvdW5kIGFuIGVsZW1lbnQgd2hlbiBhIG1vdXNlIGlucHV0IGlzIGRldGVjdGVkLlxyXG5AbWl4aW4gZGlzYWJsZS1tb3VzZS1vdXRsaW5lIHtcclxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XHJcbiAgICBvdXRsaW5lOiAwO1xyXG4gIH1cclxufVxyXG5cclxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgc3RpbGwgYWNjZXNzaWJsZSB0byBrZXlib2FyZHMgYW5kIGFzc2lzdGl2ZSBkZXZpY2VzLlxyXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxyXG4vLy8gQGxpbmsgaHR0cDovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cclxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcclxuICB3aWR0aDogMXB4O1xyXG4gIGhlaWdodDogMXB4O1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBjbGlwOiByZWN0KDAsMCwwLDApO1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgYm9yZGVyOiAwO1xyXG59XHJcblxyXG4vLy8gUmV2ZXJzZXMgdGhlIENTUyBvdXRwdXQgY3JlYXRlZCBieSB0aGUgYGVsZW1lbnQtaW52aXNpYmxlKClgIG1peGluLlxyXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmIHtcclxuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XHJcbiAgd2lkdGg6IGF1dG87XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gIGNsaXA6IGF1dG87XHJcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcclxufVxyXG5cclxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxyXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcclxuQG1peGluIHZlcnRpY2FsLWNlbnRlciB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogNTAlO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxufVxyXG5cclxuLy8vIEhvcml6b250YWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXHJcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xyXG5AbWl4aW4gaG9yaXpvbnRhbC1jZW50ZXIge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBsZWZ0OiA1MCU7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG59XHJcblxyXG4vLy8gQWJzb2x1dGVseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXHJcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xyXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA1MCU7XHJcbiAgbGVmdDogNTAlO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG59XHJcblxyXG4vLy8gSXRlcmF0ZXMgdGhyb3VnaCBicmVha3BvaW50cyBkZWZpbmVkIGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBhbmQgcHJpbnRzIHRoZSBDU1MgaW5zaWRlIHRoZSBtaXhpbiBhdCBlYWNoIGJyZWFrcG9pbnQncyBtZWRpYSBxdWVyeS4gVXNlIHRoaXMgd2l0aCB0aGUgZ3JpZCwgb3IgYW55IG90aGVyIGNvbXBvbmVudCB0aGF0IGhhcyByZXNwb25zaXZlIGNsYXNzZXMuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXHJcbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRhdXRvLWluc2VydC1icmVha3BvaW50cyBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBpdGVyYXRlIG92ZXIgYnJlYWtwb2ludHMgd2l0aG91dCBkb2luZyB0aGUgbWVkaWEgcXVlcnkgaXRzZWxmLiBVc2VmdWwgZm9yIG1vcmUgY29tcGxleCBtZWRpYSBxdWVyeSBnZW5lcmF0aW9uIGFzIGluIHRoZSBtYXJnaW4gZ3JpZC5cclxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiB0cnVlLCAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHM6IHRydWUpIHtcclxuICAkbGlzdDogJGJyZWFrcG9pbnQtY2xhc3NlcztcclxuXHJcbiAgQGlmIG5vdCAkc21hbGwge1xyXG4gICAgJGxpc3Q6IHNsLXJlbW92ZSgkbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xyXG4gIH1cclxuXHJcbiAgQGVhY2ggJG5hbWUgaW4gJGxpc3Qge1xyXG4gICAgJG9sZC16Zi1zaXplOiBudWxsO1xyXG4gICAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcclxuICAgICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XHJcbiAgICB9XHJcbiAgICAkLXpmLXNpemU6ICRuYW1lICFnbG9iYWw7XHJcblxyXG4gICAgQGlmICRhdXRvLWluc2VydC1icmVha3BvaW50cyB7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuXHJcbiAgICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xyXG4gIH1cclxufVxyXG5cclxuLy8vIEdlbmVyYXRlIHRoZSBgQGNvbnRlbnRgIHBhc3NlZCB0byB0aGUgbWl4aW4gd2l0aCBhIHZhbHVlIGAkLXpmLWJwLXZhbHVlYCByZWxhdGVkIHRvIGEgYnJlYWtwb2ludCwgZGVwZW5kaW5nIG9uIHRoZSBgJG5hbWVgIHBhcmFtZXRlcjpcclxuLy8vIC0gRm9yIGEgc2luZ2xlIHZhbHVlLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhpcyB2YWx1ZS5cclxuLy8vIC0gRm9yIGEgYnJlYWtwb2ludCBuYW1lLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAuXHJcbi8vLyAtIEZvciBcImF1dG9cIiwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgIGFuZCBpcyBwYXNzZWQgdG8gYEBjb250ZW50YCwgd2hpY2ggaXMgbWFkZSByZXNwb25zaXZlIGZvciBlYWNoIGJyZWFrcG9pbnQgb2YgYCRtYXBgLlxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ8QXJyYXl8S2V5d29yZH0gJG5hbWUgW2F1dG9dIC0gU2luZ2xlIHZhbHVlLCBicmVha3BvaW50IG5hbWUsIG9yIGxpc3Qgb2YgYnJlYWtwb2ludCBuYW1lcyB0byB1c2UuIFwiYXV0b1wiIGJ5IGRlZmF1bHQuXHJcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBNYXAgb2YgYnJlYWtwb2ludHMgYW5kIHZhbHVlcyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLlxyXG5AbWl4aW4gLXpmLWJyZWFrcG9pbnQtdmFsdWUoXHJcbiAgJG5hbWU6IGF1dG8sXHJcbiAgJG1hcDogbnVsbFxyXG4pIHtcclxuICBAaWYgJG5hbWUgPT0gYXV0byBhbmQgdHlwZS1vZigkbWFwKSA9PSAnbWFwJyB7XHJcbiAgICAvLyBcImF1dG9cIlxyXG4gICAgQGVhY2ggJGssICR2IGluICRtYXAge1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRrKSB7XHJcbiAgICAgICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJHYsICRtYXApIHtcclxuICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICAvLyBicmVha3BvaW50IG5hbWVcclxuICAgIEBpZiB0eXBlLW9mKCRuYW1lKSA9PSAnc3RyaW5nJyB7XHJcbiAgICAgICRuYW1lOiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkbmFtZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gYnJlYWtwb2ludCB2YWx1ZVxyXG4gICAgJC16Zi1icC12YWx1ZTogJG5hbWUgIWdsb2JhbDtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgZm9ybXNcclxuLy8vL1xyXG5cclxuLy8vIEZvbnQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kaW5wdXQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcclxuXHJcbi8vLyBGb250IGNvbG9yIG9mIHBsYWNlaG9sZGVyIHRleHQgd2l0aGluIHRleHQgaW5wdXRzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRm9udCBmYW1pbHkgb2YgdGV4dCBpbnB1dHMuXHJcbi8vLyBAdHlwZSBGb250XHJcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcclxuXHJcbi8vLyBGb250IHNpemUgb2YgdGV4dCBpbnB1dHMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xyXG5cclxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5wdXRzLlxyXG4vLy8gQHR5cGUgS2V5d29yZFxyXG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcclxuXHJcbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGlucHV0cy5cclxuLy8vIEB0eXBlIEtleXdvcmRcclxuJGlucHV0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBmb2N1c2VkIG9mIHRleHQgaW5wdXRzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGRpc2FibGVkIHRleHQgaW5wdXRzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xyXG5cclxuLy8vIEJvcmRlciBhcm91bmQgdGV4dCBpbnB1dHMuXHJcbi8vLyBAdHlwZSBCb3JkZXJcclxuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcclxuXHJcbi8vLyBCb3JkZXIgYXJvdW5kIGZvY3VzZWQgdGV4dCBpbnB1dHMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheSAhZGVmYXVsdDtcclxuXHJcbi8vLyBQYWRkaW5nIG9mIHRleHQgaW5wdXRzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyICFkZWZhdWx0O1xyXG5cclxuLy8vIEJveCBzaGFkb3cgaW5zaWRlIHRleHQgaW5wdXRzIHdoZW4gbm90IGZvY3VzZWQuXHJcbi8vLyBAdHlwZSBTaGFkb3dcclxuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpICFkZWZhdWx0O1xyXG5cclxuLy8vIEJveCBzaGFkb3cgb3V0c2lkZSB0ZXh0IGlucHV0cyB3aGVuIGZvY3VzZWQuXHJcbi8vLyBAdHlwZSBTaGFkb3dcclxuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQ3Vyc29yIHRvIHVzZSB3aGVuIGhvdmVyaW5nIG92ZXIgYSBkaXNhYmxlZCB0ZXh0IGlucHV0LlxyXG4vLy8gQHR5cGUgQ3Vyc29yXHJcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xyXG5cclxuLy8vIFByb3BlcnRpZXMgdG8gdHJhbnNpdGlvbiBvbiB0ZXh0IGlucHV0cy5cclxuLy8vIEB0eXBlIFRyYW5zaXRpb25cclxuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xyXG5cclxuLy8vIEVuYWJsZXMgdGhlIHVwL2Rvd24gYnV0dG9ucyB0aGF0IENocm9tZSBhbmQgRmlyZWZveCBhZGQgdG8gYDxpbnB1dCB0eXBlPSdudW1iZXInPmAgZWxlbWVudHMuXHJcbi8vLyBAdHlwZSBCb29sZWFuXHJcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gUmFkaXVzIGZvciB0ZXh0IGlucHV0cy5cclxuLy8vIEB0eXBlIEJvcmRlclxyXG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcclxuXHJcbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBmb3JtIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xyXG5cclxuQG1peGluIGZvcm0tZWxlbWVudCB7XHJcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiB1bml0bGVzcy1jYWxjKCRpbnB1dC1saW5lLWhlaWdodCkpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xyXG5cclxuICBkaXNwbGF5OiBibG9jaztcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogJGhlaWdodDtcclxuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xyXG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xyXG5cclxuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XHJcbiAgYm9yZGVyLXJhZGl1czogJGlucHV0LXJhZGl1cztcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZDtcclxuICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93O1xyXG5cclxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xyXG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcclxuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xyXG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XHJcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcclxuXHJcbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xyXG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XHJcbiAgfVxyXG5cclxuICAvLyBGb2N1cyBzdGF0ZVxyXG4gICY6Zm9jdXMge1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xyXG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcclxuXHJcbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XHJcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tZm9ybS10ZXh0IHtcclxuICAvLyBUZXh0IGlucHV0c1xyXG4gICN7dGV4dC1pbnB1dHMoKX0sXHJcbiAgdGV4dGFyZWEge1xyXG4gICAgQGluY2x1ZGUgZm9ybS1lbGVtZW50O1xyXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcclxuICB9XHJcblxyXG4gIC8vIFRleHQgYXJlYXNcclxuICB0ZXh0YXJlYSB7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgJltyb3dzXSB7XHJcbiAgICAgIGhlaWdodDogYXV0bztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGlucHV0LFxyXG4gIHRleHRhcmVhIHtcclxuICAgIC8vIERpc2FibGVkL3JlYWRvbmx5IHN0YXRlXHJcbiAgICAmOmRpc2FibGVkLFxyXG4gICAgJltyZWFkb25seV0ge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcclxuICAgICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gUmVzZXQgc3R5bGVzIG9uIGJ1dHRvbi1saWtlIGlucHV0c1xyXG4gIFt0eXBlPSdzdWJtaXQnXSxcclxuICBbdHlwZT0nYnV0dG9uJ10ge1xyXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLWJ1dHRvbi1yYWRpdXM7XHJcbiAgfVxyXG5cclxuICAvLyBSZXNldCBOb3JtYWxpemUgc2V0dGluZyBjb250ZW50LWJveCB0byBzZWFyY2ggZWxlbWVudHNcclxuICBpbnB1dFt0eXBlPSdzZWFyY2gnXSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICB9XHJcblxyXG4gIC8vIE51bWJlciBpbnB1dCBzdHlsZXNcclxuICBbdHlwZT0nbnVtYmVyJ10ge1xyXG4gICAgQGlmIG5vdCAkaW5wdXQtbnVtYmVyLXNwaW5uZXJzIHtcclxuICAgICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXHJcblxyXG4gICAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxyXG4gICAgICAmOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcclxuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBQbGFjZWhvbGRlciB0ZXh0XHJcbiAgOjpwbGFjZWhvbGRlciB7XHJcbiAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgZm9ybXNcclxuLy8vL1xyXG5cclxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1jaGVja2JveCB7XHJcbiAgW3R5cGU9J2ZpbGUnXSxcclxuICBbdHlwZT0nY2hlY2tib3gnXSxcclxuICBbdHlwZT0ncmFkaW8nXSB7XHJcbiAgICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xyXG4gIH1cclxuXHJcbiAgLy8gU3R5bGVzIGZvciBpbnB1dC9sYWJlbCBzaWJsaW5nc1xyXG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXHJcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcblxyXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcclxuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuXHJcbiAgICAmW2Zvcl0ge1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBTdHlsZXMgZm9yIGlucHV0cyBpbnNpZGUgbGFiZWxzXHJcbiAgbGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcclxuICBsYWJlbCA+IFt0eXBlPSdyYWRpbyddIHtcclxuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xyXG4gIH1cclxuXHJcbiAgLy8gTm9ybWFsaXplIGZpbGUgaW5wdXQgd2lkdGhcclxuICBbdHlwZT0nZmlsZSddIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgZm9ybXNcclxuLy8vL1xyXG5cclxuLy8vIENvbG9yIGZvciBmb3JtIGxhYmVscy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRm9udCBzaXplIGZvciBmb3JtIGxhYmVscy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcclxuXHJcbi8vLyBGb250IHdlaWdodCBmb3IgZm9ybSBsYWJlbHMuXHJcbi8vLyBAdHlwZSBLZXl3b3JkXHJcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XHJcblxyXG4vLy8gTGluZSBoZWlnaHQgZm9yIGZvcm0gbGFiZWxzLiBUaGUgaGlnaGVyIHRoZSBudW1iZXIsIHRoZSBtb3JlIHNwYWNlIGJldHdlZW4gdGhlIGxhYmVsIGFuZCBpdHMgaW5wdXQgZmllbGQuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuOCAhZGVmYXVsdDtcclxuXHJcbkBtaXhpbiBmb3JtLWxhYmVsIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBtYXJnaW46IDA7XHJcblxyXG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xyXG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcclxuICBsaW5lLWhlaWdodDogJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ7XHJcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xyXG59XHJcblxyXG5AbWl4aW4gZm9ybS1sYWJlbC1taWRkbGUge1xyXG4gICRpbnB1dC1ib3JkZXItd2lkdGg6IGdldC1ib3JkZXItdmFsdWUoJGlucHV0LWJvcmRlciwgd2lkdGgpO1xyXG5cclxuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xyXG4gIHBhZGRpbmc6ICgkZm9ybS1zcGFjaW5nIC8gMiArIHJlbS1jYWxjKCRpbnB1dC1ib3JkZXItd2lkdGgpKSAwO1xyXG59XHJcblxyXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWxhYmVsIHtcclxuICBsYWJlbCB7XHJcbiAgICBAaW5jbHVkZSBmb3JtLWxhYmVsO1xyXG5cclxuICAgICYubWlkZGxlIHtcclxuICAgICAgQGluY2x1ZGUgZm9ybS1sYWJlbC1taWRkbGU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBmb3Jtc1xyXG4vLy8vXHJcblxyXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVscCB0ZXh0LlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGhlbHAgdGV4dC5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBmb250IHN0eWxlIGZvciBoZWxwIHRleHQuXHJcbi8vLyBAdHlwZSBLZXl3b3JkXHJcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XHJcblxyXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWhlbHB0ZXh0IHtcclxuICAuaGVscC10ZXh0IHtcclxuICAgICRtYXJnaW4tdG9wOiAoJGZvcm0tc3BhY2luZyAqIDAuNSkgKiAtMTtcclxuXHJcbiAgICBtYXJnaW4tdG9wOiAkbWFyZ2luLXRvcDtcclxuICAgIGZvbnQtc2l6ZTogJGhlbHB0ZXh0LWZvbnQtc2l6ZTtcclxuICAgIGZvbnQtc3R5bGU6ICRoZWxwdGV4dC1mb250LXN0eWxlO1xyXG4gICAgY29sb3I6ICRoZWxwdGV4dC1jb2xvcjtcclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIGZvcm1zXHJcbi8vLy9cclxuXHJcbi8vLyBDb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xyXG5cclxuLy8vIEJvcmRlciBhcm91bmQgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxyXG4vLy8gQHR5cGUgQm9yZGVyXHJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xyXG5cclxuLy8vIExlZnQvcmlnaHQgcGFkZGluZyBvZiBhbiBwcmUvcG9zdGZpeGVkIGlucHV0IGxhYmVsXHJcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tcHJlcG9zdGZpeCB7XHJcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiAkaW5wdXQtbGluZS1oZWlnaHQpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xyXG5cclxuICAuaW5wdXQtZ3JvdXAge1xyXG4gICAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCB0YWJsZSk7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XHJcblxyXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xyXG4gICAgfVxyXG5cclxuICAgID4gOmZpcnN0LWNoaWxkIHtcclxuICAgICAgJiwgJi5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICA+IDpsYXN0LWNoaWxkIHtcclxuICAgICAgJiwgJi5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cywgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICVpbnB1dC1ncm91cC1jaGlsZCB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cclxuICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcclxuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5pbnB1dC1ncm91cC1sYWJlbCB7XHJcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcclxuICAgIHBhZGRpbmc6IDAgJGlucHV0LXByZWZpeC1wYWRkaW5nO1xyXG4gICAgYm9yZGVyOiAkaW5wdXQtcHJlZml4LWJvcmRlcjtcclxuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDtcclxuXHJcbiAgICBjb2xvcjogJGlucHV0LXByZWZpeC1jb2xvcjtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblxyXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICB3aWR0aDogMSU7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC1wcmVmaXgtYm9yZGVyKSB7XHJcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtcmlnaHR9OiAwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5pbnB1dC1ncm91cC1maWVsZCB7XHJcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcblxyXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XHJcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XHJcbiAgICAgIG1pbi13aWR0aDogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5pbnB1dC1ncm91cC1idXR0b24ge1xyXG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XHJcbiAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgd2lkdGg6IDElO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgYSxcclxuICAgIGlucHV0LFxyXG4gICAgYnV0dG9uLFxyXG4gICAgbGFiZWwge1xyXG4gICAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcclxuXHJcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xyXG4gICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICB9XHJcbiAgICAgIEBlbHNlIHtcclxuICAgICAgICBoZWlnaHQ6ICRoZWlnaHQ7XHJcbiAgICAgIH1cclxuICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBTcGVjaWZpY2l0eSBidW1wIG5lZWRlZCB0byBwcmV2ZW50IG92ZXJyaWRlIGJ5IGJ1dHRvbnNcclxuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XHJcbiAgICAuaW5wdXQtZ3JvdXAge1xyXG4gICAgICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBmb3Jtc1xyXG4vLy8vXHJcblxyXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXHJcbi8vLyBAdHlwZSBCb3JkZXJcclxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGN1c3RvbSBmaWVsZHNldHMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IG1hcmdpbiBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IHBhZGRpbmcgYmV0d2VlbiB0aGUgbGVnZW5kIHRleHQgYW5kIGZpZWxkc2V0IGJvcmRlci5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMykgIWRlZmF1bHQ7XHJcblxyXG5AbWl4aW4gZmllbGRzZXQge1xyXG4gIG1hcmdpbjogJGZpZWxkc2V0LW1hcmdpbjtcclxuICBwYWRkaW5nOiAkZmllbGRzZXQtcGFkZGluZztcclxuICBib3JkZXI6ICRmaWVsZHNldC1ib3JkZXI7XHJcblxyXG4gIGxlZ2VuZCB7XHJcbiAgICAvLyBDb3ZlcnMgdXAgdGhlIGZpZWxkc2V0J3MgYm9yZGVyIHRvIGNyZWF0ZSBhcnRpZmljaWFsIHBhZGRpbmdcclxuICAgIG1hcmdpbjogMDtcclxuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IHJlbS1jYWxjKC0zKTtcclxuICAgIHBhZGRpbmc6ICRsZWdlbmQtcGFkZGluZztcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZmllbGRzZXQge1xyXG4gIGZpZWxkc2V0IHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgfVxyXG5cclxuICBsZWdlbmQge1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZyAqIDAuNTtcclxuICB9XHJcblxyXG4gIC5maWVsZHNldCB7XHJcbiAgICBAaW5jbHVkZSBmaWVsZHNldDtcclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIGZvcm1zXHJcbi8vLy9cclxuXHJcbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBzZWxlY3QgbWVudXMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBDb2xvciBvZiB0aGUgZHJvcGRvd24gdHJpYW5nbGUgaW5zaWRlIHNlbGVjdCBtZW51cy4gU2V0IHRvIGB0cmFuc3BhcmVudGAgdG8gcmVtb3ZlIGl0IGVudGlyZWx5LlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2VsZWN0IG1lbnVzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xyXG5cclxuQG1peGluIGZvcm0tc2VsZWN0IHtcclxuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqIHVuaXRsZXNzLWNhbGMoJGlucHV0LWxpbmUtaGVpZ2h0KSkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XHJcblxyXG4gIGhlaWdodDogJGhlaWdodDtcclxuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xyXG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xyXG5cclxuICBhcHBlYXJhbmNlOiBub25lO1xyXG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcclxuICBib3JkZXItcmFkaXVzOiAkc2VsZWN0LXJhZGl1cztcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWJhY2tncm91bmQ7XHJcblxyXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XHJcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xyXG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XHJcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcclxuICBjb2xvcjogJGlucHV0LWNvbG9yO1xyXG5cclxuICBAaWYgJHNlbGVjdC10cmlhbmdsZS1jb2xvciAhPSB0cmFuc3BhcmVudCB7XHJcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRzZWxlY3QtdHJpYW5nbGUtY29sb3IpO1xyXG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGdsb2JhbC1yaWdodCAoLSRmb3JtLXNwYWNpbmcpIGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XHJcblxyXG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAoJGZvcm0tc3BhY2luZyAqIDEuNSk7XHJcbiAgfVxyXG5cclxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XHJcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcclxuICB9XHJcblxyXG4gIC8vIEZvY3VzIHN0YXRlXHJcbiAgJjpmb2N1cyB7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XHJcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xyXG5cclxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcclxuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBEaXNhYmxlZCBzdGF0ZVxyXG4gICY6ZGlzYWJsZWQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XHJcbiAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XHJcbiAgfVxyXG5cclxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xyXG4gICY6Oi1tcy1leHBhbmQge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcblxyXG4gICZbbXVsdGlwbGVdIHtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXNlbGVjdCB7XHJcbiAgc2VsZWN0IHtcclxuICAgIEBpbmNsdWRlIGZvcm0tc2VsZWN0O1xyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgYWJpZGVcclxuLy8vL1xyXG5cclxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBpbnB1dHMuXHJcbi8vLyBAdHlwZSBCb29sZWFuXHJcbiRhYmlkZS1pbnB1dHM6IHRydWUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGxhYmVscy5cclxuLy8vIEB0eXBlIEJvb2xlYW5cclxuJGFiaWRlLWxhYmVsczogdHJ1ZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHRvIHVzZSBmb3IgaW52YWxpZCB0ZXh0IGlucHV0cy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQ29sb3IgdG8gdXNlIGZvciBsYWJlbHMgb2YgaW52YWxpZCBpbnB1dHMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9ybSBlcnJvciB0ZXh0LlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBmb3JtIGVycm9yIHRleHQuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIGZvcm0gZXJyb3IgdGV4dC5cclxuLy8vIEB0eXBlIEtleXdvcmRcclxuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xyXG5cclxuLy8vIFN0eWxlcyB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyIG9mIGFuIGlucHV0IGZpZWxkIHRvIGhhdmUgYW4gZXJyb3Igc3RhdGUuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRhbGVydC1jb2xvcl0gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIuXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhY2tncm91bmQtbGlnaHRlbiBbMTAlXSAtIExpZ2h0bmVzcyBsZXZlbCBvZiB0aGUgYmFja2dyb3VuZCBjb2xvci5cclxuQG1peGluIGZvcm0taW5wdXQtZXJyb3IoXHJcbiAgJGJhY2tncm91bmQ6ICRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQsXHJcbiAgJGJhY2tncm91bmQtbGlnaHRlbjogMTAlXHJcbikge1xyXG4gICY6bm90KDpmb2N1cykge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IG1peCgkYmFja2dyb3VuZCwgJHdoaXRlLCAkYmFja2dyb3VuZC1saWdodGVuKTtcclxuXHJcbiAgICAmOjpwbGFjZWhvbGRlciB7XHJcbiAgICAgIGNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vLyBBZGRzIGVycm9yIHN0eWxlcyB0byBhIGZvcm0gZWxlbWVudCwgdXNpbmcgdGhlIHZhbHVlcyBpbiB0aGUgc2V0dGluZ3MgZmlsZS5cclxuQG1peGluIGZvcm0tZXJyb3Ige1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbiAgbWFyZ2luLXRvcDogJGZvcm0tc3BhY2luZyAqIC0wLjU7XHJcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcclxuXHJcbiAgZm9udC1zaXplOiAkaW5wdXQtZXJyb3ItZm9udC1zaXplO1xyXG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ7XHJcbiAgY29sb3I6ICRpbnB1dC1lcnJvci1jb2xvcjtcclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1lcnJvciB7XHJcbiAgQGlmICRhYmlkZS1pbnB1dHMge1xyXG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGludmFsaWQgaW5wdXRzXHJcbiAgICAuaXMtaW52YWxpZC1pbnB1dCB7XHJcbiAgICAgIEBpbmNsdWRlIGZvcm0taW5wdXQtZXJyb3I7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgJGFiaWRlLWxhYmVscyB7XHJcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgbGFiZWxzIG9mIGludmFsaWQgb3V0cHV0c1xyXG4gICAgLmlzLWludmFsaWQtbGFiZWwge1xyXG4gICAgICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIEZvcm0gZXJyb3IgZWxlbWVudFxyXG4gIC5mb3JtLWVycm9yIHtcclxuICAgIEBpbmNsdWRlIGZvcm0tZXJyb3I7XHJcblxyXG4gICAgJi5pcy12aXNpYmxlIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWJhc2VcclxuLy8vL1xyXG5cclxuLy8gQmFzZSBUeXBvZ3JhcGh5XHJcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXHJcbi8vIFRoZXNlIGFyZSBzdHlsZXMgYXBwbGllZCB0byBiYXNpYyBIVE1MIHRhZ3MsIGluY2x1ZGluZzpcclxuLy8gICAtIFBhcmFncmFwaHMgPHA+XHJcbi8vICAgLSBCb2xkL2l0YWxpY3MgPGI+IDxzdHJvbmc+IDxpPiA8ZW0+XHJcbi8vICAgLSBTbWFsbCB0ZXh0IDxzbWFsbD5cclxuLy8gICAtIEhlYWRpbmdzIDxoMT4tPGg2PlxyXG4vLyAgIC0gQW5jaG9ycyA8YT5cclxuLy8gICAtIERpdmlkZXJzIDxocj5cclxuLy8gICAtIExpc3RzIDx1bD4gPG9sPiA8ZGw+XHJcbi8vICAgLSBCbG9ja3F1b3RlcyA8YmxvY2txdW90ZT5cclxuLy8gICAtIENvZGUgYmxvY2tzIDxjb2RlPlxyXG4vLyAgIC0gQWJicmV2aWF0aW9ucyA8YWJicj5cclxuLy8gICAtIENpdGF0aW9ucyA8Y2l0ZT5cclxuLy8gICAtIEtleXN0cm9rZXMgPGtiZD5cclxuXHJcbi8vLyBGb250IGZhbWlseSBmb3IgaGVhZGVyIGVsZW1lbnRzLlxyXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxyXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcclxuXHJcbi8vLyBGb250IHdlaWdodCBvZiBoZWFkZXJzLlxyXG4vLy8gQHR5cGUgU3RyaW5nXHJcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcclxuXHJcbi8vLyBGb250IHN0eWxlIChlLmcuIGl0YWxpY2l6ZWQpIG9mIGhlYWRlcnMuXHJcbi8vLyBAdHlwZSBTdHJpbmdcclxuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRm9udCBzdGFjayB1c2VkIGZvciBlbGVtZW50cyB0aGF0IHVzZSBtb25vc3BhY2VkIHR5cGUsIHN1Y2ggYXMgY29kZSBzYW1wbGVzXHJcbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XHJcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlICFkZWZhdWx0O1xyXG5cclxuLy8vIENvbG9yIG9mIGhlYWRlcnMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xyXG5cclxuLy8vIExpbmUgaGVpZ2h0IG9mIGhlYWRlcnMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBoZWFkZXJzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xyXG5cclxuLy8vIFN0eWxlcyBmb3IgaGVhZGluZ3MgYXQgdmFyaW91cyBzY3JlZW4gc2l6ZXMuIEVhY2gga2V5IGlzIGEgYnJlYWtwb2ludCwgYW5kIGVhY2ggdmFsdWUgaXMgYSBtYXAgb2YgaGVhZGluZyBzdHlsZXMuXHJcbi8vLyBAdHlwZSBNYXBcclxuJGhlYWRlci1zdHlsZXM6IChcclxuICBzbWFsbDogKFxyXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAyNCksXHJcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcclxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMTkpLFxyXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXHJcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcclxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxyXG4gICksXHJcbiAgbWVkaXVtOiAoXHJcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQ4KSxcclxuICAgICdoMic6ICgnZm9udC1zaXplJzogNDApLFxyXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXHJcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI1KSxcclxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxyXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXHJcbiAgKSxcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vICRoZWFkZXItc3R5bGVzIG1hcCBpcyBidWlsdCBmcm9tICRoZWFkZXItc2l6ZXMgaW4gb3JkZXIgdG8gZW5zdXJlIGRvd253YXJkIGNvbXBhdGliaWxpdHlcclxuLy8gd2hlbiAkaGVhZGVyLXNpemVzIGlzIGRlcHJlY2lhdGVkLCAkaGVhZGVyLXN0eWxlcyBuZWVkcyB0byBnZXQgIWRlZmF1bHQgdmFsdWVzIGxpa2Ugc2V0dGluZ3Muc2Nzc1xyXG5AZnVuY3Rpb24gYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcykge1xyXG4gIEB3YXJuICdOb3RlLCB0aGF0ICRoZWFkZXItc2l6ZXMgaGFzIGJlZW4gcmVwbGFjZWQgd2l0aCAkaGVhZGVyLXN0eWxlcy4gJGhlYWRlci1zaXplcyBzdGlsbCB3b3JrcywgYnV0IGl0IGlzIGdvaW5nIHRvIGJlIGRlcHJlY2lhdGVkLic7XHJcbiAgJGhlYWRlci1zdHlsZXM6ICgpO1xyXG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXNpemVzIHtcclxuICAgICRoZWFkZXItbWFwOiAoKTtcclxuICAgIEBlYWNoICRoZWFkZXIsICRmb250LXNpemUgaW4gJGhlYWRlcnMge1xyXG4gICAgICAkaGVhZGVyLW1hcDogbWFwLW1lcmdlKCRoZWFkZXItbWFwLCAoJGhlYWRlcjogKCdmb250LXNpemUnOiAkZm9udC1zaXplKSkpO1xyXG4gICAgfVxyXG4gICAgJGhlYWRlci1zdHlsZXM6IG1hcC1tZXJnZSgkaGVhZGVyLXN0eWxlcywgKCRzaXplOiAkaGVhZGVyLW1hcCkpO1xyXG4gIH1cclxuICBAcmV0dXJuICRoZWFkZXItc3R5bGVzO1xyXG59XHJcblxyXG4vLyBJZiBpdCBleGlzdHMgJGhlYWRlcnMtc2l6ZXMgaXMgdXNlZCB0byBidWlsZCAkaGVhZGVyLXN0eWxlcy4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxyXG5AaWYgdmFyaWFibGUtZXhpc3RzKGhlYWRlci1zaXplcykge1xyXG4gICRoZWFkZXItc3R5bGVzOiBidWlsZF9mcm9tX2hlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKTtcclxufVxyXG5cclxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBvZiBoZWFkZXJzLlxyXG4vLy8gQHR5cGUgU3RyaW5nXHJcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcclxuXHJcbi8vLyBGb250IHNpemUgb2YgYDxzbWFsbD5gIGVsZW1lbnRzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRzbWFsbC1mb250LXNpemU6IDgwJSAhZGVmYXVsdDtcclxuXHJcbi8vLyBDb2xvciBvZiBgPHNtYWxsPmAgZWxlbWVudHMgd2hlbiBwbGFjZWQgaW5zaWRlIGhlYWRlcnMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcclxuXHJcbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGluc2lkZSBgPHA+YCBlbGVtZW50cy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcclxuXHJcbi8vLyBCb3R0b20gbWFyZ2luIG9mIHBhcmFncmFwaHMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xyXG5cclxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBmb3IgcGFyYWdyYXBoIHRleHQuXHJcbi8vLyBAdHlwZSBTdHJpbmdcclxuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xyXG5cclxuLy8vIFRleHQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGNvZGUtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcclxuXHJcbi8vLyBGb250IGZhbWlseSBvZiBjb2RlIHNhbXBsZXMuXHJcbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XHJcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xyXG5cclxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW4gY29kZSBzYW1wbGVzLlxyXG4vLy8gQHR5cGUgU3RyaW5nXHJcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBjb2RlIHNhbXBsZXMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcclxuXHJcbi8vLyBCb3JkZXIgYXJvdW5kIGNvZGUgc2FtcGxlcy5cclxuLy8vIEB0eXBlIExpc3RcclxuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xyXG5cclxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgY29kZSBzYW1wbGVzLlxyXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxyXG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3MuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcyBvbiBob3Zlci5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcy5cclxuLy8vIEB0eXBlIFN0cmluZ1xyXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3Mgb24gaG92ZXIuXHJcbi8vLyBAdHlwZSBTdHJpbmdcclxuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBhIGRpdmlkZXIuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgYm9yZGVyIGZvciBhIGRpdmlkZXIuXHJcbi8vLyBAdHlwZSBMaXN0XHJcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBtYXJnaW4gZm9yIGEgZGl2aWRlci5cclxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcclxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG8gIWRlZmF1bHQ7XHJcblxyXG4vLy8gTGluZSBoZWlnaHQgZm9yIGl0ZW1zIGluIGEgbGlzdC5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBsaXN0LlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBCdWxsZXQgdHlwZSB0byB1c2UgZm9yIHVub3JkZXJlZCBsaXN0cyAoZS5nLiwgYHNxdWFyZWAsIGBjaXJjbGVgLCBgZGlzY2ApLlxyXG4vLy8gQHR5cGUgU3RyaW5nXHJcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWRlZmF1bHQ7XHJcblxyXG4vLy8gUG9zaXRpb25pbmcgZm9yIGJ1bGxldHMgb24gdW5vcmRlcmVkIGxpc3QgaXRlbXMuXHJcbi8vLyBAdHlwZSBTdHJpbmdcclxuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgbGlzdHMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgYSBsaXN0IGluc2lkZSBhIGxpc3QuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xyXG5cclxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGA8ZGw+YCBlbGVtZW50cy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBGb250IHdlaWdodCBmb3IgYDxkdD5gIGVsZW1lbnRzLlxyXG4vLy8gQHR5cGUgU3RyaW5nXHJcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcclxuXHJcbi8vLyBTcGFjaW5nIGJldHdlZW4gYDxkdD5gIGFuZCBgPGRkPmAgZWxlbWVudHMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtICFkZWZhdWx0O1xyXG5cclxuLy8vIFRleHQgY29sb3Igb2YgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcclxuXHJcbi8vLyBQYWRkaW5nIGluc2lkZSBhIGA8YmxvY2txdW90ZT5gIGVsZW1lbnQuXHJcbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XHJcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gU2lkZSBib3JkZXIgZm9yIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxyXG4vLy8gQHR5cGUgTGlzdFxyXG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRm9udCBzaXplIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBUZXh0IGNvbG9yIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xyXG5cclxuLy8vIFBzZXVkbyBjb250ZW50IGZvciBgPGNpdGU+YCBlbGVtZW50cy5cclxuLy8vIEB0eXBlIFN0cmluZ1xyXG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnICFkZWZhdWx0O1xyXG5cclxuLy8vIEZvbnQgZmFtaWx5IGZvciBgPGtiZD5gIGVsZW1lbnRzLlxyXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxyXG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XHJcblxyXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcclxuXHJcbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcclxuXHJcbi8vLyBQYWRkaW5nIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxyXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxyXG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxyXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxyXG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQm90dG9tIGJvcmRlciBzdHlsZSBmb3IgYDxhYmJyPmAgZWxlbWVudHMuXHJcbi8vLyBAdHlwZSBMaXN0XHJcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2sgIWRlZmF1bHQ7XHJcblxyXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWJhc2Uge1xyXG4gIC8vIFR5cG9ncmFwaHkgcmVzZXRzXHJcbiAgZGl2LFxyXG4gIGRsLFxyXG4gIGR0LFxyXG4gIGRkLFxyXG4gIHVsLFxyXG4gIG9sLFxyXG4gIGxpLFxyXG4gIGgxLFxyXG4gIGgyLFxyXG4gIGgzLFxyXG4gIGg0LFxyXG4gIGg1LFxyXG4gIGg2LFxyXG4gIHByZSxcclxuICBmb3JtLFxyXG4gIHAsXHJcbiAgYmxvY2txdW90ZSxcclxuICB0aCxcclxuICB0ZCB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gIH1cclxuXHJcbiAgLy8gUGFyYWdyYXBoc1xyXG4gIHAge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xyXG5cclxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcclxuICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XHJcbiAgICB0ZXh0LXJlbmRlcmluZzogJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZztcclxuICB9XHJcblxyXG4gIC8vIEVtcGhhc2l6ZWQgdGV4dFxyXG4gIGVtLFxyXG4gIGkge1xyXG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbiAgfVxyXG5cclxuICAvLyBTdHJvbmcgdGV4dFxyXG4gIHN0cm9uZyxcclxuICBiIHtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbiAgfVxyXG5cclxuICAvLyBTbWFsbCB0ZXh0XHJcbiAgc21hbGwge1xyXG4gICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xyXG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbiAgfVxyXG5cclxuICAvLyBIZWFkaW5nc1xyXG4gIGgxLCAuaDEsXHJcbiAgaDIsIC5oMixcclxuICBoMywgLmgzLFxyXG4gIGg0LCAuaDQsXHJcbiAgaDUsIC5oNSxcclxuICBoNiwgLmg2IHtcclxuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xyXG4gICAgZm9udC1zdHlsZTogJGhlYWRlci1mb250LXN0eWxlO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItZm9udC13ZWlnaHQ7XHJcbiAgICBjb2xvcjogJGhlYWRlci1jb2xvcjtcclxuICAgIHRleHQtcmVuZGVyaW5nOiAkaGVhZGVyLXRleHQtcmVuZGVyaW5nO1xyXG5cclxuICAgIHNtYWxsIHtcclxuICAgICAgbGluZS1oZWlnaHQ6IDA7XHJcbiAgICAgIGNvbG9yOiAkaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBIZWFkaW5nIHN0eWxlc1xyXG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXN0eWxlcyB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XHJcbiAgICAgIEBlYWNoICRoZWFkZXIsICRoZWFkZXItZGVmcyBpbiAkaGVhZGVycyB7XHJcbiAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiAxcmVtO1xyXG4gICAgICAgICN7JGhlYWRlcn0sIC4jeyRoZWFkZXJ9IHtcclxuXHJcbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmb250LXNpemUpIHtcclxuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xyXG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZzKSB7XHJcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZzKSk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xyXG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpIHtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSwgJGZvbnQtc2l6ZS10ZW1wKTtcclxuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaCkge1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGgpLCAkZm9udC1zaXplLXRlbXApO1xyXG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKCRoZWFkZXItbGluZWhlaWdodCwgJGZvbnQtc2l6ZS10ZW1wKTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSk7XHJcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbXQpIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG10KSk7XHJcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pKTtcclxuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYikge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWIpKTtcclxuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkaGVhZGVyLW1hcmdpbi1ib3R0b20pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gTGlua3NcclxuICBhIHtcclxuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgY29sb3I6ICRhbmNob3ItY29sb3I7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uO1xyXG5cclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xyXG4gICAgICBAaWYgJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXIgIT0gJGFuY2hvci10ZXh0LWRlY29yYXRpb24ge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpbWcge1xyXG4gICAgICBib3JkZXI6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBIb3Jpem9udGFsIHJ1bGVcclxuICBociB7XHJcbiAgICBjbGVhcjogYm90aDtcclxuXHJcbiAgICBtYXgtd2lkdGg6ICRoci13aWR0aDtcclxuICAgIGhlaWdodDogMDtcclxuICAgIG1hcmdpbjogJGhyLW1hcmdpbjtcclxuXHJcbiAgICBib3JkZXItdG9wOiAwO1xyXG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogJGhyLWJvcmRlcjtcclxuICAgIGJvcmRlci1sZWZ0OiAwO1xyXG4gIH1cclxuXHJcbiAgLy8gTGlzdHNcclxuICB1bCxcclxuICBvbCxcclxuICBkbCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkbGlzdC1tYXJnaW4tYm90dG9tO1xyXG4gICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogJGxpc3Qtc3R5bGUtcG9zaXRpb247XHJcbiAgICBsaW5lLWhlaWdodDogJGxpc3QtbGluZWhlaWdodDtcclxuICB9XHJcblxyXG4gIC8vIExpc3QgaXRlbXNcclxuICBsaSB7XHJcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XHJcbiAgfVxyXG5cclxuICAvLyBVbm9yZGVyZWQgbGlzdHNcclxuICB1bCB7XHJcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcclxuICAgIGxpc3Qtc3R5bGUtdHlwZTogJGxpc3Qtc3R5bGUtdHlwZTtcclxuICB9XHJcblxyXG4gIC8vIE9yZGVyZWQgbGlzdHNcclxuICBvbCB7XHJcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcclxuICB9XHJcblxyXG4gIC8vIE5lc3RlZCB1bm9yZGVyZWQvb3JkZXJlZCBsaXN0c1xyXG4gIHVsLCBvbCB7XHJcbiAgICAmICYge1xyXG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW47XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBEZWZpbml0aW9uIGxpc3RzXHJcbiAgZGwge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LW1hcmdpbi1ib3R0b207XHJcblxyXG4gICAgZHQge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tO1xyXG4gICAgICBmb250LXdlaWdodDogJGRlZm5saXN0LXRlcm0td2VpZ2h0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gQmxvY2txdW90ZXNcclxuICBibG9ja3F1b3RlIHtcclxuICAgIG1hcmdpbjogMCAwICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcclxuICAgIHBhZGRpbmc6ICRibG9ja3F1b3RlLXBhZGRpbmc7XHJcbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYmxvY2txdW90ZS1ib3JkZXI7XHJcblxyXG4gICAgJiwgcCB7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XHJcbiAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jb2xvcjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIENpdGF0aW9uc1xyXG4gIGNpdGUge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmb250LXNpemU6ICRjaXRlLWZvbnQtc2l6ZTtcclxuICAgIGNvbG9yOiAkY2l0ZS1jb2xvcjtcclxuXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6ICRjaXRlLXBzZXVkby1jb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gQWJicmV2aWF0aW9uc1xyXG4gIGFiYnIsIGFiYnJbdGl0bGVdIHtcclxuICAgIGJvcmRlci1ib3R0b206ICRhYmJyLXVuZGVybGluZTtcclxuICAgIGN1cnNvcjogaGVscDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB9XHJcblxyXG4gIC8vIEZpZ3VyZXNcclxuICBmaWd1cmUge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gIH1cclxuXHJcbiAgLy8gQ29kZVxyXG4gIGNvZGUge1xyXG4gICAgcGFkZGluZzogJGNvZGUtcGFkZGluZztcclxuXHJcbiAgICBib3JkZXI6ICRjb2RlLWJvcmRlcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2RlLWJhY2tncm91bmQ7XHJcblxyXG4gICAgZm9udC1mYW1pbHk6ICRjb2RlLWZvbnQtZmFtaWx5O1xyXG4gICAgZm9udC13ZWlnaHQ6ICRjb2RlLWZvbnQtd2VpZ2h0O1xyXG4gICAgY29sb3I6ICRjb2RlLWNvbG9yO1xyXG4gIH1cclxuXHJcbiAgLy8gS2V5c3Ryb2tlc1xyXG4gIGtiZCB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAka2V5c3Ryb2tlLXBhZGRpbmc7XHJcblxyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGtleXN0cm9rZS1iYWNrZ3JvdW5kO1xyXG5cclxuICAgIGZvbnQtZmFtaWx5OiAka2V5c3Ryb2tlLWZvbnQ7XHJcbiAgICBjb2xvcjogJGtleXN0cm9rZS1jb2xvcjtcclxuXHJcbiAgICBAaWYgaGFzLXZhbHVlKCRrZXlzdHJva2UtcmFkaXVzKSB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRrZXlzdHJva2UtcmFkaXVzO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1oZWxwZXJzXHJcbi8vLy9cclxuXHJcbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1ICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGxlYWQgcGFyYWdyYXBocy5cclxuLy8vIEB0eXBlIFN0cmluZ1xyXG4kbGVhZC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3Igc3ViaGVhZGVycy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIHN1YmhlYWRlcnMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIHN1YmhlYWRlcnMuXHJcbi8vLyBAdHlwZSBTdHJpbmdcclxuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgdG9wIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIHN0YXRpc3RpYyBudW1iZXJzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtICFkZWZhdWx0O1xyXG5cclxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1oZWxwZXJzIHtcclxuICAvLyBVc2UgdG8gY3JlYXRlIGEgc3ViaGVhZGluZyB1bmRlciBhIG1haW4gaGVhZGVyXHJcbiAgLy8gTWFrZSBzdXJlIHlvdSBwYWlyIHRoZSB0d28gZWxlbWVudHMgaW4gYSA8aGVhZGVyPiBlbGVtZW50LCBsaWtlIHRoaXM6XHJcbiAgLy8gPGhlYWRlcj5cclxuICAvLyAgIDxoMT5IZWFkaW5nPC9oMT5cclxuICAvLyAgIDxoMj5TdWJoZWFkaW5nPC9oMj5cclxuICAvLyA8L2hlYWRlcj5cclxuICAuc3ViaGVhZGVyIHtcclxuICAgIG1hcmdpbi10b3A6ICRzdWJoZWFkZXItbWFyZ2luLXRvcDtcclxuICAgIG1hcmdpbi1ib3R0b206ICRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTtcclxuXHJcbiAgICBmb250LXdlaWdodDogJHN1YmhlYWRlci1mb250LXdlaWdodDtcclxuICAgIGxpbmUtaGVpZ2h0OiAkc3ViaGVhZGVyLWxpbmVoZWlnaHQ7XHJcbiAgICBjb2xvcjogJHN1YmhlYWRlci1jb2xvcjtcclxuICB9XHJcblxyXG4gIC8vIFVzZSB0byBzdHlsZSBhbiBpbnRyb2R1Y3RvcnkgbGVhZCwgZGVjaywgYmx1cmIsIGV0Yy5cclxuICAubGVhZCB7XHJcbiAgICBmb250LXNpemU6ICRsZWFkLWZvbnQtc2l6ZTtcclxuICAgIGxpbmUtaGVpZ2h0OiAkbGVhZC1saW5laGVpZ2h0O1xyXG4gIH1cclxuXHJcbiAgLy8gVXNlIHRvIHN0eWxlIGEgbGFyZ2UgbnVtYmVyIHRvIGRpc3BsYXkgYSBzdGF0aXN0aWNcclxuICAuc3RhdCB7XHJcbiAgICBmb250LXNpemU6ICRzdGF0LWZvbnQtc2l6ZTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG5cclxuICAgIHAgKyAmIHtcclxuICAgICAgbWFyZ2luLXRvcDogLTFyZW07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB1bCwgb2wge1xyXG4gICAgLy8gVXNlIHRvIHJlbW92ZSBudW1iZXJzIGZyb20gb3JkZXJlZCBsaXN0ICYgYnVsbGV0cyBmcm9tIHVub3JkZXJlZCBsaXN0XHJcbiAgICAmLm5vLWJ1bGxldCB7XHJcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XHJcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLXRleHQtYWxpZ25tZW50IHtcclxuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcclxuICAgICAgQGVhY2ggJGFsaWduIGluIChsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5KSB7XHJcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcclxuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LSN7JGFsaWdufSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGVsc2Uge1xyXG4gICAgICAgICAgLnRleHQtI3skYWxpZ259IHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8gSWYgYHRydWVgLCBhbGwgZWxlbWVudHMgd2lsbCBoYXZlIHRyYW5zcGFyZW50IGJhY2tncm91bmRzIHdoZW4gcHJpbnRlZCwgdG8gc2F2ZSBvbiBpbmsuXHJcbi8vLyBAdHlwZSBCb29sZWFuXHJcbi8vLyBAZ3JvdXAgZ2xvYmFsXHJcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBJZiBgdHJ1ZWAsIGRpc3BsYXlzIG5leHQgdG8gYWxsIGxpbmtzIHRoZWlyIFwiaHJlZlwiIHdoZW4gcHJpbnRlZC5cclxuLy8vIEB0eXBlIEJvb2xlYW5cclxuLy8vIEBncm91cCBnbG9iYWxcclxuJHByaW50LWhyZWZzOiB0cnVlICFkZWZhdWx0O1xyXG5cclxuLy8gc2Fzcy1saW50OmRpc2FibGUtYWxsXHJcblxyXG5AbWl4aW4gZm91bmRhdGlvbi1wcmludC1zdHlsZXMge1xyXG4gIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxyXG5cclxuICBAbWVkaWEgcHJpbnQge1xyXG4gICAgKiB7XHJcbiAgICAgIEBpZiAkcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHMge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuXHJcbiAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zXHJcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxyXG4gICAgLmhpZGUtZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XHJcblxyXG4gICAgdGFibGUuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XHJcbiAgICB0aGVhZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XHJcbiAgICB0Ym9keS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XHJcbiAgICB0ci5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XHJcbiAgICB0ZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxyXG4gICAgdGguc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cclxuXHJcbiAgICAvLyBEaXNwbGF5IHRoZSBVUkwgb2YgYSBsaW5rIGFmdGVyIHRoZSB0ZXh0XHJcbiAgICBhLFxyXG4gICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxyXG4gICAgQGlmICRwcmludC1ocmVmcyB7XHJcbiAgICAgIGFbaHJlZl06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIoaHJlZikgJyknOyB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gRG9uJ3QgZGlzcGxheSB0aGUgVVJMIGZvciBpbWFnZXMgb3IgSmF2YVNjcmlwdC9pbnRlcm5hbCBsaW5rc1xyXG4gICAgLmlyIGE6YWZ0ZXIsXHJcbiAgICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxyXG4gICAgYVtocmVmXj0nIyddOmFmdGVyIHsgY29udGVudDogJyc7IH1cclxuXHJcbiAgICAvLyBEaXNwbGF5IHdoYXQgYW4gYWJicmV2aWF0aW9uIHN0YW5kcyBmb3IgYWZ0ZXIgdGhlIHRleHRcclxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKHRpdGxlKSAnKSc7IH1cclxuXHJcbiAgICAvLyBQcmV2ZW50IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgYSBibG9ja3F1b3RlIG9yIHByZWZvcm1hdHRlZCB0ZXh0IGJsb2NrXHJcbiAgICBwcmUsXHJcbiAgICBibG9ja3F1b3RlIHtcclxuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGRhcmstZ3JheTtcclxuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIGg1YnAuY29tL3RcclxuICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XHJcblxyXG4gICAgdHIsXHJcbiAgICBpbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cclxuXHJcbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxyXG5cclxuICAgIEBwYWdlIHsgbWFyZ2luOiAwLjVjbTsgfVxyXG5cclxuICAgIHAsXHJcbiAgICBoMixcclxuICAgIGgzIHtcclxuICAgICAgb3JwaGFuczogMztcclxuICAgICAgd2lkb3dzOiAzO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEF2b2lkIHBhZ2UgYnJlYWtzIGFmdGVyIGEgaGVhZGluZ1xyXG4gICAgaDIsXHJcbiAgICBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XHJcblxyXG4gICAgLy8gSGVscGVyIHRvIHJlLWFsbG93IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgY2VydGFpbiBlbGVtZW50cyAoZS5nLiBwcmUsIGJsb2NrcXVvdGUsIHRyKVxyXG4gICAgLnByaW50LWJyZWFrLWluc2lkZSB7XHJcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdXRvO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgeHktZ3JpZFxyXG4vLy8vXHJcblxyXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXHJcbkBtaXhpbiB4eS1iYXNlLWdyaWQtY2xhc3NlcyB7XHJcblxyXG4gIC8vIEdyaWQgQ29udGFpbmVyXHJcbiAgLmdyaWQtY29udGFpbmVyIHtcclxuICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyO1xyXG5cclxuICAgICYuZmx1aWQge1xyXG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcigxMDAlKTtcclxuICAgIH1cclxuXHJcbiAgICAmLmZ1bGwge1xyXG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcigxMDAlLCAwKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIEJhc2UgZ3JpZCBzdHlsZXNcclxuICAuZ3JpZC14IHtcclxuICAgIEBpbmNsdWRlIHh5LWdyaWQ7XHJcbiAgfVxyXG5cclxuICAuY2VsbCB7XHJcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoKTtcclxuICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRncmlkLWNvbHVtbnMsIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xyXG5cclxuICAgICYuYXV0byB7XHJcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcclxuICAgIH1cclxuXHJcbiAgICAmLnNocmluayB7XHJcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xyXG4gICAgfVxyXG5cclxuICB9XHJcbiAgLmdyaWQteCB7XHJcbiAgICA+IC5hdXRvIHtcclxuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UpO1xyXG4gICAgfVxyXG5cclxuICAgID4gLnNocmluayB7XHJcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gQXV0byB3aWR0aFxyXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XHJcbiAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzICYgUFJzIGZvciB0aGUgYmFja3N0b3J5OlxyXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTAyNDRcclxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDIyMiBhbmRcclxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDE2NFxyXG4gICAgLmdyaWQteCB7XHJcbiAgICAgICRzdHI6IFwiPiAuI3skLXpmLXNpemV9LXNocmluaywgPiAuI3skLXpmLXNpemV9LWZ1bGxcIjtcclxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcclxuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gLiN7JC16Zi1zaXplfS0jeyRpfVwiXHJcbiAgICAgIH1cclxuICAgICAgI3skc3RyfSB7XHJcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcclxuICAgIC8vIFJlc3BvbnNpdmUgXCJhdXRvXCIgbW9kaWZpZXJcclxuICAgIEBpZiBub3QoJC16Zi1zaXplID09IHNtYWxsKSB7XHJcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LWF1dG8ge1xyXG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcclxuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAlLXh5LWNlbGwtYmFzZS1zaHJpbmstaG9yaXpvbnRhbC0jeyQtemYtc2l6ZX0ge1xyXG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBSZXNwb25zaXZlIFwic2hyaW5rXCIgbW9kaWZpZXJcclxuICAgIEBpZiBub3QoJC16Zi1zaXplID09IHNtYWxsKSB7XHJcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LXNocmluayB7XHJcbiAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstaG9yaXpvbnRhbC0jeyQtemYtc2l6ZX07XHJcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBSZXNwb25zaXZlIHdpZHRoIG1vZGlmaWVyc1xyXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcclxuICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxyXG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS0jeyRpfSB7XHJcbiAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstaG9yaXpvbnRhbC0jeyQtemYtc2l6ZX07XHJcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBSZXNldCB3aWR0aCB3aGVuIHVzaW5nIGAuZ3JpZC1tYXJnaW4teGAgbm90IG9uIGAuZ3JpZC14YFxyXG4gIC5ncmlkLW1hcmdpbi14Om5vdCguZ3JpZC14KSA+IC5jZWxsIHtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gIH1cclxuXHJcbiAgLy8gUmVzZXQgaGVpZ2h0IHdoZW4gdXNpbmcgYC5ncmlkLW1hcmdpbi15YCBub3Qgb24gYC5ncmlkLXlgXHJcbiAgLmdyaWQtbWFyZ2luLXk6bm90KC5ncmlkLXkpID4gLmNlbGwge1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkY2xhc3MtYnJlYWtwb2ludCwgJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWwpIHtcclxuICAkcHJlZml4OiBpZigkY2xhc3MtYnJlYWtwb2ludCA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCwgJycsICcjeyRjbGFzcy1icmVha3BvaW50fS0nKTtcclxuICA+IC4jeyRwcmVmaXh9YXV0byB7XHJcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xyXG4gIH1cclxuXHJcbiAgPiAuI3skcHJlZml4fXNocmluayB7XHJcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlLCAkYnJlYWtwb2ludDogJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XHJcbiAgfVxyXG5cclxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xyXG4gICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxyXG4gICAgJGNsYXNzbmFtZTogaWYoJHZlcnRpY2FsLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9JywgJy4jeyRjbGFzcy1icmVha3BvaW50fS0jeyRpfScpO1xyXG5cclxuICAgID4gI3skY2xhc3NuYW1lfSB7XHJcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gTWFyZ2luIEdyaWQgY2xhc3Nlc1xyXG5AbWl4aW4geHktbWFyZ2luLWdyaWQtY2xhc3NlcyhcclxuICAkZ3V0dGVyLXBvc2l0aW9uOiBsZWZ0IHJpZ2h0LFxyXG4gICR2ZXJ0aWNhbDogZmFsc2UsXHJcbiAgJHdyYXBwaW5nLXNlbGVjdG9yOiAnLmdyaWQtbWFyZ2luLXgnXHJcbil7XHJcbiAgI3skd3JhcHBpbmctc2VsZWN0b3J9IHtcclxuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiAkZ3V0dGVyLXBvc2l0aW9uKTtcclxuXHJcbiAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXHJcbiAgICA+IC5jZWxsIHtcclxuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJHZlcnRpY2FsOiAkdmVydGljYWwpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIGJhc2Ugc3R5bGVzIG5lZWQgdG8gYWxsIGJlIGJlZm9yZSB0aGUgYXV0byBhbmQgc2hyaW5rIHN0eWxlc1xyXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcclxuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSBhbmQgJC16Zi1zaXplICE9ICQtemYtemVyby1icmVha3BvaW50KSB7XHJcbiAgICAgICAgPiAuY2VsbCB7XHJcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcclxuXHJcbiAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXHJcbiAgICAgIC8vIGZvciBhbGwgcHJpb3IgYnJlYWtwb2ludHMuXHJcbiAgICAgIC8vIEFzIHRoZWlyIGd1dHRlciBpcyBkZWZpbmVkIHdpdGggdGhlaXIgd2lkdGgvaGVpZ2h0LCBldmVuIGJyZWFrcG9pbnQgd2l0aG91dCBhIG5ldyBtYXJnaW4gbXVzdCBiZVxyXG4gICAgICAvLyBnZW5lcmF0ZWQgdG8gbm90IGhhdmluZyB0aGVpciB3aWR0aC9oZWlnaHQgb3ZlcnJpZGVkIGJ5IHJlLWFkanVzdGVkIHNtYWxsZXIgYnJlYWtwb2ludHMuXHJcbiAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkpIHtcclxuICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcclxuICAgICAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkYnAsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkLXpmLXNpemUsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIFBhZGRpbmcgR3JpZCBjbGFzc2VzXHJcbkBtaXhpbiB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcyB7XHJcbiAgLmdyaWQtcGFkZGluZy14IHtcclxuXHJcbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIG5lc3RlZCBncmlkc1xyXG4gICAgLmdyaWQtcGFkZGluZy14IHtcclxuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgZ3JpZHMgd2l0aGluIGBncmlkLWNvbnRhaW5lci9ncmlkLWNvbnRhaW5lci5mbHVpZGBcclxuICAgIC8vIFRoaXMgYWxsb3dzIG1hcmdpbiBhbmQgcGFkZGluZyBncmlkcyB0byBsaW5lIHVwIHdpdGggZWFjaG90aGVyXHJcbiAgICAuZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+ICYge1xyXG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xyXG4gICAgPiAuY2VsbCB7XHJcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIEJsb2NrIEdyaWQgY2xhc3Nlc1xyXG5AbWl4aW4geHktYmxvY2stZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZDogdHJ1ZSwgJHBhZGRpbmctZ3JpZDogdHJ1ZSkge1xyXG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcclxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xyXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XHJcbiAgICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XHJcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkbjogJGksICRzZWxlY3RvcjogJy5jZWxsJywgJGd1dHRlci1vdXRwdXQ6IGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRicmVha3BvaW50OiAkLXpmLXNpemUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGlmICRtYXJnaW4tZ3JpZCB7XHJcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcclxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xyXG4gICAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXHJcbiAgICAgICAgLy8gZm9yIHByaW9yIGJyZWFrcG9pbnRzIGJhc2VkIG9uIHRoZSByZXNwb25zaXZlIGd1dHRlci5cclxuICAgICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XHJcbiAgICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcclxuICAgICAgICAgICAgQGlmKG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkYnApKSB7XHJcbiAgICAgICAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skYnB9LXVwLSN7JGl9IHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRuOiAkaSwgJHNlbGVjdG9yOiAnLmNlbGwnLCAkZ3V0dGVyLW91dHB1dDogZmFsc2UsICRndXR0ZXItdHlwZTogbWFyZ2luLCAkYnJlYWtwb2ludDogJC16Zi1zaXplKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xyXG4gICAgICAgIC5ncmlkLW1hcmdpbi14LiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XHJcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkbjogJGksICRzZWxlY3RvcjogJy5jZWxsJywgJGd1dHRlci1vdXRwdXQ6IGZhbHNlLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBDb2xsYXBzZSBjbGFzc2VzXHJcbkBtaXhpbiB4eS1jb2xsYXBzZS1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkOiB0cnVlLCAkcGFkZGluZy1ncmlkOiB0cnVlKSB7XHJcbiAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xyXG4gICAgQGlmICRtYXJnaW4tZ3JpZCB7XHJcbiAgICAgIC4jeyRicH0tbWFyZ2luLWNvbGxhcHNlIHtcclxuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbGxhcHNlKCRndXR0ZXItdHlwZTogbWFyZ2luLCAkbWluLWJyZWFrcG9pbnQ6ICRicCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAaWYgJHBhZGRpbmctZ3JpZCB7XHJcbiAgICAgIC4jeyRicH0tcGFkZGluZy1jb2xsYXBzZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRtaW4tYnJlYWtwb2ludDogJGJwKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gT2Zmc2V0IGNsYXNzZXNcclxuQG1peGluIHh5LW9mZnNldC1jZWxsLWNsYXNzZXMge1xyXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xyXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcclxuICAgICAgLy8gT2Zmc2V0c1xyXG4gICAgICAkbzogJGkgLSAxO1xyXG5cclxuICAgICAgLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xyXG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KCRvLCAkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRicmVha3BvaW50OiAkLXpmLXNpemUpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuZ3JpZC1tYXJnaW4teCA+IC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcclxuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgkbywgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIFZlcnRpY2FsIEdyaWQgY2xhc3Nlc1xyXG5AbWl4aW4geHktdmVydGljYWwtZ3JpZC1jbGFzc2VzKFxyXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcclxuICAkcGFkZGluZy1ncmlkOiB0cnVlXHJcbikge1xyXG5cclxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xyXG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gc21hbGwpIHtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5ncmlkLXkge1xyXG4gICAgQGluY2x1ZGUgeHktZ3JpZCh2ZXJ0aWNhbCwgZmFsc2UpO1xyXG5cclxuXHJcbiAgICA+IC5jZWxsIHtcclxuICAgICAgQGluY2x1ZGUgeHktY2VsbC1yZXNldCgpO1xyXG4gICAgfVxyXG5cclxuICAgID4gLmF1dG8ge1xyXG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSwgJHZlcnRpY2FsOiB0cnVlKTtcclxuICAgIH1cclxuXHJcbiAgICA+IC5zaHJpbmsge1xyXG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlLCAkdmVydGljYWw6IHRydWUpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xyXG4gICAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzIGFuZCBQUnMgZm9yIHRoZSBiYWNrc3Rvcnk6XHJcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XHJcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDIyMiBhbmRcclxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMTY0XHJcbiAgICAgICRzdHI6IFwiPiAuI3skLXpmLXNpemV9LXNocmluaywgPiAuI3skLXpmLXNpemV9LWZ1bGxcIjtcclxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcclxuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gLiN7JC16Zi1zaXplfS0jeyRpfVwiXHJcbiAgICAgIH1cclxuICAgICAgI3skc3RyfSB7XHJcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XHJcbiAgICAgIC8vIFJlc3BvbnNpdmUgXCJhdXRvXCIgbW9kaWZpZXJcclxuICAgICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gc21hbGwpIHtcclxuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XHJcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoYXV0byk7XHJcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICUteHktY2VsbC1iYXNlLXNocmluay12ZXJ0aWNhbC0jeyQtemYtc2l6ZX0ge1xyXG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBSZXNwb25zaXZlIFwic2hyaW5rXCIgbW9kaWZpZXJcclxuICAgICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gc21hbGwpIHtcclxuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tc2hyaW5rIHtcclxuICAgICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLXZlcnRpY2FsLSN7JC16Zi1zaXplfTtcclxuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UsICRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogdHJ1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBSZXNwb25zaXZlIHdpZHRoIG1vZGlmaWVyc1xyXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xyXG4gICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcclxuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tI3skaX0ge1xyXG4gICAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstdmVydGljYWwtI3skLXpmLXNpemV9O1xyXG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksIGZhbHNlLCAkdmVydGljYWw6IHRydWUsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGlmICRwYWRkaW5nLWdyaWQge1xyXG4gICAgLmdyaWQtcGFkZGluZy15IHtcclxuICAgICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcclxuICAgICAgLmdyaWQtcGFkZGluZy15IHtcclxuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSwgJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcclxuICAgICAgPiAuY2VsbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgJG1hcmdpbi1ncmlkIHtcclxuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXModG9wIGJvdHRvbSwgdHJ1ZSwgJy5ncmlkLW1hcmdpbi15Jyk7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuQG1peGluIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZDogdHJ1ZSwgJG1hcmdpbi1ncmlkOiB0cnVlKSB7XHJcbiAgLy8gRnJhbWVkIGdyaWQgc3R5bGVzXHJcbiAgLmdyaWQtZnJhbWUge1xyXG4gICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZTtcclxuICB9XHJcblxyXG4gIC5jZWxsIC5ncmlkLWZyYW1lIHtcclxuICAgIHdpZHRoOiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xyXG4gIH1cclxuXHJcbiAgLmNlbGwtYmxvY2sge1xyXG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jaygpO1xyXG4gIH1cclxuXHJcbiAgLmNlbGwtYmxvY2steSB7XHJcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xyXG4gIH1cclxuXHJcblxyXG4gIC5jZWxsLWJsb2NrLWNvbnRhaW5lciB7XHJcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpO1xyXG4gIH1cclxuXHJcblxyXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcclxuXHJcbiAgICAuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xyXG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xyXG4gICAgfVxyXG5cclxuICAgIC5jZWxsIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XHJcbiAgICAgIHdpZHRoOiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xyXG4gICAgfVxyXG5cclxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jayB7XHJcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2soKTtcclxuICAgIH1cclxuXHJcbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2stY29udGFpbmVyIHtcclxuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcclxuICAgIH1cclxuXHJcbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2steSB7XHJcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2sodHJ1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgJHZlcnRpY2FsLWdyaWQge1xyXG4gICAgLmdyaWQteSB7XHJcbiAgICAgICYuZ3JpZC1mcmFtZSB7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xyXG4gICAgICAgICYuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xyXG4gICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5jZWxsIHtcclxuICAgICAgLmdyaWQteS5ncmlkLWZyYW1lIHtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXHJcbiAgICAgIH1cclxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xyXG4gICAgICAgIC5ncmlkLXkuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xyXG4gICAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBAaWYgJG1hcmdpbi1ncmlkIHtcclxuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXModG9wIGJvdHRvbSwgdHJ1ZSwgJy5ncmlkLW1hcmdpbi15Jyk7XHJcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcclxuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlLCBmYWxzZSwgJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRpbmNsdWRlLWJhc2U6IGZhbHNlKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcclxuICAgICAgLmdyaWQtbWFyZ2luLXkuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xyXG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSwgZmFsc2UsICRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUsIGZhbHNlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gRmluYWwgY2xhc3Nlc1xyXG5AbWl4aW4gZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXMoXHJcbiAgJGJhc2UtZ3JpZDogdHJ1ZSxcclxuICAkbWFyZ2luLWdyaWQ6IHRydWUsXHJcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZSxcclxuICAkYmxvY2stZ3JpZDogdHJ1ZSxcclxuICAkY29sbGFwc2U6IHRydWUsXHJcbiAgJG9mZnNldDogdHJ1ZSxcclxuICAkdmVydGljYWwtZ3JpZDogdHJ1ZSxcclxuICAkZnJhbWUtZ3JpZDogdHJ1ZVxyXG4pIHtcclxuXHJcbiAgLy8gQmFzZSBncmlkIHN0eWxlc1xyXG4gIEBpZigkYmFzZS1ncmlkKSB7XHJcbiAgICBAaW5jbHVkZSB4eS1iYXNlLWdyaWQtY2xhc3NlcygpO1xyXG4gIH1cclxuXHJcbiAgLy8gTWFyZ2luIGdyaWRcclxuICBAaWYoJG1hcmdpbi1ncmlkKSB7XHJcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKCk7XHJcbiAgfVxyXG5cclxuICAvLyBQYWRkaW5nIGdyaWRcclxuICBAaWYoJHBhZGRpbmctZ3JpZCkge1xyXG4gICAgQGluY2x1ZGUgeHktcGFkZGluZy1ncmlkLWNsYXNzZXMoKTtcclxuICB9XHJcblxyXG4gIC8vIEJsb2NrIGdyaWRcclxuICBAaWYoJGJsb2NrLWdyaWQpIHtcclxuICAgIEBpbmNsdWRlIHh5LWJsb2NrLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xyXG4gIH1cclxuXHJcbiAgLy8gQ29sbGFwc2UgZ3V0dGVyc1xyXG4gIEBpZigkY29sbGFwc2UpIHtcclxuICAgIEBpbmNsdWRlIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xyXG4gIH1cclxuXHJcbiAgLy8gT2Zmc2V0IGd1dHRlcnNcclxuICBAaWYoJG9mZnNldCkge1xyXG4gICAgQGluY2x1ZGUgeHktb2Zmc2V0LWNlbGwtY2xhc3NlcygpO1xyXG4gIH1cclxuXHJcbiAgLy8gVmVydGljYWwgZ3JpZFxyXG4gIEBpZigkdmVydGljYWwtZ3JpZCkge1xyXG4gICAgQGluY2x1ZGUgeHktdmVydGljYWwtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XHJcbiAgfVxyXG5cclxuICBAaWYgKCRmcmFtZS1ncmlkKSB7XHJcbiAgICBAaW5jbHVkZSB4eS1mcmFtZS1ncmlkLWNsYXNzZXMoJHZlcnRpY2FsLWdyaWQsICRtYXJnaW4tZ3JpZClcclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIHh5LWdyaWRcclxuLy8vL1xyXG5cclxuLy8vIENyZWF0ZSBndXR0ZXJzIGZvciBhIGNlbGwvY29udGFpbmVyLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXHJcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBlaXRoZXIgbWFyZ2luIG9yIHBhZGRpbmcuXHJcbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxyXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVnYXRpdmUgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gYXBwbHkgdGhlIGd1dHRlciBhcyBhIG5lZ2F0aXZlIHZhbHVlLiBDb21tb25seSB1c2VkIGZvciBuZXN0ZWQgZ3JpZHMuXHJcbkBtaXhpbiB4eS1ndXR0ZXJzKFxyXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcclxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcclxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxyXG4gICRuZWdhdGl2ZTogZmFsc2VcclxuKSB7XHJcbiAgJG9wZXJhdG9yOiBpZigkbmVnYXRpdmUsICctJywgJycpO1xyXG5cclxuICAvLyBJZiB3ZSBoYXZlIGRlY2xhcmVkIG5lZ2F0aXZlIGd1dHRlcnMsIGZvcmNlIHR5cGUgdG8gYG1hcmdpbi5cclxuICAkZ3V0dGVyLXR5cGU6IGlmKCRuZWdhdGl2ZSwgJ21hcmdpbicsICRndXR0ZXItdHlwZSk7XHJcblxyXG4gIC8vIE91dHB1dCBvdXIgbWFyZ2luIGd1dHRlcnMuXHJcbiAgQGlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJykge1xyXG4gICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoYXV0bywgJGd1dHRlcnMpIHtcclxuICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgLyAyO1xyXG5cclxuICAgICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZ3V0dGVyIHBvc2l0aW9uXHJcbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcclxuICAgICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiB1bnF1b3RlKFwiI3skb3BlcmF0b3J9I3skZ3V0dGVyfVwiKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAodHlwZS1vZigkZ3V0dGVycykgPT0gJ251bWJlcicpIHtcclxuICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXJzKSAvIDI7XHJcblxyXG4gICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZ3V0dGVyIHBvc2l0aW9uXHJcbiAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XHJcbiAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06IHVucXVvdGUoXCIjeyRvcGVyYXRvcn0jeyRndXR0ZXJ9XCIpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgeHktZ3JpZFxyXG4vLy8vXHJcblxyXG4vLy8gQ3JlYXRlcyBhIG1heCB3aWR0aCBjb250YWluZXIsIGRlc2lnbmVkIHRvIGhvdXNlIHlvdXIgZ3JpZCBjb250ZW50LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLWNvbnRhaW5lcl0gLSBhIHdpZHRoIHRvIGxpbWl0IHRoZSBjb250YWluZXIgdG8uXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRncmlkLWNvbnRhaW5lci1wYWRkaW5nXSAtIHBhZGRpbmdzIG9mIHRoZSBjb250YWluZXIuXHJcbkBtaXhpbiB4eS1ncmlkLWNvbnRhaW5lcihcclxuICAkd2lkdGg6ICRncmlkLWNvbnRhaW5lcixcclxuICAkcGFkZGluZzogJGdyaWQtY29udGFpbmVyLXBhZGRpbmdcclxuKSB7XHJcbiAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJHBhZGRpbmcsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XHJcblxyXG4gIG1heC13aWR0aDogJHdpZHRoO1xyXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gIG1hcmdpbi1yaWdodDogYXV0bztcclxufVxyXG5cclxuLy8vIENyZWF0ZXMgYSBjb250YWluZXIgZm9yIHlvdXIgZmxleCBjZWxscy5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2hvcml6b250YWxdIC0gRWl0aGVyIGhvcml6b250YWwgb3IgdmVydGljYWwgZGlyZWN0aW9uIG9mIGNlbGxzIHdpdGhpbi5cclxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHdyYXAgW3RydWVdIC0gSWYgdGhlIGNlbGxzIHdpdGhpbiBzaG91bGQgd3JhcCBvciBub3QuXHJcbkBtaXhpbiB4eS1ncmlkKFxyXG4gICRkaXJlY3Rpb246IGhvcml6b250YWwsXHJcbiAgJHdyYXA6IHRydWVcclxuKSB7XHJcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiA9PSAnaG9yaXpvbnRhbCcsIHJvdywgY29sdW1uKTtcclxuICAkd3JhcDogaWYoJHdyYXAsIHdyYXAsIG5vd3JhcCk7XHJcblxyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1mbG93OiAkZGlyZWN0aW9uICR3cmFwO1xyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCB4eS1ncmlkXHJcbi8vLy9cclxuXHJcbi8vLyBDYWxjdWxhdGUgdGhlIHBlcmNlbnRhZ2Ugc2l6ZSBvZiBhIGNlbGwuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHNpemUgWyRncmlkLWNvbHVtbnNdIC0gU2l6ZSB0byBtYWtlIHRoZSBjZWxsLiBZb3UgY2FuIHBhc3MgYSB2YWx1ZSBpbiBtdWx0aXBsZSBmb3JtYXRzLCBzdWNoIGFzIGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzNgLlxyXG5AZnVuY3Rpb24geHktY2VsbC1zaXplKFxyXG4gICRzaXplOiAkZ3JpZC1jb2x1bW5zXHJcbikge1xyXG4gIC8vIFBhcnNpbmcgcGVyY2VudHMsIGRlY2ltYWxzLCBuIG9mIG4gYW5kIG51bWJlciBjb3VudHNcclxuICBAaWYgdHlwZS1vZigkc2l6ZSkgPT0gJ251bWJlcicge1xyXG4gICAgQGlmIHVuaXQoJHNpemUpID09ICclJyB7XHJcbiAgICAgICRzaXplOiAkc2l6ZTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRzaXplIDwgMSB7XHJcbiAgICAgICRzaXplOiBwZXJjZW50YWdlKCRzaXplKTtcclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgJHNpemU6IHBlcmNlbnRhZ2UoJHNpemUgLyAkZ3JpZC1jb2x1bW5zKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFBhcnNpbmcgXCJuIG9mIG5cIiBvciBcIm4vblwiIGV4cHJlc3Npb25zXHJcbiAgQGVsc2UgaWYgdHlwZS1vZigkc2l6ZSkgPT0gJ2xpc3QnIHtcclxuICAgIEBpZiBsZW5ndGgoJHNpemUpICE9IDMge1xyXG4gICAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgeHktY2VsbC1zaXplKCkuIFVzZSB0aGUgZm9ybWF0IFwibiBvZiBuXCIgb3IgXCJuL25cIi4nO1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICAkc2l6ZTogcGVyY2VudGFnZShudGgoJHNpemUsIDEpIC8gbnRoKCRzaXplLCAzKSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vIEFueXRoaW5nIGVsc2UgaXMgaW5jb3JyZWN0XHJcbiAgQGVsc2Uge1xyXG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIHh5LWNlbGwtc2l6ZSgpLiBVc2UgYSBudW1iZXIsIGRlY2ltYWwsIHBlcmNlbnRhZ2UsIG9yIFwibiBvZiBuXCIgLyBcIm4vblwiLic7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRzaXplO1xyXG59XHJcblxyXG4vLy8gU2V0cyBiYXNlIGZsZXggcHJvcGVydGllcyBmb3IgY2VsbHMuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIEFjY2VwdHMgYGZ1bGxgLCBgYXV0b2AsIGBzaHJpbmtgIG9yIGBncm93YC5cclxuQG1peGluIHh5LWNlbGwtYmFzZSgkc2l6ZTogZnVsbCkge1xyXG4gIEBpZigkc2l6ZSA9PSAnZnVsbCcpIHtcclxuICAgIC8vIFRoaXMgaXMgdGhlIGJhc2Ugc3R5bGUsIGFsbCBvdGhlcnMgaW5oZXJpdCBmcm9tIGl0XHJcbiAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgIG1pbi1oZWlnaHQ6IDBweDtcclxuICAgIG1pbi13aWR0aDogMHB4O1xyXG4gIH1cclxuICBAZWxzZSBpZiAoJHNpemUgPT0gJ2F1dG8nKSB7XHJcbiAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxyXG4gIH1cclxuICBAZWxzZSBpZiAoJHNpemUgPT0gJ3NocmluaycpIHtcclxuICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gIH1cclxuICBAZWxzZSBpZiAoJHNpemUgPT0gJ2dyb3cnKSB7XHJcbiAgICBmbGV4OiAxIDAgYXV0bztcclxuICB9XHJcbn1cclxuXHJcbi8vLyBSZXNldHMgYSBjZWxscyB3aWR0aCAob3IgaGVpZ2h0IGlmIHZlcnRpY2FsIGlzIHRydWUpIGFzIHdlbGwgYXMgc3RyaXBzIGl0cyBndXR0ZXJzLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cclxuQG1peGluIHh5LWNlbGwtcmVzZXQoJHZlcnRpY2FsOiB0cnVlKSB7XHJcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHdpZHRoLCBoZWlnaHQpO1xyXG4gICN7JGRpcmVjdGlvbn06IGF1dG87XHJcbiAgbWF4LSN7JGRpcmVjdGlvbn06IG5vbmU7XHJcbn1cclxuXHJcbi8vIFNldHMgb3VyIGNlbGwgd2lkdGhzIG9yIGhlaWdodHMgZGVwZW5kaW5nIG9uIGd1dHRlciB0eXBlLlxyXG5AbWl4aW4gLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJG1hcmdpbi1ndXR0ZXIsICR2ZXJ0aWNhbCkge1xyXG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCBoZWlnaHQsIHdpZHRoKTtcclxuICBAaWYoJHNpemUgPT0gJ2Z1bGwnKSB7XHJcbiAgICAkdmFsOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAxMDAlLCBjYWxjKDEwMCUgLSAje3JlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKX0pKTtcclxuICAgICN7JGRpcmVjdGlvbn06ICR2YWw7XHJcbiAgfVxyXG4gIEBlbHNlIGlmICgkc2l6ZSA9PSAnYXV0bycpIHtcclxuICAgICN7JGRpcmVjdGlvbn06IGF1dG87XHJcbiAgICAkdmFsOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAxMDAlLCBjYWxjKDEwMCUgLSAje3JlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKX0pKTtcclxuICB9XHJcbiAgQGVsc2UgaWYgKCRzaXplID09ICdzaHJpbmsnKSB7XHJcbiAgICAjeyRkaXJlY3Rpb259OiBhdXRvO1xyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICAkdmFsOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAje3h5LWNlbGwtc2l6ZSgkc2l6ZSl9LCBjYWxjKCN7eHktY2VsbC1zaXplKCRzaXplKX0gLSAje3JlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKX0pKTtcclxuICAgICN7JGRpcmVjdGlvbn06ICR2YWw7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQ3JlYXRlcyBhIGNlbGwgZm9yIHlvdXIgZ3JpZC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKGRlZmF1bHQpIGZvciAxMDAlIHdpZHRoLCBgYXV0b2AgdG8gdXNlIHVwIGF2YWlsYWJsZSBzcGFjZSBhbmQgYHNocmlua2AgdG8gdXNlIHVwIG9ubHkgcmVxdWlyZWQgc3BhY2UuXHJcbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzXHJcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxyXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cclxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cclxuQG1peGluIHh5LWNlbGwoXHJcbiAgJHNpemU6IGZ1bGwsXHJcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXHJcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxyXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxyXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXHJcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXHJcbiAgJHZlcnRpY2FsOiBmYWxzZVxyXG4pIHtcclxuICAkYnAtaXMtZmFsbGJhY2s6IGZhbHNlO1xyXG5cclxuICBAaWYoJGJyZWFrcG9pbnQgPT0gbnVsbCkge1xyXG4gICAgLy8gSWYgYCRicC1zaXplYCBpcyBhdmFpbGFibGUgdGhlbiB1c2UgdGhpcywgb3RoZXJ3aXNlIHJldmVydCB0byB0aGUgc21hbGxlc3QgYnAuXHJcbiAgICBAaWYodmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSBhbmQgdHlwZS1vZigkLXpmLXNpemUpICE9ICdudW1iZXInKSBhbmQgJC16Zi1zaXplICE9IG51bGwge1xyXG4gICAgICAkYnJlYWtwb2ludDogJC16Zi1zaXplO1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XHJcbiAgICAgICRicC1pcy1mYWxsYmFjazogdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIEdldCB0aGUgZ3V0dGVyIGZvciB0aGUgZ2l2ZW4gYnJlYWtwb2ludC92YWx1ZS5cclxuICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xyXG4gIC8vIElmIHRoZSBicmVha3BvaW50IGlzIGEgZmFsbGJhY2ssIHVzZSBhIGZhbGxiYWNrIGd1dHRlciBhcyB3ZWxsXHJcbiAgQGlmICgkYnAtaXMtZmFsbGJhY2sgPT0gdHJ1ZSBhbmQgJGd1dHRlciA9PSBudWxsKSB7XHJcbiAgICAkZ3V0dGVyOiAwO1xyXG4gIH1cclxuXHJcbiAgQGlmKCRndXR0ZXIgIT0gbnVsbCkge1xyXG4gICAgLy8gQmFzZSBmbGV4IHByb3BlcnRpZXNcclxuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZSgkc2l6ZSk7XHJcblxyXG4gICAgQGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xyXG4gICAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkZ3V0dGVyLCAkdmVydGljYWwpO1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAwLCAkdmVydGljYWwpO1xyXG4gICAgfVxyXG5cclxuICAgIEBpZiAkZ3V0dGVyLW91dHB1dCB7XHJcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlciwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgQHdhcm4gJ3h5LWNlbGw6IG5vIGd1dHRlcnMgd2VyZSBmb3VuZCBpbiBgJGd1dHRlcnNgIGZvciBcIiRicmVha3BvaW50OiAjeyRicmVha3BvaW50fVwiLCBjZWxsIHdhcyBub3QgZ2VuZXJhdGVkYCdcclxuICB9XHJcbn1cclxuXHJcbi8vLyBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgc2l6ZWQgZ3JpZC4gVXNlZCB0byBnZW5lcmF0ZSBvdXIgZ3JpZCBjbGFzc2VzLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoZGVmYXVsdCkgZm9yIDEwMCUgd2lkdGgsIGBhdXRvYCB0byB1c2UgdXAgYXZhaWxhYmxlIHNwYWNlIGFuZCBgc2hyaW5rYCB0byB1c2UgdXAgb25seSByZXF1aXJlZCBzcGFjZS5cclxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnNcclxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXHJcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXHJcbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXHJcbkBtaXhpbiB4eS1jZWxsLXN0YXRpYyhcclxuICAkc2l6ZTogZnVsbCxcclxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcclxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXHJcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXHJcbiAgJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50LFxyXG4gICR2ZXJ0aWNhbDogZmFsc2VcclxuKSB7XHJcblxyXG4gICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XHJcbiAgJGd1dHRlci1wb3NpdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHRvcCBib3R0b20sIGxlZnQgcmlnaHQpO1xyXG5cclxuICBAaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XHJcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkZ3V0dGVyLCAkdmVydGljYWwpO1xyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAwLCAkdmVydGljYWwpO1xyXG4gIH1cclxuXHJcbiAgLy8gSWYgd2Ugd2FudCB0byBvdXRwdXQgdGhlIGd1dHRlcnNcclxuICBAaWYoJGd1dHRlci1vdXRwdXQpIHtcclxuICAgIC8vIFRPRE86IEZpZ3VyZSBvdXQgaWYgd2UgbmVlZCB0byBwYXNzIGJyZWFrcG9pbnQgaW4gaGVyZSB0b28uXHJcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXIsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCB4eS1ncmlkXHJcbi8vLy9cclxuXHJcbi8vLyBTaXplcyBjaGlsZCBlbGVtZW50cyBzbyB0aGF0IGAkbmAgbnVtYmVyIG9mIGl0ZW1zIGFwcGVhciBvbiBlYWNoIHJvdy5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgZWxlbWVudHMgdG8gZGlzcGxheSBwZXIgcm93LlxyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJy5jZWxsJ10gLSBTZWxlY3RvcihzKSB0byB1c2UgZm9yIGNoaWxkIGVsZW1lbnRzLlxyXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVyc1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cclxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gIG9yIGBwYWRkaW5nYC5cclxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIGJyZWFrcG9pbnQgdG8gdXNlIGZvciB0aGUgY2VsbCBnZW5lcmF0aW9uLlxyXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxyXG5AbWl4aW4geHktZ3JpZC1sYXlvdXQoXHJcbiAgJG4sXHJcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxyXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxyXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcclxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcclxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxyXG4gICRicmVha3BvaW50OiBudWxsLFxyXG4gICR2ZXJ0aWNhbDogZmFsc2VcclxuKSB7XHJcbiAgJHNpemU6IHBlcmNlbnRhZ2UoMS8kbik7XHJcblxyXG4gICYgPiAjeyRzZWxlY3Rvcn0ge1xyXG4gICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZSwgJGd1dHRlci1vdXRwdXQsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24sICRicmVha3BvaW50LCAkdmVydGljYWwpO1xyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgeHktZ3JpZFxyXG4vLy8vXHJcblxyXG4vLy8gQ29sbGFwc2VzIHRoZSBncmlkIGEgY2VsbHMgd2l0aGluIGl0LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWy5jZWxsXSAtIFRoZSBjaGlsZCBlbGVtZW50IHRvIHJlbW92ZSB0aGUgZ3V0dGVyIGZyb20uXHJcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFRoZSB0eXBlIG9mIGd1dHRlciB0byByZW1vdmUuXHJcbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9ucyB0byByZW1vdmUgZ3V0dGVycyBmcm9tLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cclxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJG1pbi1icmVha3BvaW50IFskLXpmLXplcm8tYnJlYWtwb2ludF0gLSBNaW5pbXVtIGJyZWFrcG9pbnQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGZvciB3aGljaCB0byBjb2xsYXBzZSB0aGUgZ3V0dGVyLlxyXG5AbWl4aW4geHktZ3JpZC1jb2xsYXBzZShcclxuICAkc2VsZWN0b3I6ICcuY2VsbCcsXHJcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXHJcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcclxuICAkbWluLWJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50XHJcbikge1xyXG4gIC8vIEZpcnN0LCBsZXRzIG5lZ2F0ZSBhbnkgbWFyZ2lucyBvbiB0aGUgdG9wIGxldmVsXHJcbiAgQGlmICgkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xyXG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XHJcbiAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcclxuICAgICAgfVxyXG5cclxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xyXG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcclxuICAgICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJGV4Y2x1ZGVkLWJwczogLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkbWluLWJyZWFrcG9pbnQpO1xyXG5cclxuICAgIC8vIE91dHB1dCBuZXcgd2lkdGhzIHRvIG5vdCBpbmNsdWRlIGd1dHRlcnNcclxuICAgIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcclxuICAgICAgQGlmKHNsLWNvbnRhaW4oJGV4Y2x1ZGVkLWJwcywgJGJwKSkge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XHJcbiAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xyXG4gICAgICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXHJcbiAgICAgICAgICAgID4gLiN7JGJwfS0jeyRpfSB7XHJcbiAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksICRndXR0ZXItb3V0cHV0OiBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnApIHtcclxuICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XHJcbiAgICAgICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcclxuICAgICAgICAgICAgPiAuI3skYnB9LSN7JGl9IHtcclxuICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgJGd1dHRlci1vdXRwdXQ6IGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xyXG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XHJcbiAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcclxuICAgICAgfVxyXG5cclxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xyXG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcclxuICAgICAgICAgIHBhZGRpbmctI3skdmFsdWV9OiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgeHktZ3JpZFxyXG4vLy8vXHJcblxyXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQvYm90dG9tIGJ5IGAkbmAgY29sdW1ucy5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFNpemUgdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgemYtY2VsbCgpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSBNYXAgb2YgZ3V0dGVycyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIGZvciByZXNwb25zaXZlIGd1dHRlcnMuXHJcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSBUaGUgdHlwZSBvZiBndXR0ZXIgdG8gdXNlLiBDYW4gYmUgYG1hcmdpbmAgb3IgYHBhZGRpbmdgXHJcbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkYnJlYWtwb2ludCBbJC16Zi16ZXJvLWJyZWFrcG9pbnRdIC0gU2luZ2xlIHZhbHVlLCBicmVha3BvaW50IG5hbWUsIG9yIGxpc3Qgb2YgYnJlYWtwb2ludCBuYW1lcyB0byB1c2UgZm9yIGAkZ3V0dGVyc2AuIFNlZSBgLXpmLWJyZWFrcG9pbnQtdmFsdWUoKWAuXHJcbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIFNldHMgdGhlIGRpcmVjdGlvbiBvZiB0aGUgb2Zmc2V0LiBJZiBzZXQgdG8gdHJ1ZSB3aWxsIGFwcGx5IG1hcmdpbi10b3AgaW5zdGVhZC5cclxuQG1peGluIHh5LWNlbGwtb2Zmc2V0KFxyXG4gJG4sXHJcbiAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXHJcbiAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcclxuICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcclxuICR2ZXJ0aWNhbDogZmFsc2VcclxuKSB7XHJcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsLCAndG9wJywgJGdsb2JhbC1sZWZ0KTtcclxuXHJcbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJGJyZWFrcG9pbnQsICRndXR0ZXJzKSB7XHJcbiAgICAkZ3V0dGVyOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAvIDI7XHJcbiAgICAkZ3V0dGVyLW1hcmdpbjogaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nLCAkZ3V0dGVyLCAwKTtcclxuICAgICRzaXplOiBpZigkZ3V0dGVyLW1hcmdpbiA9PSAwLCAje3h5LWNlbGwtc2l6ZSgkbil9LCBjYWxjKCN7eHktY2VsbC1zaXplKCRuKX0gKyAjeyRndXR0ZXItbWFyZ2lufSkpO1xyXG5cclxuICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAjeyRzaXplfTtcclxuICB9XHJcbn1cclxuIiwiLy8vIE1vZGlmaWVzIGEgZ3JpZCB0byBnaXZlIGl0IFwiZnJhbWVcIiBiZWhhdmlvciAobm8gb3ZlcmZsb3csIG5vIHdyYXAsIHN0cmV0Y2ggYmVoYXZpb3IpXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXHJcbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZXN0ZWQgW2ZhbHNlXSAtIElzIGdyaWQgbmVzdGVkIG9yIG5vdC4gSWYgbmVzdGVkIGlzIHRydWUgdGhpcyBzZXRzIHRoZSBmcmFtZSB0byAxMDAlIGhlaWdodCwgb3RoZXJ3aXNlIHdpbGwgYmUgMTAwdmguXHJcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFtudWxsXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLlxyXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW5jbHVkZS1iYXNlIFt0cnVlXSAtIEluY2x1ZGUgdGhlIGJhc2Ugc3R5bGVzIHRoYXQgZG9uJ3QgdmFyeSBwZXIgYnJlYWtwb2ludC5cclxuQG1peGluIHh5LWdyaWQtZnJhbWUoXHJcbiAgJHZlcnRpY2FsOiBmYWxzZSxcclxuICAkbmVzdGVkOiBmYWxzZSxcclxuICAkZ3V0dGVyczogbnVsbCxcclxuICAkYnJlYWtwb2ludDogbnVsbCxcclxuICAkaW5jbHVkZS1iYXNlOiB0cnVlXHJcbikge1xyXG5cclxuICBAaWYgJGluY2x1ZGUtYmFzZSB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcclxuICB9XHJcblxyXG4gIEBpZiAkYnJlYWtwb2ludCA9PSBudWxsIGFuZCB0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJyB7XHJcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xyXG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKCR2ZXJ0aWNhbCwgJG5lc3RlZCwgJGd1dHRlcnMsICQtemYtc2l6ZSwgZmFsc2UpO1xyXG4gICAgfVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgLy8gR2V0IG91ciBndXR0ZXJzIGlmIGFwcGxpY2FibGVcclxuICAgICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XHJcblxyXG4gICAgLy8gSWYgd2UgaGF2ZSBhIGd1dHRlciwgYWRkIGl0IHRvIHRoZSB3aWR0aC9oZWlnaHRcclxuICAgIEBpZiAkZ3V0dGVyIHtcclxuICAgICAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcclxuICAgICAgICAkdW5pdDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2aCk7XHJcbiAgICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcik7XHJcbiAgICAgICAgaGVpZ2h0OiBjYWxjKCN7JHVuaXR9ICsgI3skZ3V0dGVyfSk7XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICR1bml0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZ3KTtcclxuICAgICAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKTtcclxuICAgICAgICB3aWR0aDogY2FsYygjeyR1bml0fSArICN7JGd1dHRlcn0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBAZWxzZSB7XHJcbiAgICAgIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XHJcbiAgICAgICAgaGVpZ2h0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZoKTtcclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgd2lkdGg6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdncpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gTW9kaWZpZXMgYSBjZWxsIHRvIGdpdmUgaXQgXCJibG9ja1wiIGJlaGF2aW9yIChvdmVyZmxvdyBhdXRvLCBpbmVydGlhbCBzY3JvbGxpbmcpXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXHJcbkBtaXhpbiB4eS1jZWxsLWJsb2NrKFxyXG4gICR2ZXJ0aWNhbDogZmFsc2VcclxuKSB7XHJcbiAgJHByb3BlcnR5OiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgJ292ZXJmbG93LXknLCAnb3ZlcmZsb3cteCcpO1xyXG5cclxuICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xyXG4gICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgIG1heC1oZWlnaHQ6IDEwMCU7XHJcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgb3ZlcmZsb3cteDogYXV0bztcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICB9XHJcblxyXG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcclxuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcclxufVxyXG5cclxuLy8vIENvbnRhaW5lciBmb3IgaW5zaWRlIGEgZ3JpZCBmcmFtZSBjb250YWluaW5nIG11bHRpcGxlIGJsb2Nrcy4gVHlwaWNhbGx5IHVzZWRcclxuLy8vIGFzIGEgbW9kaWZpZXIgZm9yIGEgYC5jZWxsYCB0byBhbGxvdyB0aGUgY2VsbCB0byBwYXNzIGFsb25nIGZsZXggc2l6aW5nXHJcbi8vLyBjb25zdHJhaW50cyAvIGZyb20gcGFyZW50cyB0byBjaGlsZHJlbi5cclxuQG1peGluIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCkge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG5cclxuICA+IC5ncmlkLXgge1xyXG4gICAgbWF4LWhlaWdodDogMTAwJTtcclxuICAgIGZsZXgtd3JhcDogbm93cmFwO1xyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgYnV0dG9uXHJcbi8vLy9cclxuXHJcbi8vLyBGb250IGZhbWlseSBmb3IgYnV0dG9uIGVsZW1lbnRzLlxyXG4vLy8gQHR5cGUgRm9udFxyXG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xyXG5cclxuLy8vIFBhZGRpbmcgaW5zaWRlIGJ1dHRvbnMuXHJcbi8vLyBAdHlwZSBMaXN0XHJcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBNYXJnaW4gYXJvdW5kIGJ1dHRvbnMuXHJcbi8vLyBAdHlwZSBMaXN0XHJcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGZpbGwgZm9yIGJ1dHRvbnMuIENhbiBlaXRoZXIgYmUgYHNvbGlkYCBvciBgaG9sbG93YC5cclxuLy8vIEB0eXBlIEtleXdvcmRcclxuJGJ1dHRvbi1maWxsOiBzb2xpZCAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJ1dHRvbnMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xyXG5cclxuLy8vIEJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGJ1dHRvbnMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRm9udCBjb2xvciBmb3IgYnV0dG9ucy5cclxuLy8vIEB0eXBlIExpc3RcclxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xyXG5cclxuLy8vIEFsdGVybmF0aXZlIGZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXHJcbi8vLyBAdHlwZSBMaXN0XHJcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xyXG5cclxuLy8vIEJvcmRlciB3aWR0aCBmb3IgaG9sbG93IG91dGxpbmUgYnV0dG9uc1xyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xyXG5cclxuLy8vIFNpemVzIGZvciBidXR0b25zLlxyXG4vLy8gQHR5cGUgTWFwXHJcbiRidXR0b24tc2l6ZXM6IChcclxuICB0aW55OiAwLjZyZW0sXHJcbiAgc21hbGw6IDAuNzVyZW0sXHJcbiAgZGVmYXVsdDogMC45cmVtLFxyXG4gIGxhcmdlOiAxLjI1cmVtLFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxyXG4vLy8gQHR5cGUgTWFwXHJcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBvcGFjaXR5IGZvciBhIGRpc2FibGVkIGJ1dHRvbi5cclxuLy8vIEB0eXBlIExpc3RcclxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xyXG5cclxuLy8vIEJhY2tncm91bmQgY29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBidXR0b25zLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBob2xsb3cgYnV0dG9ucy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCUgIWRlZmF1bHQ7XHJcblxyXG4vLyBJbnRlcm5hbDogZmxpcCBmcm9tIG1hcmdpbi1yaWdodCB0byBtYXJnaW4tbGVmdCBmb3IgZGVmYXVsdHNcclxuQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xyXG4gICRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XHJcbn1cclxuXHJcbi8vLyB0cmFuc2l0aW9ucyBmb3IgYnV0dG9ucy5cclxuLy8vIEB0eXBlIExpc3RcclxuJGJ1dHRvbi10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcclxuXHJcbi8vLyBBZGRpdGlvbmFsIHJlc3BvbnNpdmUgY2xhc3NlcyBmb3IgLmV4cGFuZGVkXHJcbi8vLyBAdHlwZSBCb29sZWFuXHJcbiRidXR0b24tcmVzcG9uc2l2ZS1leHBhbmRlZDogZmFsc2UgIWRlZmF1bHQ7XHJcblxyXG4vLyBUT0RPOiBEb2N1bWVudCBidXR0b24tYmFzZSgpIG1peGluXHJcbkBtaXhpbiBidXR0b24tYmFzZSB7XHJcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XHJcblxyXG4gIEBpZiAodHlwZS1vZigkYnV0dG9uLXBhZGRpbmcpID09ICdtYXAnKSB7XHJcbiAgICBAZWFjaCAkc2l6ZSwgJHBhZGRpbmcgaW4gJGJ1dHRvbi1wYWRkaW5nIHtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xyXG4gICAgICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIHBhZGRpbmc6ICRidXR0b24tcGFkZGluZztcclxuICB9XHJcblxyXG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xyXG4gIHRyYW5zaXRpb246ICRidXR0b24tdHJhbnNpdGlvbjtcclxuICBmb250LWZhbWlseTogJGJ1dHRvbi1mb250LWZhbWlseTtcclxuICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xyXG4gIGxpbmUtaGVpZ2h0OiAxO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi8vLyBFeHBhbmRzIGEgYnV0dG9uIHRvIG1ha2UgaXQgZnVsbC13aWR0aC5cclxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSB0aGUgZXhwYW5kIGJlaGF2aW9yLiBTZXQgdG8gYGZhbHNlYCB0byByZXZlcnNlIHRoaXMgYmVoYXZpb3IuXHJcbkBtaXhpbiBidXR0b24tZXhwYW5kKCRleHBhbmQ6IHRydWUpIHtcclxuICBAaWYgJGV4cGFuZCB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcclxuICB9XHJcbn1cclxuXHJcbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBidXR0b24uXHJcbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxyXG5AbWl4aW4gYnV0dG9uLXN0eWxlKFxyXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXHJcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcclxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXHJcbiAgJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzXHJcbikge1xyXG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XHJcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xyXG4gIH1cclxuXHJcbiAgQGlmICRiYWNrZ3JvdW5kLWhvdmVyID09IGF1dG8ge1xyXG4gICAgJGJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3MpO1xyXG4gIH1cclxuXHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgY29sb3I6ICRjb2xvcjtcclxuXHJcbiAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gUmVtb3ZlcyBiYWNrZ3JvdW5kIGZpbGwgb24gaG92ZXIgYW5kIGZvY3VzIGZvciBob2xsb3cgYnV0dG9ucy5cclxuQG1peGluIGJ1dHRvbi1ob2xsb3cge1xyXG4gICYsXHJcbiAgJjpob3ZlcixcclxuICAmOmZvY3VzIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIH1cclxuXHJcbiAgJi5kaXNhYmxlZCxcclxuICAmW2Rpc2FibGVkXSB7XHJcbiAgICAmLFxyXG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGJ1dHRvbi1ob2xsb3ctc3R5bGUoXHJcbiAgJGNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQsXHJcbiAgJGhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzLFxyXG4gICRib3JkZXItd2lkdGg6ICRidXR0b24taG9sbG93LWJvcmRlci13aWR0aFxyXG4pIHtcclxuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGhvdmVyLWxpZ2h0bmVzcyk7XHJcblxyXG4gIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkY29sb3I7XHJcbiAgY29sb3I6ICRjb2xvcjtcclxuXHJcbiAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICBib3JkZXItY29sb3I6ICRjb2xvci1ob3ZlcjtcclxuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XHJcbiAgICAmLmRpc2FibGVkLFxyXG4gICAgJltkaXNhYmxlZF0ge1xyXG4gICAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yO1xyXG4gICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8vIEFkZHMgZGlzYWJsZWQgc3R5bGVzIHRvIGEgYnV0dG9uIGJ5IGZhZGluZyB0aGUgZWxlbWVudCwgcmVzZXRpbmcgdGhlIGN1cnNvciwgYW5kIGRpc2FibGluZyBwb2ludGVyIGV2ZW50cy5cclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLlxyXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGRpc2FibGVkIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXHJcbkBtaXhpbiBidXR0b24tZGlzYWJsZWQoXHJcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcclxuICAkY29sb3I6ICRidXR0b24tY29sb3JcclxuKSB7XHJcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcclxuICAgICRjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRidXR0b24tY29sb3IsICRidXR0b24tY29sb3ItYWx0KSk7XHJcbiAgfVxyXG5cclxuICBvcGFjaXR5OiAkYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ7XHJcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuXHJcbiAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQWRkcyBhIGRyb3Bkb3duIGFycm93IHRvIGEgYnV0dG9uLlxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIFswLjRlbV0gLSBTaXplIG9mIHRoZSBhcnJvdy4gV2UgcmVjb21tZW5kIHVzaW5nIGFuIGBlbWAgdmFsdWUgc28gdGhlIHRyaWFuZ2xlIHNjYWxlcyB3aGVuIHVzZWQgaW5zaWRlIGRpZmZlcmVudCBzaXplcyBvZiBidXR0b25zLlxyXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFt3aGl0ZV0gLSBDb2xvciBvZiB0aGUgYXJyb3cuXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJG9mZnNldCBbJGJ1dHRvbi1wYWRkaW5nXSAtIERpc3RhbmNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uLiBEZWZhdWx0cyB0byB3aGF0ZXZlciB0aGUgcmlnaHQgcGFkZGluZyBvZiBhIGJ1dHRvbiBpcy5cclxuQG1peGluIGJ1dHRvbi1kcm9wZG93bihcclxuICAkc2l6ZTogMC40ZW0sXHJcbiAgJGNvbG9yOiAkd2hpdGUsXHJcbiAgJG9mZnNldDogZ2V0LXNpZGUoJGJ1dHRvbi1wYWRkaW5nLCByaWdodClcclxuKSB7XHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRzaXplLCAkY29sb3IsIGRvd24pO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdG9wOiAwLjRlbTsgLy8gQWxpZ25zIHRoZSBhcnJvdyB3aXRoIHRoZSB0ZXh0IG9mIHRoZSBidXR0b25cclxuXHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBmbG9hdDogI3skZ2xvYmFsLXJpZ2h0fTtcclxuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQWRkcyBhbGwgc3R5bGVzIGZvciBhIGJ1dHRvbi4gRm9yIG1vcmUgZ3JhbnVsYXIgY29udHJvbCBvdmVyIHN0eWxlcywgdXNlIHRoZSBpbmRpdmlkdWFsIGJ1dHRvbiBtaXhpbnMuXHJcbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gbWFrZSB0aGUgYnV0dG9uIGZ1bGwtd2lkdGguXHJcbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3R5bGUgW3NvbGlkXSAtIFNldCB0byBgaG9sbG93YCB0byBjcmVhdGUgYSBob2xsb3cgYnV0dG9uLiBUaGUgY29sb3IgZGVmaW5lZCBpbiBgJGJhY2tncm91bmRgIHdpbGwgYmUgdXNlZCBhcyB0aGUgcHJpbWFyeSBjb2xvciBvZiB0aGUgYnV0dG9uLlxyXG5AbWl4aW4gYnV0dG9uKFxyXG4gICRleHBhbmQ6IGZhbHNlLFxyXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXHJcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcclxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXHJcbiAgJHN0eWxlOiAkYnV0dG9uLWZpbGxcclxuKSB7XHJcbiAgQGluY2x1ZGUgYnV0dG9uLWJhc2U7XHJcblxyXG4gIEBpZiAkc3R5bGUgPT0gc29saWQge1xyXG4gICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiYWNrZ3JvdW5kLCAkYmFja2dyb3VuZC1ob3ZlciwgJGNvbG9yKTtcclxuICB9XHJcbiAgQGVsc2UgaWYgJHN0eWxlID09IGhvbGxvdyB7XHJcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xyXG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkYmFja2dyb3VuZCk7XHJcbiAgfVxyXG5cclxuICBAaWYgJGV4cGFuZCB7XHJcbiAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tYnV0dG9uIHtcclxuICAuYnV0dG9uIHtcclxuICAgIEBpbmNsdWRlIGJ1dHRvbjtcclxuXHJcbiAgICAvLyBTaXplc1xyXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcclxuICAgICAgJi4jeyRzaXplfSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDsgfVxyXG5cclxuICAgIEBpZiAkYnV0dG9uLXJlc3BvbnNpdmUtZXhwYW5kZWQge1xyXG4gICAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9IG9ubHkpIHtcclxuICAgICAgICAgICYuI3skc2l6ZX0tb25seS1leHBhbmRlZCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9IGRvd24pIHtcclxuICAgICAgICAgICAgJi4jeyRzaXplfS1kb3duLWV4cGFuZGVkIHtcclxuICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSkge1xyXG4gICAgICAgICAgICAmLiN7JHNpemV9LWV4cGFuZGVkIHtcclxuICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQ29sb3JzXHJcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XHJcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcclxuICAgICAgICAmLiN7JG5hbWV9IHtcclxuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3IsIGF1dG8sIGF1dG8pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBAZWxzZSB7XHJcbiAgICAgICAgJi4jeyRuYW1lfSB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLiN7JG5hbWV9LmRyb3Bkb3duOjphZnRlciB7XHJcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gRGlzYWJsZWQgc3R5bGVcclxuICAgICYuZGlzYWJsZWQsXHJcbiAgICAmW2Rpc2FibGVkXSB7XHJcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZDtcclxuXHJcbiAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcclxuICAgICAgICAmLiN7JG5hbWV9IHtcclxuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZCgkY29sb3IsIGF1dG8pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIEhvbGxvdyBzdHlsZVxyXG4gICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xyXG4gICAgICAmLmhvbGxvdyB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcclxuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlO1xyXG5cclxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XHJcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIENsZWFyIHN0eWxlXHJcbiAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGNsZWFyIHtcclxuICAgICAgJi5jbGVhciB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcclxuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlO1xyXG5cclxuICAgICAgICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICAgICYsICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcclxuICAgICAgICAgICYuI3skbmFtZX0ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XHJcblxyXG4gICAgICAgICAgICAmLCAmOmhvdmVyLFxyXG4gICAgICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgICAmLFxyXG4gICAgICAgICAgICAgICYuZGlzYWJsZWQsXHJcbiAgICAgICAgICAgICAgJltkaXNhYmxlZF0ge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBEcm9wZG93biBhcnJvd1xyXG4gICAgJi5kcm9wZG93biB7XHJcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kcm9wZG93bjtcclxuXHJcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgPT0gaG9sbG93IHtcclxuICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmLmhvbGxvdywgJi5jbGVhciB7XHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xyXG4gICAgICAgICAgJi4jeyRuYW1lfSB7XHJcbiAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBCdXR0b24gd2l0aCBkcm9wZG93biBhcnJvdyBvbmx5XHJcbiAgICAmLmFycm93LW9ubHk6OmFmdGVyIHtcclxuICAgICAgdG9wOiAtMC4xZW07XHJcbiAgICAgIGZsb2F0OiBub25lO1xyXG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYS5idXR0b24geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcclxuICAgICY6aG92ZXIsXHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgYnV0dG9uLWdyb3VwXHJcbi8vLy9cclxuXHJcbi8vLyBNYXJnaW4gZm9yIGJ1dHRvbiBncm91cHMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBNYXJnaW4gYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHggIWRlZmF1bHQ7XHJcblxyXG4vLy8gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cclxuLy8vIEB0eXBlIFN0cmluZ1xyXG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJyAhZGVmYXVsdDtcclxuXHJcbi8vLyBNYXhpbXVtIG51bWJlciBvZiBidXR0b25zIHRoYXQgY2FuIGJlIGluIGFuIGV2ZW4td2lkdGggYnV0dG9uIGdyb3VwLiAoT25seSBuZWVkZWQgd2hlbiAkZ2xvYmFsLWZsZXhib3g6IGZhbHNlOylcclxuLy8vIEB0eXBlIE51bWJlclxyXG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNiAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZXRlcm1pbmVzIGlmICRidXR0b24tcmFkaXVzIGlzIGFwcGxpZWQgdG8gZWFjaCBidXR0b24gb3IgdGhlIGJ1dHRvbiBncm91cCBhcyBhIHdob2xlLiBVc2UgJGdsb2JhbC1yYWRpdXMgaW4gX3NldHRpbmdzLnNjc3MgdG8gY2hhbmdlIHJhZGl1cy5cclxuLy8vIEB0eXBlIEJvb2xlYW5cclxuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlICFkZWZhdWx0O1xyXG5cclxuLy8vIEFkZCBzdHlsZXMgZm9yIGEgYnV0dG9uIGdyb3VwIGNvbnRhaW5lci5cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkY2hpbGQtc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjaW5nIFskYnV0dG9uZ3JvdXAtc3BhY2luZ10gLSBTcGFjaW5nIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cclxuQG1peGluIGJ1dHRvbi1ncm91cChcclxuICAkY2hpbGQtc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcclxuICAkc3BhY2luZzogJGJ1dHRvbmdyb3VwLXNwYWNpbmdcclxuKSB7XHJcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbiAgbWFyZ2luLWJvdHRvbTogJGJ1dHRvbmdyb3VwLW1hcmdpbjtcclxuXHJcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgZm9udC1zaXplOiAwO1xyXG4gIH1cclxuXHJcbiAgI3skY2hpbGQtc2VsZWN0b3J9IHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcclxuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xyXG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xyXG5cclxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xyXG4gICAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgIH1cclxuXHJcbiAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcclxuICAgIH1cclxuXHJcbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcblxyXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtd2lkdGggYnV0dG9uIGdyb3VwLCBtYWtpbmcgZWFjaCBidXR0b24gZXF1YWwgd2lkdGguXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZyBbJGJ1dHRvbmdyb3VwLXNwYWNpbmddIC0gU3BhY2luZyBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXHJcbkBtaXhpbiBidXR0b24tZ3JvdXAtZXhwYW5kKFxyXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxyXG4gICRzcGFjaW5nOiAkYnV0dG9uZ3JvdXAtc3BhY2luZyxcclxuICAkY291bnQ6IG51bGxcclxuKSB7XHJcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xyXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IC0kc3BhY2luZztcclxuXHJcbiAgICAmOjpiZWZvcmUsXHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAjeyRzZWxlY3Rvcn0ge1xyXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XHJcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XHJcbiAgICB9XHJcbiAgICBAZWxzZSB7XHJcbiAgICAgIC8vIE9uZSBjaGlsZFxyXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JHNwYWNpbmd9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIFR3byBvciBtb3JlIGNoaWxkcmVlblxyXG4gICAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRidXR0b25ncm91cC1leHBhbmQtbWF4IHtcclxuICAgICAgICAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB7XHJcbiAgICAgICAgICAmLCAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB+ICN7JHNlbGVjdG9yfSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgd2lkdGg6IGNhbGMoI3twZXJjZW50YWdlKDEgLyAkaSl9IC0gI3skc3BhY2luZ30pO1xyXG4gICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XHJcblxyXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZyAqIC0kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8vIFN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuXHJcbkBtaXhpbiBidXR0b24tZ3JvdXAtc3RhY2soXHJcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JcclxuKSB7XHJcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgfVxyXG5cclxuICAjeyRzZWxlY3Rvcn0ge1xyXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XHJcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcblxyXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICB9XHJcbn1cclxuXHJcbi8vLyBVbi1zdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxyXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXVuc3RhY2soXHJcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JcclxuKSB7XHJcbiAgI3skc2VsZWN0b3J9IHtcclxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xyXG4gICAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICB9XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG5cclxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcclxuICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAwO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwIHtcclxuICAuYnV0dG9uLWdyb3VwIHtcclxuICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cDtcclxuXHJcbiAgICAvLyBTaXplc1xyXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcclxuICAgICAgJi4jeyRzaXplfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gRXZlbi13aWR0aCBHcm91cFxyXG4gICAgJi5leHBhbmRlZCB7XHJcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1leHBhbmQ7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQ29sb3JzXHJcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XHJcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcclxuICAgICAgICAmLiN7JG5hbWV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvLCBhdXRvKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgQGVsc2Uge1xyXG4gICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcclxuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XHJcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5zdGFja2VkLFxyXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCxcclxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcclxuICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0YWNrO1xyXG5cclxuICAgICAgJi5leHBhbmRlZCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLWV4cGFuZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwge1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0ge1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcblxyXG4gICAgICAgICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtLmV4cGFuZGVkIHtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIGNsb3NlLWJ1dHRvblxyXG4vLy8vXHJcblxyXG4vLy8gRGVmYXVsdCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLiBUaGUgZmlyc3QgdmFsdWUgc2hvdWxkIGJlIGByaWdodGAgb3IgYGxlZnRgLCBhbmQgdGhlIHNlY29uZCB2YWx1ZSBzaG91bGQgYmUgYHRvcGAgb3IgYGJvdHRvbWAuXHJcbi8vLyBAdHlwZSBMaXN0XHJcbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wICFkZWZhdWx0O1xyXG5cclxuLy8vIFJpZ2h0IChvciBsZWZ0KSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxyXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxyXG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcclxuICBzbWFsbDogMC42NnJlbSxcclxuICBtZWRpdW06IDFyZW0sXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLy8gVG9wIChvciBib3R0b20pIG9mZnNldChzKSBmb3IgYSBjbG9zZSBidXR0b24uXHJcbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXHJcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcclxuICBzbWFsbDogMC4zM2VtLFxyXG4gIG1lZGl1bTogMC41cmVtLFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgZm9udCBzaXplKHMpIG9mIHRoZSBjbG9zZSBidXR0b24uXHJcbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXHJcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXHJcbiAgc21hbGw6IDEuNWVtLFxyXG4gIG1lZGl1bTogMmVtLFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8vIFRoZSBsaW5lLWhlaWdodCBvZiB0aGUgY2xvc2UgYnV0dG9uLiBJdCBhZmZlY3RzIHRoZSBzcGFjaW5nIG9mIHRoZSBlbGVtZW50LlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbi5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24gd2hlbiBiZWluZyBob3ZlcmVkIG9uLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2sgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8vIEdldCB0aGUgc2l6ZSBhbmQgcG9zaXRpb24gZm9yIGEgY2xvc2UgYnV0dG9uLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBudW1iZXIsIHRoZSBudW1iZXIgaXMgcmV0dXJuZWQuIElmIHRoZSBpbnB1dCB2YWx1ZSBpcyBhIGNvbmZpZyBtYXAgYW5kIHRoZSBtYXAgaGFzIHRoZSBrZXkgYCRzaXplYCwgdGhlIHZhbHVlIGlzIHJldHVybmVkLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJHZhbHVlIC0gQSBudW1iZXIgb3IgbWFwIHRoYXQgcmVwcmVzZW50cyB0aGUgc2l6ZSBvciBwb3NpdGlvbiB2YWx1ZShzKSBvZiB0aGUgY2xvc2UgYnV0dG9uLlxyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIFRoZSBzaXplIG9mIHRoZSBjbG9zZSBidXR0b24gdG8gdXNlLlxyXG4vLy9cclxuLy8vIEByZXR1cm4ge051bWJlcn0gVGhlIGdpdmVuIG51bWJlciBvciB0aGUgdmFsdWUgZm91bmQgaW4gdGhlIG1hcC5cclxuQGZ1bmN0aW9uIC16Zi1nZXQtc2l6ZS12YWwoJHZhbHVlLCAkc2l6ZSkge1xyXG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xyXG4gICAgLy8gSWYgaXQgaXMsIGp1c3QgcmV0dXJuIHRoZSBudW1iZXJcclxuICAgIEByZXR1cm4gJHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgLy8gQ2hlY2sgaWYgdGhlIHNpemUgbmFtZSBleGlzdHMgaW4gdGhlIHZhbHVlIG1hcFxyXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCR2YWx1ZSwgJHNpemUpIHtcclxuICAgIC8vIElmIGl0IGRvZXMsIHJldHVybiB0aGUgdmFsdWVcclxuICAgIEByZXR1cm4gbWFwLWdldCgkdmFsdWUsICRzaXplKTtcclxuICB9XHJcbn1cclxuXHJcbi8vLyBTZXRzIHRoZSBzaXplIGFuZCBwb3NpdGlvbiBvZiBhIGNsb3NlIGJ1dHRvbi5cclxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW21lZGl1bV0gLSBUaGUgc2l6ZSB0byB1c2UuIFNldCB0byBgc21hbGxgIHRvIGNyZWF0ZSBhIHNtYWxsIGNsb3NlIGJ1dHRvbi4gVGhlICdtZWRpdW0nIHZhbHVlcyBkZWZpbmVkIGluIGAkY2xvc2VidXR0b24tKmAgdmFyaWFibGVzIHdpbGwgYmUgdXNlZCBhcyB0aGUgZGVmYXVsdCBzaXplIGFuZCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLlxyXG5AbWl4aW4gY2xvc2UtYnV0dG9uLXNpemUoJHNpemUpIHtcclxuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XHJcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xyXG5cclxuICAjeyR4fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWwsICRzaXplKTtcclxuICAjeyR5fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsLCAkc2l6ZSk7XHJcbiAgZm9udC1zaXplOiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1zaXplLCAkc2l6ZSk7XHJcbiAgbGluZS1oZWlnaHQ6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQsICRzaXplKTtcclxufVxyXG5cclxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNsb3NlIGJ1dHRvbiwgdXNpbmcgdGhlIHN0eWxlcyBpbiB0aGUgc2V0dGluZ3MgdmFyaWFibGVzLlxyXG5AbWl4aW4gY2xvc2UtYnV0dG9uIHtcclxuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XHJcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xyXG5cclxuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3I7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAmOmhvdmVyLFxyXG4gICY6Zm9jdXMge1xyXG4gICAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbiB7XHJcbiAgLmNsb3NlLWJ1dHRvbiB7XHJcbiAgICBAaW5jbHVkZSBjbG9zZS1idXR0b247XHJcblxyXG4gICAgJi5zbWFsbCB7IEBpbmNsdWRlIGNsb3NlLWJ1dHRvbi1zaXplKHNtYWxsKSB9XHJcbiAgICAmLCAmLm1lZGl1bSB7IEBpbmNsdWRlIGNsb3NlLWJ1dHRvbi1zaXplKG1lZGl1bSkgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgbGFiZWxcclxuLy8vL1xyXG5cclxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgbGFiZWxzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgbGFiZWxzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGxhYmVsLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQWx0ZXJuYXRlIHRleHQgY29sb3IgZm9yIGxhYmVscy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcclxuXHJcbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cclxuLy8vIEB0eXBlIE1hcFxyXG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGFiZWxzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGxhYmVscy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCByYWRpdXMgb2YgbGFiZWxzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xyXG5cclxuLy8vIEdlbmVyYXRlcyBiYXNlIHN0eWxlcyBmb3IgYSBsYWJlbC5cclxuQG1peGluIGxhYmVsIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgcGFkZGluZzogJGxhYmVsLXBhZGRpbmc7XHJcblxyXG4gIGJvcmRlci1yYWRpdXM6ICRsYWJlbC1yYWRpdXM7XHJcblxyXG4gIGZvbnQtc2l6ZTogJGxhYmVsLWZvbnQtc2l6ZTtcclxuICBsaW5lLWhlaWdodDogMTtcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gIGN1cnNvcjogZGVmYXVsdDtcclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tbGFiZWwge1xyXG4gIC5sYWJlbCB7XHJcbiAgICBAaW5jbHVkZSBsYWJlbDtcclxuXHJcbiAgICBiYWNrZ3JvdW5kOiAkbGFiZWwtYmFja2dyb3VuZDtcclxuICAgIGNvbG9yOiAkbGFiZWwtY29sb3I7XHJcblxyXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkbGFiZWwtcGFsZXR0ZSB7XHJcbiAgICAgICYuI3skbmFtZX0ge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcclxuICAgICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkY29sb3IsICgkbGFiZWwtY29sb3IsICRsYWJlbC1jb2xvci1hbHQpKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgcHJvZ3Jlc3MgYmFyIGNvbnRhaW5lci5cclxuQG1peGluIHByb2dyZXNzLWNvbnRhaW5lciB7XHJcbiAgaGVpZ2h0OiAkcHJvZ3Jlc3MtaGVpZ2h0O1xyXG4gIG1hcmdpbi1ib3R0b206ICRwcm9ncmVzcy1tYXJnaW4tYm90dG9tO1xyXG4gIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhY2tncm91bmQ7XHJcbn1cclxuXHJcbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGlubmVyIG1ldGVyIG9mIGEgcHJvZ3Jlc3MgYmFyLlxyXG5AbWl4aW4gcHJvZ3Jlc3MtbWV0ZXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICB3aWR0aDogMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kO1xyXG5cclxuICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4gIH1cclxufVxyXG5cclxuLy8vIEFkZHMgc3R5bGVzIGZvciB0ZXh0IGluIHRoZSBwcm9ncmVzcyBtZXRlci5cclxuQG1peGluIHByb2dyZXNzLW1ldGVyLXRleHQge1xyXG4gIEBpbmNsdWRlIGFic29sdXRlLWNlbnRlcjtcclxuICBtYXJnaW46IDA7XHJcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIGNvbG9yOiAkd2hpdGU7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHJcbiAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyIHtcclxuICAvLyBQcm9ncmVzcyBiYXJcclxuICAucHJvZ3Jlc3Mge1xyXG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtY29udGFpbmVyO1xyXG5cclxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XHJcbiAgICAgICYuI3skbmFtZX0ge1xyXG4gICAgICAgIC5wcm9ncmVzcy1tZXRlciB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBJbm5lciBtZXRlclxyXG4gIC5wcm9ncmVzcy1tZXRlciB7XHJcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlcjtcclxuICB9XHJcblxyXG4gIC8vIElubmVyIG1ldGVyIHRleHRcclxuICAucHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XHJcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlci10ZXh0O1xyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgcHJvZ3Jlc3MtYmFyXHJcbi8vLy9cclxuXHJcbi8vLyBIZWlnaHQgb2YgYSBwcm9ncmVzcyBiYXIuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHByb2dyZXNzLWhlaWdodDogMXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgcHJvZ3Jlc3MgYmFyLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcclxuXHJcbi8vLyBCb3R0b20gbWFyZ2luIG9mIGEgcHJvZ3Jlc3MgYmFyLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGEgcHJvZ3Jlc3MgYmFyJ3MgbWV0ZXIuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCByYWRpdXMgb2YgYSBwcm9ncmVzcyBiYXIuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XHJcblxyXG5AbWl4aW4gZm91bmRhdGlvbi1wcm9ncmVzcy1lbGVtZW50IHtcclxuICBwcm9ncmVzcyB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAkcHJvZ3Jlc3MtaGVpZ2h0O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJHByb2dyZXNzLW1hcmdpbi1ib3R0b207XHJcblxyXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcclxuXHJcbiAgICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcclxuICAgICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcclxuICAgIH1cclxuXHJcbiAgICAvLyBGb3IgRmlyZWZveFxyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgYmFja2dyb3VuZDogJHByb2dyZXNzLWJhY2tncm91bmQ7XHJcblxyXG4gICAgJjo6LXdlYmtpdC1wcm9ncmVzcy1iYXIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkcHJvZ3Jlc3MtYmFja2dyb3VuZDtcclxuXHJcbiAgICAgIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmOjotd2Via2l0LXByb2dyZXNzLXZhbHVlIHtcclxuICAgICAgYmFja2dyb3VuZDogJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ7XHJcblxyXG4gICAgICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJjo6LW1vei1wcm9ncmVzcy1iYXIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDtcclxuXHJcbiAgICAgIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xyXG4gICAgICAmLiN7JG5hbWV9IHtcclxuICAgICAgICAvLyBJbnRlcm5ldCBFeHBsb3JlciBzZXRzIHRoZSBmaWxsIHdpdGggY29sb3JcclxuICAgICAgICBjb2xvcjogJGNvbG9yO1xyXG5cclxuICAgICAgICAmOjotd2Via2l0LXByb2dyZXNzLXZhbHVlIHtcclxuICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcclxuICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBGb3IgSUUgYW5kIEVkZ2VcclxuICAgICY6Oi1tcy1maWxsIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcclxuICAgICAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcclxuICAgICAgfVxyXG5cclxuICAgICAgYm9yZGVyOiAwO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLyBbVE9ET10gQ2hlY2sgaG93IHBsdWdpbiBjb25maXJtcyBkaXNhYmxlZCBvciB2ZXJ0aWNhbCBzdGF0dXNcclxuLy8gW1RPRE9dIENoZWNrIGlmIHRyYW5zaXRpb246IGFsbDsgaXMgbmVjZXNzYXJ5XHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgc2xpZGVyXHJcbi8vLy9cclxuXHJcbi8vLyBEZWZhdWx0IHNsaWRlciB3aWR0aCBvZiBhIHZlcnRpY2FsIHNsaWRlci4gKERvZXNuJ3QgYXBwbHkgdG8gdGhlIG5hdGl2ZSBzbGlkZXIuKVxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBUcmFuc2l0aW9uIHByb3BlcnRpZXMgdG8gYXBwbHkgdG8gdGhlIHNsaWRlciBoYW5kbGUgYW5kIGZpbGwuIChEb2Vzbid0IGFwcGx5IHRvIHRoZSBuYXRpdmUgc2xpZGVyLilcclxuLy8vIEB0eXBlIFRyYW5zaXRpb25cclxuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcclxuXHJcbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3Igc2xpZGVycy5cclxuQG1peGluIHNsaWRlci1jb250YWluZXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xyXG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XHJcbiAgbWFyZ2luLWJvdHRvbTogMi4yNXJlbTtcclxuXHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1iYWNrZ3JvdW5kO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICB0b3VjaC1hY3Rpb246IG5vbmU7XHJcbn1cclxuXHJcbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgYWN0aXZlIGZpbGwgZm9yIHNsaWRlcnMuXHJcbkBtaXhpbiBzbGlkZXItZmlsbCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG5cclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XHJcblxyXG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kO1xyXG4gIHRyYW5zaXRpb246ICRzbGlkZXItdHJhbnNpdGlvbjtcclxuXHJcbiAgJi5pcy1kcmFnZ2luZyB7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xyXG4gIH1cclxufVxyXG5cclxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0aGUgc2xpZGVyIGhhbmRsZXMuXHJcbkBtaXhpbiBzbGlkZXItaGFuZGxlIHtcclxuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XHJcbiAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyO1xyXG4gIGxlZnQ6IDA7XHJcbiAgei1pbmRleDogMTtcclxuXHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcclxuICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcclxuXHJcbiAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDtcclxuICB0cmFuc2l0aW9uOiAkc2xpZGVyLXRyYW5zaXRpb247XHJcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XHJcblxyXG4gICY6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IoJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XHJcbiAgfVxyXG5cclxuICAmLmlzLWRyYWdnaW5nIHtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gc2xpZGVyLWRpc2FibGVkIHtcclxuICBvcGFjaXR5OiAkc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ7XHJcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxufVxyXG5cclxuQG1peGluIHNsaWRlci12ZXJ0aWNhbCB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHdpZHRoOiAkc2xpZGVyLXdpZHRoLXZlcnRpY2FsO1xyXG4gIGhlaWdodDogMTIuNXJlbTtcclxuICBtYXJnaW46IDAgMS4yNXJlbTtcclxuICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcclxuXHJcbiAgLnNsaWRlci1maWxsIHtcclxuICAgIHRvcDogMDtcclxuICAgIHdpZHRoOiAkc2xpZGVyLXdpZHRoLXZlcnRpY2FsO1xyXG4gICAgbWF4LWhlaWdodDogMTAwJTtcclxuICB9XHJcblxyXG4gIC5zbGlkZXItaGFuZGxlIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XHJcbiAgICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tc2xpZGVyIHtcclxuICAvLyBDb250YWluZXJcclxuICAuc2xpZGVyIHtcclxuICAgIEBpbmNsdWRlIHNsaWRlci1jb250YWluZXI7XHJcbiAgfVxyXG5cclxuICAvLyBGaWxsIGFyZWFcclxuICAuc2xpZGVyLWZpbGwge1xyXG4gICAgQGluY2x1ZGUgc2xpZGVyLWZpbGw7XHJcbiAgfVxyXG5cclxuICAvLyBEcmFnZ2FibGUgaGFuZGxlXHJcbiAgLnNsaWRlci1oYW5kbGUge1xyXG4gICAgQGluY2x1ZGUgc2xpZGVyLWhhbmRsZTtcclxuICB9XHJcblxyXG4gIC8vIERpc2FibGVkIHN0YXRlXHJcbiAgLnNsaWRlci5kaXNhYmxlZCxcclxuICAuc2xpZGVyW2Rpc2FibGVkXSB7XHJcbiAgICBAaW5jbHVkZSBzbGlkZXItZGlzYWJsZWQ7XHJcbiAgfVxyXG5cclxuICAvLyBWZXJ0aWNhbCBzbGlkZXJcclxuICAuc2xpZGVyLnZlcnRpY2FsIHtcclxuICAgIEBpbmNsdWRlIHNsaWRlci12ZXJ0aWNhbDtcclxuICB9XHJcblxyXG4gIC8vIFJUTCBzdXBwb3J0XHJcbiAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsIHtcclxuICAgIC5zbGlkZXI6bm90KC52ZXJ0aWNhbCkge1xyXG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIHNsaWRlclxyXG4vLy8vXHJcblxyXG4vLy8gRGVmYXVsdCBoZWlnaHQgb2YgdGhlIHNsaWRlci5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kc2xpZGVyLWhlaWdodDogMC41cmVtICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgc2xpZGVyJ3MgdHJhY2suXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGFjdGl2ZSBmaWxsIGNvbG9yIG9mIHRoZSBzbGlkZXIuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgaGVpZ2h0IG9mIHRoZSBoYW5kbGUgb2YgdGhlIHNsaWRlci5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IHdpZHRoIG9mIHRoZSBoYW5kbGUgb2YgdGhlIHNsaWRlci5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGhhbmRsZSBmb3IgdGhlIHNsaWRlci5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgZmFkZSBhbW91bnQgb2YgYSBkaXNhYmxlZCBzbGlkZXIuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBzbGlkZXIuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xyXG5cclxuQG1peGluIGZvdW5kYXRpb24tcmFuZ2UtaW5wdXQge1xyXG4gIGlucHV0W3R5cGU9J3JhbmdlJ10geyAgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXHJcbiAgICAkbWFyZ2luOiAoJHNsaWRlci1oYW5kbGUtaGVpZ2h0IC0gJHNsaWRlci1oZWlnaHQpIC8gMjtcclxuXHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgbWFyZ2luLXRvcDogJG1hcmdpbjtcclxuICAgIG1hcmdpbi1ib3R0b206ICRtYXJnaW47XHJcblxyXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAgIEBpZiBoYXMtdmFsdWUoJHNsaWRlci1yYWRpdXMpIHtcclxuICAgICAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XHJcbiAgICB9XHJcblxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgIG91dGxpbmU6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgJltkaXNhYmxlZF0ge1xyXG4gICAgICBvcGFjaXR5OiAkc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tdmVuZG9yLXByZWZpeFxyXG5cclxuICAgIC8vIENocm9tZS9TYWZhcmlcclxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcclxuICAgICAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcclxuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1iYWNrZ3JvdW5kO1xyXG4gICAgfVxyXG5cclxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcclxuICAgICAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xyXG4gICAgICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcclxuICAgICAgbWFyZ2luLXRvcDogLSRtYXJnaW47XHJcblxyXG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXHJcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ7XHJcblxyXG4gICAgICBAaWYgaGFzLXZhbHVlKCRzbGlkZXItcmFkaXVzKSB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBGaXJlZm94XHJcbiAgICAmOjotbW96LXJhbmdlLXRyYWNrIHtcclxuICAgICAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcclxuICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWJhY2tncm91bmQ7XHJcbiAgICB9XHJcblxyXG4gICAgJjo6LW1vei1yYW5nZS10aHVtYiB7XHJcbiAgICAgIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcclxuICAgICAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XHJcbiAgICAgIG1hcmdpbi10b3A6IC0kbWFyZ2luO1xyXG5cclxuICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kO1xyXG5cclxuICAgICAgQGlmIGhhcy12YWx1ZSgkc2xpZGVyLXJhZGl1cykge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItcmFkaXVzO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gSW50ZXJuZXQgRXhwbG9yZXJcclxuICAgICY6Oi1tcy10cmFjayB7XHJcbiAgICAgIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XHJcblxyXG4gICAgICBib3JkZXI6IDA7XHJcbiAgICAgIGJvcmRlci10b3A6ICRtYXJnaW4gc29saWQgJGJvZHktYmFja2dyb3VuZDtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogJG1hcmdpbiBzb2xpZCAkYm9keS1iYWNrZ3JvdW5kO1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWJhY2tncm91bmQ7XHJcblxyXG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgfVxyXG5cclxuICAgICY6Oi1tcy10aHVtYiB7XHJcbiAgICAgIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcclxuICAgICAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XHJcbiAgICAgIGJvcmRlcjogMDtcclxuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDtcclxuXHJcbiAgICAgIEBpZiBoYXMtdmFsdWUoJHNsaWRlci1yYWRpdXMpIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICY6Oi1tcy1maWxsLWxvd2VyIHtcclxuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1maWxsLWJhY2tncm91bmQ7XHJcbiAgICB9XHJcblxyXG4gICAgJjo6LW1zLWZpbGwtdXBwZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWJhY2tncm91bmQ7XHJcbiAgICB9XHJcblxyXG4gICAgQGF0LXJvb3Qge1xyXG4gICAgICBvdXRwdXQge1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNWVtO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIHN3aXRjaFxyXG4vLy8vXHJcblxyXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHN3aXRjaC5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xyXG5cclxuLy8vIEJhY2tncm91bmQgYWN0aXZlIGNvbG9yIG9mIGEgc3dpdGNoLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHN3aXRjaC1oZWlnaHQ6IDJyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnRpbnkgY2xhc3MuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtICFkZWZhdWx0O1xyXG5cclxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC5zbWFsbCBjbGFzcy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAubGFyZ2UgY2xhc3MuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBCb3JkZXIgcmFkaXVzIG9mIHRoZSBzd2l0Y2hcclxuLy8vIEB0eXBlIE51bWJlclxyXG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XHJcblxyXG4vLy8gYm9yZGVyIGFyb3VuZCBhIG1vZGFsLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcclxuXHJcbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgc3dpdGNoIGNvbnRhaW5lciBhbmQgcGFkZGxlLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xyXG5cclxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhIHN3aXRjaCBwYWRkbGUgYW5kIHRoZSBlZGdlIG9mIHRoZSBib2R5LlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBib3JkZXIgcmFkaXVzIG9mIHRoZSBzd2l0Y2ggcGFkZGxlXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcclxuXHJcbi8vLyBzd2l0Y2ggdHJhbnNpdGlvbi5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XHJcblxyXG4vLyBtYWtlIHRoZW0gdmFyaWFibGVzXHJcbi8vIGFzayBhYm91dCBhY2Nlc3NpYmlsaXR5IG9uIGxhYmVsXHJcbi8vIGNoYW5nZSBjbGFzcyBuYW1lIGZvciB0ZXh0XHJcblxyXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3dpdGNoIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGNvbnRhaW5lciBjbGFzcy5cclxuQG1peGluIHN3aXRjaC1jb250YWluZXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBtYXJnaW4tYm90dG9tOiAkc3dpdGNoLW1hcmdpbjtcclxuICBvdXRsaW5lOiAwO1xyXG5cclxuICAvLyBUaGVzZSBwcm9wZXJ0aWVzIGNhc2NhZGUgZG93biB0byB0aGUgc3dpdGNoIHRleHRcclxuICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICBjb2xvcjogJHdoaXRlO1xyXG5cclxuICB1c2VyLXNlbGVjdDogbm9uZTtcclxufVxyXG5cclxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBpbnB1dC4gQXBwbHkgdGhpcyB0byBhbiBgPGlucHV0PmAgd2l0aGluIGEgc3dpdGNoLlxyXG5AbWl4aW4gc3dpdGNoLWlucHV0IHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbWFyZ2luLWJvdHRvbTogMDtcclxuICBvcGFjaXR5OiAwO1xyXG59XHJcblxyXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBwYWRkbGUgb2YgYSBzd2l0Y2guIEFwcGx5IHRoaXMgdG8gYSBgPGxhYmVsPmAgd2l0aGluIGEgc3dpdGNoLlxyXG5AbWl4aW4gc3dpdGNoLXBhZGRsZSB7XHJcbiAgJHN3aXRjaC13aWR0aDogJHN3aXRjaC1oZWlnaHQgKiAyO1xyXG4gICRwYWRkbGUtaGVpZ2h0OiAkc3dpdGNoLWhlaWdodCAtICgkc3dpdGNoLXBhZGRsZS1vZmZzZXQgKiAyKTtcclxuICAkcGFkZGxlLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAtICgkc3dpdGNoLXBhZGRsZS1vZmZzZXQgKiAyKTtcclxuICAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q6ICRzd2l0Y2gtd2lkdGggLSAkcGFkZGxlLXdpZHRoIC0gJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xyXG5cclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgd2lkdGg6ICRzd2l0Y2gtd2lkdGg7XHJcbiAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcclxuXHJcbiAgYm9yZGVyLXJhZGl1czogJHN3aXRjaC1yYWRpdXM7XHJcbiAgYmFja2dyb3VuZDogJHN3aXRjaC1iYWNrZ3JvdW5kO1xyXG4gIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XHJcblxyXG4gIC8vIFJlc2V0dGluZyB0aGVzZSA8bGFiZWw+IHByZXNldHMgc28gdHlwZSBzdHlsZXMgY2FzY2FkZSBkb3duXHJcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XHJcbiAgY29sb3I6IGluaGVyaXQ7XHJcblxyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgLy8gTmVlZGVkIHRvIG92ZXJyaWRlIHNwZWNpZmljaXR5XHJcbiAgaW5wdXQgKyAmIHtcclxuICAgIG1hcmdpbjogMDtcclxuICB9XHJcblxyXG4gIC8vIFRoZSBwYWRkbGUgaXRzZWxmXHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAkc3dpdGNoLXBhZGRsZS1vZmZzZXQ7XHJcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcclxuXHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xyXG4gICAgaGVpZ2h0OiAkcGFkZGxlLWhlaWdodDtcclxuXHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgYm9yZGVyLXJhZGl1czogJHN3aXRjaC1wYWRkbGUtcmFkaXVzO1xyXG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDtcclxuICAgIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XHJcbiAgICBjb250ZW50OiAnJztcclxuICB9XHJcblxyXG4gIC8vIENoYW5nZSB0aGUgdmlzdWFsIHN0eWxlIHdoZW4gdGhlIHN3aXRjaCBpcyBhY3RpdmVcclxuICBpbnB1dDpjaGVja2VkIH4gJiB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlO1xyXG5cclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpbnB1dDpmb2N1cyB+ICYge1xyXG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xyXG4gIH1cclxufVxyXG5cclxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGFjdGl2ZS9pbmFjdGl2ZSB0ZXh0IGluc2lkZSBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byB0ZXh0IGVsZW1lbnRzIGluc2lkZSB0aGUgc3dpdGNoIGA8bGFiZWw+YC5cclxuQG1peGluIHN3aXRjaC10ZXh0IHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA1MCU7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG59XHJcblxyXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXHJcbkBtaXhpbiBzd2l0Y2gtdGV4dC1hY3RpdmUge1xyXG4gICN7JGdsb2JhbC1sZWZ0fTogOCU7XHJcbiAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcbn1cclxuXHJcbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGluYWN0aXZlIHN0YXRlIHRleHQgd2l0aGluIGEgc3dpdGNoLlxyXG5AbWl4aW4gc3dpdGNoLXRleHQtaW5hY3RpdmUge1xyXG4gICN7JGdsb2JhbC1yaWdodH06IDE1JTtcclxuXHJcbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLy8vIENoYW5nZXMgdGhlIHNpemUgb2YgYSBzd2l0Y2ggYnkgbW9kaWZ5aW5nIHRoZSBzaXplIG9mIHRoZSBib2R5IGFuZCBwYWRkbGUuIEFwcGx5IHRoaXMgdG8gYSBzd2l0Y2ggY29udGFpbmVyLlxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmb250LXNpemUgWzFyZW1dIC0gRm9udCBzaXplIG9mIGxhYmVsIHRleHQgd2l0aGluIHRoZSBzd2l0Y2guXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHN3aXRjaC1oZWlnaHQgWzJyZW1dIC0gSGVpZ2h0IG9mIHRoZSBzd2l0Y2ggYm9keS5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGxlLW9mZnNldCBbMC4yNXJlbV0gLSBTcGFjaW5nIGJldHdlZW4gdGhlIHN3aXRjaCBwYWRkbGUgYW5kIHRoZSBlZGdlIG9mIHRoZSBzd2l0Y2ggYm9keS5cclxuQG1peGluIHN3aXRjaC1zaXplKFxyXG4gICRmb250LXNpemU6IDFyZW0sXHJcbiAgJHN3aXRjaC1oZWlnaHQ6IDJyZW0sXHJcbiAgJHBhZGRsZS1vZmZzZXQ6IDAuMjVyZW1cclxuKSB7XHJcblxyXG4gICRzd2l0Y2gtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0ICogMjtcclxuICAkcGFkZGxlLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAtICgkcGFkZGxlLW9mZnNldCAqIDIpO1xyXG4gICRwYWRkbGUtaGVpZ2h0OiAkc3dpdGNoLWhlaWdodCAtICgkcGFkZGxlLW9mZnNldCAqIDIpO1xyXG4gICRwYWRkbGUtYWN0aXZlLW9mZmVzdDogJHN3aXRjaC13aWR0aCAtICRwYWRkbGUtd2lkdGggLSAkcGFkZGxlLW9mZnNldDtcclxuXHJcbiAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcclxuXHJcbiAgLnN3aXRjaC1wYWRkbGUge1xyXG4gICAgd2lkdGg6ICRzd2l0Y2gtd2lkdGg7XHJcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xyXG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xyXG4gIH1cclxuXHJcbiAgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcclxuICAgIHRvcDogJHBhZGRsZS1vZmZzZXQ7XHJcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtb2Zmc2V0O1xyXG4gICAgd2lkdGg6ICRwYWRkbGUtd2lkdGg7XHJcbiAgICBoZWlnaHQ6ICRwYWRkbGUtaGVpZ2h0O1xyXG4gIH1cclxuXHJcbiAgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XHJcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtYWN0aXZlLW9mZmVzdDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLXN3aXRjaCB7XHJcbiAgLy8gQ29udGFpbmVyIGNsYXNzXHJcbiAgLnN3aXRjaCB7XHJcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xyXG4gICAgQGluY2x1ZGUgc3dpdGNoLWNvbnRhaW5lcjtcclxuICB9XHJcblxyXG4gIC8vIDxpbnB1dD4gZWxlbWVudFxyXG4gIC5zd2l0Y2gtaW5wdXQge1xyXG4gICAgQGluY2x1ZGUgc3dpdGNoLWlucHV0O1xyXG4gIH1cclxuXHJcbiAgLy8gPGxhYmVsPiBlbGVtZW50XHJcbiAgLnN3aXRjaC1wYWRkbGUge1xyXG4gICAgQGluY2x1ZGUgc3dpdGNoLXBhZGRsZTtcclxuICB9XHJcblxyXG4gIC8vIEJhc2UgbGFiZWwgdGV4dCBzdHlsZXNcclxuICAlc3dpdGNoLXRleHQge1xyXG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQ7XHJcbiAgfVxyXG5cclxuICAvLyBBY3RpdmUgbGFiZWwgdGV4dCBzdHlsZXNcclxuICAuc3dpdGNoLWFjdGl2ZSB7XHJcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcclxuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0LWFjdGl2ZTtcclxuICB9XHJcblxyXG4gIC8vIEluYWN0aXZlIGxhYmVsIHRleHQgc3R5bGVzXHJcbiAgLnN3aXRjaC1pbmFjdGl2ZSB7XHJcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcclxuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0LWluYWN0aXZlO1xyXG4gIH1cclxuXHJcbiAgLy8gU3dpdGNoIHNpemVzXHJcbiAgLnN3aXRjaC50aW55IHtcclxuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEwKSwgJHN3aXRjaC1oZWlnaHQtdGlueSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcclxuICB9XHJcblxyXG4gIC5zd2l0Y2guc21hbGwge1xyXG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTIpLCAkc3dpdGNoLWhlaWdodC1zbWFsbCwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcclxuICB9XHJcblxyXG4gIC5zd2l0Y2gubGFyZ2Uge1xyXG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTYpLCAkc3dpdGNoLWhlaWdodC1sYXJnZSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIHRhYmxlXHJcbi8vLy9cclxuXHJcbi8vLyBEZWZhdWx0IGNvbG9yIGZvciB0YWJsZSBiYWNrZ3JvdW5kLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZSAgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSBzdHJpcGVkIHRhYmxlIHJvd3MgYW5kIHRoZSB0YWJsZSBib3JkZXIuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IHN0eWxlIGZvciB0YWJsZSBib3JkZXIuXHJcbi8vLyBAdHlwZSBMaXN0XHJcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYmxlLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0YW5kYXJkIHJvd3Mgb24gaG92ZXIuXHJcbi8vLyBAdHlwZSBMaXN0XHJcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0cmlwZWQgcm93cyBvbiBob3Zlci5cclxuLy8vIEB0eXBlIExpc3RcclxuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBJZiBgdHJ1ZWAsIHRhYmxlcyBhcmUgc3RyaXBlZCBieSBkZWZhdWx0IGFuZCBhbiAudW5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuIElmIGBmYWxzZWAsIGEgLnN0cmlwZWQgY2xhc3MgaXMgY3JlYXRlZC5cclxuLy8vIEB0eXBlIEJvb2xlYW5cclxuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBzdHJpcGVkIHJvd3MuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBzdHJpcGUgb24gcm93cyBvZiB0aGUgdGFibGVzLCBleGNsdWRpbmcgdGhlIGhlYWRlciBhbmQgZm9vdGVyLiBJZiBldmVuLCB0aGUgZXZlbiByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIG9kZCwgdGhlIG9kZCByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIGVtcHR5LCBvciBhbnkgb3RoZXIgdmFsdWUsIHRoZSB0YWJsZSByb3dzIHdpbGwgaGF2ZSBubyBzdHJpcGluZy5cclxuLy8vIEB0eXBlIEtleXdvcmRcclxuJHRhYmxlLXN0cmlwZTogZXZlbiAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWFkZXIgYmFja2dyb3VuZC5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGhlYWRlciByb3dzIG9uIGhvdmVyLlxyXG4vLy8gQHR5cGUgTGlzdFxyXG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGZvb3RlciBiYWNrZ3JvdW5kLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBmb290ZXIgcm93cyBvbiBob3Zlci5cclxuLy8vIEB0eXBlIExpc3RcclxuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGhlYWRlci5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb290ZXIuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIGhlYWRlciB3aGVuIHVzaW5nIHN0YWNrZWQgdGFibGVzLlxyXG4vLy8gQHR5cGUgQm9vbGVhblxyXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlICFkZWZhdWx0O1xyXG5cclxuLy8vIEJyZWFrcG9pbnQgYXQgd2hpY2ggc3RhY2tlZCB0YWJsZSBzd2l0Y2hlcyBmcm9tIG1vYmlsZSB0byBkZXNrdG9wIHZpZXcuXHJcbi8vLyBAdHlwZSBCcmVha3BvaW50XHJcbiR0YWJsZS1zdGFjay1icmVha3BvaW50OiBtZWRpdW0gIWRlZmF1bHQ7XHJcblxyXG5AbWl4aW4gLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlOiAkdGFibGUtc3RyaXBlKSB7XHJcbiAgdHIge1xyXG4gICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBldmVuLCBkYXJrZW4gdGhlIGV2ZW4gcm93cy5cclxuICAgIEBpZiAkc3RyaXBlID09IGV2ZW4ge1xyXG4gICAgICAmOm50aC1jaGlsZChldmVuKSB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBvZGQsIGRhcmtlbiB0aGUgb2RkIHJvd3MuXHJcbiAgICBAZWxzZSBpZiAkc3RyaXBlID09IG9kZCB7XHJcbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiAtemYtdGFibGUtdW5zdHJpcGUoKSB7XHJcbiAgdHIge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMDtcclxuICAgIGJvcmRlci1ib3R0b206ICR0YWJsZS1ib3JkZXI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsICRpcy1zdHJpcGVkOiAkdGFibGUtaXMtc3RyaXBlZCkge1xyXG4gIHRoZWFkLFxyXG4gIHRib2R5LFxyXG4gIHRmb290IHtcclxuICAgIGJvcmRlcjogJHRhYmxlLWJvcmRlcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xyXG4gIH1cclxuXHJcbiAgLy8gQ2FwdGlvblxyXG4gIGNhcHRpb24ge1xyXG4gICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XHJcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuICB9XHJcblxyXG4gIC8vIFRhYmxlIGhlYWRcclxuICB0aGVhZCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtaGVhZC1iYWNrZ3JvdW5kO1xyXG4gICAgY29sb3I6ICR0YWJsZS1oZWFkLWZvbnQtY29sb3I7XHJcbiAgfVxyXG5cclxuICAvLyBUYWJsZSBmb290XHJcbiAgdGZvb3Qge1xyXG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWZvb3QtYmFja2dyb3VuZDtcclxuICAgIGNvbG9yOiAkdGFibGUtZm9vdC1mb250LWNvbG9yO1xyXG4gIH1cclxuXHJcbiAgLy8gVGFibGUgaGVhZCBhbmQgZm9vdFxyXG4gIHRoZWFkLFxyXG4gIHRmb290IHtcclxuICAgIC8vIFJvd3Mgd2l0aGluIGhlYWQgYW5kIGZvb3RcclxuICAgIHRyIHtcclxuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQ2VsbHMgd2l0aGluIGhlYWQgYW5kIGZvb3RcclxuICAgIHRoLFxyXG4gICAgdGQge1xyXG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcclxuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcbiAgICAgIHRleHQtYWxpZ246ICN7JGdsb2JhbC1sZWZ0fTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFRhYmxlIHJvd3NcclxuICB0Ym9keSB7XHJcbiAgICB0aCxcclxuICAgIHRkIHtcclxuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBJZiB0YWJsZXMgYXJlIHN0cmlwZWRcclxuICBAaWYgJGlzLXN0cmlwZWQgPT0gdHJ1ZSB7XHJcbiAgICB0Ym9keSB7XHJcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XHJcbiAgICB9XHJcblxyXG4gICAgJi51bnN0cmlwZWQge1xyXG4gICAgICB0Ym9keSB7XHJcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIElmIHRhYmxlcyBhcmUgbm90IHN0cmlwZWRcclxuICBAZWxzZSBpZiAkaXMtc3RyaXBlZCA9PSBmYWxzZSB7XHJcbiAgICB0Ym9keSB7XHJcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS11bnN0cmlwZSgpO1xyXG4gICAgfVxyXG5cclxuICAgICYuc3RyaXBlZCB7XHJcbiAgICAgIHRib2R5IHtcclxuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRhYmxlcy5cclxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0cmlwZSBbJHRhYmxlLXN0cmlwZV0gLSBVc2VzIGtleXdvcmRzIGV2ZW4sIG9kZCwgb3Igbm9uZSB0byBkYXJrZW4gcm93cyBvZiB0aGUgdGFibGUuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGV2ZW4uXHJcbkBtaXhpbiB0YWJsZShcclxuICAkc3RyaXBlOiAkdGFibGUtc3RyaXBlLFxyXG4gICRuZXN0OiBmYWxzZVxyXG4pIHtcclxuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG4gIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuICBAaWYgJG5lc3Qge1xyXG4gICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgQGF0LXJvb3Qge1xyXG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8vIEFkZHMgdGhlIGFiaWxpdHkgdG8gaG9yaXpvbnRhbGx5IHNjcm9sbCB0aGUgdGFibGUgd2hlbiB0aGUgY29udGVudCBvdmVyZmxvd3MgaG9yaXpvbnRhbGx5LlxyXG5AbWl4aW4gdGFibGUtc2Nyb2xsIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICB3aWR0aDogMTAwJTtcclxuICBvdmVyZmxvdy14OiBhdXRvO1xyXG59XHJcblxyXG4vLy8gU2xpZ2h0bHkgZGFya2VucyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cclxuQG1peGluIHRhYmxlLWhvdmVyIHtcclxuICB0aGVhZCB0ciB7XHJcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGhlYWRlciByb3dzIG9uIGhvdmVyLlxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1oZWFkLXJvdy1ob3ZlcjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHRmb290IHRyIHtcclxuICAgIC8vRGFya2VucyB0aGUgdGFibGUgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWZvb3Qtcm93LWhvdmVyO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdGJvZHkgdHIge1xyXG4gICAgLy9EYXJrZW5zIHRoZSBub24tc3RyaXBlZCB0YWJsZSByb3dzIG9uIGhvdmVyLlxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctaG92ZXI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgJHRhYmxlLWlzLXN0cmlwZWQgPT0gdHJ1ZSB7XHJcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cclxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcclxuICAgICAgJjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cclxuICAgIEBlbHNlIGlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XHJcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAZWxzZSBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSBmYWxzZSB7XHJcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cclxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcclxuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIERhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXHJcbiAgICBAZWxzZSBpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xyXG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzdGFja2VkIHRhYmxlLiBVc2VmdWwgZm9yIHNtYWxsLXNjcmVlbiBsYXlvdXRzLlxyXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaGVhZGVyIFskc2hvdy1oZWFkZXItZm9yLXN0YWNrZWRdIC0gU2hvdyB0aGUgZmlyc3QgdGggb2YgaGVhZGVyIHdoZW4gc3RhY2tlZC5cclxuQG1peGluIHRhYmxlLXN0YWNrKCRoZWFkZXI6ICRzaG93LWhlYWRlci1mb3Itc3RhY2tlZCkge1xyXG4gIEBpZiAkaGVhZGVyIHtcclxuICAgIHRoZWFkIHtcclxuICAgICAgdGgge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIHRoZWFkIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHRmb290IHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG5cclxuICB0cixcclxuICB0aCxcclxuICB0ZCB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcblxyXG4gIHRkIHtcclxuICAgIGJvcmRlci10b3A6IDA7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gZm91bmRhdGlvbi10YWJsZSgkbmVzdDogZmFsc2UpIHtcclxuICB0YWJsZSB7XHJcbiAgICBAaW5jbHVkZSB0YWJsZSgkbmVzdDogJG5lc3QpO1xyXG4gIH1cclxuXHJcbiAgdGFibGUuc3RhY2sge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGUtc3RhY2stYnJlYWtwb2ludCBkb3duKSB7XHJcbiAgICAgIEBpbmNsdWRlIHRhYmxlLXN0YWNrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdGFibGUuc2Nyb2xsIHtcclxuICAgIEBpbmNsdWRlIHRhYmxlLXNjcm9sbDtcclxuICB9XHJcblxyXG4gIHRhYmxlLmhvdmVyIHtcclxuICAgIEBpbmNsdWRlIHRhYmxlLWhvdmVyO1xyXG4gIH1cclxuXHJcbiAgLnRhYmxlLXNjcm9sbCB7XHJcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xyXG5cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuQGltcG9ydCAnbWF0aCc7XHJcblxyXG4kY29udHJhc3Qtd2FybmluZ3M6IHRydWUgIWRlZmF1bHQ7XHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXHJcbi8vLy9cclxuXHJcbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBjaGVjayB0aGUgbHVtaW5hbmNlIG9mLlxyXG4vLy9cclxuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXHJcbkBmdW5jdGlvbiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yKSB7XHJcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xyXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jcmVsYXRpdmVsdW1pbmFuY2VkZWZcclxuICAkcmdiYTogcmVkKCRjb2xvciksIGdyZWVuKCRjb2xvciksIGJsdWUoJGNvbG9yKTtcclxuICAkcmdiYTI6ICgpO1xyXG5cclxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDMge1xyXG4gICAgJHJnYjogbnRoKCRyZ2JhLCAkaSk7XHJcbiAgICAkcmdiOiAkcmdiIC8gMjU1O1xyXG5cclxuICAgICRyZ2I6IGlmKCRyZ2IgPCAwLjAzOTI4LCAkcmdiIC8gMTIuOTIsIHBvdygoJHJnYiArIDAuMDU1KSAvIDEuMDU1LCAyLjQpKTtcclxuXHJcbiAgICAkcmdiYTI6IGFwcGVuZCgkcmdiYTIsICRyZ2IpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAwLjIxMjYgKiBudGgoJHJnYmEyLCAxKSArIDAuNzE1MiAqIG50aCgkcmdiYTIsIDIpICsgMC4wNzIyICogbnRoKCRyZ2JhMiwgMyk7XHJcbn1cclxuXHJcbi8vLyBDaGVja3MgdGhlIGNvbnRyYXN0IHJhdGlvIG9mIHR3byBjb2xvcnMuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMSAtIEZpcnN0IGNvbG9yIHRvIGNvbXBhcmUuXHJcbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IyIC0gU2Vjb25kIGNvbG9yIHRvIGNvbXBhcmUuXHJcbi8vL1xyXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGNvbnRyYXN0IHJhdGlvIG9mIHRoZSBjb21wYXJlZCBjb2xvcnMuXHJcbkBmdW5jdGlvbiBjb2xvci1jb250cmFzdCgkY29sb3IxLCAkY29sb3IyKSB7XHJcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xyXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jY29udHJhc3QtcmF0aW9kZWZcclxuICAkbHVtaW5hbmNlMTogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjEpICsgMC4wNTtcclxuICAkbHVtaW5hbmNlMjogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjIpICsgMC4wNTtcclxuICAkcmF0aW86ICRsdW1pbmFuY2UxIC8gJGx1bWluYW5jZTI7XHJcblxyXG4gIEBpZiAkbHVtaW5hbmNlMiA+ICRsdW1pbmFuY2UxIHtcclxuICAgICRyYXRpbzogMSAvICRyYXRpbztcclxuICB9XHJcblxyXG4gICRyYXRpbzogcm91bmQoJHJhdGlvICogMTApIC8gMTA7XHJcblxyXG4gIEByZXR1cm4gJHJhdGlvO1xyXG59XHJcblxyXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRiYXNlYCwgYW5kIHJldHVybnMgdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhc2UgLSBDb2xvciB0byBjaGVjayBsdW1pbmFuY2UuXHJcbi8vLyBAcGFyYW0ge0xpc3R9ICRjb2xvcnMgWygkd2hpdGUsICRibGFjayldIC0gQ29sb3JzIHRvIGNvbXBhcmUuXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvbGVyYW5jZSBbJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZV0gLSBDb250cmFzdCB0b2xlcmFuY2UuXHJcbi8vL1xyXG4vLy8gQHJldHVybnMge0NvbG9yfSB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cclxuQGZ1bmN0aW9uIGNvbG9yLXBpY2stY29udHJhc3QoJGJhc2UsICRjb2xvcnM6ICgkd2hpdGUsICRibGFjayksICR0b2xlcmFuY2U6ICRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2UpIHtcclxuICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgMSkpO1xyXG4gICRiZXN0OiBudGgoJGNvbG9ycywgMSk7XHJcblxyXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggbGVuZ3RoKCRjb2xvcnMpIHtcclxuICAgICRjdXJyZW50LWNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XHJcbiAgICBAaWYgKCRjdXJyZW50LWNvbnRyYXN0IC0gJGNvbnRyYXN0ID4gJHRvbGVyYW5jZSkge1xyXG4gICAgICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcclxuICAgICAgJGJlc3Q6IG50aCgkY29sb3JzLCAkaSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgKCRjb250cmFzdC13YXJuaW5ncyBhbmQgJGNvbnRyYXN0IDwgMykge1xyXG4gICAgQHdhcm4gXCJDb250cmFzdCByYXRpbyBvZiAjeyRiZXN0fSBvbiAjeyRiYXNlfSBpcyBwcmV0dHkgYmFkLCBqdXN0ICN7JGNvbnRyYXN0fVwiO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkYmVzdDtcclxufVxyXG5cclxuLy8vIFNjYWxlcyBhIGNvbG9yIHRvIGJlIGRhcmtlciBpZiBpdCdzIGxpZ2h0LCBvciBsaWdodGVyIGlmIGl0J3MgZGFyay4gVXNlIHRoaXMgZnVuY3Rpb24gdG8gdGludCBhIGNvbG9yIGFwcHJvcHJpYXRlIHRvIGl0cyBsaWdodG5lc3MuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gc2NhbGUuXHJcbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICRzY2FsZSBbNSVdIC0gQW1vdW50IHRvIHNjYWxlIHVwIG9yIGRvd24uXHJcbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICR0aHJlc2hvbGQgWzQwJV0gLSBUaHJlc2hvbGQgb2YgbGlnaHRuZXNzIHRvIGNoZWNrIGFnYWluc3QuXHJcbi8vL1xyXG4vLy8gQHJldHVybnMge0NvbG9yfSBBIHNjYWxlZCBjb2xvci5cclxuQGZ1bmN0aW9uIHNtYXJ0LXNjYWxlKCRjb2xvciwgJHNjYWxlOiA1JSwgJHRocmVzaG9sZDogNDAlKSB7XHJcbiAgQGlmIGxpZ2h0bmVzcygkY29sb3IpID4gJHRocmVzaG9sZCB7XHJcbiAgICAkc2NhbGU6IC0kc2NhbGU7XHJcbiAgfVxyXG4gIEByZXR1cm4gc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkc2NhbGUpO1xyXG59XHJcblxyXG4vLy8gR2V0IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtrZXl9IGNvbG9yIGtleSBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxyXG4vLy9cclxuLy8vIEByZXR1cm5zIHtDb2xvcn0gY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcclxuQGZ1bmN0aW9uIGdldC1jb2xvcigka2V5KSB7XHJcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpIHtcclxuICAgIEByZXR1cm4gbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KTtcclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgQGVycm9yICdnaXZlbiAka2V5IGlzIG5vdCBhdmFpbGFibGUgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSc7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gVHJhbnNmZXJzIHRoZSBjb2xvcnMgaW4gdGhlIGAkZm91bmRhdGlvbi1wYWxldHRlYCBtYXAgaW50byB2YXJpYWJsZXMsIHN1Y2ggYXMgYCRwcmltYXJ5LWNvbG9yYCBhbmQgYCRzZWNvbmRhcnktY29sb3JgLiBDYWxsIHRoaXMgbWl4aW4gYmVsb3cgdGhlIEdsb2JhbCBzZWN0aW9uIG9mIHlvdXIgc2V0dGluZ3MgZmlsZSB0byBwcm9wZXJseSBtaWdyYXRlIHlvdXIgY29kZWJhc2UuXHJcbkBtaXhpbiBhZGQtZm91bmRhdGlvbi1jb2xvcnMoKSB7XHJcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcclxuICAgICRwcmltYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpICFnbG9iYWw7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICAkcHJpbWFyeS1jb2xvcjogIzE3NzliYSAhZ2xvYmFsO1xyXG4gIH1cclxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSB7XHJcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkgIWdsb2JhbDtcclxuICB9IEBlbHNlIHtcclxuICAgICRzZWNvbmRhcnktY29sb3I6ICM3Njc2NzYgIWdsb2JhbDtcclxuICB9XHJcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpIHtcclxuICAgICRzdWNjZXNzLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpICFnbG9iYWw7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICAkc3VjY2Vzcy1jb2xvcjogIzNhZGI3NiAhZ2xvYmFsO1xyXG4gIH1cclxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykge1xyXG4gICAgJHdhcm5pbmctY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykgIWdsb2JhbDtcclxuICB9IEBlbHNlIHtcclxuICAgICR3YXJuaW5nLWNvbG9yOiAjZmZhZTAwICFnbG9iYWw7XHJcbiAgfVxyXG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkge1xyXG4gICAgJGFsZXJ0LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZ2xvYmFsO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgJGFsZXJ0LWNvbG9yOiAjY2M0YjM3ICFnbG9iYWw7XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBiYWRnZVxyXG4vLy8vXHJcblxyXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBiYWRnZXMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBiYWRnZXMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kYmFkZ2UtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBBbHRlcm5hdGUgdGV4dCBjb2xvciBmb3IgYmFkZ2VzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGJhZGdlLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xyXG5cclxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxyXG4vLy8gQHR5cGUgTWFwXHJcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYmFkZ2VzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGEgYmFkZ2UuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGJhZGdlLW1pbndpZHRoOiAyLjFlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgYmFkZ2VzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBHZW5lcmF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIGJhZGdlLlxyXG5AbWl4aW4gYmFkZ2Uge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBtaW4td2lkdGg6ICRiYWRnZS1taW53aWR0aDtcclxuICBwYWRkaW5nOiAkYmFkZ2UtcGFkZGluZztcclxuXHJcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG5cclxuICBmb250LXNpemU6ICRiYWRnZS1mb250LXNpemU7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG5AbWl4aW4gZm91bmRhdGlvbi1iYWRnZSB7XHJcbiAgLmJhZGdlIHtcclxuICAgIEBpbmNsdWRlIGJhZGdlO1xyXG5cclxuICAgIGJhY2tncm91bmQ6ICRiYWRnZS1iYWNrZ3JvdW5kO1xyXG4gICAgY29sb3I6ICRiYWRnZS1jb2xvcjtcclxuXHJcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRiYWRnZS1wYWxldHRlIHtcclxuICAgICAgJi4jeyRuYW1lfSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xyXG4gICAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRjb2xvciwgKCRiYWRnZS1jb2xvciwgJGJhZGdlLWNvbG9yLWFsdCkpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBicmVhZGNydW1ic1xyXG4vLy8vXHJcblxyXG4vLy8gTWFyZ2luIGFyb3VuZCBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lci5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcclxuXHJcbi8vLyBGb250IHNpemUgb2YgYnJlYWRjcnVtYiBsaW5rcy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBDb2xvciBvZiBicmVhZGNydW1iIGxpbmtzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xyXG5cclxuLy8vIENvbG9yIG9mIHRoZSBhY3RpdmUgYnJlYWRjcnVtYiBsaW5rLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrICFkZWZhdWx0O1xyXG5cclxuLy8vIE9wYWNpdHkgb2YgZGlzYWJsZWQgYnJlYWRjcnVtYiBsaW5rcy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xyXG5cclxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJyZWFkY3J1bWIgaXRlbXMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtICFkZWZhdWx0O1xyXG5cclxuLy8vIElmIGB0cnVlYCwgbWFrZXMgYnJlYWRjcnVtYiBsaW5rcyB1cHBlcmNhc2UuXHJcbi8vLyBAdHlwZSBCb29sZWFuXHJcbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgYSBzZXBlcmF0b3IgYmV0d2VlbiBicmVhZGNydW1iIGxpbmtzLlxyXG4vLy8gQHR5cGUgQm9vbGVhblxyXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWUgIWRlZmF1bHQ7XHJcblxyXG4vLyBJZiBpdCBleGlzdHMgJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2ggaXMgdXNlZCB0byBidWlsZCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3IuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cclxuQGlmIHZhcmlhYmxlLWV4aXN0cyhicmVhZGNydW1icy1pdGVtLXNsYXNoKSB7XHJcbiAgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaDtcclxufVxyXG5cclxuLy8vIFVzZWQgY2hhcmFjdGVyIGZvciB0aGUgYnJlYWRjcnVtYiBzZXBhcmF0b3IuXHJcbi8vLyBAdHlwZSBDb250ZW50XHJcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtOiAnLycgIWRlZmF1bHQ7XHJcblxyXG4vLy8gVXNlZCBjaGFyYWN0ZXIgZm9yIHRoZSBicmVhZGNydW1iIHNlcGFyYXRvciBpbiBydGwgbW9kZS5cclxuLy8vIEB0eXBlIENvbnRlbnRcclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsOiAnXFxcXCcgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQ29sb3Igb2YgYnJlYWRjcnVtYiBpdGVtLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XHJcblxyXG4vLyBJZiBpdCBleGlzdHMgJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3IgaXMgdXNlZCB0byBidWlsZCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3IuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cclxuQGlmIHZhcmlhYmxlLWV4aXN0cyhicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yKSB7XHJcbiAgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvcjtcclxufVxyXG5cclxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lciwgYWxvbmcgd2l0aCB0aGUgc3R5bGVzIGZvciB0aGUgYDxsaT5gIGFuZCBgPGE+YCBlbGVtZW50cyBpbnNpZGUgb2YgaXQuXHJcbkBtaXhpbiBicmVhZGNydW1icy1jb250YWluZXIge1xyXG4gIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gIG1hcmdpbjogJGJyZWFkY3J1bWJzLW1hcmdpbjtcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG5cclxuICAvLyBJdGVtIHdyYXBwZXJcclxuICBsaSB7XHJcbiAgICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xyXG5cclxuICAgIGZvbnQtc2l6ZTogJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplO1xyXG4gICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcblxyXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZSB7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvciB7XHJcbiAgICAgIC8vIE5lZWQgdG8gZXNjYXBlIHRoZSBiYWNrc2xhc2hcclxuICAgICAgJHNlcGFyYXRvcjogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAnbHRyJywgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0sICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bCk7XHJcblxyXG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgIG1hcmdpbjogMCAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XHJcbiAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgY29udGVudDogJHNlcGFyYXRvcjtcclxuICAgICAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBAZWxzZSB7XHJcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBQYWdlIGxpbmtzXHJcbiAgYSB7XHJcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tYnJlYWRjcnVtYnMge1xyXG4gIC5icmVhZGNydW1icyB7XHJcbiAgICBAaW5jbHVkZSBicmVhZGNydW1icy1jb250YWluZXI7XHJcblxyXG4gICAgLmRpc2FibGVkIHtcclxuICAgICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkO1xyXG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgY2FsbG91dFxyXG4vLy8vXHJcblxyXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgZmFkZSB2YWx1ZSBmb3IgY2FsbG91dCBiYWNrZ3JvdW5kcy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGJvcmRlciBzdHlsZSBmb3IgY2FsbG91dHMuXHJcbi8vLyBAdHlwZSBMaXN0XHJcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIGNhbGxvdXRzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMCAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGlubmVyIHBhZGRpbmcgZm9yIGNhbGxvdXRzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRjYWxsb3V0LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cywgaWYgdGhlIGNhbGxvdXQgaGFzIGEgZGFyayBiYWNrZ3JvdW5kLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzIGZvciBjYWxsb3V0cy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQW1vdW50IHRvIHRpbnQgbGlua3MgdXNlZCB3aXRoaW4gY29sb3JlZCBwYW5lbHMuIFNldCB0byBgZmFsc2VgIHRvIGRpc2FibGUgdGhpcyBmZWF0dXJlLlxyXG4vLy8gQHR5cGUgTnVtYmVyIHwgQm9vbGVhblxyXG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJSAhZGVmYXVsdDtcclxuXHJcbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYSBjYWxsb3V0LCBpbmNsdWRpbmcgcGFkZGluZyBhbmQgbWFyZ2luLlxyXG5AbWl4aW4gY2FsbG91dC1iYXNlKCkge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBtYXJnaW46ICRjYWxsb3V0LW1hcmdpbjtcclxuICBwYWRkaW5nOiAkY2FsbG91dC1wYWRkaW5nO1xyXG5cclxuICBib3JkZXI6ICRjYWxsb3V0LWJvcmRlcjtcclxuICBib3JkZXItcmFkaXVzOiAkY2FsbG91dC1yYWRpdXM7XHJcblxyXG4gIC8vIFJlc3BlY3QgdGhlIHBhZGRpbmcsIGZvb2wuXHJcbiAgPiA6Zmlyc3QtY2hpbGQge1xyXG4gICAgbWFyZ2luLXRvcDogMDtcclxuICB9XHJcblxyXG4gID4gOmxhc3QtY2hpbGQge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICB9XHJcbn1cclxuXHJcbi8vLyBHZW5lcmF0ZSBxdWljayBzdHlsZXMgZm9yIGEgY2FsbG91dCB1c2luZyBhIHNpbmdsZSBjb2xvciBhcyBhIGJhc2VsaW5lLlxyXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cclxuQG1peGluIGNhbGxvdXQtc3R5bGUoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XHJcbiAgJGJhY2tncm91bmQ6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlKTtcclxuXHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkY2FsbG91dC1mb250LWNvbG9yLCAkY2FsbG91dC1mb250LWNvbG9yLWFsdCkpO1xyXG59XHJcblxyXG5AbWl4aW4gY2FsbG91dC1zaXplKCRwYWRkaW5nKSB7XHJcbiAgcGFkZGluZy10b3A6ICRwYWRkaW5nO1xyXG4gIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xyXG4gIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcclxuICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xyXG59XHJcblxyXG5cclxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhbGxvdXQuXHJcbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxyXG5AbWl4aW4gY2FsbG91dCgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcclxuICBAaW5jbHVkZSBjYWxsb3V0LWJhc2U7XHJcbiAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xyXG59XHJcblxyXG5AbWl4aW4gZm91bmRhdGlvbi1jYWxsb3V0IHtcclxuICAuY2FsbG91dCB7XHJcbiAgICBAaW5jbHVkZSBjYWxsb3V0O1xyXG5cclxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XHJcbiAgICAgICYuI3skbmFtZX0ge1xyXG4gICAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuc21hbGwge1xyXG4gICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoMC41cmVtKTtcclxuICAgIH1cclxuXHJcbiAgICAmLmxhcmdlIHtcclxuICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKDNyZW0pO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgY2FyZFxyXG4vLy8vXHJcblxyXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FyZHMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kY2FyZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgYmFja2dyb3VuZC5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBib3JkZXIgc3R5bGUuXHJcbi8vLyBAdHlwZSBMaXN0XHJcbiRjYXJkLWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgY2FyZCBzaGFkb3cuXHJcbi8vLyBAdHlwZSBMaXN0XHJcbiRjYXJkLXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGJvcmRlciByYWRpdXMuXHJcbi8vLyBAdHlwZSBMaXN0XHJcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgcGFkZGluZy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kY2FyZC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luLlxyXG4vLy8gQHR5cGUgbnVtYmVyXHJcbiRjYXJkLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xyXG5cclxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgY29udGFpbmVyLlxyXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBjYXJkLlxyXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gZm9udCBjb2xvciBvZiB0aGUgY2FyZC5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWFyZ2luIC0gQm90dG9tIG1hcmdpbiBvZiB0aGUgY2FyZC5cclxuLy8vIEBwYXJhbSB7TGlzdH0gJGJvcmRlciAtIEJvcmRlciBhcm91bmQgdGhlIGNhcmQuXHJcbi8vLyBAcGFyYW0ge0xpc3R9ICRyYWRpdXMgLSBib3JkZXIgcmFkaXVzIG9mIHRoZSBjYXJkLlxyXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2hhZG93IC0gYm94IHNoYWRvdyBvZiB0aGUgY2FyZC5cclxuQG1peGluIGNhcmQtY29udGFpbmVyKFxyXG4gICRiYWNrZ3JvdW5kOiAkY2FyZC1iYWNrZ3JvdW5kLFxyXG4gICRjb2xvcjogJGNhcmQtZm9udC1jb2xvcixcclxuICAkbWFyZ2luOiAkY2FyZC1tYXJnaW4tYm90dG9tLFxyXG4gICRib3JkZXI6ICRjYXJkLWJvcmRlcixcclxuICAkcmFkaXVzOiAkY2FyZC1ib3JkZXItcmFkaXVzLFxyXG4gICRzaGFkb3c6ICRjYXJkLXNoYWRvd1xyXG4pIHtcclxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgZmxleC1ncm93OiAxO1xyXG4gIH1cclxuXHJcbiAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbjtcclxuXHJcbiAgYm9yZGVyOiAkYm9yZGVyO1xyXG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcblxyXG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xyXG4gIGJveC1zaGFkb3c6ICRzaGFkb3c7XHJcblxyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgY29sb3I6ICRjb2xvcjtcclxuXHJcbiAgJiA+IDpsYXN0LWNoaWxkIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FyZCBkaXZpZGVyLlxyXG5AbWl4aW4gY2FyZC1kaXZpZGVyKFxyXG4gICRiYWNrZ3JvdW5kOiAkY2FyZC1kaXZpZGVyLWJhY2tncm91bmQsXHJcbiAgJHBhZGRpbmc6ICRjYXJkLXBhZGRpbmdcclxuKSB7XHJcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleDogMCAxIGF1dG87XHJcbiAgfVxyXG5cclxuICBwYWRkaW5nOiAkcGFkZGluZztcclxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcclxuXHJcbiAgJiA+IDpsYXN0LWNoaWxkIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FyZCBzZWN0aW9uLlxyXG5AbWl4aW4gY2FyZC1zZWN0aW9uKFxyXG4gICRwYWRkaW5nOiAkY2FyZC1wYWRkaW5nXHJcbikge1xyXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xyXG4gICAgZmxleDogMSAwIGF1dG87XHJcbiAgfVxyXG5cclxuICBwYWRkaW5nOiAkcGFkZGluZztcclxuXHJcbiAgJiA+IDpsYXN0LWNoaWxkIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gZm91bmRhdGlvbi1jYXJkIHtcclxuICAuY2FyZCB7XHJcbiAgICBAaW5jbHVkZSBjYXJkLWNvbnRhaW5lcjtcclxuICB9XHJcblxyXG4gIC5jYXJkLWRpdmlkZXIge1xyXG4gICAgQGluY2x1ZGUgY2FyZC1kaXZpZGVyO1xyXG4gIH1cclxuXHJcbiAgLmNhcmQtc2VjdGlvbiB7XHJcbiAgICBAaW5jbHVkZSBjYXJkLXNlY3Rpb247XHJcbiAgfVxyXG5cclxuICAvLyBGb3IgSUUgMTEgLSBGbGV4YnVnXHJcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncy9pc3N1ZXMvNzVcclxuICAuY2FyZC1pbWFnZSB7XHJcbiAgICBtaW4taGVpZ2h0OiAxcHg7XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBkcm9wZG93blxyXG4vLy8vXHJcblxyXG4vLy8gUGFkZGluZyBmb3IgZHJvcGRvd24gcGFuZXMuXHJcbi8vLyBAdHlwZSBMaXN0XHJcbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xyXG5cclxuLy8vIEJhY2tncm91bmQgZm9yIGRyb3Bkb3duIHBhbmVzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBwYW5lcy5cclxuLy8vIEB0eXBlIExpc3RcclxuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcclxuXHJcbi8vLyBGb250IHNpemUgZm9yIGRyb3Bkb3duIHBhbmVzLlxyXG4vLy8gQHR5cGUgTGlzdFxyXG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xyXG5cclxuLy8vIFdpZHRoIGZvciBkcm9wZG93biBwYW5lcy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kZHJvcGRvd24td2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xyXG5cclxuLy8vIEJvcmRlciByYWRpdXMgZHJvcGRvd24gcGFuZXMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XHJcblxyXG4vLy8gU2l6ZXMgZm9yIGRyb3Bkb3duIHBhbmVzLiBFYWNoIHNpemUgaXMgYSBDU1MgY2xhc3MgeW91IGNhbiBhcHBseS5cclxuLy8vIEB0eXBlIE1hcFxyXG4kZHJvcGRvd24tc2l6ZXM6IChcclxuICB0aW55OiAxMDBweCxcclxuICBzbWFsbDogMjAwcHgsXHJcbiAgbGFyZ2U6IDQwMHB4LFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8vIEFwcGxpZXMgc3R5bGVzIGZvciBhIGJhc2ljIGRyb3Bkb3duLlxyXG5AbWl4aW4gZHJvcGRvd24tY29udGFpbmVyIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgei1pbmRleDogMTA7XHJcblxyXG4gIGRpc3BsYXk6IG5vbmU7XHJcblxyXG4gIHdpZHRoOiAkZHJvcGRvd24td2lkdGg7XHJcbiAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmc7XHJcblxyXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICBib3JkZXI6ICRkcm9wZG93bi1ib3JkZXI7XHJcbiAgYm9yZGVyLXJhZGl1czogJGRyb3Bkb3duLXJhZGl1cztcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmFja2dyb3VuZDtcclxuXHJcbiAgZm9udC1zaXplOiAkZHJvcGRvd24tZm9udC1zaXplO1xyXG5cclxuXHJcbiAgLy8gQWxsb3cgYW4gaW50ZXJtaXR0ZW50IHN0YXRlIHRvIGRvIHBvc2l0aW9uaW5nIGJlZm9yZSBtYWtpbmcgdmlzaWJsZS5cclxuICAmLmlzLW9wZW5pbmcge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG5cclxuICAmLmlzLW9wZW4ge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24ge1xyXG4gIC5kcm9wZG93bi1wYW5lIHtcclxuICAgIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcjtcclxuICB9XHJcblxyXG4gIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkZHJvcGRvd24tc2l6ZXMge1xyXG4gICAgLmRyb3Bkb3duLXBhbmUge1xyXG4gICAgICAmLiN7JG5hbWV9IHtcclxuICAgICAgICB3aWR0aDogJHNpemU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIHBhZ2luYXRpb25cclxuLy8vL1xyXG5cclxuLy8vIEZvbnQgc2l6ZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBvZiB0aGUgcGFnaW5hdGlvbiBvYmplY3QuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XHJcblxyXG4vLy8gVGV4dCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xyXG5cclxuLy8vIFBhZGRpbmcgaW5zaWRlIG9mIHBhZ2luYXRpb24gaXRlbXMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBSaWdodCBtYXJnaW4gdG8gc2VwYXJhdGUgcGFnaW5hdGlvbiBpdGVtcy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBwYWdpbmF0aW9uIGl0ZW1zLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zIG9uIGhvdmVyLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcclxuXHJcbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcclxuXHJcbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBUZXh0IGNvbG9yIG9mIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xyXG5cclxuLy8vIENvbG9yIG9mIHRoZSBlbGxpcHNpcyBpbiBhIHBhZ2luYXRpb24gbWVudS5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XHJcblxyXG4vLy8gSWYgYGZhbHNlYCwgZG9uJ3QgZGlzcGxheSBwYWdlIG51bWJlciBsaW5rcyBvbiBtb2JpbGUsIG9ubHkgbmV4dC9wcmV2aW91cyBsaW5rc1xyXG4vLy8gYW5kIG9wdGlvbmFsbHkgY3VycmVudCBwYWdlIG51bWJlci5cclxuLy8vIEB0eXBlIEJvb2xlYW5cclxuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBJZiBgdHJ1ZWAsIGRpc3BsYXkgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgb24gbW9iaWxlIGV2ZW4gaWYgYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtc2AgaXMgc2V0IHRvIGBmYWxzZWAuXHJcbi8vLyBUaGlzIHBhcmFtZXRlciB3aWxsIG9ubHkgb3ZlcnJpZGUgdGhlIHZpc2liaWxpdHkgc2V0dGluZyBvZiB0aGUgY3VycmVudCBpdGVtIGZvciBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtgLFxyXG4vLy8gaXQgd2lsbCBub3QgYWZmZWN0IHRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyIHZpc2liaWxpdHkgd2hlbiBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zYCBpcyBzZXQgdG8gYHRydWVgLlxyXG4vLy8gQHR5cGUgQm9vbGVhblxyXG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBJZiBgdHJ1ZWAsIGFycm93cyBhcmUgYWRkZWQgdG8gdGhlIG5leHQgYW5kIHByZXZpb3VzIGxpbmtzIG9mIHBhZ2luYXRpb24uXHJcbi8vLyBAdHlwZSBCb29sZWFuXHJcbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBwYWdpbmF0aW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cclxuQG1peGluIHBhZ2luYXRpb24tY29udGFpbmVyIChcclxuICAkbWFyZ2luLWJvdHRvbTogJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbSxcclxuICAkZm9udC1zaXplOiAkcGFnaW5hdGlvbi1mb250LXNpemUsXHJcbiAgJHNwYWNpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZyxcclxuICAkcmFkaXVzOiAkcGFnaW5hdGlvbi1yYWRpdXMsXHJcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLFxyXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXHJcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlclxyXG4pIHtcclxuICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xyXG4gIG1hcmdpbi1ib3R0b206ICRtYXJnaW4tYm90dG9tO1xyXG5cclxuICAvLyBMaXN0IGl0ZW1cclxuICBsaSB7XHJcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xyXG5cclxuICAgIEBpZiAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXMge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB9XHJcbiAgICBAZWxzZSB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcblxyXG4gICAgICAmOmxhc3QtY2hpbGQsXHJcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgfVxyXG5cclxuICAgICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW0ge1xyXG4gICAgICAgICYuY3VycmVudCB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gUGFnZSBsaW5rc1xyXG4gIGEsXHJcbiAgYnV0dG9uIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcGFkZGluZzogJHBhZGRpbmc7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBjdXJyZW50IHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cclxuQG1peGluIHBhZ2luYXRpb24taXRlbS1jdXJyZW50IChcclxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxyXG4gICRiYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50LFxyXG4gICRjb2xvci1jdXJyZW50OiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnRcclxuKSB7XHJcbiAgcGFkZGluZzogJHBhZGRpbmc7XHJcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtY3VycmVudDtcclxuICBjb2xvcjogJGNvbG9yLWN1cnJlbnQ7XHJcbiAgY3Vyc29yOiBkZWZhdWx0O1xyXG59XHJcblxyXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxyXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkIChcclxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxyXG4gICRjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZFxyXG4pIHtcclxuICBwYWRkaW5nOiAkcGFkZGluZztcclxuICBjb2xvcjogJGNvbG9yO1xyXG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcblxyXG4gICY6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGVsbGlwc2lzIGZvciB1c2UgaW4gYSBwYWdpbmF0aW9uIGxpc3QuXHJcbkBtaXhpbiBwYWdpbmF0aW9uLWVsbGlwc2lzIChcclxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxyXG4gICRjb2xvcjogJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3JcclxuKSB7XHJcbiAgcGFkZGluZzogJHBhZGRpbmc7XHJcbiAgY29udGVudDogJ1xcMjAyNic7XHJcbiAgY29sb3I6ICRjb2xvcjtcclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tcGFnaW5hdGlvbiB7XHJcbiAgLnBhZ2luYXRpb24ge1xyXG4gICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1jb250YWluZXI7XHJcblxyXG4gICAgLmN1cnJlbnQge1xyXG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudDtcclxuICAgIH1cclxuXHJcbiAgICAuZGlzYWJsZWQge1xyXG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgLmVsbGlwc2lzOjphZnRlciB7XHJcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tZWxsaXBzaXM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgJHBhZ2luYXRpb24tYXJyb3dzIHtcclxuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzIGE6OmJlZm9yZSxcclxuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzLmRpc2FibGVkOjpiZWZvcmUge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjVyZW07XHJcbiAgICAgIGNvbnRlbnQ6ICdcXDAwYWInO1xyXG4gICAgfVxyXG5cclxuICAgIC5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXHJcbiAgICAucGFnaW5hdGlvbi1uZXh0LmRpc2FibGVkOjphZnRlciB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMC41cmVtO1xyXG4gICAgICBjb250ZW50OiAnXFwwMGJiJztcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIHRvb2x0aXBcclxuLy8vL1xyXG5cclxuLy8vIERlZmF1bHQgY3Vyc29yIG9mIHRoZSBkZWZpbmVkIHRlcm0uXHJcbi8vLyBAdHlwZSBLZXl3b3JkXHJcbiRoYXMtdGlwLWN1cnNvcjogaGVscCAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IG9mIHRoZSBkZWZpbmVkIHRlcm0uXHJcbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXHJcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgYm9yZGVyIGJvdHRvbSBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxyXG4vLy8gQHR5cGUgTGlzdFxyXG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgZm9udC5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IG1heCB3aWR0aCBmb3IgdG9vbHRpcHMuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHRvb2x0aXAtbWF4LXdpZHRoOiAxMHJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBvZiB0aGUgdG9vbHRpcCB0ZXh0LiBCeSBkZWZhdWx0LCB3ZSByZWNvbW1lbmQgYSBzbWFsbGVyIGZvbnQgc2l6ZSB0aGFuIHRoZSBib2R5IGNvcHkuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgcGlwIHdpZHRoIGZvciB0b29sdGlwcy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBwaXAgaGVpZ2h0IGZvciB0b29sdGlwcy4gVGhpcyBpcyBoZWxwZnVsIGZvciBjYWxjdWxhdGluZyB0aGUgZGlzdGFuY2Ugb2YgdGhlIHRvb2x0aXAgZnJvbSB0aGUgdG9vbHRpcCB3b3JkLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2ICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0b29sdGlwcy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xyXG5cclxuQG1peGluIGhhcy10aXAge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblxyXG4gIGJvcmRlci1ib3R0b206ICRoYXMtdGlwLWJvcmRlci1ib3R0b207XHJcbiAgZm9udC13ZWlnaHQ6ICRoYXMtdGlwLWZvbnQtd2VpZ2h0O1xyXG4gIGN1cnNvcjogJGhhcy10aXAtY3Vyc29yO1xyXG59XHJcblxyXG5AbWl4aW4gdG9vbHRpcCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogY2FsYygxMDAlICsgI3skdG9vbHRpcC1waXAtaGVpZ2h0fSk7XHJcbiAgei1pbmRleDogMTIwMDtcclxuXHJcbiAgbWF4LXdpZHRoOiAkdG9vbHRpcC1tYXgtd2lkdGg7XHJcbiAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZztcclxuXHJcbiAgYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtcmFkaXVzO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XHJcbiAgZm9udC1zaXplOiAkdG9vbHRpcC1mb250LXNpemU7XHJcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xyXG5cclxuICAmOjpiZWZvcmUge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIH1cclxuXHJcbiAgJi5ib3R0b20ge1xyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgdXApO1xyXG4gICAgICBib3R0b206IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi50b3Age1xyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgZG93bik7XHJcbiAgICAgIHRvcDogMTAwJTtcclxuICAgICAgYm90dG9tOiBhdXRvO1xyXG4gICAgfVxyXG5cclxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYubGVmdCB7XHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCByaWdodCk7XHJcbiAgICAgIGxlZnQ6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XHJcbiAgICAgIGJvdHRvbTogYXV0bztcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYucmlnaHQge1xyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgbGVmdCk7XHJcbiAgICAgIHJpZ2h0OiAxMDAlO1xyXG4gICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgfVxyXG5cclxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xyXG4gICAgICBib3R0b206IGF1dG87XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLmFsaWduLXRvcDo6YmVmb3JlIHtcclxuICAgIGJvdHRvbTogYXV0bztcclxuICAgIHRvcDogMTAlO1xyXG4gIH1cclxuXHJcbiAgJi5hbGlnbi1ib3R0b206OmJlZm9yZSB7XHJcbiAgICBib3R0b206IDEwJTtcclxuICAgIHRvcDogYXV0bztcclxuICB9XHJcblxyXG4gICYuYWxpZ24tbGVmdDo6YmVmb3JlIHtcclxuICAgIGxlZnQ6IDEwJTtcclxuICAgIHJpZ2h0OiBhdXRvO1xyXG4gIH1cclxuXHJcbiAgJi5hbGlnbi1yaWdodDo6YmVmb3JlIHtcclxuICAgIGxlZnQ6IGF1dG87XHJcbiAgICByaWdodDogMTAlO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tdG9vbHRpcCB7XHJcbiAgLmhhcy10aXAge1xyXG4gICAgQGluY2x1ZGUgaGFzLXRpcDtcclxuICB9XHJcblxyXG4gIC50b29sdGlwIHtcclxuICAgIEBpbmNsdWRlIHRvb2x0aXA7XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBhY2NvcmRpb25cclxuLy8vL1xyXG5cclxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY2NvcmRpb24gZ3JvdXAuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgcGx1cyBhbmQgbWludXMgaWNvbnMgdG8gdGhlIHNpZGUgb2YgZWFjaCBhY2NvcmRpb24gdGl0bGUuXHJcbi8vLyBAdHlwZSBCb29sZWFuXHJcbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlICFkZWZhdWx0O1xyXG5cclxuLy8vIEZvbnQgc2l6ZSBvZiBhY2NvcmRpb24gdGl0bGVzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBpdGVtcyBpbiBhIE1lbnUuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhbiBhY2NvcmRpb24gaXRlbS5cclxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcclxuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxyXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxyXG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gYWNjb3JkaW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgc2FtZSBlbGVtZW50IHRoYXQgZ2V0cyBgZGF0YS1hY2NvcmRpb25gLlxyXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRhaW5lciAoXHJcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tYmFja2dyb3VuZFxyXG4pIHtcclxuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xyXG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xyXG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuXHJcbiAgJltkaXNhYmxlZF0ge1xyXG4gICAgLmFjY29yZGlvbi10aXRsZSB7XHJcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGlzdCBpdGVtIHdpdGhpbiBhbiBhY2NvcmRpb24gdWwuXHJcbkBtaXhpbiBhY2NvcmRpb24taXRlbSB7XHJcbiAgJjpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAwIDA7XHJcbiAgfVxyXG5cclxuICAmOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB0aXRsZSBvZiBhbiBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGluayB3aXRoaW4gYW4gYWNjb3JkaW9uIGl0ZW0uXHJcbkBtaXhpbiBhY2NvcmRpb24tdGl0bGUgKFxyXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWl0ZW0tcGFkZGluZyxcclxuICAkZm9udC1zaXplOiAkYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZSxcclxuICAkY29sb3I6ICRhY2NvcmRpb24taXRlbS1jb2xvcixcclxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxyXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlclxyXG4pIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgcGFkZGluZzogJHBhZGRpbmc7XHJcblxyXG4gIGJvcmRlcjogJGJvcmRlcjtcclxuICBib3JkZXItYm90dG9tOiAwO1xyXG5cclxuICBmb250LXNpemU6ICRmb250LXNpemU7XHJcbiAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgY29sb3I6ICRjb2xvcjtcclxuXHJcbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gJiB7XHJcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xyXG4gIH1cclxuXHJcbiAgJjpob3ZlcixcclxuICAmOmZvY3VzIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xyXG4gIH1cclxuXHJcbiAgQGlmICRhY2NvcmRpb24tcGx1c21pbnVzIHtcclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XHJcbiAgICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XHJcbiAgICAgIGNvbnRlbnQ6ICcrJztcclxuICAgIH1cclxuXHJcbiAgICAuaXMtYWN0aXZlID4gJjo6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogJ1xcMjAxMyc7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFjY29yZGlvbiBjb250ZW50LiBBcHBseSB0aGlzIHRvIHRoZSBjb250ZW50IHBhbmUgYmVsb3cgYW4gYWNjb3JkaW9uIGl0ZW0ncyB0aXRsZS5cclxuQG1peGluIGFjY29yZGlvbi1jb250ZW50IChcclxuICAkcGFkZGluZzogJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmcsXHJcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcclxuICAkYmFja2dyb3VuZDogJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQsXHJcbiAgJGNvbG9yOiAkYWNjb3JkaW9uLWNvbnRlbnQtY29sb3JcclxuKSB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxuICBwYWRkaW5nOiAkcGFkZGluZztcclxuXHJcbiAgYm9yZGVyOiAkYm9yZGVyO1xyXG4gIGJvcmRlci1ib3R0b206IDA7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcblxyXG4gIGNvbG9yOiAkY29sb3I7XHJcblxyXG4gIDpsYXN0LWNoaWxkID4gJjpsYXN0LWNoaWxkIHtcclxuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXI7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24ge1xyXG4gIC5hY2NvcmRpb24ge1xyXG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRhaW5lcjtcclxuICB9XHJcblxyXG4gIC5hY2NvcmRpb24taXRlbSB7XHJcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24taXRlbTtcclxuICB9XHJcblxyXG4gIC5hY2NvcmRpb24tdGl0bGUge1xyXG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLXRpdGxlO1xyXG4gIH1cclxuXHJcbiAgLmFjY29yZGlvbi1jb250ZW50IHtcclxuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250ZW50O1xyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgbWVkaWEtb2JqZWN0XHJcbi8vLy9cclxuXHJcbi8vLyBCb3R0b20gbWFyZ2luIG9mIGEgbWVkaWEgb2JqZWN0LlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcclxuXHJcbi8vLyBMZWZ0IGFuZCByaWdodCBwYWRkaW5nIG9uIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XHJcblxyXG4vLy8gV2lkdGggb2YgaW1hZ2VzIHdpdGhpbiBhIG1lZGlhIG9iamVjdCwgd2hlbiB0aGUgb2JqZWN0IGlzIHN0YWNrZWQgdmVydGljYWxseS4gU2V0IHRvICdhdXRvJyB0byB1c2UgdGhlIGltYWdlJ3MgbmF0dXJhbCB3aWR0aC5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJSAhZGVmYXVsdDtcclxuXHJcbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtZWRpYSBvYmplY3QgY29udGFpbmVyLlxyXG5AbWl4aW4gbWVkaWEtb2JqZWN0LWNvbnRhaW5lciB7XHJcbiAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCBibG9jayk7XHJcbiAgbWFyZ2luLWJvdHRvbTogJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b207XHJcblxyXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xyXG4gICAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgfVxyXG5cclxuICBpbWcge1xyXG4gICAgbWF4LXdpZHRoOiBub25lO1xyXG4gIH1cclxuXHJcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XHJcbiAgICAmLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSB7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8vIEFkZHMgc3R5bGVzIGZvciBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmddIC0gUGFkZGluZyBiZXR3ZWVuIHNlY3Rpb25zLlxyXG5AbWl4aW4gbWVkaWEtb2JqZWN0LXNlY3Rpb24oJHBhZGRpbmc6ICRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmcpIHtcclxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcclxuICAgIGZsZXg6IDAgMSBhdXRvO1xyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICB9XHJcblxyXG4gICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkcGFkZGluZztcclxuICB9XHJcblxyXG4gICY6bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSkge1xyXG4gICAgcGFkZGluZy0jeyRnbG9iYWwtbGVmdH06ICRwYWRkaW5nO1xyXG4gIH1cclxuXHJcbiAgPiA6bGFzdC1jaGlsZCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gIH1cclxuXHJcbiAgLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSAmIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc3RhY2s7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcclxuICAgICYubWFpbi1zZWN0aW9uIHtcclxuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgJi5taWRkbGUge1xyXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgfVxyXG5cclxuICAgICYuYm90dG9tIHtcclxuICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vLyBBZGRzIHN0eWxlcyB0byBzdGFjayBzZWN0aW9ucyBvZiBhIG1lZGlhIG9iamVjdC4gQXBwbHkgdGhpcyB0byB0aGUgc2VjdGlvbiBlbGVtZW50cywgbm90IHRoZSBjb250YWluZXIuXHJcbkBtaXhpbiBtZWRpYS1vYmplY3Qtc3RhY2sge1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgcGFkZGluZy1ib3R0b206ICRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc7XHJcblxyXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xyXG4gICAgZmxleC1iYXNpczogMTAwJTtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG5cclxuICBpbWcge1xyXG4gICAgd2lkdGg6ICRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0IHtcclxuICAubWVkaWEtb2JqZWN0IHtcclxuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1jb250YWluZXI7XHJcbiAgfVxyXG5cclxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXNlY3Rpb247XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBvcmJpdFxyXG4vLy8vXHJcblxyXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgT3JiaXQncyBidWxsZXRzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBhY3RpdmUgY29sb3IgZm9yIE9yYml0J3MgYnVsbGV0cy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBkaWFtZXRlciBmb3IgT3JiaXQncyBidWxsZXRzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IG1hcmdpbiBiZXR3ZWVuIE9yYml0J3MgYnVsbGV0cy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgZGlzdGFuY2UgZnJvbSBzbGlkZSByZWdpb24gZm9yIE9yYml0J3MgYnVsbGV0cy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZnJvbSBPcmJpdCdzIGJ1bGxldHMgdG8gd2hhdGV2ZXIgY29udGVudCBtYXkgbHVyayBiZWxvdyBpdC5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIE9yYml0J3MgY2FwdGlvbi5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgT3JiaXQncyBjYXB0aW9uLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBPcmJpdCdzIGNvbnRyb2xzIHdoZW4gaG92ZXJlZC5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgT3JiaXQncyBjb250cm9scy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgei1pbmRleCBmb3IgT3JiaXQncyBjb250cm9scy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwICFkZWZhdWx0O1xyXG5cclxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgb3V0ZXIgT3JiaXQgd3JhcHBlci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0YCBjbGFzcy5cclxuQG1peGluIG9yYml0LXdyYXBwZXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5uZXIgT3JiaXQgc2xpZGUgY29udGFpbmVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtY29udGFpbmVyYCBjbGFzcy5cclxuQG1peGluIG9yYml0LWNvbnRhaW5lciB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGhlaWdodDogMDsgLy8gUHJldmVudCBGT1VDIGJ5IG5vdCBzaG93aW5nIHVudGlsIEpTIHNldHMgaGVpZ2h0XHJcbiAgbWFyZ2luOiAwO1xyXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5kaXZpZHVhbCBzbGlkZXMgb2YgYW4gT3JiaXQgc2xpZGVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtc2xpZGVgIGNsYXNzLlxyXG5AbWl4aW4gb3JiaXQtc2xpZGUge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHJcbiAgJi5uby1tb3Rpb251aSB7XHJcbiAgICAmLmlzLWFjdGl2ZSB7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgbGVmdDogMDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBvcmJpdC1maWd1cmUge1xyXG4gIG1hcmdpbjogMDtcclxufVxyXG5cclxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHNsaWRlIGNvbnRhaW5pbmcgYW4gaW1hZ2UuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1pbWFnZWAgY2xhc3MuXHJcbkBtaXhpbiBvcmJpdC1pbWFnZSB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIG1hcmdpbjogMDtcclxufVxyXG5cclxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBvcmJpdCBzbGlkZSBjYXB0aW9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtY2FwdGlvbmAgY2xhc3MuXHJcbkBtaXhpbiBvcmJpdC1jYXB0aW9uIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgYm90dG9tOiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgcGFkZGluZzogJG9yYml0LWNhcHRpb24tcGFkZGluZztcclxuXHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDtcclxuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kKTtcclxufVxyXG5cclxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIHRoZSBuZXh0L3ByZXZpb3VzIGJ1dHRvbnMgaW4gYW4gT3JiaXQgc2xpZGVyLiBUaGVzZSBzdHlsZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIHRoZSBgLm9yYml0LW5leHRgIGFuZCBgLm9yYml0LXByZXZpb3VzYCBjbGFzc2VzIGluIHRoZSBkZWZhdWx0IENTUy5cclxuQG1peGluIG9yYml0LWNvbnRyb2wge1xyXG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcclxuICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XHJcbiAgei1pbmRleDogJG9yYml0LWNvbnRyb2wtemluZGV4O1xyXG4gIHBhZGRpbmc6ICRvcmJpdC1jb250cm9sLXBhZGRpbmc7XHJcbiAgY29sb3I6ICR3aGl0ZTtcclxuXHJcbiAgJjpob3ZlcixcclxuICAmOmFjdGl2ZSxcclxuICAmOmZvY3VzIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBwcmV2aW91cyBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1wcmV2aW91c2AgY2xhc3MuXHJcbkBtaXhpbiBvcmJpdC1wcmV2aW91cyB7XHJcbiAgI3skZ2xvYmFsLWxlZnR9OiAwO1xyXG59XHJcblxyXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBuZXh0IGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LW5leHRgIGNsYXNzLlxyXG5AbWl4aW4gb3JiaXQtbmV4dCB7XHJcbiAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xyXG4gICN7JGdsb2JhbC1yaWdodH06IDA7XHJcbn1cclxuXHJcbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjb250YWluZXIgb2YgT3JiaXQgYnVsbGV0cy4gLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgcHJldmlvdXMgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtYnVsbGV0c2AgY2xhc3MuXHJcbkBtaXhpbiBvcmJpdC1idWxsZXRzIHtcclxuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG1hcmdpbi10b3A6ICRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDtcclxuICBtYXJnaW4tYm90dG9tOiAkb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b207XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICBidXR0b24ge1xyXG4gICAgd2lkdGg6ICRvcmJpdC1idWxsZXQtZGlhbWV0ZXI7XHJcbiAgICBoZWlnaHQ6ICRvcmJpdC1idWxsZXQtZGlhbWV0ZXI7XHJcbiAgICBtYXJnaW46ICRvcmJpdC1idWxsZXQtbWFyZ2luO1xyXG5cclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTtcclxuICAgIH1cclxuXHJcbiAgICAmLmlzLWFjdGl2ZSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gZm91bmRhdGlvbi1vcmJpdCB7XHJcbiAgLm9yYml0IHtcclxuICAgIEBpbmNsdWRlIG9yYml0LXdyYXBwZXI7XHJcbiAgfVxyXG5cclxuICAub3JiaXQtY29udGFpbmVyIHtcclxuICAgIEBpbmNsdWRlIG9yYml0LWNvbnRhaW5lcjtcclxuICB9XHJcblxyXG4gIC5vcmJpdC1zbGlkZSB7XHJcbiAgICBAaW5jbHVkZSBvcmJpdC1zbGlkZTtcclxuICB9XHJcblxyXG4gIC5vcmJpdC1maWd1cmUge1xyXG4gICAgQGluY2x1ZGUgb3JiaXQtZmlndXJlO1xyXG4gIH1cclxuXHJcbiAgLm9yYml0LWltYWdlIHtcclxuICAgIEBpbmNsdWRlIG9yYml0LWltYWdlO1xyXG4gIH1cclxuXHJcbiAgLm9yYml0LWNhcHRpb24ge1xyXG4gICAgQGluY2x1ZGUgb3JiaXQtY2FwdGlvbjtcclxuICB9XHJcblxyXG4gICVvcmJpdC1jb250cm9sIHtcclxuICAgIEBpbmNsdWRlIG9yYml0LWNvbnRyb2w7XHJcbiAgfVxyXG5cclxuICAub3JiaXQtcHJldmlvdXMge1xyXG4gICAgQGV4dGVuZCAlb3JiaXQtY29udHJvbDtcclxuICAgIEBpbmNsdWRlIG9yYml0LXByZXZpb3VzO1xyXG4gIH1cclxuXHJcbiAgLm9yYml0LW5leHQge1xyXG4gICAgQGV4dGVuZCAlb3JiaXQtY29udHJvbDtcclxuICAgIEBpbmNsdWRlIG9yYml0LW5leHQ7XHJcbiAgfVxyXG5cclxuICAub3JiaXQtYnVsbGV0cyB7XHJcbiAgICBAaW5jbHVkZSBvcmJpdC1idWxsZXRzO1xyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgcmVzcG9uc2l2ZS1lbWJlZFxyXG4vLy8vXHJcblxyXG4vLy8gTWFyZ2luIGJlbG93IGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xyXG5cclxuLy8vIEFzcGVjdCByYXRpb3MgdXNlZCB0byBkZXRlcm1pbmUgcGFkZGluZy1ib3R0b20gb2YgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXJzLlxyXG4vLy8gQHR5cGUgTWFwXHJcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxyXG4gIGRlZmF1bHQ6IDQgYnkgMyxcclxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8vIENyZWF0ZXMgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cclxuLy8vIEBwYXJhbSB7U3RyaW5nfExpc3R9ICRyYXRpbyBbZGVmYXVsdF0gLSBSYXRpbyBvZiB0aGUgY29udGFpbmVyLiBDYW4gYmUgYSBrZXkgZnJvbSB0aGUgYCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvc2AgbWFwIG9yIGEgbGlzdCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXHJcbkBtaXhpbiByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCkge1xyXG4gIEBpZiB0eXBlLW9mKCRyYXRpbykgPT0gJ3N0cmluZycge1xyXG4gICAgJHJhdGlvOiBtYXAtZ2V0KCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcywgJHJhdGlvKTtcclxuICB9XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGhlaWdodDogMDtcclxuICBtYXJnaW4tYm90dG9tOiAkcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tO1xyXG4gIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgaWZyYW1lLFxyXG4gIG9iamVjdCxcclxuICBlbWJlZCxcclxuICB2aWRlbyB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICAjeyRnbG9iYWwtbGVmdH06IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQge1xyXG4gIC5yZXNwb25zaXZlLWVtYmVkLFxyXG4gIC5mbGV4LXZpZGVvIHtcclxuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KTtcclxuXHJcbiAgICAkcmF0aW9zOiBtYXAtcmVtb3ZlKCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcyxkZWZhdWx0KTtcclxuXHJcbiAgICBAZWFjaCAkbmFtZSwgJHJhdGlvIGluICRyYXRpb3Mge1xyXG4gICAgICAmLiN7JG5hbWV9IHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBmdW5jdGlvbnNcclxuLy8vL1xyXG5cclxuLy8vIEZpbmRzIHRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvciBvZiB0d28gaW50ZWdlcnMuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhIC0gRmlyc3QgbnVtYmVyIHRvIGNvbXBhcmUuXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGIgLSBTZWNvbmQgbnVtYmVyIHRvIGNvbXBhcmUuXHJcbi8vL1xyXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yLlxyXG5AZnVuY3Rpb24gZ2NkKCRhLCAkYikge1xyXG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9HcmVhdGVzdF9jb21tb25fZGl2aXNvciNKYXZhU2NyaXB0XHJcbiAgQGlmICgkYiAhPSAwKSB7XHJcbiAgICBAcmV0dXJuIGdjZCgkYiwgJGEgJSAkYik7XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIEByZXR1cm4gYWJzKCRhKTtcclxuICB9XHJcbn1cclxuXHJcbi8vLyBIYW5kbGVzIGRlY2ltYWwgZXhwb25lbnRzIGJ5IHRyeWluZyB0byBjb252ZXJ0IHRoZW0gaW50byBhIGZyYWN0aW9uIGFuZCB0aGVuIHVzZSBhIG50aC1yb290LWFsZ29yaXRobSBmb3IgcGFydHMgb2YgdGhlIGNhbGN1bGF0aW9uXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGJhc2UgbnVtYmVyLlxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRleHBvbmVudCAtIFRoZSBleHBvbmVudC5cclxuLy8vXHJcbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgcHJvZHVjdCBvZiB0aGUgZXhwb25lbnRpYXRpb24uXHJcbkBmdW5jdGlvbiBwb3coJGJhc2UsICRleHBvbmVudCwgJHByZWM6IDE2KSB7XHJcbiAgQGlmIChmbG9vcigkZXhwb25lbnQpICE9ICRleHBvbmVudCkge1xyXG4gICAgJHByZWMyIDogcG93KDEwLCAkcHJlYyk7XHJcbiAgICAkZXhwb25lbnQ6IHJvdW5kKCRleHBvbmVudCAqICRwcmVjMik7XHJcbiAgICAkZGVub21pbmF0b3I6IGdjZCgkZXhwb25lbnQsICRwcmVjMik7XHJcbiAgICBAcmV0dXJuIG50aC1yb290KHBvdygkYmFzZSwgJGV4cG9uZW50IC8gJGRlbm9taW5hdG9yKSwgJHByZWMyIC8gJGRlbm9taW5hdG9yLCAkcHJlYyk7XHJcbiAgfVxyXG5cclxuICAkdmFsdWU6ICRiYXNlO1xyXG4gIEBpZiAkZXhwb25lbnQgPiAxIHtcclxuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGV4cG9uZW50IHtcclxuICAgICAgJHZhbHVlOiAkdmFsdWUgKiAkYmFzZTtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJGV4cG9uZW50IDwgMSB7XHJcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIC0kZXhwb25lbnQge1xyXG4gICAgICAkdmFsdWU6ICR2YWx1ZSAvICRiYXNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkdmFsdWU7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBudGgtcm9vdCgkbnVtLCAkbjogMiwgJHByZWM6IDEyKSB7XHJcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL050aF9yb290I0phdmFTY3JpcHRcclxuICAkeDogMTtcclxuXHJcbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkcHJlYyB7XHJcbiAgICAkeDogMSAvICRuICogKCgkbiAtIDEpICogJHggKyAoJG51bSAvIHBvdygkeCwgJG4gLSAxKSkpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkeDtcclxufVxyXG5cclxuLy8vIENhbGN1bGF0ZXMgdGhlIGhlaWdodCBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIHdpZHRoIGZvciBhIGdpdmVuIHJhdGlvLlxyXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmF0aW8gLSBSYXRpbyB0byB1c2UgdG8gY2FsY3VsYXRlIHRoZSBoZWlnaHQsIGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cclxuLy8vIEByZXR1cm4ge051bWJlcn0gQSBwZXJjZW50YWdlIHZhbHVlIGZvciB0aGUgaGVpZ2h0IHJlbGF0aXZlIHRvIHRoZSB3aWR0aCBvZiBhIHJlc3BvbnNpdmUgY29udGFpbmVyLlxyXG5AZnVuY3Rpb24gcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pIHtcclxuICAkdzogbnRoKCRyYXRpbywgMSk7XHJcbiAgJGg6IG50aCgkcmF0aW8sIDMpO1xyXG4gIEByZXR1cm4gJGggLyAkdyAqIDEwMCU7XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIHRhYnNcclxuLy8vL1xyXG5cclxuLy8vIERlZmF1bHQgbWFyZ2luIG9mIHRoZSB0YWIgYmFyLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiR0YWItbWFyZ2luOiAwICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBGb250IGNvbG9yIG9mIHRhYiBpdGVtLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQWN0aXZlIGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQWN0aXZlIGZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRm9udCBzaXplIG9mIHRhYiBpdGVtcy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXHJcbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGEgdGFiIGl0ZW0uXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cclxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcclxuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cclxuQG1peGluIHRhYnMtY29udGFpbmVyIChcclxuICAkbWFyZ2luOiAkdGFiLW1hcmdpbixcclxuICAkYmFja2dyb3VuZDogJHRhYi1iYWNrZ3JvdW5kLFxyXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcclxuKSB7XHJcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbiAgbWFyZ2luOiAkbWFyZ2luO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XHJcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XHJcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG59XHJcblxyXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGFpbmVyIHRvIGhhdmUgdmVydGljYWwgdGFicy4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250YWluZXIoKWAuXHJcbkBtaXhpbiB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbCB7XHJcbiAgPiBsaSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZsb2F0OiBub25lO1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBsaW5rcyB3aXRoaW4gYSB0YWIgY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBgPGxpPmAgZWxlbWVudHMgaW5zaWRlIGEgdGFiIGNvbnRhaW5lci5cclxuQG1peGluIHRhYnMtdGl0bGUgKFxyXG4gICRwYWRkaW5nOiAkdGFiLWl0ZW0tcGFkZGluZyxcclxuICAkZm9udC1zaXplOiAkdGFiLWl0ZW0tZm9udC1zaXplLFxyXG4gICRjb2xvcjogJHRhYi1jb2xvcixcclxuICAkY29sb3ItYWN0aXZlOiAkdGFiLWFjdGl2ZS1jb2xvcixcclxuICAkYmFja2dyb3VuZC1ob3ZlcjogJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXIsXHJcbiAgJGJhY2tncm91bmQtYWN0aXZlOiAkdGFiLWJhY2tncm91bmQtYWN0aXZlXHJcbikge1xyXG4gIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XHJcblxyXG4gID4gYSB7XHJcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xyXG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1ob3ZlcjtcclxuICAgICAgY29sb3I6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XHJcbiAgICB9XHJcblxyXG4gICAgJjpmb2N1cyxcclxuICAgICZbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcclxuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtYWN0aXZlO1xyXG4gICAgICBjb2xvcjogJGNvbG9yLWFjdGl2ZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHdyYXBwZXIgdGhhdCBzdXJyb3VuZHMgYSB0YWIgZ3JvdXAncyBjb250ZW50IHBhbmVzLlxyXG5AbWl4aW4gdGFicy1jb250ZW50IChcclxuICAkYmFja2dyb3VuZDogJHRhYi1jb250ZW50LWJhY2tncm91bmQsXHJcbiAgJGNvbG9yOiAkdGFiLWNvbnRlbnQtY29sb3IsXHJcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxyXG4pIHtcclxuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xyXG4gIGJvcmRlci10b3A6IDA7XHJcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XHJcbiAgY29sb3I6ICRjb2xvcjtcclxuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xyXG59XHJcblxyXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGVudCBjb250YWluZXIgdG8gaGF2ZSBhIHZlcnRpY2FsIHN0eWxlLCBieSBzaGlmdGluZyB0aGUgYm9yZGVyIGFyb3VuZC4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250ZW50KClgLlxyXG5AbWl4aW4gdGFicy1jb250ZW50LXZlcnRpY2FsIChcclxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXHJcbikge1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XHJcbiAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcclxufVxyXG5cclxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBpbmRpdmlkdWFsIHRhYiBjb250ZW50IHBhbmVsIHdpdGhpbiB0aGUgdGFiIGNvbnRlbnQgY29udGFpbmVyLlxyXG5AbWl4aW4gdGFicy1wYW5lbCAoXHJcbiAgJHBhZGRpbmc6ICR0YWItY29udGVudC1wYWRkaW5nXHJcbikge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbiAgcGFkZGluZzogJHBhZGRpbmc7XHJcblxyXG4gICYuaXMtYWN0aXZlIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tdGFicyB7XHJcbiAgLnRhYnMge1xyXG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXI7XHJcbiAgfVxyXG5cclxuICAvLyBWZXJ0aWNhbFxyXG4gIC50YWJzLnZlcnRpY2FsIHtcclxuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsO1xyXG4gIH1cclxuXHJcbiAgLy8gU2ltcGxlXHJcbiAgLnRhYnMuc2ltcGxlIHtcclxuICAgID4gbGkgPiBhIHtcclxuICAgICAgcGFkZGluZzogMDtcclxuXHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBQcmltYXJ5IGNvbG9yXHJcbiAgLnRhYnMucHJpbWFyeSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuXHJcbiAgICA+IGxpID4gYSB7XHJcbiAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRwcmltYXJ5LWNvbG9yKTtcclxuXHJcbiAgICAgICY6aG92ZXIsXHJcbiAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCRwcmltYXJ5LWNvbG9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnRhYnMtdGl0bGUge1xyXG4gICAgQGluY2x1ZGUgdGFicy10aXRsZTtcclxuICB9XHJcblxyXG4gIC50YWJzLWNvbnRlbnQge1xyXG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50O1xyXG4gIH1cclxuXHJcbiAgLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XHJcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQtdmVydGljYWw7XHJcbiAgfVxyXG5cclxuICAudGFicy1wYW5lbCB7XHJcbiAgICBAaW5jbHVkZSB0YWJzLXBhbmVsO1xyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgdGh1bWJuYWlsXHJcbi8vLy9cclxuXHJcbi8vLyBCb3JkZXIgYXJvdW5kIHRodW1ibmFpbCBpbWFnZXMuXHJcbi8vLyBAdHlwZSBCb3JkZXJcclxuJHRodW1ibmFpbC1ib3JkZXI6IDRweCBzb2xpZCAkd2hpdGUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgdGh1bWJuYWlsIGltYWdlcy5cclxuLy8vIEB0eXBlIExlbmd0aFxyXG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xyXG5cclxuLy8vIEJveCBzaGFkb3cgdW5kZXIgdGh1bWJuYWlsIGltYWdlcy5cclxuLy8vIEB0eXBlIFNoYWRvd1xyXG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpICFkZWZhdWx0O1xyXG5cclxuLy8vIEJveCBzaGFkb3cgdW5kZXIgdGh1bWJuYWlsIGltYWdlcy5cclxuLy8vIEB0eXBlIFNoYWRvd1xyXG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KSAhZGVmYXVsdDtcclxuXHJcbi8vLyBUcmFuc2l0aW9uIHByb3BydGllcyBmb3IgdGh1bWJuYWlsIGltYWdlcy5cclxuLy8vIEB0eXBlIFRyYW5zaXRpb25cclxuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0ICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcclxuXHJcbi8vLyBBZGRzIHRodW1ibmFpbCBzdHlsZXMgdG8gYW4gZWxlbWVudC5cclxuQG1peGluIHRodW1ibmFpbCB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIG1heC13aWR0aDogMTAwJTtcclxuICBtYXJnaW4tYm90dG9tOiAkdGh1bWJuYWlsLW1hcmdpbi1ib3R0b207XHJcblxyXG4gIGJvcmRlcjogJHRodW1ibmFpbC1ib3JkZXI7XHJcbiAgYm9yZGVyLXJhZGl1czogJHRodW1ibmFpbC1yYWRpdXM7XHJcbiAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3c7XHJcblxyXG4gIGxpbmUtaGVpZ2h0OiAwO1xyXG59XHJcblxyXG5AbWl4aW4gdGh1bWJuYWlsLWxpbmsge1xyXG4gIHRyYW5zaXRpb246ICR0aHVtYm5haWwtdHJhbnNpdGlvbjtcclxuXHJcbiAgJjpob3ZlcixcclxuICAmOmZvY3VzIHtcclxuICAgIGJveC1zaGFkb3c6ICR0aHVtYm5haWwtc2hhZG93LWhvdmVyO1xyXG4gIH1cclxuXHJcbiAgaW1hZ2Uge1xyXG4gICAgYm94LXNoYWRvdzogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLXRodW1ibmFpbCB7XHJcbiAgLnRodW1ibmFpbCB7XHJcbiAgICBAaW5jbHVkZSB0aHVtYm5haWw7XHJcbiAgfVxyXG5cclxuICBhLnRodW1ibmFpbCB7XHJcbiAgICBAaW5jbHVkZSB0aHVtYm5haWwtbGluaztcclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIG1lbnVcclxuLy8vL1xyXG5cclxuLy8vIE1hcmdpbiBvZiBhIG1lbnUuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJG1lbnUtbWFyZ2luOiAwICFkZWZhdWx0O1xyXG5cclxuLy8vIExlZnQtaGFuZCBtYXJnaW4gb2YgYSBuZXN0ZWQgbWVudS5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbiAhZGVmYXVsdDtcclxuXHJcbi8vLyBQYWRkaW5nIGZvciBpdGVtcyBpbiBhIHBpbGwgbWVudS5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kbWVudS1pdGVtcy1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcclxuXHJcbi8vLyBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgc2ltcGxlIG1lbnUuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlICFkZWZhdWx0O1xyXG5cclxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcclxuXHJcbi8vLyBTcGFjaW5nIGJldHdlZW4gYW4gaWNvbiBhbmQgdGV4dCBpbiBhIG1lbnUgaXRlbS5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBzdGF0ZS4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYGFjdGl2ZWAgd2l0aCBgaXMtYWN0aXZlYC4gXHJcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgYWN0aXZlYCB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXHJcbi8vLyBAdHlwZSBCb29sZWFuXHJcbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xyXG5cclxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG1lbnUgY2VudGVyZWQuIElmIHRydWUsIHRoaXMgZHVwbGljYXRlIGAubWVudS1jZW50ZXJlZCA+IC5tZW51YCB3aXRoIGAubWVudS5hbGlnbi1jZW50ZXJgLiBcclxuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IGBtZW51LWNlbnRlcmVkYCB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXHJcbi8vLyBAdHlwZSBCb29sZWFuXHJcbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xyXG5cclxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIHVzaW5nIGBpY29uLSpgIGNsYXNzZXMgd2l0aG91dCBgLmljb25zYCBjbGFzc2VzXHJcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCB0aGlzIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxyXG4vLy8gQHR5cGUgQm9vbGVhblxyXG4kbWVudS1pY29ucy1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBDcmVhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBNZW51LlxyXG5AbWl4aW4gbWVudS1iYXNlIHtcclxuICBwYWRkaW5nOiAwO1xyXG4gIG1hcmdpbjogMDtcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gIH1cclxuXHJcbiAgbGkge1xyXG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xyXG4gIH1cclxuXHJcbiAgYSxcclxuICAuYnV0dG9uIHtcclxuICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwYWRkaW5nOiAkbWVudS1pdGVtcy1wYWRkaW5nO1xyXG4gIH1cclxuXHJcbiAgLy8gUmVzZXQgc3R5bGVzIG9mIGlubmVyIGVsZW1lbnRzXHJcbiAgaW5wdXQsXHJcbiAgc2VsZWN0LFxyXG4gIGEsXHJcbiAgYnV0dG9uIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgfVxyXG5cclxuICBpbnB1dCB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gRXhwYW5kcyB0aGUgaXRlbXMgb2YgYSBNZW51LCBzbyBlYWNoIGl0ZW0gaXMgdGhlIHNhbWUgd2lkdGguXHJcbkBtaXhpbiBtZW51LWV4cGFuZCB7XHJcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XHJcbiAgICBsaSB7XHJcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgPiBsaSB7XHJcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQWxpZ24gbWVudSBpdGVtcy5cclxuQG1peGluIG1lbnUtYWxpZ24oJGFsaWdubWVudCkge1xyXG4gIEBpZiAkYWxpZ25tZW50ID09IGxlZnQge1xyXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IHJpZ2h0IHtcclxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xyXG4gICAgICBsaSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG5cclxuICAgICAgICAuc3VibWVudSBsaSB7XHJcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmLnZlcnRpY2FsIGxpIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xyXG5cclxuICAgICAgICAuc3VibWVudSBsaSB7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xyXG5cclxuICAgICAgLnN1Ym1lbnUgbGkge1xyXG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcclxuICAgICAgfVxyXG5cclxuICAgICAgJi52ZXJ0aWNhbCB7XHJcbiAgICAgICAgLnN1Ym1lbnUgbGkge1xyXG4gICAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSBjZW50ZXIge1xyXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XHJcbiAgICAgIGxpIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuICAgICAgICAuc3VibWVudSBsaSB7XHJcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBAZWxzZSB7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICAgIC5zdWJtZW51IGxpIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vLyBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgYSBNZW51LlxyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFtob3Jpem9udGFsXSAtIERpcmVjdGlvbiBvZiB0aGUgTWVudS4gQ2FuIGJlIGBob3Jpem9udGFsYCBvciBgdmVydGljYWxgLlxyXG5AbWl4aW4gbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xyXG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xyXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XHJcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgbGkge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcclxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xyXG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgbGkge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIG1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQ3JlYXRlcyBhIHNpbXBsZSBNZW51LCB3aGljaCBoYXMgbm8gcGFkZGluZyBvciBob3ZlciBzdGF0ZS5cclxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbJGdsb2JhbC1sZWZ0XSAtIERpcmVjdGlvbiBvZiB0aGUgbWVudS4gVGhpcyBlZmZlY3RzIHRoZSBzaWRlIG9mIHRoZSBgPGxpPmAgdGhhdCByZWNlaXZlcyB0aGUgbWFyZ2luLlxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LXNpbXBsZS1tYXJnaW5dIC0gVGhlIG1hcmdpbiB0byBhcHBseSB0byBlYWNoIGA8bGk+YC5cclxuQG1peGluIG1lbnUtc2ltcGxlKCRkaXI6ICRnbG9iYWwtbGVmdCwgJG1hcmdpbjogJG1lbnUtc2ltcGxlLW1hcmdpbikge1xyXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICB9XHJcblxyXG4gIGxpICsgbGkge1xyXG4gICAgbWFyZ2luLSN7JGRpcn06ICRtYXJnaW47XHJcbiAgfVxyXG5cclxuICBhIHtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbmVzdGVkIE1lbnUsIGJ5IGFkZGluZyBgbWFyZ2luLWxlZnRgIHRvIHRoZSBtZW51LlxyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJG1hcmdpbiBbJG1lbnUtbmVzdGVkLW1hcmdpbl0gLSBMZW5ndGggb2YgdGhlIG1hcmdpbi5cclxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJG5lc3RlZC1hbGlnbm1lbnQgW2xlZnRdIC0gQWxpZ25tZW50IG9mIHRoZSBuZXN0ZWQgY2xhc3NcclxuQG1peGluIG1lbnUtbmVzdGVkKFxyXG4gICRtYXJnaW46ICRtZW51LW5lc3RlZC1tYXJnaW4sXHJcbiAgJG5lc3RlZC1hbGlnbm1lbnQ6IGxlZnRcclxuKSB7XHJcbiAgQGlmICRuZXN0ZWQtYWxpZ25tZW50ID09IHJpZ2h0IHtcclxuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkbWFyZ2luO1xyXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XHJcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbWFyZ2luO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgaWNvbnMgaW4gbWVudXMuXHJcbkBtaXhpbiBtZW51LWljb25zKCkge1xyXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xyXG4gICAgYSB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIGltZyxcclxuICAgIGksXHJcbiAgICBzdmcge1xyXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cclxuICAgICAgKyBzcGFuIHtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQWRkcyBwb3NpdGlvbiBjbGFzc2VzIGZvciBpY29ucyB3aXRoaW4gYSBtZW51LlxyXG5AbWl4aW4gbWVudS1pY29uLXBvc2l0aW9uKCRwb3NpdGlvbjogbGVmdCwgJHNwYWNpbmc6ICRtZW51LWljb24tc3BhY2luZykge1xyXG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XHJcbiAgICBsaSBhIHtcclxuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XHJcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpbWcsXHJcbiAgICAgIGksXHJcbiAgICAgIHN2ZyB7XHJcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xyXG5cclxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XHJcbiAgICBsaSBhIHtcclxuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XHJcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpbWcsXHJcbiAgICAgIGksXHJcbiAgICAgIHN2ZyB7XHJcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJHNwYWNpbmc7XHJcblxyXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcclxuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XHJcbiAgICBsaSBhIHtcclxuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XHJcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xyXG4gICAgICB9XHJcbiAgICAgIEBlbHNlIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGltZyxcclxuICAgICAgaSxcclxuICAgICAgc3ZnIHtcclxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIG1hcmdpbjogMCBhdXRvICRzcGFjaW5nO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAZWxzZSB7XHJcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xyXG4gICAgbGkgYSB7XHJcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xyXG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcclxuICAgICAgfVxyXG4gICAgICBAZWxzZSB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpbWcsXHJcbiAgICAgIGksXHJcbiAgICAgIHN2ZyB7XHJcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICBtYXJnaW46ICRzcGFjaW5nIGF1dG8gMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGVsc2Uge1xyXG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xyXG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIG1lbnUtdGV4dCB7XHJcbiAgcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XHJcblxyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIGxpbmUtaGVpZ2h0OiAxO1xyXG4gIGNvbG9yOiBpbmhlcml0O1xyXG59XHJcblxyXG5AbWl4aW4gbWVudS1zdGF0ZS1hY3RpdmUge1xyXG4gIGJhY2tncm91bmQ6ICRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XHJcbiAgY29sb3I6ICRtZW51LWl0ZW0tY29sb3ItYWN0aXZlO1xyXG59XHJcblxyXG5AbWl4aW4gZm91bmRhdGlvbi1tZW51IHtcclxuICAubWVudSB7XHJcbiAgICBAaW5jbHVkZSBtZW51LWJhc2U7XHJcblxyXG4gICAgLy8gRGVmYXVsdCBvcmllbnRhdGlvbjogaG9yaXpvbnRhbFxyXG4gICAgJiwgJi5ob3Jpem9udGFsIHtcclxuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVmVydGljYWwgb3JpZW50YXRpb24gbW9kaWZpZXJcclxuICAgICYudmVydGljYWwge1xyXG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gRXZlbi13aWR0aCBtb2RpZmllciBmb3IgaG9yaXpvbnRhbCBvcmllbnRhdGlvblxyXG4gICAgJi5leHBhbmRlZCB7XHJcbiAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFNpbXBsZVxyXG4gICAgJi5zaW1wbGUge1xyXG4gICAgICBAaW5jbHVkZSBtZW51LXNpbXBsZTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBCcmVha3BvaW50IHNwZWNpZmljIHZlcnNpb25zXHJcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogZmFsc2UpIHtcclxuICAgICAgJi4jeyQtemYtc2l6ZX0taG9yaXpvbnRhbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYuI3skLXpmLXNpemV9LXZlcnRpY2FsIHtcclxuICAgICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYuI3skLXpmLXNpemV9LWV4cGFuZGVkIHtcclxuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcclxuICAgICAgfVxyXG5cclxuICAgICAgJi4jeyQtemYtc2l6ZX0tc2ltcGxlIHtcclxuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIE5lc3RpbmdcclxuICAgICYubmVzdGVkIHtcclxuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gSWNvbiBCYXNlIFN0eWxlc1xyXG4gICAgJi5pY29ucyB7XHJcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXHJcbiAgICBAaWYgJG1lbnUtaWNvbnMtYmFjay1jb21wYXQge1xyXG4gICAgICAmLmljb24tdG9wLFxyXG4gICAgICAmLmljb24tcmlnaHQsXHJcbiAgICAgICYuaWNvbi1ib3R0b20sXHJcbiAgICAgICYuaWNvbi1sZWZ0IHtcclxuICAgICAgICBAaW5jbHVkZSBtZW51LWljb25zO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gSWNvbiBMZWZ0XHJcbiAgICAmLmljb24tbGVmdCB7XHJcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihsZWZ0KTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBJY29uIFJpZ2h0XHJcbiAgICAmLmljb24tcmlnaHQge1xyXG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24ocmlnaHQpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEljb24gVG9wXHJcbiAgICAmLmljb24tdG9wIHtcclxuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKHRvcCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gSWNvbiBCb3R0b21cclxuICAgICYuaWNvbi1ib3R0b20ge1xyXG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24oYm90dG9tKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBBY3RpdmUgc3RhdGVcclxuICAgIC5pcy1hY3RpdmUgPiBhIHtcclxuICAgICAgQGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8vIEJhY2t3YXJkIENvbXBhdGliaWxpdHkgZm9yIGFjdGl2ZSBzdGF0ZVxyXG4gICAgQGlmICRtZW51LXN0YXRlLWJhY2stY29tcGF0IHtcclxuICAgICAgLmFjdGl2ZSA+IGEge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lbnUtc3RhdGUtYWN0aXZlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQWxpZ24gbGVmdFxyXG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtbGVmdH0ge1xyXG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGxlZnQpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEFsaWduIHJpZ2h0XHJcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xyXG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKHJpZ2h0KTtcclxuXHJcbiAgICAgIC5uZXN0ZWQge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRuZXN0ZWQtYWxpZ25tZW50OiByaWdodCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBBbGlnbiBjZW50ZXJcclxuICAgICYuYWxpZ24tY2VudGVyIHtcclxuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIC5tZW51LXRleHQge1xyXG4gICAgICBAaW5jbHVkZSBtZW51LXRleHQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQge1xyXG4gICAgLm1lbnUtY2VudGVyZWQge1xyXG4gICAgICA+IC5tZW51IHtcclxuICAgICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcclxuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGNlbnRlcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFByZXZlbnQgRk9VQyB3aGVuIHVzaW5nIHRoZSBSZXNwb25zaXZlIE1lbnUgcGx1Z2luXHJcbiAgLm5vLWpzIFtkYXRhLXJlc3BvbnNpdmUtbWVudV0gdWwge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbn1cclxuIiwiQG1peGluIGZvdW5kYXRpb24tbWVudS1pY29uIHtcclxuICAubWVudS1pY29uIHtcclxuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcigkY29sb3I6ICR0aXRsZWJhci1pY29uLWNvbG9yLCAkY29sb3ItaG92ZXI6ICR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyKTtcclxuICB9XHJcblxyXG4gIC5tZW51LWljb24uZGFyayB7XHJcbiAgICBAaW5jbHVkZSBoYW1idXJnZXI7XHJcbiAgfVxyXG59XHJcbiIsIi8vLy9cclxuLy8vIEBncm91cCBhY2NvcmRpb24tbWVudVxyXG4vLy8vXHJcblxyXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBwYWRkaW5nLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xyXG5cclxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgbmVzdGVkIG1hcmdpblxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luICFkZWZhdWx0O1xyXG5cclxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSBwYWRkaW5nLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZyAhZGVmYXVsdDtcclxuXHJcbi8vLyBTZXRzIGlmIGFjY29yZGlvbiBtZW51cyBoYXZlIHRoZSBkZWZhdWx0IGFycm93IHN0eWxlcy5cclxuLy8vIEB0eXBlIEJvb2xlYW5cclxuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xyXG5cclxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcclxuXHJcbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcclxuXHJcbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gYm9yZGVyLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xyXG5cclxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcclxuXHJcbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cclxuLy8vIEB0eXBlIExpc3RcclxuJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI6ICRhY2NvcmRpb25tZW51LWJvcmRlciAhZGVmYXVsdDtcclxuXHJcbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgdG9nZ2xlIGJhY2tncm91bmQgd2lkdGguXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg6IDQwcHggIWRlZmF1bHQ7XHJcblxyXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHRvZ2dsZSBiYWNrZ3JvdW5kIGhlaWdodC5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoICFkZWZhdWx0O1xyXG5cclxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxyXG4vLy8gQHR5cGUgTGVuZ3RoXHJcbiRhY2NvcmRpb25tZW51LWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcclxuXHJcbkBtaXhpbiB6Zi1hY2NvcmRpb24tbWVudS1sZWZ0LXJpZ2h0LWFycm93cyB7XHJcbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgPiBhIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplLCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIG1hcmdpbi10b3A6IC0xICogKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUgLyAyKTtcclxuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYuYWxpZ24tbGVmdCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xyXG4gICAgcmlnaHQ6IDFyZW07XHJcbiAgICBsZWZ0OiBhdXRvO1xyXG4gIH1cclxuXHJcbiAgJi5hbGlnbi1yaWdodCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xyXG4gICAgcmlnaHQ6IGF1dG87XHJcbiAgICBsZWZ0OiAxcmVtO1xyXG4gIH1cclxufVxyXG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudSB7XHJcblxyXG4gIC5hY2NvcmRpb24tbWVudSB7XHJcbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xyXG4gICAgfVxyXG5cclxuICAgIGxpIHtcclxuICAgICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xyXG4gICAgICAgIGJvcmRlci1yaWdodDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xyXG4gICAgICAgIGJvcmRlci1sZWZ0OiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XHJcbiAgICAgIH1cclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgYSB7XHJcbiAgICAgIEBpZiAkYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDtcclxuICAgICAgfVxyXG4gICAgICBwYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nO1xyXG4gICAgfVxyXG5cclxuICAgIC5pcy1hY2NvcmRpb24tc3VibWVudSBhIHtcclxuICAgICAgcGFkZGluZzogJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nO1xyXG4gICAgfVxyXG5cclxuICAgIC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xyXG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luKTtcclxuICAgIH1cclxuXHJcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xyXG4gICAgICAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcclxuICAgICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luLCByaWdodCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYXJyb3dzIHtcclxuICAgICAgQGluY2x1ZGUgemYtYWNjb3JkaW9uLW1lbnUtbGVmdC1yaWdodC1hcnJvd3M7XHJcblxyXG4gICAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9J3RydWUnXSA+IGE6OmFmdGVyIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5pcy1hY2NvcmRpb24tc3VibWVudSBsaSB7XHJcbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcclxuICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xyXG4gICAgICBib3JkZXItbGVmdDogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIH1cclxuXHJcbiAgLmhhcy1zdWJtZW51LXRvZ2dsZSA+IGEge1xyXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xyXG4gIH1cclxuXHJcbiAgLy8gU3VibWVudSB0b2dnbGVcclxuICAuc3VibWVudS10b2dnbGUge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgI3skZ2xvYmFsLXJpZ2h0fTogMDtcclxuXHJcbiAgICB3aWR0aDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XHJcbiAgICBoZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDtcclxuXHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI7XHJcblxyXG4gICAgQGlmICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEFkZCB0aGUgYXJyb3cgdG8gdGhlIHRvZ2dsZVxyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoNnB4LCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XHJcblxyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIGJvdHRvbTogMDtcclxuICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gUm90YXRlIHRoZSBhcnJvdyB3aGVuIG1lbnUgaXMgb3BlblxyXG4gIC5zdWJtZW51LXRvZ2dsZVthcmlhLWV4cGFuZGVkPSd0cnVlJ106OmFmdGVyIHtcclxuICAgIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XHJcbiAgfVxyXG5cclxuICAuc3VibWVudS10b2dnbGUtdGV4dCB7XHJcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIGRyaWxsZG93blxyXG4vLy8vXHJcblxyXG4vLy8gVHJhbnNpdGlvbiBwcm9wZXJ0eSB0byB1c2UgZm9yIGFuaW1hdGluZyBtZW51cy5cclxuLy8vIEB0eXBlIFRyYW5zaXRpb25cclxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyICFkZWZhdWx0O1xyXG5cclxuLy8vIEFkZHMgYXJyb3dzIHRvIGRyaWxsZG93biBpdGVtcyB3aXRoIHN1Ym1lbnVzLCBhcyB3ZWxsIGFzIHRoZSBiYWNrIGJ1dHRvbi5cclxuLy8vIEB0eXBlIEJvb2xlYW5cclxuJGRyaWxsZG93bi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBpdGVtIHBhZGRpbmcuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcclxuXHJcbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IG5lc3RlZCBtYXJnaW5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDAgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHRvcCBsZXZlbCBpdGVtcy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xyXG5cclxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgaXRlbSBwYWRkaW5nIGluIHRoZSBzdWJtZW51LlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmcgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHN1Ym1lbnVzLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBTZXRzIGRyaWxsZG93biBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XHJcblxyXG4vLy8gU2V0cyBkcmlsbGRvd24gYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxyXG4vLy8gQHR5cGUgTGVuZ3RoXHJcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xyXG5cclxuQG1peGluIHpmLWRyaWxsZG93bi1sZWZ0LXJpZ2h0LWFycm93cyB7XHJcbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcmlsbGRvd24tYXJyb3ctc2l6ZSwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1yaWdodCk7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyaWxsZG93bi1hcnJvdy1zaXplO1xyXG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5hbGlnbi1sZWZ0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XHJcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCByaWdodCk7XHJcbiAgICByaWdodDogMXJlbTtcclxuICAgIGxlZnQ6IGF1dG87XHJcbiAgfVxyXG5cclxuICAmLmFsaWduLXJpZ2h0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XHJcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBsZWZ0KTtcclxuICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgbGVmdDogMXJlbTtcclxuICB9XHJcblxyXG59XHJcblxyXG5AbWl4aW4gZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudSB7XHJcbiAgLy8gQXBwbGllZCB0byB0aGUgTWVudSBjb250YWluZXJcclxuICAuaXMtZHJpbGxkb3duIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICAgbGkge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuXHJcbiAgICAmLmFuaW1hdGUtaGVpZ2h0IHtcclxuICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBUaGUgdG9wIGxldmVsIDx1bD5cclxuICAuZHJpbGxkb3duIHtcclxuICAgIGEge1xyXG4gICAgICBwYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRkcmlsbGRvd24tYmFja2dyb3VuZDtcclxuICAgIH1cclxuXHJcbiAgICAvLyBBcHBsaWVkIHRvIHN1Ym1lbnUgPHVsPnNcclxuICAgIC5pcy1kcmlsbGRvd24tc3VibWVudSB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XHJcbiAgICAgIHotaW5kZXg6IC0xO1xyXG5cclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kO1xyXG4gICAgICB0cmFuc2l0aW9uOiAkZHJpbGxkb3duLXRyYW5zaXRpb247XHJcblxyXG4gICAgICAmLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIC0xMDAlLCAxMDAlKSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYuaXMtY2xvc2luZyB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAxMDAlLCAtMTAwJSkpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBTdWJtZW51IGl0ZW0gcGFkZGluZ1xyXG4gICAgICBhIHtcclxuICAgICAgICBwYWRkaW5nOiAkZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5uZXN0ZWQuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xyXG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkZHJpbGxkb3duLW5lc3RlZC1tYXJnaW4pO1xyXG4gICAgfVxyXG5cclxuICAgIC5kcmlsbGRvd24tc3VibWVudS1jb3Zlci1wcmV2aW91cyB7XHJcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICRkcmlsbGRvd24tYXJyb3dzIHtcclxuICAgICAgQGluY2x1ZGUgemYtZHJpbGxkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xyXG5cclxuICAgICAgLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcclxuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyaWxsZG93bi1hcnJvdy1zaXplLCAkZHJpbGxkb3duLWFycm93LWNvbG9yLCAkZ2xvYmFsLWxlZnQpO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjc1cmVtOyAvLyBDcmVhdGVzIHNwYWNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dFxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBkcm9wZG93bi1tZW51XHJcbi8vLy9cclxuXHJcbi8vLyBFbmFibGVzIGFycm93cyBmb3IgaXRlbXMgd2l0aCBkcm9wZG93biBtZW51cy5cclxuLy8vIEB0eXBlIEJvb2xlYW5cclxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yICFkZWZhdWx0O1xyXG5cclxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXHJcbi8vLyBAdHlwZSBMZW5ndGhcclxuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XHJcblxyXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IHBhZGRpbmcgZm9yIGFsaWduaW5nIHRoZSBhcnJvdyBjb3JyZWN0bHkuXHJcbi8vLyBAdHlwZSBMZW5ndGhcclxuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLy8gTWluaW11bSB3aWR0aCBvZiBkcm9wZG93biBzdWItbWVudXMuXHJcbi8vLyBAdHlwZSBMZW5ndGhcclxuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xyXG5cclxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRvcCBsZXZlbCBpdGVtcy5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcclxuXHJcbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcm9wZG93bnMuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xyXG5cclxuLy8vIFBhZGRpbmcgZm9yIHRvcCBsZXZlbCBpdGVtcy5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xyXG5cclxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBuZXN0ZWQgbWFyZ2luXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luOiAwICFkZWZhdWx0O1xyXG5cclxuLy8vIFBhZGRpbmcgZm9yIHN1Yi1tZW51IGl0ZW1zLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBzdWItbWVudXMuXHJcbi8vLyBAdHlwZSBMaXN0XHJcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xyXG5cclxuLy8gQm9yZGVyIHdpZHRoIGZvciBkcm9wZG93biBzdWItbWVudXMuXHJcbi8vIFVzZWQgdG8gYWRqdXN0IHRvcCBtYXJnaW4gb2YgYSBzdWItbWVudSBpZiBhIGJvcmRlciBpcyB1c2VkLlxyXG4vLyBAdHlwZSBMZW5ndGhcclxuJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGg6IG50aCgkZHJvcGRvd25tZW51LWJvcmRlciwgMSk7XHJcblxyXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgZHJvcGRvd24gbWVudSBpdGVtLiBFeHBsaWNpdCBvdmVycmlkZSBmb3IgbWVudSBkZWZhdWx0c1xyXG4vLy8gQHR5cGUgQ29sb3JcclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcclxuXHJcbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0uIEV4cGxpY2l0IG92ZXJyaWRlIGZvciBtZW51IGRlZmF1bHRzXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcclxuXHJcbkBtaXhpbiB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cyB7XHJcbiAgPiBhOjphZnRlciB7XHJcbiAgICAjeyRnbG9iYWwtcmlnaHR9OiAxNHB4O1xyXG4gIH1cclxuXHJcbiAgJi5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xyXG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgbGVmdCk7XHJcbiAgICByaWdodDogYXV0bztcclxuICAgIGxlZnQ6IDVweDtcclxuICB9XHJcblxyXG4gICYub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XHJcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCByaWdodCk7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xyXG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xyXG4gICAgPiBsaS5vcGVucy1sZWZ0IHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXHJcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xyXG4gICAgICAgIHRvcDogMTAwJTtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgPiBsaS5vcGVucy1yaWdodCB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xyXG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcclxuICAgICAgICB0b3A6IDEwMCU7XHJcbiAgICAgICAgcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XHJcbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nO1xyXG4gICAgICB9XHJcblxyXG4gICAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcclxuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcclxuICAgICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XHJcbiAgICAgICAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IC0xICogKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSAvIDIpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xyXG4gICAgPiBsaSB7XHJcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYub3BlbnMtbGVmdCB7XHJcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XHJcbiAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICByaWdodDogMTAwJTtcclxuICAgICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmLm9wZW5zLXJpZ2h0IHtcclxuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcclxuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgbGVmdDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XHJcbiAgICAgICAgQGluY2x1ZGUgemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnUge1xyXG4gIC5kcm9wZG93bi5tZW51IHtcclxuICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xyXG5cclxuICAgIGEge1xyXG4gICAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVG9wLWxldmVsIGl0ZW1cclxuICAgID4gbGkgPiBhIHtcclxuICAgICAgYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kO1xyXG4gICAgICBwYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVG9wLWxldmVsIGl0ZW0gYWN0aXZlIHN0YXRlXHJcbiAgICA+IGxpLmlzLWFjdGl2ZSA+IGEge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xyXG4gICAgICBjb2xvcjogJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU7XHJcbiAgICB9XHJcblxyXG4gICAgLm5vLWpzICYgdWwge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5uZXN0ZWQuaXMtZHJvcGRvd24tc3VibWVudSB7XHJcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbik7XHJcbiAgICB9XHJcblxyXG4gICAgJi52ZXJ0aWNhbCB7XHJcbiAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcclxuICAgIH1cclxuXHJcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcclxuICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XHJcbiAgICAgICAgICAmLiN7JHNpemV9LWhvcml6b250YWwge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAmLiN7JHNpemV9LXZlcnRpY2FsIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuYWxpZ24tcmlnaHQge1xyXG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xyXG4gICAgICAgIHRvcDogMTAwJTtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCB7XHJcbiAgICB3aWR0aDogMTAwcHg7XHJcblxyXG4gICAgJi5hbGlnbi1yaWdodCB7XHJcbiAgICAgIGZsb2F0OiByaWdodDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgYTo6YWZ0ZXIge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XHJcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcclxuICAgICAgbWFyZ2luLXRvcDogLTEgKiAkZHJvcGRvd25tZW51LWFycm93LXNpemU7XHJcbiAgICB9XHJcblxyXG4gICAgJi5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcclxuXHJcbiAgICAgIHRvcDogMTAwJTtcclxuICAgICAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xyXG4gICAgICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgICB9XHJcbiAgICAgIEBlbHNlIHtcclxuICAgICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xyXG4gICAgICByaWdodDogMTAwJTtcclxuICAgICAgbGVmdDogYXV0bztcclxuICAgIH1cclxuXHJcbiAgICAmLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xyXG4gICAgICByaWdodDogYXV0bztcclxuICAgICAgbGVmdDogMTAwJTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcclxuICAgIHotaW5kZXg6IDE7XHJcblxyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIG1pbi13aWR0aDogJGRyb3Bkb3dubWVudS1taW4td2lkdGg7XHJcblxyXG4gICAgYm9yZGVyOiAkZHJvcGRvd25tZW51LWJvcmRlcjtcclxuICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kO1xyXG5cclxuICAgIC5kcm9wZG93biAmIGEge1xyXG4gICAgICBwYWRkaW5nOiAkZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZztcclxuICAgIH1cclxuXHJcbiAgICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xyXG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xyXG4gICAgICAgIEBpbmNsdWRlIHpmLWRyb3Bkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICh0eXBlLW9mKCRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKSA9PSAnbnVtYmVyJykge1xyXG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogKC0kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICA+IGxpIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gW1RPRE9dIEN1dCBiYWNrIHNwZWNpZmljaXR5XHJcbiAgICAvLyY6bm90KC5qcy1kcm9wZG93bi1ub2hvdmVyKSA+IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudDpob3ZlciA+ICYsIC8vIHdoeSBpcyB0aGlzIGxpbmUgbmVlZGVkPyBPcGVuaW5nIGlzIGhhbmRsZWQgYnkgSlMgYW5kIHRoaXMgY2F1c2VzIHNvbWUgdWdseSBmbGlja2VyaW5nIHdoZW4gdGhlIHN1YiBpcyByZS1wb3NpdGlvbmVkIGF1dG9tYXRpY2FsbHkuLi5cclxuICAgICYuanMtZHJvcGRvd24tYWN0aXZlIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBvZmYtY2FudmFzXHJcbi8vLy9cclxuXHJcbi8vLyBXaWR0aCBtYXAgb2YgYSBsZWZ0L3JpZ2h0IG9mZi1jYW52YXMgcGFuZWwuXHJcbi8vLyBAdHlwZSBNYXBcclxuJG9mZmNhbnZhcy1zaXplczogKFxyXG4gIHNtYWxsOiAyNTBweCxcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBIZWlnaHQgbWFwIG9mIGEgdG9wL2JvdHRvbSBvZmYtY2FudmFzIHBhbmVsLlxyXG4vLy8gQHR5cGUgTWFwXHJcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcclxuICBzbWFsbDogMjUwcHgsXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBvZmYtY2FudmFzIHBhbmVsLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcclxuXHJcbi8vLyBCb3ggc2hhZG93IGZvciB0aGUgb2ZmLWNhbnZhcyBvdmVybGFwIHBhbmVsLlxyXG4vLy8gQHR5cGUgU2hhZG93XHJcbiRvZmZjYW52YXMtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC43KSAhZGVmYXVsdDtcclxuXHJcbi8vLyBJbm5lciBib3ggc2hhZG93IHNpemUgZm9yIHRoZSBvZmYtY2FudmFzIHB1c2ggcGFuZWwuXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZTogMjBweCAhZGVmYXVsdDtcclxuXHJcbi8vLyBJbm5lciBib3ggc2hhZG93IGNvbG9yIGZvciB0aGUgb2ZmLWNhbnZhcyBwdXNoIHBhbmVsLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcclxuXHJcbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgY29udGVudCBvdmVybGF5LlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg6IDExICFkZWZhdWx0O1xyXG5cclxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgcHVzaGAgdHJhbnNpdGlvbi5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxMiAhZGVmYXVsdDtcclxuXHJcbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgd2l0aCB0aGUgYG92ZXJsYXBgIHRyYW5zaXRpb24uXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTMgIWRlZmF1bHQ7XHJcblxyXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHVzaW5nIHRoZSBgcmV2ZWFsLWZvci0qYCBjbGFzc2VzIG9yIG1peGluLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMTIgIWRlZmF1bHQ7XHJcblxyXG4vLy8gTGVuZ3RoIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzICFkZWZhdWx0O1xyXG5cclxuLy8vIFRpbWluZyBmdW5jdGlvbiBvZiB0aGUgYW5pbWF0aW9uIG9uIGFuIG9mZi1jYW52YXMgcGFuZWwuXHJcbi8vLyBAdHlwZSBLZXl3b3JkXHJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2UgIWRlZmF1bHQ7XHJcblxyXG4vLy8gSWYgYHRydWVgLCBhIHJldmVhbGVkIG9mZi1jYW52YXMgd2lsbCBiZSBmaXhlZC1wb3NpdGlvbiwgYW5kIHNjcm9sbCB3aXRoIHRoZSBzY3JlZW4uXHJcbi8vLyBAdHlwZSBCb29sXHJcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlICFkZWZhdWx0O1xyXG5cclxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBvdmVybGF5IHRoYXQgYXBwZWFycyB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQ1NTIGNsYXNzIHVzZWQgZm9yIHRoZSBtYWluIGNvbnRlbnQgYXJlYS4gVGhlIG9mZi1jYW52YXMgbWl4aW5zIHVzZSB0aGlzIHRvIHRhcmdldCB0aGUgcGFnZSBjb250ZW50LlxyXG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnICFkZWZhdWx0O1xyXG5cclxuLy8vIEFkZHMgYmFzZWxpbmUgc3R5bGVzIGZvciBvZmYtY2FudmFzLiBUaGlzIENTUyBpcyByZXF1aXJlZCB0byBtYWtlIHRoZSBvdGhlciBwaWVjZXMgd29yay5cclxuQG1peGluIG9mZi1jYW52YXMtYmFzaWNzIHtcclxuXHJcbiAgLy8vIFRyYW5zZm9ybSBkZXByZWNhdGVkIHNpemUgc2V0dGluZ3MgaW50byBtYXAgJiBzaG93IHdhcm5pbmdcclxuICBAaWYgdmFyaWFibGUtZXhpc3RzKG9mZmNhbnZhcy1zaXplKSB7XHJcbiAgICAkb2ZmY2FudmFzLXNpemVzOiAoc21hbGw6ICRvZmZjYW52YXMtc2l6ZSwgbWVkaXVtOiAkb2ZmY2FudmFzLXNpemUpICFnbG9iYWw7XHJcbiAgICBAd2FybiAnJG9mZmNhbnZhcy1zaXplIGlzIGRlcHJlY2F0ZWQgYW5kIG5vdCB1c2VkIGFueW1vcmUhIFBsZWFzZSB1cGRhdGUgeW91ciBzZXR0aW5ncyBhbmQgdXNlIHRoZSBtYXAgJG9mZmNhbnZhcy1zaXplcyBpbnN0ZWFkJztcclxuICB9XHJcbiAgQGlmIHZhcmlhYmxlLWV4aXN0cyhvZmZjYW52YXMtdmVydGljYWwtc2l6ZSkge1xyXG4gICAgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKHNtYWxsOiAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUsIG1lZGl1bTogJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplKSAhZ2xvYmFsO1xyXG4gICAgQHdhcm4gJyRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSBpcyBkZXByZWNhdGVkIGFuZCBub3QgdXNlZCBhbnltb3JlISBQbGVhc2UgdXBkYXRlIHlvdXIgc2V0dGluZ3MgYW5kIHVzZSB0aGUgbWFwICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXMgaW5zdGVhZCc7XHJcbiAgfVxyXG5cclxuICAvLyBDaGVja3MgdGhlIHotaW5kZXhlcyBhbmQgaW5jcmVhc2UgdGhlbSBkdWUgdG8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuXHJcbiAgLy8gVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSB0aGUgb3ZlcmxheSdzIHotaW5kZXggaXMgbmV3IHNpbmNlIHY2LjQgYW5kIG1heSBiZSBpZGVudGljYWwgdG8gdGhlIHVzZXIgY3VzdG9tIHNldHRpbmdzIG9mIHRoZSBwdXNoIHotaW5kZXguXHJcbiAgQGlmICRvZmZjYW52YXMtcHVzaC16aW5kZXggPD0gJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCB7ICRvZmZjYW52YXMtcHVzaC16aW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggKyAxICFnbG9iYWw7IH1cclxuICBAaWYgJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleCA8PSAkb2ZmY2FudmFzLXB1c2gtemluZGV4IHsgJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleCArIDEgIWdsb2JhbDsgfVxyXG4gIEBpZiAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXggPD0gJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCB7ICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCArIDEgIWdsb2JhbDsgfVxyXG5cclxuICAvLyBIaWRlcyBvdmVyZmxvdyBvbiBib2R5IHdoZW4gYW4gb2ZmLWNhbnZhcyBwYW5lbCBpcyBvcGVuLlxyXG4gIC5pcy1vZmYtY2FudmFzLW9wZW4ge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB9XHJcblxyXG4gIC8vIE9mZi1jYW52YXMgb3ZlcmxheSAoZ2VuZXJhdGVkIGJ5IEphdmFTY3JpcHQpXHJcbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDtcclxuXHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuXHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZywgdmlzaWJpbGl0eSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XHJcblxyXG4gICAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ7XHJcblxyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuXHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgICYuaXMtdmlzaWJsZSB7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICB9XHJcblxyXG4gICAgJi5pcy1jbG9zYWJsZSB7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICAmLmlzLW92ZXJsYXktYWJzb2x1dGUge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB9XHJcblxyXG4gICAgJi5pcy1vdmVybGF5LWZpeGVkIHtcclxuICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgd3JhcHBlci5cclxuQG1peGluIG9mZi1jYW52YXMtd3JhcHBlcigpIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHBhbmVsLlxyXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNlKFxyXG4gICRiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLWJhY2tncm91bmQsXHJcbiAgJHRyYW5zaXRpb246ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZyxcclxuICAkZml4ZWQ6IHRydWVcclxuKSB7XHJcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xyXG5cclxuICBAaWYgJGZpeGVkID09IHRydWUge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgfVxyXG5cclxuICAvLyBTZXQgdGhlIG9mZi1jYW52YXMgei1pbmRleC5cclxuICB6LWluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4O1xyXG5cclxuICAvLyBJbmNyZWFzZSBDU1Mgc3BlY2lmaWNpdHlcclxuICAmLmlzLXRyYW5zaXRpb24tcHVzaCB7XHJcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4O1xyXG4gIH1cclxuXHJcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xyXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuXHJcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XHJcblxyXG4gIC8vIEhpZGUgaW5hY3RpdmUgb2ZmLWNhbnZhcyB3aXRoaW4gdGhlIGNvbnRlbnQgdGhhdCBoYXZlIHRoZSBzYW1lIHBvc2l0aW9uXHJcbiAgJi5pcy1jbG9zZWQge1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIH1cclxuXHJcbiAgLy8gT3ZlcmxhcCBvbmx5IHN0eWxlcy5cclxuICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XHJcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4O1xyXG5cclxuICAgICYuaXMtb3BlbiB7XHJcbiAgICAgIGJveC1zaGFkb3c6ICRvZmZjYW52YXMtc2hhZG93O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gU2V0cyB0cmFuc2Zvcm0gdG8gMCB0byBzaG93IGFuIG9mZi1jYW52YXMgcGFuZWwuXHJcbiAgJi5pcy1vcGVuIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xyXG4gIH1cclxufVxyXG5cclxuLy8vIEFkZHMgc3R5bGVzIHRvIHBvc2l0aW9uIGFuIG9mZi1jYW52YXMgcGFuZWwgdG8gdGhlIGxlZnQvcmlnaHQvdG9wL2JvdHRvbS5cclxuQG1peGluIG9mZi1jYW52YXMtcG9zaXRpb24oXHJcbiAgJHBvc2l0aW9uOiBsZWZ0LFxyXG4gICRvcmllbnRhdGlvbjogaG9yaXpvbnRhbCxcclxuICAkc2l6ZXM6IGlmKCRvcmllbnRhdGlvbiA9PSBob3Jpem9udGFsLCAkb2ZmY2FudmFzLXNpemVzLCAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzKVxyXG4pIHtcclxuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIG92ZXJmbG93LXk6IGF1dG87XHJcblxyXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcclxuICAgICAgICB3aWR0aDogJHNpemU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxyXG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xyXG5cclxuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcclxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xyXG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xyXG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xyXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xyXG4gICAgdG9wOiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG5cclxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XHJcbiAgICAgICAgd2lkdGg6ICRzaXplO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxyXG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xyXG5cclxuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxyXG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XHJcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XHJcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG92ZXJmbG93LXg6IGF1dG87XHJcblxyXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcclxuICAgICAgICBoZWlnaHQ6ICRzaXplO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcclxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcclxuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcclxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xyXG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xyXG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xyXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG92ZXJmbG93LXg6IGF1dG87XHJcblxyXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcclxuICAgICAgICBoZWlnaHQ6ICRzaXplO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxyXG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xyXG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XHJcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcclxuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcclxuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcclxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBJZiAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplIGlzIHNldCwgYWRkIGlubmVyIGJveC1zaGFkb3cuXHJcbiAgLy8gVGhpcyBtaW1pY3MgdGhlIG9mZi1jYW52YXMgcGFuZWwgaGF2aW5nIGEgbG93ZXIgei1pbmRleCwgd2l0aG91dCBoYXZpbmcgdG8gaGF2ZSBvbmUuXHJcbiAgQGlmICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUge1xyXG4gICAgJi5pcy10cmFuc2l0aW9uLXB1c2gge1xyXG4gICAgICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xyXG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KHJpZ2h0LCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XHJcbiAgICAgIH1cclxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcclxuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhsZWZ0LCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XHJcbiAgICAgIH1cclxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XHJcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3coYm90dG9tLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XHJcbiAgICAgIH1cclxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XHJcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3codG9wLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcblxyXG4vLy8gU2V0cyB0aGUgc3R5bGVzIGZvciB0aGUgY29udGVudCBjb250YWluZXIuXHJcbkBtaXhpbiBvZmYtY2FudmFzLWNvbnRlbnQoKSB7XHJcbiAgdHJhbnNmb3JtOiBub25lO1xyXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XHJcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG5cclxuICAvLyBUcmFuc2Zvcm0gc2NvcGUgdW50aWwgdGhlIGVsZW1lbnQgaXMgY2xvc2VkIChtYWtlcyBzdXJlIHRyYW5zaXRpb25lbmQgZ2V0cyB0cmlnZ2VyZWQpXHJcbiAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xyXG4gIH1cclxuXHJcbiAgLy8gQ29uc2lkZXIgZWxlbWVudCAmIGNvbnRlbnQsIG5lc3RlZCBpbiBhbm90aGVyIGNvbnRlbnRcclxuICAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xyXG4gIH1cclxufVxyXG5cclxuLy8vIEFkZHMgc3R5bGVzIHRoYXQgcmV2ZWFsIGFuIG9mZi1jYW52YXMgcGFuZWwuXHJcbkBtaXhpbiBvZmYtY2FudmFzLXJldmVhbChcclxuJHBvc2l0aW9uOiBsZWZ0LFxyXG4kemluZGV4OiAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsXHJcbiRjb250ZW50OiAkbWFpbmNvbnRlbnQtY2xhc3MsXHJcbiRicmVha3BvaW50OiBzbWFsbFxyXG4pIHtcclxuICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgei1pbmRleDogJHppbmRleDtcclxuICB0cmFuc2l0aW9uOiBub25lO1xyXG4gIHZpc2liaWxpdHk6IHZpc2libGU7XHJcblxyXG4gIEBpZiBub3QgJG9mZmNhbnZhcy1maXhlZC1yZXZlYWwge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIH1cclxuXHJcbiAgLmNsb3NlLWJ1dHRvbiB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuXHJcbiAgLy8gQ29uc2lkZXIgcmV2ZWFsZWQgZWxlbWVudCBpcyBuZXN0ZWQgaW4gY29udGVudFxyXG4gIC4jeyRtYWluY29udGVudC1jbGFzc30gJiB7XHJcbiAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgfVxyXG5cclxuICBAYXQtcm9vdCAuI3skY29udGVudH0uaGFzLXJldmVhbC0jeyRwb3NpdGlvbn0ge1xyXG4gICAgbWFyZ2luLSN7JHBvc2l0aW9ufTogLXpmLWdldC1icC12YWwoJG9mZmNhbnZhcy1zaXplcywgJGJyZWFrcG9pbnQpO1xyXG4gIH1cclxuXHJcbiAgLy8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgKHByaW9yIHRvIHY2LjQpXHJcbiAgJiB+IC4jeyRjb250ZW50fSB7XHJcbiAgICBtYXJnaW4tI3skcG9zaXRpb259OiAtemYtZ2V0LWJwLXZhbCgkb2ZmY2FudmFzLXNpemVzLCAkYnJlYWtwb2ludCk7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gT3ZlcnJpZGVzIHRoZSBvZmYtY2FudmFzIHN0eWxlc1xyXG5AbWl4aW4gaW4tY2FudmFzKCkge1xyXG4gIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG4gIHBvc2l0aW9uOiBzdGF0aWM7XHJcbiAgYmFja2dyb3VuZDogbm9uZTtcclxuICB3aWR0aDogYXV0bztcclxuICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICB0cmFuc2l0aW9uOiBub25lO1xyXG5cclxuICAvLyBJbmNyZWFzZSBDU1Mgc3BlY2lmaWNpdHlcclxuICAmLnBvc2l0aW9uLWxlZnQsXHJcbiAgJi5wb3NpdGlvbi1yaWdodCxcclxuICAmLnBvc2l0aW9uLXRvcCxcclxuICAmLnBvc2l0aW9uLWJvdHRvbSB7XHJcbiAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgdHJhbnNmb3JtOiBub25lO1xyXG4gIH1cclxuXHJcbiAgLmNsb3NlLWJ1dHRvbiB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tb2ZmLWNhbnZhcyB7XHJcbiAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNpY3M7XHJcblxyXG4gIC8vIE9mZi1jYW52YXMgd3JhcHBlclxyXG4gIC5vZmYtY2FudmFzLXdyYXBwZXIge1xyXG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy13cmFwcGVyO1xyXG4gIH1cclxuXHJcbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXJcclxuICAub2ZmLWNhbnZhcyB7XHJcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2U7XHJcblxyXG4gICAgLy8gRm9yY2UgcG9zaXRpb24gYWJzb2x1dGUgZm9yIG5lc3RlZCBvZmYtY2FudmFzIGJlY2F1c2UgZml4ZWQgZG9lc24ndCB3b3JrIGZvciBwdXNoIHRyYW5zaXRpb24gd2l0aGluIHRoZSB0cmFuc2Zvcm0gc2NvcGUuXHJcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9ICYge1xyXG4gICAgICAvLyBOT1RFOiBzaW5jZSBvdmVybGFwIHRyYW5zaXRpb24gaXMgY3VycmVudGx5IGZvcmNlZCBpZiBuZXN0ZWQsIHRoZXJlJ3Mgbm8gbmVlZCB0byBmb3JjZSBwb3NpdGlvbiBhYnNvbHV0ZSB1bnRpbCBuZXN0ZWQgcHVzaCB0cmFuc2l0aW9uIGlzIHN1cHBvcnRlZC5cclxuICAgICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXIgd2l0aCBhYnNvbHV0ZSBwb3NpdGlvblxyXG4gIC5vZmYtY2FudmFzLWFic29sdXRlIHtcclxuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZSgkZml4ZWQ6IGZhbHNlKTtcclxuICB9XHJcblxyXG4gIC8vIE9mZi1jYW52YXMgcG9zaXRpb24gY2xhc3Nlc1xyXG4gIC5wb3NpdGlvbi1sZWZ0ICAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihsZWZ0LCAgIGhvcml6b250YWwpOyB9XHJcbiAgLnBvc2l0aW9uLXJpZ2h0ICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKHJpZ2h0LCAgaG9yaXpvbnRhbCk7IH1cclxuICAucG9zaXRpb24tdG9wICAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24odG9wLCAgICB2ZXJ0aWNhbCk7IH1cclxuICAucG9zaXRpb24tYm90dG9tICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24oYm90dG9tLCB2ZXJ0aWNhbCk7IH1cclxuXHJcbiAgLm9mZi1jYW52YXMtY29udGVudCB7XHJcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWNvbnRlbnQ7XHJcbiAgfVxyXG5cclxuICAvLyBSZXZlYWwgb2ZmLWNhbnZhcyBwYW5lbCBvbiBsYXJnZXIgc2NyZWVuc1xyXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XHJcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XHJcbiAgICAgICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci0jeyRuYW1lfSB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChsZWZ0LCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xyXG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwocmlnaHQsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItI3skbmFtZX0ge1xyXG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwodG9wLCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcclxuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGJvdHRvbSwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIE1vdmUgaW4tY2FudmFzIGZvciBsYXJnZXIgc2NyZWVuc1xyXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XHJcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XHJcbiAgICAgICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci0jeyRuYW1lfSB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBpbi1jYW52YXM7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG5AbWl4aW4gZm91bmRhdGlvbi1zdGlja3kge1xyXG4gIC5zdGlja3ktY29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB9XHJcblxyXG4gIC5zdGlja3kge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgei1pbmRleDogMDtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICAuc3RpY2t5LmlzLXN0dWNrIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHotaW5kZXg6IDU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAmLmlzLWF0LXRvcCB7XHJcbiAgICAgIHRvcDogMDtcclxuICAgIH1cclxuXHJcbiAgICAmLmlzLWF0LWJvdHRvbSB7XHJcbiAgICAgIGJvdHRvbTogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5zdGlja3kuaXMtYW5jaG9yZWQge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcmlnaHQ6IGF1dG87XHJcbiAgICBsZWZ0OiBhdXRvO1xyXG5cclxuICAgICYuaXMtYXQtYm90dG9tIHtcclxuICAgICAgYm90dG9tOiAwO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgdGl0bGUtYmFyXHJcbi8vLy9cclxuXHJcbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGl0bGUgYmFyLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjayAhZGVmYXVsdDtcclxuXHJcbi8vLyBDb2xvciBvZiB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xyXG5cclxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgdGl0bGUgYmFyLlxyXG4vLy8gQHR5cGUgTGVuZ3RoXHJcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXHJcbi8vLyBAdHlwZSBXZWlnaHRcclxuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xyXG5cclxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyIG9uIGhvdmVyLlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcclxuXHJcbi8vLyBTcGFjaW5nIGJldHdlZW4gdGhlIG1lbnUgaWNvbiBhbmQgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXHJcbi8vLyBAdHlwZSBMZW5ndGhcclxuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLXRpdGxlLWJhciB7XHJcbiAgLnRpdGxlLWJhciB7XHJcbiAgICBwYWRkaW5nOiAkdGl0bGViYXItcGFkZGluZztcclxuICAgIGJhY2tncm91bmQ6ICR0aXRsZWJhci1iYWNrZ3JvdW5kO1xyXG4gICAgY29sb3I6ICR0aXRsZWJhci1jb2xvcjtcclxuXHJcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgIH1cclxuXHJcbiAgICAubWVudS1pY29uIHtcclxuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJHRpdGxlYmFyLWljb24tc3BhY2luZztcclxuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcclxuICAgIC50aXRsZS1iYXItbGVmdCxcclxuICAgIC50aXRsZS1iYXItcmlnaHQge1xyXG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxyXG4gICAgfVxyXG5cclxuICAgIC50aXRsZS1iYXItcmlnaHQge1xyXG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIH1cclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgLnRpdGxlLWJhci1sZWZ0IHtcclxuICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XHJcbiAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAudGl0bGUtYmFyLXRpdGxlIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICBmb250LXdlaWdodDogJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ7XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCB0b3AtYmFyXHJcbi8vLy9cclxuXHJcbi8vLyBQYWRkaW5nIGZvciB0aGUgdG9wIGJhci5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kdG9wYmFyLXBhZGRpbmc6IDAuNXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgdG9wIGJhci4gVGhpcyBjb2xvciBhbHNvIGNhc2NhZGVzIHRvIG1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQmFja2dyb3VuZCBjb2xvciBzdWJtZW51cyB3aXRoaW4gdGhlIHRvcCBiYXIuIFVzZWZ1bGwgaWYgJHRvcGJhci1iYWNrZ3JvdW5kIGlzIHRyYW5zcGFyZW50LlxyXG4vLy8gQHR5cGUgQ29sb3JcclxuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZCAhZGVmYXVsdDtcclxuXHJcbi8vLyBTcGFjaW5nIGZvciB0aGUgdG9wIGJhciB0aXRsZS5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kdG9wYmFyLXRpdGxlLXNwYWNpbmc6IDAuNXJlbSAxcmVtIDAuNXJlbSAwICFkZWZhdWx0O1xyXG5cclxuLy8vIE1heGltdW0gd2lkdGggb2YgYDxpbnB1dD5gIGVsZW1lbnRzIGluc2lkZSB0aGUgdG9wIGJhci5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcclxuXHJcbi8vLyBCcmVha3BvaW50IGF0IHdoaWNoIHRvcCBiYXIgc3dpdGNoZXMgZnJvbSBtb2JpbGUgdG8gZGVza3RvcCB2aWV3LlxyXG4vLy8gQHR5cGUgQnJlYWtwb2ludFxyXG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xyXG5cclxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRvcCBiYXIgY29udGFpbmVyLlxyXG5AbWl4aW4gdG9wLWJhci1jb250YWluZXIge1xyXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogbm93cmFwO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICB9XHJcbiAgQGVsc2Uge1xyXG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbiAgfVxyXG5cclxuICBwYWRkaW5nOiAkdG9wYmFyLXBhZGRpbmc7XHJcblxyXG4gICYsXHJcbiAgdWwge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1iYWNrZ3JvdW5kO1xyXG4gIH1cclxuXHJcbiAgLy8gQ2hlY2sgaWYgJHRvcGJhci1iYWNrZ3JvdW5kIGlzIGRpZmZlcm50IGZyb20gJHRvcGJhci1iYWNrZ3JvdW5kLXN1Ym1lbnVcclxuICBAaWYgKCR0b3BiYXItYmFja2dyb3VuZCAhPSAkdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZCkge1xyXG4gICAgdWwgdWwge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFJlc3RyYWluIHdpZHRoIG9mIGlucHV0cyBieSBkZWZhdWx0IHRvIG1ha2UgdGhlbSBlYXNpZXIgdG8gYXJyYW5nZVxyXG4gIGlucHV0IHtcclxuICAgIG1heC13aWR0aDogJHRvcGJhci1pbnB1dC13aWR0aDtcclxuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xyXG4gIH1cclxuXHJcbiAgLy8gVGhlIGFib3ZlIHN0eWxlcyBzaG91bGRuJ3QgYXBwbHkgdG8gaW5wdXQgZ3JvdXAgZmllbGRzXHJcbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XHJcbiAgfVxyXG5cclxuICBpbnB1dC5idXR0b24geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gIH1cclxufVxyXG5cclxuLy8vIE1ha2VzIHNlY3Rpb25zIG9mIGEgdG9wIGJhciBzdGFjayBvbiB0b3Agb2YgZWFjaCBvdGhlci5cclxuQG1peGluIHRvcC1iYXItc3RhY2tlZCB7XHJcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcblxyXG4gICAgLy8gU3ViLXNlY3Rpb25zXHJcbiAgICAudG9wLWJhci1sZWZ0LFxyXG4gICAgLnRvcC1iYXItcmlnaHQge1xyXG4gICAgICBmbGV4OiAwIDAgMTAwJTtcclxuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICAvLyBTdWItc2VjdGlvbnNcclxuICAgIC50b3AtYmFyLWxlZnQsXHJcbiAgICAudG9wLWJhci1yaWdodCB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8vIFVuZG9lcyB0aGUgQ1NTIGFwcGxpZWQgYnkgdGhlIGB0b3AtYmFyLXN0YWNrZWQoKWAgbWl4aW4uXHJcbkBtaXhpbiB0b3AtYmFyLXVuc3RhY2sge1xyXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xyXG4gICAgZmxleC13cmFwOiBub3dyYXA7XHJcblxyXG4gICAgLnRvcC1iYXItbGVmdCB7XHJcbiAgICAgIGZsZXg6IDEgMSBhdXRvO1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgLnRvcC1iYXItcmlnaHQge1xyXG4gICAgICBmbGV4OiAwIDEgYXV0bztcclxuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIC50b3AtYmFyLWxlZnQsXHJcbiAgICAudG9wLWJhci1yaWdodCB7XHJcbiAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tdG9wLWJhciB7XHJcbiAgLy8gVG9wIGJhciBjb250YWluZXJcclxuICAudG9wLWJhciB7XHJcbiAgICBAaW5jbHVkZSB0b3AtYmFyLWNvbnRhaW5lcjtcclxuXHJcbiAgICAvLyBTdGFjayBvbiBzbWFsbCBzY3JlZW5zIGJ5IGRlZmF1bHRcclxuICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0b3BiYXItdW5zdGFjay1icmVha3BvaW50KSB7XHJcbiAgICAgIEBpbmNsdWRlIHRvcC1iYXItdW5zdGFjaztcclxuICAgIH1cclxuXHJcbiAgICAvLyBHZW5lcmF0ZSBjbGFzc2VzIGZvciBzdGFja2luZyBvbiBlYWNoIHNjcmVlbiBzaXplIChkZWZpbmVkIGluICRicmVha3BvaW50LWNsYXNzZXMpXHJcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcclxuICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcclxuICAgICAgICAmLnN0YWNrZWQtZm9yLSN7JHNpemV9IHtcclxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB0b3AtYmFyLXN0YWNrZWQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBTdWItc2VjdGlvbnNcclxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcclxuICAgIC50b3AtYmFyLXRpdGxlIHtcclxuICAgICAgZmxleDogMCAwIGF1dG87XHJcbiAgICAgIG1hcmdpbjogJHRvcGJhci10aXRsZS1zcGFjaW5nO1xyXG4gICAgfVxyXG5cclxuICAgIC50b3AtYmFyLWxlZnQsXHJcbiAgICAudG9wLWJhci1yaWdodCB7XHJcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICAudG9wLWJhci10aXRsZSB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgIHBhZGRpbmc6ICR0b3BiYXItdGl0bGUtc3BhY2luZztcclxuXHJcbiAgICAgIC5tZW51LWljb24ge1xyXG4gICAgICAgIGJvdHRvbTogMnB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnRvcC1iYXItbGVmdCB7XHJcbiAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgfVxyXG5cclxuICAgIC50b3AtYmFyLXJpZ2h0IHtcclxuICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgZmxvYXRcclxuLy8vL1xyXG5cclxuQG1peGluIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcyB7XHJcbiAgLmZsb2F0LWxlZnQge1xyXG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5mbG9hdC1yaWdodCB7XHJcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5mbG9hdC1jZW50ZXIge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICB9XHJcblxyXG4gIC5jbGVhcmZpeCB7XHJcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIEZsZXhib3ggVXRpbGl0aWVzXHJcbi8vLy9cclxuLy9cclxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHRoZSBjb3VudCBvZiBzb3VyY2Ugb3JkZXJpbmdgXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50OiA2ICFkZWZhdWx0O1xyXG5cclxuLy8vIFF1aWNrbHkgZGlzYWJsZS9lbmFibGUgUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgVmFuaWxsYSBGbGV4IEhlbHBlcnMuXHJcbi8vLyBAdHlwZSBCb29sZWFuXHJcbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWUgIWRlZmF1bHQ7XHJcblxyXG5AbWl4aW4gZmxleC1oZWxwZXJzIHtcclxuICAuZmxleC1jb250YWluZXIge1xyXG4gICAgQGluY2x1ZGUgZmxleDtcclxuICB9XHJcblxyXG4gIC5mbGV4LWNoaWxkLWF1dG8ge1xyXG4gICAgZmxleDogMSAxIGF1dG87XHJcbiAgfVxyXG5cclxuICAuZmxleC1jaGlsZC1ncm93IHtcclxuICAgIGZsZXg6IDEgMCBhdXRvO1xyXG4gIH1cclxuXHJcbiAgLmZsZXgtY2hpbGQtc2hyaW5rIHtcclxuICAgIGZsZXg6IDAgMSBhdXRvO1xyXG4gIH1cclxuXHJcbiAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XHJcbiAgICAuZmxleC1kaXItI3skZGlyfSB7XHJcbiAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpZiAoJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50cykge1xyXG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcclxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XHJcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcclxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXg7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtYXV0byB7XHJcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLWdyb3cge1xyXG4gICAgICAgICAgICBmbGV4OiAxIDAgYXV0bztcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1zaHJpbmsge1xyXG4gICAgICAgICAgICBmbGV4OiAwIDEgYXV0bztcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcclxuICAgICAgICAgICAgLiN7JHNpemV9LWZsZXgtZGlyLSN7JGRpcn0ge1xyXG4gICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzIHtcclxuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCB1c2luZyBqdXN0aWZ5LWNvbnRlbnRcclxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWp1c3RpZnkge1xyXG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcclxuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCBTcGVjaWZpY2FsbHkgZm9yIFZlcnRpY2FsIE1lbnVcclxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gbWFwLXJlbW92ZSgkLXpmLWZsZXgtanVzdGlmeSwgJ2p1c3RpZnknLCAnc3BhY2VkJykge1xyXG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcclxuICAgICAgJi52ZXJ0aWNhbCB7XHJcbiAgICAgICAgJi5tZW51ID4gbGkgPiBhIHtcclxuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFZlcnRpY2FsIGFsaWdubWVudCB1c2luZyBhbGlnbi1pdGVtcyBhbmQgYWxpZ24tc2VsZlxyXG4gIEBlYWNoICR2ZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtYWxpZ24ge1xyXG4gICAgLmFsaWduLSN7JHZkaXJ9IHtcclxuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeTogJHZkaXIpO1xyXG4gICAgfVxyXG5cclxuICAgIC5hbGlnbi1zZWxmLSN7JHZkaXJ9IHtcclxuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKCR5OiAkdmRpcik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBDZW50cmFsIGFsaWdubWVudCBvZiBjb250ZW50XHJcbiAgLmFsaWduLWNlbnRlci1taWRkbGUge1xyXG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogY2VudGVyLCAkeTogbWlkZGxlKTtcclxuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcclxuICB9XHJcblxyXG4gIC8vIFNvdXJjZSBvcmRlcmluZ1xyXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xyXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQge1xyXG4gICAgICAuI3skLXpmLXNpemV9LW9yZGVyLSN7JGl9IHtcclxuICAgICAgICBAaW5jbHVkZSBmbGV4LW9yZGVyKCRpKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gVmFuaWxsYSBGbGV4Ym94IEhlbHBlcnNcclxuICBAaW5jbHVkZSBmbGV4LWhlbHBlcnM7XHJcbn1cclxuIiwiQGZ1bmN0aW9uIC16Zi1mbGV4LWp1c3RpZnkoJHRleHQtZGlyZWN0aW9uKXtcclxuICAkLXpmLWZsZXgtanVzdGlmeTogKFxyXG4gICAgJ2xlZnQnOiBpZigkdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBmbGV4LWVuZCwgZmxleC1zdGFydCksXHJcbiAgICAncmlnaHQnOiBpZigkdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBmbGV4LXN0YXJ0LCBmbGV4LWVuZCksXHJcbiAgICAnY2VudGVyJzogY2VudGVyLFxyXG4gICAgJ2p1c3RpZnknOiBzcGFjZS1iZXR3ZWVuLFxyXG4gICAgJ3NwYWNlZCc6IHNwYWNlLWFyb3VuZCxcclxuICApO1xyXG5cclxuICBAcmV0dXJuICQtemYtZmxleC1qdXN0aWZ5O1xyXG59XHJcblxyXG5cclxuJC16Zi1mbGV4LWFsaWduOiAoXHJcbiAgJ3RvcCc6IGZsZXgtc3RhcnQsXHJcbiAgJ2JvdHRvbSc6IGZsZXgtZW5kLFxyXG4gICdtaWRkbGUnOiBjZW50ZXIsXHJcbiAgJ3N0cmV0Y2gnOiBzdHJldGNoLFxyXG4pO1xyXG5cclxuJC16Zi1mbGV4LWRpcmVjdGlvbjogKFxyXG4gICdyb3cnOiByb3csXHJcbiAgJ3Jvdy1yZXZlcnNlJzogcm93LXJldmVyc2UsXHJcbiAgJ2NvbHVtbic6IGNvbHVtbixcclxuICAnY29sdW1uLXJldmVyc2UnOiBjb2x1bW4tcmV2ZXJzZSxcclxuKTtcclxuXHJcbi8vLyBFbmFibGVzIGZsZXhib3ggYnkgYWRkaW5nIGBkaXNwbGF5OiBmbGV4YCB0byB0aGUgZWxlbWVudC5cclxuQG1peGluIGZsZXgge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcbi8vLyBIb3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBhbGlnbnMgdGhlIGl0ZW1zIHdpdGhpbiBhIGZsZXggY29udGFpbmVyLlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHggW251bGxdIC0gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYGxlZnRgLCBgcmlnaHRgLCBgY2VudGVyYCwgYGp1c3RpZnlgLCBvciBgc3BhY2VkYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IGhvcml6b250YWwgYWxpZ25tZW50LlxyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxyXG5AbWl4aW4gZmxleC1hbGlnbigkeDogbnVsbCwgJHk6IG51bGwpIHtcclxuICBAaWYgJHgge1xyXG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1qdXN0aWZ5LCAkeCkge1xyXG4gICAgICAkeDogbWFwLWdldCgkLXpmLWZsZXgtanVzdGlmeSwgJHgpO1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR4fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgaG9yaXpvbnRhbCBhbGlnbm1lbnQuIFVzZSBsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5LCBvciBzcGFjZWQuJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpZiAkeSB7XHJcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xyXG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIHZlcnRpY2FsIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGp1c3RpZnktY29udGVudDogJHg7XHJcbiAgYWxpZ24taXRlbXM6ICR5O1xyXG59XHJcblxyXG4vLy8gVmVydGljYWxseSBhbGlnbiBhIHNpbmdsZSBjb2x1bW4gd2l0aGluIGEgZmxleCByb3cuIEFwcGx5IHRoaXMgbWl4aW4gdG8gYSBmbGV4IGNvbHVtbi5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXHJcbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHk6IG51bGwpIHtcclxuICBAaWYgJHkge1xyXG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcclxuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSB7XHJcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtY29sdW1uLWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhbGlnbi1zZWxmOiAkeTtcclxufVxyXG5cclxuLy8vIENoYW5nZXMgdGhlIHNvdXJjZSBvcmRlciBvZiBhIGZsZXggY2hpbGQuIENoaWxkcmVuIHdpdGggbG93ZXIgbnVtYmVycyBhcHBlYXIgZmlyc3QgaW4gdGhlIGxheW91dC5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb3JkZXIgWzBdIC0gT3JkZXIgbnVtYmVyIHRvIGFwcGx5LlxyXG5AbWl4aW4gZmxleC1vcmRlcigkb3JkZXI6IDApIHtcclxuICBvcmRlcjogJG9yZGVyO1xyXG59XHJcblxyXG4vLy8gQ2hhbmdlIGZsZXgtZGlyZWN0aW9uXHJcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW3Jvd10gLSBGbGV4IGRpcmVjdGlvbiB0byB1c2UuIENhbiBiZVxyXG4vLy8gICAtIHJvdyAoZGVmYXVsdCk6IHNhbWUgYXMgdGV4dCBkaXJlY3Rpb25cclxuLy8vICAgLSByb3ctcmV2ZXJzZTogb3Bwb3NpdGUgdG8gdGV4dCBkaXJlY3Rpb25cclxuLy8vICAgLSBjb2x1bW46IHNhbWUgYXMgcm93IGJ1dCB0b3AgdG8gYm90dG9tXHJcbi8vLyAgIC0gY29sdW1uLXJldmVyc2U6IHNhbWUgYXMgcm93LXJldmVyc2UgdG9wIHRvIGJvdHRvbVxyXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJGRpcmVjdGlvbjogcm93KSB7XHJcbiAgZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcclxuQG1peGluIHNob3ctZm9yKCRzaXplKSB7XHJcbiAgJHNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XHJcbiAgLy8gTWF4IHZhbHVlIGlzIDAuMnB4IHVuZGVyIHRoZSBuZXh0IGJyZWFrcG9pbnQgKDAuMDIgLyAxNiA9IDAuMDAxMjUpLlxyXG4gIC8vIFVzZSBhIHByZWNpc2lvbiB1bmRlciAxcHggdG8gc3VwcG9ydCBicm93c2VyIHpvb20sIGJ1dCBub3QgdG8gbG93IHRvIGF2b2lkIHJvdW5kaW5nLlxyXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMTMxM1xyXG4gICRzaXplOiAtemYtYnAtdG8tZW0oJHNpemUpIC0gLjAwMTI1O1xyXG5cclxuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcclxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IHdpdGhpbiBhIGNlcnRhaW4gYnJlYWtwb2ludC5cclxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXHJcbkBtaXhpbiBzaG93LWZvci1vbmx5KCRzaXplKSB7XHJcbiAgJGxvd2VyLWJvdW5kLXNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XHJcbiAgJHVwcGVyLWJvdW5kLXNpemU6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRzaXplKTtcclxuXHJcbiAgLy8gbW9yZSBvZnRlbiB0aGFuIG5vdCB0aGlzIHdpbGwgYmUgY29ycmVjdCwganVzdCBvbmUgdGltZSByb3VuZCB0aGUgbG9vcCBpdCB3b24ndCBzbyBzZXQgaW4gc2NvcGUgaGVyZVxyXG4gICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKSAtIC4wMDEyNTtcclxuICAvLyB0ZXN0IGFjdHVhbCBsb3dlci1ib3VuZC1zaXplLCBpZiAwIHNldCBpdCB0byAwZW1cclxuICBAaWYgc3RyaXAtdW5pdCgkbG93ZXItYm91bmQtc2l6ZSkgPT0gMCB7XHJcbiAgICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSk7XHJcbiAgfVxyXG5cclxuICBAaWYgJHVwcGVyLWJvdW5kLXNpemUgPT0gbnVsbCB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpIHtcclxuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICAkdXBwZXItYm91bmQ6IC16Zi1icC10by1lbSgkdXBwZXItYm91bmQtc2l6ZSk7XHJcblxyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdXBwZXItYm91bmQpIHtcclxuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxyXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcclxuQG1peGluIGhpZGUtZm9yKCRzaXplKSB7XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xyXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXHJcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxyXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgb25seSkge1xyXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcclxuICAvLyBCYXNpYyBoaWRpbmcgY2xhc3Nlc1xyXG4gIC5oaWRlIHtcclxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5pbnZpc2libGUge1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIH1cclxuXHJcbiAgLy8gUmVzcG9uc2l2ZSB2aXNpYmlsaXR5IGNsYXNzZXNcclxuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcclxuICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XHJcbiAgICAgIC5oaWRlLWZvci0jeyRzaXplfSB7XHJcbiAgICAgICAgQGluY2x1ZGUgaGlkZS1mb3IoJHNpemUpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuc2hvdy1mb3ItI3skc2l6ZX0ge1xyXG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5oaWRlLWZvci0jeyRzaXplfS1vbmx5IHtcclxuICAgICAgQGluY2x1ZGUgaGlkZS1mb3Itb25seSgkc2l6ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLnNob3ctZm9yLSN7JHNpemV9LW9ubHkge1xyXG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFNjcmVlbiByZWFkZXIgdmlzaWJpbGl0eSBjbGFzc2VzXHJcbiAgLy8gTmVlZCBhIFwiaGlkZS1mb3Itc3JcIiBjbGFzcz8gQWRkIGFyaWEtaGlkZGVuPSd0cnVlJyB0byB0aGUgZWxlbWVudFxyXG4gIC5zaG93LWZvci1zcixcclxuICAuc2hvdy1vbi1mb2N1cyB7XHJcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcclxuICB9XHJcblxyXG4gIC8vIE9ubHkgZGlzcGxheSB0aGUgZWxlbWVudCB3aGVuIGl0J3MgZm9jdXNlZFxyXG4gIC5zaG93LW9uLWZvY3VzIHtcclxuICAgICY6YWN0aXZlLFxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIExhbmRzY2FwZSBhbmQgcG9ydHJhaXQgdmlzaWJpbGl0eVxyXG4gIC5zaG93LWZvci1sYW5kc2NhcGUsXHJcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcclxuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcclxuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXHJcbiAgLnNob3ctZm9yLXBvcnRyYWl0IHtcclxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xyXG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xyXG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXRleHQtdXRpbGl0aWVzXHJcbi8vLy9cclxuXHJcbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciB0ZXh0IHV0aWxpdGllc1xyXG4vLy8gQHR5cGUgQm9vbGVhblxyXG4kcHJvdG90eXBlLXV0aWxpdGllcy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCBWYWx1ZSBmb3IgYHRleHQtb3ZlcmZsb3dgIHZhcmlhYmxlXHJcbi8vLyBAdHlwZSBTdHJpbmdcclxuJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93OiBlbGxpcHNpcyAhZGVmYXVsdDtcclxuXHJcbi8vLyBJbWFnZSBSZXBsYWNlbWVudCB1dGlsaXR5LiBgdGV4dC1oaWRlYFxyXG5AbWl4aW4gdGV4dC1oaWRlIHtcclxuICBmb250OiAwLzAgYSAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICBib3JkZXI6IDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuLy8vIFRydW5jYXRpbmcgdGhlIHRleHQsIGVsaXBzaXMgYnkgZGVmYXVsdC5cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3ZlcmZsb3cgWyRwcm90b3R5cGUtdGV4dC1vdmVyZmxvd10gVGV4dCBUcnVuY2F0ZVxyXG5AbWl4aW4gdGV4dC10cnVuY2F0ZShcclxuICAkb3ZlcmZsb3c6ICRwcm90b3R5cGUtdGV4dC1vdmVyZmxvd1xyXG4pIHtcclxuICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XHJcbiAgdGV4dC1vdmVyZmxvdzogJG92ZXJmbG93OyBcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8vLyBObyB3cmFwcGluZyBvZiB0aGUgdGV4dC4gYHRleHQtbm93cmFwYFxyXG5AbWl4aW4gdGV4dC1ub3dyYXAge1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcclxufVxyXG5cclxuLy8vIFdyYXBwaW5nIG9mIHRoZSB0ZXh0LiBgdGV4dC13cmFwYFxyXG5AbWl4aW4gdGV4dC13cmFwIHtcclxuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQgIWltcG9ydGFudDtcclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXRleHQtdXRpbGl0aWVzIHtcclxuICAudGV4dC1oaWRlIHtcclxuICAgIEBpbmNsdWRlIHRleHQtaGlkZTtcclxuICB9XHJcblxyXG4gIC50ZXh0LXRydW5jYXRlIHtcclxuICAgIEBpbmNsdWRlIHRleHQtdHJ1bmNhdGU7XHJcbiAgfVxyXG5cclxuICAudGV4dC1ub3dyYXAge1xyXG4gICAgQGluY2x1ZGUgdGV4dC1ub3dyYXA7XHJcbiAgfVxyXG5cclxuICAudGV4dC13cmFwIHtcclxuICAgIEBpbmNsdWRlIHRleHQtd3JhcDtcclxuICB9XHJcblxyXG4gIEBpZiAoJHByb3RvdHlwZS11dGlsaXRpZXMtYnJlYWtwb2ludHMpIHtcclxuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXHJcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xyXG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XHJcbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC1oaWRlIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgdGV4dC1oaWRlO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LXRydW5jYXRlIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgdGV4dC10cnVuY2F0ZTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC1ub3dyYXAge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB0ZXh0LW5vd3JhcDtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC13cmFwIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgdGV4dC13cmFwO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb25cclxuLy8vL1xyXG5cclxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHRleHQgdHJhbnNmb3JtYXRpb24gY2xhc3Nlc1xyXG4vLy8gQHR5cGUgQm9vbGVhblxyXG4kcHJvdG90eXBlLXRyYW5zZm9ybWF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcclxuXHJcbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGB0ZXh0LXRyYW5zZm9ybWF0aW9uYCBjbGFzc2VzXHJcbi8vLyBAdHlwZSBNYXBcclxuJHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uOiAoXHJcbiAgbG93ZXJjYXNlLFxyXG4gIHVwcGVyY2FzZSxcclxuICBjYXBpdGFsaXplXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLy8gVGV4dCBUcmFuc2Zvcm1hdGlvbiwgYnkgZGVmYXVsdCBjb21pbmcgdGhyb3VnaCBhIG1hcCBgJHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uYFxyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR0cmFuc2Zvcm1hdGlvbiBbXSBUZXh0IFRyYW5zZm9ybWF0aW9uXHJcbkBtaXhpbiB0ZXh0LXRyYW5zZm9ybSgkdHJhbnNmb3JtYXRpb24pIHtcclxuICB0ZXh0LXRyYW5zZm9ybTogJHRyYW5zZm9ybWF0aW9uICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uIHtcclxuICBAZWFjaCAkdHJhbnNmb3JtYXRpb24gaW4gJHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uIHtcclxuICAgIC50ZXh0LSN7JHRyYW5zZm9ybWF0aW9ufSB7XHJcbiAgICAgIEBpbmNsdWRlIHRleHQtdHJhbnNmb3JtKCR0cmFuc2Zvcm1hdGlvbik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgKCRwcm90b3R5cGUtdHJhbnNmb3JtYXRpb24tYnJlYWtwb2ludHMpIHtcclxuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXHJcbiAgXHRAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xyXG4gICAgICAgIEBlYWNoICR0cmFuc2Zvcm1hdGlvbiBpbiAkcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb24ge1xyXG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcclxuICAgICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skdHJhbnNmb3JtYXRpb259IHtcclxuICBcdFx0XHQgICAgICBAaW5jbHVkZSB0ZXh0LXRyYW5zZm9ybSgkdHJhbnNmb3JtYXRpb24pO1xyXG4gIFx0XHRcdCAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uXHJcbi8vLy9cclxuXHJcbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciB0ZXh0IGRlY29yYXRpb24gY2xhc3Nlc1xyXG4vLy8gQHR5cGUgQm9vbGVhblxyXG4kcHJvdG90eXBlLWRlY29yYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xyXG5cclxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHRleHQtZGVjb3JhdGlvbmAgY2xhc3Nlc1xyXG4vLy8gQHR5cGUgTWFwXHJcbiRwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uOiAoXHJcbiAgb3ZlcmxpbmUsXHJcbiAgdW5kZXJsaW5lLFxyXG4gIGxpbmUtdGhyb3VnaCxcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBUZXh0IERlY29yYXRpb24sIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uYFxyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkZWNvcmF0aW9uIFtdIFRleHQgRGVjb3JhdGlvblxyXG5AbWl4aW4gdGV4dC1kZWNvcmF0aW9uKCRkZWNvcmF0aW9uKSB7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiAkZGVjb3JhdGlvbiAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uIHtcclxuICBAZWFjaCAkZGVjb3JhdGlvbiBpbiAkcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbiB7XHJcbiAgICAudGV4dC0jeyRkZWNvcmF0aW9ufSB7XHJcbiAgICAgIEBpbmNsdWRlIHRleHQtZGVjb3JhdGlvbigkZGVjb3JhdGlvbik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgKCRwcm90b3R5cGUtZGVjb3JhdGlvbi1icmVha3BvaW50cykge1xyXG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcclxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XHJcbiAgICAgICAgQGVhY2ggJGRlY29yYXRpb24gaW4gJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb24ge1xyXG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcclxuICAgICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skZGVjb3JhdGlvbn0ge1xyXG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQtZGVjb3JhdGlvbigkZGVjb3JhdGlvbik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1mb250LXN0eWxpbmdcclxuLy8vL1xyXG5cclxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIGZvbnQgc3R5bGluZyB0eXBlc1xyXG4vLy8gQHR5cGUgQm9vbGVhblxyXG4kcHJvdG90eXBlLWZvbnQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xyXG5cclxuLy8vIExldHRlciBzcGFjaW5nIGZvciBgLmZvbnQtd2lkZWBcclxuLy8vIEB0eXBlIE51bWJlclxyXG4kcHJvdG90eXBlLXdpZGUtbGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKDQpICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgd2VpZ2h0IGZvciBgLmZvbnQtbm9ybWFsYCwgZGVmYXVsdGVkIHRvIGBnbG9iYWwtd2VpZ2h0LW5vcm1hbGBcclxuLy8vIEB0eXBlIE51bWJlclxyXG4kcHJvdG90eXBlLWZvbnQtbm9ybWFsOiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCB3ZWlnaHQgZm9yIGAuZm9udC1ib2xkYCwgZGVmYXVsdGVkIHRvIGBnbG9iYWwtd2VpZ2h0LWJvbGRgXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHByb3RvdHlwZS1mb250LWJvbGQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRm9udCB3aWRlIGxldHRlciBzcGFjaW5nIVxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsZXR0ZXItc3BhY2luZyBbJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nXSBXaWRlIGxldHRlciBzcGFjaW5nIGZvciB0aGUgZm9udFxyXG5AbWl4aW4gZm9udC13aWRlKFxyXG4gICRsZXR0ZXItc3BhY2luZzogJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nXHJcbikge1xyXG4gIGxldHRlci1zcGFjaW5nOiAkbGV0dGVyLXNwYWNpbmc7XHJcbn1cclxuXHJcbi8vLyBGb250IFdlaWdodCBOb3JtYWwsIGRlZmF1bHQgdmFsdWUgY29taW5nIHRocm91Z2ggYGdsb2JhbC13ZWlnaHQtbm9ybWFsYFxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWyRwcm90b3R5cGUtZm9udC1ub3JtYWxdIFdlaWdodCBvZiB0aGUgZm9udCAobm9ybWFsKVxyXG5AbWl4aW4gZm9udC1ub3JtYWwoXHJcbiAgJHdlaWdodDogJHByb3RvdHlwZS1mb250LW5vcm1hbFxyXG4pIHtcclxuICBmb250LXdlaWdodDogJHdlaWdodDtcclxufVxyXG5cclxuLy8vIEZvbnQgV2VpZ2h0IEJvbGQsIGRlZmF1bHQgdmFsdWUgY29taW5nIHRocm91Z2ggYGdsb2JhbC13ZWlnaHQtYm9sZGBcclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFskcHJvdG90eXBlLWZvbnQtYm9sZF0gV2VpZ2h0IG9mIHRoZSBmb250IChib2xkKVxyXG5AbWl4aW4gZm9udC1ib2xkKFxyXG4gICR3ZWlnaHQ6ICRwcm90b3R5cGUtZm9udC1ib2xkXHJcbikge1xyXG4gIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xyXG59XHJcblxyXG4vLy8gRm9udCBTdHlsZSBJdGFsaWNcclxuQG1peGluIGZvbnQtaXRhbGljIHtcclxuICBmb250LXN0eWxlOiBpdGFsaWMgIWltcG9ydGFudDtcclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWZvbnQtc3R5bGluZyB7XHJcbiAgLmZvbnQtd2lkZXtcclxuICAgIEBpbmNsdWRlIGZvbnQtd2lkZTtcclxuICB9XHJcblxyXG4gIC5mb250LW5vcm1hbCB7XHJcbiAgICBAaW5jbHVkZSBmb250LW5vcm1hbDtcclxuICB9XHJcblxyXG4gIC5mb250LWJvbGQge1xyXG4gICAgQGluY2x1ZGUgZm9udC1ib2xkO1xyXG4gIH1cclxuXHJcbiAgLmZvbnQtaXRhbGljIHtcclxuICAgIEBpbmNsdWRlIGZvbnQtaXRhbGljO1xyXG4gIH1cclxuXHJcbiAgQGlmICgkcHJvdG90eXBlLWZvbnQtYnJlYWtwb2ludHMpIHtcclxuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXHJcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xyXG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XHJcbiAgICAgICAgICAuI3skc2l6ZX0tZm9udC13aWRle1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXdpZGU7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLiN7JHNpemV9LWZvbnQtbm9ybWFsIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1ub3JtYWw7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLiN7JHNpemV9LWZvbnQtYm9sZCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtYm9sZDtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAuI3skc2l6ZX0tZm9udC1pdGFsaWMge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWl0YWxpYztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1saXN0LXN0eWxlLXR5cGVcclxuLy8vL1xyXG5cclxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIGxpc3Qgc3R5bGluZyB0eXBlc1xyXG4vLy8gQHR5cGUgQm9vbGVhblxyXG4kcHJvdG90eXBlLWxpc3QtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xyXG5cclxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHN0eWxlLXR5cGUtdW5vcmRlcmVkYCBjbGFzc2VzXHJcbi8vLyBAdHlwZSBNYXBcclxuJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZDogKFxyXG4gIGRpc2MsXHJcbiAgY2lyY2xlLFxyXG4gIHNxdWFyZVxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHN0eWxlLXR5cGUtb3JkZXJlZGAgY2xhc3Nlc1xyXG4vLy8gQHR5cGUgTWFwXHJcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkOiAoXHJcbiAgZGVjaW1hbCxcclxuICBsb3dlci1hbHBoYSxcclxuICBsb3dlci1sYXRpbixcclxuICBsb3dlci1yb21hbixcclxuICB1cHBlci1hbHBoYSxcclxuICB1cHBlci1sYXRpbixcclxuICB1cHBlci1yb21hblxyXG4pICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vLyBTdHlsZSB0eXBlIGZvciB1bm9yZGVyZWQgTGlzdHMsIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWRgXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0eWxlLXR5cGUtdW5vcmRlcmVkIFtdIFN0eWxlIHR5cGUgZm9yIHVub3JkZXJlZCBMaXN0c1xyXG5AbWl4aW4gc3R5bGUtdHlwZS11bm9yZGVyZWQoJHN0eWxlLXR5cGUtdW5vcmRlcmVkKSB7XHJcbiAgbGlzdC1zdHlsZS10eXBlOiAkc3R5bGUtdHlwZS11bm9yZGVyZWQgIWltcG9ydGFudDtcclxufVxyXG5cclxuLy8vIFN0eWxlIHR5cGUgZm9yIG9yZGVyZWQgTGlzdHMsIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkYFxyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzdHlsZS10eXBlLW9yZGVyZWQgW10gU3R5bGUgdHlwZSBmb3Igb3JkZXJlZCBMaXN0c1xyXG5AbWl4aW4gc3R5bGUtdHlwZS1vcmRlcmVkKCRzdHlsZS10eXBlLW9yZGVyZWQpIHtcclxuICBsaXN0LXN0eWxlLXR5cGU6ICRzdHlsZS10eXBlLW9yZGVyZWQgIWltcG9ydGFudDtcclxufVxyXG5cclxuQG1peGluIGxpc3QtdW5vcmRlcmVkIHtcclxuICBAZWFjaCAkc3R5bGUtdHlwZS11bm9yZGVyZWQgaW4gJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZCB7XHJcbiAgICB1bC5saXN0LSN7JHN0eWxlLXR5cGUtdW5vcmRlcmVkfSB7XHJcbiAgICAgIEBpbmNsdWRlIHN0eWxlLXR5cGUtdW5vcmRlcmVkKCRzdHlsZS10eXBlLXVub3JkZXJlZCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgKCRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50cykge1xyXG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcclxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XHJcbiAgICAgICAgQGVhY2ggJHN0eWxlLXR5cGUtdW5vcmRlcmVkIGluICRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWQge1xyXG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcclxuICAgICAgICAgICAgdWwuI3skc2l6ZX0tbGlzdC0jeyRzdHlsZS10eXBlLXVub3JkZXJlZH0ge1xyXG4gICAgICAgICAgICAgIEBpbmNsdWRlIHN0eWxlLXR5cGUtdW5vcmRlcmVkKCRzdHlsZS10eXBlLXVub3JkZXJlZCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBsaXN0LW9yZGVyZWQge1xyXG4gIEBlYWNoICRzdHlsZS10eXBlLW9yZGVyZWQgaW4gJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQge1xyXG4gICAgb2wubGlzdC0jeyRzdHlsZS10eXBlLW9yZGVyZWR9IHtcclxuICAgICAgQGluY2x1ZGUgc3R5bGUtdHlwZS1vcmRlcmVkKCRzdHlsZS10eXBlLW9yZGVyZWQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGlmICgkcHJvdG90eXBlLWxpc3QtYnJlYWtwb2ludHMpIHtcclxuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXHJcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xyXG4gICAgICAgIEBlYWNoICRzdHlsZS10eXBlLW9yZGVyZWQgaW4gJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQge1xyXG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcclxuICAgICAgICAgICAgb2wuI3skc2l6ZX0tbGlzdC0jeyRzdHlsZS10eXBlLW9yZGVyZWR9IHtcclxuICAgICAgICAgICAgICBAaW5jbHVkZSBzdHlsZS10eXBlLW9yZGVyZWQoJHN0eWxlLXR5cGUtb3JkZXJlZCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1saXN0LXN0eWxlLXR5cGUge1xyXG4gIEBpbmNsdWRlIGxpc3QtdW5vcmRlcmVkO1xyXG4gIEBpbmNsdWRlIGxpc3Qtb3JkZXJlZDtcclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXJvdW5kZWRcclxuLy8vL1xyXG5cclxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHJvdW5kZWQgdXRpbGl0eS5cclxuLy8vIEB0eXBlIEJvb2xlYW5cclxuJHByb3RvdHlwZS1yb3VuZGVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBgcHJvdG90eXBlLWJvcmRlci1yYWRpdXNgXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBSb3VuZGVkIHV0aWxpdHkgKGFsbCBjb3JuZXJzKTogQWRkcyByYWRpdXMgY29ybmVycyAoYWxsIGNvcm5lcnMpIHRvIGFuIGVsZW1lbnQgYnkgZGVmYXVsdC5cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmFkaXVzIFskcHJvdG90eXBlLWJvcmRlci1yYWRpdXNdIEJvcmRlciByYWRpdXMgKGFsbCBjb3JuZXJzKVxyXG5AbWl4aW4gYm9yZGVyLXJhZGl1cyhcclxuICAkcmFkaXVzOiAkcHJvdG90eXBlLWJvcmRlci1yYWRpdXNcclxuKSB7XHJcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcclxufVxyXG5cclxuLy8vIFJvdW5kZWQgc3F1YXJlIHV0aWxpdHkgb3IgcmVjdGFuZ2xlIHV0aWxpdHkgKGFsbCBjb3JuZXJzKTogUm91bmRzIGFsbCBjb3JuZXJzIHRvIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCB0byBtYWtlIGEgcGlsbCBzaGFwZS5cclxuQG1peGluIGJvcmRlci1yb3VuZGVkIHtcclxuICBib3JkZXItcmFkaXVzOiA1MDAwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXJvdW5kZWQge1xyXG4gIC5yb3VuZGVkIHtcclxuICAgIEBpbmNsdWRlIGJvcmRlci1yb3VuZGVkO1xyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsgLy8gRm9yIHN3aXRjaGVzXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAucmFkaXVzIHtcclxuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXM7XHJcbiAgfVxyXG5cclxuICBAaWYgKCRwcm90b3R5cGUtcm91bmRlZC1icmVha3BvaW50cykge1xyXG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcclxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XHJcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcclxuICAgICAgICAgIC4jeyRzaXplfS1yb3VuZGVkIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJvdW5kZWQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAuI3skc2l6ZX0tcmFkaXVzIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1ib3JkZXJlZFxyXG4vLy8vXHJcblxyXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgYm9yZGVyZWQgdXRpbGl0eS5cclxuLy8vIEB0eXBlIEJvb2xlYW5cclxuJHByb3RvdHlwZS1ib3JkZXJlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgYHByb3RvdHlwZS1ib3JkZXItd2lkdGhgXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHByb3RvdHlwZS1ib3JkZXItd2lkdGg6IHJlbS1jYWxjKDEpICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIGBwcm90b3R5cGUtYm9yZGVyLXR5cGVgXHJcbi8vLyBAdHlwZSBTdHJpbmdcclxuJHByb3RvdHlwZS1ib3JkZXItdHlwZTogc29saWQgIWRlZmF1bHQ7XHJcblxyXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgYHByb3RvdHlwZS1ib3JkZXItY29sb3JgIGRlZmF1bHRlZCB0byBgbWVkaXVtLWdyYXlgXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kcHJvdG90eXBlLWJvcmRlci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xyXG5cclxuLy8vIEJvcmRlcmVkIFV0aWxpdHk6IEFkZHMgYSBsaWdodCBib3JkZXIgdG8gYW4gZWxlbWVudCBieSBkZWZhdWx0LlxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJHByb3RvdHlwZS1ib3JkZXItd2lkdGhdIFdpZHRoIG9mIHRoZSBib3JkZXJcclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdHlwZSBbJHByb3RvdHlwZS1ib3JkZXItdHlwZV0gVHlwZSBvZiB0aGUgYm9yZGVyXHJcbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRwcm90b3R5cGUtYm9yZGVyLWNvbG9yXSBDb2xvciBvZiB0aGUgYm9yZGVyXHJcbkBtaXhpbiBib3JkZXJlZChcclxuICAkd2lkdGg6ICRwcm90b3R5cGUtYm9yZGVyLXdpZHRoLFxyXG4gICR0eXBlOiAkcHJvdG90eXBlLWJvcmRlci10eXBlLFxyXG4gICRjb2xvcjogJHByb3RvdHlwZS1ib3JkZXItY29sb3JcclxuKSB7XHJcbiAgYm9yZGVyOiAkd2lkdGggJHR5cGUgJGNvbG9yO1xyXG59XHJcblxyXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtYm9yZGVyZWQge1xyXG4gIC5ib3JkZXJlZCB7XHJcbiAgICBAaW5jbHVkZSBib3JkZXJlZDtcclxuICB9XHJcblxyXG4gIEBpZiAoJHByb3RvdHlwZS1ib3JkZXJlZC1icmVha3BvaW50cykge1xyXG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcclxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XHJcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcclxuICAgICAgICAgIC4jeyRzaXplfS1ib3JkZXJlZCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlcmVkO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXNoYWRvd1xyXG4vLy8vXHJcblxyXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3Igc2hhZG93IHV0aWxpdHkuXHJcbi8vLyBAdHlwZSBCb29sZWFuXHJcbiRwcm90b3R5cGUtc2hhZG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBgcHJvdG90eXBlLWJveC1zaGFkb3dgXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHByb3RvdHlwZS1ib3gtc2hhZG93OiAwIDJweCA1cHggMCByZ2JhKDAsMCwwLC4xNiksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgMCAycHggMTBweCAwIHJnYmEoMCwwLDAsLjEyKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBTaGFkb3cgVXRpbGl0eTogQWRkcyBhIGxpZ2h0IGJveCBzaGFkb3cgdG8gYW4gZWxlbWVudCBieSBkZWZhdWx0LlxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaGFkb3cgWyRwcm90b3R5cGUtYm94LXNoYWRvd10gQm94IFNoYWRvdyBvZiBhIGNvbXBvbmVudFxyXG5AbWl4aW4gc2hhZG93KFxyXG4gICRzaGFkb3c6ICRwcm90b3R5cGUtYm94LXNoYWRvd1xyXG4pIHtcclxuICBib3gtc2hhZG93OiAkc2hhZG93O1xyXG59XHJcblxyXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtc2hhZG93IHtcclxuICAuc2hhZG93IHtcclxuICAgIEBpbmNsdWRlIHNoYWRvdztcclxuICB9XHJcblxyXG4gIEBpZiAoJHByb3RvdHlwZS1zaGFkb3ctYnJlYWtwb2ludHMpIHtcclxuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXHJcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xyXG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XHJcbiAgICAgICAgICAuI3skc2l6ZX0tc2hhZG93IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgc2hhZG93O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgcHJvdG90eXBlLWFycm93XHJcbi8vLy9cclxuXHJcbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBhcnJvd2AgZGlyZWN0aW9uXHJcbi8vLyBAdHlwZSBNYXBcclxuJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25zOiAoXHJcbiAgZG93bixcclxuICB1cCxcclxuICByaWdodCxcclxuICBsZWZ0XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLy8gV2lkdGggb2YgdGhlIEFycm93LCBgMC40Mzc1cmVtYCBieSBkZWZhdWx0LlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRwcm90b3R5cGUtYXJyb3ctc2l6ZTogMC40Mzc1cmVtO1xyXG5cclxuLy8vIENvbG9yIG9mIHRoZSBBcnJvdywgYCRibGFja2AgYnkgZGVmYXVsdC5cclxuLy8vIEB0eXBlIENvbG9yXHJcbiRwcm90b3R5cGUtYXJyb3ctY29sb3I6ICRibGFjaztcclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1hcnJvdyB7XHJcbiAgQGVhY2ggJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb24gaW4gJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25zIHtcclxuICAgIC5hcnJvdy0jeyRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9ufSB7XHJcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZShcclxuICAgICAgICAkcHJvdG90eXBlLWFycm93LXNpemUsIFxyXG4gICAgICAgICRwcm90b3R5cGUtYXJyb3ctY29sb3IsIFxyXG4gICAgICAgICRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9uXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBwcm90b3R5cGUtc2VwYXJhdG9yXHJcbi8vLy9cclxuXHJcbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBzZXBhcmF0b3IuXHJcbi8vLyBAdHlwZSBCb29sZWFuXHJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IGFsaWdubWVudCBvZiBhIHNlcGFyYXRvci5cclxuLy8vIEB0eXBlIFN0cmluZ1xyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1hbGlnbjogY2VudGVyICFkZWZhdWx0O1xyXG5cclxuLy8vIEhlaWdodCBvZiBhIHNlcGFyYXRvci5cclxuLy8vIEB0eXBlIE51bWJlclxyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHQ6IHJlbS1jYWxjKDIpICFkZWZhdWx0O1xyXG5cclxuLy8vIFdpZHRoIG9mIGEgc2VwYXJhdG9yLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLXdpZHRoOiAzcmVtICFkZWZhdWx0O1xyXG5cclxuLy8vIERlZmF1bHQgY29sb3Igb2YgYSBzZXBhcmF0b3IuXHJcbi8vLyBAdHlwZSBDb2xvclxyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcclxuXHJcbi8vLyBUb3AgTWFyZ2luIG9mIGEgc2VwYXJhdG9yLlxyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xyXG5cclxuLy8vIFRpdGxlIHNlcGFyYXRvciBVdGlsaXR5LCBtb3N0bHkgdXNlZCB0byBzdHlsZSB0aGUgbWFpbiBoZWFkaW5nIG9mIGEgc2VjdGlvblxyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRhbGlnbiBbJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ25dIC0gc2VwYXJhdG9yIEFsaWdubWVudFxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWyRwcm90b3R5cGUtc2VwYXJhdG9yLWhlaWdodF0gLSBXaWR0aFxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJHByb3RvdHlwZS1zZXBhcmF0b3Itd2lkdGhdIC0gSGVpZ2h0XHJcbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJHByb3RvdHlwZS1zZXBhcmF0b3ItYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvcCBbJHByb3RvdHlwZS1zZXBhcmF0b3ItbWFyZ2luLXRvcF0gLSBNYXJnaW4gVG9wXHJcbkBtaXhpbiBzZXBhcmF0b3IgKFxyXG4gICRhbGlnbjogJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ24sXHJcbiAgJGhlaWdodDogJHByb3RvdHlwZS1zZXBhcmF0b3ItaGVpZ2h0LFxyXG4gICR3aWR0aDogJHByb3RvdHlwZS1zZXBhcmF0b3Itd2lkdGgsXHJcbiAgJGJhY2tncm91bmQ6ICRwcm90b3R5cGUtc2VwYXJhdG9yLWJhY2tncm91bmQsXHJcbiAgJHRvcDogJHByb3RvdHlwZS1zZXBhcmF0b3ItbWFyZ2luLXRvcFxyXG4pIHtcclxuICB0ZXh0LWFsaWduOiAkYWxpZ24gIWltcG9ydGFudDtcclxuXHRAaW5jbHVkZSBjbGVhcmZpeDtcclxuXHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgQGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUpO1xyXG4gICAgd2lkdGg6ICR3aWR0aDtcclxuICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGJhY2tncm91bmQ7XHJcbiAgICBtYXJnaW46ICR0b3AgYXV0byAwO1xyXG5cclxuICAgIEBpZiAkYWxpZ24gPT0gbGVmdCB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICRhbGlnbiA9PSByaWdodCB7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXNlcGFyYXRvciB7XHJcblx0LnNlcGFyYXRvci1jZW50ZXIge1xyXG5cdFx0QGluY2x1ZGUgc2VwYXJhdG9yKGNlbnRlcik7XHJcblx0fVxyXG5cclxuICAuc2VwYXJhdG9yLWxlZnQge1xyXG4gICAgQGluY2x1ZGUgc2VwYXJhdG9yKGxlZnQpO1xyXG4gIH1cclxuXHJcbiAgLnNlcGFyYXRvci1yaWdodCB7XHJcbiAgICBAaW5jbHVkZSBzZXBhcmF0b3IocmlnaHQpO1xyXG4gIH1cclxuXHJcblx0QGlmICgkcHJvdG90eXBlLXNlcGFyYXRvci1icmVha3BvaW50cykge1xyXG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcclxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XHJcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcclxuICAgICAgICAgIC4jeyRzaXplfS1zZXBhcmF0b3ItY2VudGVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgc2VwYXJhdG9yKGNlbnRlcik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAuI3skc2l6ZX0tc2VwYXJhdG9yLWxlZnQge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBzZXBhcmF0b3IobGVmdCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAuI3skc2l6ZX0tc2VwYXJhdG9yLXJpZ2h0IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgc2VwYXJhdG9yKHJpZ2h0KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1wb3NpdGlvblxyXG4vLy8vXHJcblxyXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgcG9zaXRpb24gaGVscGVyc1xyXG4vLy8gQHR5cGUgQm9vbGVhblxyXG4kcHJvdG90eXBlLXBvc2l0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcclxuXHJcbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBwb3NpdGlvbmAgY2xhc3Nlc1xyXG4vLy8gQHR5cGUgTWFwXHJcbiRwcm90b3R5cGUtcG9zaXRpb246IChcclxuICBzdGF0aWMsXHJcbiAgcmVsYXRpdmUsXHJcbiAgYWJzb2x1dGUsXHJcbiAgZml4ZWRcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vLyB6LWluZGV4IGZvciBmaXhlZCBwb3NpdGlvbmluZ1xyXG4vLy8gQHR5cGUgTnVtYmVyXHJcbiRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleDogOTc1ICFkZWZhdWx0O1xyXG5cclxuLy8vIFBvc2l0aW9uIGNsYXNzZXMsIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtcG9zaXRpb25gLCB3aGVyZWFzIGFsbCB0aGUgb2Zmc2V0IHZhbHVlcyBhcmUgbXVsdGlwbGllZCBieSBgJGdsb2JhbC1wb3NpdGlvbmAgd2hpY2ggYnkgZGVmYXVsdCBpcyBlcXVhbCB0byBgMXJlbWAuXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHBvc2l0aW9uIFtdIFBvc2l0aW9uIGNsYXNzZXMsIEVpdGhlciBgc3RhdGljYCwgYHJlbGF0aXZlYCwgYGFic29sdXRlYCBvciBgZml4ZWRgXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvcCBbbnVsbF0gLSBUb3Agb2Zmc2V0XHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHJpZ2h0IFtudWxsXSAtIFJpZ2h0IG9mZnNldFxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRib3R0b20gW251bGxdIC0gQm90dG9tIG9mZnNldFxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsZWZ0IFtudWxsXSAtIExlZnQgb2Zmc2V0XHJcbkBtaXhpbiBwb3NpdGlvbihcclxuICAkcG9zaXRpb24sXHJcbiAgJHRvcDogbnVsbCxcclxuICAkcmlnaHQ6IG51bGwsXHJcbiAgJGJvdHRvbTogbnVsbCxcclxuICAkbGVmdDogbnVsbFxyXG4pIHtcclxuICBwb3NpdGlvbjogJHBvc2l0aW9uICFpbXBvcnRhbnQ7XHJcbiAgQGlmICR0b3AgIT0gbnVsbCB7XHJcbiAgICB0b3A6ICR0b3AgKiAkZ2xvYmFsLXBvc2l0aW9uICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIEBpZiAkcmlnaHQgIT0gbnVsbCB7XHJcbiAgICByaWdodDogJHJpZ2h0ICogJGdsb2JhbC1wb3NpdGlvbiAhaW1wb3J0YW50O1xyXG4gIH1cclxuICBAaWYgJGJvdHRvbSAhPSBudWxsIHtcclxuICAgIGJvdHRvbTogJGJvdHRvbSAqICRnbG9iYWwtcG9zaXRpb24gIWltcG9ydGFudDtcclxuICB9XHJcbiAgQGlmICRsZWZ0ICE9IG51bGwge1xyXG4gICAgbGVmdDogJGxlZnQgKiAkZ2xvYmFsLXBvc2l0aW9uICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gUG9zaXRpb24gRml4ZWQgb24gdG9wIGNvcm5lcnNcclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkei1pbmRleCBbJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4XSB6LWluZGV4IGZvciBgcG9zaXRpb24tZml4ZWQtdG9wYFxyXG5AbWl4aW4gcG9zaXRpb24tZml4ZWQtdG9wKFxyXG4gICR6LWluZGV4OiAkcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXhcclxuKSB7XHJcbiAgQGluY2x1ZGUgcG9zaXRpb24oZml4ZWQsIDAsIDAsIG51bGwsIDApO1xyXG4gIHotaW5kZXg6ICR6LWluZGV4O1xyXG59XHJcblxyXG4vLy8gUG9zaXRpb24gRml4ZWQgb24gYm90dG9tIGNvcm5lcnNcclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkei1pbmRleCBbJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4XSB6LWluZGV4IGZvciBgcG9zaXRpb24tZml4ZWQtYm90dG9tYFxyXG5AbWl4aW4gcG9zaXRpb24tZml4ZWQtYm90dG9tKFxyXG4gICR6LWluZGV4OiAkcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXhcclxuKSB7XHJcbiAgQGluY2x1ZGUgcG9zaXRpb24oZml4ZWQsIG51bGwsIDAsIDAsIDApO1xyXG4gIHotaW5kZXg6ICR6LWluZGV4O1xyXG59XHJcblxyXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtcG9zaXRpb24ge1xyXG4gIC8vIFBvc2l0aW9uOiBTdGF0aWMsIFJlbGF0aXZlLCBGaXhlZCwgQWJzb2x1dGVcclxuICBAZWFjaCAkcG9zaXRpb24gaW4gJHByb3RvdHlwZS1wb3NpdGlvbiB7XHJcbiAgICAucG9zaXRpb24tI3skcG9zaXRpb259IHtcclxuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oJHBvc2l0aW9uKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFBvc2l0aW9uOiBGaXhlZCBUb3AsIEZpeGVkIEJvdHRvbVxyXG4gIC5wb3NpdGlvbi1maXhlZC10b3Age1xyXG4gICAgQGluY2x1ZGUgcG9zaXRpb24tZml4ZWQtdG9wO1xyXG4gIH1cclxuICAucG9zaXRpb24tZml4ZWQtYm90dG9tIHtcclxuICAgIEBpbmNsdWRlIHBvc2l0aW9uLWZpeGVkLWJvdHRvbTtcclxuICB9XHJcblxyXG4gIEBpZiAoJHByb3RvdHlwZS1wb3NpdGlvbi1icmVha3BvaW50cykge1xyXG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcclxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XHJcbiAgICAgICAgLy8gUG9zaXRpb246IFN0YXRpYywgUmVsYXRpdmUsIEZpeGVkLCBBYnNvbHV0ZVxyXG4gICAgICAgIEBlYWNoICRwb3NpdGlvbiBpbiAkcHJvdG90eXBlLXBvc2l0aW9uIHtcclxuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XHJcbiAgICAgICAgICAgIC4jeyRzaXplfS1wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xyXG4gICAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKCRwb3NpdGlvbik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIFBvc2l0aW9uOiBGaXhlZCBUb3AsIEZpeGVkIEJvdHRvbVxyXG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XHJcbiAgICAgICAgICAuI3skc2l6ZX0tcG9zaXRpb24tZml4ZWQtdG9wIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24tZml4ZWQtdG9wO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC4jeyRzaXplfS1wb3NpdGlvbi1maXhlZC1ib3R0b20ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbi1maXhlZC1ib3R0b207XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBwcm90b3R5cGUtb3ZlcmZsb3dcclxuLy8vL1xyXG5cclxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIG92ZXJmbG93IGhlbHBlciBjbGFzc2VzXHJcbi8vLyBAdHlwZSBCb29sZWFuXHJcbiRwcm90b3R5cGUtb3ZlcmZsb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xyXG5cclxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYG92ZXJmbG93YCBjbGFzc2VzXHJcbi8vLyBAdHlwZSBNYXBcclxuJHByb3RvdHlwZS1vdmVyZmxvdzogKFxyXG4gIHZpc2libGUsXHJcbiAgaGlkZGVuLFxyXG4gIHNjcm9sbFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8vIE92ZXJmbG93IGNsYXNzZXMsIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtb3ZlcmZsb3dgXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG92ZXJmbG93IFtdIE92ZXJmbG93IGNsYXNzZXNcclxuQG1peGluIG92ZXJmbG93KCRvdmVyZmxvdykge1xyXG4gIG92ZXJmbG93OiAkb3ZlcmZsb3cgIWltcG9ydGFudDtcclxufVxyXG5cclxuLy8vIE92ZXJmbG93IGNsYXNzZXMgb24gaG9yaXpvbnRhbCBheGlzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLW92ZXJmbG93YFxyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvdmVyZmxvdyBbXSBPdmVyZmxvdyBjbGFzc2VzIChob3Jpem9udGFsIGF4aXMpXHJcbkBtaXhpbiBvdmVyZmxvdy14KCRvdmVyZmxvdykge1xyXG4gIG92ZXJmbG93LXg6ICRvdmVyZmxvdyAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vLy8gT3ZlcmZsb3cgY2xhc3NlcyBvbiB2ZXJ0aWNhbCBheGlzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLW92ZXJmbG93YFxyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvdmVyZmxvdyBbXSBPdmVyZmxvdyBjbGFzc2VzICh2ZXJ0aWNhbCBheGlzKVxyXG5AbWl4aW4gb3ZlcmZsb3cteSgkb3ZlcmZsb3cpIHtcclxuICBvdmVyZmxvdy15OiAkb3ZlcmZsb3cgIWltcG9ydGFudDtcclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLW92ZXJmbG93IHtcclxuICBAZWFjaCAkb3ZlcmZsb3cgaW4gJHByb3RvdHlwZS1vdmVyZmxvdyB7XHJcbiAgICAub3ZlcmZsb3ctI3skb3ZlcmZsb3d9IHtcclxuICAgICAgQGluY2x1ZGUgb3ZlcmZsb3coJG92ZXJmbG93KTtcclxuICAgIH1cclxuICAgIC5vdmVyZmxvdy14LSN7JG92ZXJmbG93fSB7XHJcbiAgICAgIEBpbmNsdWRlIG92ZXJmbG93LXgoJG92ZXJmbG93KTtcclxuICAgIH1cclxuICAgIC5vdmVyZmxvdy15LSN7JG92ZXJmbG93fSB7XHJcbiAgICAgIEBpbmNsdWRlIG92ZXJmbG93LXkoJG92ZXJmbG93KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpZiAoJHByb3RvdHlwZS1vdmVyZmxvdy1icmVha3BvaW50cykge1xyXG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcclxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XHJcbiAgICAgICAgQGVhY2ggJG92ZXJmbG93IGluICRwcm90b3R5cGUtb3ZlcmZsb3cge1xyXG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcclxuICAgICAgICAgICAgLiN7JHNpemV9LW92ZXJmbG93LSN7JG92ZXJmbG93fSB7XHJcbiAgICAgICAgICAgICAgQGluY2x1ZGUgb3ZlcmZsb3coJG92ZXJmbG93KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuI3skc2l6ZX0tb3ZlcmZsb3cteC0jeyRvdmVyZmxvd30ge1xyXG4gICAgICAgICAgICAgIEBpbmNsdWRlIG92ZXJmbG93LXgoJG92ZXJmbG93KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuI3skc2l6ZX0tb3ZlcmZsb3cteS0jeyRvdmVyZmxvd30ge1xyXG4gICAgICAgICAgICAgIEBpbmNsdWRlIG92ZXJmbG93LXkoJG92ZXJmbG93KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgcHJvdG90eXBlLWRpc3BsYXlcclxuLy8vL1xyXG5cclxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIGRpc3BsYXkgY2xhc3Nlc1xyXG4vLy8gQHR5cGUgQm9vbGVhblxyXG4kcHJvdG90eXBlLWRpc3BsYXktYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xyXG5cclxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYGRpc3BsYXlgIGNsYXNzZXNcclxuLy8vIEB0eXBlIE1hcFxyXG4kcHJvdG90eXBlLWRpc3BsYXk6IChcclxuICBpbmxpbmUsXHJcbiAgaW5saW5lLWJsb2NrLFxyXG4gIGJsb2NrLFxyXG4gIHRhYmxlLFxyXG4gIHRhYmxlLWNlbGxcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBEaXNwbGF5IGNsYXNzZXMsIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtZGlzcGxheWBcclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlzcGxheSBbXSBEaXNwbGF5IGNsYXNzZXNcclxuQG1peGluIGRpc3BsYXkoJGRpc3BsYXkpIHtcclxuICBkaXNwbGF5OiAkZGlzcGxheSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtZGlzcGxheSB7XHJcbiAgQGVhY2ggJGRpc3BsYXkgaW4gJHByb3RvdHlwZS1kaXNwbGF5IHtcclxuICAgIC5kaXNwbGF5LSN7JGRpc3BsYXl9IHtcclxuICAgICAgQGluY2x1ZGUgZGlzcGxheSgkZGlzcGxheSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgKCRwcm90b3R5cGUtZGlzcGxheS1icmVha3BvaW50cykge1xyXG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcclxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XHJcbiAgICAgICAgQGVhY2ggJGRpc3BsYXkgaW4gJHByb3RvdHlwZS1kaXNwbGF5IHtcclxuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XHJcbiAgICAgICAgICAgIC4jeyRzaXplfS1kaXNwbGF5LSN7JGRpc3BsYXl9IHtcclxuICAgICAgICAgICAgICBAaW5jbHVkZSBkaXNwbGF5KCRkaXNwbGF5KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXHJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cclxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXHJcblxyXG4vLy8vXHJcbi8vLyBAZ3JvdXAgcHJvdG90eXBlLWJvcmRlci1ib3hcclxuLy8vL1xyXG5cclxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIGJvcmRlciBib3guXHJcbi8vLyBAdHlwZSBCb29sZWFuXHJcbiRwcm90b3R5cGUtYm9yZGVyLWJveC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQm9yZGVyIGJveCB1dGlsaXR5XHJcbkBtaXhpbiBib3JkZXItYm94IHtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1ib3JkZXItYm94IHtcclxuICAuYm9yZGVyLWJveCB7XHJcbiAgICBAaW5jbHVkZSBib3JkZXItYm94O1xyXG4gIH1cclxuXHJcbiAgQGlmICgkcHJvdG90eXBlLWJvcmRlci1ib3gtYnJlYWtwb2ludHMpIHtcclxuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXHJcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xyXG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XHJcbiAgICAgICAgICAuI3skc2l6ZX0tYm9yZGVyLWJveCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3g7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBwcm90b3R5cGUtYm9yZGVyLW5vbmVcclxuLy8vL1xyXG5cclxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIGJvcmRlciBub25lLlxyXG4vLy8gQHR5cGUgQm9vbGVhblxyXG4kcHJvdG90eXBlLWJvcmRlci1ub25lLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcclxuXHJcbi8vLyBCb3JkZXIgbm9uZSB1dGlsaXR5XHJcbkBtaXhpbiBib3JkZXItbm9uZSB7XHJcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1ib3JkZXItbm9uZSB7XHJcbiAgLmJvcmRlci1ub25lIHtcclxuICAgIEBpbmNsdWRlIGJvcmRlci1ub25lO1xyXG4gIH1cclxuXHJcbiAgQGlmICgkcHJvdG90eXBlLWJvcmRlci1ub25lLWJyZWFrcG9pbnRzKSB7XHJcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xyXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcclxuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xyXG4gICAgICAgICAgLiN7JHNpemV9LWJvcmRlci1ub25lIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLW5vbmU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcclxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxyXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcclxuXHJcbi8vLy9cclxuLy8vIEBncm91cCBwcm90b3R5cGUtc2l6aW5nXHJcbi8vLy9cclxuXHJcbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBzcGFjaW5nIGNsYXNzZXMgKG1hcmdpbiBhbmQgcGFkZGluZylcclxuLy8vIEB0eXBlIEJvb2xlYW5cclxuJHByb3RvdHlwZS1zaXppbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xyXG5cclxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHNpemluZ2AgY2xhc3Nlc1xyXG4vLy8gQHR5cGUgTWFwXHJcbiRwcm90b3R5cGUtc2l6aW5nOiAoXHJcbiAgd2lkdGgsXHJcbiAgaGVpZ2h0XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBzaXplcy5cclxuLy8vIEB0eXBlIE1hcFxyXG4kcHJvdG90eXBlLXNpemVzOiAoXHJcbiAgMjU6IDI1JSxcclxuICA1MDogNTAlLFxyXG4gIDc1OiA3NSUsXHJcbiAgMTAwOiAxMDAlXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLy8gTWF4IFdpZHRoIDEwMCB1dGlsaXR5LlxyXG5AbWl4aW4gbWF4LXdpZHRoLTEwMCB7XHJcbiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8vLyBNYXggSGVpZ2h0IDEwMCB1dGlsaXR5LlxyXG5AbWl4aW4gbWF4LWhlaWdodC0xMDAge1xyXG4gIG1heC1oZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXNpemluZyB7XHJcbiAgLy8gRWxlbWVudCBTaXppbmdcclxuICBAZWFjaCAkc2l6aW5nIGluICRwcm90b3R5cGUtc2l6aW5nIHtcclxuICAgIEBlYWNoICRsZW5ndGgsICRwZXJjZW50YWdlIGluICRwcm90b3R5cGUtc2l6ZXMge1xyXG4gICAgICAuI3skc2l6aW5nfS0jeyRsZW5ndGh9IHtcclxuICAgICAgICAjeyRzaXppbmd9OiAkcGVyY2VudGFnZSAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBNYXggd2lkdGggJiBoZWlnaHRcclxuICAubWF4LXdpZHRoLTEwMCB7XHJcbiAgICBAaW5jbHVkZSBtYXgtd2lkdGgtMTAwO1xyXG4gIH1cclxuICAubWF4LWhlaWdodC0xMDAge1xyXG4gICAgQGluY2x1ZGUgbWF4LWhlaWdodC0xMDA7XHJcbiAgfVxyXG5cclxuICBAaWYgKCRwcm90b3R5cGUtc2l6aW5nLWJyZWFrcG9pbnRzKSB7XHJcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xyXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcclxuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xyXG4gICAgICAgICAgQGVhY2ggJHNpemluZyBpbiAkcHJvdG90eXBlLXNpemluZyB7XHJcbiAgICAgICAgICAgIEBlYWNoICRsZW5ndGgsICRwZXJjZW50YWdlIGluICRwcm90b3R5cGUtc2l6ZXMge1xyXG4gICAgICAgICAgICAgIC4jeyRzaXplfS0jeyRzaXppbmd9LSN7JGxlbmd0aH0ge1xyXG4gICAgICAgICAgICAgICAgI3skc2l6aW5nfTogJHBlcmNlbnRhZ2UgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxyXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXHJcbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxyXG5cclxuLy8vL1xyXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1zcGFjaW5nXHJcbi8vLy9cclxuXHJcbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBzcGFjaW5nIGNsYXNzZXMgKG1hcmdpbiBhbmQgcGFkZGluZylcclxuLy8vIEB0eXBlIEJvb2xlYW5cclxuJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcclxuXHJcbi8vLyBEZWZhdWx0IG51bWJlciBvZiBzcGFjZXJzIGNvdW50IChtYXJnaW4gYW5kIHBhZGRpbmcpXHJcbi8vLyBAdHlwZSBOdW1iZXJcclxuJHByb3RvdHlwZS1zcGFjZXJzLWNvdW50OiAzICFkZWZhdWx0O1xyXG5cclxuLy8vIE1hcmdpbiBoZWxwZXIgbWl4aW4sIGFsbCB0aGUgdmFsdWVzIGFyZSBtdWx0aXBsaWVkIGJ5IGAkZ2xvYmFsLW1hcmdpbmAgd2hpY2ggYnkgZGVmYXVsdCBpcyBlcXVhbCB0byBgMXJlbWBcclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9wIFtudWxsXSAtIE1hcmdpbiBUb3BcclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmlnaHQgW251bGxdIC0gTWFyZ2luIFJpZ2h0XHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJvdHRvbSBbbnVsbF0gLSBNYXJnaW4gQm90dG9tXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGxlZnQgW251bGxdIC0gTWFyZ2luIExlZnRcclxuQG1peGluIG1hcmdpbihcclxuICAkdG9wOiBudWxsLFxyXG4gICRyaWdodDogbnVsbCxcclxuICAkYm90dG9tOiBudWxsLFxyXG4gICRsZWZ0OiBudWxsXHJcbikge1xyXG4gIEBpZiAkdG9wICE9IG51bGwge1xyXG4gICAgbWFyZ2luLXRvcDogJHRvcCAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIEBpZiAkcmlnaHQgIT0gbnVsbCB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6ICRyaWdodCAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIEBpZiAkYm90dG9tICE9IG51bGwge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJGJvdHRvbSAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIEBpZiAkbGVmdCAhPSBudWxsIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAkbGVmdCAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gUGFkZGluZyBoZWxwZXIgbWl4aW4sIGFsbCB0aGUgdmFsdWVzIGFyZSBtdWx0aXBsaWVkIGJ5IGAkZ2xvYmFsLXBhZGRpbmdgIHdoaWNoIGJ5IGRlZmF1bHQgaXMgZXF1YWwgdG8gYDFyZW1gXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvcCBbbnVsbF0gLSBQYWRkaW5nIFRvcFxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyaWdodCBbbnVsbF0gLSBQYWRkaW5nIFJpZ2h0XHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJvdHRvbSBbbnVsbF0gLSBQYWRkaW5nIEJvdHRvbVxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsZWZ0IFtudWxsXSAtIFBhZGRpbmcgTGVmdFxyXG5AbWl4aW4gcGFkZGluZyhcclxuICAkdG9wOiBudWxsLFxyXG4gICRyaWdodDogbnVsbCxcclxuICAkYm90dG9tOiBudWxsLFxyXG4gICRsZWZ0OiBudWxsXHJcbikge1xyXG4gIEBpZiAkdG9wICE9IG51bGwge1xyXG4gICAgcGFkZGluZy10b3A6ICR0b3AgKiAkZ2xvYmFsLXBhZGRpbmcgIWltcG9ydGFudDtcclxuICB9XHJcbiAgQGlmICRyaWdodCAhPSBudWxsIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6ICRyaWdodCAqICRnbG9iYWwtcGFkZGluZyAhaW1wb3J0YW50O1xyXG4gIH1cclxuICBAaWYgJGJvdHRvbSAhPSBudWxsIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiAkYm90dG9tICogJGdsb2JhbC1wYWRkaW5nICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIEBpZiAkbGVmdCAhPSBudWxsIHtcclxuICAgIHBhZGRpbmctbGVmdDogJGxlZnQgKiAkZ2xvYmFsLXBhZGRpbmcgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbi8vLyBNYXJnaW4gY2xhc3NlcyBmb3Igc3BlY2lmaWMgZGlyZWN0aW9uIHByb3BlcnRpZXNcclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlyIFtdIERpcmVjdGlvblxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjZXIgW10gU3BhY2VyXHJcbkBtaXhpbiBtYXJnaW4tZGlyZWN0aW9uKCRkaXIsICRzcGFjZXIpIHtcclxuICBAaWYgKCRkaXIgPT0gdG9wKSB7IFxyXG4gICAgQGluY2x1ZGUgbWFyZ2luKCR0b3A6ICRzcGFjZXIpOyBcclxuICB9XHJcbiAgQGVsc2UgaWYgKCRkaXIgPT0gcmlnaHQpIHsgXHJcbiAgICBAaW5jbHVkZSBtYXJnaW4oJHJpZ2h0OiAkc3BhY2VyKTsgXHJcbiAgfVxyXG4gIEBlbHNlIGlmICgkZGlyID09IGJvdHRvbSkgeyBcclxuICAgIEBpbmNsdWRlIG1hcmdpbigkYm90dG9tOiAkc3BhY2VyKTsgXHJcbiAgfVxyXG4gIEBlbHNlIGlmICgkZGlyID09IGxlZnQpIHsgXHJcbiAgICBAaW5jbHVkZSBtYXJnaW4oJGxlZnQ6ICRzcGFjZXIpOyBcclxuICB9XHJcbiAgQGVsc2UgaWYgKCRkaXIgPT0gaG9yaXpvbnRhbCkgeyBcclxuICAgIEBpbmNsdWRlIG1hcmdpbigkcmlnaHQ6ICRzcGFjZXIsICRsZWZ0OiAkc3BhY2VyKTsgXHJcbiAgfVxyXG4gIEBlbHNlIGlmICgkZGlyID09IHZlcnRpY2FsKSB7IFxyXG4gICAgQGluY2x1ZGUgbWFyZ2luKCR0b3A6ICRzcGFjZXIsICRib3R0b206ICRzcGFjZXIpOyBcclxuICB9XHJcbn1cclxuXHJcbi8vLyBQYWRkaW5nIGNsYXNzZXMgZm9yIHNwZWNpZmljIGRpcmVjdGlvbiBwcm9wZXJ0aWVzXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpciBbXSBEaXJlY3Rpb25cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2VyIFtdIFNwYWNlclxyXG5AbWl4aW4gcGFkZGluZy1kaXJlY3Rpb24oJGRpciwgJHNwYWNlcikge1xyXG4gIEBpZiAoJGRpciA9PSB0b3ApIHsgXHJcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCR0b3A6ICRzcGFjZXIpOyBcclxuICB9XHJcbiAgQGVsc2UgaWYgKCRkaXIgPT0gcmlnaHQpIHsgXHJcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCRyaWdodDogJHNwYWNlcik7IFxyXG4gIH1cclxuICBAZWxzZSBpZiAoJGRpciA9PSBib3R0b20pIHsgXHJcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCRib3R0b206ICRzcGFjZXIpOyBcclxuICB9XHJcbiAgQGVsc2UgaWYgKCRkaXIgPT0gbGVmdCkgeyBcclxuICAgIEBpbmNsdWRlIHBhZGRpbmcoJGxlZnQ6ICRzcGFjZXIpOyBcclxuICB9XHJcbiAgQGVsc2UgaWYgKCRkaXIgPT0gaG9yaXpvbnRhbCkgeyBcclxuICAgIEBpbmNsdWRlIHBhZGRpbmcoJHJpZ2h0OiAkc3BhY2VyLCAkbGVmdDogJHNwYWNlcik7IFxyXG4gIH1cclxuICBAZWxzZSBpZiAoJGRpciA9PSB2ZXJ0aWNhbCkgeyBcclxuICAgIEBpbmNsdWRlIHBhZGRpbmcoJHRvcDogJHNwYWNlciwgJGJvdHRvbTogJHNwYWNlcik7IFxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXNwYWNpbmcge1xyXG4gIEBmb3IgJHNwYWNlciBmcm9tIDAgdGhyb3VnaCAkcHJvdG90eXBlLXNwYWNlcnMtY291bnQge1xyXG4gICAgXHJcbiAgICBAZWFjaCAkcHJvcCBpbiAobWFyZ2luLCBwYWRkaW5nKSB7XHJcbiAgICAgIC8vIEFsbCBTaWRlc1xyXG4gICAgICAuI3skcHJvcH0tI3skc3BhY2VyfSB7XHJcbiAgICAgICAgQGlmICgkcHJvcCA9PSBtYXJnaW4pIHsgXHJcbiAgICAgICAgICBtYXJnaW46ICRzcGFjZXIgKiAkZ2xvYmFsLW1hcmdpbjsgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBlbHNlIGlmICgkcHJvcCA9PSBwYWRkaW5nKSB7IFxyXG4gICAgICAgICAgcGFkZGluZzogJHNwYWNlciAqICRnbG9iYWwtcGFkZGluZzsgXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBAZWFjaCAkZGlyIGluICh0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnQsIGhvcml6b250YWwsIHZlcnRpY2FsKSB7XHJcbiAgICAgICAgLy8gVG9wIFNpZGVcclxuICAgICAgICAuI3skcHJvcH0tI3skZGlyfS0jeyRzcGFjZXJ9IHtcclxuICAgICAgICAgIEBpZiAoJHByb3AgPT0gbWFyZ2luKSB7IFxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtYXJnaW4tZGlyZWN0aW9uKCRkaXIsICRzcGFjZXIpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgQGVsc2UgaWYgKCRwcm9wID09IHBhZGRpbmcpIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcGFkZGluZy1kaXJlY3Rpb24oJGRpciwgJHNwYWNlcik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICgkcHJvdG90eXBlLXNwYWNpbmctYnJlYWtwb2ludHMpIHtcclxuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXHJcbiAgICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcclxuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XHJcbiAgICAgICAgICAgIC4jeyRzaXplfSB7XHJcbiAgICAgICAgICAgICAgQGVhY2ggJHByb3AgaW4gKG1hcmdpbiwgcGFkZGluZykge1xyXG4gICAgICAgICAgICAgICAgLy8gQWxsIFNpZGVzXHJcbiAgICAgICAgICAgICAgICAmLSN7JHByb3B9LSN7JHNwYWNlcn0ge1xyXG4gICAgICAgICAgICAgICAgICBAaWYgKCRwcm9wID09IG1hcmdpbikgeyBcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46ICRzcGFjZXIgKiAkZ2xvYmFsLW1hcmdpbjsgXHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgQGVsc2UgaWYgKCRwcm9wID09IHBhZGRpbmcpIHsgXHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJHNwYWNlciAqICRnbG9iYWwtcGFkZGluZzsgXHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBAZWFjaCAkZGlyIGluICh0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnQsIGhvcml6b250YWwsIHZlcnRpY2FsKSB7XHJcbiAgICAgICAgICAgICAgICAgIC8vIFRvcCBTaWRlXHJcbiAgICAgICAgICAgICAgICAgICYtI3skcHJvcH0tI3skZGlyfS0jeyRzcGFjZXJ9IHtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRwcm9wID09IG1hcmdpbikgeyBcclxuICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1hcmdpbi1kaXJlY3Rpb24oJGRpciwgJHNwYWNlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIEBlbHNlIGlmICgkcHJvcCA9PSBwYWRkaW5nKSB7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcGFkZGluZy1kaXJlY3Rpb24oJGRpciwgJHNwYWNlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIlxyXG4qIHtcclxuICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XHJcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcbn1cclxuXHJcbjpmb2N1cyB7b3V0bGluZTowICFpbXBvcnRhbnQ7fVxyXG5cclxuYm9keXtcclxuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcclxuICAgIGZvbnQtc2l6ZTogJGJvZHktZm9udC1zaXplO1xyXG4gICAgY29sb3I6ICRjb2xvci1kYXJrO1xyXG4gICAgLy8gZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbn1cclxuXHJcblxyXG5hIHtcclxuICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcclxuICAgIHRyYW5zaXRpb246IDAuM3MgZWFzZSBhbGw7XHJcblxyXG4gICAgJjpob3ZlcixcclxuICAgICY6Zm9jdXN7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1kYXJrO1xyXG4gICAgfVxyXG59XHJcblxyXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2e1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZy1mb250LWZhbWlseTtcclxuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbn1cclxuaDQsIGg1LCBoNntcclxuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcclxuICAgIGxpbmUtaGVpZ2h0OjEuNDtcclxufVxyXG5cclxuaDF7XHJcbiAgICBmb250LXNpemU6IDgwcHg7XHJcbiAgICBsaW5lLWhlaWdodDogMTtcclxufVxyXG5oMntcclxuICAgIGZvbnQtc2l6ZTogNjBweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG59XHJcbmgze1xyXG4gICAgZm9udC1zaXplOjM0cHg7XHJcbiAgICBsaW5lLWhlaWdodDoxLjI7XHJcbn1cclxuaDR7XHJcbiAgICBmb250LXNpemU6MzBweDtcclxufVxyXG5oNXtcclxuICAgIGZvbnQtc2l6ZToyNHB4O1xyXG59XHJcbmg2e1xyXG4gICAgZm9udC1zaXplOjIwcHg7XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCwgMTI4MHB4KXtcclxuICAgIGgxe1xyXG4gICAgICAgIGZvbnQtc2l6ZTogNjBweDtcclxuICAgIH1cclxuICAgIGgye1xyXG4gICAgICAgIGZvbnQtc2l6ZTogNDBweDtcclxuICAgIH1cclxuICAgIGgze1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjhweDtcclxuICAgIH1cclxuICAgIGg0e1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgIH1cclxuICAgIGg1e1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgIH1cclxuICAgIGg2e1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcblxyXG5pbWd7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbn1cclxuXHJcbnB7XHJcbiAgICBsaW5lLWhlaWdodDogMS41O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDsgXHJcblxyXG4gICAgJi5sYXJnZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgfVxyXG4gICAgJi5zbWFsbCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG51bCB7XHJcbiAgICAmLmxhcmdlIHtcclxuICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICB9XHJcbiAgICAmLnNtYWxsIHtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICB9XHJcblxyXG4gICAgJi5sZXR0ZXIge1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IGxvd2VyLWxhdGluO1xyXG4gICAgfVxyXG5cclxuICAgICYucm9tYW4ge1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IGxvd2VyLXJvbWFuOyAgICAgICAgXHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5vbCB7XHJcbiAgICAmLmxhcmdlIHtcclxuICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICB9XHJcbiAgICAmLnNtYWxsIHtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICB9XHJcbn0iLCIvLyBNRURJQSBRVUVSWVxyXG5AbWl4aW4gbWVkaWEoJHJlcywgJHNpemUpe1xyXG4gICAgJGl0ZW1zOiAobWF4LXdpZHRoLCBtYXgtaGVpZ2h0LCBtaW4td2lkdGgsIG1pbi1oZWlnaHQpO1xyXG5cclxuICAgIEBpZiAoaW5kZXgoJGl0ZW1zLCAkcmVzKSl7XHJcbiAgICAgICAgQG1lZGlhICgjeyRyZXN9OiAkc2l6ZSkge1xyXG4gICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiB9XHJcblxyXG5cclxuLy8gQU5JTUFUSU9OXHJcbkBtaXhpbiBhbmltYXRpb24oJGFuaW1hdGUuLi4pIHtcclxuICAgICRtYXg6IGxlbmd0aCgkYW5pbWF0ZSk7XHJcbiAgICAkYW5pbWF0aW9uczogJyc7XHJcblxyXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbWF4IHtcclxuICAgICAgICAkYW5pbWF0aW9uczogI3skYW5pbWF0aW9ucyArIG50aCgkYW5pbWF0ZSwgJGkpfTtcclxuXHJcbiAgICAgICAgQGlmICRpIDwgJG1heCB7XHJcbiAgICAgICAgICAgICRhbmltYXRpb25zOiAjeyRhbmltYXRpb25zICsgXCIsIFwifTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogJGFuaW1hdGlvbnM7XHJcbiAgICAtbW96LWFuaW1hdGlvbjogICAgJGFuaW1hdGlvbnM7XHJcbiAgICAtby1hbmltYXRpb246ICAgICAgJGFuaW1hdGlvbnM7XHJcbiAgICBhbmltYXRpb246ICAgICAgICAgJGFuaW1hdGlvbnM7XHJcbn1cclxuQG1peGluIGtleWZyYW1lcygkYW5pbWF0aW9uTmFtZSkge1xyXG4gICAgQC13ZWJraXQta2V5ZnJhbWVzICN7JGFuaW1hdGlvbk5hbWV9IHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxuICAgIEAtbW96LWtleWZyYW1lcyAjeyRhbmltYXRpb25OYW1lfSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgICBALW8ta2V5ZnJhbWVzICN7JGFuaW1hdGlvbk5hbWV9IHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxuICAgIEBrZXlmcmFtZXMgI3skYW5pbWF0aW9uTmFtZX0ge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcbkBtaXhpbiBjZW50ZXJQb3N7XHJcbiAgICBsZWZ0OjUwJTtcclxuICAgIHRvcDo1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLC01MCUpO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLC01MCUpO1xyXG59XHJcblxyXG5AbWl4aW4gY2VudGVyTGVmdFBvc3tcclxuICAgIGxlZnQ6NTAlO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwwKTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwwKTtcclxufVxyXG5cclxuQG1peGluIHVsTWVudXtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHBhZGRpbmc6MHB4O1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxufSIsImZvcm0ge31cclxuXHJcbmlucHV0W3R5cGU9dGV4dF0sIGlucHV0W3R5cGU9bnVtYmVyXSxcclxuaW5wdXRbdHlwZT1lbWFpbF0sIGlucHV0W3R5cGU9dGVsXSxcclxuaW5wdXRbdHlwZT1wYXNzd29yZF0sIHNlbGVjdCwgdGV4dGFyZWF7XHJcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjQzRDNEM0O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xyXG4gICAgcGFkZGluZzogMTBweCAxNXB4O1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIGhlaWdodDogNTBweDtcclxufVxyXG5zZWxlY3Qge1xyXG4gICAgcGFkZGluZy1yaWdodDogMzBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG51bC5nZm9ybV9maWVsZHMgIHtcclxuICAgIG1hcmdpbjowIDAgMjBweDtcclxuICAgIFxyXG4gICAgbGkge1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcblxyXG4gICAgICAgICYuaGlkZGVuX2xhYmVsIHtcclxuICAgICAgICAgICAgPiBsYWJlbCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5oaWRkZW5fc3ViX2xhYmVsIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5maWVsZCB7XHJcbiAgICAgICAgLmdpbnB1dF9jb250YWluZXIge1xyXG4gICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICArIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmdmaWVsZCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuXHJcbiAgICAgICAgaW5wdXQsIHRleHRhcmVhLCBzZWxlY3Qge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG4vKiBCdXR0b25zICovXHJcbmEuYnV0dG9uLCBpbnB1dC5idXR0b24sIGJ1dHRvbi5idXR0b257XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBwYWRkaW5nOiAxNnB4IDQwcHggMTFweDtcclxuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZy1mb250LWZhbWlseTtcclxuICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMjM4ZW07XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDI4cHg7XHJcbiAgICB0cmFuc2l0aW9uOmFsbCAwLjVzIGVhc2U7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6JGNvbG9yLXdoaXRlOyBcclxuXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1wcmltYXJ5O1xyXG4gICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2tld1goLTE4ZGVnKTtcclxuXHJcblxyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGNvbG9yOiRjb2xvci13aGl0ZTsgXHJcblxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkY29sb3Itc2Vjb25kYXJ5LCAwLjgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmludmVyc2Uge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItZGFyaztcclxuXHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmhvdmVyOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1saWdodDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgICYuZGlzYWJsZWQsICZbZGlzYWJsZV0ge1xyXG4gICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGUgIWltcG9ydGFudDtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWxpZ2h0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYm9yZGVyOjFweCBzb2xpZCAkY29sb3ItbGlnaHQgIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgKiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItbGlnaHQgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgW2NsYXNzKj1cImNpcmNsZVwiXSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1saWdodCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfSAgIFxyXG5cclxuICAgIFxyXG4gICAgJi5zbWFsbCB7ICAgXHJcbiAgICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xyXG4gICAgfVxyXG5cclxuICAgICYubGFyZ2UgeyAgIFxyXG4gICAgICAgIHBhZGRpbmc6IDE4cHggNDBweDtcclxuICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgJi5ub21pbiB7XHJcbiAgICAgICAgbWluLXdpZHRoOiAxcHg7XHJcbiAgICB9XHJcblxyXG4gICAgc21hbGwge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cclxuICAgICAgICBzIHtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWRhcms7IFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYnV0dG9ucyAmIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMjVweDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDI1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmFjdGlvbiAmIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCwgNDgwcHgpIHtcclxuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcclxuICAgIH1cclxuICAgIFxyXG59IFxyXG5cclxuXHJcbi5nZm9ybV93cmFwcGVyIGZvcm0ge1xyXG4gICAgLmdmaWVsZF92YWxpZGF0aW9uX21lc3NhZ2UsXHJcbiAgICAudmFsaWRhdGlvbl9tZXNzYWdlIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAzcHg7XHJcbiAgICAgICAgcGFkZGluZzogMnB4IDEwcHggIWltcG9ydGFudDtcclxuICAgIH1cclxufSIsIiRmb250X3dlaWdodHM6IChcclxuICAgIGZ3LWV4dHJhbGlnaHQ6IDIwMCxcclxuICAgIGZ3LWxpZ2h0OiAzMDAsXHJcbiAgICBmdy1yZWd1bGFyOiA0MDAsXHJcbiAgICBmdy1tZWRpdW06IDUwMCxcclxuICAgIGZ3LXNlbWlib2xkOiA2MDAsXHJcbiAgICBmdy1ib2xkOiA3MDAsXHJcbiAgICBmdy1leHRyYWJvbGQ6IDgwMCxcclxuICAgIGZ3LWJsYWNrOiA5MDBcclxuKTtcclxuQGVhY2ggJGlkLCAkdmFsdWUgaW4gJGZvbnRfd2VpZ2h0cyB7XHJcbiAgICAuI3skaWR9e1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkdmFsdWUgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbiR0ZXh0X2NvbG9yczogKFxyXG4gICAgdGV4dC1wcmltYXJ5OiAkY29sb3ItcHJpbWFyeSxcclxuICAgIHRleHQtc2Vjb25kYXJ5OiAkY29sb3Itc2Vjb25kYXJ5LFxyXG4gICAgdGV4dC1kYXJrOiAkY29sb3ItZGFyayxcclxuICAgIHRleHQtd2hpdGU6ICRjb2xvci13aGl0ZVxyXG4pO1xyXG5AZWFjaCAkaWQsICR2YWx1ZSBpbiAkdGV4dF9jb2xvcnMge1xyXG4gICAgLiN7JGlkfXtcclxuICAgICAgICBjb2xvcjogJHZhbHVlICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4kYmFja2dyb3VuZF9jb2xvcnM6IChcclxuICAgIGJjLXByaW1hcnk6ICRjb2xvci1wcmltYXJ5LFxyXG4gICAgYmMtc2Vjb25kYXJ5OiAkY29sb3Itc2Vjb25kYXJ5LFxyXG4gICAgYmMtZGFyazogJGNvbG9yLWRhcmtcclxuKTtcclxuQGVhY2ggJGlkLCAkdmFsdWUgaW4gJGJhY2tncm91bmRfY29sb3JzIHtcclxuICAgIC4jeyRpZH17XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHZhbHVlICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5AZm9yICRpIGZyb20gMSB0aHJvdWdoIDIwe1xyXG4gICAgLm9yZGVyLSN7JGl9e1xyXG4gICAgICAgIG9yZGVyOiAjeyRpfSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLyogTW9iaWxlIHRvIERlc2t0b3BcclxuKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbkBpbmNsdWRlIG1lZGlhKG1pbi13aWR0aCwgMTAyNHB4KXtcclxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMjB7XHJcbiAgICAgICAgLm9yZGVyLWxnLSN7JGl9e1xyXG4gICAgICAgICAgICBvcmRlcjogI3skaX0gIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKiBEZXNrdG9wIHRvIE1vYmlsZVxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuQGluY2x1ZGUgbWVkaWEobWF4LXdpZHRoLCAxNTM2cHgpe1xyXG4gICAgLnRleHQtbGFyZ2V7IGZvbnQtc2l6ZTogMjRweCB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCwgMTAyM3B4KXtcclxuICAgIC50ZXh0LWxhcmdleyBmb250LXNpemU6IDIxcHggfVxyXG59IiwiLmNpcmNsZV9saXN0IHtcclxuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICAgIG1hcmdpbjogMCAwIDI1cHggMzBweDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cclxuICAgIGxpe1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuXHJcbiAgICAgICAgJjpiZWZvcmV7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgd2lkdGg6IDE1cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTVweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXByaW1hcnk7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiA1cHg7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwcHggMXB4ICRjb2xvci1saWdodDtcclxuICAgICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgJGNvbG9yLXdoaXRlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDo3NjdweCkge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4ud2JnIHtcclxuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWcvYmctbG9nby5wbmcpIG5vLXJlcGVhdCBjZW50ZXIgLyAxMDAlIDEwMCU7XHJcbiAgICB3aWR0aDogNTY0cHg7XHJcbiAgICBtYXJnaW46MCBhdXRvIDMwcHg7XHJcbiAgICBwYWRkaW5nOjE1cHggNyUgMTBweDtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuXHJcbiAgICBpbWcge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgICYuc2tldyB7XHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXdZKC02ZGVnKTtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgbWFyZ2luOiAxNXB4IDA7XHJcblxyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBza2V3WSg2ZGVnKTtcclxuICAgICAgICAgICAgICAgIC8vbWFyZ2luOiAtMzBweCAwO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAtNS41JSAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5za2V3eCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9iZy1sb2dvMi5wbmcpO1xyXG4gICAgICAgIHBhZGRpbmc6IDclIDEwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcclxuICAgICAgICBcclxuICAgIC5zY3JvbGwtb2Zmc2V0IHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBwYWRkaW5nLXRvcDogOTBweDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAtOTBweDtcclxuICAgIH1cclxufSIsIkBpbmNsdWRlIGtleWZyYW1lcyhoZWFydEJlYXQpe1xyXG4gICAgMCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgfVxyXG5cclxuICAgIDE0JSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xyXG4gICAgfVxyXG5cclxuICAgIDI4JSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICB9XHJcblxyXG4gICAgNDIlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4zKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7XHJcbiAgICB9XHJcblxyXG4gICAgNzAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbkBpbmNsdWRlIGtleWZyYW1lcyhoZWFkZXJJbil7XHJcbiAgICBmcm9te1xyXG4gICAgICAgIHRvcDogLTEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgdG97XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBrZXlmcmFtZXMoZm9ybUluKXtcclxuICAgIGZyb217XHJcbiAgICAgICAgdG9wOiAtMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICB0b3tcclxuICAgICAgICB0b3A6IDE0MHB4O1xyXG4gICAgfVxyXG59IiwiLmhlYWRlciAudG9wYmFyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMxOTE5MTk7XHJcbiAgXHJcbiAgICAuY29udGFjdC1uYXYgbGkgYSB7XHJcbiAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XHJcbiAgICAgIHBhZGRpbmc6IDAuN3JlbSAwO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICAucGFnZS1jb250ZW50IHtcclxuICAgIHBhZGRpbmc6IDgwcHggMDtcclxuICB9XHJcblxyXG5cclxuLyoqKiBGT09URVIgcmV2aWV3cy1sYW5kZXIgKiovXHJcbi5yZXZpZXdzLWxhbmRlciB7XHJcbiAgICBcclxuICAjZm9vdGVye1xyXG4gICAgcGFkZGluZy10b3A6IDgwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2JnLWZvb3Rlci1zbGMyLmpwZykgbm8tcmVwZWF0IGNlbnRlciB0b3AgLyBjb3ZlcjtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICBcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICB0b3A6MDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgei1pbmRleDogLTFcclxuICAgIH1cclxuICAgIFxyXG4gICAgLmZvb3RfdG9we1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICAgICAgaDJ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNDVweDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzM7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZm9vdF9taWRkbGV7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuICAgICAgICBcclxuICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNTAwcHg7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaW1ne1xyXG4gICAgICAgICAgICBtYXJnaW46IDQwcHggMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgIH1cclxuXHJcbiAgICAuZm9vdF9ib3R0b217XHJcbiAgICB9XHJcblxyXG4gICAgLmZvb3RfY29udGFjdHtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG5cclxuICAgICAgICBsaXtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMThweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5waG9uZXtcclxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYXtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzVweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zNDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjYmFlNGZmO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5hZGRyZXNze1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZW1haWx7XHJcbiAgICAgICAgICAgIGF7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogODAwO1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDQ7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zZXJpYWx7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcclxuICAgICAgICAgICAgY29sb3I6ICNiYWU0ZmY7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5mb3JtX2JveCB7XHJcbiAgICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5jb3B5cmlnaHR7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIHBhZGRpbmc6IDI1cHggMDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHJcbiAgICAgICAgcHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzcGFue1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICBhe1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEobWF4LXdpZHRoLCAxNTM2cHgpe1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCwgMTAyM3B4KXtcclxuICAgICAgICAuY29weXJpZ2h0IHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCwgNjM5cHgpe1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcclxuICAgICAgICBwYWRkaW5nLXRvcDogNDBweDtcclxuXHJcbiAgICAgICAgLmZvb3RfdG9we1xyXG4gICAgICAgICAgICBoMntcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzZweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmZvb3RfYm90dG9te1xyXG4gICAgICAgICAgICAuZi1jb3B5cmlnaHR7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICAgICAgcHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBcclxufSIsIi8vLy8gZ2xvYmFsIHN0eWxlc1xyXG5AaW1wb3J0IFwibWFpblwiO1xyXG5cclxuI2hlYWRlcntcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHotaW5kZXg6IDk5OTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgei1pbmRleDogOTk5ODtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcclxuXHJcblxyXG4gICAgJi5maXhlZHtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDFweCA1cHggMXB4IHJnYmEoMCwwLDAsLjEpO1xyXG4gICAgICAgIFxyXG4gICAgICAgIC5uYXZiYXJ7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6MTBweCAwO1xyXG5cclxuICAgICAgICAgICAgLmJyYW5kIHtcclxuXHJcbiAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDYwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJiArICoge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAxNTBweDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLm5hdmJhcntcclxuICAgICAgICBwYWRkaW5nOjMwcHggMDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xyXG5cclxuICAgICAgICAuY2VsbDpmaXJzdC1jaGlsZHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmNlbGw6bGFzdC1jaGlsZHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5icmFuZHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblxyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDkwcHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gXHJcblxyXG4gICAgICAgIC5oZWFkZXItcGhvbmV7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1kYXJrO1xyXG4gICAgICAgICAgICAucGhvbmV7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZXtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmhlYWRlci1uYXZ7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgICAgIHVsLm1lbnV7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgZmxleC1mbG93OiB3cmFwO1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcblxyXG4gICAgICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgbGl7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICBhe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWRhcms7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAxNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6Zm9jdXMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG5cclxuICAgICAgICAgICAgICAgICAgICAmLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGF7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLnN1Ym1lbnUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiA0NXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogNXB4IHNvbGlkICRjb2xvci1zZWNvbmRhcnk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDUwMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZSBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjkwcHg7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IGxpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IGF7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzcwNzA3MCFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMjBweCAzMHB4IWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlcntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICM3MDcwNzAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPiBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4xNDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzcwNzA3MCFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgICAgICAgICAuY3Rhe1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDI4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZy1mb250LWZhbWlseTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDM1cHggOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMjM4ZW07XHJcbiAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1wcmltYXJ5O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKC0xOGRlZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjokY29sb3Itd2hpdGU7IFxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGNvbG9yLXNlY29uZGFyeSwgMC44KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuaGVhZGVyLW5hdi10b2dnbGVye1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB3aWR0aDogNTBweDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMCAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG5cclxuICAgICAgICAgICAgc3BhbntcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICRjb2xvci1kYXJrO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IDAuM3MgZWFzZSBhbGw7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTBweCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgICAgICBzcGFue1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvci1kYXJrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCwgMTQxMHB4KXtcclxuICAgICAgICArICoge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTIwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubmF2YmFye1xyXG4gICAgICAgICAgICAuYnJhbmR7ICAgIFxyXG4gICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA2MHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuaGVhZGVyLW5hdiB7XHJcblxyXG4gICAgICAgICAgICAgICAgdWwubWVudSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLmN0YXsgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6MTJweCAyNXB4IDhweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgXHJcbiAgICBAaW5jbHVkZSBtZWRpYShtYXgtd2lkdGgsIDEyMDBweCl7XHJcbiAgICAgICAgLm5hdmJhcntcclxuXHJcbiAgICAgICAgICAgIC5oZWFkZXItbmF2e1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAxMHB4O1xyXG5cclxuICAgICAgICAgICAgICAgIHVsLm1lbnV7XHJcbiAgICAgICAgICAgICAgICAgICAgbGl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGF7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOjEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIC5jdGF7ICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOjEycHggMjBweCA4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCwgMTAyM3B4KXtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG5cclxuICAgICAgICArICoge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogODBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5uYXZiYXJ7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgICAgICBcclxuICAgICAgICAgICAgLmJyYW5ke1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgICAgICAgICAgICAgJi5saWdodHsgZGlzcGxheTogbm9uZSB9XHJcbiAgICAgICAgICAgICAgICAmLmRhcmt7IGRpc3BsYXk6IGlubGluZS1ibG9jayB9XHJcblxyXG4gICAgICAgICAgICAgICAgaW1ne1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDYwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5oZWFkZXItbmF2e1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmhlYWRlci1uYXYtdG9nZ2xlcntcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgI2hlYWRlci1uYXYtbW9iaWxlIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB0b3A6IDgwcHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSA4MHB4KTtcclxuXHJcbiAgICAgICAgICAgICYuZml4ZWR7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5tb2JpbGUtbWVudS13cmFwIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAkY29sb3ItZGFyaztcclxuXHJcbiAgICAgICAgICAgICAgICAuaC1saW5rc3tcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGxpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAgJGNvbG9yLWRhcms7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1kYXJrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAuYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAxNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmgtbG93ZXItd3JhcHtcclxuICAgICAgICAgICAgICAgICAgICAuaC1jb250YWN0e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5tbS1waG9uZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgLm1tLWFkZHJlc3N7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogODAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZGFyaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDBweCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5tbS1lbWFpbHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogODAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZGFyaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAubW0tc2VyaWFse1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZGFyaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAuaC1ib3R0b20tbGluay5jdGF7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxOHB4IDM1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCwgNjM5cHgpe1xyXG4gICAgICAgIC5ncmlkLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5uYXZiYXIge1xyXG4gICAgICAgICAgICAuYnJhbmQge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDE1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbi5zZWNfaGVyb3tcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAuYmFubmVyIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjVweDtcclxuICAgIH1cclxuXHJcbiAgICAubWVkaWEge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyNXB4KTtcclxuICAgICAgICAvL3dpZHRoOiA1OC4zMzMzMyU7XHJcbiAgICAgICAgd2lkdGg6IDQ2JTtcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICAgICAgID4gaW1nLCB2aWRlbywgLmhlcm9faW1nIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICAgICAgICAgIG9iamVjdC1wb3NpdGlvbjogdG9wO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmJ0bl9wbGF5IHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICByaWdodDogMzBweDtcclxuICAgICAgICAgICAgYm90dG9tOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuY2FwdGlvbiB7XHJcbiAgICAgICAgcGFkZGluZzogMTMwcHggMCAxMDBweCBjYWxjKCgxMDB2dyAtIDE0MTBweCkgLyAyKTtcclxuICAgICAgICB3aWR0aDogNTguMzMzMzMlO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB6LWluZGV4OiAyO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcblxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICByaWdodDogLTExMHB4O1xyXG4gICAgICAgICAgICBib3R0b206IC0yNXB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItcHJpbWFyeTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBza2V3WCgtMThkZWcpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBoMSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTAwcHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGg0IHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiA2MHB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgIC5mZWF0dXJlcyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWZsb3c6IHdyYXA7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogNzBweCAwO1xyXG5cclxuICAgICAgICAuaXRlbSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyMjBweDtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMzBweCAzMHB4O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgICAgICAgICBmaWd1cmUge1xyXG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogMTA1cHg7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaDMge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA0MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOjE0MTBweCkge1xyXG4gICAgICAgIC5jYXB0aW9uIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xyXG5cclxuICAgICAgICAgICAgaDEge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA4NXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGg0IHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNDVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDoxMDIzcHgpIHtcclxuICAgICAgICAuY2FwdGlvbiB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcclxuXHJcbiAgICAgICAgICAgIGgxIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBoNCB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDM1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5mZWF0dXJlcyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG5cclxuICAgICAgICAgICAgLml0ZW0ge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE4MHB4O1xyXG5cclxuICAgICAgICAgICAgICAgIGgzIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDMycHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6NzY3cHgpIHtcclxuICAgICAgICAubWVkaWEge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDMyMHB4O1xyXG5cclxuICAgICAgICAgICAgLmJ0bl9wbGF5IHtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDcwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNhcHRpb24ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAzNXB4IDMwcHggMDtcclxuICAgICAgICAgICAgbWFyZ2luOi0xMHB4IDAgMDtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogLTE1cHg7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaDEge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA0NXB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBoNCB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4uc2VjX3NlcnZpY2VzIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICBwYWRkaW5nOiAyNTBweCAwIDA7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgaDIge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTIwcHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcblxyXG4gICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgaDMge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogNjBweDtcclxuICAgIH1cclxuXHJcbiAgICAuYmcge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIHRvcDowO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLnNlcnZpY2VfaGVhZCB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcclxuICAgICAgICBtYXgtd2lkdGg6IDEyMDBweDtcclxuICAgICAgICBtYXJnaW46MCBhdXRvXHJcbiAgICB9XHJcblxyXG4gICAgLnNlcnZpY2VfaXRlbXMge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIH1cclxuXHJcbiAgICAuc2VydmljZV9ib3gge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1zZWNvbmRhcnk7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcclxuICAgICAgICBwYWRkaW5nOiA0MHB4IDIwcHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcblxyXG4gICAgICAgID4gKjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGZpZ3VyZSB7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDYwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyIDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGg0IHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDoxNjAwcHgpIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMTIlO1xyXG5cclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOjEzNjZweCkge1xyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiA4MHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaDMge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDQ1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6MTAyM3B4KSB7XHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDU1cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6NzY3cHgpIHtcclxuXHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDQycHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5iZyB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5zZXJ2aWNlX2hlYWQge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWRhcms7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLnNlY19hYm91dCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBwYWRkaW5nOiA5MHB4IDA7XHJcblxyXG4gICAgXHJcbiAgICAuYm9yZGVyZWQge1xyXG4gICAgICAgIHBhZGRpbmc6IDQwcHggNTBweDtcclxuICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAkY29sb3ItbGlnaHQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAzNHB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xyXG5cclxuICAgICAgICBhLCBzcGFuIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1kYXJrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDoxMDIzcHgpIHtcclxuICAgICAgICBwYWRkaW5nOiA1MHB4IDA7XHJcblxyXG4gICAgICAgIC5ib3JkZXJlZCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6MzBweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOjYzOXB4KSB7XHJcbiAgICAgICAgLmJvcmRlcmVkIHtcclxuICAgICAgICAgICAgcGFkZGluZzoyMHB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY29weSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4uc2VjX3ByaWNpbmcge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcGFkZGluZzogMjgwcHggMCAyMDBweDtcclxuICAgIHotaW5kZXg6IDE7XHJcblxyXG4gICAgLmJnIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICB0b3A6MDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5wcmljaW5nX2JveCB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1wcmltYXJ5O1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcbiAgICAgICAgcGFkZGluZzogNTBweDtcclxuICAgICAgICBtaW4taGVpZ2h0OiA0ODBweDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZmxvdzogd3JhcDtcclxuICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG5cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgIGJvcmRlcjoxcHggc29saWQgJGNvbG9yLWxpZ2h0O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDI1cHg7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAyNXB4O1xyXG4gICAgICAgICAgICB0b3A6IDI1cHg7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMjVweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gKiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaDMge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDYwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDM5MHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDoxMzY2cHgpIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcclxuXHJcbiAgICAgICAgLmJnIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnByaWNpbmdfYm94IHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAzOTBweDtcclxuXHJcbiAgICAgICAgICAgIGgzIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNTBweDtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDozNjlweCkge1xyXG4gICAgICAgIC5wcmljaW5nX2JveCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6NTBweCAzMHB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDMwcHg7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDMwMHB4O1xyXG5cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMTVweDtcclxuICAgICAgICAgICAgICAgIHRvcDogMTVweDtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiAxNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLnNlY19leGNlbGxlbmNlIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGJhY2tncm91bmQ6JGNvbG9yLXdoaXRlIHVybCguLi9pbWcvYmctZXhjZWxsZW5jZS5qcGcpIG5vLXJlcGVhdCBjZW50ZXIgLyAxMDAlO1xyXG4gICAgcGFkZGluZzogMTYwcHggMDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICBoMiB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5leGNlbF9ib3gge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcclxuICAgICAgICBib3gtc2hhZG93OiAwcHggNHB4IDE0cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMDYpO1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDMzNXB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICAgIHBhZGRpbmc6NTBweCAzMHB4O1xyXG5cclxuICAgICAgICBmaWd1cmUge1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxMzBweDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGgzIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAzNHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnk7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDI5MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOjEyODBweCkge1xyXG4gICAgICAgIC5leGNlbF9ib3gge1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAzMDBweDtcclxuICAgICAgICAgICAgcGFkZGluZzo0MHB4IDMwcHg7XHJcblxyXG4gICAgICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOjEwMjNweCkge1xyXG4gICAgICAgIHBhZGRpbmc6IDYwcHggMCAxMDBweDsgXHJcblxyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOjc2N3B4KSB7XHJcbiAgICAgICAgLmV4Y2VsX2JveCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDM1cHggMjBweDtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogMXB4O1xyXG5cclxuICAgICAgICAgICAgaDMge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLnNlY19yZXZpZXdzIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1hcmdpbjogLTYwcHggMCA2MHB4O1xyXG5cclxuICAgIC5xdW90ZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgYm9yZGVyOjA7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgICBtYXgtd2lkdGg6IDUzMHB4O1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItZGFyaztcclxuXHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZGFyaztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNpdGUge1xyXG4gICAgICAgICAgICBib3JkZXI6MDtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBwYWRkaW5nOjAgMCAwIDQ1cHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZGFyazsgXHJcblxyXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMzVweDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICB0b3A6NXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgc21hbGwge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOjEwMjNweCkge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5xdW90ZSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4uc2VjX2N0YSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgcGFkZGluZzogMTYwcHggMCAxMDBweDtcclxuXHJcbiAgICAuYmcge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgei1pbmRleDogLTE7XHJcblxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuY3RhX2JveCB7ICAgICAgICBcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXByaW1hcnk7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcclxuICAgICAgICBwYWRkaW5nOiA1MHB4IDYwcHg7XHJcbiAgICAgICAgbWluLWhlaWdodDogNDgwcHg7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWZsb3c6IHdyYXA7XHJcbiAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBmb250LXNpemU6IDI3cHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuXHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICBib3JkZXI6MXB4IHNvbGlkICRjb2xvci1saWdodDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBsZWZ0OiAyNXB4O1xyXG4gICAgICAgICAgICByaWdodDogMjVweDtcclxuICAgICAgICAgICAgdG9wOiAyNXB4O1xyXG4gICAgICAgICAgICBib3R0b206IDI1cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+ICoge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaDMge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDYwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6MTAyM3B4KSB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6NjM5cHgpIHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuXHJcbiAgICAgICAgLmN0YV9ib3gge1xyXG4gICAgICAgICAgICBwYWRkaW5nOjUwcHggMzBweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxcHg7XHJcblxyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OjE1cHg7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMTVweDtcclxuICAgICAgICAgICAgICAgIHRvcDogMTVweDtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogMTVweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaDMge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA0MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLnNlY19sb2NhdGlvbiB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAxMDBweCAwO1xyXG4gICAgXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDoxMDIzcHgpIHtcclxuICAgICAgICBwYWRkaW5nOiA2MHB4IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4uc2VjX2ZpbmFuY2luZyB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBwYWRkaW5nOiAwIDAgMTAwcHg7XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6MTAyM3B4KSB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi5zZWNfd2h5dXMge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcGFkZGluZzoxMjBweCAwIDIyMHB4O1xyXG4gICAgYmFja2dyb3VuZDokY29sb3Itd2hpdGUgdXJsKC4uL2ltZy9iZy1leGNlbGxlbmNlLmpwZykgbm8tcmVwZWF0IGNlbnRlciAvIDEwMCU7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBcclxuICAgIC53aHl1c19ib3gge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcclxuICAgICAgICBib3gtc2hhZG93OiAwcHggNHB4IDE0cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMDYpO1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDMzNXB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICAgIHBhZGRpbmc6NTBweCAzMHB4O1xyXG5cclxuICAgICAgICBmaWd1cmUge1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxMzBweDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGgzIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAzNHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnk7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDMwMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOjEzNjZweCkge1xyXG4gICAgICAgIC53aHl1c19ib3gge1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAzMDBweDtcclxuICAgICAgICAgICAgcGFkZGluZzo0MHB4IDIwcHg7XHJcblxyXG4gICAgICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDoxMDIzcHgpIHtcclxuICAgICAgICBwYWRkaW5nOiAwIDAgMTAwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6NzY3cHgpIHtcclxuICAgICAgICBwYWRkaW5nOiAwIDAgNjBweDtcclxuXHJcbiAgICAgICAgLndoeXVzX2JveCB7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDFweDtcclxuXHJcbiAgICAgICAgICAgIGZpZ3VyZSB7XHJcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAxcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zZWNfYWlyY29uIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHBhZGRpbmc6MCAwIDEwMHB4O1xyXG5cclxuICAgIC5zaWRlbmF2IHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGU7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWxpZ2h0O1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDBweCA0cHggMTRweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4wNik7XHJcbiAgICAgICAgcGFkZGluZzogMjBweCAyMHB4IDEwcHg7XHJcbiAgICAgICAgbWFyZ2luOiAwIDQwcHggMCAwO1xyXG5cclxuICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDEwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG5cclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICAgICAgICAgICsgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3ItbGlnaHQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOjE1cHggMTBweDtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMjtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogLTMwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAtMzBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOi0xcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogLTFweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXByaW1hcnk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmNvcHkge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnk7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC50YWJzLWNvbnRlbnQge1xyXG4gICAgICAgIGJvcmRlcjowO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1kYXJrO1xyXG4gICAgfVxyXG4gICAgLnRhYnMtcGFuZWwge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6MTAyM3B4KSB7XHJcbiAgICAgICAgLnNpZGVuYXYge21hcmdpbjogMCAwIDMwcHg7fVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDo3NjdweCkge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMCA2MHB4O1xyXG5cclxuICAgIH1cclxufVxyXG5cclxuLnNlY19jb250YWN0IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICBwYWRkaW5nOiAyMDBweCAwIDMwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmJmYmZiO1xyXG5cclxuICAgIGhncm91cCB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA1OTBweDtcclxuICAgICAgICBtYXJnaW46MCBhdXRvIDUwcHg7XHJcblxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWRhcms7XHJcblxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYmcge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5mb3JtX2JveCB7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcblxyXG4gICAgICAgIGRpdi5nZm9ybV9maWVsZHMge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWZsb3c6IHdyYXA7XHJcbiAgICAgICAgICAgIG1hcmdpbjowIC0xNXB4O1xyXG4gICAgICAgICAgICBncmlkLWNvbHVtbi1nYXA6IDA7XHJcbiAgICAgICAgICAgIGdyaWQtcm93LWdhcDogMDtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcblxyXG4gICAgICAgICAgICAuZ2ZpZWxkIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzowIDE1cHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG5cclxuICAgICAgICAgICAgICAgICYuZ2hhbGYge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLnRleHRhcmVhIHtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE0NXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuZ2ZpZWxkX2xhYmVsIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5nZm9ybV9mb290ZXIgIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6NzY3cHgpIHtcclxuICAgICAgICBwYWRkaW5nOiAxMDBweCAwIDMwcHg7XHJcblxyXG4gICAgICAgIGhncm91cCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDo2MzlweCkge1xyXG4gICAgICAgIC5mb3JtX2JveCB7XHJcblxyXG4gICAgICAgICAgICBkaXYuZ2Zvcm1fZmllbGRzIC5nZmllbGQuZ2hhbGYge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4uc2VjX21vZGVsIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHBhZGRpbmc6IDUwcHggMCAxMDBweDtcclxuXHJcbiAgICBoMiB7XHJcbiAgICAgICAgbWFyZ2luOjA7XHJcbiAgICB9XHJcbn0gXHJcblxyXG5cclxuLnN0aWNreV9jdGEge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yLWJsYWNrO1xyXG4gICAgcGFkZGluZzogMTBweCAxNXB4O1xyXG4gICAgei1pbmRleDogOTk5O1xyXG5cclxuICAgIC5idXR0b24ge1xyXG4gICAgICAgIG1hcmdpbjowO1xyXG4gICAgICAgIC8vIHBhZGRpbmc6IDEwcHggNDBweCA1cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XHJcblxyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggNDBweDtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiTGF0b1wiLCBzYW5zLXNlcmlmO1xyXG5cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuIFxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6NjM5cHgpIHtcclxuICAgICAgICAuYnV0dG9uIHtcclxuICAgICAgICAgICAgLy8gcGFkZGluZzoxMHB4IDIwcHggNXB4O1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgcGFkZGluZzogOHB4IDIwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuI2Zvb3RlcntcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0ei1pbmRleDogMTtcclxuICAgIHBhZGRpbmc6MCAwIDUwcHg7XHJcblxyXG4gICAgLmZvb3RfdG9we1xyXG4gICAgICAgIHBhZGRpbmc6IDEwMHB4IDAgNTBweDtcclxuXHJcbiAgICAgICAgaDJ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNDVweDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzM7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBoNSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmZvb3RfaW5mbyB7fVxyXG5cclxuICAgIC5mb290X2xpbmtzIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyBcclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzowO1xyXG5cclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZm9vdF9zb2NpYWwge1xyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgbWFyZ2luOjUwcHggLTNweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuXHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46MCAzcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmZvb3RfbG9nbyB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcclxuICAgIH1cclxuXHJcbiAgICAuZm9vdF9waG9uZSB7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAwIDA7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogNDBweDtcclxuICAgICAgICBmb250LWZhbWlseTogJGhlYWRpbmctZm9udC1mYW1pbHk7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDlweDtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAuZm9vdF9ib3R0b217XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWJsYWNrO1xyXG4gICAgICAgIHBhZGRpbmc6IDM1cHggMDtcclxuICAgIH1cclxuXHJcbiAgICBcclxuICAgIFxyXG4gICAgLmNvcHlyaWdodHtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcclxuXHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDoxMzY2cHgpIHtcclxuICAgICAgICAuZm9vdF9waG9uZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6MTAyM3B4KSB7XHJcbiAgICAgICAgLmZvb3RfdG9wIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDYwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuZm9vdF9sb2dvIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZm9vdF9waG9uZSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5mb290X3NvY2lhbCB1bCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5mb290X2JvdHRvbSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDo3NjdweCkge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxufSJdfQ== */
