@import url("https://fonts.googleapis.com/css?family=Host+Grotesk:400,500,700&display=swap");
/**
 * Foundation for Sites by ZURB
 * Version 6.5.3
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
/*! 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=40em&large=64em&xlarge=75em&xxlarge=90em"; }

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: "Host Grotesk", Helvetica, Arial, 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; }

.row {
  max-width: 89rem;
  margin-right: auto;
  margin-left: auto;
  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; }
  .row .row {
    margin-right: -0.625rem;
    margin-left: -0.625rem; }
    @media print, screen and (min-width: 40em) {
      .row .row {
        margin-right: -0.8125rem;
        margin-left: -0.8125rem; } }
    @media print, screen and (min-width: 64em) {
      .row .row {
        margin-right: -0.8125rem;
        margin-left: -0.8125rem; } }
    .row .row.collapse {
      margin-right: 0;
      margin-left: 0; }
  .row.expanded {
    max-width: none; }
    .row.expanded .row {
      margin-right: auto;
      margin-left: auto; }
  .row:not(.expanded) .row {
    max-width: none; }
  .row.collapse > .column, .row.collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .row.is-collapse-child,
  .row.collapse > .column > .row,
  .row.collapse > .columns > .row {
    margin-right: 0;
    margin-left: 0; }

.column, .columns {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  min-width: 0; }
  @media print, screen and (min-width: 40em) {
    .column, .columns {
      padding-right: 0.8125rem;
      padding-left: 0.8125rem; } }

.column.row.row, .row.row.columns {
  float: none;
  display: block; }

.row .column.row.row, .row .row.row.columns {
  margin-right: 0;
  margin-left: 0;
  padding-right: 0;
  padding-left: 0; }

.small-1 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 8.33333%;
          flex: 0 0 8.33333%;
  max-width: 8.33333%; }

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

.small-2 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 16.66667%;
          flex: 0 0 16.66667%;
  max-width: 16.66667%; }

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

.small-3 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
  max-width: 25%; }

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

.small-4 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 33.33333%;
          flex: 0 0 33.33333%;
  max-width: 33.33333%; }

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

.small-5 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 41.66667%;
          flex: 0 0 41.66667%;
  max-width: 41.66667%; }

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

.small-6 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
  max-width: 50%; }

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

.small-7 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 58.33333%;
          flex: 0 0 58.33333%;
  max-width: 58.33333%; }

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

.small-8 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 66.66667%;
          flex: 0 0 66.66667%;
  max-width: 66.66667%; }

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

.small-9 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 75%;
          flex: 0 0 75%;
  max-width: 75%; }

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

.small-10 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 83.33333%;
          flex: 0 0 83.33333%;
  max-width: 83.33333%; }

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

.small-11 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 91.66667%;
          flex: 0 0 91.66667%;
  max-width: 91.66667%; }

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

.small-12 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  max-width: 100%; }

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

.small-up-1 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .small-up-1 > .column, .small-up-1 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }

.small-up-2 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .small-up-2 > .column, .small-up-2 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; }

.small-up-3 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .small-up-3 > .column, .small-up-3 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; }

.small-up-4 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .small-up-4 > .column, .small-up-4 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%; }

.small-up-5 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .small-up-5 > .column, .small-up-5 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 20%;
            flex: 0 0 20%;
    max-width: 20%; }

.small-up-6 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .small-up-6 > .column, .small-up-6 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%; }

.small-up-7 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .small-up-7 > .column, .small-up-7 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 14.28571%;
            flex: 0 0 14.28571%;
    max-width: 14.28571%; }

.small-up-8 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .small-up-8 > .column, .small-up-8 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 12.5%;
            flex: 0 0 12.5%;
    max-width: 12.5%; }

.small-collapse > .column, .small-collapse > .columns {
  padding-right: 0;
  padding-left: 0; }

.small-uncollapse > .column, .small-uncollapse > .columns {
  padding-right: 0.625rem;
  padding-left: 0.625rem; }

@media print, screen and (min-width: 40em) {
  .medium-1 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 8.33333%;
            flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .medium-offset-0 {
    margin-left: 0%; }
  .medium-2 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .medium-offset-1 {
    margin-left: 8.33333%; }
  .medium-3 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%; }
  .medium-offset-2 {
    margin-left: 16.66667%; }
  .medium-4 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .medium-offset-3 {
    margin-left: 25%; }
  .medium-5 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 41.66667%;
            flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .medium-offset-4 {
    margin-left: 33.33333%; }
  .medium-6 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; }
  .medium-offset-5 {
    margin-left: 41.66667%; }
  .medium-7 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 58.33333%;
            flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .medium-offset-6 {
    margin-left: 50%; }
  .medium-8 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 66.66667%;
            flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .medium-offset-7 {
    margin-left: 58.33333%; }
  .medium-9 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%; }
  .medium-offset-8 {
    margin-left: 66.66667%; }
  .medium-10 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 83.33333%;
            flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .medium-offset-9 {
    margin-left: 75%; }
  .medium-11 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 91.66667%;
            flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .medium-offset-10 {
    margin-left: 83.33333%; }
  .medium-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  .medium-offset-11 {
    margin-left: 91.66667%; }
  .medium-up-1 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .medium-up-1 > .column, .medium-up-1 > .columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      max-width: 100%; }
  .medium-up-2 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .medium-up-2 > .column, .medium-up-2 > .columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 50%;
              flex: 0 0 50%;
      max-width: 50%; }
  .medium-up-3 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .medium-up-3 > .column, .medium-up-3 > .columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 33.33333%;
              flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .medium-up-4 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .medium-up-4 > .column, .medium-up-4 > .columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 25%;
              flex: 0 0 25%;
      max-width: 25%; }
  .medium-up-5 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .medium-up-5 > .column, .medium-up-5 > .columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 20%;
              flex: 0 0 20%;
      max-width: 20%; }
  .medium-up-6 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .medium-up-6 > .column, .medium-up-6 > .columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 16.66667%;
              flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .medium-up-7 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .medium-up-7 > .column, .medium-up-7 > .columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 14.28571%;
              flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .medium-up-8 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .medium-up-8 > .column, .medium-up-8 > .columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 12.5%;
              flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media print, screen and (min-width: 40em) and (min-width: 40em) {
  .medium-expand {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; } }

.row.medium-unstack > .column, .row.medium-unstack > .columns {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%; }
  @media print, screen and (min-width: 40em) {
    .row.medium-unstack > .column, .row.medium-unstack > .columns {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }

@media print, screen and (min-width: 40em) {
  .medium-collapse > .column, .medium-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .medium-uncollapse > .column, .medium-uncollapse > .columns {
    padding-right: 0.8125rem;
    padding-left: 0.8125rem; } }

@media print, screen and (min-width: 64em) {
  .large-1 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 8.33333%;
            flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .large-offset-0 {
    margin-left: 0%; }
  .large-2 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .large-offset-1 {
    margin-left: 8.33333%; }
  .large-3 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%; }
  .large-offset-2 {
    margin-left: 16.66667%; }
  .large-4 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .large-offset-3 {
    margin-left: 25%; }
  .large-5 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 41.66667%;
            flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .large-offset-4 {
    margin-left: 33.33333%; }
  .large-6 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; }
  .large-offset-5 {
    margin-left: 41.66667%; }
  .large-7 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 58.33333%;
            flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .large-offset-6 {
    margin-left: 50%; }
  .large-8 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 66.66667%;
            flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .large-offset-7 {
    margin-left: 58.33333%; }
  .large-9 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%; }
  .large-offset-8 {
    margin-left: 66.66667%; }
  .large-10 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 83.33333%;
            flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .large-offset-9 {
    margin-left: 75%; }
  .large-11 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 91.66667%;
            flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .large-offset-10 {
    margin-left: 83.33333%; }
  .large-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  .large-offset-11 {
    margin-left: 91.66667%; }
  .large-up-1 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .large-up-1 > .column, .large-up-1 > .columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      max-width: 100%; }
  .large-up-2 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .large-up-2 > .column, .large-up-2 > .columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 50%;
              flex: 0 0 50%;
      max-width: 50%; }
  .large-up-3 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .large-up-3 > .column, .large-up-3 > .columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 33.33333%;
              flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .large-up-4 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .large-up-4 > .column, .large-up-4 > .columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 25%;
              flex: 0 0 25%;
      max-width: 25%; }
  .large-up-5 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .large-up-5 > .column, .large-up-5 > .columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 20%;
              flex: 0 0 20%;
      max-width: 20%; }
  .large-up-6 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .large-up-6 > .column, .large-up-6 > .columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 16.66667%;
              flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .large-up-7 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .large-up-7 > .column, .large-up-7 > .columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 14.28571%;
              flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .large-up-8 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .large-up-8 > .column, .large-up-8 > .columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 12.5%;
              flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media print, screen and (min-width: 64em) and (min-width: 64em) {
  .large-expand {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; } }

.row.large-unstack > .column, .row.large-unstack > .columns {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%; }
  @media print, screen and (min-width: 64em) {
    .row.large-unstack > .column, .row.large-unstack > .columns {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }

@media print, screen and (min-width: 64em) {
  .large-collapse > .column, .large-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .large-uncollapse > .column, .large-uncollapse > .columns {
    padding-right: 0.8125rem;
    padding-left: 0.8125rem; } }

.shrink {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  max-width: 100%; }

.column-block {
  margin-bottom: 1.25rem; }
  .column-block > :last-child {
    margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .column-block {
      margin-bottom: 1.625rem; }
      .column-block > :last-child {
        margin-bottom: 0; } }

.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: 40em) {
  .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; } }

.button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  padding: 0.85em 1em;
  border: 1px solid transparent;
  border-radius: 0;
  -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;
  font-size: 1rem;
  -webkit-appearance: none;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #EFE400;
  color: #fefefe; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button:hover, .button:focus {
    background-color: #cbc200;
    color: #fefefe; }
  .button.tiny {
    font-size: 0.6rem; }
  .button.small {
    font-size: 0.75rem; }
  .button.large {
    font-size: 1.25rem; }
  .button.expanded {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0; }
  .button.primary {
    background-color: #EFE400;
    color: #0a0a0a; }
    .button.primary:hover, .button.primary:focus {
      background-color: #bfb600;
      color: #0a0a0a; }
  .button.secondary {
    background-color: #767676;
    color: #fefefe; }
    .button.secondary:hover, .button.secondary:focus {
      background-color: #5e5e5e;
      color: #fefefe; }
  .button.success {
    background-color: #3adb76;
    color: #0a0a0a; }
    .button.success:hover, .button.success:focus {
      background-color: #22bb5b;
      color: #0a0a0a; }
  .button.warning {
    background-color: #ffae00;
    color: #0a0a0a; }
    .button.warning:hover, .button.warning:focus {
      background-color: #cc8b00;
      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: #EFE400;
      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: #EFE400;
        color: #0a0a0a; }
    .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: #767676;
        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: #ffae00;
        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 #EFE400;
    color: #EFE400; }
    .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: #787200;
      color: #787200; }
      .button.hollow:hover.disabled, .button.hollow:hover[disabled], .button.hollow:focus.disabled, .button.hollow:focus[disabled] {
        border: 1px solid #EFE400;
        color: #EFE400; }
    .button.hollow.primary {
      border: 1px solid #EFE400;
      color: #EFE400; }
      .button.hollow.primary:hover, .button.hollow.primary:focus {
        border-color: #787200;
        color: #787200; }
        .button.hollow.primary:hover.disabled, .button.hollow.primary:hover[disabled], .button.hollow.primary:focus.disabled, .button.hollow.primary:focus[disabled] {
          border: 1px solid #EFE400;
          color: #EFE400; }
    .button.hollow.secondary {
      border: 1px solid #767676;
      color: #767676; }
      .button.hollow.secondary:hover, .button.hollow.secondary:focus {
        border-color: #3b3b3b;
        color: #3b3b3b; }
        .button.hollow.secondary:hover.disabled, .button.hollow.secondary:hover[disabled], .button.hollow.secondary:focus.disabled, .button.hollow.secondary:focus[disabled] {
          border: 1px solid #767676;
          color: #767676; }
    .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 #ffae00;
      color: #ffae00; }
      .button.hollow.warning:hover, .button.hollow.warning:focus {
        border-color: #805700;
        color: #805700; }
        .button.hollow.warning:hover.disabled, .button.hollow.warning:hover[disabled], .button.hollow.warning:focus.disabled, .button.hollow.warning:focus[disabled] {
          border: 1px solid #ffae00;
          color: #ffae00; }
    .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 #EFE400;
    color: #EFE400; }
    .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: #787200;
      color: #787200; }
      .button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus.disabled, .button.clear:focus[disabled] {
        border: 1px solid #EFE400;
        color: #EFE400; }
    .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 #EFE400;
      color: #EFE400; }
      .button.clear.primary:hover, .button.clear.primary:focus {
        border-color: #787200;
        color: #787200; }
        .button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] {
          border: 1px solid #EFE400;
          color: #EFE400; }
      .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 #767676;
      color: #767676; }
      .button.clear.secondary:hover, .button.clear.secondary:focus {
        border-color: #3b3b3b;
        color: #3b3b3b; }
        .button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] {
          border: 1px solid #767676;
          color: #767676; }
      .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 #ffae00;
      color: #ffae00; }
      .button.clear.warning:hover, .button.clear.warning:focus {
        border-color: #805700;
        color: #805700; }
        .button.clear.warning:hover.disabled, .button.clear.warning:hover[disabled], .button.clear.warning:focus.disabled, .button.clear.warning:focus[disabled] {
          border: 1px solid #ffae00;
          color: #ffae00; }
      .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: 1em; }
  .button.dropdown.hollow::after, .button.dropdown.clear::after {
    border-top-color: #EFE400; }
  .button.dropdown.hollow.primary::after, .button.dropdown.clear.primary::after {
    border-top-color: #EFE400; }
  .button.dropdown.hollow.secondary::after, .button.dropdown.clear.secondary::after {
    border-top-color: #767676; }
  .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: #ffae00; }
  .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;
    font-size: 1rem;
    -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.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: #EFE400;
    color: #0a0a0a; }
    .button-group.primary .button:hover, .button-group.primary .button:focus {
      background-color: #bfb600;
      color: #0a0a0a; }
  .button-group.secondary .button {
    background-color: #767676;
    color: #fefefe; }
    .button-group.secondary .button:hover, .button-group.secondary .button:focus {
      background-color: #5e5e5e;
      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: #ffae00;
    color: #0a0a0a; }
    .button-group.warning .button:hover, .button-group.warning .button:focus {
      background-color: #cc8b00;
      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: 40em) {
    .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: 39.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; } }

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

@media screen and (max-width: 39.99875em) {
  .hide-for-small-only {
    display: none !important; } }

@media screen and (max-width: 0em), screen and (min-width: 40em) {
  .show-for-small-only {
    display: none !important; } }

@media print, screen and (min-width: 40em) {
  .hide-for-medium {
    display: none !important; } }

@media screen and (max-width: 39.99875em) {
  .show-for-medium {
    display: none !important; } }

@media screen and (min-width: 40em) and (max-width: 63.99875em) {
  .hide-for-medium-only {
    display: none !important; } }

@media screen and (max-width: 39.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: 74.99875em) {
  .hide-for-large-only {
    display: none !important; } }

@media screen and (max-width: 63.99875em), screen and (min-width: 75em) {
  .show-for-large-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; } }

.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: 40em) {
  .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; } }

.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: 40em) {
  .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; } }

body {
  color: #000000;
  font-family: "Host Grotesk", Helvetica, Arial, sans-serif;
  font-size: 16px;
  word-spacing: -0.1rem; }
  @media print, screen and (min-width: 64em) {
    body {
      font-size: 18px; } }
  @media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
    body {
      font-size: 16px; } }

h1, h2, h3, h4, h5, h6, p.title {
  color: #00807F;
  font-family: "Host Grotesk", Helvetica, Arial, sans-serif; }

h1, .h1 {
  word-break: break-word;
  word-spacing: -0.4rem; }

h2, .h2 {
  font-size: 2.333333333333333em;
  word-spacing: -0.2rem; }

h3, .h3 {
  font-size: 1.333333333333333em; }

.active-page {
  font-size: 2em;
  line-height: 1.2;
  color: #FFFFFF;
  font-weight: bold;
  margin: 0;
  text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.8); }
  @media print, screen and (min-width: 40em) {
    .active-page {
      font-size: 3em; } }
  @media print, screen and (min-width: 64em) {
    .active-page {
      font-size: 3.888888888888889em; } }

p + ul {
  margin: 2em 0; }

.no-margin {
  margin: 0; }
  .no-margin.no-margin--top {
    margin-top: 0;
    margin-bottom: 1em; }

p.search-results {
  text-align: center;
  font-size: 1.25em; }
  @media print, screen and (min-width: 40em) {
    p.search-results {
      font-size: 1.555555555555556em;
      text-align: left; } }
  p.search-results span, p.search-results a {
    color: #00807F;
    font-weight: bold; }

form.search + p.search-results {
  margin-top: 2em; }

.section a:not(.button):not(.teaser):not(.archive-statistic) {
  color: #00807F;
  text-decoration: underline; }
  .section a:not(.button):not(.teaser):not(.archive-statistic) :hover {
    text-decoration: none; }
  .section a:not(.button):not(.teaser):not(.archive-statistic) :focus {
    color: #00807F; }

hr {
  width: 100%;
  height: 1px;
  background-color: #cccccc;
  border: none;
  margin: 1em 0; }

blockquote {
  border-left: 2px solid #000000;
  padding-left: 1em;
  margin-left: 0; }

.section--links h3 {
  font-size: 1.111111111111111em; }

.sidebar-block h3, .content-block h2 {
  font-size: 1.555555555555556em; }

p.news-intro {
  font-size: 1.333333333333333em;
  color: #00807F; }

div#social-share div.sharethis-inline-share-buttons, div#social-share div.addthis_inline_share_toolbox {
  display: inline-block;
  vertical-align: top; }
  div#social-share div.sharethis-inline-share-buttons #atstbx div.at-share-btn-elements a.at-share-btn, div#social-share div.addthis_inline_share_toolbox #atstbx div.at-share-btn-elements a.at-share-btn {
    padding: 4px; }

div#social-share a.social {
  margin-right: 4px; }
  div#social-share a.social:first-child {
    margin-left: 4px; }

div#social-share a.button--social-share {
  margin: 0; }

div img {
  vertical-align: top; }

img {
  max-width: 100%; }

p:first-child {
  margin-top: 0; }

p.social-share a.social:hover:after, p.social-share a.social:focus:after {
  display: none; }

div.collection-detail-image {
  height: 0;
  padding-bottom: 120%;
  background-color: #E7F1F3; }

.collection-detail-image {
  position: relative; }
  .collection-detail-image:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-image: url("/themes/default/assets/images/template/no-image.svg");
    background-position: center;
    background-repeat: no-repeat;
    opacity: 0.1; }

#header a.logo, #footer .columns.small-6.text-right a.logo {
  position: relative; }
  #header a.logo:hover:after, #header a.logo:focus:after, #footer .columns.small-6.text-right a.logo:hover:after, #footer .columns.small-6.text-right a.logo:focus:after {
    right: 0; }

#main-content div.mi_page_form {
  z-index: 9; }

#main-content div.mi_page_result {
  z-index: 8; }

#readspeaker-container {
  margin-top: 2rem;
  width: 100%; }
  body.page-node-type-news #readspeaker-container {
    margin-bottom: 2rem; }
  #readspeaker-container #readspeaker_button {
    margin-bottom: 0; }

#main-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column; }
  #main-content > * {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; }
  #main-content #readspeaker-container {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
  #main-content .banner {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }

#container {
  margin: 0 auto; }

.row {
  padding-left: 0.625rem;
  padding-right: 0.625rem; }
  @media print, screen and (min-width: 64em) {
    .row {
      max-width: 1420px; } }
  @media (min-device-width: 500px) and (-webkit-min-device-pixel-ratio: 1.5) and (-webkit-min-device-pixel-ratio: 1.5), (min-device-width: 500px) and (-webkit-min-device-pixel-ratio: 1.5) and (min-resolution: 144dpi) {
    .row {
      width: 90%; } }
  .row .row {
    width: auto;
    max-width: none;
    padding-left: 0;
    padding-right: 0; }

#main-content, #sidebar {
  min-height: 400px; }

.content-block {
  margin-bottom: 4vh; }

main .section:last-child:not(#image-library) {
  margin-bottom: 0; }

.row .content {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2; }

.row.sidebar {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1; }

#header {
  background-color: #00807F;
  color: #FFFFFF;
  padding: 1em 0;
  position: relative;
  min-height: 90px; }
  #header .subnav-bg {
    height: 60px;
    width: 100%;
    background: #014D53;
    position: absolute;
    top: 100%;
    z-index: 99;
    max-height: 0px;
    -webkit-transition: all .2s;
    transition: all .2s; }
    body.subnav-is-hovering #header .subnav-bg {
      max-height: 60px; }
  #header a.logo {
    display: inline-block; }
    #header a.logo img {
      vertical-align: top; }
  #header ul#main-menu {
    margin: 0;
    list-style: none;
    padding-left: 0;
    white-space: nowrap; }
    #header ul#main-menu li {
      padding-top: 0.5em; }
      #header ul#main-menu li.menu-item--expanded {
        list-style-image: none;
        list-style-type: none; }
      @media print, screen and (min-width: 64em) {
        #header ul#main-menu li {
          display: inline-block;
          margin-left: 1em;
          padding-top: 0.2em; } }
      #header ul#main-menu li a {
        color: rgba(255, 255, 255, 0.6);
        text-decoration: none;
        font-size: 1.222222222222222em;
        -webkit-transition: all .2s;
        transition: all .2s; }
        #header ul#main-menu li a:hover, #header ul#main-menu li a:focus, #header ul#main-menu li a.active, #header ul#main-menu li a.is-active {
          color: #FFFFFF; }
        #header ul#main-menu li a:focus .ui-close {
          opacity: 1; }
      #header ul#main-menu li ul.menu {
        opacity: 0;
        -webkit-transition: opacity .2s, max-height .2s;
        transition: opacity .2s, max-height .2s;
        pointer-events: none;
        max-height: 0;
        overflow: hidden;
        white-space: nowrap;
        margin: 0; }
        #header ul#main-menu li ul.menu li {
          padding: 0 6px 10px 15px;
          background: #014D53; }
          #header ul#main-menu li ul.menu li:first-child {
            padding-top: 15px;
            margin-top: 15px; }
          #header ul#main-menu li ul.menu li:last-child {
            padding-bottom: 10px;
            margin-bottom: 10px; }
          #header ul#main-menu li ul.menu li a {
            -webkit-transition: all .2s;
            transition: all .2s;
            font-size: 1em; }
            #header ul#main-menu li ul.menu li a.is-active {
              color: #FFFFFF; }
            #header ul#main-menu li ul.menu li a[href^="http://"]:not([href*="archief.venlo"]):after, #header ul#main-menu li ul.menu li a[href^="https://"]:not([href*="archief.venlo"]):after, #header ul#main-menu li ul.menu li a[href^="//"]:not([href*="archief.venlo"]):after, #header ul#main-menu li ul.menu li a a.external:after {
              position: fixed;
              top: 0;
              right: 0; }
        @media print, screen and (min-width: 64em) {
          #header ul#main-menu li ul.menu {
            position: absolute;
            top: 100%;
            z-index: 100;
            margin: 0;
            padding-top: 16px;
            max-width: 1420px;
            height: 75px;
            max-height: 60px;
            overflow-x: auto;
            -webkit-overflow-scrolling: touch; } }
  @media print and (min-device-width: 500px) and (-webkit-min-device-pixel-ratio: 1.5) and (-webkit-min-device-pixel-ratio: 1.5), print and (min-device-width: 500px) and (-webkit-min-device-pixel-ratio: 1.5) and (min-resolution: 144dpi), screen and (min-width: 64em) and (min-device-width: 500px) and (-webkit-min-device-pixel-ratio: 1.5) and (-webkit-min-device-pixel-ratio: 1.5), screen and (min-width: 64em) and (min-device-width: 500px) and (-webkit-min-device-pixel-ratio: 1.5) and (min-resolution: 144dpi) {
    #header ul#main-menu li ul.menu {
      max-width: 90%; } }
        @media print, screen and (min-width: 64em) {
            #header ul#main-menu li ul.menu.set-pos-left {
              left: 50%;
              -webkit-transform: translateX(-50%);
                      transform: translateX(-50%);
              width: 100%;
              padding-left: 22px; }
            #header ul#main-menu li ul.menu li {
              margin: 0 0 0 1em;
              padding: 0;
              background: transparent; }
              #header ul#main-menu li ul.menu li:first-child {
                margin-left: 0; }
              #header ul#main-menu li ul.menu li:first-child, #header ul#main-menu li ul.menu li:last-child {
                padding: 0;
                margin-top: 0;
                margin-bottom: 0; }
              #header ul#main-menu li ul.menu li a {
                font-size: 1em; } }
      #header ul#main-menu li.is-hovering ul.menu {
        opacity: 1;
        pointer-events: auto;
        max-height: 900px; }
      #header ul#main-menu li.is-hovering > a {
        color: #FFFFFF; }
      #header ul#main-menu li.is-hovering .subnav-collapse-ui .ui-close {
        opacity: 1; }
        #header ul#main-menu li.is-hovering .subnav-collapse-ui .ui-close:before {
          -webkit-transform: rotate(90deg);
                  transform: rotate(90deg); }
        #header ul#main-menu li.is-hovering .subnav-collapse-ui .ui-close:after {
          -webkit-transform: rotate(180deg);
                  transform: rotate(180deg); }
      #header ul#main-menu li .subnav-collapse-ui {
        width: 32px;
        height: 32px;
        display: inline-block;
        vertical-align: middle;
        margin-left: 10px;
        position: relative;
        margin-right: -10px;
        cursor: pointer; }
        @media screen and (min-width: 64.0625em) {
          #header ul#main-menu li .subnav-collapse-ui {
            display: none; } }
        #header ul#main-menu li .subnav-collapse-ui .ui-close {
          position: absolute;
          width: 16px;
          height: 16px;
          display: inline-block;
          top: 7px;
          left: 2px;
          opacity: .6;
          /* Vertical line */
          /* horizontal line */ }
          @media print, screen and (min-width: 40em) {
            #header ul#main-menu li .subnav-collapse-ui .ui-close {
              width: 12px;
              height: 12px;
              top: 8px;
              left: 2px; } }
          #header ul#main-menu li .subnav-collapse-ui .ui-close:before, #header ul#main-menu li .subnav-collapse-ui .ui-close:after {
            content: "";
            position: absolute;
            background-color: #ffffff;
            -webkit-transition: -webkit-transform 0.25s ease-out;
            transition: -webkit-transform 0.25s ease-out;
            transition: transform 0.25s ease-out;
            transition: transform 0.25s ease-out, -webkit-transform 0.25s ease-out; }
          #header ul#main-menu li .subnav-collapse-ui .ui-close:before {
            top: 0;
            left: 50%;
            width: 2px;
            height: 100%;
            margin-left: -1px; }
          #header ul#main-menu li .subnav-collapse-ui .ui-close:after {
            top: 50%;
            left: 0;
            width: 100%;
            height: 2px;
            margin-top: -1px; }
  #header #toggle-menu {
    width: 28px;
    height: 28px;
    background-image: url("/themes/default/assets/images/icons/hamburger.svg");
    display: block;
    position: absolute;
    right: 20px;
    top: 30px;
    cursor: pointer; }
  @media print, screen and (min-width: 64em) {
    #header {
      padding: 0; }
      #header .row {
        height: 100%; }
      #header ul#main-menu li a {
        font-size: 1em; } }
  @media screen and (min-width: 90em) {
    #header ul#main-menu li a {
      font-size: 1.222222222222222em; } }

ul.main-menu {
  padding-left: 0;
  list-style-type: none; }

#footer {
  background: #00807F;
  color: white;
  overflow: hidden;
  color: #FFFFFF;
  padding: 4vh 0; }
  #footer * {
    color: inherit; }
  #footer a:hover {
    text-decoration: none; }
  #footer a:focus {
    color: #014D53; }
  #footer a.logo {
    display: inline-block;
    margin: 1em 0; }
    #footer a.logo img {
      vertical-align: top; }
  #footer a.social {
    margin: 0 0.25em 0 0;
    display: inline-block; }
    #footer a.social:focus {
      opacity: .5; }
  #footer h2 {
    font-size: 1.25em;
    margin-bottom: 0; }
    @media print, screen and (min-width: 64em) {
      #footer h2 {
        font-size: 1.555555555555556em; } }
  #footer ul {
    margin-top: 0.5em;
    padding-left: 0;
    list-style: none; }
    @media print, screen and (min-width: 64em) {
      #footer ul {
        font-size: 1.111111111111111em; } }
    #footer ul a {
      color: #fefefe; }
      #footer ul a:focus {
        color: #fefefe; }
  #footer p.sitemap-and-proclaimer {
    margin: 1em 0 0 0; }
    @media print, screen and (min-width: 64em) {
      #footer p.sitemap-and-proclaimer {
        font-size: 1.111111111111111em; } }
    #footer p.sitemap-and-proclaimer a:not(last-child) {
      margin-right: 0.5em; }
  #footer p.copyright {
    margin: 0 0 1em 0;
    color: #fefefe; }
  @media print, screen and (min-width: 64em) {
    #footer .footer-bottom {
      margin-top: 2rem; } }

@media print, screen and (min-width: 64em) {
  html, body, #container {
    height: 100%; }
  #container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    #container #wrapper {
      -webkit-box-flex: 1;
          -ms-flex: 1 0 auto;
              flex: 1 0 auto; }
    #container #footer {
      -ms-flex-negative: 0;
          flex-shrink: 0; } }

.project-grid {
  position: fixed;
  left: 0;
  top: 0;
  right: 0;
  display: none;
  z-index: 10;
  margin: 0 auto;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }
  .project-grid .row {
    margin-bottom: 4px; }
    .project-grid .row .columns {
      height: 64px; }
      .project-grid .row .columns:before {
        display: block;
        content: '';
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 255, 0.25); }

p.exitable {
  margin: 0;
  background-color: #000;
  color: #FFFFFF;
  font-weight: 800;
  font-family: "Host Grotesk", Helvetica, Arial, sans-serif;
  display: block;
  clear: both;
  padding: 1em 0;
  text-align: center;
  text-transform: uppercase;
  font-size: 12px;
  display: none; }

p.todo {
  background-color: red;
  color: white; }

body.show-project-grid .project-grid, body.show-project-grid p.exitable {
  display: block; }

.inline-grid .row {
  margin-bottom: 4px; }
  .inline-grid .row .columns {
    height: 64px; }
    .inline-grid .row .columns:before {
      display: block;
      content: '';
      width: 100%;
      height: 100%;
      background-color: rgba(0, 128, 127, 0.25); }

.inline-grid div.row:nth-child(6n+0) {
  margin-bottom: 0; }

.banner {
  padding: 8vh 0;
  background-color: #014D53;
  position: relative;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center; }
  .banner .banner-tagline {
    color: #FFFFFF;
    text-align: center;
    font-weight: bold;
    font-size: 2em;
    word-spacing: -2px;
    text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.8);
    margin-top: 0;
    margin-bottom: 0;
    line-height: 1.2;
    margin-left: auto;
    margin-right: auto;
    max-width: 900px;
    position: relative; }
    @media print, screen and (min-width: 40em) {
      .banner .banner-tagline {
        font-size: 3em; } }
    @media print, screen and (min-width: 64em) {
      .banner .banner-tagline {
        font-size: 3.888888888888889em; } }
  .banner .study-room-container {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    width: 100%; }
  .banner p.study-room {
    display: inline-block;
    font-size: 0.888888888888889em; }
    .banner p.study-room:before {
      content: '';
      display: inline-block;
      margin-right: 0.5em;
      width: 12px;
      height: 12px;
      background-color: #EEEEEE;
      border-radius: 1000px; }
    .banner p.study-room.open:before {
      background-color: #6EF00C; }
    .banner p.study-room.closed:before {
      background-color: #FF0000; }

.banner--search {
  height: auto;
  min-height: 0;
  padding: 2em 0; }
  @media print, screen and (min-width: 40em) {
    .banner--search {
      padding: 11vh 0; } }
  .banner--search #search {
    margin-top: 2em;
    margin-bottom: 0; }

nav.tabs {
  position: fixed;
  left: 1em;
  bottom: 1em;
  background-color: #000000;
  background-image: url("/themes/default/assets/images/drupal/tabs-bg.png");
  background-size: 100% 100%;
  padding: 1em;
  margin: 0;
  border-radius: 1000px;
  z-index: 100;
  font-family: "Source Sans Pro", "Lucida Grande", Verdana, sans-serif;
  font-size: 13px;
  -webkit-box-shadow: 0px 0px 48px 0px #000;
          box-shadow: 0px 0px 48px 0px #000; }
  nav.tabs ul.tabs.primary {
    margin: 0 !important;
    list-style-image: none; }
  nav.tabs li {
    display: inline-block; }
    nav.tabs li a {
      display: block;
      background-color: transparent;
      color: white;
      padding: 0.5em 1em;
      border-radius: 100px;
      font-weight: bold;
      color: #FFFFFF !important; }
      nav.tabs li a:hover, nav.tabs li a:focus {
        background-color: rgba(255, 255, 255, 0.25); }
  nav.tabs li.is-active a {
    background-color: #FFFFFF;
    color: #000000 !important; }

#toolbar-administration div.toolbar-tray a {
  color: #000000; }

body.user-logged-in #container {
  padding-top: 0; }

body.user-logged-in #header {
  position: relative; }

.teaser {
  text-decoration: none;
  color: inherit;
  display: block; }
  .teaser div.image {
    overflow: hidden;
    position: relative; }
    .teaser div.image img {
      -webkit-transition: opacity 300ms ease;
      transition: opacity 300ms ease; }
    .teaser div.image:after {
      content: none;
      background-size: cover;
      background-repeat: no-repeat;
      position: absolute;
      left: 50%;
      top: 50%;
      z-index: 1;
      background-image: url("/themes/default/assets/images/template/teaser-hover-icon.svg");
      width: 57px;
      height: 54px;
      background-size: cover;
      margin-left: -28px;
      margin-top: -27px;
      display: none; }
  .teaser div.description {
    padding-left: 1em;
    padding-right: 1em;
    padding-bottom: 1em; }
    .teaser div.description p.title {
      font-size: 1.333333333333333em;
      font-weight: bold; }
    .teaser div.description p.call-to-action {
      margin-bottom: 0; }
      .teaser div.description p.call-to-action .button {
        margin: 0; }
  .teaser:hover {
    text-decoration: none; }
  .teaser:focus {
    background-color: #FFFFFF; }
    .teaser:focus div.image:after {
      display: block; }
    .teaser:focus div.description {
      background: transparent !important; }
      .teaser:focus div.description p.title {
        text-decoration: none; }
  .teaser:focus, .teaser:active {
    color: inherit; }

.teaser--collection {
  margin-bottom: 1.625rem;
  -webkit-box-shadow: none;
          box-shadow: none;
  min-height: 200px; }
  .teaser--collection div.image {
    height: 0;
    overflow: hidden;
    padding-bottom: 60%;
    position: relative;
    border-radius: 16px 16px 0px 0px; }
    .teaser--collection div.image img {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 100%;
      -o-object-fit: cover;
         object-fit: cover; }
  .teaser--collection div.description {
    padding: 1.5em;
    min-height: 110px;
    background-color: #EEEEEE;
    overflow: hidden;
    border-radius: 0px 0px 16px 16px;
    position: relative;
    padding-right: 72px; }
    .teaser--collection div.description p.title, .teaser--collection div.description p.subtitle {
      margin: 0; }
    .teaser--collection div.description p.title {
      font-weight: normal;
      line-height: 1;
      margin-bottom: 0.25em;
      font-size: 1.277777777777778em; }
    .teaser--collection div.description p.subtitle {
      font-size: 0.888888888888889em; }
    .teaser--collection div.description:after {
      content: '';
      display: block;
      position: absolute;
      right: 1em;
      top: 1em;
      width: 2.666666666666667em;
      height: 2.666666666666667em;
      background-color: #FFFFFF;
      border-radius: 1000px;
      background-image: url("/themes/default/assets/images/icons/blue-chevron-right.svg");
      background-repeat: no-repeat;
      background-position: right 0.9em center;
      background-size: auto; }
  .teaser--collection:hover div.description, .teaser--collection:focus div.description {
    background-color: #DDDDDD; }

.column-teaser-news {
  margin: 0 0 1.25rem 0; }

.teaser--news {
  background-color: #E7F1F3;
  position: relative;
  height: 100%;
  min-height: 600px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  .teaser--news div.archive-image {
    background: #00807F;
    text-align: center; }
    .teaser--news div.archive-image img {
      width: auto;
      height: 200px;
      max-height: 320px;
      margin: 40px;
      -webkit-box-shadow: 4px 4px 16px 0px rgba(0, 0, 0, 0.25);
              box-shadow: 4px 4px 16px 0px rgba(0, 0, 0, 0.25); }
    @media print, screen and (min-width: 40em) {
      .teaser--news div.archive-image {
        width: 25vw;
        height: 25vw; }
        .teaser--news div.archive-image img {
          width: auto;
          height: 80%;
          margin: 10% 0; } }
    @media screen and (min-width: 71.25em) {
      .teaser--news div.archive-image {
        width: 400px;
        height: 400px; } }
  @media print, screen and (min-width: 40em) {
    .teaser--news {
      margin: 0 0 1.625rem 0; } }
  .teaser--news p.content {
    margin-bottom: 1em; }
  .teaser--news p.date {
    color: #00807F;
    margin-bottom: 0; }
  .teaser--news:hover {
    background-color: #c5dde2; }
    .teaser--news:hover p.date {
      color: #014D53; }
  .teaser--news .image {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1; }
  .teaser--news .description-body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    .teaser--news .description-body .body-header {
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1; }
  .teaser--news .teaser--footer {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }

.teaser--archive {
  background-color: #E7F1F3;
  margin-bottom: 1.25rem;
  min-height: 200px; }
  .teaser--archive:hover, .teaser--archive:focus {
    background-color: #E7F1F3; }
    .teaser--archive:hover div.image:after, .teaser--archive:focus div.image:after {
      display: none; }
  @media screen and (max-width: 39.99875em) {
    .teaser--archive .shrink {
      width: 100%; } }
  .teaser--archive div.image {
    background: #00807F;
    text-align: center; }
    .teaser--archive div.image img {
      width: auto;
      height: 200px;
      max-height: 320px;
      margin: 40px;
      -webkit-box-shadow: 4px 4px 16px 0px rgba(0, 0, 0, 0.25);
              box-shadow: 4px 4px 16px 0px rgba(0, 0, 0, 0.25); }
    @media print, screen and (min-width: 40em) {
      .teaser--archive div.image {
        width: 25vw;
        height: 25vw; }
        .teaser--archive div.image img {
          width: auto;
          height: 80%;
          margin: 10% 0; } }
    @media screen and (min-width: 71.25em) {
      .teaser--archive div.image {
        width: 400px;
        height: 400px; } }
  .teaser--archive div.description, .teaser--archive div.details {
    padding: 0 1rem; }
  @media screen and (min-width: 71.25em) {
    .teaser--archive div.description p.content {
      margin-bottom: 120px; } }
  .teaser--archive div.description p.call-to-action, .teaser--archive div.description div.call-to-action {
    margin: 0 0 1em 0; }
    @media print, screen and (min-width: 64em) {
      .teaser--archive div.description p.call-to-action, .teaser--archive div.description div.call-to-action {
        margin-top: 1em; } }
    .teaser--archive div.description p.call-to-action .button, .teaser--archive div.description div.call-to-action .button {
      margin-right: 4px; }
      @media print, screen and (min-width: 64em) {
        .teaser--archive div.description p.call-to-action .button, .teaser--archive div.description div.call-to-action .button {
          margin-right: 0;
          margin-bottom: 8px; } }
  .teaser--archive div.details {
    color: #444444; }
    .teaser--archive div.details p {
      font-size: 0.888888888888889em; }
    .teaser--archive div.details p.label {
      font-weight: bold;
      margin-bottom: 0.25em; }
      .teaser--archive div.details p.label + p {
        margin-top: 0; }
  .teaser--archive p.date {
    color: #014D53;
    margin-bottom: 0; }
  @media screen and (min-width: 71.25em) {
    .teaser--archive .small-12.medium-expand {
      position: relative; }
      .teaser--archive .small-12.medium-expand .details {
        position: absolute;
        bottom: 1em;
        padding: 0;
        left: 1rem;
        right: 1rem; }
        .teaser--archive .small-12.medium-expand .details > div.row {
          margin-left: 0;
          margin-right: 0; } }

.section--dark-blue .teaser--archive {
  margin-bottom: 1.25rem;
  background-color: transparent !important; }
  .section--dark-blue .teaser--archive div.image {
    width: auto;
    height: auto;
    padding: 40px 60px; }
    .section--dark-blue .teaser--archive div.image img {
      width: auto;
      height: auto;
      margin: 0; }
  .section--dark-blue .teaser--archive div.description p.content {
    margin-bottom: 1em; }
  .section--dark-blue .teaser--archive p.title {
    color: inherit; }
  .section--dark-blue .teaser--archive p.call-to-action {
    margin-bottom: 0; }

.accessible-news-teaser {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background: #E7F1F3;
  height: 100%; }
  .accessible-news-teaser:hover, .accessible-news-teaser:has(:focus-visible) {
    background: #c5dde2; }
  .accessible-news-teaser:has(:focus-visible) {
    outline: 2px solid #014D53;
    outline-offset: 2px; }
  .accessible-news-teaser .image {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1; }
    .accessible-news-teaser .image img {
      aspect-ratio: 360/240;
      -o-object-fit: cover;
         object-fit: cover;
      width: 100%; }
  .accessible-news-teaser .content {
    padding: 2em 1em 1em 1em;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    .accessible-news-teaser .content .title {
      font-size: 21.3333px;
      font-weight: bold;
      line-height: 1.25; }
    .accessible-news-teaser .content .description {
      font-size: 16px; }
    .accessible-news-teaser .content .meta {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      margin-top: auto; }
      .accessible-news-teaser .content .meta .date {
        color: #014D53;
        font-size: 16px;
        line-height: 1.5;
        margin: 0; }
      .accessible-news-teaser .content .meta .button {
        font-size: 16px;
        line-height: 1.2;
        margin: 0; }
        .accessible-news-teaser .content .meta .button::after {
          inset: 0;
          content: '';
          position: absolute; }

/* Zoeken detail */
form.search div.search-box {
  background-color: #E7F1F3;
  overflow: hidden;
  position: relative;
  padding: 1rem;
  border-radius: 8px; }
  @media print, screen and (min-width: 40em) {
    form.search div.search-box {
      padding: 2rem; } }
  form.search div.search-box input#zoekopdracht {
    height: 3.75rem;
    padding: 0 1rem;
    border-radius: 8px;
    color: #00807F;
    border: none;
    -webkit-box-shadow: none;
            box-shadow: none;
    -webkit-transition: none;
    transition: none;
    margin: 0 0 0.5rem 0; }
    form.search div.search-box input#zoekopdracht:focus::-webkit-input-placeholder {
      color: transparent; }
    form.search div.search-box input#zoekopdracht:focus::-moz-placeholder {
      color: transparent; }
    form.search div.search-box input#zoekopdracht:focus::-ms-input-placeholder {
      color: transparent; }
    form.search div.search-box input#zoekopdracht:focus::placeholder {
      color: transparent; }
    form.search div.search-box input#zoekopdracht::-webkit-input-placeholder {
      color: #00807F; }
    form.search div.search-box input#zoekopdracht::-moz-placeholder {
      color: #00807F; }
    form.search div.search-box input#zoekopdracht::-ms-input-placeholder {
      color: #00807F; }
    form.search div.search-box input#zoekopdracht::placeholder {
      color: #00807F; }
    form.search div.search-box input#zoekopdracht:hover, form.search div.search-box input#zoekopdracht:focus {
      border-color: transparent; }
  form.search div.search-box input.button {
    width: 100%;
    min-height: 3.75rem;
    height: auto;
    padding-top: 0;
    padding-bottom: 0;
    margin: 0;
    border-radius: 8px;
    white-space: normal; }
    @media screen and (min-width: 45em) {
      form.search div.search-box input.button {
        width: auto;
        border-radius: 1000px; } }

@media screen and (min-width: 45em) {
  form.search div.search-box {
    height: 7.875rem;
    padding: 2.0625rem 25.75rem 2.0625rem 2.0625rem; }
    form.search div.search-box input#zoekopdracht {
      width: 100%;
      height: 3.75rem;
      margin: 0;
      font-size: 1.555555555555556em; }
    form.search div.search-box input.button {
      width: 23.2rem;
      min-height: 3.75rem;
      position: absolute;
      top: 2rem;
      right: 2rem;
      font-size: 1.222222222222222em; } }

/* Homepage */
form.search--banner {
  margin-top: 2rem; }
  form.search--banner div.search-box {
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
    background-color: #FFFFFF; }
    form.search--banner div.search-box input#zoekopdracht {
      -webkit-box-shadow: inset 0px 0px 0px 1px #DDDDDD;
              box-shadow: inset 0px 0px 0px 1px #DDDDDD; }
    form.search--banner div.search-box input.button {
      width: 100%; }
  @media screen and (min-width: 45em) {
    form.search--banner div.search-box {
      border-radius: 1000px;
      height: 7.875rem;
      padding: 1.4375rem; }
      form.search--banner div.search-box input#zoekopdracht {
        height: 5rem;
        padding-left: 1.4375rem;
        padding-right: 15.75em;
        border-radius: 1000px;
        font-size: 1.555555555555556em; }
      form.search--banner div.search-box input.button {
        width: 23.2rem;
        min-height: 3.75rem;
        position: absolute;
        top: 2.0625rem;
        right: 2.0625rem;
        font-size: 1.222222222222222em; } }

ul.skip-links {
  margin: 0;
  padding: 0;
  text-align: center; }
  ul.skip-links li {
    list-style-type: none; }
    ul.skip-links li a {
      color: inherit;
      position: absolute;
      left: -9999px;
      background-color: #000000;
      color: white;
      padding: 1em;
      display: block; }
      ul.skip-links li a:focus {
        position: fixed;
        left: 0;
        right: 0;
        z-index: 11; }
  ul.skip-links:focus + #container {
    background: blue; }

table {
  color: #000000;
  margin-bottom: 1em;
  border-collapse: collapse;
  font-size: 16px;
  width: 100%; }
  table tbody tr:not(:first-child):not(:last-child) {
    border-bottom: 1px solid #cccccc; }
  table thead + tbody tr:not(:last-child) {
    border-bottom: 1px solid #cccccc; }
  table th, table td {
    text-align: left;
    border-collapse: collapse;
    vertical-align: top;
    padding: 16px 15px 16px 15px;
    line-height: 1.5; }
  table th a {
    color: inherit;
    text-decoration: none; }
  table th.action {
    min-width: 200px; }
  table td.action {
    text-align: right; }
    table td.action a.button {
      margin: 0; }
  table th[scope="col"], table thead th {
    background-color: #00807F;
    color: #FFFFFF;
    font-weight: bold; }
    table th[scope="col"] a, table thead th a {
      color: #fefefe !important; }
  table .tablesort--desc, table .tablesort--asc {
    vertical-align: middle;
    margin-left: 0.25em; }

.table-container:before {
  content: "Onderstaande tabel kunt u horizontaal scrollen:";
  display: block;
  padding: 0.5em;
  margin-bottom: 1em;
  background-color: #f7efcf;
  border-left: 4px solid #CCCCCC;
  padding: 0.5em;
  border-color: #ffc335;
  font-size: 0.875em; }

table.table--scrollable {
  width: 100%;
  display: block;
  white-space: nowrap;
  overflow-x: auto; }

.table--zebra tr {
  border: none !important; }
  .table--zebra tr:nth-child(odd) {
    background-color: #EEEEEE; }
  .table--zebra tr th[scope="row"] {
    font-weight: bold; }

.table--zebra th[scope="row"] {
  background-color: transparent; }

.table--beeldbank {
  display: table;
  white-space: normal;
  overflow-x: visible;
  color: #00807F;
  margin: 0.5em 0; }
  .table--beeldbank tbody tr:not(:first-child):not(:last-child) {
    border: none; }
  .table--beeldbank th {
    font-weight: bold;
    width: 140px; }
  .table--beeldbank th, .table--beeldbank td {
    padding: 0; }

.table--full {
  width: 100%; }

#updateShoppingCart table th, #updateShoppingCart table td {
  vertical-align: middle; }

#updateShoppingCart table select {
  min-height: 2.75rem; }

.section {
  padding: 2em 0; }
  @media print, screen and (min-width: 40em) {
    .section {
      padding: 6vh 0; } }

.section--light-grey {
  background-color: #E7F1F3; }

.section--dark-blue {
  background-color: #014D53;
  color: #FFFFFF; }
  .section--dark-blue * {
    color: inherit; }
  .section--dark-blue .title-block a {
    color: #FFFFFF !important; }
    .section--dark-blue .title-block a:focus {
      color: #FFFFFF; }

.section--links {
  padding: 1em 0 2em 0; }

.button {
  background-color: #00807F;
  color: #FFFFFF;
  margin-right: 4px;
  margin-bottom: 4px;
  text-decoration: none;
  font-weight: bold;
  border-radius: 1000px;
  padding: 0.85em 37px 0.85em 1em;
  background-image: url("/themes/default/assets/images/button/white-chevron-right.svg");
  background-position: right 16px center;
  background-repeat: no-repeat;
  text-align: left;
  -webkit-transition: none;
  transition: none;
  font-size: 1em;
  line-height: 1.2; }
  .button:hover, .button:focus {
    background-color: #00807F; }
  .button:focus {
    -webkit-box-shadow: 0 0 0 0.2rem rgba(0, 128, 127, 0.5);
            box-shadow: 0 0 0 0.2rem rgba(0, 128, 127, 0.5); }

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

.button--small {
  font-size: 0.888888888888889em; }

.button--large {
  font-size: 1.222222222222222em;
  padding: 0.8em 37px 0.9em 1em; }

.button--light-blue {
  background-color: #00807F; }
  .button--light-blue:hover, .button--light-blue:focus {
    background-color: #014D53; }
  .button--light-blue:focus {
    -webkit-box-shadow: 0 0 0 0.2rem rgba(1, 77, 83, 0.8);
            box-shadow: 0 0 0 0.2rem rgba(1, 77, 83, 0.8); }

#search input.button {
  padding-right: 1.5em;
  background-image: url("/themes/default/assets/images/button/white-chevron-right.svg");
  word-break: break-word; }

.button--light-blue {
  background-color: #00807F; }

.button--shop {
  background-image: url("/themes/default/assets/images/button/icon-shopping.svg");
  background-color: #00807F; }
  .button--shop:hover, .button--shop:focus {
    background-color: #014D53; }

.button--secondary {
  background-image: url("/themes/default/assets/images/button/dark-blue-chevron-right.svg");
  background-color: #E7F1F3;
  background-color: #E1E1E1;
  color: #00807F; }
  .button--secondary:hover, .button--secondary:focus {
    background-color: #00807F;
    color: #FFFFFF;
    background-image: url("/themes/default/assets/images/button/white-chevron-right.svg"); }

.button--price {
  padding: 0.85em 1em;
  color: #00807F;
  background-color: #E1E1E1;
  cursor: auto;
  background-image: none; }
  .button--price:hover, .button--price:focus {
    color: #00807F;
    background-color: #E1E1E1; }

@media screen and (max-width: 39.99875em) {
  p.filter-options {
    margin-bottom: 0; } }

.button--filter-option {
  background-color: #E7F1F3;
  color: #00807F;
  background-image: none;
  padding: 0.85em 1em;
  border-radius: 2px;
  font-weight: normal;
  text-transform: lowercase; }
  .button--filter-option:hover, .button--filter-option:focus, .button--filter-option.active {
    background-color: #00807F;
    color: #FFFFFF; }

.button--shopping-cart {
  background-color: #FFFFFF;
  border-color: #E7F1F3;
  border-radius: 2px;
  background-image: none;
  color: #00807F;
  position: relative;
  padding-right: 66px; }
  .button--shopping-cart:after {
    content: '';
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 50px;
    background-color: #E7F1F3;
    background-image: url("/themes/default/assets/images/button/shopping-cart.svg");
    background-position: center;
    background-repeat: no-repeat; }
  .button--shopping-cart:hover, .button--shopping-cart:focus {
    background-color: #00807F; }

.button--back {
  padding-right: 1em;
  padding-left: 37px;
  background-image: url("/themes/default/assets/images/button/dark-blue-chevron-left.svg");
  background-position: left 16px center;
  background-color: #E7F1F3;
  color: #00807F; }
  .button--back:hover, .button--back:focus {
    background-color: #00807F;
    color: #FFFFFF;
    background-image: url("/themes/default/assets/images/button/white-chevron-left.svg"); }

.button--social-share {
  height: 40px;
  line-height: 36px;
  font-weight: normal;
  padding-top: 0;
  padding-bottom: 0;
  font-size: 16px;
  background-color: #FFFFFF;
  color: #00807F;
  background-image: none;
  padding-right: 1em; }

.button--my-account {
  background-color: #044949;
  border-radius: 1000px;
  z-index: 999;
  position: relative;
  color: white !important;
  font-size: 1.1em !important;
  padding: 0.35em 1em 0.35em 37px;
  background-image: url("/themes/default/assets/images/button/user.svg");
  background-position: left 13px center;
  background-repeat: no-repeat;
  background-size: 20px;
  margin-left: 58px; }
  @media screen and (max-width: 63.99875em) {
    .button--my-account {
      background-color: #00807f;
      padding: 0.35em 26px 0.35em 38px;
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      color: white !important;
      margin: 0; } }

.button--my-account:hover {
  background-color: #036262;
  -webkit-transition-duration: 300ms;
          transition-duration: 300ms; }

iframe {
  max-width: 100%; }

form {
  font-size: inherit; }
  form div.row {
    margin-bottom: 0.5em; }
    form div.row .columns.large-9 .row {
      margin-bottom: 0; }
  form label.form-required:after {
    content: ' *';
    color: red; }
  form div.description {
    font-size: 14px;
    margin-top: 1em; }
  form legend, form fieldset, form label {
    color: #000000;
    font-size: inherit; }
  form legend {
    font-size: 14px; }
  form fieldset {
    border: 2px solid #E7F1F3;
    margin-bottom: 1em; }
  form label {
    color: #000000;
    display: block;
    padding-top: 0.5em;
    margin-bottom: 0.5em; }
    form label input {
      margin-top: 0.5em !important; }
  form span.range {
    color: #00807F;
    display: inline-block;
    padding-top: 0.5em; }
  form input[type="text"],
  form input[type="password"],
  form input[type="date"],
  form input[type="datetime"],
  form input[type="week"],
  form input[type="email"],
  form input[type="number"],
  form input[type="search"],
  form input[type="tel"],
  form input[type="time"],
  form input[type="url"],
  form input[type="color"],
  form select,
  form textarea {
    width: 100%;
    min-height: 2.75rem;
    padding: 0 0.5em;
    font-size: inherit;
    border: none;
    -webkit-box-shadow: inset 0px 0px 0px 2px #7D7D7D;
            box-shadow: inset 0px 0px 0px 2px #7D7D7D;
    border-radius: 6px;
    -webkit-transition: none !important;
    transition: none !important;
    margin: 0; }
    @media print, screen and (min-width: 64em) {
      form input[type="text"],
      form input[type="password"],
      form input[type="date"],
      form input[type="datetime"],
      form input[type="week"],
      form input[type="email"],
      form input[type="number"],
      form input[type="search"],
      form input[type="tel"],
      form input[type="time"],
      form input[type="url"],
      form input[type="color"],
      form select,
      form textarea {
        min-height: 3.25rem;
        padding: 0 0.5em; } }
    form input[type="text"]:focus,
    form input[type="password"]:focus,
    form input[type="date"]:focus,
    form input[type="datetime"]:focus,
    form input[type="week"]:focus,
    form input[type="email"]:focus,
    form input[type="number"]:focus,
    form input[type="search"]:focus,
    form input[type="tel"]:focus,
    form input[type="time"]:focus,
    form input[type="url"]:focus,
    form input[type="color"]:focus,
    form select:focus,
    form textarea:focus {
      border: none;
      -webkit-box-shadow: inset 0px 0px 0px 2px #bfe8ff;
              box-shadow: inset 0px 0px 0px 2px #bfe8ff;
      outline: none; }
  form select:not([multiple]) {
    background-color: #FFFFFF;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("/themes/default/assets/images/button/dark-blue-chevron-down.svg");
    background-repeat: no-repeat;
    background-position: right 16px center;
    padding-right: 40px;
    min-width: 100px;
    line-height: 2.75rem; }
    @media print, screen and (min-width: 64em) {
      form select:not([multiple]) {
        line-height: 3.25rem; } }
  form textarea {
    min-height: 5em;
    padding: 0.75em;
    resize: vertical; }
  form input[type="radio"],
  form input[type="checkbox"] {
    margin-right: 0.5em; }
  form input[type="radio"] + label,
  form input[type="checkbox"] + label {
    display: inline-block;
    margin: 0 1em 0 0;
    padding: 0;
    vertical-align: middle; }
  form div.form-actions {
    margin: 1em 0; }
    form div.form-actions input[type="submit"] {
      margin-right: 1em; }
  form input[type="submit"] + span.clearFormFields {
    color: #00807F;
    text-decoration: underline;
    cursor: pointer; }
  form input[type="text"].error, form input[type="password"].error, form input[type="date"].error, form input[type="datetime"].error, form input[type="week"].error, form input[type="email"].error, form input[type="number"].error, form input[type="search"].error, form input[type="tel"].error, form input[type="time"].error, form input[type="url"].error, form input[type="color"].error, form select.error, form textarea.error {
    outline-width: 0.125rem;
    outline-style: dashed;
    outline-color: #da3a2f;
    outline-offset: 0.125rem; }
  form label.error {
    color: #9e140a;
    padding-top: 1em; }

div.form-panel {
  max-width: 640px;
  padding: 2em;
  margin: 2em 0;
  -webkit-box-shadow: 0px 0px 24px 0px rgba(0, 0, 0, 0.12);
          box-shadow: 0px 0px 24px 0px rgba(0, 0, 0, 0.12); }
  div.form-panel .form-actions {
    margin-bottom: 0; }
    div.form-panel .form-actions input[type="submit"], div.form-panel .form-actions .clearFormFields {
      margin-bottom: 0; }

html.loaded #updateShoppingCart input.button.button--secondary {
  position: absolute;
  left: -9999px; }

a.archive-statistic {
  display: block;
  background-color: #E7F1F3;
  padding: 1em 4em 1em 1em;
  text-decoration: none;
  color: #00807F;
  border-radius: 8px;
  margin: 0 0 1.25rem 0;
  position: relative; }
  @media print, screen and (min-width: 40em) {
    a.archive-statistic {
      margin: 0 0 1.625rem 0; } }
  a.archive-statistic:hover {
    background-color: #00807F; }
    a.archive-statistic:hover span.category, a.archive-statistic:hover span.number {
      color: #FFFFFF; }
  a.archive-statistic:focus {
    background-color: #fff; }
    a.archive-statistic:focus span.category, a.archive-statistic:focus span.number {
      color: #00807F; }
  a.archive-statistic span.category {
    font-weight: 500;
    display: block;
    font-size: 1.25em; }
    @media print, screen and (min-width: 64em) {
      a.archive-statistic span.category {
        font-size: 1.555555555555556em; } }
  a.archive-statistic span.number {
    font-size: 3em;
    line-height: 1;
    font-weight: bold;
    display: block;
    color: #00807F;
    text-overflow: ellipsis;
    overflow: hidden;
    word-wrap: break-word; }
    @media print, screen and (min-width: 64em) {
      a.archive-statistic span.number {
        font-size: 3.2em; } }
  a.archive-statistic:before {
    content: '';
    display: block;
    position: absolute;
    right: 1em;
    top: 1em;
    width: 2.666666666666667em;
    height: 2.666666666666667em;
    background-color: #FFFFFF;
    border-radius: 1000px;
    background-image: url("/themes/default/assets/images/icons/blue-chevron-right.svg");
    background-repeat: no-repeat;
    background-position: right 0.9em center;
    background-size: auto;
    font-size: 1rem; }

.row.main-results a.archive-statistic span.category {
  min-height: 3em;
  margin-bottom: 1rem; }

.row.main-results hr {
  margin: 0 0 1.625rem 0; }

a.archive-statistic.external:before {
  background-image: url("/themes/default/assets/images/icons/external.svg");
  background-position: center;
  border: none; }

.path-frontpage a.archive-statistic span.category {
  min-height: 3em;
  margin-bottom: 1rem; }

p.study-room {
  background-color: #FFFFFF;
  color: #00807F;
  padding: 0.5em 0.75em;
  display: inline-block;
  border-radius: 1000px;
  font-weight: bold; }
  p.study-room span.status {
    display: inline-block;
    margin-right: 0.25em;
    vertical-align: middle;
    width: 0.75em;
    height: 0.75em;
    border-radius: 1000px;
    background-color: grey; }
    p.study-room span.status.open {
      background-color: #6EF00C; }
    p.study-room span.status.closed {
      background-color: red; }

#reserve-documents {
  background-color: #00807F;
  padding: 1.25rem;
  max-width: 532px;
  color: #FFFFFF; }
  @media print, screen and (min-width: 40em) {
    #reserve-documents {
      padding: 1.625rem; } }
  @media print, screen and (min-width: 64em) {
    #reserve-documents {
      padding: 60px;
      margin-left: auto; } }
  #reserve-documents * {
    color: inherit; }
  #reserve-documents div.description h2 {
    font-size: 1.75em; }
    @media print, screen and (min-width: 64em) {
      #reserve-documents div.description h2 {
        font-size: 2.333333333333333em; } }
  #reserve-documents div.description p {
    font-size: 1em; }
    @media print, screen and (min-width: 64em) {
      #reserve-documents div.description p {
        font-size: 1.111111111111111em; } }
  #reserve-documents p.call-to-action {
    margin-bottom: 0; }
    #reserve-documents p.call-to-action a.button {
      margin-bottom: 0;
      background-color: #014D53; }

#image-library div.image {
  height: 0;
  position: relative;
  padding-bottom: 75%;
  margin-bottom: 1.625rem;
  background-color: #EEEEEE; }
  #image-library div.image img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover; }

.notification {
  background-color: #EEEEEE;
  border-left: 4px solid #CCCCCC;
  padding: 0.5em;
  padding-left: 1em;
  color: #000000;
  font-size: 0.875em; }

.notification--info {
  background-color: #f0efef;
  border-color: #00807F; }

.notification--success {
  background-color: #c2f3a8;
  border-color: green; }

.notification--warning {
  background-color: #f7efcf;
  border-color: #ffc335; }

.notification--error {
  background-color: #f3c4bb;
  border-color: #ff2e1c; }

.notification--small {
  font-size: 0.75em; }

ul.breadcrumb {
  padding-left: 0;
  font-size: 1.222222222222222em;
  margin: 0 0 1em 0; }
  ul.breadcrumb li {
    display: inline-block;
    color: #FFFFFF;
    font-weight: bold; }
    ul.breadcrumb li:after {
      content: "";
      background-image: url("/themes/default/assets/images/button/white-chevron-right.svg");
      background-repeat: no-repeat;
      width: 9px;
      height: 14px;
      display: inline-block;
      margin: 0 0.25em 0 0.5em; }
    ul.breadcrumb li:last-child:after {
      display: none; }
    ul.breadcrumb li a {
      text-decoration: none;
      color: #FFFFFF;
      text-shadow: 1px 1px 3px black; }
    ul.breadcrumb li::after {
      -webkit-filter: drop-shadow(1px 1px 2px black);
              filter: drop-shadow(1px 1px 2px black); }

ul.links {
  list-style-type: none;
  padding-left: 0; }
  ul.links li:before {
    content: "> ";
    color: #00807F; }
  ul.links li a {
    color: #00807F; }
    ul.links li a:focus {
      color: #00807F; }

ul.collection-categories, ul.submenu {
  list-style-type: none;
  padding-left: 0; }
  ul.collection-categories li, ul.submenu li {
    margin-bottom: 0;
    font-size: 1.111111111111111em;
    font-weight: 300; }
    ul.collection-categories li a, ul.submenu li a {
      text-decoration: none;
      color: #00807F;
      display: block;
      padding: 0.5em; }
      ul.collection-categories li a:before, ul.submenu li a:before {
        content: '';
        display: inline-block;
        width: 9px;
        height: 14px;
        background-image: url("/themes/default/assets/images/icons/dark-blue-chevron-right.svg");
        margin-right: 0.5em;
        background-repeat: no-repeat; }
      ul.collection-categories li a:hover, ul.collection-categories li a:focus, ul.collection-categories li a.active, ul.collection-categories li a.is-active, ul.submenu li a:hover, ul.submenu li a:focus, ul.submenu li a.active, ul.submenu li a.is-active {
        background-color: #DDDDDD;
        border-radius: 8px; }
      ul.collection-categories li a.active, ul.collection-categories li a.is-active, ul.submenu li a.active, ul.submenu li a.is-active {
        font-weight: bold; }

ul.pagination {
  padding-left: 0;
  text-align: center;
  font-size: 0.888888888888889em; }
  @media print, screen and (min-width: 64em) {
    ul.pagination {
      font-size: 1em;
      text-align: right; } }
  ul.pagination li {
    display: inline-block;
    list-style-type: none;
    vertical-align: middle;
    padding: 0; }
    ul.pagination li a, ul.pagination li span {
      display: block;
      padding: 0 0.6em;
      background-color: #FFFFFF;
      margin: 0;
      border: 1px solid transparent;
      border-radius: 3px;
      text-decoration: none;
      height: 2.222222222222222em;
      line-height: 2.222222222222222em; }
    ul.pagination li a {
      cursor: pointer; }
    ul.pagination li a.prev, ul.pagination li a.next {
      background-color: #EEEEEE;
      background-image: url("/themes/default/assets/images/icons/blue-chevron-right.svg");
      width: 2.222222222222222em;
      height: 2.222222222222222em;
      background-repeat: no-repeat;
      background-position: center;
      background-size: 30%;
      border: none; }
      ul.pagination li a.prev:hover, ul.pagination li a.prev:focus, ul.pagination li a.next:hover, ul.pagination li a.next:focus {
        background-color: #DDDDDD;
        border: none; }
    ul.pagination li a.prev {
      background-image: url("/themes/default/assets/images/icons/blue-chevron-left.svg"); }
    ul.pagination li a.first:hover, ul.pagination li a.first:focus, ul.pagination li a.last:hover, ul.pagination li a.last:focus {
      background: none;
      text-decoration: underline; }
    ul.pagination li a.first span, ul.pagination li a.last span {
      padding: 0;
      margin: 0;
      border: none; }
  ul.pagination span.active, ul.pagination a.active, ul.pagination li.is-active a, ul.pagination li.is-active span {
    color: #00807F;
    border-color: #00807F;
    padding: 0 0.75em; }

.title-block {
  margin-left: auto;
  margin-right: auto;
  position: relative; }
  .title-block h1, .title-block h2 {
    font-size: 2em;
    margin: 0;
    width: 80%; }
    @media print, screen and (min-width: 64em) {
      .title-block h1, .title-block h2 {
        max-width: 900px;
        font-size: 2.333333333333333em; } }
  .title-block a.read-more {
    font-weight: bold;
    text-transform: lowercase;
    text-decoration: underline;
    color: #00807F;
    display: block;
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    display: inline-block; }
    @media print, screen and (min-width: 64em) {
      .title-block a.read-more {
        font-size: 1.111111111111111em; } }
    .title-block a.read-more:hover {
      text-decoration: none; }
    .title-block a.read-more:focus {
      color: #00807F; }
    @media screen and (max-width: 39.99875em) {
      .title-block a.read-more {
        position: static;
        margin-top: 1rem; } }

.title-block--center {
  text-align: center; }
  .title-block--center h1, .title-block--center h2 {
    margin-left: auto;
    margin-right: auto; }

.large-12 .title-block {
  margin-bottom: 2em; }

@media print, screen and (min-width: 40em) {
  .large-8 .title-block.align-with-sidebar {
    margin-bottom: 1em; }
    .large-8 .title-block.align-with-sidebar h1, .large-8 .title-block.align-with-sidebar h2 {
      font-size: 1.555555555555556em; } }

@media print, screen and (min-width: 64em) {
  .large-8 .title-block.align-with-sidebar {
    margin-top: 1.5em; } }

.section--dark-blue .title-block a.read-more {
  color: #FFFFFF; }

.section--collection-intro .text p {
  font-size: 1.111111111111111em;
  margin: 0; }

.section--collection-intro .intro-text h2, .section--collection-intro .intro-cta h2 {
  font-size: 1.333333333333333em;
  margin-bottom: 0; }

.section--collection-intro .intro-text a.button, .section--collection-intro .intro-cta a.button {
  font-size: 1.222222222222222em; }

div.sidebar-block {
  background-color: #E7F1F3;
  padding: 1.5em;
  border-radius: 8px; }
  @media print, screen and (min-width: 64em) {
    div.sidebar-block {
      max-width: 400px; } }
  @media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
    div.sidebar-block {
      max-width: 340px; } }
  div.sidebar-block h3 {
    margin-top: 0; }
  div.sidebar-block ul {
    margin-bottom: 0;
    font-size: 0.888888888888889em; }
    div.sidebar-block ul li:last-child {
      margin-bottom: 0; }

@media screen and (max-width: 63.99875em) {
  #header {
    overflow: hidden; }
    #header .columns.show-for-large.large-6.large-text-center #main-menu {
      padding: 26px;
      margin-left: -26px;
      margin-right: -26px;
      margin-bottom: 0;
      position: relative; }
      #header .columns.show-for-large.large-6.large-text-center #main-menu li {
        position: relative; }
        #header .columns.show-for-large.large-6.large-text-center #main-menu li:last-child {
          border: none; }
        #header .columns.show-for-large.large-6.large-text-center #main-menu li a {
          display: block;
          color: #d4d4ff; }
          #header .columns.show-for-large.large-6.large-text-center #main-menu li a:hover, #header .columns.show-for-large.large-6.large-text-center #main-menu li a:focus {
            color: #FFFFFF; }
          #header .columns.show-for-large.large-6.large-text-center #main-menu li a.active, #header .columns.show-for-large.large-6.large-text-center #main-menu li a.is-active {
            color: #FFFFFF; }
      #header .columns.show-for-large.large-6.large-text-center #main-menu:before {
        content: '';
        display: block;
        background-color: #000031;
        position: absolute;
        left: -100px;
        top: 0;
        right: -100px;
        bottom: 0; }
  body.show-menu #header {
    padding-bottom: 0; }
    body.show-menu #header a.logo {
      margin-bottom: 1em; }
    body.show-menu #header .columns.show-for-large.large-6.large-text-center {
      display: block !important; }
    body.show-menu #header #toggle-menu {
      background-image: url("/themes/default/assets/images/icons/close.svg"); } }

div.beeldbank-result {
  padding: 1em 0;
  border-bottom: 1px solid #cccccc;
  position: relative;
  overflow: hidden; }
  div.beeldbank-result:last-child {
    border: none; }
  @media screen and (max-width: 63.99875em) {
    div.beeldbank-result div.image, div.beeldbank-result div.details {
      margin-bottom: 1em; } }
  @media screen and (max-width: 63.99875em) {
    div.beeldbank-result div.buttons a.button {
      margin-bottom: 0; } }

@media print, screen and (min-width: 64em) {
  #header {
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    z-index: 10;
    height: 90px; }
  #container {
    padding-top: 90px; } }

div.cc-window {
  overflow: visible;
  padding: 15px !important; }

.cc-floating .cc-compliance > .cc-btn {
  border-radius: 1000px; }

.extra-search-results .category:last-child {
  border-bottom: 1px solid #cccccc; }

.extra-search-result {
  display: block;
  padding: 2em 64px 2em 0;
  border-top: 1px solid #cccccc;
  position: relative;
  min-height: 64px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box; }
  .extra-search-result p.title {
    font-size: 1.555555555555556em;
    color: #00807F;
    margin: 0; }
    .extra-search-result p.title span {
      font-weight: bold;
      color: #00807F; }
  .extra-search-result p.subtitle {
    font-size: 0.888888888888889em;
    margin: 0;
    color: #676767; }
  .extra-search-result a.show-results {
    display: block;
    width: 32px;
    height: 32px;
    background-size: 12px 12px;
    background-color: #00807F;
    background-image: url("/themes/default/assets/images/template/icon-plus.svg");
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    right: 0;
    top: 2em;
    border-radius: 8px;
    cursor: pointer; }
    @media print, screen and (min-width: 40em) {
      .extra-search-result a.show-results {
        width: 64px;
        height: 64px;
        background-size: 24px 24px; } }
    .extra-search-result a.show-results:hover, .extra-search-result a.show-results:focus {
      background-color: #006766; }
    .extra-search-result a.show-results.active {
      background-image: url("/themes/default/assets/images/template/icon-minus.svg"); }
    .extra-search-result a.show-results.disabled {
      opacity: 0.5;
      cursor: not-allowed; }
  .extra-search-result + .results {
    display: none; }

.results .website-result {
  margin-bottom: 2em; }
  .results .website-result p.title {
    margin: 0 0 0.5em 0;
    font-weight: bold; }
  .results .website-result p.description {
    font-size: 0.888888888888889em;
    margin-top: 0; }

.tippy-box[data-animation=fade][data-state=hidden] {
  opacity: 0; }

[data-tippy-root] {
  max-width: calc(100vw - 10px); }

.tippy-box {
  position: relative;
  background-color: #333;
  color: #fff;
  border-radius: 4px;
  font-size: 14px;
  line-height: 1.4;
  white-space: normal;
  outline: 0;
  -webkit-transition-property: visibility,opacity,-webkit-transform;
  transition-property: visibility,opacity,-webkit-transform;
  transition-property: transform,visibility,opacity;
  transition-property: transform,visibility,opacity,-webkit-transform; }

.tippy-box[data-placement^=top] > .tippy-arrow {
  bottom: 0; }

.tippy-box[data-placement^=top] > .tippy-arrow:before {
  bottom: -7px;
  left: 0;
  border-width: 8px 8px 0;
  border-top-color: initial;
  -webkit-transform-origin: center top;
          transform-origin: center top; }

.tippy-box[data-placement^=bottom] > .tippy-arrow {
  top: 0; }

.tippy-box[data-placement^=bottom] > .tippy-arrow:before {
  top: -7px;
  left: 0;
  border-width: 0 8px 8px;
  border-bottom-color: initial;
  -webkit-transform-origin: center bottom;
          transform-origin: center bottom; }

.tippy-box[data-placement^=left] > .tippy-arrow {
  right: 0; }

.tippy-box[data-placement^=left] > .tippy-arrow:before {
  border-width: 8px 0 8px 8px;
  border-left-color: initial;
  right: -7px;
  -webkit-transform-origin: center left;
          transform-origin: center left; }

.tippy-box[data-placement^=right] > .tippy-arrow {
  left: 0; }

.tippy-box[data-placement^=right] > .tippy-arrow:before {
  left: -7px;
  border-width: 8px 8px 8px 0;
  border-right-color: initial;
  -webkit-transform-origin: center right;
          transform-origin: center right; }

.tippy-box[data-inertia][data-state=visible] {
  -webkit-transition-timing-function: cubic-bezier(0.54, 1.5, 0.38, 1.11);
          transition-timing-function: cubic-bezier(0.54, 1.5, 0.38, 1.11); }

.tippy-arrow {
  width: 16px;
  height: 16px;
  color: #333; }

.tippy-arrow:before {
  content: "";
  position: absolute;
  border-color: transparent;
  border-style: solid; }

.tippy-content {
  position: relative;
  padding: 5px 9px;
  z-index: 1; }

.tippy-box[data-theme~=material] {
  background-color: #000;
  font-weight: 600; }

.tippy-box[data-theme~=material][data-placement^=top] > .tippy-arrow:before {
  border-top-color: #000; }

.tippy-box[data-theme~=material][data-placement^=bottom] > .tippy-arrow:before {
  border-bottom-color: #000; }

.tippy-box[data-theme~=material][data-placement^=left] > .tippy-arrow:before {
  border-left-color: #000; }

.tippy-box[data-theme~=material][data-placement^=right] > .tippy-arrow:before {
  border-right-color: #000; }

.tippy-box[data-theme~=material] > .tippy-backdrop {
  background-color: #000; }

.tippy-box[data-theme~=material] > .tippy-svg-arrow {
  fill: #000; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl92YXJpYWJsZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm91bmRhdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy92ZW5kb3Ivbm9ybWFsaXplLnNjc3MiLCJhcHAuY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MiLCJfc2V0dGluZ3Muc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWl4aW5zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19yb3cuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdW5pdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2d1dHRlci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jb2x1bW4uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcG9zaXRpb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYWxpZ25tZW50LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiX292ZXJ3cml0ZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24tZ3JvdXAuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbG9hdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2ZsZXguc2NzcyIsIl9jb21wb25lbnRzL190eXBvZ3JhcGh5LnNjc3MiLCJfY29tcG9uZW50cy9fYmFzZS5zY3NzIiwiX21peGlucy5zY3NzIiwiX2NvbXBvbmVudHMvX3JlYWRzcGVha2VyLnNjc3MiLCJfY29tcG9uZW50cy9fbGF5b3V0LnNjc3MiLCJfY29tcG9uZW50cy9faGVhZGVyLnNjc3MiLCJfY29tcG9uZW50cy9fbWFpbi1tZW51LnNjc3MiLCJfY29tcG9uZW50cy9fZm9vdGVyLnNjc3MiLCJfY29tcG9uZW50cy9fc3RpY2t5LWZvb3Rlci5zY3NzIiwiX2NvbXBvbmVudHMvX2RldmVsb3BtZW50LnNjc3MiLCJfY29tcG9uZW50cy9fYmFubmVyLnNjc3MiLCJfY29tcG9uZW50cy9fZHJ1cGFsLnNjc3MiLCJfY29tcG9uZW50cy9fdGVhc2VyLnNjc3MiLCJfY29tcG9uZW50cy9fc2VhcmNoLnNjc3MiLCJfY29tcG9uZW50cy9fc2tpcC1saW5rcy5zY3NzIiwiX2NvbXBvbmVudHMvX3RhYmxlLnNjc3MiLCJfY29tcG9uZW50cy9fc2VjdGlvbi5zY3NzIiwiX2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiX2NvbXBvbmVudHMvX2lmcmFtZS5zY3NzIiwiX2NvbXBvbmVudHMvX2Zvcm0uc2NzcyIsIl9jb21wb25lbnRzL19hcmNoaXZlLXN0YXRpc3RpYy5zY3NzIiwiX2NvbXBvbmVudHMvX3N0dWR5LXJvb20uc2NzcyIsIl9jb21wb25lbnRzL19yZXNlcnZlLWRvY3VtZW50cy5zY3NzIiwiX2NvbXBvbmVudHMvX2ltYWdlLWxpYnJhcnkuc2NzcyIsIl9jb21wb25lbnRzL19ub3RpZmljYXRpb24uc2NzcyIsIl9jb21wb25lbnRzL19saXN0LnNjc3MiLCJfY29tcG9uZW50cy9fdGl0bGUtYmxvY2suc2NzcyIsIl9jb21wb25lbnRzL19jb2xsZWN0aW9uLWludHJvLnNjc3MiLCJfY29tcG9uZW50cy9fc2lkZWJhci5zY3NzIiwiX2NvbXBvbmVudHMvX21vYmlsZS1tZW51LnNjc3MiLCJfY29tcG9uZW50cy9fYmVlbGRiYW5rLXJlc3VsdC5zY3NzIiwiX2NvbXBvbmVudHMvX2ZpeGVkLWhlYWRlci5zY3NzIiwiX2NvbXBvbmVudHMvX2Nvb2tpZS1jb25zZW50LnNjc3MiLCJfY29tcG9uZW50cy9fZXh0cmEtc2VhcmNoLXJlc3VsdHMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy90aXBweS5qcy9kaXN0L3RpcHB5LmNzcyIsIl9jb21wb25lbnRzL190aXBweS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLDZGQUFZO0FDSlo7Ozs7O0dBS0c7QUNKRCw0RUFBNEU7QUFRNUU7RUFDRSxrQkFBaUI7RUFDakIsK0JBQThCLEVBQy9COztBQU9EO0VBQ0UsVUFBUyxFQUNWOztBQUtEO0VBQ0UsZUFBYztFQUNkLGlCQUFnQixFQUNqQjs7QUFRRDtFQUNFLGdDQUF1QjtVQUF2Qix3QkFBdUI7RUFDdkIsVUFBUztFQUNULGtCQUFpQixFQUNsQjs7QUFLRDtFQUNFLGtDQUFpQztFQUNqQyxlQUFjLEVBQ2Y7O0FBT0Q7RUFDRSw4QkFBNkIsRUFDOUI7O0FBS0Q7RUFDRSxvQkFBbUI7RUFDbkIsMkJBQTBCO0VBQzFCLDBDQUFpQztVQUFqQyxrQ0FBaUMsRUFDbEM7O0FBSUQ7O0VBRUUsb0JBQW1CLEVBQ3BCOztBQUtEOzs7RUFHRSxr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QWMsRUFDZjtFQVZMO0lDOUJBLGdCQUhhLEVEc0RWO0lBckJIO01Ba0JNLG1CQUFrQjtNQUNsQixrQkFBaUIsRUFDbEI7RUFwQkw7SUM5QkEsZ0JBSGEsRUQwRFY7RUF6Qkg7SUl6R0UsaUJGdUVTO0lFdEVULGdCRnNFUyxFRmdFTjtFQTlCTDs7O0lBcUNJLGdCQUFlO0lBQ2YsZUFBYyxFQUNmOztBQUlIO0VBdERBLG9CQXhEYztNQXdEZCxrQkF4RGM7VUF3RGQsY0F4RGM7RUl0Q1osd0JBRnFDO0VBR3JDLHVCQUhxQztFSnFFckMsYUFBWSxFQW1GYjtFR05HO0lISUo7TUlwSkUseUJBRnFDO01BR3JDLHdCQUhxQyxFSndKdEMsRUFBQTs7QUFJRDtFQUNFLFlBQVc7RUFDWCxlQUFjLEVBQ2Y7O0FBR0Q7RUFDRSxnQkFBZTtFQUNmLGVBQWM7RUFDZCxpQkFBZ0I7RUFDaEIsZ0JBQWUsRUFDaEI7O0FBS0c7RUFDRSxvQktwSytDO01Mb0svQyx1QktwSytDO1VMb0svQyxtQktwSytDO0VMcUsvQyxvQktySytDLEVMc0toRDs7QUFLRDtFTXRJSixnQkR4Q2dDLEVMZ0wzQjs7QUFWRDtFQUNFLG9CS3BLK0M7TUxvSy9DLHdCS3BLK0M7VUxvSy9DLG9CS3BLK0M7RUxxSy9DLHFCS3JLK0MsRUxzS2hEOztBQUtEO0VNdElKLHNCRHJDcUQsRUw2S2hEOztBQVZEO0VBQ0Usb0JLcEsrQztNTG9LL0Msa0JLcEsrQztVTG9LL0MsY0twSytDO0VMcUsvQyxlS3JLK0MsRUxzS2hEOztBQUtEO0VNdElKLHVCRHJDcUQsRUw2S2hEOztBQVZEO0VBQ0Usb0JLcEsrQztNTG9LL0Msd0JLcEsrQztVTG9LL0Msb0JLcEsrQztFTHFLL0MscUJLcksrQyxFTHNLaEQ7O0FBS0Q7RU10SUosaUJEckNxRCxFTDZLaEQ7O0FBVkQ7RUFDRSxvQktwSytDO01Mb0svQyx3QktwSytDO1VMb0svQyxvQktwSytDO0VMcUsvQyxxQktySytDLEVMc0toRDs7QUFLRDtFTXRJSix1QkRyQ3FELEVMNktoRDs7QUFWRDtFQUNFLG9CS3BLK0M7TUxvSy9DLGtCS3BLK0M7VUxvSy9DLGNLcEsrQztFTHFLL0MsZUtySytDLEVMc0toRDs7QUFLRDtFTXRJSix1QkRyQ3FELEVMNktoRDs7QUFWRDtFQUNFLG9CS3BLK0M7TUxvSy9DLHdCS3BLK0M7VUxvSy9DLG9CS3BLK0M7RUxxSy9DLHFCS3JLK0MsRUxzS2hEOztBQUtEO0VNdElKLGlCRHJDcUQsRUw2S2hEOztBQVZEO0VBQ0Usb0JLcEsrQztNTG9LL0Msd0JLcEsrQztVTG9LL0Msb0JLcEsrQztFTHFLL0MscUJLcksrQyxFTHNLaEQ7O0FBS0Q7RU10SUosdUJEckNxRCxFTDZLaEQ7O0FBVkQ7RUFDRSxvQktwSytDO01Mb0svQyxrQktwSytDO1VMb0svQyxjS3BLK0M7RUxxSy9DLGVLcksrQyxFTHNLaEQ7O0FBS0Q7RU10SUosdUJEckNxRCxFTDZLaEQ7O0FBVkQ7RUFDRSxvQktwSytDO01Mb0svQyx3QktwSytDO1VMb0svQyxvQktwSytDO0VMcUsvQyxxQktySytDLEVMc0toRDs7QUFLRDtFTXRJSixpQkRyQ3FELEVMNktoRDs7QUFWRDtFQUNFLG9CS3BLK0M7TUxvSy9DLHdCS3BLK0M7VUxvSy9DLG9CS3BLK0M7RUxxSy9DLHFCS3JLK0MsRUxzS2hEOztBQUtEO0VNdElKLHVCRHJDcUQsRUw2S2hEOztBQVZEO0VBQ0Usb0JLcEsrQztNTG9LL0MsbUJLcEsrQztVTG9LL0MsZUtwSytDO0VMcUsvQyxnQktySytDLEVMc0toRDs7QUFLRDtFTXRJSix1QkRyQ3FELEVMNktoRDs7QUFLRDtFQTFHSixvQkFBZTtNQUFmLGdCQUFlLEVBNEdWO0VBMUdMO0lBR0Usb0JBRnNCO1FBRXRCLG1CQUZzQjtZQUV0QixlQUZzQjtJQUd0QixnQkFIc0IsRUFJdkI7O0FBbUdHO0VBMUdKLG9CQUFlO01BQWYsZ0JBQWUsRUE0R1Y7RUExR0w7SUFHRSxvQkFGc0I7UUFFdEIsa0JBRnNCO1lBRXRCLGNBRnNCO0lBR3RCLGVBSHNCLEVBSXZCOztBQW1HRztFQTFHSixvQkFBZTtNQUFmLGdCQUFlLEVBNEdWO0VBMUdMO0lBR0Usb0JBRnNCO1FBRXRCLHdCQUZzQjtZQUV0QixvQkFGc0I7SUFHdEIscUJBSHNCLEVBSXZCOztBQW1HRztFQTFHSixvQkFBZTtNQUFmLGdCQUFlLEVBNEdWO0VBMUdMO0lBR0Usb0JBRnNCO1FBRXRCLGtCQUZzQjtZQUV0QixjQUZzQjtJQUd0QixlQUhzQixFQUl2Qjs7QUFtR0c7RUExR0osb0JBQWU7TUFBZixnQkFBZSxFQTRHVjtFQTFHTDtJQUdFLG9CQUZzQjtRQUV0QixrQkFGc0I7WUFFdEIsY0FGc0I7SUFHdEIsZUFIc0IsRUFJdkI7O0FBbUdHO0VBMUdKLG9CQUFlO01BQWYsZ0JBQWUsRUE0R1Y7RUExR0w7SUFHRSxvQkFGc0I7UUFFdEIsd0JBRnNCO1lBRXRCLG9CQUZzQjtJQUd0QixxQkFIc0IsRUFJdkI7O0FBbUdHO0VBMUdKLG9CQUFlO01BQWYsZ0JBQWUsRUE0R1Y7RUExR0w7SUFHRSxvQkFGc0I7UUFFdEIsd0JBRnNCO1lBRXRCLG9CQUZzQjtJQUd0QixxQkFIc0IsRUFJdkI7O0FBbUdHO0VBMUdKLG9CQUFlO01BQWYsZ0JBQWUsRUE0R1Y7RUExR0w7SUFHRSxvQkFGc0I7UUFFdEIsb0JBRnNCO1lBRXRCLGdCQUZzQjtJQUd0QixpQkFIc0IsRUFJdkI7O0FBK0hDO0VJck5BLGlCRnVFUztFRXRFVCxnQkZzRVMsRUYrSW1DOztBQUc1QztFSXpOQSx3QkFGcUM7RUFHckMsdUJBSHFDLEVKNE5nQjs7QUcxRW5EO0VIMEJBO0lBQ0Usb0JLcEsrQztRTG9LL0MsdUJLcEsrQztZTG9LL0MsbUJLcEsrQztJTHFLL0Msb0JLcksrQyxFTHNLaEQ7RUFLRDtJTXRJSixnQkR4Q2dDLEVMZ0wzQjtFQVZEO0lBQ0Usb0JLcEsrQztRTG9LL0Msd0JLcEsrQztZTG9LL0Msb0JLcEsrQztJTHFLL0MscUJLcksrQyxFTHNLaEQ7RUFLRDtJTXRJSixzQkRyQ3FELEVMNktoRDtFQVZEO0lBQ0Usb0JLcEsrQztRTG9LL0Msa0JLcEsrQztZTG9LL0MsY0twSytDO0lMcUsvQyxlS3JLK0MsRUxzS2hEO0VBS0Q7SU10SUosdUJEckNxRCxFTDZLaEQ7RUFWRDtJQUNFLG9CS3BLK0M7UUxvSy9DLHdCS3BLK0M7WUxvSy9DLG9CS3BLK0M7SUxxSy9DLHFCS3JLK0MsRUxzS2hEO0VBS0Q7SU10SUosaUJEckNxRCxFTDZLaEQ7RUFWRDtJQUNFLG9CS3BLK0M7UUxvSy9DLHdCS3BLK0M7WUxvSy9DLG9CS3BLK0M7SUxxSy9DLHFCS3JLK0MsRUxzS2hEO0VBS0Q7SU10SUosdUJEckNxRCxFTDZLaEQ7RUFWRDtJQUNFLG9CS3BLK0M7UUxvSy9DLGtCS3BLK0M7WUxvSy9DLGNLcEsrQztJTHFLL0MsZUtySytDLEVMc0toRDtFQUtEO0lNdElKLHVCRHJDcUQsRUw2S2hEO0VBVkQ7SUFDRSxvQktwSytDO1FMb0svQyx3QktwSytDO1lMb0svQyxvQktwSytDO0lMcUsvQyxxQktySytDLEVMc0toRDtFQUtEO0lNdElKLGlCRHJDcUQsRUw2S2hEO0VBVkQ7SUFDRSxvQktwSytDO1FMb0svQyx3QktwSytDO1lMb0svQyxvQktwSytDO0lMcUsvQyxxQktySytDLEVMc0toRDtFQUtEO0lNdElKLHVCRHJDcUQsRUw2S2hEO0VBVkQ7SUFDRSxvQktwSytDO1FMb0svQyxrQktwSytDO1lMb0svQyxjS3BLK0M7SUxxSy9DLGVLcksrQyxFTHNLaEQ7RUFLRDtJTXRJSix1QkRyQ3FELEVMNktoRDtFQVZEO0lBQ0Usb0JLcEsrQztRTG9LL0Msd0JLcEsrQztZTG9LL0Msb0JLcEsrQztJTHFLL0MscUJLcksrQyxFTHNLaEQ7RUFLRDtJTXRJSixpQkRyQ3FELEVMNktoRDtFQVZEO0lBQ0Usb0JLcEsrQztRTG9LL0Msd0JLcEsrQztZTG9LL0Msb0JLcEsrQztJTHFLL0MscUJLcksrQyxFTHNLaEQ7RUFLRDtJTXRJSix1QkRyQ3FELEVMNktoRDtFQVZEO0lBQ0Usb0JLcEsrQztRTG9LL0MsbUJLcEsrQztZTG9LL0MsZUtwSytDO0lMcUsvQyxnQktySytDLEVMc0toRDtFQUtEO0lNdElKLHVCRHJDcUQsRUw2S2hEO0VBS0Q7SUExR0osb0JBQWU7UUFBZixnQkFBZSxFQTRHVjtJQTFHTDtNQUdFLG9CQUZzQjtVQUV0QixtQkFGc0I7Y0FFdEIsZUFGc0I7TUFHdEIsZ0JBSHNCLEVBSXZCO0VBbUdHO0lBMUdKLG9CQUFlO1FBQWYsZ0JBQWUsRUE0R1Y7SUExR0w7TUFHRSxvQkFGc0I7VUFFdEIsa0JBRnNCO2NBRXRCLGNBRnNCO01BR3RCLGVBSHNCLEVBSXZCO0VBbUdHO0lBMUdKLG9CQUFlO1FBQWYsZ0JBQWUsRUE0R1Y7SUExR0w7TUFHRSxvQkFGc0I7VUFFdEIsd0JBRnNCO2NBRXRCLG9CQUZzQjtNQUd0QixxQkFIc0IsRUFJdkI7RUFtR0c7SUExR0osb0JBQWU7UUFBZixnQkFBZSxFQTRHVjtJQTFHTDtNQUdFLG9CQUZzQjtVQUV0QixrQkFGc0I7Y0FFdEIsY0FGc0I7TUFHdEIsZUFIc0IsRUFJdkI7RUFtR0c7SUExR0osb0JBQWU7UUFBZixnQkFBZSxFQTRHVjtJQTFHTDtNQUdFLG9CQUZzQjtVQUV0QixrQkFGc0I7Y0FFdEIsY0FGc0I7TUFHdEIsZUFIc0IsRUFJdkI7RUFtR0c7SUExR0osb0JBQWU7UUFBZixnQkFBZSxFQTRHVjtJQTFHTDtNQUdFLG9CQUZzQjtVQUV0Qix3QkFGc0I7Y0FFdEIsb0JBRnNCO01BR3RCLHFCQUhzQixFQUl2QjtFQW1HRztJQTFHSixvQkFBZTtRQUFmLGdCQUFlLEVBNEdWO0lBMUdMO01BR0Usb0JBRnNCO1VBRXRCLHdCQUZzQjtjQUV0QixvQkFGc0I7TUFHdEIscUJBSHNCLEVBSXZCO0VBbUdHO0lBMUdKLG9CQUFlO1FBQWYsZ0JBQWUsRUE0R1Y7SUExR0w7TUFHRSxvQkFGc0I7VUFFdEIsb0JBRnNCO2NBRXRCLGdCQUZzQjtNQUd0QixpQkFIc0IsRUFJdkIsRUFBQTs7QUcwREc7RUhpREU7SUFDRSxvQkE1Sk07UUE0Sk4sa0JBNUpNO1lBNEpOLGNBNUpNLEVBNkpQLEVBQUE7O0FBS0Q7RUFFSSxvQkFBMkI7TUFBM0IsbUJBQTJCO1VBQTNCLGVBQTJCLEVBSzVCO0VHL0RMO0lId0RFO01BS00sb0JBdktFO1VBdUtGLGtCQXZLRTtjQXVLRixjQXZLRSxFQXlLTCxFQUFBOztBRy9ETDtFSHFFRjtJSXJOQSxpQkZ1RVM7SUV0RVQsZ0JGc0VTLEVGK0ltQztFQUc1QztJSXpOQSx5QkFGcUM7SUFHckMsd0JBSHFDLEVKNE5nQixFQUFBOztBRzFFbkQ7RUgwQkE7SUFDRSxvQktwSytDO1FMb0svQyx1QktwSytDO1lMb0svQyxtQktwSytDO0lMcUsvQyxvQktySytDLEVMc0toRDtFQUtEO0lNdElKLGdCRHhDZ0MsRUxnTDNCO0VBVkQ7SUFDRSxvQktwSytDO1FMb0svQyx3QktwSytDO1lMb0svQyxvQktwSytDO0lMcUsvQyxxQktySytDLEVMc0toRDtFQUtEO0lNdElKLHNCRHJDcUQsRUw2S2hEO0VBVkQ7SUFDRSxvQktwSytDO1FMb0svQyxrQktwSytDO1lMb0svQyxjS3BLK0M7SUxxSy9DLGVLcksrQyxFTHNLaEQ7RUFLRDtJTXRJSix1QkRyQ3FELEVMNktoRDtFQVZEO0lBQ0Usb0JLcEsrQztRTG9LL0Msd0JLcEsrQztZTG9LL0Msb0JLcEsrQztJTHFLL0MscUJLcksrQyxFTHNLaEQ7RUFLRDtJTXRJSixpQkRyQ3FELEVMNktoRDtFQVZEO0lBQ0Usb0JLcEsrQztRTG9LL0Msd0JLcEsrQztZTG9LL0Msb0JLcEsrQztJTHFLL0MscUJLcksrQyxFTHNLaEQ7RUFLRDtJTXRJSix1QkRyQ3FELEVMNktoRDtFQVZEO0lBQ0Usb0JLcEsrQztRTG9LL0Msa0JLcEsrQztZTG9LL0MsY0twSytDO0lMcUsvQyxlS3JLK0MsRUxzS2hEO0VBS0Q7SU10SUosdUJEckNxRCxFTDZLaEQ7RUFWRDtJQUNFLG9CS3BLK0M7UUxvSy9DLHdCS3BLK0M7WUxvSy9DLG9CS3BLK0M7SUxxSy9DLHFCS3JLK0MsRUxzS2hEO0VBS0Q7SU10SUosaUJEckNxRCxFTDZLaEQ7RUFWRDtJQUNFLG9CS3BLK0M7UUxvSy9DLHdCS3BLK0M7WUxvSy9DLG9CS3BLK0M7SUxxSy9DLHFCS3JLK0MsRUxzS2hEO0VBS0Q7SU10SUosdUJEckNxRCxFTDZLaEQ7RUFWRDtJQUNF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Q0YsMkJBdkNrQjtNQXVDbEIsd0JBdkNrQjtVQXVDbEIscUJBdkNrQixFRDZFZjs7QUFFRDtFQ3hCRiw2QkF2RGtCO01BdURsQixvQkF2RGtCLEVEaUZmOztBQUlIO0VDL0NBLHlCQW5Ea0I7TUFtRGxCLHNCQW5Ea0I7VUFtRGxCLHdCQW5Ea0I7RUFvRGxCLDBCQXhDZ0I7TUF3Q2hCLHVCQXhDZ0I7VUF3Q2hCLG9CQXhDZ0I7RUR3RmQsMkJBQXFCO01BQXJCLHNCQUFxQixFQUN0Qjs7QUFLRztFQ2hDSiw2QkQrQmdCO01DL0JoQixrQkQrQmdCO1VDL0JoQixTRCtCZ0IsRUFHWDs7QUFGRDtFQ2hDSiw2QkQrQmdCO01DL0JoQixrQkQrQmdCO1VDL0JoQixTRCtCZ0IsRUFHWDs7QUFGRDtFQ2hDSiw2QkQrQmdCO01DL0JoQixrQkQrQmdCO1VDL0JoQixTRCtCZ0IsRUFHWDs7QUFGRDtFQ2hDSiw2QkQrQmdCO01DL0JoQixrQkQrQmdCO1VDL0JoQixTRCtCZ0IsRUFHWDs7QUFGRDtFQ2hDSiw2QkQrQmdCO01DL0JoQixrQkQrQmdCO1VDL0JoQixTRCtCZ0IsRUFHWDs7QUFGRDtFQ2hDSiw2QkQrQmdCO01DL0JoQixrQkQrQmdCO1VDL0JoQixTRCtCZ0IsRUFHWDs7QVZzREQ7RVV4REE7SUNoQ0osNkJEK0JnQjtRQy9CaEIsa0JEK0JnQjtZQy9CaEIsU0QrQmdCLEVBR1g7RUFGRDtJQ2hDSiw2QkQrQmdCO1FDL0JoQixrQkQrQmdCO1lDL0JoQixTRCtCZ0IsRUFHWDtFQUZEO0lDaENKLDZCRCtCZ0I7UUMvQmhCLGtCRCtCZ0I7WUMvQmhCLFNEK0JnQixFQUdYO0VBRkQ7SUNoQ0osNkJEK0JnQjtRQy9CaEIsa0JEK0JnQjtZQy9CaEIsU0QrQmdCLEVBR1g7RUFGRDtJQ2hDSiw2QkQrQmdCO1FDL0JoQixrQkQrQmdCO1lDL0JoQixTRCtCZ0IsRUFHWDtFQUZEO0lDaENKLDZCRCtCZ0I7UUMvQmhCLGtCRCtCZ0I7WUMvQmhCLFNEK0JnQixFQUdYLEVBQUE7O0FWc0REO0VVeERBO0lDaENKLDZCRCtCZ0I7UUMv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O0VBQUMsa0VBQWdEO0VBQWhELDBEQUFnRDtFQUFoRCxrREFBZ0Q7RUFBaEQsb0VBQWdELEVBQUU7O0FBQUQ7RUFBNkMsVUFBUSxFQUFFOztBQUFEO0VBQW9ELGFBQVc7RUFBQyxRQUFNO0VBQUMsd0JBQXNCO0VBQUMsMEJBQXdCO0VBQUMscUNBQTJCO1VBQTNCLDZCQUEyQixFQUFFOztBQUFEO0VBQWdELE9BQUssRUFBRTs7QUFBRDtFQUF1RCxVQUFRO0VBQUMsUUFBTTtFQUFDLHdCQUFzQjtFQUFDLDZCQUEyQjtFQUFDLHdDQUE4QjtVQUE5QixnQ0FBOEIsRUFBRTs7QUFBRDtFQUE4QyxTQUFPLEVBQUU7O0FBQUQ7RUFBcUQsNEJBQTBCO0VBQUMsMkJBQXlCO0VBQUMsWUFBVTtFQUFDLHNDQUE0QjtVQUE1Qiw4QkFBNEIsRUFBRTs7QUFBRDtFQUErQyxRQUFNLEVBQUU7O0FBQUQ7RUFBc0QsV0FBUztFQUFDLDRCQUEwQjtFQUFDLDRCQUEwQjtFQUFDLHVDQUE2QjtVQUE3QiwrQkFBNkIsRUFBRTs7QUFBRDtFQUE2Qyx3RUFBeUQ7VUFBekQsZ0VBQXlELEVBQUU7O0FBQUQ7RUFBYSxZQUFVO0VBQUMsYUFBVztFQUFDLFlBQVUsRUFBRTs7QUFBRDtFQUFvQixZQUFVO0VBQUMsbUJBQWlCO0VBQUMsMEJBQXdCO0VBQUMsb0JBQWtCLEVBQUU7O0FBQUQ7RUFBZSxtQkFBaUI7RUFBQyxpQkFBZTtFQUFDLFdBQVMsRUFBRTs7QUNFbDRDO0VBQ0UsdUJBQXNCO0VBQ3RCLGlCQUFnQixFQUFHOztBQUVyQjtFQUNFLHVCQUFzQixFQUFHOztBQUUzQjtFQUNFLDBCQUF5QixFQUFHOztBQUU5QjtFQUNFLHdCQUF1QixFQUFHOztBQUU1QjtFQUNFLHlCQUF3QixFQUFHOztBQUU3QjtFQUNFLHVCQUFzQixFQUFHOztBQUUzQjtFQUNFLFdBQVUsRUFBRyIsImZpbGUiOiJhcHAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQmFzZSBzZXR0aW5nc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09XG4kdHJhbnNpdGlvbi1kdXJhdGlvbjogICAzMDBtcztcblxuQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1Ib3N0K0dyb3Rlc2s6NDAwLDUwMCw3MDAmZGlzcGxheT1zd2FwJyk7XG5cbi8vIEZvbnRzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiRmb250LXNpemU6ICAgICAgICAgICAgIHJlbS1jYWxjKDE2cHgpO1xuJGZvbnQtbWFpbjogICAgICAgICAgICAgJ0hvc3QgR3JvdGVzaycsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7O1xuJGZvbnQtaGVhZGVyOiAgICAgICAgICAgJ0hvc3QgR3JvdGVzaycsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG5cblxuLy8gR2VuZXJhbCBjb2xvcnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PVxuJGd2YS1jb2xvci0xOiAgICAgICAgICAgIzAwODA3Rjtcbi8vJGd2YS1jb2xvci0yOiAgICAgICAgICAgIzMyOTZDRTtcblxuJGd2YS1jb2xvci0zOiAgICAgICAgICAgIzAxNEQ1MztcbiRndmEtY29sb3ItNDogICAgICAgICAgICM4NGIxYWU7XG4kZ3ZhLWNvbG9yLTU6ICAgICAgICAgICAjRTdGMUYzOyAvL2UxZTJkYlxuJGd2YS1jb2xvci02OiAgICAgICAgICAgIzAxNEQ1MztcblxuLy8gV0NBRyBjdXN0b20gY29sb3JzXG4kZ3ZhLWNvbG9yLTI6ICAgICAgICAgICAkZ3ZhLWNvbG9yLTE7XG5cbi8vIFRleHQgY29sb3JzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiRmb250LWNvbG9yOiAgICAgICAgICAgICMwMDAwMDA7XG4kaGVhZGluZy1jb2xvcjogICAgICAgICAkZ3ZhLWNvbG9yLTE7XG4kbGluay1jb2xvcjogICAgICAgICAgICAkZ3ZhLWNvbG9yLTE7IC8vIExpbmsgY29sb3IgZG9lcyBub3QgZm9sbG93IGRlc2lnbiBiZWNhdXNlIG9mIFdDQUdcbiRmb3JtLWNvbG9yOiAgICAgICAgICAgICMwMDAwMDA7XG4kdGFibGUtY29sb3I6ICAgICAgICAgICAjMDAwMDAwO1xuXG4vLyBUZW1wbGF0ZSBjb2xvcnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PVxuJGJvcmRlci1jb2xvcjogICAgICAgICAgI2NjY2NjYztcblxuXG4vLyBNYXJnaW5zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiRtYXJnaW4tYm90dG9tLTE6ICAgICAgIDFlbTtcbiRtYXJnaW4tYm90dG9tLTI6ICAgICAgIDJlbTtcbiRtYXJnaW4tYm90dG9tLTM6ICAgICAgIDRlbTtcbiRtYXJnaW4tYm90dG9tLXJlc3BvbnNpdmU6IDR2aDtcbiRtYXJnaW4tZ3V0dGVyOiAgICAgICAgIHJlbS1jYWxjKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgc21hbGwpKTtcblxuXG4vLyBTaGFkb3dzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiR3YXJuaW5nOiAgICAgICAgICAgICAgICNmZmYzZDQ7XG4kd2FybmluZy1ib3JkZXI6ICAgICAgICAjZjZiNzNjO1xuXG5cbi8vIEJ1dHRvbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PVxuJGJ1dHRvbi1ib3JkZXItcmFkaXVzOiAgMTAwMHB4O1xuXG4vLyBTaGFkb3dzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiRib3gtc2hhZG93LTE6ICAgICAgICAgIDBweCAwcHggOHB4IDBweCByZ2JhKDAsMCwwLDAuMjUpO1xuJGJveC1zaGFkb3ctMjogICAgICAgICAgMnB4IDJweCA4cHggMHB4IHJnYmEoMCwwLDAsMSk7XG4kYm94LXNoYWRvdy0zOiAgICAgICAgICAwcHggMHB4IDI0cHggMHB4IHJnYmEoMCwwLDAsMC4xMik7XG4kdGV4dC1zaGFkb3ctMTogICAgICAgICAycHggMnB4IDRweCAjMDAwMDAwO1xuIiwiLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuNS4zXG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuXG4vLyBEZXBlbmRlbmNpZXNcbkBpbXBvcnQgJ3ZlbmRvci9ub3JtYWxpemUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL21pc3NpbmctZGVwZW5kZW5jaWVzJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy90cnVlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL2NvbnRhaW4nO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcHVyZ2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVtb3ZlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlcGxhY2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvdG8tbGlzdCc7XG5cbi8vIC0tLSBTZXR0aW5ncyAtLS1cbi8vIGltcG9ydCB5b3VyIG93biBgc2V0dGluZ3NgIGhlcmUgb3Jcbi8vIGltcG9ydCBhbmQgbW9kaWZ5IHRoZSBkZWZhdWx0IHNldHRpbmdzIHRocm91Z2hcbi8vIEBpbXBvcnQgJ3NldHRpbmdzL3NldHRpbmdzJztcblxuLy8gLS0tIENvbXBvbmVudHMgLS0tXG4vLyBVdGlsaXRpZXNcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG4vLyBHbG9iYWwgc3R5bGVzXG5AaW1wb3J0ICdnbG9iYWwnO1xuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xuQGltcG9ydCAndHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcblxuLy8gR3JpZHNcbkBpbXBvcnQgJ2dyaWQvZ3JpZCc7XG5AaW1wb3J0ICd4eS1ncmlkL3h5LWdyaWQnO1xuLy8gR2VuZXJpYyBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Nsb3NlLWJ1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xhYmVsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3dpdGNoJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUnO1xuLy8gQmFzaWMgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhcmQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwJztcblxuLy8gQ29udGFpbmVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZWRpYS1vYmplY3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vcmJpdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Jlc3BvbnNpdmUtZW1iZWQnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcbi8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudS1pY29uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcmlsbGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bi1tZW51JztcblxuLy8gTGF5b3V0IGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb2ZmLWNhbnZhcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N0aWNreSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RvcC1iYXInO1xuXG4vLyBIZWxwZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL2Zsb2F0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Zpc2liaWxpdHknO1xuQGltcG9ydCAncHJvdG90eXBlL3Byb3RvdHlwZSc7XG5cblxuQG1peGluIGZvdW5kYXRpb24tZXZlcnl0aGluZyhcbiAgJGZsZXg6IHRydWUsXG4gICRwcm90b3R5cGU6IGZhbHNlXG4pIHtcbiAgQGlmICRmbGV4IHtcbiAgICAkZ2xvYmFsLWZsZXhib3g6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIC8vIEdsb2JhbCBzdHlsZXNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG5cbiAgLy8gR3JpZHNcbiAgQGlmIG5vdCAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgJHh5LWdyaWQge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXM7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEdlbmVyaWMgY29tcG9uZW50c1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuICAvLyBCYXNpYyBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcblxuICAvLyBDb250YWluZXJzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuICAvLyBNZW51LWJhc2VkIGNvbnRhaW5lcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuXG4gIC8vIExheW91dCBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuXG4gIC8vIEhlbHBlcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuICBAaWYgJGZsZXggeyBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlczsgfVxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcbiAgQGlmICRwcm90b3R5cGUgeyBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzOyB9XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1ub3JtYWxpemUoKSB7XG4gIC8qISBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuICAvLyBEb2N1bWVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG5cbiAgaHRtbCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDFcbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDJcbiAgfVxuXG4gIC8vIFNlY3Rpb25zXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgLy8gYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cblxuICBoMSB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbWFyZ2luOiAwLjY3ZW0gMDtcbiAgfVxuXG4gIC8vIEdyb3VwaW5nIGNvbnRlbnRcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAvLyAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cblxuICBociB7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8vIDFcbiAgICBoZWlnaHQ6IDA7IC8vIDFcbiAgICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gMlxuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHByZSB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvLyAxXG4gICAgZm9udC1zaXplOiAxZW07IC8vIDJcbiAgfVxuXG4gIC8vIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuXG4gIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLy8gMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAgLy8gMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cblxuICBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLy8gMVxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvLyAyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvLyAyXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuXG4gIGIsXG4gIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cblxuICBjb2RlLFxuICBrYmQsXG4gIHNhbXAge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLy8gMVxuICAgIGZvbnQtc2l6ZTogMWVtOyAvLyAyXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cblxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiA4MCU7XG4gIH1cblxuICAvLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgLy8gYWxsIGJyb3dzZXJzLlxuXG4gIHN1YixcbiAgc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgc3ViIHtcbiAgICBib3R0b206IC0wLjI1ZW07XG4gIH1cblxuICBzdXAge1xuICAgIHRvcDogLTAuNWVtO1xuICB9XG5cbiAgLy8gRW1iZWRkZWQgY29udGVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG5cbiAgaW1nIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIH1cblxuICAvLyBGb3Jtc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG5cbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvLyAxXG4gICAgZm9udC1zaXplOiAxMDAlOyAvLyAxXG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDFcbiAgICBtYXJnaW46IDA7IC8vIDJcbiAgfVxuXG4gIC8vIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAvLyAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuXG4gIGJ1dHRvbixcbiAgaW5wdXQgeyAvLyAxXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgLy8gMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuXG4gIGJ1dHRvbixcbiAgc2VsZWN0IHsgLy8gMVxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cblxuICBidXR0b24sXG4gIFt0eXBlPVwiYnV0dG9uXCJdLFxuICBbdHlwZT1cInJlc2V0XCJdLFxuICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuXG4gIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cblxuICBidXR0b246LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuXG4gIGZpZWxkc2V0IHtcbiAgICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gIC8vIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgLy8gICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgbGVnZW5kIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gICAgY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgICBkaXNwbGF5OiB0YWJsZTsgLy8gMVxuICAgIG1heC13aWR0aDogMTAwJTsgLy8gMVxuICAgIHBhZGRpbmc6IDA7IC8vIDNcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvLyAxXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuXG4gIHByb2dyZXNzIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cblxuICB0ZXh0YXJlYSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAgLy8gMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuXG4gIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gIFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbiAgICBwYWRkaW5nOiAwOyAvLyAyXG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG5cbiAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG5cbiAgW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyAxXG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8vIDJcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cblxuICBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgLy8gMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuXG4gIDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAxXG4gICAgZm9udDogaW5oZXJpdDsgLy8gMlxuICB9XG5cbiAgLy8gSW50ZXJhY3RpdmVcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuXG4gIGRldGFpbHMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgfVxuXG4gIC8vIE1pc2NcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG5cbiAgdGVtcGxhdGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cblxuICBbaGlkZGVuXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiQGltcG9ydCB1cmwoXCJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9SG9zdCtHcm90ZXNrOjQwMCw1MDAsNzAwJmRpc3BsYXk9c3dhcFwiKTtcbi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuICogVmVyc2lvbiA2LjUuM1xuICogZm91bmRhdGlvbi56dXJiLmNvbVxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cbi8qISBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyB9XG5cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07IH1cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgfVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07IH1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7IH1cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIG1hcmdpbjogMDsgfVxuXG5idXR0b24sXG5pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IH1cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7IH1cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07IH1cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IH1cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDA7IH1cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgfVxuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIGZvbnQ6IGluaGVyaXQ7IH1cblxuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IH1cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZm91bmRhdGlvbi1tcSB7XG4gIGZvbnQtZmFtaWx5OiBcInNtYWxsPTBlbSZtZWRpdW09NDBlbSZsYXJnZT02NGVtJnhsYXJnZT03NWVtJnh4bGFyZ2U9OTBlbVwiOyB9XG5cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmb250LXNpemU6IDEwMCU7IH1cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDsgfVxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBmb250LWZhbWlseTogXCJIb3N0IEdyb3Rlc2tcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbmltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7IH1cblxudGV4dGFyZWEge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDUwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuc2VsZWN0IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLm1hcF9jYW52YXMgaW1nLFxuLm1hcF9jYW52YXMgZW1iZWQsXG4ubWFwX2NhbnZhcyBvYmplY3QsXG4ubXFhLWRpc3BsYXkgaW1nLFxuLm1xYS1kaXNwbGF5IGVtYmVkLFxuLm1xYS1kaXNwbGF5IG9iamVjdCB7XG4gIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50OyB9XG5cbmJ1dHRvbiB7XG4gIHBhZGRpbmc6IDA7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IGF1dG87IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgfVxuXG4uaXMtdmlzaWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLmlzLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4ucm93IHtcbiAgbWF4LXdpZHRoOiA4OXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuICAucm93IC5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnJvdyAucm93IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC44MTI1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuODEyNXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5yb3cgLnJvdyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuODEyNXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjgxMjVyZW07IH0gfVxuICAgIC5yb3cgLnJvdy5jb2xsYXBzZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAucm93LmV4cGFuZGVkIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgICAucm93LmV4cGFuZGVkIC5yb3cge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgLnJvdzpub3QoLmV4cGFuZGVkKSAucm93IHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW4sIC5yb3cuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLnJvdy5pcy1jb2xsYXBzZS1jaGlsZCxcbiAgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW4gPiAucm93LFxuICAucm93LmNvbGxhcHNlID4gLmNvbHVtbnMgPiAucm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmNvbHVtbiwgLmNvbHVtbnMge1xuICBmbGV4OiAxIDEgMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgbWluLXdpZHRoOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbHVtbiwgLmNvbHVtbnMge1xuICAgICAgcGFkZGluZy1yaWdodDogMC44MTI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjgxMjVyZW07IH0gfVxuXG4uY29sdW1uLnJvdy5yb3csIC5yb3cucm93LmNvbHVtbnMge1xuICBmbG9hdDogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLnJvdyAuY29sdW1uLnJvdy5yb3csIC5yb3cgLnJvdy5yb3cuY29sdW1ucyB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4uc21hbGwtMSB7XG4gIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgbWF4LXdpZHRoOiA4LjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTAge1xuICBtYXJnaW4tbGVmdDogMCU7IH1cblxuLnNtYWxsLTIge1xuICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cblxuLnNtYWxsLTMge1xuICBmbGV4OiAwIDAgMjUlO1xuICBtYXgtd2lkdGg6IDI1JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC00IHtcbiAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuXG4uc21hbGwtNSB7XG4gIGZsZXg6IDAgMCA0MS42NjY2NyU7XG4gIG1heC13aWR0aDogNDEuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLTYge1xuICBmbGV4OiAwIDAgNTAlO1xuICBtYXgtd2lkdGg6IDUwJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG5cbi5zbWFsbC03IHtcbiAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuXG4uc21hbGwtOCB7XG4gIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gIG1heC13aWR0aDogNjYuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cblxuLnNtYWxsLTkge1xuICBmbGV4OiAwIDAgNzUlO1xuICBtYXgtd2lkdGg6IDc1JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG5cbi5zbWFsbC0xMCB7XG4gIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gIG1heC13aWR0aDogODMuMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiA3NSU7IH1cblxuLnNtYWxsLTExIHtcbiAgZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA5MS42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cblxuLnNtYWxsLTEyIHtcbiAgZmxleDogMCAwIDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4uc21hbGwtdXAtMSB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtMSA+IC5jb2x1bW4sIC5zbWFsbC11cC0xID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuXG4uc21hbGwtdXAtMiB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtMiA+IC5jb2x1bW4sIC5zbWFsbC11cC0yID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH1cblxuLnNtYWxsLXVwLTMge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnNtYWxsLXVwLTMgPiAuY29sdW1uLCAuc21hbGwtdXAtMyA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC11cC00IHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC00ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuXG4uc21hbGwtdXAtNSB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtNSA+IC5jb2x1bW4sIC5zbWFsbC11cC01ID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAyMCU7XG4gICAgbWF4LXdpZHRoOiAyMCU7IH1cblxuLnNtYWxsLXVwLTYge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnNtYWxsLXVwLTYgPiAuY29sdW1uLCAuc21hbGwtdXAtNiA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC11cC03IHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC03ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDE0LjI4NTcxJTtcbiAgICBtYXgtd2lkdGg6IDE0LjI4NTcxJTsgfVxuXG4uc21hbGwtdXAtOCB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtOCA+IC5jb2x1bW4sIC5zbWFsbC11cC04ID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAxMi41JTtcbiAgICBtYXgtd2lkdGg6IDEyLjUlOyB9XG5cbi5zbWFsbC1jb2xsYXBzZSA+IC5jb2x1bW4sIC5zbWFsbC1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi5zbWFsbC11bmNvbGxhcHNlID4gLmNvbHVtbiwgLnNtYWxsLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tMSB7XG4gICAgZmxleDogMCAwIDguMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5tZWRpdW0tMiB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS0zIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS00IHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLm1lZGl1bS01IHtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS02IHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS03IHtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLm1lZGl1bS04IHtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS05IHtcbiAgICBmbGV4OiAwIDAgNzUlO1xuICAgIG1heC13aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS0xMCB7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5tZWRpdW0tMTEge1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS0xMiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tdXAtMSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm1lZGl1bS11cC0xID4gLmNvbHVtbiwgLm1lZGl1bS11cC0xID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS11cC0yIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubWVkaXVtLXVwLTIgPiAuY29sdW1uLCAubWVkaXVtLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS11cC0zIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubWVkaXVtLXVwLTMgPiAuY29sdW1uLCAubWVkaXVtLXVwLTMgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS11cC00IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubWVkaXVtLXVwLTQgPiAuY29sdW1uLCAubWVkaXVtLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMjUlO1xuICAgICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS11cC01IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubWVkaXVtLXVwLTUgPiAuY29sdW1uLCAubWVkaXVtLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMjAlO1xuICAgICAgbWF4LXdpZHRoOiAyMCU7IH1cbiAgLm1lZGl1bS11cC02IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubWVkaXVtLXVwLTYgPiAuY29sdW1uLCAubWVkaXVtLXVwLTYgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS11cC03IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubWVkaXVtLXVwLTcgPiAuY29sdW1uLCAubWVkaXVtLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTQuMjg1NzElO1xuICAgICAgbWF4LXdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLm1lZGl1bS11cC04IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubWVkaXVtLXVwLTggPiAuY29sdW1uLCAubWVkaXVtLXVwLTggPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTIuNSU7XG4gICAgICBtYXgtd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tZXhwYW5kIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9IH1cblxuLnJvdy5tZWRpdW0tdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cubWVkaXVtLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gIGZsZXg6IDAgMCAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJvdy5tZWRpdW0tdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cubWVkaXVtLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1jb2xsYXBzZSA+IC5jb2x1bW4sIC5tZWRpdW0tY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLm1lZGl1bS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLm1lZGl1bS11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuODEyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuODEyNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS0xIHtcbiAgICBmbGV4OiAwIDAgOC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAubGFyZ2UtMiB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtMyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLTQge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5sYXJnZS01IHtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtNiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLTcge1xuICAgIGZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5sYXJnZS04IHtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtOSB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLTEwIHtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAubGFyZ2UtMTEge1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtMTIge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS11cC0xIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtMSA+IC5jb2x1bW4sIC5sYXJnZS11cC0xID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLXVwLTIge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC0yID4gLmNvbHVtbiwgLmxhcmdlLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLXVwLTMge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC0zID4gLmNvbHVtbiwgLmxhcmdlLXVwLTMgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLXVwLTQge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC00ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMjUlO1xuICAgICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLXVwLTUge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC01ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMjAlO1xuICAgICAgbWF4LXdpZHRoOiAyMCU7IH1cbiAgLmxhcmdlLXVwLTYge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC02ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTYgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLXVwLTcge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC03ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTQuMjg1NzElO1xuICAgICAgbWF4LXdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLmxhcmdlLXVwLTgge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC04ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTggPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTIuNSU7XG4gICAgICBtYXgtd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1leHBhbmQge1xuICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG4ucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1uLCAucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gIGZsZXg6IDAgMCAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnJvdy5sYXJnZS11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy5sYXJnZS11bnN0YWNrID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW4sIC5sYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAubGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC5sYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuODEyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuODEyNXJlbTsgfSB9XG5cbi5zaHJpbmsge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5jb2x1bW4tYmxvY2sge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIC5jb2x1bW4tYmxvY2sgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jb2x1bW4tYmxvY2sge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS42MjVyZW07IH1cbiAgICAgIC5jb2x1bW4tYmxvY2sgPiA6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuXG4udGV4dC1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4udGV4dC1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50ZXh0LWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4udGV4dC1qdXN0aWZ5IHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubWVkaXVtLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5tZWRpdW0tdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVkaXVtLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5sYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5sYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG4uYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIHBhZGRpbmc6IDAuODVlbSAxZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFRkU0MDA7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5idXR0b246aG92ZXIsIC5idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYmMyMDA7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi50aW55IHtcbiAgICBmb250LXNpemU6IDAuNnJlbTsgfVxuICAuYnV0dG9uLnNtYWxsIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLmJ1dHRvbi5sYXJnZSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIC5idXR0b24uZXhwYW5kZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuYnV0dG9uLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFRkU0MDA7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAuYnV0dG9uLnByaW1hcnk6aG92ZXIsIC5idXR0b24ucHJpbWFyeTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmZiNjAwO1xuICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzY7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVlNWU1ZTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNhZGI3NjtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5idXR0b24uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5zdWNjZXNzOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMmJiNWI7XG4gICAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYnV0dG9uLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAuYnV0dG9uLndhcm5pbmc6aG92ZXIsIC5idXR0b24ud2FybmluZzpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M4YjAwO1xuICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi5hbGVydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjNGIzNztcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uYWxlcnQ6aG92ZXIsIC5idXR0b24uYWxlcnQ6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2E1M2IyYTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b25bZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjI1O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFRkU0MDA7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeSwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeSB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5LCAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnk6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeTpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeSwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFRkU0MDA7XG4gICAgICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnksIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeSB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnksIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5LCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzY7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzIHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3MsIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNhZGI3NjtcbiAgICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmcsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmcge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQud2FybmluZywgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmcsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwO1xuICAgICAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuYWxlcnQsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0IHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0LCAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydCwgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjNGIzNztcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5ob2xsb3cge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNFRkU0MDA7XG4gICAgY29sb3I6ICNFRkU0MDA7IH1cbiAgICAuYnV0dG9uLmhvbGxvdywgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICM3ODcyMDA7XG4gICAgICBjb2xvcjogIzc4NzIwMDsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3c6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNFRkU0MDA7XG4gICAgICAgIGNvbG9yOiAjRUZFNDAwOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjRUZFNDAwO1xuICAgICAgY29sb3I6ICNFRkU0MDA7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXIsIC5idXR0b24uaG9sbG93LnByaW1hcnk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM3ODcyMDA7XG4gICAgICAgIGNvbG9yOiAjNzg3MjAwOyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0VGRTQwMDtcbiAgICAgICAgICBjb2xvcjogI0VGRTQwMDsgfVxuICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNzY3Njc2O1xuICAgICAgY29sb3I6ICM3Njc2NzY7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjM2IzYjNiO1xuICAgICAgICBjb2xvcjogIzNiM2IzYjsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzc2NzY3NjtcbiAgICAgICAgICBjb2xvcjogIzc2NzY3NjsgfVxuICAgIC5idXR0b24uaG9sbG93LnN1Y2Nlc3Mge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzNhZGI3NjtcbiAgICAgIGNvbG9yOiAjM2FkYjc2OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMTU3NTM5O1xuICAgICAgICBjb2xvcjogIzE1NzUzOTsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzYWRiNzY7XG4gICAgICAgICAgY29sb3I6ICMzYWRiNzY7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmFlMDA7XG4gICAgICBjb2xvcjogI2ZmYWUwMDsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3ZlciwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzgwNTcwMDtcbiAgICAgICAgY29sb3I6ICM4MDU3MDA7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZhZTAwO1xuICAgICAgICAgIGNvbG9yOiAjZmZhZTAwOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjNGIzNztcbiAgICAgIGNvbG9yOiAjY2M0YjM3OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM2NzI1MWE7XG4gICAgICAgIGNvbG9yOiAjNjcyNTFhOyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93LmFsZXJ0OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LmFsZXJ0OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYzRiMzc7XG4gICAgICAgICAgY29sb3I6ICNjYzRiMzc7IH1cbiAgLmJ1dHRvbi5jbGVhciB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0VGRTQwMDtcbiAgICBjb2xvcjogI0VGRTQwMDsgfVxuICAgIC5idXR0b24uY2xlYXIsIC5idXR0b24uY2xlYXI6aG92ZXIsIC5idXR0b24uY2xlYXI6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhcjpob3ZlciwgLmJ1dHRvbi5jbGVhcjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICM3ODcyMDA7XG4gICAgICBjb2xvcjogIzc4NzIwMDsgfVxuICAgICAgLmJ1dHRvbi5jbGVhcjpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcjpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXI6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXI6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0VGRTQwMDtcbiAgICAgICAgY29sb3I6ICNFRkU0MDA7IH1cbiAgICAuYnV0dG9uLmNsZWFyLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcjpob3ZlciwgLmJ1dHRvbi5jbGVhcjpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcjpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXI6Zm9jdXMsIC5idXR0b24uY2xlYXI6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXI6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLnByaW1hcnkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0VGRTQwMDtcbiAgICAgIGNvbG9yOiAjRUZFNDAwOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzc4NzIwMDtcbiAgICAgICAgY29sb3I6ICM3ODcyMDA7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNFRkU0MDA7XG4gICAgICAgICAgY29sb3I6ICNFRkU0MDA7IH1cbiAgICAgIC5idXR0b24uY2xlYXIucHJpbWFyeSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5LmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnlbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIsIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzc2NzY3NjtcbiAgICAgIGNvbG9yOiAjNzY3Njc2OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMzYjNiM2I7XG4gICAgICAgIGNvbG9yOiAjM2IzYjNiOyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM3Njc2NzY7XG4gICAgICAgICAgY29sb3I6ICM3Njc2NzY7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeS5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnlbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5zdWNjZXNzIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzYWRiNzY7XG4gICAgICBjb2xvcjogIzNhZGI3NjsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMxNTc1Mzk7XG4gICAgICAgIGNvbG9yOiAjMTU3NTM5OyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjM2FkYjc2O1xuICAgICAgICAgIGNvbG9yOiAjM2FkYjc2OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3MsIC5idXR0b24uY2xlYXIuc3VjY2Vzcy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1cywgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIud2FybmluZyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZhZTAwO1xuICAgICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgICAgIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlciwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjODA1NzAwO1xuICAgICAgICBjb2xvcjogIzgwNTcwMDsgfVxuICAgICAgICAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmYWUwMDtcbiAgICAgICAgICBjb2xvcjogI2ZmYWUwMDsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci53YXJuaW5nLCAuYnV0dG9uLmNsZWFyLndhcm5pbmcuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZ1tkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlciwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLmFsZXJ0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYzRiMzc7XG4gICAgICBjb2xvcjogI2NjNGIzNzsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlciwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzY3MjUxYTtcbiAgICAgICAgY29sb3I6ICM2NzI1MWE7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci5hbGVydDpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2M0YjM3O1xuICAgICAgICAgIGNvbG9yOiAjY2M0YjM3OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLmFsZXJ0LCAuYnV0dG9uLmNsZWFyLmFsZXJ0LmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0W2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlciwgLmJ1dHRvbi5jbGVhci5hbGVydDpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXMsIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYnV0dG9uLmRyb3Bkb3duOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC40ZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICNmZWZlZmUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tbGVmdDogMWVtOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93OjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhcjo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNFRkU0MDA7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cucHJpbWFyeTo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIucHJpbWFyeTo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNFRkU0MDA7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuc2Vjb25kYXJ5OjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci5zZWNvbmRhcnk6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjNzY3Njc2OyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnN1Y2Nlc3M6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLnN1Y2Nlc3M6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjM2FkYjc2OyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93Lndhcm5pbmc6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLndhcm5pbmc6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjZmZhZTAwOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LmFsZXJ0OjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci5hbGVydDo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNjYzRiMzc7IH1cbiAgLmJ1dHRvbi5hcnJvdy1vbmx5OjphZnRlciB7XG4gICAgdG9wOiAtMC4xZW07XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuYS5idXR0b246aG92ZXIsIGEuYnV0dG9uOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5idXR0b24tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cbiAgLmJ1dHRvbi1ncm91cDo6YmVmb3JlLCAuYnV0dG9uLWdyb3VwOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmJ1dHRvbi1ncm91cDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5idXR0b24tZ3JvdXAgLmJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1yaWdodDogMXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDFweDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgICAuYnV0dG9uLWdyb3VwIC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmJ1dHRvbi1ncm91cC50aW55IC5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMC42cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAuc21hbGwgLmJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAubGFyZ2UgLmJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbiB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuICAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0VGRTQwMDtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmZiNjAwO1xuICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc2NzY3NjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVlNWU1ZTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMmJiNWI7XG4gICAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M4YjAwO1xuICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YjM3O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2E1M2IyYTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24tZ3JvdXAuc3RhY2tlZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b24ge1xuICAgICAgZmxleDogMCAwIDEwMCU7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLmV4cGFuZGVkIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQgLmJ1dHRvbiB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbiB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAuYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQgLmJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgLmhpZGUtZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDBlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuc2hvdy1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzQuOTk4NzVlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLnNob3ctZm9yLXNyLFxuLnNob3ctb24tZm9jdXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlcjogMDsgfVxuXG4uc2hvdy1vbi1mb2N1czphY3RpdmUsIC5zaG93LW9uLWZvY3VzOmZvY3VzIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bztcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgfVxuXG4uc2hvdy1mb3ItbGFuZHNjYXBlLFxuLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLmhpZGUtZm9yLWxhbmRzY2FwZSxcbi5zaG93LWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuLmZsb2F0LWxlZnQge1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XG5cbi5mbG9hdC1yaWdodCB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50OyB9XG5cbi5mbG9hdC1jZW50ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuXG4uY2xlYXJmaXg6OmJlZm9yZSwgLmNsZWFyZml4OjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiAnICc7XG4gIGZsZXgtYmFzaXM6IDA7XG4gIG9yZGVyOiAxOyB9XG5cbi5jbGVhcmZpeDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDsgfVxuXG4uYWxpZ24tbGVmdCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuXG4uYWxpZ24tcmlnaHQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1jZW50ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uYWxpZ24tanVzdGlmeSB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG4uYWxpZ24tc3BhY2VkIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxuLmFsaWduLWxlZnQudmVydGljYWwubWVudSA+IGxpID4gYSB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuXG4uYWxpZ24tcmlnaHQudmVydGljYWwubWVudSA+IGxpID4gYSB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmFsaWduLWNlbnRlci52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmFsaWduLXRvcCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1zZWxmLXRvcCB7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLWJvdHRvbSB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tc2VsZi1ib3R0b20ge1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tbWlkZGxlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4uYWxpZ24tc2VsZi1taWRkbGUge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7IH1cblxuLmFsaWduLXN0cmV0Y2gge1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuXG4uYWxpZ24tc2VsZi1zdHJldGNoIHtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDsgfVxuXG4uYWxpZ24tY2VudGVyLW1pZGRsZSB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7IH1cblxuLnNtYWxsLW9yZGVyLTEge1xuICBvcmRlcjogMTsgfVxuXG4uc21hbGwtb3JkZXItMiB7XG4gIG9yZGVyOiAyOyB9XG5cbi5zbWFsbC1vcmRlci0zIHtcbiAgb3JkZXI6IDM7IH1cblxuLnNtYWxsLW9yZGVyLTQge1xuICBvcmRlcjogNDsgfVxuXG4uc21hbGwtb3JkZXItNSB7XG4gIG9yZGVyOiA1OyB9XG5cbi5zbWFsbC1vcmRlci02IHtcbiAgb3JkZXI6IDY7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAubWVkaXVtLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5tZWRpdW0tb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLm1lZGl1bS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAubWVkaXVtLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5tZWRpdW0tb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5sYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAubGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLmxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5sYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbi5mbGV4LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLmZsZXgtY2hpbGQtYXV0byB7XG4gIGZsZXg6IDEgMSBhdXRvOyB9XG5cbi5mbGV4LWNoaWxkLWdyb3cge1xuICBmbGV4OiAxIDAgYXV0bzsgfVxuXG4uZmxleC1jaGlsZC1zaHJpbmsge1xuICBmbGV4OiAwIDEgYXV0bzsgfVxuXG4uZmxleC1kaXItcm93IHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuXG4uZmxleC1kaXItcm93LXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cblxuLmZsZXgtZGlyLWNvbHVtbiB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxuLmZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAubWVkaXVtLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAubWVkaXVtLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87IH1cbiAgLmxhcmdlLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAubGFyZ2UtZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAubGFyZ2UtZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5sYXJnZS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9IH1cblxuYm9keSB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LWZhbWlseTogXCJIb3N0IEdyb3Rlc2tcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNnB4O1xuICB3b3JkLXNwYWNpbmc6IC0wLjFyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICBib2R5IHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDsgfSB9XG4gIEBtZWRpYSAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjUpLCAobWluLXJlc29sdXRpb246IDE0NGRwaSkge1xuICAgIGJvZHkge1xuICAgICAgZm9udC1zaXplOiAxNnB4OyB9IH1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcC50aXRsZSB7XG4gIGNvbG9yOiAjMDA4MDdGO1xuICBmb250LWZhbWlseTogXCJIb3N0IEdyb3Rlc2tcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuXG5oMSwgLmgxIHtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgd29yZC1zcGFjaW5nOiAtMC40cmVtOyB9XG5cbmgyLCAuaDIge1xuICBmb250LXNpemU6IDIuMzMzMzMzMzMzMzMzMzMzZW07XG4gIHdvcmQtc3BhY2luZzogLTAuMnJlbTsgfVxuXG5oMywgLmgzIHtcbiAgZm9udC1zaXplOiAxLjMzMzMzMzMzMzMzMzMzM2VtOyB9XG5cbi5hY3RpdmUtcGFnZSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbjogMDtcbiAgdGV4dC1zaGFkb3c6IDJweCAycHggNXB4IHJnYmEoMCwgMCwgMCwgMC44KTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5hY3RpdmUtcGFnZSB7XG4gICAgICBmb250LXNpemU6IDNlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmFjdGl2ZS1wYWdlIHtcbiAgICAgIGZvbnQtc2l6ZTogMy44ODg4ODg4ODg4ODg4ODllbTsgfSB9XG5cbnAgKyB1bCB7XG4gIG1hcmdpbjogMmVtIDA7IH1cblxuLm5vLW1hcmdpbiB7XG4gIG1hcmdpbjogMDsgfVxuICAubm8tbWFyZ2luLm5vLW1hcmdpbi0tdG9wIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTsgfVxuXG5wLnNlYXJjaC1yZXN1bHRzIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDEuMjVlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIHAuc2VhcmNoLXJlc3VsdHMge1xuICAgICAgZm9udC1zaXplOiAxLjU1NTU1NTU1NTU1NTU1NmVtO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gIHAuc2VhcmNoLXJlc3VsdHMgc3BhbiwgcC5zZWFyY2gtcmVzdWx0cyBhIHtcbiAgICBjb2xvcjogIzAwODA3RjtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuXG5mb3JtLnNlYXJjaCArIHAuc2VhcmNoLXJlc3VsdHMge1xuICBtYXJnaW4tdG9wOiAyZW07IH1cblxuLnNlY3Rpb24gYTpub3QoLmJ1dHRvbik6bm90KC50ZWFzZXIpOm5vdCguYXJjaGl2ZS1zdGF0aXN0aWMpIHtcbiAgY29sb3I6ICMwMDgwN0Y7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5zZWN0aW9uIGE6bm90KC5idXR0b24pOm5vdCgudGVhc2VyKTpub3QoLmFyY2hpdmUtc3RhdGlzdGljKSA6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuc2VjdGlvbiBhOm5vdCguYnV0dG9uKTpub3QoLnRlYXNlcik6bm90KC5hcmNoaXZlLXN0YXRpc3RpYykgOmZvY3VzIHtcbiAgICBjb2xvcjogIzAwODA3RjsgfVxuXG5ociB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjY2NjYztcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW46IDFlbSAwOyB9XG5cbmJsb2NrcXVvdGUge1xuICBib3JkZXItbGVmdDogMnB4IHNvbGlkICMwMDAwMDA7XG4gIHBhZGRpbmctbGVmdDogMWVtO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uc2VjdGlvbi0tbGlua3MgaDMge1xuICBmb250LXNpemU6IDEuMTExMTExMTExMTExMTExZW07IH1cblxuLnNpZGViYXItYmxvY2sgaDMsIC5jb250ZW50LWJsb2NrIGgyIHtcbiAgZm9udC1zaXplOiAxLjU1NTU1NTU1NTU1NTU1NmVtOyB9XG5cbnAubmV3cy1pbnRybyB7XG4gIGZvbnQtc2l6ZTogMS4zMzMzMzMzMzMzMzMzMzNlbTtcbiAgY29sb3I6ICMwMDgwN0Y7IH1cblxuZGl2I3NvY2lhbC1zaGFyZSBkaXYuc2hhcmV0aGlzLWlubGluZS1zaGFyZS1idXR0b25zLCBkaXYjc29jaWFsLXNoYXJlIGRpdi5hZGR0aGlzX2lubGluZV9zaGFyZV90b29sYm94IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4gIGRpdiNzb2NpYWwtc2hhcmUgZGl2LnNoYXJldGhpcy1pbmxpbmUtc2hhcmUtYnV0dG9ucyAjYXRzdGJ4IGRpdi5hdC1zaGFyZS1idG4tZWxlbWVudHMgYS5hdC1zaGFyZS1idG4sIGRpdiNzb2NpYWwtc2hhcmUgZGl2LmFkZHRoaXNfaW5saW5lX3NoYXJlX3Rvb2xib3ggI2F0c3RieCBkaXYuYXQtc2hhcmUtYnRuLWVsZW1lbnRzIGEuYXQtc2hhcmUtYnRuIHtcbiAgICBwYWRkaW5nOiA0cHg7IH1cblxuZGl2I3NvY2lhbC1zaGFyZSBhLnNvY2lhbCB7XG4gIG1hcmdpbi1yaWdodDogNHB4OyB9XG4gIGRpdiNzb2NpYWwtc2hhcmUgYS5zb2NpYWw6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi1sZWZ0OiA0cHg7IH1cblxuZGl2I3NvY2lhbC1zaGFyZSBhLmJ1dHRvbi0tc29jaWFsLXNoYXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbmRpdiBpbWcge1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG5cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG5wOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG5wLnNvY2lhbC1zaGFyZSBhLnNvY2lhbDpob3ZlcjphZnRlciwgcC5zb2NpYWwtc2hhcmUgYS5zb2NpYWw6Zm9jdXM6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbmRpdi5jb2xsZWN0aW9uLWRldGFpbC1pbWFnZSB7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZy1ib3R0b206IDEyMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFN0YxRjM7IH1cblxuLmNvbGxlY3Rpb24tZGV0YWlsLWltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5jb2xsZWN0aW9uLWRldGFpbC1pbWFnZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RoZW1lcy9kZWZhdWx0L2Fzc2V0cy9pbWFnZXMvdGVtcGxhdGUvbm8taW1hZ2Uuc3ZnXCIpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIG9wYWNpdHk6IDAuMTsgfVxuXG4jaGVhZGVyIGEubG9nbywgI2Zvb3RlciAuY29sdW1ucy5zbWFsbC02LnRleHQtcmlnaHQgYS5sb2dvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICNoZWFkZXIgYS5sb2dvOmhvdmVyOmFmdGVyLCAjaGVhZGVyIGEubG9nbzpmb2N1czphZnRlciwgI2Zvb3RlciAuY29sdW1ucy5zbWFsbC02LnRleHQtcmlnaHQgYS5sb2dvOmhvdmVyOmFmdGVyLCAjZm9vdGVyIC5jb2x1bW5zLnNtYWxsLTYudGV4dC1yaWdodCBhLmxvZ286Zm9jdXM6YWZ0ZXIge1xuICAgIHJpZ2h0OiAwOyB9XG5cbiNtYWluLWNvbnRlbnQgZGl2Lm1pX3BhZ2VfZm9ybSB7XG4gIHotaW5kZXg6IDk7IH1cblxuI21haW4tY29udGVudCBkaXYubWlfcGFnZV9yZXN1bHQge1xuICB6LWluZGV4OiA4OyB9XG5cbiNyZWFkc3BlYWtlci1jb250YWluZXIge1xuICBtYXJnaW4tdG9wOiAycmVtO1xuICB3aWR0aDogMTAwJTsgfVxuICBib2R5LnBhZ2Utbm9kZS10eXBlLW5ld3MgI3JlYWRzcGVha2VyLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuICAjcmVhZHNwZWFrZXItY29udGFpbmVyICNyZWFkc3BlYWtlcl9idXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuI21haW4tY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uOyB9XG4gICNtYWluLWNvbnRlbnQgPiAqIHtcbiAgICBvcmRlcjogMzsgfVxuICAjbWFpbi1jb250ZW50ICNyZWFkc3BlYWtlci1jb250YWluZXIge1xuICAgIG9yZGVyOiAyOyB9XG4gICNtYWluLWNvbnRlbnQgLmJhbm5lciB7XG4gICAgb3JkZXI6IDE7IH1cblxuI2NvbnRhaW5lciB7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5yb3cge1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5yb3cge1xuICAgICAgbWF4LXdpZHRoOiAxNDIwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi1kZXZpY2Utd2lkdGg6IDUwMHB4KSBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMS41KSBhbmQgKG1pbi1yZXNvbHV0aW9uOiAxNDRkcGkpIHtcbiAgICAucm93IHtcbiAgICAgIHdpZHRoOiA5MCU7IH0gfVxuICAucm93IC5yb3cge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuXG4jbWFpbi1jb250ZW50LCAjc2lkZWJhciB7XG4gIG1pbi1oZWlnaHQ6IDQwMHB4OyB9XG5cbi5jb250ZW50LWJsb2NrIHtcbiAgbWFyZ2luLWJvdHRvbTogNHZoOyB9XG5cbm1haW4gLnNlY3Rpb246bGFzdC1jaGlsZDpub3QoI2ltYWdlLWxpYnJhcnkpIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ucm93IC5jb250ZW50IHtcbiAgb3JkZXI6IDI7IH1cblxuLnJvdy5zaWRlYmFyIHtcbiAgb3JkZXI6IDE7IH1cblxuI2hlYWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDgwN0Y7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBwYWRkaW5nOiAxZW0gMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiA5MHB4OyB9XG4gICNoZWFkZXIgLnN1Ym5hdi1iZyB7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICMwMTRENTM7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICB6LWluZGV4OiA5OTtcbiAgICBtYXgtaGVpZ2h0OiAwcHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4yczsgfVxuICAgIGJvZHkuc3VibmF2LWlzLWhvdmVyaW5nICNoZWFkZXIgLnN1Ym5hdi1iZyB7XG4gICAgICBtYXgtaGVpZ2h0OiA2MHB4OyB9XG4gICNoZWFkZXIgYS5sb2dvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAjaGVhZGVyIGEubG9nbyBpbWcge1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAjaGVhZGVyIHVsI21haW4tbWVudSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICAjaGVhZGVyIHVsI21haW4tbWVudSBsaSB7XG4gICAgICBwYWRkaW5nLXRvcDogMC41ZW07IH1cbiAgICAgICNoZWFkZXIgdWwjbWFpbi1tZW51IGxpLm1lbnUtaXRlbS0tZXhwYW5kZWQge1xuICAgICAgICBsaXN0LXN0eWxlLWltYWdlOiBub25lO1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICNoZWFkZXIgdWwjbWFpbi1tZW51IGxpIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMC4yZW07IH0gfVxuICAgICAgI2hlYWRlciB1bCNtYWluLW1lbnUgbGkgYSB7XG4gICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgZm9udC1zaXplOiAxLjIyMjIyMjIyMjIyMjIyMmVtO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjJzOyB9XG4gICAgICAgICNoZWFkZXIgdWwjbWFpbi1tZW51IGxpIGE6aG92ZXIsICNoZWFkZXIgdWwjbWFpbi1tZW51IGxpIGE6Zm9jdXMsICNoZWFkZXIgdWwjbWFpbi1tZW51IGxpIGEuYWN0aXZlLCAjaGVhZGVyIHVsI21haW4tbWVudSBsaSBhLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAgICAgI2hlYWRlciB1bCNtYWluLW1lbnUgbGkgYTpmb2N1cyAudWktY2xvc2Uge1xuICAgICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgICNoZWFkZXIgdWwjbWFpbi1tZW51IGxpIHVsLm1lbnUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4ycywgbWF4LWhlaWdodCAuMnM7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgICAgI2hlYWRlciB1bCNtYWluLW1lbnUgbGkgdWwubWVudSBsaSB7XG4gICAgICAgICAgcGFkZGluZzogMCA2cHggMTBweCAxNXB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMwMTRENTM7IH1cbiAgICAgICAgICAjaGVhZGVyIHVsI21haW4tbWVudSBsaSB1bC5tZW51IGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDsgfVxuICAgICAgICAgICNoZWFkZXIgdWwjbWFpbi1tZW51IGxpIHVsLm1lbnUgbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgICAgICAgICAjaGVhZGVyIHVsI21haW4tbWVudSBsaSB1bC5tZW51IGxpIGEge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4ycztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMWVtOyB9XG4gICAgICAgICAgICAjaGVhZGVyIHVsI21haW4tbWVudSBsaSB1bC5tZW51IGxpIGEuaXMtYWN0aXZlIHtcbiAgICAgICAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAgICAgICAgICNoZWFkZXIgdWwjbWFpbi1tZW51IGxpIHVsLm1lbnUgbGkgYVtocmVmXj1cImh0dHA6Ly9cIl06bm90KFtocmVmKj1cImFyY2hpZWYudmVubG9cIl0pOmFmdGVyLCAjaGVhZGVyIHVsI21haW4tbWVudSBsaSB1bC5tZW51IGxpIGFbaHJlZl49XCJodHRwczovL1wiXTpub3QoW2hyZWYqPVwiYXJjaGllZi52ZW5sb1wiXSk6YWZ0ZXIsICNoZWFkZXIgdWwjbWFpbi1tZW51IGxpIHVsLm1lbnUgbGkgYVtocmVmXj1cIi8vXCJdOm5vdChbaHJlZio9XCJhcmNoaWVmLnZlbmxvXCJdKTphZnRlciwgI2hlYWRlciB1bCNtYWluLW1lbnUgbGkgdWwubWVudSBsaSBhIGEuZXh0ZXJuYWw6YWZ0ZXIge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgcmlnaHQ6IDA7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAjaGVhZGVyIHVsI21haW4tbWVudSBsaSB1bC5tZW51IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxNnB4O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxNDIwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDc1cHg7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA2MHB4O1xuICAgICAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgfSB9XG4gIEBtZWRpYSBwcmludCBhbmQgKG1pbi1kZXZpY2Utd2lkdGg6IDUwMHB4KSBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMS41KSBhbmQgKG1pbi1yZXNvbHV0aW9uOiAxNDRkcGkpLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLWRldmljZS13aWR0aDogNTAwcHgpIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjUpIGFuZCAobWluLXJlc29sdXRpb246IDE0NGRwaSkge1xuICAgICNoZWFkZXIgdWwjbWFpbi1tZW51IGxpIHVsLm1lbnUge1xuICAgICAgbWF4LXdpZHRoOiA5MCU7IH0gfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgICAgI2hlYWRlciB1bCNtYWluLW1lbnUgbGkgdWwubWVudS5zZXQtcG9zLWxlZnQge1xuICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjJweDsgfVxuICAgICAgICAgICAgI2hlYWRlciB1bCNtYWluLW1lbnUgbGkgdWwubWVudSBsaSB7XG4gICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMWVtO1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAgICAgICAjaGVhZGVyIHVsI21haW4tbWVudSBsaSB1bC5tZW51IGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgICAgICAgICAgICAjaGVhZGVyIHVsI21haW4tbWVudSBsaSB1bC5tZW51IGxpOmZpcnN0LWNoaWxkLCAjaGVhZGVyIHVsI21haW4tbWVudSBsaSB1bC5tZW51IGxpOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAgICAgICAgICNoZWFkZXIgdWwjbWFpbi1tZW51IGxpIHVsLm1lbnUgbGkgYSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxZW07IH0gfVxuICAgICAgI2hlYWRlciB1bCNtYWluLW1lbnUgbGkuaXMtaG92ZXJpbmcgdWwubWVudSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgICBtYXgtaGVpZ2h0OiA5MDBweDsgfVxuICAgICAgI2hlYWRlciB1bCNtYWluLW1lbnUgbGkuaXMtaG92ZXJpbmcgPiBhIHtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAgICNoZWFkZXIgdWwjbWFpbi1tZW51IGxpLmlzLWhvdmVyaW5nIC5zdWJuYXYtY29sbGFwc2UtdWkgLnVpLWNsb3NlIHtcbiAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgICAjaGVhZGVyIHVsI21haW4tbWVudSBsaS5pcy1ob3ZlcmluZyAuc3VibmF2LWNvbGxhcHNlLXVpIC51aS1jbG9zZTpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsgfVxuICAgICAgICAjaGVhZGVyIHVsI21haW4tbWVudSBsaS5pcy1ob3ZlcmluZyAuc3VibmF2LWNvbGxhcHNlLXVpIC51aS1jbG9zZTphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAgICAgI2hlYWRlciB1bCNtYWluLW1lbnUgbGkgLnN1Ym5hdi1jb2xsYXBzZS11aSB7XG4gICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMTBweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgICAgICAgICNoZWFkZXIgdWwjbWFpbi1tZW51IGxpIC5zdWJuYXYtY29sbGFwc2UtdWkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgICAgICNoZWFkZXIgdWwjbWFpbi1tZW51IGxpIC5zdWJuYXYtY29sbGFwc2UtdWkgLnVpLWNsb3NlIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB0b3A6IDdweDtcbiAgICAgICAgICBsZWZ0OiAycHg7XG4gICAgICAgICAgb3BhY2l0eTogLjY7XG4gICAgICAgICAgLyogVmVydGljYWwgbGluZSAqL1xuICAgICAgICAgIC8qIGhvcml6b250YWwgbGluZSAqLyB9XG4gICAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAgICNoZWFkZXIgdWwjbWFpbi1tZW51IGxpIC5zdWJuYXYtY29sbGFwc2UtdWkgLnVpLWNsb3NlIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgICAgICAgIGhlaWdodDogMTJweDtcbiAgICAgICAgICAgICAgdG9wOiA4cHg7XG4gICAgICAgICAgICAgIGxlZnQ6IDJweDsgfSB9XG4gICAgICAgICAgI2hlYWRlciB1bCNtYWluLW1lbnUgbGkgLnN1Ym5hdi1jb2xsYXBzZS11aSAudWktY2xvc2U6YmVmb3JlLCAjaGVhZGVyIHVsI21haW4tbWVudSBsaSAuc3VibmF2LWNvbGxhcHNlLXVpIC51aS1jbG9zZTphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjI1cyBlYXNlLW91dDsgfVxuICAgICAgICAgICNoZWFkZXIgdWwjbWFpbi1tZW51IGxpIC5zdWJuYXYtY29sbGFwc2UtdWkgLnVpLWNsb3NlOmJlZm9yZSB7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB3aWR0aDogMnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7IH1cbiAgICAgICAgICAjaGVhZGVyIHVsI21haW4tbWVudSBsaSAuc3VibmF2LWNvbGxhcHNlLXVpIC51aS1jbG9zZTphZnRlciB7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTFweDsgfVxuICAjaGVhZGVyICN0b2dnbGUtbWVudSB7XG4gICAgd2lkdGg6IDI4cHg7XG4gICAgaGVpZ2h0OiAyOHB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90aGVtZXMvZGVmYXVsdC9hc3NldHMvaW1hZ2VzL2ljb25zL2hhbWJ1cmdlci5zdmdcIik7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIHRvcDogMzBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAjaGVhZGVyIHtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgICNoZWFkZXIgLnJvdyB7XG4gICAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgICAgI2hlYWRlciB1bCNtYWluLW1lbnUgbGkgYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICNoZWFkZXIgdWwjbWFpbi1tZW51IGxpIGEge1xuICAgICAgZm9udC1zaXplOiAxLjIyMjIyMjIyMjIyMjIyMmVtOyB9IH1cblxudWwubWFpbi1tZW51IHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cblxuI2Zvb3RlciB7XG4gIGJhY2tncm91bmQ6ICMwMDgwN0Y7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHBhZGRpbmc6IDR2aCAwOyB9XG4gICNmb290ZXIgKiB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgI2Zvb3RlciBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgI2Zvb3RlciBhOmZvY3VzIHtcbiAgICBjb2xvcjogIzAxNEQ1MzsgfVxuICAjZm9vdGVyIGEubG9nbyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMWVtIDA7IH1cbiAgICAjZm9vdGVyIGEubG9nbyBpbWcge1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAjZm9vdGVyIGEuc29jaWFsIHtcbiAgICBtYXJnaW46IDAgMC4yNWVtIDAgMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAjZm9vdGVyIGEuc29jaWFsOmZvY3VzIHtcbiAgICAgIG9wYWNpdHk6IC41OyB9XG4gICNmb290ZXIgaDIge1xuICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgI2Zvb3RlciBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41NTU1NTU1NTU1NTU1NTZlbTsgfSB9XG4gICNmb290ZXIgdWwge1xuICAgIG1hcmdpbi10b3A6IDAuNWVtO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICNmb290ZXIgdWwge1xuICAgICAgICBmb250LXNpemU6IDEuMTExMTExMTExMTExMTExZW07IH0gfVxuICAgICNmb290ZXIgdWwgYSB7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgICAgI2Zvb3RlciB1bCBhOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgI2Zvb3RlciBwLnNpdGVtYXAtYW5kLXByb2NsYWltZXIge1xuICAgIG1hcmdpbjogMWVtIDAgMCAwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICNmb290ZXIgcC5zaXRlbWFwLWFuZC1wcm9jbGFpbWVyIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjExMTExMTExMTExMTExMWVtOyB9IH1cbiAgICAjZm9vdGVyIHAuc2l0ZW1hcC1hbmQtcHJvY2xhaW1lciBhOm5vdChsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNWVtOyB9XG4gICNmb290ZXIgcC5jb3B5cmlnaHQge1xuICAgIG1hcmdpbjogMCAwIDFlbSAwO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgI2Zvb3RlciAuZm9vdGVyLWJvdHRvbSB7XG4gICAgICBtYXJnaW4tdG9wOiAycmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgaHRtbCwgYm9keSwgI2NvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gICNjb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgICNjb250YWluZXIgI3dyYXBwZXIge1xuICAgICAgZmxleDogMSAwIGF1dG87IH1cbiAgICAjY29udGFpbmVyICNmb290ZXIge1xuICAgICAgZmxleC1zaHJpbms6IDA7IH0gfVxuXG4ucHJvamVjdC1ncmlkIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBkaXNwbGF5OiBub25lO1xuICB6LWluZGV4OiAxMDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG4gIC5wcm9qZWN0LWdyaWQgLnJvdyB7XG4gICAgbWFyZ2luLWJvdHRvbTogNHB4OyB9XG4gICAgLnByb2plY3QtZ3JpZCAucm93IC5jb2x1bW5zIHtcbiAgICAgIGhlaWdodDogNjRweDsgfVxuICAgICAgLnByb2plY3QtZ3JpZCAucm93IC5jb2x1bW5zOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAyNTUsIDAuMjUpOyB9XG5cbnAuZXhpdGFibGUge1xuICBtYXJnaW46IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBmb250LXdlaWdodDogODAwO1xuICBmb250LWZhbWlseTogXCJIb3N0IEdyb3Rlc2tcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNsZWFyOiBib3RoO1xuICBwYWRkaW5nOiAxZW0gMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDEycHg7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxucC50b2RvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmVkO1xuICBjb2xvcjogd2hpdGU7IH1cblxuYm9keS5zaG93LXByb2plY3QtZ3JpZCAucHJvamVjdC1ncmlkLCBib2R5LnNob3ctcHJvamVjdC1ncmlkIHAuZXhpdGFibGUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uaW5saW5lLWdyaWQgLnJvdyB7XG4gIG1hcmdpbi1ib3R0b206IDRweDsgfVxuICAuaW5saW5lLWdyaWQgLnJvdyAuY29sdW1ucyB7XG4gICAgaGVpZ2h0OiA2NHB4OyB9XG4gICAgLmlubGluZS1ncmlkIC5yb3cgLmNvbHVtbnM6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTI4LCAxMjcsIDAuMjUpOyB9XG5cbi5pbmxpbmUtZ3JpZCBkaXYucm93Om50aC1jaGlsZCg2biswKSB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmJhbm5lciB7XG4gIHBhZGRpbmc6IDh2aCAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE0RDUzO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgfVxuICAuYmFubmVyIC5iYW5uZXItdGFnbGluZSB7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIHdvcmQtc3BhY2luZzogLTJweDtcbiAgICB0ZXh0LXNoYWRvdzogMnB4IDJweCA1cHggcmdiYSgwLCAwLCAwLCAwLjgpO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDkwMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuYmFubmVyIC5iYW5uZXItdGFnbGluZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogM2VtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmJhbm5lciAuYmFubmVyLXRhZ2xpbmUge1xuICAgICAgICBmb250LXNpemU6IDMuODg4ODg4ODg4ODg4ODg5ZW07IH0gfVxuICAuYmFubmVyIC5zdHVkeS1yb29tLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5iYW5uZXIgcC5zdHVkeS1yb29tIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAwLjg4ODg4ODg4ODg4ODg4OWVtOyB9XG4gICAgLmJhbm5lciBwLnN0dWR5LXJvb206YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVlbTtcbiAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0VFRUVFRTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwMDBweDsgfVxuICAgIC5iYW5uZXIgcC5zdHVkeS1yb29tLm9wZW46YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2RUYwMEM7IH1cbiAgICAuYmFubmVyIHAuc3R1ZHktcm9vbS5jbG9zZWQ6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjAwMDA7IH1cblxuLmJhbm5lci0tc2VhcmNoIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4taGVpZ2h0OiAwO1xuICBwYWRkaW5nOiAyZW0gMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5iYW5uZXItLXNlYXJjaCB7XG4gICAgICBwYWRkaW5nOiAxMXZoIDA7IH0gfVxuICAuYmFubmVyLS1zZWFyY2ggI3NlYXJjaCB7XG4gICAgbWFyZ2luLXRvcDogMmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxubmF2LnRhYnMge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDFlbTtcbiAgYm90dG9tOiAxZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90aGVtZXMvZGVmYXVsdC9hc3NldHMvaW1hZ2VzL2RydXBhbC90YWJzLWJnLnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gIHBhZGRpbmc6IDFlbTtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXItcmFkaXVzOiAxMDAwcHg7XG4gIHotaW5kZXg6IDEwMDtcbiAgZm9udC1mYW1pbHk6IFwiU291cmNlIFNhbnMgUHJvXCIsIFwiTHVjaWRhIEdyYW5kZVwiLCBWZXJkYW5hLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggNDhweCAwcHggIzAwMDsgfVxuICBuYXYudGFicyB1bC50YWJzLnByaW1hcnkge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIGxpc3Qtc3R5bGUtaW1hZ2U6IG5vbmU7IH1cbiAgbmF2LnRhYnMgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIG5hdi50YWJzIGxpIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIHBhZGRpbmc6IDAuNWVtIDFlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50OyB9XG4gICAgICBuYXYudGFicyBsaSBhOmhvdmVyLCBuYXYudGFicyBsaSBhOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTsgfVxuICBuYXYudGFicyBsaS5pcy1hY3RpdmUgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICBjb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50OyB9XG5cbiN0b29sYmFyLWFkbWluaXN0cmF0aW9uIGRpdi50b29sYmFyLXRyYXkgYSB7XG4gIGNvbG9yOiAjMDAwMDAwOyB9XG5cbmJvZHkudXNlci1sb2dnZWQtaW4gI2NvbnRhaW5lciB7XG4gIHBhZGRpbmctdG9wOiAwOyB9XG5cbmJvZHkudXNlci1sb2dnZWQtaW4gI2hlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4udGVhc2VyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnRlYXNlciBkaXYuaW1hZ2Uge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLnRlYXNlciBkaXYuaW1hZ2UgaW1nIHtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMzAwbXMgZWFzZTsgfVxuICAgIC50ZWFzZXIgZGl2LmltYWdlOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90aGVtZXMvZGVmYXVsdC9hc3NldHMvaW1hZ2VzL3RlbXBsYXRlL3RlYXNlci1ob3Zlci1pY29uLnN2Z1wiKTtcbiAgICAgIHdpZHRoOiA1N3B4O1xuICAgICAgaGVpZ2h0OiA1NHB4O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMjhweDtcbiAgICAgIG1hcmdpbi10b3A6IC0yN3B4O1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAudGVhc2VyIGRpdi5kZXNjcmlwdGlvbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAxZW07XG4gICAgcGFkZGluZy1yaWdodDogMWVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxZW07IH1cbiAgICAudGVhc2VyIGRpdi5kZXNjcmlwdGlvbiBwLnRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4zMzMzMzMzMzMzMzMzMzNlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gICAgLnRlYXNlciBkaXYuZGVzY3JpcHRpb24gcC5jYWxsLXRvLWFjdGlvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAudGVhc2VyIGRpdi5kZXNjcmlwdGlvbiBwLmNhbGwtdG8tYWN0aW9uIC5idXR0b24ge1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgLnRlYXNlcjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC50ZWFzZXI6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7IH1cbiAgICAudGVhc2VyOmZvY3VzIGRpdi5pbWFnZTphZnRlciB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC50ZWFzZXI6Zm9jdXMgZGl2LmRlc2NyaXB0aW9uIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IH1cbiAgICAgIC50ZWFzZXI6Zm9jdXMgZGl2LmRlc2NyaXB0aW9uIHAudGl0bGUge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLnRlYXNlcjpmb2N1cywgLnRlYXNlcjphY3RpdmUge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG5cbi50ZWFzZXItLWNvbGxlY3Rpb24ge1xuICBtYXJnaW4tYm90dG9tOiAxLjYyNXJlbTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgbWluLWhlaWdodDogMjAwcHg7IH1cbiAgLnRlYXNlci0tY29sbGVjdGlvbiBkaXYuaW1hZ2Uge1xuICAgIGhlaWdodDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmctYm90dG9tOiA2MCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlci1yYWRpdXM6IDE2cHggMTZweCAwcHggMHB4OyB9XG4gICAgLnRlYXNlci0tY29sbGVjdGlvbiBkaXYuaW1hZ2UgaW1nIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7IH1cbiAgLnRlYXNlci0tY29sbGVjdGlvbiBkaXYuZGVzY3JpcHRpb24ge1xuICAgIHBhZGRpbmc6IDEuNWVtO1xuICAgIG1pbi1oZWlnaHQ6IDExMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFRUVFRUU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3JkZXItcmFkaXVzOiAwcHggMHB4IDE2cHggMTZweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1yaWdodDogNzJweDsgfVxuICAgIC50ZWFzZXItLWNvbGxlY3Rpb24gZGl2LmRlc2NyaXB0aW9uIHAudGl0bGUsIC50ZWFzZXItLWNvbGxlY3Rpb24gZGl2LmRlc2NyaXB0aW9uIHAuc3VidGl0bGUge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLnRlYXNlci0tY29sbGVjdGlvbiBkaXYuZGVzY3JpcHRpb24gcC50aXRsZSB7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjI1ZW07XG4gICAgICBmb250LXNpemU6IDEuMjc3Nzc3Nzc3Nzc3Nzc4ZW07IH1cbiAgICAudGVhc2VyLS1jb2xsZWN0aW9uIGRpdi5kZXNjcmlwdGlvbiBwLnN1YnRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44ODg4ODg4ODg4ODg4ODllbTsgfVxuICAgIC50ZWFzZXItLWNvbGxlY3Rpb24gZGl2LmRlc2NyaXB0aW9uOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMWVtO1xuICAgICAgdG9wOiAxZW07XG4gICAgICB3aWR0aDogMi42NjY2NjY2NjY2NjY2NjdlbTtcbiAgICAgIGhlaWdodDogMi42NjY2NjY2NjY2NjY2NjdlbTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDAwcHg7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGhlbWVzL2RlZmF1bHQvYXNzZXRzL2ltYWdlcy9pY29ucy9ibHVlLWNoZXZyb24tcmlnaHQuc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDAuOWVtIGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0bzsgfVxuICAudGVhc2VyLS1jb2xsZWN0aW9uOmhvdmVyIGRpdi5kZXNjcmlwdGlvbiwgLnRlYXNlci0tY29sbGVjdGlvbjpmb2N1cyBkaXYuZGVzY3JpcHRpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNEREREREQ7IH1cblxuLmNvbHVtbi10ZWFzZXItbmV3cyB7XG4gIG1hcmdpbjogMCAwIDEuMjVyZW0gMDsgfVxuXG4udGVhc2VyLS1uZXdzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0U3RjFGMztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDYwMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAxO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC50ZWFzZXItLW5ld3MgZGl2LmFyY2hpdmUtaW1hZ2Uge1xuICAgIGJhY2tncm91bmQ6ICMwMDgwN0Y7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLnRlYXNlci0tbmV3cyBkaXYuYXJjaGl2ZS1pbWFnZSBpbWcge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBoZWlnaHQ6IDIwMHB4O1xuICAgICAgbWF4LWhlaWdodDogMzIwcHg7XG4gICAgICBtYXJnaW46IDQwcHg7XG4gICAgICBib3gtc2hhZG93OiA0cHggNHB4IDE2cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnRlYXNlci0tbmV3cyBkaXYuYXJjaGl2ZS1pbWFnZSB7XG4gICAgICAgIHdpZHRoOiAyNXZ3O1xuICAgICAgICBoZWlnaHQ6IDI1dnc7IH1cbiAgICAgICAgLnRlYXNlci0tbmV3cyBkaXYuYXJjaGl2ZS1pbWFnZSBpbWcge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIGhlaWdodDogODAlO1xuICAgICAgICAgIG1hcmdpbjogMTAlIDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcxLjI1ZW0pIHtcbiAgICAgIC50ZWFzZXItLW5ld3MgZGl2LmFyY2hpdmUtaW1hZ2Uge1xuICAgICAgICB3aWR0aDogNDAwcHg7XG4gICAgICAgIGhlaWdodDogNDAwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC50ZWFzZXItLW5ld3Mge1xuICAgICAgbWFyZ2luOiAwIDAgMS42MjVyZW0gMDsgfSB9XG4gIC50ZWFzZXItLW5ld3MgcC5jb250ZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07IH1cbiAgLnRlYXNlci0tbmV3cyBwLmRhdGUge1xuICAgIGNvbG9yOiAjMDA4MDdGO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnRlYXNlci0tbmV3czpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2M1ZGRlMjsgfVxuICAgIC50ZWFzZXItLW5ld3M6aG92ZXIgcC5kYXRlIHtcbiAgICAgIGNvbG9yOiAjMDE0RDUzOyB9XG4gIC50ZWFzZXItLW5ld3MgLmltYWdlIHtcbiAgICBmbGV4OiAxOyB9XG4gIC50ZWFzZXItLW5ld3MgLmRlc2NyaXB0aW9uLWJvZHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLnRlYXNlci0tbmV3cyAuZGVzY3JpcHRpb24tYm9keSAuYm9keS1oZWFkZXIge1xuICAgICAgZmxleDogMTsgfVxuICAudGVhc2VyLS1uZXdzIC50ZWFzZXItLWZvb3RlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuLnRlYXNlci0tYXJjaGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFN0YxRjM7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gIG1pbi1oZWlnaHQ6IDIwMHB4OyB9XG4gIC50ZWFzZXItLWFyY2hpdmU6aG92ZXIsIC50ZWFzZXItLWFyY2hpdmU6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFN0YxRjM7IH1cbiAgICAudGVhc2VyLS1hcmNoaXZlOmhvdmVyIGRpdi5pbWFnZTphZnRlciwgLnRlYXNlci0tYXJjaGl2ZTpmb2N1cyBkaXYuaW1hZ2U6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgLnRlYXNlci0tYXJjaGl2ZSAuc2hyaW5rIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLnRlYXNlci0tYXJjaGl2ZSBkaXYuaW1hZ2Uge1xuICAgIGJhY2tncm91bmQ6ICMwMDgwN0Y7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLnRlYXNlci0tYXJjaGl2ZSBkaXYuaW1hZ2UgaW1nIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICAgIG1heC1oZWlnaHQ6IDMyMHB4O1xuICAgICAgbWFyZ2luOiA0MHB4O1xuICAgICAgYm94LXNoYWRvdzogNHB4IDRweCAxNnB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMjUpOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC50ZWFzZXItLWFyY2hpdmUgZGl2LmltYWdlIHtcbiAgICAgICAgd2lkdGg6IDI1dnc7XG4gICAgICAgIGhlaWdodDogMjV2dzsgfVxuICAgICAgICAudGVhc2VyLS1hcmNoaXZlIGRpdi5pbWFnZSBpbWcge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIGhlaWdodDogODAlO1xuICAgICAgICAgIG1hcmdpbjogMTAlIDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcxLjI1ZW0pIHtcbiAgICAgIC50ZWFzZXItLWFyY2hpdmUgZGl2LmltYWdlIHtcbiAgICAgICAgd2lkdGg6IDQwMHB4O1xuICAgICAgICBoZWlnaHQ6IDQwMHB4OyB9IH1cbiAgLnRlYXNlci0tYXJjaGl2ZSBkaXYuZGVzY3JpcHRpb24sIC50ZWFzZXItLWFyY2hpdmUgZGl2LmRldGFpbHMge1xuICAgIHBhZGRpbmc6IDAgMXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MS4yNWVtKSB7XG4gICAgLnRlYXNlci0tYXJjaGl2ZSBkaXYuZGVzY3JpcHRpb24gcC5jb250ZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEyMHB4OyB9IH1cbiAgLnRlYXNlci0tYXJjaGl2ZSBkaXYuZGVzY3JpcHRpb24gcC5jYWxsLXRvLWFjdGlvbiwgLnRlYXNlci0tYXJjaGl2ZSBkaXYuZGVzY3JpcHRpb24gZGl2LmNhbGwtdG8tYWN0aW9uIHtcbiAgICBtYXJnaW46IDAgMCAxZW0gMDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAudGVhc2VyLS1hcmNoaXZlIGRpdi5kZXNjcmlwdGlvbiBwLmNhbGwtdG8tYWN0aW9uLCAudGVhc2VyLS1hcmNoaXZlIGRpdi5kZXNjcmlwdGlvbiBkaXYuY2FsbC10by1hY3Rpb24ge1xuICAgICAgICBtYXJnaW4tdG9wOiAxZW07IH0gfVxuICAgIC50ZWFzZXItLWFyY2hpdmUgZGl2LmRlc2NyaXB0aW9uIHAuY2FsbC10by1hY3Rpb24gLmJ1dHRvbiwgLnRlYXNlci0tYXJjaGl2ZSBkaXYuZGVzY3JpcHRpb24gZGl2LmNhbGwtdG8tYWN0aW9uIC5idXR0b24ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC50ZWFzZXItLWFyY2hpdmUgZGl2LmRlc2NyaXB0aW9uIHAuY2FsbC10by1hY3Rpb24gLmJ1dHRvbiwgLnRlYXNlci0tYXJjaGl2ZSBkaXYuZGVzY3JpcHRpb24gZGl2LmNhbGwtdG8tYWN0aW9uIC5idXR0b24ge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7IH0gfVxuICAudGVhc2VyLS1hcmNoaXZlIGRpdi5kZXRhaWxzIHtcbiAgICBjb2xvcjogIzQ0NDQ0NDsgfVxuICAgIC50ZWFzZXItLWFyY2hpdmUgZGl2LmRldGFpbHMgcCB7XG4gICAgICBmb250LXNpemU6IDAuODg4ODg4ODg4ODg4ODg5ZW07IH1cbiAgICAudGVhc2VyLS1hcmNoaXZlIGRpdi5kZXRhaWxzIHAubGFiZWwge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjI1ZW07IH1cbiAgICAgIC50ZWFzZXItLWFyY2hpdmUgZGl2LmRldGFpbHMgcC5sYWJlbCArIHAge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC50ZWFzZXItLWFyY2hpdmUgcC5kYXRlIHtcbiAgICBjb2xvcjogIzAxNEQ1MztcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcxLjI1ZW0pIHtcbiAgICAudGVhc2VyLS1hcmNoaXZlIC5zbWFsbC0xMi5tZWRpdW0tZXhwYW5kIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLnRlYXNlci0tYXJjaGl2ZSAuc21hbGwtMTIubWVkaXVtLWV4cGFuZCAuZGV0YWlscyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAxZW07XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGxlZnQ6IDFyZW07XG4gICAgICAgIHJpZ2h0OiAxcmVtOyB9XG4gICAgICAgIC50ZWFzZXItLWFyY2hpdmUgLnNtYWxsLTEyLm1lZGl1bS1leHBhbmQgLmRldGFpbHMgPiBkaXYucm93IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG4uc2VjdGlvbi0tZGFyay1ibHVlIC50ZWFzZXItLWFyY2hpdmUge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyB9XG4gIC5zZWN0aW9uLS1kYXJrLWJsdWUgLnRlYXNlci0tYXJjaGl2ZSBkaXYuaW1hZ2Uge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nOiA0MHB4IDYwcHg7IH1cbiAgICAuc2VjdGlvbi0tZGFyay1ibHVlIC50ZWFzZXItLWFyY2hpdmUgZGl2LmltYWdlIGltZyB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1hcmdpbjogMDsgfVxuICAuc2VjdGlvbi0tZGFyay1ibHVlIC50ZWFzZXItLWFyY2hpdmUgZGl2LmRlc2NyaXB0aW9uIHAuY29udGVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtOyB9XG4gIC5zZWN0aW9uLS1kYXJrLWJsdWUgLnRlYXNlci0tYXJjaGl2ZSBwLnRpdGxlIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAuc2VjdGlvbi0tZGFyay1ibHVlIC50ZWFzZXItLWFyY2hpdmUgcC5jYWxsLXRvLWFjdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uYWNjZXNzaWJsZS1uZXdzLXRlYXNlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYmFja2dyb3VuZDogI0U3RjFGMztcbiAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5hY2Nlc3NpYmxlLW5ld3MtdGVhc2VyOmhvdmVyLCAuYWNjZXNzaWJsZS1uZXdzLXRlYXNlcjpoYXMoOmZvY3VzLXZpc2libGUpIHtcbiAgICBiYWNrZ3JvdW5kOiAjYzVkZGUyOyB9XG4gIC5hY2Nlc3NpYmxlLW5ld3MtdGVhc2VyOmhhcyg6Zm9jdXMtdmlzaWJsZSkge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCAjMDE0RDUzO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7IH1cbiAgLmFjY2Vzc2libGUtbmV3cy10ZWFzZXIgLmltYWdlIHtcbiAgICBvcmRlcjogLTE7IH1cbiAgICAuYWNjZXNzaWJsZS1uZXdzLXRlYXNlciAuaW1hZ2UgaW1nIHtcbiAgICAgIGFzcGVjdC1yYXRpbzogMzYwLzI0MDtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLmFjY2Vzc2libGUtbmV3cy10ZWFzZXIgLmNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDJlbSAxZW0gMWVtIDFlbTtcbiAgICBmbGV4OiAxO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5hY2Nlc3NpYmxlLW5ld3MtdGVhc2VyIC5jb250ZW50IC50aXRsZSB7XG4gICAgICBmb250LXNpemU6IDIxLjMzMzNweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7IH1cbiAgICAuYWNjZXNzaWJsZS1uZXdzLXRlYXNlciAuY29udGVudCAuZGVzY3JpcHRpb24ge1xuICAgICAgZm9udC1zaXplOiAxNnB4OyB9XG4gICAgLmFjY2Vzc2libGUtbmV3cy10ZWFzZXIgLmNvbnRlbnQgLm1ldGEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tdG9wOiBhdXRvOyB9XG4gICAgICAuYWNjZXNzaWJsZS1uZXdzLXRlYXNlciAuY29udGVudCAubWV0YSAuZGF0ZSB7XG4gICAgICAgIGNvbG9yOiAjMDE0RDUzO1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLmFjY2Vzc2libGUtbmV3cy10ZWFzZXIgLmNvbnRlbnQgLm1ldGEgLmJ1dHRvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAgIC5hY2Nlc3NpYmxlLW5ld3MtdGVhc2VyIC5jb250ZW50IC5tZXRhIC5idXR0b246OmFmdGVyIHtcbiAgICAgICAgICBpbnNldDogMDtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuLyogWm9la2VuIGRldGFpbCAqL1xuZm9ybS5zZWFyY2ggZGl2LnNlYXJjaC1ib3gge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTdGMUYzO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDhweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIGZvcm0uc2VhcmNoIGRpdi5zZWFyY2gtYm94IHtcbiAgICAgIHBhZGRpbmc6IDJyZW07IH0gfVxuICBmb3JtLnNlYXJjaCBkaXYuc2VhcmNoLWJveCBpbnB1dCN6b2Vrb3BkcmFjaHQge1xuICAgIGhlaWdodDogMy43NXJlbTtcbiAgICBwYWRkaW5nOiAwIDFyZW07XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGNvbG9yOiAjMDA4MDdGO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgbWFyZ2luOiAwIDAgMC41cmVtIDA7IH1cbiAgICBmb3JtLnNlYXJjaCBkaXYuc2VhcmNoLWJveCBpbnB1dCN6b2Vrb3BkcmFjaHQ6Zm9jdXM6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIGZvcm0uc2VhcmNoIGRpdi5zZWFyY2gtYm94IGlucHV0I3pvZWtvcGRyYWNodDo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICMwMDgwN0Y7IH1cbiAgICBmb3JtLnNlYXJjaCBkaXYuc2VhcmNoLWJveCBpbnB1dCN6b2Vrb3BkcmFjaHQ6aG92ZXIsIGZvcm0uc2VhcmNoIGRpdi5zZWFyY2gtYm94IGlucHV0I3pvZWtvcGRyYWNodDpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIGZvcm0uc2VhcmNoIGRpdi5zZWFyY2gtYm94IGlucHV0LmJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMy43NXJlbTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDVlbSkge1xuICAgICAgZm9ybS5zZWFyY2ggZGl2LnNlYXJjaC1ib3ggaW5wdXQuYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ1ZW0pIHtcbiAgZm9ybS5zZWFyY2ggZGl2LnNlYXJjaC1ib3gge1xuICAgIGhlaWdodDogNy44NzVyZW07XG4gICAgcGFkZGluZzogMi4wNjI1cmVtIDI1Ljc1cmVtIDIuMDYyNXJlbSAyLjA2MjVyZW07IH1cbiAgICBmb3JtLnNlYXJjaCBkaXYuc2VhcmNoLWJveCBpbnB1dCN6b2Vrb3BkcmFjaHQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDMuNzVyZW07XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBmb250LXNpemU6IDEuNTU1NTU1NTU1NTU1NTU2ZW07IH1cbiAgICBmb3JtLnNlYXJjaCBkaXYuc2VhcmNoLWJveCBpbnB1dC5idXR0b24ge1xuICAgICAgd2lkdGg6IDIzLjJyZW07XG4gICAgICBtaW4taGVpZ2h0OiAzLjc1cmVtO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAycmVtO1xuICAgICAgcmlnaHQ6IDJyZW07XG4gICAgICBmb250LXNpemU6IDEuMjIyMjIyMjIyMjIyMjIyZW07IH0gfVxuXG4vKiBIb21lcGFnZSAqL1xuZm9ybS5zZWFyY2gtLWJhbm5lciB7XG4gIG1hcmdpbi10b3A6IDJyZW07IH1cbiAgZm9ybS5zZWFyY2gtLWJhbm5lciBkaXYuc2VhcmNoLWJveCB7XG4gICAgbWF4LXdpZHRoOiA5NjBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjsgfVxuICAgIGZvcm0uc2VhcmNoLS1iYW5uZXIgZGl2LnNlYXJjaC1ib3ggaW5wdXQjem9la29wZHJhY2h0IHtcbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDBweCAwcHggMHB4IDFweCAjREREREREOyB9XG4gICAgZm9ybS5zZWFyY2gtLWJhbm5lciBkaXYuc2VhcmNoLWJveCBpbnB1dC5idXR0b24ge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDVlbSkge1xuICAgIGZvcm0uc2VhcmNoLS1iYW5uZXIgZGl2LnNlYXJjaC1ib3gge1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwMHB4O1xuICAgICAgaGVpZ2h0OiA3Ljg3NXJlbTtcbiAgICAgIHBhZGRpbmc6IDEuNDM3NXJlbTsgfVxuICAgICAgZm9ybS5zZWFyY2gtLWJhbm5lciBkaXYuc2VhcmNoLWJveCBpbnB1dCN6b2Vrb3BkcmFjaHQge1xuICAgICAgICBoZWlnaHQ6IDVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMS40Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNS43NWVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41NTU1NTU1NTU1NTU1NTZlbTsgfVxuICAgICAgZm9ybS5zZWFyY2gtLWJhbm5lciBkaXYuc2VhcmNoLWJveCBpbnB1dC5idXR0b24ge1xuICAgICAgICB3aWR0aDogMjMuMnJlbTtcbiAgICAgICAgbWluLWhlaWdodDogMy43NXJlbTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDIuMDYyNXJlbTtcbiAgICAgICAgcmlnaHQ6IDIuMDYyNXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAxLjIyMjIyMjIyMjIyMjIyMmVtOyB9IH1cblxudWwuc2tpcC1saW5rcyB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIHVsLnNraXAtbGlua3MgbGkge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAgIHVsLnNraXAtbGlua3MgbGkgYSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IC05OTk5cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgcGFkZGluZzogMWVtO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIHVsLnNraXAtbGlua3MgbGkgYTpmb2N1cyB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDExOyB9XG4gIHVsLnNraXAtbGlua3M6Zm9jdXMgKyAjY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kOiBibHVlOyB9XG5cbnRhYmxlIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICB3aWR0aDogMTAwJTsgfVxuICB0YWJsZSB0Ym9keSB0cjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjY2NjYzsgfVxuICB0YWJsZSB0aGVhZCArIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjY2NjOyB9XG4gIHRhYmxlIHRoLCB0YWJsZSB0ZCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgcGFkZGluZzogMTZweCAxNXB4IDE2cHggMTVweDtcbiAgICBsaW5lLWhlaWdodDogMS41OyB9XG4gIHRhYmxlIHRoIGEge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICB0YWJsZSB0aC5hY3Rpb24ge1xuICAgIG1pbi13aWR0aDogMjAwcHg7IH1cbiAgdGFibGUgdGQuYWN0aW9uIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgIHRhYmxlIHRkLmFjdGlvbiBhLmJ1dHRvbiB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgdGFibGUgdGhbc2NvcGU9XCJjb2xcIl0sIHRhYmxlIHRoZWFkIHRoIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA4MDdGO1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gICAgdGFibGUgdGhbc2NvcGU9XCJjb2xcIl0gYSwgdGFibGUgdGhlYWQgdGggYSB7XG4gICAgICBjb2xvcjogI2ZlZmVmZSAhaW1wb3J0YW50OyB9XG4gIHRhYmxlIC50YWJsZXNvcnQtLWRlc2MsIHRhYmxlIC50YWJsZXNvcnQtLWFzYyB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBtYXJnaW4tbGVmdDogMC4yNWVtOyB9XG5cbi50YWJsZS1jb250YWluZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJPbmRlcnN0YWFuZGUgdGFiZWwga3VudCB1IGhvcml6b250YWFsIHNjcm9sbGVuOlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMC41ZW07XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZWZjZjtcbiAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjQ0NDQ0NDO1xuICBwYWRkaW5nOiAwLjVlbTtcbiAgYm9yZGVyLWNvbG9yOiAjZmZjMzM1O1xuICBmb250LXNpemU6IDAuODc1ZW07IH1cblxudGFibGUudGFibGUtLXNjcm9sbGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93LXg6IGF1dG87IH1cblxuLnRhYmxlLS16ZWJyYSB0ciB7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC50YWJsZS0temVicmEgdHI6bnRoLWNoaWxkKG9kZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFRUVFRUU7IH1cbiAgLnRhYmxlLS16ZWJyYSB0ciB0aFtzY29wZT1cInJvd1wiXSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLnRhYmxlLS16ZWJyYSB0aFtzY29wZT1cInJvd1wiXSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi50YWJsZS0tYmVlbGRiYW5rIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIG92ZXJmbG93LXg6IHZpc2libGU7XG4gIGNvbG9yOiAjMDA4MDdGO1xuICBtYXJnaW46IDAuNWVtIDA7IH1cbiAgLnRhYmxlLS1iZWVsZGJhbmsgdGJvZHkgdHI6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgYm9yZGVyOiBub25lOyB9XG4gIC50YWJsZS0tYmVlbGRiYW5rIHRoIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB3aWR0aDogMTQwcHg7IH1cbiAgLnRhYmxlLS1iZWVsZGJhbmsgdGgsIC50YWJsZS0tYmVlbGRiYW5rIHRkIHtcbiAgICBwYWRkaW5nOiAwOyB9XG5cbi50YWJsZS0tZnVsbCB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbiN1cGRhdGVTaG9wcGluZ0NhcnQgdGFibGUgdGgsICN1cGRhdGVTaG9wcGluZ0NhcnQgdGFibGUgdGQge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbiN1cGRhdGVTaG9wcGluZ0NhcnQgdGFibGUgc2VsZWN0IHtcbiAgbWluLWhlaWdodDogMi43NXJlbTsgfVxuXG4uc2VjdGlvbiB7XG4gIHBhZGRpbmc6IDJlbSAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNlY3Rpb24ge1xuICAgICAgcGFkZGluZzogNnZoIDA7IH0gfVxuXG4uc2VjdGlvbi0tbGlnaHQtZ3JleSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFN0YxRjM7IH1cblxuLnNlY3Rpb24tLWRhcmstYmx1ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMTRENTM7XG4gIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5zZWN0aW9uLS1kYXJrLWJsdWUgKiB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgLnNlY3Rpb24tLWRhcmstYmx1ZSAudGl0bGUtYmxvY2sgYSB7XG4gICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDsgfVxuICAgIC5zZWN0aW9uLS1kYXJrLWJsdWUgLnRpdGxlLWJsb2NrIGE6Zm9jdXMge1xuICAgICAgY29sb3I6ICNGRkZGRkY7IH1cblxuLnNlY3Rpb24tLWxpbmtzIHtcbiAgcGFkZGluZzogMWVtIDAgMmVtIDA7IH1cblxuLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDgwN0Y7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBib3JkZXItcmFkaXVzOiAxMDAwcHg7XG4gIHBhZGRpbmc6IDAuODVlbSAzN3B4IDAuODVlbSAxZW07XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90aGVtZXMvZGVmYXVsdC9hc3NldHMvaW1hZ2VzL2J1dHRvbi93aGl0ZS1jaGV2cm9uLXJpZ2h0LnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMTZweCBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRyYW5zaXRpb246IG5vbmU7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBsaW5lLWhlaWdodDogMS4yOyB9XG4gIC5idXR0b246aG92ZXIsIC5idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDgwN0Y7IH1cbiAgLmJ1dHRvbjpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoMCwgMTI4LCAxMjcsIDAuNSk7IH1cblxucCBhLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi5idXR0b24tLXNtYWxsIHtcbiAgZm9udC1zaXplOiAwLjg4ODg4ODg4ODg4ODg4OWVtOyB9XG5cbi5idXR0b24tLWxhcmdlIHtcbiAgZm9udC1zaXplOiAxLjIyMjIyMjIyMjIyMjIyMmVtO1xuICBwYWRkaW5nOiAwLjhlbSAzN3B4IDAuOWVtIDFlbTsgfVxuXG4uYnV0dG9uLS1saWdodC1ibHVlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwODA3RjsgfVxuICAuYnV0dG9uLS1saWdodC1ibHVlOmhvdmVyLCAuYnV0dG9uLS1saWdodC1ibHVlOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE0RDUzOyB9XG4gIC5idXR0b24tLWxpZ2h0LWJsdWU6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKDEsIDc3LCA4MywgMC44KTsgfVxuXG4jc2VhcmNoIGlucHV0LmJ1dHRvbiB7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNWVtO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGhlbWVzL2RlZmF1bHQvYXNzZXRzL2ltYWdlcy9idXR0b24vd2hpdGUtY2hldnJvbi1yaWdodC5zdmdcIik7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7IH1cblxuLmJ1dHRvbi0tbGlnaHQtYmx1ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDgwN0Y7IH1cblxuLmJ1dHRvbi0tc2hvcCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90aGVtZXMvZGVmYXVsdC9hc3NldHMvaW1hZ2VzL2J1dHRvbi9pY29uLXNob3BwaW5nLnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwODA3RjsgfVxuICAuYnV0dG9uLS1zaG9wOmhvdmVyLCAuYnV0dG9uLS1zaG9wOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE0RDUzOyB9XG5cbi5idXR0b24tLXNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90aGVtZXMvZGVmYXVsdC9hc3NldHMvaW1hZ2VzL2J1dHRvbi9kYXJrLWJsdWUtY2hldnJvbi1yaWdodC5zdmdcIik7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFN0YxRjM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFMUUxRTE7XG4gIGNvbG9yOiAjMDA4MDdGOyB9XG4gIC5idXR0b24tLXNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi0tc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA4MDdGO1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90aGVtZXMvZGVmYXVsdC9hc3NldHMvaW1hZ2VzL2J1dHRvbi93aGl0ZS1jaGV2cm9uLXJpZ2h0LnN2Z1wiKTsgfVxuXG4uYnV0dG9uLS1wcmljZSB7XG4gIHBhZGRpbmc6IDAuODVlbSAxZW07XG4gIGNvbG9yOiAjMDA4MDdGO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTFFMUUxO1xuICBjdXJzb3I6IGF1dG87XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cbiAgLmJ1dHRvbi0tcHJpY2U6aG92ZXIsIC5idXR0b24tLXByaWNlOmZvY3VzIHtcbiAgICBjb2xvcjogIzAwODA3RjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTFFMUUxOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgcC5maWx0ZXItb3B0aW9ucyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbi5idXR0b24tLWZpbHRlci1vcHRpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTdGMUYzO1xuICBjb2xvcjogIzAwODA3RjtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgcGFkZGluZzogMC44NWVtIDFlbTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlOyB9XG4gIC5idXR0b24tLWZpbHRlci1vcHRpb246aG92ZXIsIC5idXR0b24tLWZpbHRlci1vcHRpb246Zm9jdXMsIC5idXR0b24tLWZpbHRlci1vcHRpb24uYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA4MDdGO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG5cbi5idXR0b24tLXNob3BwaW5nLWNhcnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBib3JkZXItY29sb3I6ICNFN0YxRjM7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgY29sb3I6ICMwMDgwN0Y7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1yaWdodDogNjZweDsgfVxuICAuYnV0dG9uLS1zaG9wcGluZy1jYXJ0OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogNTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTdGMUYzO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90aGVtZXMvZGVmYXVsdC9hc3NldHMvaW1hZ2VzL2J1dHRvbi9zaG9wcGluZy1jYXJ0LnN2Z1wiKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICAuYnV0dG9uLS1zaG9wcGluZy1jYXJ0OmhvdmVyLCAuYnV0dG9uLS1zaG9wcGluZy1jYXJ0OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA4MDdGOyB9XG5cbi5idXR0b24tLWJhY2sge1xuICBwYWRkaW5nLXJpZ2h0OiAxZW07XG4gIHBhZGRpbmctbGVmdDogMzdweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RoZW1lcy9kZWZhdWx0L2Fzc2V0cy9pbWFnZXMvYnV0dG9uL2RhcmstYmx1ZS1jaGV2cm9uLWxlZnQuc3ZnXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IDE2cHggY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTdGMUYzO1xuICBjb2xvcjogIzAwODA3RjsgfVxuICAuYnV0dG9uLS1iYWNrOmhvdmVyLCAuYnV0dG9uLS1iYWNrOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA4MDdGO1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90aGVtZXMvZGVmYXVsdC9hc3NldHMvaW1hZ2VzL2J1dHRvbi93aGl0ZS1jaGV2cm9uLWxlZnQuc3ZnXCIpOyB9XG5cbi5idXR0b24tLXNvY2lhbC1zaGFyZSB7XG4gIGhlaWdodDogNDBweDtcbiAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBjb2xvcjogIzAwODA3RjtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgcGFkZGluZy1yaWdodDogMWVtOyB9XG5cbi5idXR0b24tLW15LWFjY291bnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDQ0OTQ5O1xuICBib3JkZXItcmFkaXVzOiAxMDAwcHg7XG4gIHotaW5kZXg6IDk5OTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxLjFlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwLjM1ZW0gMWVtIDAuMzVlbSAzN3B4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGhlbWVzL2RlZmF1bHQvYXNzZXRzL2ltYWdlcy9idXR0b24vdXNlci5zdmdcIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgMTNweCBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMjBweDtcbiAgbWFyZ2luLWxlZnQ6IDU4cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgIC5idXR0b24tLW15LWFjY291bnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwODA3ZjtcbiAgICAgIHBhZGRpbmc6IDAuMzVlbSAyNnB4IDAuMzVlbSAzOHB4O1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW46IDA7IH0gfVxuXG4uYnV0dG9uLS1teS1hY2NvdW50OmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAzNjI2MjtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMzAwbXM7IH1cblxuaWZyYW1lIHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbmZvcm0ge1xuICBmb250LXNpemU6IGluaGVyaXQ7IH1cbiAgZm9ybSBkaXYucm93IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTsgfVxuICAgIGZvcm0gZGl2LnJvdyAuY29sdW1ucy5sYXJnZS05IC5yb3cge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBmb3JtIGxhYmVsLmZvcm0tcmVxdWlyZWQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgKic7XG4gICAgY29sb3I6IHJlZDsgfVxuICBmb3JtIGRpdi5kZXNjcmlwdGlvbiB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIG1hcmdpbi10b3A6IDFlbTsgfVxuICBmb3JtIGxlZ2VuZCwgZm9ybSBmaWVsZHNldCwgZm9ybSBsYWJlbCB7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgZm9udC1zaXplOiBpbmhlcml0OyB9XG4gIGZvcm0gbGVnZW5kIHtcbiAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgZm9ybSBmaWVsZHNldCB7XG4gICAgYm9yZGVyOiAycHggc29saWQgI0U3RjFGMztcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07IH1cbiAgZm9ybSBsYWJlbCB7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy10b3A6IDAuNWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNWVtOyB9XG4gICAgZm9ybSBsYWJlbCBpbnB1dCB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjVlbSAhaW1wb3J0YW50OyB9XG4gIGZvcm0gc3Bhbi5yYW5nZSB7XG4gICAgY29sb3I6ICMwMDgwN0Y7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmctdG9wOiAwLjVlbTsgfVxuICBmb3JtIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICBmb3JtIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbiAgZm9ybSBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbiAgZm9ybSBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0sXG4gIGZvcm0gaW5wdXRbdHlwZT1cIndlZWtcIl0sXG4gIGZvcm0gaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuICBmb3JtIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG4gIGZvcm0gaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbiAgZm9ybSBpbnB1dFt0eXBlPVwidGVsXCJdLFxuICBmb3JtIGlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuICBmb3JtIGlucHV0W3R5cGU9XCJ1cmxcIl0sXG4gIGZvcm0gaW5wdXRbdHlwZT1cImNvbG9yXCJdLFxuICBmb3JtIHNlbGVjdCxcbiAgZm9ybSB0ZXh0YXJlYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMi43NXJlbTtcbiAgICBwYWRkaW5nOiAwIDAuNWVtO1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMHB4IDBweCAwcHggMnB4ICM3RDdEN0Q7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgZm9ybSBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbiAgICAgIGZvcm0gaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuICAgICAgZm9ybSBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbiAgICAgIGZvcm0gaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdLFxuICAgICAgZm9ybSBpbnB1dFt0eXBlPVwid2Vla1wiXSxcbiAgICAgIGZvcm0gaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuICAgICAgZm9ybSBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuICAgICAgZm9ybSBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuICAgICAgZm9ybSBpbnB1dFt0eXBlPVwidGVsXCJdLFxuICAgICAgZm9ybSBpbnB1dFt0eXBlPVwidGltZVwiXSxcbiAgICAgIGZvcm0gaW5wdXRbdHlwZT1cInVybFwiXSxcbiAgICAgIGZvcm0gaW5wdXRbdHlwZT1cImNvbG9yXCJdLFxuICAgICAgZm9ybSBzZWxlY3QsXG4gICAgICBmb3JtIHRleHRhcmVhIHtcbiAgICAgICAgbWluLWhlaWdodDogMy4yNXJlbTtcbiAgICAgICAgcGFkZGluZzogMCAwLjVlbTsgfSB9XG4gICAgZm9ybSBpbnB1dFt0eXBlPVwidGV4dFwiXTpmb2N1cyxcbiAgICBmb3JtIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpmb2N1cyxcbiAgICBmb3JtIGlucHV0W3R5cGU9XCJkYXRlXCJdOmZvY3VzLFxuICAgIGZvcm0gaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdOmZvY3VzLFxuICAgIGZvcm0gaW5wdXRbdHlwZT1cIndlZWtcIl06Zm9jdXMsXG4gICAgZm9ybSBpbnB1dFt0eXBlPVwiZW1haWxcIl06Zm9jdXMsXG4gICAgZm9ybSBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmZvY3VzLFxuICAgIGZvcm0gaW5wdXRbdHlwZT1cInNlYXJjaFwiXTpmb2N1cyxcbiAgICBmb3JtIGlucHV0W3R5cGU9XCJ0ZWxcIl06Zm9jdXMsXG4gICAgZm9ybSBpbnB1dFt0eXBlPVwidGltZVwiXTpmb2N1cyxcbiAgICBmb3JtIGlucHV0W3R5cGU9XCJ1cmxcIl06Zm9jdXMsXG4gICAgZm9ybSBpbnB1dFt0eXBlPVwiY29sb3JcIl06Zm9jdXMsXG4gICAgZm9ybSBzZWxlY3Q6Zm9jdXMsXG4gICAgZm9ybSB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwcHggMHB4IDBweCAycHggI2JmZThmZjtcbiAgICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgZm9ybSBzZWxlY3Q6bm90KFttdWx0aXBsZV0pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RoZW1lcy9kZWZhdWx0L2Fzc2V0cy9pbWFnZXMvYnV0dG9uL2RhcmstYmx1ZS1jaGV2cm9uLWRvd24uc3ZnXCIpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMTZweCBjZW50ZXI7XG4gICAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgICBtaW4td2lkdGg6IDEwMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyLjc1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIGZvcm0gc2VsZWN0Om5vdChbbXVsdGlwbGVdKSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzLjI1cmVtOyB9IH1cbiAgZm9ybSB0ZXh0YXJlYSB7XG4gICAgbWluLWhlaWdodDogNWVtO1xuICAgIHBhZGRpbmc6IDAuNzVlbTtcbiAgICByZXNpemU6IHZlcnRpY2FsOyB9XG4gIGZvcm0gaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICBmb3JtIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVlbTsgfVxuICBmb3JtIGlucHV0W3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsLFxuICBmb3JtIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwIDFlbSAwIDA7XG4gICAgcGFkZGluZzogMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIGZvcm0gZGl2LmZvcm0tYWN0aW9ucyB7XG4gICAgbWFyZ2luOiAxZW0gMDsgfVxuICAgIGZvcm0gZGl2LmZvcm0tYWN0aW9ucyBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMWVtOyB9XG4gIGZvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSArIHNwYW4uY2xlYXJGb3JtRmllbGRzIHtcbiAgICBjb2xvcjogIzAwODA3RjtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgZm9ybSBpbnB1dFt0eXBlPVwidGV4dFwiXS5lcnJvciwgZm9ybSBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0uZXJyb3IsIGZvcm0gaW5wdXRbdHlwZT1cImRhdGVcIl0uZXJyb3IsIGZvcm0gaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdLmVycm9yLCBmb3JtIGlucHV0W3R5cGU9XCJ3ZWVrXCJdLmVycm9yLCBmb3JtIGlucHV0W3R5cGU9XCJlbWFpbFwiXS5lcnJvciwgZm9ybSBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLmVycm9yLCBmb3JtIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0uZXJyb3IsIGZvcm0gaW5wdXRbdHlwZT1cInRlbFwiXS5lcnJvciwgZm9ybSBpbnB1dFt0eXBlPVwidGltZVwiXS5lcnJvciwgZm9ybSBpbnB1dFt0eXBlPVwidXJsXCJdLmVycm9yLCBmb3JtIGlucHV0W3R5cGU9XCJjb2xvclwiXS5lcnJvciwgZm9ybSBzZWxlY3QuZXJyb3IsIGZvcm0gdGV4dGFyZWEuZXJyb3Ige1xuICAgIG91dGxpbmUtd2lkdGg6IDAuMTI1cmVtO1xuICAgIG91dGxpbmUtc3R5bGU6IGRhc2hlZDtcbiAgICBvdXRsaW5lLWNvbG9yOiAjZGEzYTJmO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAwLjEyNXJlbTsgfVxuICBmb3JtIGxhYmVsLmVycm9yIHtcbiAgICBjb2xvcjogIzllMTQwYTtcbiAgICBwYWRkaW5nLXRvcDogMWVtOyB9XG5cbmRpdi5mb3JtLXBhbmVsIHtcbiAgbWF4LXdpZHRoOiA2NDBweDtcbiAgcGFkZGluZzogMmVtO1xuICBtYXJnaW46IDJlbSAwO1xuICBib3gtc2hhZG93OiAwcHggMHB4IDI0cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7IH1cbiAgZGl2LmZvcm0tcGFuZWwgLmZvcm0tYWN0aW9ucyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIGRpdi5mb3JtLXBhbmVsIC5mb3JtLWFjdGlvbnMgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgZGl2LmZvcm0tcGFuZWwgLmZvcm0tYWN0aW9ucyAuY2xlYXJGb3JtRmllbGRzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuaHRtbC5sb2FkZWQgI3VwZGF0ZVNob3BwaW5nQ2FydCBpbnB1dC5idXR0b24uYnV0dG9uLS1zZWNvbmRhcnkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC05OTk5cHg7IH1cblxuYS5hcmNoaXZlLXN0YXRpc3RpYyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTdGMUYzO1xuICBwYWRkaW5nOiAxZW0gNGVtIDFlbSAxZW07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICMwMDgwN0Y7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgbWFyZ2luOiAwIDAgMS4yNXJlbSAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBhLmFyY2hpdmUtc3RhdGlzdGljIHtcbiAgICAgIG1hcmdpbjogMCAwIDEuNjI1cmVtIDA7IH0gfVxuICBhLmFyY2hpdmUtc3RhdGlzdGljOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA4MDdGOyB9XG4gICAgYS5hcmNoaXZlLXN0YXRpc3RpYzpob3ZlciBzcGFuLmNhdGVnb3J5LCBhLmFyY2hpdmUtc3RhdGlzdGljOmhvdmVyIHNwYW4ubnVtYmVyIHtcbiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIGEuYXJjaGl2ZS1zdGF0aXN0aWM6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgICBhLmFyY2hpdmUtc3RhdGlzdGljOmZvY3VzIHNwYW4uY2F0ZWdvcnksIGEuYXJjaGl2ZS1zdGF0aXN0aWM6Zm9jdXMgc3Bhbi5udW1iZXIge1xuICAgICAgY29sb3I6ICMwMDgwN0Y7IH1cbiAgYS5hcmNoaXZlLXN0YXRpc3RpYyBzcGFuLmNhdGVnb3J5IHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS4yNWVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIGEuYXJjaGl2ZS1zdGF0aXN0aWMgc3Bhbi5jYXRlZ29yeSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41NTU1NTU1NTU1NTU1NTZlbTsgfSB9XG4gIGEuYXJjaGl2ZS1zdGF0aXN0aWMgc3Bhbi5udW1iZXIge1xuICAgIGZvbnQtc2l6ZTogM2VtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiAjMDA4MDdGO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIGEuYXJjaGl2ZS1zdGF0aXN0aWMgc3Bhbi5udW1iZXIge1xuICAgICAgICBmb250LXNpemU6IDMuMmVtOyB9IH1cbiAgYS5hcmNoaXZlLXN0YXRpc3RpYzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMWVtO1xuICAgIHRvcDogMWVtO1xuICAgIHdpZHRoOiAyLjY2NjY2NjY2NjY2NjY2N2VtO1xuICAgIGhlaWdodDogMi42NjY2NjY2NjY2NjY2NjdlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMDBweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGhlbWVzL2RlZmF1bHQvYXNzZXRzL2ltYWdlcy9pY29ucy9ibHVlLWNoZXZyb24tcmlnaHQuc3ZnXCIpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMC45ZW0gY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogYXV0bztcbiAgICBmb250LXNpemU6IDFyZW07IH1cblxuLnJvdy5tYWluLXJlc3VsdHMgYS5hcmNoaXZlLXN0YXRpc3RpYyBzcGFuLmNhdGVnb3J5IHtcbiAgbWluLWhlaWdodDogM2VtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG5cbi5yb3cubWFpbi1yZXN1bHRzIGhyIHtcbiAgbWFyZ2luOiAwIDAgMS42MjVyZW0gMDsgfVxuXG5hLmFyY2hpdmUtc3RhdGlzdGljLmV4dGVybmFsOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90aGVtZXMvZGVmYXVsdC9hc3NldHMvaW1hZ2VzL2ljb25zL2V4dGVybmFsLnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBib3JkZXI6IG5vbmU7IH1cblxuLnBhdGgtZnJvbnRwYWdlIGEuYXJjaGl2ZS1zdGF0aXN0aWMgc3Bhbi5jYXRlZ29yeSB7XG4gIG1pbi1oZWlnaHQ6IDNlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG5wLnN0dWR5LXJvb20ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBjb2xvcjogIzAwODA3RjtcbiAgcGFkZGluZzogMC41ZW0gMC43NWVtO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlci1yYWRpdXM6IDEwMDBweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgcC5zdHVkeS1yb29tIHNwYW4uc3RhdHVzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1ZW07XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB3aWR0aDogMC43NWVtO1xuICAgIGhlaWdodDogMC43NWVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMDBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmV5OyB9XG4gICAgcC5zdHVkeS1yb29tIHNwYW4uc3RhdHVzLm9wZW4ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzZFRjAwQzsgfVxuICAgIHAuc3R1ZHktcm9vbSBzcGFuLnN0YXR1cy5jbG9zZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmVkOyB9XG5cbiNyZXNlcnZlLWRvY3VtZW50cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDgwN0Y7XG4gIHBhZGRpbmc6IDEuMjVyZW07XG4gIG1heC13aWR0aDogNTMycHg7XG4gIGNvbG9yOiAjRkZGRkZGOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgI3Jlc2VydmUtZG9jdW1lbnRzIHtcbiAgICAgIHBhZGRpbmc6IDEuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAjcmVzZXJ2ZS1kb2N1bWVudHMge1xuICAgICAgcGFkZGluZzogNjBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cbiAgI3Jlc2VydmUtZG9jdW1lbnRzICoge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gICNyZXNlcnZlLWRvY3VtZW50cyBkaXYuZGVzY3JpcHRpb24gaDIge1xuICAgIGZvbnQtc2l6ZTogMS43NWVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICNyZXNlcnZlLWRvY3VtZW50cyBkaXYuZGVzY3JpcHRpb24gaDIge1xuICAgICAgICBmb250LXNpemU6IDIuMzMzMzMzMzMzMzMzMzMzZW07IH0gfVxuICAjcmVzZXJ2ZS1kb2N1bWVudHMgZGl2LmRlc2NyaXB0aW9uIHAge1xuICAgIGZvbnQtc2l6ZTogMWVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICNyZXNlcnZlLWRvY3VtZW50cyBkaXYuZGVzY3JpcHRpb24gcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMTExMTExMTExMTExMTFlbTsgfSB9XG4gICNyZXNlcnZlLWRvY3VtZW50cyBwLmNhbGwtdG8tYWN0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgI3Jlc2VydmUtZG9jdW1lbnRzIHAuY2FsbC10by1hY3Rpb24gYS5idXR0b24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMTRENTM7IH1cblxuI2ltYWdlLWxpYnJhcnkgZGl2LmltYWdlIHtcbiAgaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctYm90dG9tOiA3NSU7XG4gIG1hcmdpbi1ib3R0b206IDEuNjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUVFRUVFOyB9XG4gICNpbWFnZS1saWJyYXJ5IGRpdi5pbWFnZSBpbWcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyOyB9XG5cbi5ub3RpZmljYXRpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUVFRUVFO1xuICBib3JkZXItbGVmdDogNHB4IHNvbGlkICNDQ0NDQ0M7XG4gIHBhZGRpbmc6IDAuNWVtO1xuICBwYWRkaW5nLWxlZnQ6IDFlbTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtc2l6ZTogMC44NzVlbTsgfVxuXG4ubm90aWZpY2F0aW9uLS1pbmZvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YwZWZlZjtcbiAgYm9yZGVyLWNvbG9yOiAjMDA4MDdGOyB9XG5cbi5ub3RpZmljYXRpb24tLXN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzJmM2E4O1xuICBib3JkZXItY29sb3I6IGdyZWVuOyB9XG5cbi5ub3RpZmljYXRpb24tLXdhcm5pbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdlZmNmO1xuICBib3JkZXItY29sb3I6ICNmZmMzMzU7IH1cblxuLm5vdGlmaWNhdGlvbi0tZXJyb3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNjNGJiO1xuICBib3JkZXItY29sb3I6ICNmZjJlMWM7IH1cblxuLm5vdGlmaWNhdGlvbi0tc21hbGwge1xuICBmb250LXNpemU6IDAuNzVlbTsgfVxuXG51bC5icmVhZGNydW1iIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBmb250LXNpemU6IDEuMjIyMjIyMjIyMjIyMjIyZW07XG4gIG1hcmdpbjogMCAwIDFlbSAwOyB9XG4gIHVsLmJyZWFkY3J1bWIgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAgIHVsLmJyZWFkY3J1bWIgbGk6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90aGVtZXMvZGVmYXVsdC9hc3NldHMvaW1hZ2VzL2J1dHRvbi93aGl0ZS1jaGV2cm9uLXJpZ2h0LnN2Z1wiKTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICB3aWR0aDogOXB4O1xuICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luOiAwIDAuMjVlbSAwIDAuNWVtOyB9XG4gICAgdWwuYnJlYWRjcnVtYiBsaTpsYXN0LWNoaWxkOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICB1bC5icmVhZGNydW1iIGxpIGEge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICB0ZXh0LXNoYWRvdzogMXB4IDFweCAzcHggYmxhY2s7IH1cbiAgICB1bC5icmVhZGNydW1iIGxpOjphZnRlciB7XG4gICAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDFweCAxcHggMnB4IGJsYWNrKTsgfVxuXG51bC5saW5rcyB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIHVsLmxpbmtzIGxpOmJlZm9yZSB7XG4gICAgY29udGVudDogXCI+IFwiO1xuICAgIGNvbG9yOiAjMDA4MDdGOyB9XG4gIHVsLmxpbmtzIGxpIGEge1xuICAgIGNvbG9yOiAjMDA4MDdGOyB9XG4gICAgdWwubGlua3MgbGkgYTpmb2N1cyB7XG4gICAgICBjb2xvcjogIzAwODA3RjsgfVxuXG51bC5jb2xsZWN0aW9uLWNhdGVnb3JpZXMsIHVsLnN1Ym1lbnUge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuICB1bC5jb2xsZWN0aW9uLWNhdGVnb3JpZXMgbGksIHVsLnN1Ym1lbnUgbGkge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZm9udC1zaXplOiAxLjExMTExMTExMTExMTExMWVtO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cbiAgICB1bC5jb2xsZWN0aW9uLWNhdGVnb3JpZXMgbGkgYSwgdWwuc3VibWVudSBsaSBhIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGNvbG9yOiAjMDA4MDdGO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwLjVlbTsgfVxuICAgICAgdWwuY29sbGVjdGlvbi1jYXRlZ29yaWVzIGxpIGE6YmVmb3JlLCB1bC5zdWJtZW51IGxpIGE6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDlweDtcbiAgICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGhlbWVzL2RlZmF1bHQvYXNzZXRzL2ltYWdlcy9pY29ucy9kYXJrLWJsdWUtY2hldnJvbi1yaWdodC5zdmdcIik7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC41ZW07XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgICAgIHVsLmNvbGxlY3Rpb24tY2F0ZWdvcmllcyBsaSBhOmhvdmVyLCB1bC5jb2xsZWN0aW9uLWNhdGVnb3JpZXMgbGkgYTpmb2N1cywgdWwuY29sbGVjdGlvbi1jYXRlZ29yaWVzIGxpIGEuYWN0aXZlLCB1bC5jb2xsZWN0aW9uLWNhdGVnb3JpZXMgbGkgYS5pcy1hY3RpdmUsIHVsLnN1Ym1lbnUgbGkgYTpob3ZlciwgdWwuc3VibWVudSBsaSBhOmZvY3VzLCB1bC5zdWJtZW51IGxpIGEuYWN0aXZlLCB1bC5zdWJtZW51IGxpIGEuaXMtYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0RERERERDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OyB9XG4gICAgICB1bC5jb2xsZWN0aW9uLWNhdGVnb3JpZXMgbGkgYS5hY3RpdmUsIHVsLmNvbGxlY3Rpb24tY2F0ZWdvcmllcyBsaSBhLmlzLWFjdGl2ZSwgdWwuc3VibWVudSBsaSBhLmFjdGl2ZSwgdWwuc3VibWVudSBsaSBhLmlzLWFjdGl2ZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbnVsLnBhZ2luYXRpb24ge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAwLjg4ODg4ODg4ODg4ODg4OWVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgdWwucGFnaW5hdGlvbiB7XG4gICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cbiAgdWwucGFnaW5hdGlvbiBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICB1bC5wYWdpbmF0aW9uIGxpIGEsIHVsLnBhZ2luYXRpb24gbGkgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDAgMC42ZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBoZWlnaHQ6IDIuMjIyMjIyMjIyMjIyMjIyZW07XG4gICAgICBsaW5lLWhlaWdodDogMi4yMjIyMjIyMjIyMjIyMjJlbTsgfVxuICAgIHVsLnBhZ2luYXRpb24gbGkgYSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICB1bC5wYWdpbmF0aW9uIGxpIGEucHJldiwgdWwucGFnaW5hdGlvbiBsaSBhLm5leHQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0VFRUVFRTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90aGVtZXMvZGVmYXVsdC9hc3NldHMvaW1hZ2VzL2ljb25zL2JsdWUtY2hldnJvbi1yaWdodC5zdmdcIik7XG4gICAgICB3aWR0aDogMi4yMjIyMjIyMjIyMjIyMjJlbTtcbiAgICAgIGhlaWdodDogMi4yMjIyMjIyMjIyMjIyMjJlbTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDMwJTtcbiAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAgICAgdWwucGFnaW5hdGlvbiBsaSBhLnByZXY6aG92ZXIsIHVsLnBhZ2luYXRpb24gbGkgYS5wcmV2OmZvY3VzLCB1bC5wYWdpbmF0aW9uIGxpIGEubmV4dDpob3ZlciwgdWwucGFnaW5hdGlvbiBsaSBhLm5leHQ6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREREREREO1xuICAgICAgICBib3JkZXI6IG5vbmU7IH1cbiAgICB1bC5wYWdpbmF0aW9uIGxpIGEucHJldiB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGhlbWVzL2RlZmF1bHQvYXNzZXRzL2ltYWdlcy9pY29ucy9ibHVlLWNoZXZyb24tbGVmdC5zdmdcIik7IH1cbiAgICB1bC5wYWdpbmF0aW9uIGxpIGEuZmlyc3Q6aG92ZXIsIHVsLnBhZ2luYXRpb24gbGkgYS5maXJzdDpmb2N1cywgdWwucGFnaW5hdGlvbiBsaSBhLmxhc3Q6aG92ZXIsIHVsLnBhZ2luYXRpb24gbGkgYS5sYXN0OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIHVsLnBhZ2luYXRpb24gbGkgYS5maXJzdCBzcGFuLCB1bC5wYWdpbmF0aW9uIGxpIGEubGFzdCBzcGFuIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBib3JkZXI6IG5vbmU7IH1cbiAgdWwucGFnaW5hdGlvbiBzcGFuLmFjdGl2ZSwgdWwucGFnaW5hdGlvbiBhLmFjdGl2ZSwgdWwucGFnaW5hdGlvbiBsaS5pcy1hY3RpdmUgYSwgdWwucGFnaW5hdGlvbiBsaS5pcy1hY3RpdmUgc3BhbiB7XG4gICAgY29sb3I6ICMwMDgwN0Y7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDA4MDdGO1xuICAgIHBhZGRpbmc6IDAgMC43NWVtOyB9XG5cbi50aXRsZS1ibG9jayB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAudGl0bGUtYmxvY2sgaDEsIC50aXRsZS1ibG9jayBoMiB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiA4MCU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnRpdGxlLWJsb2NrIGgxLCAudGl0bGUtYmxvY2sgaDIge1xuICAgICAgICBtYXgtd2lkdGg6IDkwMHB4O1xuICAgICAgICBmb250LXNpemU6IDIuMzMzMzMzMzMzMzMzMzMzZW07IH0gfVxuICAudGl0bGUtYmxvY2sgYS5yZWFkLW1vcmUge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgY29sb3I6ICMwMDgwN0Y7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnRpdGxlLWJsb2NrIGEucmVhZC1tb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjExMTExMTExMTExMTExMWVtOyB9IH1cbiAgICAudGl0bGUtYmxvY2sgYS5yZWFkLW1vcmU6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLnRpdGxlLWJsb2NrIGEucmVhZC1tb3JlOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjMDA4MDdGOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgLnRpdGxlLWJsb2NrIGEucmVhZC1tb3JlIHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbTsgfSB9XG5cbi50aXRsZS1ibG9jay0tY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC50aXRsZS1ibG9jay0tY2VudGVyIGgxLCAudGl0bGUtYmxvY2stLWNlbnRlciBoMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi5sYXJnZS0xMiAudGl0bGUtYmxvY2sge1xuICBtYXJnaW4tYm90dG9tOiAyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmxhcmdlLTggLnRpdGxlLWJsb2NrLmFsaWduLXdpdGgtc2lkZWJhciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtOyB9XG4gICAgLmxhcmdlLTggLnRpdGxlLWJsb2NrLmFsaWduLXdpdGgtc2lkZWJhciBoMSwgLmxhcmdlLTggLnRpdGxlLWJsb2NrLmFsaWduLXdpdGgtc2lkZWJhciBoMiB7XG4gICAgICBmb250LXNpemU6IDEuNTU1NTU1NTU1NTU1NTU2ZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtOCAudGl0bGUtYmxvY2suYWxpZ24td2l0aC1zaWRlYmFyIHtcbiAgICBtYXJnaW4tdG9wOiAxLjVlbTsgfSB9XG5cbi5zZWN0aW9uLS1kYXJrLWJsdWUgLnRpdGxlLWJsb2NrIGEucmVhZC1tb3JlIHtcbiAgY29sb3I6ICNGRkZGRkY7IH1cblxuLnNlY3Rpb24tLWNvbGxlY3Rpb24taW50cm8gLnRleHQgcCB7XG4gIGZvbnQtc2l6ZTogMS4xMTExMTExMTExMTExMTFlbTtcbiAgbWFyZ2luOiAwOyB9XG5cbi5zZWN0aW9uLS1jb2xsZWN0aW9uLWludHJvIC5pbnRyby10ZXh0IGgyLCAuc2VjdGlvbi0tY29sbGVjdGlvbi1pbnRybyAuaW50cm8tY3RhIGgyIHtcbiAgZm9udC1zaXplOiAxLjMzMzMzMzMzMzMzMzMzM2VtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5zZWN0aW9uLS1jb2xsZWN0aW9uLWludHJvIC5pbnRyby10ZXh0IGEuYnV0dG9uLCAuc2VjdGlvbi0tY29sbGVjdGlvbi1pbnRybyAuaW50cm8tY3RhIGEuYnV0dG9uIHtcbiAgZm9udC1zaXplOiAxLjIyMjIyMjIyMjIyMjIyMmVtOyB9XG5cbmRpdi5zaWRlYmFyLWJsb2NrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0U3RjFGMztcbiAgcGFkZGluZzogMS41ZW07XG4gIGJvcmRlci1yYWRpdXM6IDhweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIGRpdi5zaWRlYmFyLWJsb2NrIHtcbiAgICAgIG1heC13aWR0aDogNDAwcHg7IH0gfVxuICBAbWVkaWEgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMS41KSwgKG1pbi1yZXNvbHV0aW9uOiAxNDRkcGkpIHtcbiAgICBkaXYuc2lkZWJhci1ibG9jayB7XG4gICAgICBtYXgtd2lkdGg6IDM0MHB4OyB9IH1cbiAgZGl2LnNpZGViYXItYmxvY2sgaDMge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgZGl2LnNpZGViYXItYmxvY2sgdWwge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZm9udC1zaXplOiAwLjg4ODg4ODg4ODg4ODg4OWVtOyB9XG4gICAgZGl2LnNpZGViYXItYmxvY2sgdWwgbGk6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgI2hlYWRlciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgICNoZWFkZXIgLmNvbHVtbnMuc2hvdy1mb3ItbGFyZ2UubGFyZ2UtNi5sYXJnZS10ZXh0LWNlbnRlciAjbWFpbi1tZW51IHtcbiAgICAgIHBhZGRpbmc6IDI2cHg7XG4gICAgICBtYXJnaW4tbGVmdDogLTI2cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0yNnB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgI2hlYWRlciAuY29sdW1ucy5zaG93LWZvci1sYXJnZS5sYXJnZS02LmxhcmdlLXRleHQtY2VudGVyICNtYWluLW1lbnUgbGkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgI2hlYWRlciAuY29sdW1ucy5zaG93LWZvci1sYXJnZS5sYXJnZS02LmxhcmdlLXRleHQtY2VudGVyICNtYWluLW1lbnUgbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyOiBub25lOyB9XG4gICAgICAgICNoZWFkZXIgLmNvbHVtbnMuc2hvdy1mb3ItbGFyZ2UubGFyZ2UtNi5sYXJnZS10ZXh0LWNlbnRlciAjbWFpbi1tZW51IGxpIGEge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGNvbG9yOiAjZDRkNGZmOyB9XG4gICAgICAgICAgI2hlYWRlciAuY29sdW1ucy5zaG93LWZvci1sYXJnZS5sYXJnZS02LmxhcmdlLXRleHQtY2VudGVyICNtYWluLW1lbnUgbGkgYTpob3ZlciwgI2hlYWRlciAuY29sdW1ucy5zaG93LWZvci1sYXJnZS5sYXJnZS02LmxhcmdlLXRleHQtY2VudGVyICNtYWluLW1lbnUgbGkgYTpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgICAgICAgICNoZWFkZXIgLmNvbHVtbnMuc2hvdy1mb3ItbGFyZ2UubGFyZ2UtNi5sYXJnZS10ZXh0LWNlbnRlciAjbWFpbi1tZW51IGxpIGEuYWN0aXZlLCAjaGVhZGVyIC5jb2x1bW5zLnNob3ctZm9yLWxhcmdlLmxhcmdlLTYubGFyZ2UtdGV4dC1jZW50ZXIgI21haW4tbWVudSBsaSBhLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgICAgI2hlYWRlciAuY29sdW1ucy5zaG93LWZvci1sYXJnZS5sYXJnZS02LmxhcmdlLXRleHQtY2VudGVyICNtYWluLW1lbnU6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDMxO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IC0xMDBweDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogLTEwMHB4O1xuICAgICAgICBib3R0b206IDA7IH1cbiAgYm9keS5zaG93LW1lbnUgI2hlYWRlciB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgICBib2R5LnNob3ctbWVudSAjaGVhZGVyIGEubG9nbyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxZW07IH1cbiAgICBib2R5LnNob3ctbWVudSAjaGVhZGVyIC5jb2x1bW5zLnNob3ctZm9yLWxhcmdlLmxhcmdlLTYubGFyZ2UtdGV4dC1jZW50ZXIge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIGJvZHkuc2hvdy1tZW51ICNoZWFkZXIgI3RvZ2dsZS1tZW51IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90aGVtZXMvZGVmYXVsdC9hc3NldHMvaW1hZ2VzL2ljb25zL2Nsb3NlLnN2Z1wiKTsgfSB9XG5cbmRpdi5iZWVsZGJhbmstcmVzdWx0IHtcbiAgcGFkZGluZzogMWVtIDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjY2NjO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgZGl2LmJlZWxkYmFuay1yZXN1bHQ6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyOiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICBkaXYuYmVlbGRiYW5rLXJlc3VsdCBkaXYuaW1hZ2UsIGRpdi5iZWVsZGJhbmstcmVzdWx0IGRpdi5kZXRhaWxzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICBkaXYuYmVlbGRiYW5rLXJlc3VsdCBkaXYuYnV0dG9ucyBhLmJ1dHRvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgI2hlYWRlciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIGhlaWdodDogOTBweDsgfVxuICAjY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXRvcDogOTBweDsgfSB9XG5cbmRpdi5jYy13aW5kb3cge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgcGFkZGluZzogMTVweCAhaW1wb3J0YW50OyB9XG5cbi5jYy1mbG9hdGluZyAuY2MtY29tcGxpYW5jZSA+IC5jYy1idG4ge1xuICBib3JkZXItcmFkaXVzOiAxMDAwcHg7IH1cblxuLmV4dHJhLXNlYXJjaC1yZXN1bHRzIC5jYXRlZ29yeTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2NjY2M7IH1cblxuLmV4dHJhLXNlYXJjaC1yZXN1bHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMmVtIDY0cHggMmVtIDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjY2NjO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDY0cHg7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB9XG4gIC5leHRyYS1zZWFyY2gtcmVzdWx0IHAudGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS41NTU1NTU1NTU1NTU1NTZlbTtcbiAgICBjb2xvcjogIzAwODA3RjtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAuZXh0cmEtc2VhcmNoLXJlc3VsdCBwLnRpdGxlIHNwYW4ge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBjb2xvcjogIzAwODA3RjsgfVxuICAuZXh0cmEtc2VhcmNoLXJlc3VsdCBwLnN1YnRpdGxlIHtcbiAgICBmb250LXNpemU6IDAuODg4ODg4ODg4ODg4ODg5ZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiAjNjc2NzY3OyB9XG4gIC5leHRyYS1zZWFyY2gtcmVzdWx0IGEuc2hvdy1yZXN1bHRzIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMzJweDtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMnB4IDEycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwODA3RjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGhlbWVzL2RlZmF1bHQvYXNzZXRzL2ltYWdlcy90ZW1wbGF0ZS9pY29uLXBsdXMuc3ZnXCIpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5leHRyYS1zZWFyY2gtcmVzdWx0IGEuc2hvdy1yZXN1bHRzIHtcbiAgICAgICAgd2lkdGg6IDY0cHg7XG4gICAgICAgIGhlaWdodDogNjRweDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyNHB4IDI0cHg7IH0gfVxuICAgIC5leHRyYS1zZWFyY2gtcmVzdWx0IGEuc2hvdy1yZXN1bHRzOmhvdmVyLCAuZXh0cmEtc2VhcmNoLXJlc3VsdCBhLnNob3ctcmVzdWx0czpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2NzY2OyB9XG4gICAgLmV4dHJhLXNlYXJjaC1yZXN1bHQgYS5zaG93LXJlc3VsdHMuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90aGVtZXMvZGVmYXVsdC9hc3NldHMvaW1hZ2VzL3RlbXBsYXRlL2ljb24tbWludXMuc3ZnXCIpOyB9XG4gICAgLmV4dHJhLXNlYXJjaC1yZXN1bHQgYS5zaG93LXJlc3VsdHMuZGlzYWJsZWQge1xuICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAuZXh0cmEtc2VhcmNoLXJlc3VsdCArIC5yZXN1bHRzIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5yZXN1bHRzIC53ZWJzaXRlLXJlc3VsdCB7XG4gIG1hcmdpbi1ib3R0b206IDJlbTsgfVxuICAucmVzdWx0cyAud2Vic2l0ZS1yZXN1bHQgcC50aXRsZSB7XG4gICAgbWFyZ2luOiAwIDAgMC41ZW0gMDtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAucmVzdWx0cyAud2Vic2l0ZS1yZXN1bHQgcC5kZXNjcmlwdGlvbiB7XG4gICAgZm9udC1zaXplOiAwLjg4ODg4ODg4ODg4ODg4OWVtO1xuICAgIG1hcmdpbi10b3A6IDA7IH1cblxuLnRpcHB5LWJveFtkYXRhLWFuaW1hdGlvbj1mYWRlXVtkYXRhLXN0YXRlPWhpZGRlbl0ge1xuICBvcGFjaXR5OiAwOyB9XG5cbltkYXRhLXRpcHB5LXJvb3RdIHtcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gMTBweCk7IH1cblxuLnRpcHB5LWJveCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMzMztcbiAgY29sb3I6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMS40O1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBvdXRsaW5lOiAwO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sdmlzaWJpbGl0eSxvcGFjaXR5OyB9XG5cbi50aXBweS1ib3hbZGF0YS1wbGFjZW1lbnRePXRvcF0gPiAudGlwcHktYXJyb3cge1xuICBib3R0b206IDA7IH1cblxuLnRpcHB5LWJveFtkYXRhLXBsYWNlbWVudF49dG9wXSA+IC50aXBweS1hcnJvdzpiZWZvcmUge1xuICBib3R0b206IC03cHg7XG4gIGxlZnQ6IDA7XG4gIGJvcmRlci13aWR0aDogOHB4IDhweCAwO1xuICBib3JkZXItdG9wLWNvbG9yOiBpbml0aWFsO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgdG9wOyB9XG5cbi50aXBweS1ib3hbZGF0YS1wbGFjZW1lbnRePWJvdHRvbV0gPiAudGlwcHktYXJyb3cge1xuICB0b3A6IDA7IH1cblxuLnRpcHB5LWJveFtkYXRhLXBsYWNlbWVudF49Ym90dG9tXSA+IC50aXBweS1hcnJvdzpiZWZvcmUge1xuICB0b3A6IC03cHg7XG4gIGxlZnQ6IDA7XG4gIGJvcmRlci13aWR0aDogMCA4cHggOHB4O1xuICBib3JkZXItYm90dG9tLWNvbG9yOiBpbml0aWFsO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tOyB9XG5cbi50aXBweS1ib3hbZGF0YS1wbGFjZW1lbnRePWxlZnRdID4gLnRpcHB5LWFycm93IHtcbiAgcmlnaHQ6IDA7IH1cblxuLnRpcHB5LWJveFtkYXRhLXBsYWNlbWVudF49bGVmdF0gPiAudGlwcHktYXJyb3c6YmVmb3JlIHtcbiAgYm9yZGVyLXdpZHRoOiA4cHggMCA4cHggOHB4O1xuICBib3JkZXItbGVmdC1jb2xvcjogaW5pdGlhbDtcbiAgcmlnaHQ6IC03cHg7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBsZWZ0OyB9XG5cbi50aXBweS1ib3hbZGF0YS1wbGFjZW1lbnRePXJpZ2h0XSA+IC50aXBweS1hcnJvdyB7XG4gIGxlZnQ6IDA7IH1cblxuLnRpcHB5LWJveFtkYXRhLXBsYWNlbWVudF49cmlnaHRdID4gLnRpcHB5LWFycm93OmJlZm9yZSB7XG4gIGxlZnQ6IC03cHg7XG4gIGJvcmRlci13aWR0aDogOHB4IDhweCA4cHggMDtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBpbml0aWFsO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgcmlnaHQ7IH1cblxuLnRpcHB5LWJveFtkYXRhLWluZXJ0aWFdW2RhdGEtc3RhdGU9dmlzaWJsZV0ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTQsIDEuNSwgMC4zOCwgMS4xMSk7IH1cblxuLnRpcHB5LWFycm93IHtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDtcbiAgY29sb3I6ICMzMzM7IH1cblxuLnRpcHB5LWFycm93OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgfVxuXG4udGlwcHktY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogNXB4IDlweDtcbiAgei1pbmRleDogMTsgfVxuXG4udGlwcHktYm94W2RhdGEtdGhlbWV+PW1hdGVyaWFsXSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLnRpcHB5LWJveFtkYXRhLXRoZW1lfj1tYXRlcmlhbF1bZGF0YS1wbGFjZW1lbnRePXRvcF0gPiAudGlwcHktYXJyb3c6YmVmb3JlIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzAwMDsgfVxuXG4udGlwcHktYm94W2RhdGEtdGhlbWV+PW1hdGVyaWFsXVtkYXRhLXBsYWNlbWVudF49Ym90dG9tXSA+IC50aXBweS1hcnJvdzpiZWZvcmUge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjMDAwOyB9XG5cbi50aXBweS1ib3hbZGF0YS10aGVtZX49bWF0ZXJpYWxdW2RhdGEtcGxhY2VtZW50Xj1sZWZ0XSA+IC50aXBweS1hcnJvdzpiZWZvcmUge1xuICBib3JkZXItbGVmdC1jb2xvcjogIzAwMDsgfVxuXG4udGlwcHktYm94W2RhdGEtdGhlbWV+PW1hdGVyaWFsXVtkYXRhLXBsYWNlbWVudF49cmlnaHRdID4gLnRpcHB5LWFycm93OmJlZm9yZSB7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogIzAwMDsgfVxuXG4udGlwcHktYm94W2RhdGEtdGhlbWV+PW1hdGVyaWFsXSA+IC50aXBweS1iYWNrZHJvcCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7IH1cblxuLnRpcHB5LWJveFtkYXRhLXRoZW1lfj1tYXRlcmlhbF0gPiAudGlwcHktc3ZnLWFycm93IHtcbiAgZmlsbDogIzAwMDsgfVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIG5vLWNvbG9yLWxpdGVyYWxzLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4vLy8vXG5cbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vLyBGb250IHNpemUgYXR0cmlidXRlIGFwcGxpZWQgdG8gYDxodG1sPmAgYW5kIGA8Ym9keT5gLiBXZSB1c2UgMTAwJSBieSBkZWZhdWx0IHNvIHRoZSB2YWx1ZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgdXNlcidzIGJyb3dzZXIgc2V0dGluZ3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB3aWR0aCBvZiB5b3VyIHNpdGUuIFVzZWQgYnkgdGhlIGdyaWQgdG8gZGV0ZXJtaW5lIHJvdyB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuLy8vIENvbG9ycyB1c2VkIGZvciBidXR0b25zLCBjYWxsb3V0cywgbGlua3MsIGV0Yy4gVGhlcmUgbXVzdCBhbHdheXMgYmUgYSBjb2xvciBjYWxsZWQgYHByaW1hcnlgLlxuLy8vIEB0eXBlIE1hcFxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMTc3OWJhLFxuICBzZWNvbmRhcnk6ICM3Njc2NzYsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjY2M0YjM3LFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGxpZ2h0IGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsaWdodC1ncmF5OiAjZTZlNmU2ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZWRpdW0tZ3JheTogI2NhY2FjYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGRhcmsgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGJsYWNrIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxhY2s6ICMwYTBhMGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHdoaXRlOiAjZmVmZWZlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBMaXN0XG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgYW50aWFsaWFzZWQgdHlwZSwgdXNpbmcgdGhlIGAtd2Via2l0LWZvbnQtc21vb3RoaW5nYCBhbmQgYC1tb3otb3N4LWZvbnQtc21vb3RoaW5nYCBDU1MgcHJvcGVydGllcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBtYXJnaW4gb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwb3NpdGlvbmluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wb3NpdGlvbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBub3JtYWwgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBib2xkIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgZWxlbWVudHMgdGhhdCBoYXZlIGEgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gQ2FuIGJlIG92ZXJ3cml0dGVuIGF0IGluZGl2aWR1YWwgbWVudSBjb21wb25lbnQgbGV2ZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBOZXN0ZWQgbWFyZ2luIGZvciBzdWJtZW51LlxuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgQ1NTLiBDYW4gYmUgZWl0aGVyIGBsdHJgIG9yIGBydGxgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBmb3IgY29tcG9uZW50cyB0aGF0IHN1cHBvcnQgaXQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlZCByZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBwcm90b3R5cGVzIGlmIGFwcGxpY2FibGVcbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCdXR0b24gY3Vyc29yJ3MgdmFsdWUsIGBhdXRvYCBieSBkZWZhdWx0XG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBhdXRvICFkZWZhdWx0O1xuXG5AaWYgbm90IG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgQGVycm9yICdJbiAkZm91bmRhdGlvbi1wYWxldHRlLCB5b3UgbXVzdCBoYXZlIGEgY29sb3IgbmFtZWQgXCJwcmltYXJ5XCIuJztcbn1cblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIHRleHQgZGlyZWN0aW9uXG4kZ2xvYmFsLWxlZnQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCByaWdodCwgbGVmdCk7XG4kZ2xvYmFsLXJpZ2h0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgbGVmdCwgcmlnaHQpO1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZSB0aGF0IGNvbnRhaW5zIHRoZSBmbGV4IGp1c3RpZnlpbmcgb3B0aW9uc1xuJC16Zi1mbGV4LWp1c3RpZnk6IC16Zi1mbGV4LWp1c3RpZnkoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbik7XG5cbi8vLyBHbG9iYWwgdG9sZXJhbmNlIGZvciBjb2xvciBwaWNrIGNvbnRyYXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMCAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIGNvbG9yc1xuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzIHtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1ub3JtYWxpemU7XG5cbiAgLy8gVGhlc2Ugc3R5bGVzIGFyZSBhcHBsaWVkIHRvIGEgPG1ldGE+IHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0XG4gIC5mb3VuZGF0aW9uLW1xIHtcbiAgICBmb250LWZhbWlseTogJyN7LXpmLWJwLXNlcmlhbGl6ZSgkYnJlYWtwb2ludHMpfSc7XG4gIH1cblxuICBodG1sIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBTZXQgYm94LXNpemluZyBnbG9iYWxseSB0byBoYW5kbGUgcGFkZGluZyBhbmQgYm9yZGVyIHdpZHRoc1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gRGVmYXVsdCBib2R5IHN0eWxlc1xuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuXG4gICAgQGlmICgkYm9keS1hbnRpYWxpYXNlZCkge1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgLy8gR2V0IHJpZCBvZiBnYXAgdW5kZXIgaW1hZ2VzIGJ5IG1ha2luZyB0aGVtIGRpc3BsYXk6IGlubGluZS1ibG9jazsgYnkgZGVmYXVsdFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgLy8gR3JpZCBkZWZhdWx0cyB0byBnZXQgaW1hZ2VzIGFuZCBlbWJlZHMgdG8gd29yayBwcm9wZXJseVxuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSB0ZXh0YXJlYSB0YWtlcyBvbiBoZWlnaHQgYXV0b21hdGljYWxseVxuICB0ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBNYWtlIHNlbGVjdCBlbGVtZW50cyBhcmUgMTAwJSB3aWR0aCBieSBkZWZhdWx0XG4gIHNlbGVjdCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIFN0eWxlcyBHb29nbGUgTWFwcyBhbmQgTWFwUXVlc3QgZW1iZWRzIHByb3Blcmx5XG4gIC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8taWRzXG4gIC5tYXBfY2FudmFzLFxuICAubXFhLWRpc3BsYXkge1xuICAgIGltZyxcbiAgICBlbWJlZCxcbiAgICBvYmplY3Qge1xuICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgPGJ1dHRvbj4gc3R5bGVzIGNyZWF0ZWQgYnkgbW9zdCBicm93c2Vyc1xuICBidXR0b24ge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGN1cnNvcjogJGdsb2JhbC1idXR0b24tY3Vyc29yO1xuICB9XG5cbiAgLy8gUHJldmVudCB0ZXh0IG92ZXJmbG93IG9uIHByZVxuICBwcmUge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLy8gTWFrZSByZXNldCBpbmhlcml0IGZvbnQtZmFtaWx5IGluc3RlYWQgb2Ygc2V0dGluZ3Mgc2Fucy1zZXJpZlxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBJbnRlcm5hbCBjbGFzc2VzIHRvIHNob3cvaGlkZSBlbGVtZW50cyBpbiBKYXZhU2NyaXB0XG4gIC5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmlzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLyAgRm91bmRhdGlvbiBmb3IgU2l0ZXMgU2V0dGluZ3Ncbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cbi8vICBUYWJsZSBvZiBDb250ZW50czpcbi8vXG4vLyAgIDEuIEdsb2JhbFxuLy8gICAyLiBCcmVha3BvaW50c1xuLy8gICAzLiBUaGUgR3JpZFxuLy8gICA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vICAgNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAgIDYuIEFiaWRlXG4vLyAgIDcuIEFjY29yZGlvblxuLy8gICA4LiBBY2NvcmRpb24gTWVudVxuLy8gICA5LiBCYWRnZVxuLy8gIDEwLiBCcmVhZGNydW1ic1xuLy8gIDExLiBCdXR0b25cbi8vICAxMi4gQnV0dG9uIEdyb3VwXG4vLyAgMTMuIENhbGxvdXRcbi8vICAxNC4gQ2FyZFxuLy8gIDE1LiBDbG9zZSBCdXR0b25cbi8vICAxNi4gRHJpbGxkb3duXG4vLyAgMTcuIERyb3Bkb3duXG4vLyAgMTguIERyb3Bkb3duIE1lbnVcbi8vICAxOS4gRmxleGJveCBVdGlsaXRpZXNcbi8vICAyMC4gRm9ybXNcbi8vICAyMS4gTGFiZWxcbi8vICAyMi4gTWVkaWEgT2JqZWN0XG4vLyAgMjMuIE1lbnVcbi8vICAyNC4gTWV0ZXJcbi8vICAyNS4gT2ZmLWNhbnZhc1xuLy8gIDI2LiBPcmJpdFxuLy8gIDI3LiBQYWdpbmF0aW9uXG4vLyAgMjguIFByb2dyZXNzIEJhclxuLy8gIDI5LiBQcm90b3R5cGUgQXJyb3dcbi8vICAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcbi8vICAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXG4vLyAgMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxuLy8gIDMzLiBQcm90b3R5cGUgRGlzcGxheVxuLy8gIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXG4vLyAgMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcbi8vICAzNi4gUHJvdG90eXBlIE92ZXJmbG93XG4vLyAgMzcuIFByb3RvdHlwZSBQb3NpdGlvblxuLy8gIDM4LiBQcm90b3R5cGUgUm91bmRlZFxuLy8gIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXG4vLyAgNDAuIFByb3RvdHlwZSBTaGFkb3dcbi8vICA0MS4gUHJvdG90eXBlIFNpemluZ1xuLy8gIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xuLy8gIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXG4vLyAgNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXG4vLyAgNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xuLy8gIDQ2LiBSZXNwb25zaXZlIEVtYmVkXG4vLyAgNDcuIFJldmVhbFxuLy8gIDQ4LiBTbGlkZXJcbi8vICA0OS4gU3dpdGNoXG4vLyAgNTAuIFRhYmxlXG4vLyAgNTEuIFRhYnNcbi8vICA1Mi4gVGh1bWJuYWlsXG4vLyAgNTMuIFRpdGxlIEJhclxuLy8gIDU0LiBUb29sdGlwXG4vLyAgNTUuIFRvcCBCYXJcbi8vICA1Ni4gWHkgR3JpZFxuXG5AaW1wb3J0ICdub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvdXRpbCc7XG5cbi8vIDEuIEdsb2JhbFxuLy8gLS0tLS0tLS0tXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlO1xuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCk7XG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNTtcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogI0VGRTQwMCxcbiAgc2Vjb25kYXJ5OiAjNzY3Njc2LFxuICBzdWNjZXNzOiAjM2FkYjc2LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2NjNGIzNyxcbik7XG4kbGlnaHQtZ3JheTogI2U2ZTZlNjtcbiRtZWRpdW0tZ3JheTogI2NhY2FjYTtcbiRkYXJrLWdyYXk6ICM4YThhOGE7XG4kYmxhY2s6ICMwYTBhMGE7XG4kd2hpdGU6ICNmZWZlZmU7XG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2s7XG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuJGJvZHktYW50aWFsaWFzZWQ6IHRydWU7XG4kZ2xvYmFsLW1hcmdpbjogMXJlbTtcbiRnbG9iYWwtcGFkZGluZzogMXJlbTtcbiRnbG9iYWwtcG9zaXRpb246IDFyZW07XG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbDtcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQ7XG4kZ2xvYmFsLXJhZGl1czogMDtcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtO1xuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyO1xuJGdsb2JhbC1mbGV4Ym94OiB0cnVlO1xuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlO1xuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMDtcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZTtcblxuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG4vLyAyLiBCcmVha3BvaW50c1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKTtcbiRwcmludC1icmVha3BvaW50OiBsYXJnZTtcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpO1xuXG4vLyAzLiBUaGUgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJGdyaWQtcm93LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uLWNvdW50OiAxMjtcbiRncmlkLWNvbHVtbi1ndXR0ZXI6IChcbiAgc21hbGw6IDIwcHgsXG4gIG1lZGl1bTogMzBweCxcbik7XG4kZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZTogdHJ1ZTtcbiRncmlkLWNvbHVtbi1hbGlhczogJ2NvbHVtbnMnO1xuJGJsb2NrLWdyaWQtbWF4OiA4O1xuXG4vLyA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsO1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0O1xuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAyNCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAxOSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNDgpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogNDApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMzEpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjUpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuKTtcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRzbWFsbC1mb250LXNpemU6IDgwJTtcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjY7XG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW07XG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kY29kZS1jb2xvcjogJGJsYWNrO1xuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSk7XG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmU7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZTtcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0bztcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW07XG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW07XG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSk7XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJztcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjaztcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKTtcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2s7XG5cbi8vIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1O1xuJGxlYWQtbGluZWhlaWdodDogMS42O1xuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5O1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW07XG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtO1xuXG4vLyA2LiBBYmlkZVxuLy8gLS0tLS0tLS1cblxuJGFiaWRlLWlucHV0czogdHJ1ZTtcbiRhYmlkZS1sYWJlbHM6IHRydWU7XG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gNy4gQWNjb3JkaW9uXG4vLyAtLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZTtcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcblxuLy8gOC4gQWNjb3JkaW9uIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmc7XG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWU7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ6IG51bGw7XG4kYWNjb3JkaW9ubWVudS1ib3JkZXI6IG51bGw7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kOiBudWxsO1xuJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoOiA0MHB4O1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiRhY2NvcmRpb25tZW51LWFycm93LXNpemU6IDZweDtcblxuLy8gOS4gQmFkZ2Vcbi8vIC0tLS0tLS0tXG5cbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRiYWRnZS1jb2xvcjogJHdoaXRlO1xuJGJhZGdlLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJhZGdlLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kYmFkZ2UtcGFkZGluZzogMC4zZW07XG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtO1xuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtO1xuXG4vLyAxMC4gQnJlYWRjcnVtYnNcbi8vIC0tLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbTtcbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZTtcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogdHJ1ZTtcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtOiAnLyc7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGw6ICdcXFxcJztcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuXG4vLyAxMS4gQnV0dG9uXG4vLyAtLS0tLS0tLS0tXG5cbiRidXR0b24tZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW07XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4kYnV0dG9uLWZpbGw6IHNvbGlkO1xuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiRidXR0b24tY29sb3I6ICR3aGl0ZTtcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2s7XG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDFweDtcbiRidXR0b24tc2l6ZXM6IChcbiAgdGlueTogMC42cmVtLFxuICBzbWFsbDogMC43NXJlbSxcbiAgZGVmYXVsdDogMC45cmVtLFxuICBsYXJnZTogMS4yNXJlbSxcbik7XG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlO1xuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlO1xuJGJ1dHRvbi10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcblxuLy8gMTIuIEJ1dHRvbiBHcm91cFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtO1xuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweDtcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nO1xuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDY7XG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWU7XG5cbi8vIDEzLiBDYWxsb3V0XG4vLyAtLS0tLS0tLS0tLVxuXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JTtcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KTtcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMDtcbiRjYWxsb3V0LXBhZGRpbmc6IDFyZW07XG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQ7XG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhbGxvdXQtbGluay10aW50OiAzMCU7XG5cbi8vIDE0LiBDYXJkXG4vLyAtLS0tLS0tLVxuXG4kY2FyZC1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kY2FyZC1kaXZpZGVyLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuJGNhcmQtYm9yZGVyOiAwO1xuJGNhcmQtc2hhZG93OiBub25lO1xuJGNhcmQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kY2FyZC1wYWRkaW5nOiAwO1xuJGNhcmQtbWFyZ2luLWJvdHRvbTogMDtcblxuLy8gMTUuIENsb3NlIEJ1dHRvblxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcDtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxuICBzbWFsbDogMC42NnJlbSxcbiAgbWVkaXVtOiAxcmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcbiAgc21hbGw6IDAuMzNlbSxcbiAgbWVkaXVtOiAwLjVyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLXNpemU6IChcbiAgc21hbGw6IDEuNWVtLFxuICBtZWRpdW06IDJlbSxcbik7XG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMTtcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheTtcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrO1xuXG4vLyAxNi4gRHJpbGxkb3duXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjtcbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlO1xuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbjogMDtcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZztcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4O1xuXG4vLyAxNy4gRHJvcGRvd25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd24tcGFkZGluZzogMXJlbTtcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW07XG4kZHJvcGRvd24td2lkdGg6IDMwMHB4O1xuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKTtcblxuLy8gMTguIERyb3Bkb3duIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlO1xuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvcjtcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW07XG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHg7XG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LWJhY2tncm91bmQ7XG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luOiAwO1xuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZztcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50O1xuXG4vLyAxOS4gRmxleGJveCBVdGlsaXRpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDY7XG4kZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzOiB0cnVlO1xuXG4vLyAyMC4gRm9ybXNcbi8vIC0tLS0tLS0tLVxuXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApO1xuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpO1xuJGZvcm0tc3BhY2luZzogcmVtLWNhbGMoMTYpO1xuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2s7XG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljO1xuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtO1xuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjaztcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjg7XG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kaW5wdXQtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyO1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpO1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZDtcbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWU7XG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMS4gTGFiZWxcbi8vIC0tLS0tLS0tLVxuXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kbGFiZWwtY29sb3I6ICR3aGl0ZTtcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjaztcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtO1xuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIyLiBNZWRpYSBPYmplY3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCU7XG5cbi8vIDIzLiBNZW51XG4vLyAtLS0tLS0tLVxuXG4kbWVudS1tYXJnaW46IDA7XG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbTtcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGU7XG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSk7XG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG4kbWVudS1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJG1lbnUtc3RhdGUtYmFjay1jb21wYXQ6IHRydWU7XG4kbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdDogdHJ1ZTtcblxuLy8gMjQuIE1ldGVyXG4vLyAtLS0tLS0tLS1cblxuJG1ldGVyLWhlaWdodDogMXJlbTtcbiRtZXRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJG1ldGVyLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRtZXRlci1maWxsLWdvb2Q6ICRzdWNjZXNzLWNvbG9yO1xuJG1ldGVyLWZpbGwtbWVkaXVtOiAkd2FybmluZy1jb2xvcjtcbiRtZXRlci1maWxsLWJhZDogJGFsZXJ0LWNvbG9yO1xuXG4vLyAyNS4gT2ZmLWNhbnZhc1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJG9mZmNhbnZhcy1zaXplOiAyNTBweDtcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZTogMjUwcHg7XG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJG9mZmNhbnZhcy1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjcpO1xuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZTogMjBweDtcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSk7XG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMTtcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyO1xuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTM7XG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cztcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2U7XG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZTtcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSk7XG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnO1xuXG4vLyAyNi4gT3JiaXRcbi8vIC0tLS0tLS0tLVxuXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTA7XG5cbi8vIDI3LiBQYWdpbmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKTtcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSk7XG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvcjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7XG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZTtcbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZTtcblxuLy8gMjguIFByb2dyZXNzIEJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxcmVtO1xuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm9ncmVzcy1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyOS4gUHJvdG90eXBlIEFycm93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9uczogKFxuICBkb3duLFxuICB1cCxcbiAgcmlnaHQsXG4gIGxlZnRcbik7XG4kcHJvdG90eXBlLWFycm93LXNpemU6IDAuNDM3NXJlbTtcbiRwcm90b3R5cGUtYXJyb3ctY29sb3I6ICRibGFjaztcblxuLy8gMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXItYm94LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcblxuLy8gMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlci1ub25lLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcblxuLy8gMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlcmVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm9yZGVyLXdpZHRoOiByZW0tY2FsYygxKTtcbiRwcm90b3R5cGUtYm9yZGVyLXR5cGU6IHNvbGlkO1xuJHByb3RvdHlwZS1ib3JkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcblxuLy8gMzMuIFByb3RvdHlwZSBEaXNwbGF5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1kaXNwbGF5LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtZGlzcGxheTogKFxuICBpbmxpbmUsXG4gIGlubGluZS1ibG9jayxcbiAgYmxvY2ssXG4gIHRhYmxlLFxuICB0YWJsZS1jZWxsXG4pO1xuXG4vLyAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1mb250LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtd2lkZS1sZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoNCk7XG4kcHJvdG90eXBlLWZvbnQtbm9ybWFsOiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kcHJvdG90eXBlLWZvbnQtYm9sZDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkOiAoXG4gIGRpc2MsXG4gIGNpcmNsZSxcbiAgc3F1YXJlXG4pO1xuJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQ6IChcbiAgZGVjaW1hbCxcbiAgbG93ZXItYWxwaGEsXG4gIGxvd2VyLWxhdGluLFxuICBsb3dlci1yb21hbixcbiAgdXBwZXItYWxwaGEsXG4gIHVwcGVyLWxhdGluLFxuICB1cHBlci1yb21hblxuKTtcblxuLy8gMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLW92ZXJmbG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtb3ZlcmZsb3c6IChcbiAgdmlzaWJsZSxcbiAgaGlkZGVuLFxuICBzY3JvbGxcbik7XG5cbi8vIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1wb3NpdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXBvc2l0aW9uOiAoXG4gIHN0YXRpYyxcbiAgcmVsYXRpdmUsXG4gIGFic29sdXRlLFxuICBmaXhlZFxuKTtcbiRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleDogOTc1O1xuXG4vLyAzOC4gUHJvdG90eXBlIFJvdW5kZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXJvdW5kZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKTtcblxuLy8gMzkuIFByb3RvdHlwZSBTZXBhcmF0b3Jcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWFsaWduOiBjZW50ZXI7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHQ6IHJlbS1jYWxjKDIpO1xuJHByb3RvdHlwZS1zZXBhcmF0b3Itd2lkdGg6IDNyZW07XG4kcHJvdG90eXBlLXNlcGFyYXRvci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luO1xuXG4vLyA0MC4gUHJvdG90eXBlIFNoYWRvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zaGFkb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3gtc2hhZG93OiAwIDJweCA1cHggMCByZ2JhKDAsMCwwLC4xNiksXG4gICAgICAgICAgICAgICAgICAgICAgIDAgMnB4IDEwcHggMCByZ2JhKDAsMCwwLC4xMik7XG5cbi8vIDQxLiBQcm90b3R5cGUgU2l6aW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNpemluZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNpemluZzogKFxuICB3aWR0aCxcbiAgaGVpZ2h0XG4pO1xuJHByb3RvdHlwZS1zaXplczogKFxuICAyNTogMjUlLFxuICA1MDogNTAlLFxuICA3NTogNzUlLFxuICAxMDA6IDEwMCVcbik7XG5cbi8vIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc3BhY2luZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNwYWNlcnMtY291bnQ6IDM7XG5cbi8vIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWRlY29yYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb246IChcbiAgb3ZlcmxpbmUsXG4gIHVuZGVybGluZSxcbiAgbGluZS10aHJvdWdoLFxuKTtcblxuLy8gNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS10cmFuc2Zvcm1hdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb246IChcbiAgbG93ZXJjYXNlLFxuICB1cHBlcmNhc2UsXG4gIGNhcGl0YWxpemVcbik7XG5cbi8vIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS11dGlsaXRpZXMtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblxuLy8gNDYuIFJlc3BvbnNpdmUgRW1iZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxuICBkZWZhdWx0OiA0IGJ5IDMsXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4pO1xuXG4vLyA0Ny4gUmV2ZWFsXG4vLyAtLS0tLS0tLS0tXG5cbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlO1xuJHJldmVhbC13aWR0aDogNjAwcHg7XG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcmV2ZWFsLXppbmRleDogMTAwNTtcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSk7XG5cbi8vIDQ4LiBTbGlkZXJcbi8vIC0tLS0tLS0tLS1cblxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtO1xuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiRzbGlkZXItaGVpZ2h0OiAwLjVyZW07XG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHNsaWRlci1maWxsLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA0OS4gU3dpdGNoXG4vLyAtLS0tLS0tLS0tXG5cbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3I7XG4kc3dpdGNoLWhlaWdodDogMnJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtO1xuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbTtcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbTtcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG5cbi8vIDUwLiBUYWJsZVxuLy8gLS0tLS0tLS0tXG5cbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFibGUtY29sb3Itc2NhbGU6IDUlO1xuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApO1xuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJTtcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZTtcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXN0cmlwZTogZXZlbjtcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKTtcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2U7XG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xuXG4vLyA1MS4gVGFic1xuLy8gLS0tLS0tLS1cblxuJHRhYi1tYXJnaW46IDA7XG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXk7XG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlO1xuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuJHRhYi1leHBhbmQtbWF4OiA2O1xuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5O1xuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDUyLiBUaHVtYm5haWxcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGU7XG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKTtcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpO1xuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1My4gVGl0bGUgQmFyXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2s7XG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW07XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5O1xuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcblxuLy8gNTQuIFRvb2x0aXBcbi8vIC0tLS0tLS0tLS0tXG5cbiRoYXMtdGlwLWN1cnNvcjogaGVscDtcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5O1xuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW07XG4kdG9vbHRpcC1tYXgtd2lkdGg6IDEwcmVtO1xuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtO1xuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1NS4gVG9wIEJhclxuLy8gLS0tLS0tLS0tLS1cblxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW07XG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZDtcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDA7XG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG5cbi8vIDU2LiBYeSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4keHktZ3JpZDogdHJ1ZTtcbiRncmlkLWNvbnRhaW5lcjogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbnM6IDEyO1xuJGdyaWQtbWFyZ2luLWd1dHRlcnM6IChcbiAgc21hbGw6IDIwcHgsXG4gIG1lZGl1bTogMzBweFxuKTtcbiRncmlkLXBhZGRpbmctZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnM7XG4kYmxvY2stZ3JpZC1tYXg6IDg7XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENyZWF0ZXMgYW4gaW5uZXIgYm94LXNoYWRvdyBmb3Igb25seSBvbmUgc2lkZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2lkZSAtIFNpZGUgdGhlIHNoYWRvdyBpcyBzdXBwb3NlZCB0byBhcHBlYXIuIENhbiBiZSBgdG9wYCwgYGxlZnRgLCBgcmlnaHRgIG9yIGBib3R0b21gLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSAtIFdpZHRoIGZvciB0aGUgdGFyZ2V0IHNpZGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3Igb2YgdGhlIHNoYWRvdy5cbkBtaXhpbiBpbm5lci1zaWRlLXNoYWRvdyhcbiAgJHNpZGU6IGJvdHRvbSxcbiAgJHNpemU6IDIwcHgsXG4gICRjb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpXG4pIHtcblxuICAkaGVscGVyOiByb3VuZCgkc2l6ZSAqIDAuNjUpO1xuXG4gIEBpZiAoJHNpZGUgPT0gdG9wKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAkaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGxlZnQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAkaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gcmlnaHQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAoLTEpKiRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBib3R0b20pIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICgtMSkqJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgQ1NTIHRyaWFuZ2xlLCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgZHJvcGRvd24gYXJyb3dzLCBkcm9wZG93biBwaXBzLCBhbmQgbW9yZS4gVXNlIHRoaXMgbWl4aW4gaW5zaWRlIGEgYCY6OmJlZm9yZWAgb3IgYCY6OmFmdGVyYCBzZWxlY3RvciwgdG8gYXR0YWNoIHRoZSB0cmlhbmdsZSB0byBhbiBleGlzdGluZyBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0cmlhbmdsZS1zaXplIC0gV2lkdGggb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICR0cmlhbmdsZS1jb2xvciAtIENvbG9yIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0cmlhbmdsZS1kaXJlY3Rpb24gLSBEaXJlY3Rpb24gdGhlIHRyaWFuZ2xlIHBvaW50cy4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuQG1peGluIGNzcy10cmlhbmdsZShcbiAgJHRyaWFuZ2xlLXNpemUsXG4gICR0cmlhbmdsZS1jb2xvcixcbiAgJHRyaWFuZ2xlLWRpcmVjdGlvblxuKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuXG4gIGJvcmRlcjogaW5zZXQgJHRyaWFuZ2xlLXNpemU7XG5cbiAgY29udGVudDogJyc7XG5cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGRvd24pIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSB1cCkge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHJpZ2h0KSB7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBtZW51IGljb24gd2l0aCBhIHNldCB3aWR0aCwgaGVpZ2h0LCBudW1iZXIgb2YgYmFycywgYW5kIGNvbG9ycy4gVGhlIG1peGluIHVzZXMgdGhlIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiB0aGUgYmFycyB0byBkZXRlcm1pbmUgc3BhY2luZy4gPGRpdiBjbGFzcz1cImRvY3MtZXhhbXBsZS1idXJnZXJcIj48L2Rpdj5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yLWhvdmVyIFskZGFyay1ncmF5XSAtIENvbG9yIHRvIHVzZSB3aGVuIHRoZSBpY29uIGlzIGhvdmVyZWQgb3Zlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFsyMHB4XSAtIFdpZHRoIG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFsxNnB4XSAtIEhlaWdodCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbMnB4XSAtIEhlaWdodCBvZiBpbmRpdmlkdWFsIGJhcnMgaW4gdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXJzIFszXSAtIE51bWJlciBvZiBiYXJzIGluIHRoZSBpY29uLlxuQG1peGluIGhhbWJ1cmdlcihcbiAgJGNvbG9yOiAkYmxhY2ssXG4gICRjb2xvci1ob3ZlcjogJGRhcmstZ3JheSxcbiAgJHdpZHRoOiAyMHB4LFxuICAkaGVpZ2h0OiAxNnB4LFxuICAkd2VpZ2h0OiAycHgsXG4gICRiYXJzOiAzXG4pIHtcbiAgLy8gYm94LXNoYWRvdyBDU1Mgb3V0cHV0XG4gICRzaGFkb3c6ICgpO1xuICAkaG92ZXItc2hhZG93OiAoKTtcblxuICAvLyBTcGFjaW5nIGJldHdlZW4gYmFycyBpcyBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSB0b3RhbCBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgZWFjaCBiYXJcbiAgJHNwYWNpbmc6ICgkaGVpZ2h0IC0gKCR3ZWlnaHQgKiAkYmFycykpIC8gKCRiYXJzIC0gMSk7XG5cbiAgQGlmIHVuaXQoJHNwYWNpbmcpID09ICdweCcge1xuICAgICRzcGFjaW5nOiBmbG9vcigkc3BhY2luZyk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICRzaGFkb3c6IGFwcGVuZCgkc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3IsIGNvbW1hKTtcbiAgfVxuXG4gIC8vIEljb24gY29udGFpbmVyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBJY29uIGJhcnNcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHdlaWdodDtcblxuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaWYgJGNvbG9yLWhvdmVyIHtcbiAgICAvLyBHZW5lcmF0ZSBDU1NcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgICAkaG92ZXItc2hhZG93OiBhcHBlbmQoJGhvdmVyLXNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLWhvdmVyLCBjb21tYSk7XG4gICAgfVxuXG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgICAgYm94LXNoYWRvdzogJGhvdmVyLXNoYWRvdztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkb3dud2FyZC1mYWNpbmcgdHJpYW5nbGUgYXMgYSBiYWNrZ3JvdW5kIGltYWdlIHRvIGFuIGVsZW1lbnQuIFRoZSBpbWFnZSBpcyBmb3JtYXR0ZWQgYXMgYW4gU1ZHLCBtYWtpbmcgaXQgZWFzeSB0byBjaGFuZ2UgdGhlIGNvbG9yLiBCZWNhdXNlIEludGVybmV0IEV4cGxvcmVyIGRvZXNuJ3Qgc3VwcG9ydCBlbmNvZGVkIFNWR3MgYXMgYmFja2dyb3VuZCBpbWFnZXMsIGEgUE5HIGZhbGxiYWNrIGlzIGFsc28gaW5jbHVkZWQuXG4vLy8gVGhlcmUgYXJlIHR3byBQTkcgZmFsbGJhY2tzOiBhIGJsYWNrIHRyaWFuZ2xlIGFuZCBhIHdoaXRlIHRyaWFuZ2xlLiBUaGUgb25lIHVzZWQgZGVwZW5kcyBvbiB0aGUgbGlnaHRuZXNzIG9mIHRoZSBpbnB1dCBjb2xvci5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIHRyaWFuZ2xlLlxuQG1peGluIGJhY2tncm91bmQtdHJpYW5nbGUoJGNvbG9yOiAkYmxhY2spIHtcbiAgJHJnYjogJ3JnYiUyOCN7cm91bmQocmVkKCRjb2xvcikpfSwgI3tyb3VuZChncmVlbigkY29sb3IpKX0sICN7cm91bmQoYmx1ZSgkY29sb3IpKX0lMjknO1xuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogI3skcmdifSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcbiAgICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPCA2MCUge1xuICAgICAgLy8gV2hpdGUgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBCbGFjayB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQU1CSlJFRlVlTnJFbGxzT2hDQU1SVnN6QzlJbHpVN0tDbVZIVEpzb01XWU1VdHB5djlCZ2J1WFFCNVpTZGdCWVlZNHljZ0Jpdms4S1lGc1FNZk1pVFRCUDRvM25VekNLek9hYkxKYkx5Mi9nMzFldkdrQWdpblI0L1plZ0tINXFYM2JKQ3NjQTN0MHgza2dPNXRRRnloaEZmNTB4UnFGTGJ5TVVOSlF6Z3lqR1Mvd2dDcHZLcWtSQnB1V3JFNFY5ZCsxRTRkUFVYcUlnMTA3U1FPRS8yRFJReE13VER5Z0lJblZERVQ5VDNsQ29qLzZqL1ZDbUdqWk9sMmxLcFo4QUF3RFFQN3pJaW1ER0ZRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBcHBsaWVzIHRoZSBtaWNybyBjbGVhcmZpeCBoYWNrIHBvcHVsYXJpemVkIGJ5IE5pY29sYXMgR2FsbGFnaGVyLiBJbmNsdWRlIHRoaXMgbWl4aW4gb24gYSBjb250YWluZXIgaWYgaXRzIGNoaWxkcmVuIGFyZSBhbGwgZmxvYXRlZCwgdG8gZ2l2ZSB0aGUgY29udGFpbmVyIGEgcHJvcGVyIGhlaWdodC5cbi8vLyBUaGUgY2xlYXJmaXggaXMgYXVnbWVudGVkIHdpdGggc3BlY2lmaWMgc3R5bGVzIHRvIHByZXZlbnQgYm9yZGVycyBpbiBmbGV4Ym94IGVudmlyb25tZW50c1xuLy8vIEBsaW5rIGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrLyBNaWNybyBDbGVhcmZpeCBIYWNrXG4vLy8gQGxpbmsgaHR0cDovL2RhbmlzYWRlc2lnbmVyLmNvbS9ibG9nL2ZsZXhib3gtY2xlYXItZml4LXBzZXVkby1lbGVtZW50cy8gRmxleGJveCBmaXhcbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLy8gQWRkcyBDU1MgZm9yIGEgXCJxdWFudGl0eSBxdWVyeVwiIHNlbGVjdG9yIHRoYXQgYXV0b21hdGljYWxseSBzaXplcyBlbGVtZW50cyBiYXNlZCBvbiBob3cgbWFueSB0aGVyZSBhcmUgaW5zaWRlIGEgY29udGFpbmVyLlxuLy8vIEBsaW5rIGh0dHA6Ly9hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlL3F1YW50aXR5LXF1ZXJpZXMtZm9yLWNzcyBRdWFudGl0eSBRdWVyaWVzIGZvciBDU1Ncbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IC0gTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gZGV0ZWN0LiBUaGUgaGlnaGVyIHRoaXMgbnVtYmVyIGlzLCB0aGUgbW9yZSBDU1MgdGhhdCdzIHJlcXVpcmVkIHRvIGNvdmVyIGVhY2ggbnVtYmVyIG9mIGl0ZW1zLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gW2xpXSAtIFRhZyB0byB1c2UgZm9yIHNpYmxpbmcgc2VsZWN0b3JzLlxuQG1peGluIGF1dG8td2lkdGgoJG1heCwgJGVsZW06IGxpKSB7XG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJG1heCB7XG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQsXG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQgfiAjeyRlbGVtfSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgxIC8gJGkpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyB0aGUgZm9jdXMgcmluZyBhcm91bmQgYW4gZWxlbWVudCB3aGVuIGEgbW91c2UgaW5wdXQgaXMgZGV0ZWN0ZWQuXG5AbWl4aW4gZGlzYWJsZS1tb3VzZS1vdXRsaW5lIHtcbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddICYge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgc3RpbGwgYWNjZXNzaWJsZSB0byBrZXlib2FyZHMgYW5kIGFzc2lzdGl2ZSBkZXZpY2VzLlxuLy8vIEBsaW5rIGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHkgSGlkaW5nIENvbnRlbnQgZm9yIEFjY2Vzc2liaWxpdHlcbi8vLyBAbGluayBodHRwOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsMCwwLDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBib3JkZXI6IDA7XG59XG5cbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBjcmVhdGVkIGJ5IHRoZSBgZWxlbWVudC1pbnZpc2libGUoKWAgbWl4aW4uXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bztcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgaXRlcmF0ZSBvdmVyIGJyZWFrcG9pbnRzIHdpdGhvdXQgZG9pbmcgdGhlIG1lZGlhIHF1ZXJ5IGl0c2VsZi4gVXNlZnVsIGZvciBtb3JlIGNvbXBsZXggbWVkaWEgcXVlcnkgZ2VuZXJhdGlvbiBhcyBpbiB0aGUgbWFyZ2luIGdyaWQuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IHRydWUsICRhdXRvLWluc2VydC1icmVha3BvaW50czogdHJ1ZSkge1xuICAkbGlzdDogJGJyZWFrcG9pbnQtY2xhc3NlcztcblxuICBAaWYgbm90ICRzbWFsbCB7XG4gICAgJGxpc3Q6IHNsLXJlbW92ZSgkbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUgaW4gJGxpc3Qge1xuICAgICRvbGQtemYtc2l6ZTogbnVsbDtcbiAgICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gICAgfVxuICAgICQtemYtc2l6ZTogJG5hbWUgIWdsb2JhbDtcblxuICAgIEBpZiAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgdGhlIGBAY29udGVudGAgcGFzc2VkIHRvIHRoZSBtaXhpbiB3aXRoIGEgdmFsdWUgYCQtemYtYnAtdmFsdWVgIHJlbGF0ZWQgdG8gYSBicmVha3BvaW50LCBkZXBlbmRpbmcgb24gdGhlIGAkbmFtZWAgcGFyYW1ldGVyOlxuLy8vIC0gRm9yIGEgc2luZ2xlIHZhbHVlLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhpcyB2YWx1ZS5cbi8vLyAtIEZvciBhIGJyZWFrcG9pbnQgbmFtZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgLlxuLy8vIC0gRm9yIFwiYXV0b1wiLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAgYW5kIGlzIHBhc3NlZCB0byBgQGNvbnRlbnRgLCB3aGljaCBpcyBtYWRlIHJlc3BvbnNpdmUgZm9yIGVhY2ggYnJlYWtwb2ludCBvZiBgJG1hcGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8QXJyYXl8S2V5d29yZH0gJG5hbWUgW2F1dG9dIC0gU2luZ2xlIHZhbHVlLCBicmVha3BvaW50IG5hbWUsIG9yIGxpc3Qgb2YgYnJlYWtwb2ludCBuYW1lcyB0byB1c2UuIFwiYXV0b1wiIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gTWFwIG9mIGJyZWFrcG9pbnRzIGFuZCB2YWx1ZXMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS5cbkBtaXhpbiAtemYtYnJlYWtwb2ludC12YWx1ZShcbiAgJG5hbWU6IGF1dG8sXG4gICRtYXA6IG51bGxcbikge1xuICBAaWYgJG5hbWUgPT0gYXV0byBhbmQgdHlwZS1vZigkbWFwKSA9PSAnbWFwJyB7XG4gICAgLy8gXCJhdXRvXCJcbiAgICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRrKSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCR2LCAkbWFwKSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIGJyZWFrcG9pbnQgbmFtZVxuICAgIEBpZiB0eXBlLW9mKCRuYW1lKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkbmFtZTogLXpmLWdldC1icC12YWwoJG1hcCwgJG5hbWUpO1xuICAgIH1cblxuICAgIC8vIGJyZWFrcG9pbnQgdmFsdWVcbiAgICAkLXpmLWJwLXZhbHVlOiAkbmFtZSAhZ2xvYmFsO1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmbGV4LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBjb250YWluZXIgZm9yIGEgZmxleCBncmlkIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxMaXN0fSAkYmVoYXZpb3IgW251bGxdXG4vLy8gICBNb2RpZmljYXRpb25zIHRvIHRoZSBkZWZhdWx0IGdyaWQgc3R5bGVzLiBgbmVzdGAgaW5kaWNhdGVzIHRoZSByb3cgd2lsbCBiZSBwbGFjZWQgaW5zaWRlIGFub3RoZXIgcm93LiBgY29sbGFwc2VgIGluZGljYXRlcyB0aGF0IHRoZSBjb2x1bW5zIGluc2lkZSB0aGlzIHJvdyB3aWxsIG5vdCBoYXZlIHBhZGRpbmcuIGBuZXN0IGNvbGxhcHNlYCBjb21iaW5lcyBib3RoIGJlaGF2aW9ycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbJGdyaWQtcm93LXdpZHRoXSBNYXhpbXVtIHNpemUgb2YgdGhlIHJvdy4gU2V0IHRvIGBleHBhbmRgIHRvIG1ha2UgdGhlIHJvdyB0YWtpbmcgdGhlIGZ1bGwgd2lkdGguXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIFtudWxsXSAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZSBmb3IgdGhpcyByb3cuIElmIHNldCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSwgdGhlIGdsb2JhbCBjb2x1bW4gY291bnQgd2lsbCBiZSB1c2VkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGJhc2UgW3RydWVdIC0gU2V0IHRvIGBmYWxzZWAgdG8gcHJldmVudCBiYXNpYyBzdHlsZXMgZnJvbSBiZWluZyBvdXRwdXQuIFVzZWZ1bCBpZiB5b3UncmUgY2FsbGluZyB0aGlzIG1peGluIG9uIHRoZSBzYW1lIGVsZW1lbnQgdHdpY2UsIGFzIGl0IHByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgb3V0cHV0LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHdyYXAgW3RydWVdIC0gU2V0IHRvIGBmYWxzZWAgdG8gaGF2ZSByb3cgd3JhcHBpbmcgYmVoYXZpb3Igc2V0IHRvIG5vd3JhcFxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMsIGluIGNhc2UgdGhlIHJvdyBpcyBuZXN0ZWQuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZmxleC1ncmlkLXJvdyhcbiAgJGJlaGF2aW9yOiBudWxsLFxuICAkc2l6ZTogJGdyaWQtcm93LXdpZHRoLFxuICAkY29sdW1uczogbnVsbCxcbiAgJGJhc2U6IHRydWUsXG4gICR3cmFwOiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gICRtYXJnaW46IGF1dG87XG4gICR3cmFwOiBpZigkd3JhcCwgd3JhcCwgbm93cmFwKTtcblxuICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBuZXN0KSAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRndXR0ZXJzKTtcblxuICAgIEBpZiBpbmRleCgkYmVoYXZpb3IsIGNvbGxhcHNlKSAhPSBudWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZSgkc2l6ZSk7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgQGlmICRiYXNlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93ICR3cmFwO1xuICB9XG5cbiAgQGlmICRjb2x1bW5zICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtY29udGV4dCgkY29sdW1ucywgJGJhc2UpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgYGZsZXhgIHByb3BlcnR5IGZvciBhIGZsZXggZ3JpZCBjb2x1bW4uIEl0IGFjY2VwdHMgYWxsIG9mIHRoZSBzYW1lIHZhbHVlcyBhcyB0aGUgYmFzaWMgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uLCBhbG9uZyB3aXRoIHR3byBleHRyYXM6XG4vLy8gICAtIGBleHBhbmRgICh0aGUgZGVmYXVsdCkgd2lsbCBtYWtlIHRoZSBjb2x1bW4gZXhwYW5kIHRvIGZpbGwgc3BhY2UuXG4vLy8gICAtIGBzaHJpbmtgIHdpbGwgbWFrZSB0aGUgY29sdW1uIGNvbnRyYWN0LCBzbyBpdCBvbmx5IHRha2VzIHVwIHRoZSBob3Jpem9udGFsIHNwYWNlIGl0IG5lZWRzLlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgW2V4cGFuZF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLlxuQGZ1bmN0aW9uIGZsZXgtZ3JpZC1jb2x1bW4oJGNvbHVtbnM6IGV4cGFuZCkge1xuICAkZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcblxuICBAaWYgJGNvbHVtbnMgPT0gc2hyaW5rIHtcbiAgICAkZmxleDogMCAwIGF1dG87XG4gIH1cbiAgQGVsc2UgaWYgJGNvbHVtbnMgIT0gZXhwYW5kIHtcbiAgICAkZmxleDogMCAwIGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbiAgfVxuXG4gIEByZXR1cm4gJGZsZXg7XG59XG5cbi8vLyBDcmVhdGVzIGEgY29sdW1uIGZvciBhIGZsZXggZ3JpZC4gQnkgZGVmYXVsdCwgdGhlIGNvbHVtbiB3aWxsIHN0cmV0Y2ggdG8gdGhlIGZ1bGwgd2lkdGggb2YgaXRzIGNvbnRhaW5lciwgYnV0IHRoaXMgY2FuIGJlIG92ZXJyaWRkZW4gd2l0aCBzaXppbmcgY2xhc3Nlcywgb3IgYnkgdXNpbmcgdGhlIGB1bnN0YWNrYCBjbGFzcyBvbiB0aGUgcGFyZW50IGZsZXggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgW2V4cGFuZF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLiBSZWZlciB0byB0aGUgYGZsZXgtZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMgd2lkdGguIFNlZSB0aGUgYGdyaWQtY29sdW1uLWd1dHRlcmAgbWl4aW4uXG5AbWl4aW4gZmxleC1ncmlkLWNvbHVtbihcbiAgJGNvbHVtbnM6IGV4cGFuZCxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAvLyBCYXNlIHByb3BlcnRpZXNcbiAgQGluY2x1ZGUgZmxleC1ncmlkLXNpemUoJGNvbHVtbnMpO1xuXG4gIC8vIEd1dHRlcnNcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXJzOiAkZ3V0dGVycyk7XG5cbiAgLy8gZml4ZXMgcmVjZW50IENocm9tZSB2ZXJzaW9uIG5vdCBsaW1pdGluZyBjaGlsZCB3aWR0aFxuICAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zNDkzNDU4Ni93aGl0ZS1zcGFjZS1ub3dyYXAtYW5kLWZsZXhib3gtZGlkLW5vdC13b3JrLWluLWNocm9tZVxuICBAaWYgJGNvbHVtbnMgPT0gZXhwYW5kIHtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBibG9jayBncmlkIGZvciBhIGZsZXggZ3JpZCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgY29sdW1ucyB0byBkaXNwbGF5IG9uIGVhY2ggcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgLSBTZWxlY3RvciB0byB1c2UgdG8gdGFyZ2V0IGNvbHVtbnMgd2l0aGluIHRoZSByb3cuXG5AbWl4aW4gZmxleC1ncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jb2x1bW4nXG4pIHtcbiAgZmxleC13cmFwOiB3cmFwO1xuXG4gID4gI3skc2VsZWN0b3J9IHtcbiAgICAkcGN0OiBwZXJjZW50YWdlKDEvJG4pO1xuXG4gICAgZmxleDogMCAwICRwY3Q7XG4gICAgbWF4LXdpZHRoOiAkcGN0O1xuICB9XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSB3aWR0aCBmbGV4IGdyaWQgY29sdW1uLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFtleHBhbmRdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi4gUmVmZXIgdG8gdGhlIGBmbGV4LWdyaWQtY29sdW1uKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG5AbWl4aW4gZmxleC1ncmlkLXNpemUoJGNvbHVtbnM6IG51bGwpIHtcbiAgJGNvbHVtbnM6ICRjb2x1bW5zIG9yIGV4cGFuZDtcblxuICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCRjb2x1bW5zKTtcblxuICAvLyBtYXgtd2lkdGggZml4ZXMgSUUgMTAvMTEgbm90IHJlc3BlY3RpbmcgdGhlIGZsZXgtYmFzaXMgcHJvcGVydHlcbiAgQGlmICRjb2x1bW5zICE9IGV4cGFuZCBhbmQgJGNvbHVtbnMgIT0gc2hyaW5rIHtcbiAgICBtYXgtd2lkdGg6IGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbiAgfVxufVxuXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtZ3JpZCB7XG4gIC8vIFJvd1xuICAucm93IHtcbiAgICBAaW5jbHVkZSBmbGV4LWdyaWQtcm93O1xuXG4gICAgLy8gTmVzdGluZyBiZWhhdmlvclxuICAgICYgLnJvdyB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtcm93KG5lc3QsICRiYXNlOiBmYWxzZSk7XG5cbiAgICAgICYuY29sbGFwc2Uge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV4cGFuZGVkIHJvd1xuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZShleHBhbmQpO1xuXG4gICAgICAucm93IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdCguZXhwYW5kZWQpIC5yb3cge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZShleHBhbmQpO1xuICAgIH1cblxuICAgICYuY29sbGFwc2Uge1xuICAgICAgPiAuY29sdW1uIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVW5kbyBuZWdhdGl2ZSBtYXJnaW5zXG4gICAgLy8gRnJvbSBjb2xsYXBzZWQgY2hpbGRcbiAgICAmLmlzLWNvbGxhcHNlLWNoaWxkLFxuICAgICYuY29sbGFwc2UgPiAuY29sdW1uID4gLnJvdyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAvLyBDb2x1bW5cbiAgLmNvbHVtbiB7XG4gICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbjtcbiAgfVxuXG4gIC8vIENvbHVtbiByb3dcbiAgLy8gVGhlIGRvdWJsZSAucm93IGNsYXNzIGlzIG5lZWRlZCB0byBidW1wIHVwIHRoZSBzcGVjaWZpY2l0eVxuICAuY29sdW1uLnJvdy5yb3cge1xuICAgIGZsb2F0OiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLy8gVG8gcHJvcGVybHkgbmVzdCBhIGNvbHVtbiByb3csIHBhZGRpbmcgYW5kIG1hcmdpbiBpcyByZW1vdmVkXG4gIC5yb3cgLmNvbHVtbi5yb3cucm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbi1jb3VudCB7XG4gICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigkaSk7XG4gICAgICAgIG1heC13aWR0aDogZ3JpZC1jb2x1bW4oJGkpO1xuICAgICAgfVxuXG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgkbyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQmxvY2sgZ3JpZFxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGJsb2NrLWdyaWQtbWF4IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtbGF5b3V0KCRpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJC16Zi1zaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIC8vIFNpemluZyAoZXhwYW5kKVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXNpemUpIHtcbiAgICAgICAgLiN7JC16Zi1zaXplfS1leHBhbmQge1xuICAgICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBBdXRvLXN0YWNraW5nL3Vuc3RhY2tpbmdcbiAgICAgIEBhdC1yb290ICh3aXRob3V0OiBtZWRpYSkge1xuICAgICAgICAucm93LiN7JC16Zi1zaXplfS11bnN0YWNrIHtcbiAgICAgICAgICA+IC5jb2x1bW4ge1xuICAgICAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigxMDAlKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXNpemUpIHtcbiAgICAgICAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgY29sbGFwc2luZ1xuICAgIC4jeyQtemYtc2l6ZX0tY29sbGFwc2Uge1xuICAgICAgPiAuY29sdW1uIHsgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7IH1cbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LXVuY29sbGFwc2Uge1xuICAgICAgPiAuY29sdW1uIHsgQGluY2x1ZGUgZ3JpZC1jb2wtZ3V0dGVyKCQtemYtc2l6ZSk7IH1cbiAgICB9XG4gIH1cblxuICAvLyBTaXppbmcgKHNocmluaylcbiAgLnNocmluayB7XG4gICAgZmxleDogZmxleC1ncmlkLWNvbHVtbihzaHJpbmspO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIEJsb2NrIGdyaWQgY29sdW1uc1xuICAuY29sdW1uLWJsb2NrIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1tYXJnaW47XG4gIH1cblxuICAuY29sdW1ucyB7XG4gICAgQGV4dGVuZCAuY29sdW1uOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHBsYWNlaG9sZGVyLWluLWV4dGVuZFxuXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIENoYW5nZSB0aGUgYmVoYXZpb3Igb2YgY29sdW1ucyBkZWZpbmVkIGluc2lkZSB0aGlzIG1peGluIHRvIHVzZSBhIGRpZmZlcmVudCBjb2x1bW4gY291bnQuXG4vLy8gQGNvbnRlbnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRyb290IFtmYWxzZV1cbi8vLyAgIElmIGBmYWxzZWAsIHNlbGVjdG9ycyBpbnNpZGUgdGhpcyBtaXhpbiB3aWxsIG5lc3QgaW5zaWRlIHRoZSBwYXJlbnQgc2VsZWN0b3IuXG4vLy8gICBJZiBgdHJ1ZWAsIHNlbGVjdG9ycyB3aWxsIG5vdCBuZXN0LlxuQG1peGluIGdyaWQtY29udGV4dChcbiAgJGNvbHVtbnMsXG4gICRyb290OiBmYWxzZVxuKSB7XG4gIC8vIFN0b3JlIHRoZSBjdXJyZW50IGNvbHVtbiBjb3VudCBzbyBpdCBjYW4gYmUgcmUtc2V0IGxhdGVyXG4gICRvbGQtZ3JpZC1jb2x1bW4tY291bnQ6ICRncmlkLWNvbHVtbi1jb3VudDtcbiAgJGdyaWQtY29sdW1uLWNvdW50OiAkY29sdW1ucyAhZ2xvYmFsO1xuXG4gIEBpZiAkcm9vdCB7XG4gICAgQGF0LXJvb3QgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIFJlc3RvcmUgdGhlIG9sZCBjb2x1bW4gY291bnRcbiAgJGdyaWQtY29sdW1uLWNvdW50OiAkb2xkLWdyaWQtY29sdW1uLWNvdW50ICFnbG9iYWw7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCByb3cuXG4vLy8gQGNvbnRlbnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyBbbnVsbF0gLSBDb2x1bW4gY291bnQgZm9yIHRoaXMgcm93LiBgbnVsbGAgd2lsbCB1c2UgdGhlIGRlZmF1bHQgY29sdW1uIGNvdW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZHN9ICRiZWhhdmlvciBbbnVsbF1cbi8vLyAgIE1vZGlmaWNhdGlvbnMgdG8gdGhlIGRlZmF1bHQgZ3JpZCBzdHlsZXMuIGBuZXN0YCBpbmRpY2F0ZXMgdGhlIHJvdyB3aWxsIGJlIHBsYWNlZCBpbnNpZGUgYW5vdGhlciByb3cuIGBjb2xsYXBzZWAgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbHVtbnMgaW5zaWRlIHRoaXMgcm93IHdpbGwgbm90IGhhdmUgcGFkZGluZy4gYG5lc3QgY29sbGFwc2VgIGNvbWJpbmVzIGJvdGggYmVoYXZpb3JzLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFskZ3JpZC1yb3ctd2lkdGhdIE1heGltdW0gc2l6ZSBvZiB0aGUgcm93LiBTZXQgdG8gYGV4cGFuZGAgdG8gbWFrZSB0aGUgcm93IHRha2luZyB0aGUgZnVsbCB3aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRjZiBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIGEgY2xlYXJmaXguXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucy4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLXJvdyhcbiAgJGNvbHVtbnM6IG51bGwsXG4gICRiZWhhdmlvcjogbnVsbCxcbiAgJHNpemU6ICRncmlkLXJvdy13aWR0aCxcbiAgJGNmOiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gICRtYXJnaW46IGF1dG87XG5cbiAgQGlmIGluZGV4KCRiZWhhdmlvciwgbmVzdCkgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3V0dGVycyk7XG5cbiAgICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBjb2xsYXBzZSkgIT0gbnVsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoJHNpemUpO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIEBpZiAkY2Yge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG5cbiAgQGlmICRjb2x1bW5zICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtY29udGV4dCgkY29sdW1ucykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBJbnZlcnRzIHRoZSBtYXJnaW5zIG9mIGEgcm93IHRvIG5lc3QgaXQgaW5zaWRlIG9mIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucy4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLXJvdy1uZXN0KCRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICRtYXJnaW46IHJlbS1jYWxjKC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkLXpmLXNpemUpKSAvIDIgKiAtMTtcblxuICAgIG1hcmdpbi1yaWdodDogJG1hcmdpbjtcbiAgICBtYXJnaW4tbGVmdDogJG1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0IGEgZ3JpZCByb3cgc2l6ZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgWyRncmlkLXJvdy13aWR0aF0gTWF4aW11bSBzaXplIG9mIHRoZSByb3cuIFNldCB0byBgZXhwYW5kYCB0byBtYWtlIHRoZSByb3cgdGFraW5nIHRoZSBmdWxsIHdpZHRoLlxuQG1peGluIGdyaWQtcm93LXNpemUoJHNpemU6ICRncmlkLXJvdy13aWR0aCkge1xuICBAaWYgJHNpemUgPT0gZXhwYW5kIHtcbiAgICAkc2l6ZTogbm9uZTtcbiAgfVxuXG4gIG1heC13aWR0aDogJHNpemU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBSZW1vdmVzIHRoZSB1bml0IChlLmcuIHB4LCBlbSwgcmVtKSBmcm9tIGEgdmFsdWUsIHJldHVybmluZyB0aGUgbnVtYmVyIG9ubHkuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bSAtIE51bWJlciB0byBzdHJpcCB1bml0IGZyb20uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgc2FtZSBudW1iZXIsIHNhbnMgdW5pdC5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW0pIHtcbiAgQHJldHVybiAkbnVtIC8gKCRudW0gKiAwICsgMSk7XG59XG5cbi8vLyBDb252ZXJ0cyBvbmUgb3IgbW9yZSBwaXhlbCB2YWx1ZXMgaW50byBtYXRjaGluZyByZW0gdmFsdWVzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHZhbHVlcyAtIE9uZSBvciBtb3JlIHZhbHVlcyB0byBjb252ZXJ0LiBCZSBzdXJlIHRvIHNlcGFyYXRlIHRoZW0gd2l0aCBzcGFjZXMgYW5kIG5vdCBjb21tYXMuIElmIHlvdSBuZWVkIHRvIGNvbnZlcnQgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCwgd3JhcCB0aGUgbGlzdCBpbiBwYXJlbnRoZXNlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gVGhlIGJhc2UgdmFsdWUgdG8gdXNlIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGByZW1gLiBJZiB5b3UncmUgdXNpbmcgRm91bmRhdGlvbiBvdXQgb2YgdGhlIGJveCwgdGhpcyBpcyAxNnB4LiBJZiB0aGlzIHBhcmFtZXRlciBpcyBgbnVsbGAsIHRoZSBmdW5jdGlvbiB3aWxsIHJlZmVyZW5jZSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBVc2luZyByZW0gYXMgYmFzZSBhbGxvd3MgY29ycmVjdCBzY2FsaW5nXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBlbSBpbnRvIHJlbSBpZiBzb21lb25lIGhhbmRzIG92ZXIgJ2VtJ3NcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFyZW07XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbSBvciBlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwsIHBlcmNlbnRhZ2UsIHJlbSBvciBlbSB2YWx1ZSB0byBhIHVuaXRsZXNzIHZhbHVlIGJhc2VkIG9uIGEgZ2l2ZW4gZm9udCBzaXplLiBJZGVhbCBmb3Igd29ya2luZyBvdXQgdW5pdGxlc3MgbGluZSBoZWlnaHRzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGNvbnZlcnQgdG8gYSB1bml0bGVzcyBsaW5lIGhlaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBmb250IHNpemUgdG8gdXNlIHRvIHdvcmsgb3V0IHRoZSBsaW5lIGhlaWdodCAtIGRlZmF1bHRzIHRvICRnbG9iYWwtZm9udC1zaXplXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG5AZnVuY3Rpb24gdW5pdGxlc3MtY2FsYygkdmFsdWUsICRiYXNlOiBudWxsKSB7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gRmlyc3QsIGxldHMgY29udmVydCBvdXIgJGJhc2UgdG8gcGl4ZWxzXG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ2VtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIC8vIE5vdyBsZXQncyBjb252ZXJ0IG91ciB2YWx1ZSB0byBwaXhlbHMgdG9vXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJyUnIHtcbiAgICAkdmFsdWU6ICgkdmFsdWUgLyAxMDAlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIC8vICdweCdcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIHtcbiAgICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgLy8gYXNzdW1lIHRoYXQgbGluZS1oZWlnaHRzIGdyZWF0ZXIgdGhhbiAxMCBhcmUgbWVhbnQgdG8gYmUgYWJzb2x1dGUgaW4gJ3B4J1xuICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgKCR2YWx1ZSA+IDEwKSB7XG4gICAgQHJldHVybiAkdmFsdWUgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWtwb2ludHNcbi8vLy9cblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcy5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGFyZ2VzdCBuYW1lZCBicmVha3BvaW50IGluIHdoaWNoIHRvIGluY2x1ZGUgcHJpbnQgYXMgYSBtZWRpYSB0eXBlXG4vLy8gQHR5cGUgS2V5d29yZFxuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlICFkZWZhdWx0O1xuXG4kLXpmLXplcm8tYnJlYWtwb2ludDogc21hbGwgIWRlZmF1bHQ7XG5cbiQtemYtYnJlYWtwb2ludHMta2V5czogbWFwLXRvLWxpc3QoJGJyZWFrcG9pbnRzLCAna2V5cycpO1xuXG5AaWYgbnRoKG1hcC12YWx1ZXMoJGJyZWFrcG9pbnRzKSwgMSkgIT0gMCB7XG4gIEBlcnJvciAnVGhlIGZpcnN0IGtleSBpbiB0aGUgJGJyZWFrcG9pbnRzIG1hcCBtdXN0IGhhdmUgYSB2YWx1ZSBvZiBcIjBcIi4nO1xufVxuQGVsc2Uge1xuICAkLXpmLXplcm8tYnJlYWtwb2ludDogbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIDEpO1xufVxuXG4vLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBgLnNtYWxsLTEyYCwgYC5tZWRpdW0tNmAsIGFuZCBzbyBvbi4gRWFjaCB2YWx1ZSBpbiB0aGlzIGxpc3QgbXVzdCBhbHNvIGJlIGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAuXG4vLy8gQHR5cGUgTGlzdFxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCBbc21hbGxdIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gU2l6ZSBvciBrZXl3b3JkXG4gICRicDogbnRoKCR2YWwsIDEpO1xuICAvLyBWYWx1ZSBmb3IgbWF4LXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1heDogMDtcbiAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgJGRpcjogaWYobGVuZ3RoKCR2YWwpID4gMSwgbnRoKCR2YWwsIDIpLCB1cCk7XG4gIC8vIEV2ZW50dWFsIG91dHB1dFxuICAkc3RyOiAnJztcbiAgLy8gSXMgaXQgYSBuYW1lZCBtZWRpYSBxdWVyeT9cbiAgJG5hbWVkOiBmYWxzZTtcblxuICAvLyBPcmllbnRhdGlvbiBtZWRpYSBxdWVyaWVzIGhhdmUgYSB1bmlxdWUgc3ludGF4XG4gIEBpZiAkYnAgPT0gJ2xhbmRzY2FwZScgb3IgJGJwID09ICdwb3J0cmFpdCcge1xuICAgIEByZXR1cm4gJyhvcmllbnRhdGlvbjogI3skYnB9KSc7XG4gIH1cbiAgQGVsc2UgaWYgJGJwID09ICdyZXRpbmEnIHtcbiAgICBAcmV0dXJuICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJztcbiAgfVxuXG4gIC8vIFRyeSB0byBwdWxsIGEgbmFtZWQgYnJlYWtwb2ludCBvdXQgb2YgdGhlICRicmVha3BvaW50cyBtYXBcbiAgQGlmIHR5cGUtb2YoJGJwKSA9PSAnc3RyaW5nJyB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XG4gICAgICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgICAgICAkYnAtbWF4OiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgfVxuXG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgJG5hbWVkOiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnA6IDA7XG4gICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBcIiN7JHZhbH1cIiBpcyBub3QgZGVmaW5lZCBpbiB5b3VyICRicmVha3BvaW50cyBzZXR0aW5nLic7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29udmVydCBhbnkgcGl4ZWwsIHJlbSwgb3IgdW5pdGxlc3MgdmFsdWUgdG8gZW1cbiAgJGJwOiAtemYtYnAtdG8tZW0oJGJwKTtcbiAgLy8gTWF4IHZhbHVlIGlzIDAuMnB4IHVuZGVyIHRoZSBuZXh0IGJyZWFrcG9pbnQgKDAuMDIgLyAxNiA9IDAuMDAxMjUpLlxuICAvLyBVc2UgYSBwcmVjaXNpb24gdW5kZXIgMXB4IHRvIHN1cHBvcnQgYnJvd3NlciB6b29tLCBidXQgbm90IHRvIGxvdyB0byBhdm9pZCByb3VuZGluZy5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzExMzEzXG4gIEBpZiAkYnAtbWF4IHtcbiAgICAkYnAtbWF4OiAtemYtYnAtdG8tZW0oJGJwLW1heCkgLSAuMDAxMjU7XG4gIH1cblxuICAvLyBDb25kaXRpb25zIHRvIHNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb25cbiAgLy8gLSBJdCdzIGEgbmFtZWQgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBkb3duXCIgb3IgXCIwIHVwXCJcbiAgLy8gLSBJdCdzIGEgbnVtZXJpYyBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIFwiICsgYW55dGhpbmdcbiAgQGlmICRicCA+IDBlbSBvciAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgLy8gYG9ubHlgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbikgYW5kIChtYXgtd2lkdGg6IG4pYFxuICAgIEBpZiAkZGlyID09ICdvbmx5JyB7XG4gICAgICAvLyBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gXCJvbmx5XCIgcmFuZ2VcbiAgICAgIEBpZiAkbmFtZWQgPT0gdHJ1ZSB7XG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWluLXdpZHRoXCIgaWYgdGhlIGZsb29yIGlzIGdyZWF0ZXIgdGhhbiAwXG4gICAgICAgIEBpZiAkYnAgPiAwZW0ge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG5cbiAgICAgICAgICAvLyBPbmx5IGFkZCBcImFuZFwiIHRvIHRoZSBtZWRpYSBxdWVyeSBpZiB0aGVyZSdzIGEgY2VpbGluZ1xuICAgICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICAgJHN0cjogJHN0ciArICcgYW5kICc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gT25seSB1c2UgXCJtYXgtd2lkdGhcIiBpZiB0aGVyZSdzIGEgY2VpbGluZ1xuICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JGJwLW1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gYG9ubHlgIHJhbmdlLic7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYGRvd25gIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1heC13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGRpciA9PSAnZG93bicge1xuICAgICAgJG1heDogaWYoJG5hbWVkLCAkYnAtbWF4LCAkYnApO1xuXG4gICAgICAvLyBTa2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uIGlmIGlucHV0IHZhbHVlIGlzIGV4YWN0bHkgXCIwIGRvd25cIixcbiAgICAgIC8vIHVubGVzcyB0aGUgZnVuY3Rpb24gd2FzIGNhbGxlZCBhcyBcInNtYWxsIGRvd25cIiwgaW4gd2hpY2ggY2FzZSBpdCdzIGp1c3QgXCJzbWFsbCBvbmx5XCJcbiAgICAgIEBpZiAkbmFtZWQgb3IgJGJwID4gMGVtIHtcbiAgICAgICAgQGlmICRtYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRtYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgdXBgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGJwID4gMGVtIHtcbiAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gV3JhcHMgYSBtZWRpYSBxdWVyeSBhcm91bmQgdGhlIGNvbnRlbnQgeW91IHB1dCBpbnNpZGUgdGhlIG1peGluLiBUaGlzIG1peGluIGFjY2VwdHMgYSBudW1iZXIgb2YgdmFsdWVzOlxuLy8vICAtIElmIGEgc3RyaW5nIGlzIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgbG9vayBmb3IgaXQgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcCwgYW5kIHVzZSBhIG1lZGlhIHF1ZXJ5IHRoZXJlLlxuLy8vICAtIElmIGEgcGl4ZWwgdmFsdWUgaXMgcGFzc2VkLCBpdCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhbiBlbSB2YWx1ZSB1c2luZyBgJGdsb2JhbC1mb250LXNpemVgIGFzIHRoZSBiYXNlLlxuLy8vICAtIElmIGEgcmVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHVuaXQgd2lsbCBiZSBjaGFuZ2VkIHRvIGVtLlxuLy8vICAtIElmIGFuIGVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHZhbHVlIHdpbGwgYmUgdXNlZCBhcy1pcy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbi8vL1xuLy8vIEBvdXRwdXQgSWYgdGhlIGJyZWFrcG9pbnQgaXMgXCIwcHggYW5kIGxhcmdlclwiLCBvdXRwdXRzIHRoZSBjb250ZW50IGFzLWlzLiBPdGhlcndpc2UsIG91dHB1dHMgdGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBhIG1lZGlhIHF1ZXJ5LlxuQG1peGluIGJyZWFrcG9pbnQoJHZhbHVlKSB7XG4gICRzdHI6IGJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgJGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICR2YWx1ZSk7XG4gICRwYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHByaW50LWJyZWFrcG9pbnQpO1xuXG4gICRvbGQtemYtc2l6ZTogbnVsbDtcblxuICAvLyBNYWtlIGJyZWFrcG9pbnQgc2l6ZSBhdmFpbGFibGUgYXMgYSB2YXJpYWJsZVxuICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICRvbGQtemYtc2l6ZTogJC16Zi1zaXplO1xuICB9XG4gICQtemYtc2l6ZTogbnRoKCR2YWx1ZSwgMSkgIWdsb2JhbDsgLy8gZ2V0IHRoZSBmaXJzdCB2YWx1ZSB0byBhY2NvdW50IGZvciBgb25seWAgYW5kIGBkb3duYCBrZXl3b3Jkc1xuXG4gIC8vIElmICRzdHIgaXMgc3RpbGwgYW4gZW1wdHkgc3RyaW5nLCBubyBtZWRpYSBxdWVyeSBpcyBuZWVkZWRcbiAgQGlmICRzdHIgPT0gJycge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gT3RoZXJ3aXNlLCB3cmFwIHRoZSBjb250ZW50IGluIGEgbWVkaWEgcXVlcnlcbiAgQGVsc2Uge1xuICAgIC8vIEZvciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJHByaW50LWJyZWFrcG9pbnQsIGFkZCBwcmludCB0byB0aGUgbWVkaWEgdHlwZXNcbiAgICBAaWYgJGJwICE9IG51bGwgYW5kICRicCA8PSAkcGJwIHtcbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbn1cblxuLy8vIENvbnZlcnRzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gICRpOiAwO1xuXG4gIC8vIElmIHRoZSBLZXkgRXhpc3RzLCBHZXQgdGhlIGluZGV4IG9mIHRoZSBrZXkgd2l0aGluIHRoZSBtYXAgYW5kIGFkZCAxIHRvIGl0IGZvciB0aGUgbmV4dCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAoJGkgPiBsZW5ndGgoJG1hcCkgb3IgJGkgPT0gMCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcbiAgfVxuXG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGxhc3QgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRrZXkpIHtcbiAgJGxpc3Q6ICgpO1xuICAkZm91bmRfa2V5OiBmYWxzZTtcblxuICBAZWFjaCAkbmFtZSBpbiAkLXpmLWJyZWFrcG9pbnRzLWtleXMge1xuICAgIEBpZiAoJG5hbWUgPT0gJGtleSkge1xuICAgICAgJGZvdW5kX2tleTogdHJ1ZTtcbiAgICB9XG4gICAgQGlmIG5vdCAkZm91bmRfa2V5IHtcbiAgICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICRuYW1lKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkbGlzdDtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgLSBhIG5hbWVkIG9yIG5vbi1uYW1lZCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgJGxhc3Q6ICQtemYtemVyby1icmVha3BvaW50O1xuICAkZm91bmQ6IGZhbHNlO1xuXG4gICR2YWx1ZTogdW5pdGxlc3MtY2FsYygkYnJlYWtwb2ludCwgMXB4KTtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgIEBpZiB1bml0bGVzcy1jYWxjKCR2YWwpID4gJHZhbHVlIHtcbiAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRsYXN0OiAka2V5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJGxhc3Q7XG59XG5cbi8vLyBHZXQgYSB2YWx1ZSBmb3IgYSBicmVha3BvaW50IGZyb20gYSByZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0IHJlZ2FyZGxlc3Mgb2YgYCR2YWx1ZWAuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBoYXMgdGhlIGtleSBgJHZhbHVlYCwgdGhlIGV4YWN0IGJyZWFrcG9pbnQgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBkb2VzICpub3QqIGhhdmUgdGhlIGJyZWFrcG9pbnQsIHRoZSB2YWx1ZSBtYXRjaGluZyB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBpbiB0aGUgY29uZmlnIG1hcCBpcyByZXR1cm5lZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIFJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUgdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TWl4ZWR9IFRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUuXG5AZnVuY3Rpb24gLXpmLWdldC1icC12YWwoJG1hcCwgJHZhbHVlKSB7XG4gIC8vIElmIHRoZSBnaXZlbiBtYXAgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdFxuICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkbWFwO1xuICB9XG5cblxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBnbG9iYWxseVxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgICAkdmFsdWU6IC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIGNvbmZpZyBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1hcCwgJHZhbHVlKSB7XG4gICAgLy8gSWYgaXQgZG9lcywganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICR2YWx1ZSk7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCBmaW5kIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGFuZCByZXR1cm4gdGhhdCB2YWx1ZVxuICBAZWxzZSB7XG4gICAgJGFuY2hvcjogbnVsbDtcbiAgICAkZm91bmQ6IGZhbHNlO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xuICAgICAgICAgICRhbmNob3I6ICRrZXk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRrZXkgPT0gJHZhbHVlIHtcbiAgICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGFuY2hvcik7XG4gIH1cbn1cblxuJHNtYWxsLXVwOiAnJztcbiRzbWFsbC1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcbiAgJHNtYWxsLXVwOiBzY3JlZW47XG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcbn1cblxuJG1lZGl1bS11cDogJyc7XG4kbWVkaXVtLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBtZWRpdW0pIHtcbiAgJG1lZGl1bS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtKX0nKTtcbiAgJG1lZGl1bS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0gb25seSl9Jyk7XG59XG5cbiRsYXJnZS11cDogJyc7XG4kbGFyZ2Utb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIGxhcmdlKSB7XG4gICRsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfScpO1xuICAkbGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2Ugb25seSl9Jyk7XG59XG5cbiR4bGFyZ2UtdXA6ICcnO1xuJHhsYXJnZS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeGxhcmdlKSB7XG4gICR4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSl9Jyk7XG4gICR4bGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIG9ubHkpfScpO1xufVxuXG4keHhsYXJnZS11cDogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gU2V0IHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJGd1dHRlciBbYXV0b11cbi8vLyAgIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLCBhY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBzaW5nbGUgdmFsdWUgd2lsbCBtYWtlIHRoZSBndXR0ZXIgdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIGJyZWFrcG9pbnQgbmFtZSB3aWxsIG1ha2UgdGhlIGd1dHRlciB0aGUgY29ycmVzcG9uZGluZyBzaXplIGluIHRoZSAkZ3V0dGVycyBtYXAuXG4vLy8gICAtIFwiYXV0b1wiIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHJlc3BvbnNpdmUsIHVzaW5nIHRoZSAkZ3V0dGVycyBtYXAgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtY29sdW1uLWd1dHRlcihcbiAgJGd1dHRlcjogYXV0byxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkZ3V0dGVyLCAkZ3V0dGVycykge1xuICAgICRwYWRkaW5nOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAvIDI7XG5cbiAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICB9XG59XG5cbi8vLyBDb2xsYXBzZSB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtbiBieSByZW1vdmluZyB0aGUgcGFkZGluZy4gKipOb3RlOioqIG9ubHkgdXNlIHRoaXMgbWl4aW4gd2l0aGluIGEgYnJlYWtwb2ludC4gVG8gY29sbGFwc2UgYSBjb2x1bW4ncyBndXR0ZXJzIG9uIGFsbCBzY3JlZW4gc2l6ZXMsIHVzZSB0aGUgYCRndXR0ZXJgIHBhcmFtZXRlciBvZiB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluIGluc3RlYWQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tY29sbGFwc2Uge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoMCk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1ndXR0ZXIoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWd1dHRlclxuQG1peGluIGdyaWQtY29sLWd1dHRlcihcbiAgJGd1dHRlcjogYXV0byxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoJGd1dHRlciwgJGd1dHRlcnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tY29sbGFwc2UoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWNvbGxhcHNlXG5AbWl4aW4gZ3JpZC1jb2wtY29sbGFwc2Uge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1jb2xsYXBzZTtcbn1cblxuLy8vIFNldHMgYm90dG9tIG1hcmdpbiBvbiBncmlkIGNvbHVtbnMgdG8gbWF0Y2ggZ3V0dGVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRtYXJnaW4gW2F1dG9dXG4vLy8gICBUaGUgYm90dG9tIG1hcmdpbiBvbiBncmlkIGNvbHVtbnMsIGFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHNpbmdsZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIG1hcmdpbiB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgYnJlYWtwb2ludCBuYW1lIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHRoZSBjb3JyZXNwb25kaW5nIHNpemUgaW4gdGhlICRtYXJnaW5zIG1hcC5cbi8vLyAgIC0gXCJhdXRvXCIgd2lsbCBtYWtlIHRoZSBtYXJnaW4gcmVzcG9uc2l2ZSwgdXNpbmcgdGhlICRtYXJnaW5zIG1hcCB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFyZ2lucyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLWNvbHVtbi1tYXJnaW4gKFxuICAkbWFyZ2luOiBhdXRvLFxuICAkbWFyZ2luczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCRtYXJnaW4sICRtYXJnaW5zKSB7XG4gICAgJG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpO1xuICAgIG1hcmdpbi1ib3R0b206ICRtYXJnaW4tYm90dG9tO1xuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgd2lkdGggb2YgYSBjb2x1bW4gYmFzZWQgb24gYSBudW1iZXIgb2YgZmFjdG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRjb2x1bW5zXG4vLy8gICBXaWR0aCBvZiB0aGUgY29sdW1uLiBBY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBwZXJjZW50YWdlIHZhbHVlIHdpbGwgbWFrZSB0aGUgY29sdW1uIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBzaW5nbGUgZGlnaXQgd2lsbCBtYWtlIHRoZSBjb2x1bW4gc3BhbiB0aGF0IG51bWJlciBvZiBjb2x1bW5zIHdpZGUsIHRha2luZyBpbnRvIGFjY291bnQgdGhlIGNvbHVtbiBjb3VudCBvZiB0aGUgcGFyZW50IHJvdy5cbi8vLyAgIC0gQSBsaXN0IG9mIHRoZSBmb3JtYXQgXCJ4IG9mIHlcIiAod2l0aG91dCBxdW90ZXMpIHdpbGwgbWFrZSBhIGNvbHVtbiB0aGF0IGlzICp4KiBjb2x1bW5zIHdpZGUsIGFzc3VtaW5nICp5KiB0b3RhbCBjb2x1bW5zIGZvciB0aGUgcGFyZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBjYWxjdWxhdGVkIHBlcmNlbnRhZ2UgdmFsdWUuXG5AZnVuY3Rpb24gZ3JpZC1jb2x1bW4oJGNvbHVtbnMpIHtcbiAgJHdpZHRoOiAwJTtcblxuICAvLyBQYXJzaW5nIHBlcmNlbnRzLCBkZWNpbWFscywgYW5kIGNvbHVtbiBjb3VudHNcbiAgQGlmIHR5cGUtb2YoJGNvbHVtbnMpID09ICdudW1iZXInIHtcbiAgICBAaWYgdW5pdCgkY29sdW1ucykgPT0gJyUnIHtcbiAgICAgICR3aWR0aDogJGNvbHVtbnM7XG4gICAgfVxuICAgIEBlbHNlIGlmICRjb2x1bW5zIDwgMSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW4tY291bnQpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhcnNpbmcgXCJuIG9mIG5cIiBleHByZXNzaW9uc1xuICBAZWxzZSBpZiB0eXBlLW9mKCRjb2x1bW5zKSA9PSAnbGlzdCcge1xuICAgIEBpZiBsZW5ndGgoJGNvbHVtbnMpICE9IDMge1xuICAgICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uKCkuIFVzZSB0aGUgZm9ybWF0IFwibiBvZiBuXCIuJztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKG50aCgkY29sdW1ucywgMSkgLyBudGgoJGNvbHVtbnMsIDMpKTtcbiAgICB9XG4gIH1cblxuICAvLyBBbnl0aGluZyBlbHNlIGlzIGluY29ycmVjdFxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uKCkuIFVzZSBhIG51bWJlciwgZGVjaW1hbCwgcGVyY2VudGFnZSwgb3IgXCJuIG9mIG5cIi4nO1xuICB9XG5cbiAgQHJldHVybiAkd2lkdGg7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbJGdyaWQtY29sdW1uLWNvdW50XSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge01peGVkfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjaW5nIGJldHdlZW4gY29sdW1ucy4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbi1ndXR0ZXIoKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbkBtaXhpbiBncmlkLWNvbHVtbihcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1zaXplKCRjb2x1bW5zKTtcbiAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcblxuICAvLyBHdXR0ZXJzXG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyczogJGd1dHRlcnMpO1xuXG4gIC8vIFBvc2l0aW9uXG4gIEBpbmNsdWRlIGdyaWQtY29sLXBvcyhhdXRvKTtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbiByb3cuIFRoaXMgaXMgdGhlIGVxdWl2YWxlbnQgb2YgYWRkaW5nIGAucm93YCBhbmQgYC5jb2x1bW5gIHRvIHRoZSBzYW1lIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBXaWR0aCBvZiB0aGUgZ3V0dGVycyBvbiBlaXRoZXIgc2lkZSBvZiB0aGUgY29sdW1uIHJvdy4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbi1ndXR0ZXIoKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbkBtaXhpbiBncmlkLWNvbHVtbi1yb3coXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1yb3c7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRndXR0ZXJzOiAkZ3V0dGVycyk7XG5cbiAgJixcbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uXG5AZnVuY3Rpb24gZ3JpZC1jb2woXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICBAcmV0dXJuIGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxuQG1peGluIGdyaWQtY29sKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50LFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVycyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1yb3coKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXJvd1xuQG1peGluIGdyaWQtY29sLXJvdyhcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1yb3coJGd1dHRlcnMpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gUmVwb3NpdGlvbiBhIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRwb3NpdGlvbiAtIEl0IGNhbiBiZTpcbi8vLyAgICogQSBudW1iZXI6IFRoZSBjb2x1bW4gd2lsbCBtb3ZlIGVxdWFsIHRvIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uIGNvdW50XG4vLy8gICAgIHNwZWNpZmllZC4gQSBwb3NpdGl2ZSBudW1iZXIgd2lsbCBwdXNoIHRoZSBjb2x1bW4gdG8gdGhlIHJpZ2h0LCB3aGlsZVxuLy8vICAgICBhIG5lZ2F0aXZlIG51bWJlciB3aWxsIHB1bGwgaXQgdG8gdGhlIGxlZnQuXG4vLy8gICAqIGBjZW50ZXJgOiBDb2x1bW4gd2lsbCBiZSBjZW50ZXJlZFxuLy8vICAgKiBgYXV0b2A6IENvbHVtbiB3aWxsIGJlIHB1c2hlZCB0byB0aGUgbGVmdCAob3IgdG8gdGhlIHJpZ2h0IGZvciB0aGUgbGFzdCBjb2x1bW4pLlxuQG1peGluIGdyaWQtY29sdW1uLXBvc2l0aW9uKCRwb3NpdGlvbikge1xuICAvLyBBdXRvIHBvc2l0aW9uaW5nXG4gIEBpZiAkcG9zaXRpb24gPT0gYXV0byB7XG4gICAgJiwgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gICAgICBjbGVhcjogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBMYXN0IGNvbHVtbiBhbGlnbm1lbnRcbiAgICBAaWYgJGdyaWQtY29sdW1uLWFsaWduLWVkZ2Uge1xuICAgICAgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgZmxvYXQ6ICRnbG9iYWwtcmlnaHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHVzaC9wdWxsXG4gIEBlbHNlIGlmIHR5cGUtb2YoJHBvc2l0aW9uKSA9PSAnbnVtYmVyJyB7XG4gICAgJG9mZnNldDogcGVyY2VudGFnZSgkcG9zaXRpb24gLyAkZ3JpZC1jb2x1bW4tY291bnQpO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcbiAgfVxuXG4gIC8vIENlbnRlciBwb3NpdGlvbmluZ1xuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gY2VudGVyIHtcbiAgICAmLCAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uLXBvc2l0aW9uKCkuIEVudGVyIGEgcG9zaXRpdmUgb3IgbmVnYXRpdmUgbnVtYmVyLCBcImNlbnRlclwiIG9yIFwiYXV0b1wiLic7XG4gIH1cbn1cblxuLy8vIFJlc2V0IGEgcG9zaXRpb24gZGVmaW5pdGlvbi5cbkBtaXhpbiBncmlkLWNvbHVtbi11bnBvc2l0aW9uIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcG9zaXRpb24oYXV0byk7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi8vLyBPZmZzZXRzIGEgY29sdW1uIHRvIHRoZSByaWdodCBieSBgJG5gIGNvbHVtbnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJG4gLSBXaWR0aCB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGBncmlkLWNvbHVtbigpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbkBtaXhpbiBncmlkLWNvbHVtbi1vZmZzZXQoJG4pIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogZ3JpZC1jb2x1bW4oJG4pO1xufVxuXG4vLy8gRGlzYWJsZSB0aGUgZGVmYXVsdCBiZWhhdmlvciBvZiB0aGUgbGFzdCBjb2x1bW4gaW4gYSByb3cgYWxpZ25pbmcgdG8gdGhlIG9wcG9zaXRlIGVkZ2UuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tZW5kIHtcbiAgLy8gVGhpcyBleHRyYSBzcGVjaWZpY2l0eSBpcyByZXF1aXJlZCBmb3IgdGhlIHByb3BlcnR5IHRvIGJlIGFwcGxpZWRcbiAgJjpsYXN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gIH1cbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXBvc2l0aW9uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXBvcygkcG9zaXRpb24pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXVucG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXVucG9zaXRpb25cbkBtaXhpbiBncmlkLWNvbC11bnBvcyB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXVucG9zaXRpb247XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1vZmZzZXQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLW9mZnNldFxuQG1peGluIGdyaWQtY29sLW9mZigkbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1vZmZzZXQoJG4pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tZW5kKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1lbmRcbkBtaXhpbiBncmlkLWNvbC1lbmQge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1lbmQ7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tdGV4dC1hbGlnbm1lbnQge1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkYWxpZ24gaW4gKGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnkpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgLnRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvblxuLy8vL1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGJ1dHRvbiBlbGVtZW50cy5cbi8vLyBAdHlwZSBGb250XG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYXJvdW5kIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmaWxsIGZvciBidXR0b25zLiBDYW4gZWl0aGVyIGJlIGBzb2xpZGAgb3IgYGhvbGxvd2AuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGJ1dHRvbi1maWxsOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRpdmUgZm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgd2lkdGggZm9yIGhvbGxvdyBvdXRsaW5lIGJ1dHRvbnNcbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBvcGFjaXR5IGZvciBhIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGhvbGxvdyBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbDogZmxpcCBmcm9tIG1hcmdpbi1yaWdodCB0byBtYXJnaW4tbGVmdCBmb3IgZGVmYXVsdHNcbkBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbn1cblxuLy8vIHRyYW5zaXRpb25zIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBBZGRpdGlvbmFsIHJlc3BvbnNpdmUgY2xhc3NlcyBmb3IgLmV4cGFuZGVkXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gVE9ETzogRG9jdW1lbnQgYnV0dG9uLWJhc2UoKSBtaXhpblxuQG1peGluIGJ1dHRvbi1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG5cbiAgQGlmICh0eXBlLW9mKCRidXR0b24tcGFkZGluZykgPT0gJ21hcCcpIHtcbiAgICBAZWFjaCAkc2l6ZSwgJHBhZGRpbmcgaW4gJGJ1dHRvbi1wYWRkaW5nIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBwYWRkaW5nOiAkYnV0dG9uLXBhZGRpbmc7XG4gIH1cblxuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gIHRyYW5zaXRpb246ICRidXR0b24tdHJhbnNpdGlvbjtcbiAgZm9udC1mYW1pbHk6ICRidXR0b24tZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vLyBFeHBhbmRzIGEgYnV0dG9uIHRvIG1ha2UgaXQgZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgdGhlIGV4cGFuZCBiZWhhdmlvci4gU2V0IHRvIGBmYWxzZWAgdG8gcmV2ZXJzZSB0aGlzIGJlaGF2aW9yLlxuQG1peGluIGJ1dHRvbi1leHBhbmQoJGV4cGFuZDogdHJ1ZSkge1xuICBAaWYgJGV4cGFuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tc3R5bGUoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgQGlmICRiYWNrZ3JvdW5kLWhvdmVyID09IGF1dG8ge1xuICAgICRiYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgYmFja2dyb3VuZCBmaWxsIG9uIGhvdmVyIGFuZCBmb2N1cyBmb3IgaG9sbG93IGJ1dHRvbnMuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdyB7XG4gICYsXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJltkaXNhYmxlZF0ge1xuICAgICYsXG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1ob2xsb3ctc3R5bGUoXG4gICRjb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3MsXG4gICRib3JkZXItd2lkdGg6ICRidXR0b24taG9sbG93LWJvcmRlci13aWR0aFxuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgJi5kaXNhYmxlZCxcbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yO1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZGlzYWJsZWQgc3R5bGVzIHRvIGEgYnV0dG9uIGJ5IGZhZGluZyB0aGUgZWxlbWVudCwgcmVzZXRpbmcgdGhlIGN1cnNvciwgYW5kIGRpc2FibGluZyBwb2ludGVyIGV2ZW50cy5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tZGlzYWJsZWQoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvclxuKSB7XG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgJGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGJ1dHRvbi1jb2xvciwgJGJ1dHRvbi1jb2xvci1hbHQpKTtcbiAgfVxuXG4gIG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vLyBBZGRzIGEgZHJvcGRvd24gYXJyb3cgdG8gYSBidXR0b24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIFswLjRlbV0gLSBTaXplIG9mIHRoZSBhcnJvdy4gV2UgcmVjb21tZW5kIHVzaW5nIGFuIGBlbWAgdmFsdWUgc28gdGhlIHRyaWFuZ2xlIHNjYWxlcyB3aGVuIHVzZWQgaW5zaWRlIGRpZmZlcmVudCBzaXplcyBvZiBidXR0b25zLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbd2hpdGVdIC0gQ29sb3Igb2YgdGhlIGFycm93LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb2Zmc2V0IFskYnV0dG9uLXBhZGRpbmddIC0gRGlzdGFuY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0IG9mIHRoZSBidXR0b24uIERlZmF1bHRzIHRvIHdoYXRldmVyIHRoZSByaWdodCBwYWRkaW5nIG9mIGEgYnV0dG9uIGlzLlxuQG1peGluIGJ1dHRvbi1kcm9wZG93bihcbiAgJHNpemU6IDAuNGVtLFxuICAkY29sb3I6ICR3aGl0ZSxcbiAgJG9mZnNldDogZ2V0LXNpZGUoJGJ1dHRvbi1wYWRkaW5nLCByaWdodClcbikge1xuICAmOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRzaXplLCAkY29sb3IsIGRvd24pO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtOyAvLyBBbGlnbnMgdGhlIGFycm93IHdpdGggdGhlIHRleHQgb2YgdGhlIGJ1dHRvblxuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtcmlnaHR9O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgYWxsIHN0eWxlcyBmb3IgYSBidXR0b24uIEZvciBtb3JlIGdyYW51bGFyIGNvbnRyb2wgb3ZlciBzdHlsZXMsIHVzZSB0aGUgaW5kaXZpZHVhbCBidXR0b24gbWl4aW5zLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBtYWtlIHRoZSBidXR0b24gZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3R5bGUgW3NvbGlkXSAtIFNldCB0byBgaG9sbG93YCB0byBjcmVhdGUgYSBob2xsb3cgYnV0dG9uLiBUaGUgY29sb3IgZGVmaW5lZCBpbiBgJGJhY2tncm91bmRgIHdpbGwgYmUgdXNlZCBhcyB0aGUgcHJpbWFyeSBjb2xvciBvZiB0aGUgYnV0dG9uLlxuQG1peGluIGJ1dHRvbihcbiAgJGV4cGFuZDogZmFsc2UsXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJHN0eWxlOiAkYnV0dG9uLWZpbGxcbikge1xuICBAaW5jbHVkZSBidXR0b24tYmFzZTtcblxuICBAaWYgJHN0eWxlID09IHNvbGlkIHtcbiAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuICB9XG4gIEBlbHNlIGlmICRzdHlsZSA9PSBob2xsb3cge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cblxuICBAaWYgJGV4cGFuZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24ge1xuICAuYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBidXR0b247XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7IH1cblxuICAgIEBpZiAkYnV0dG9uLXJlc3BvbnNpdmUtZXhwYW5kZWQge1xuICAgICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoI3skc2l6ZX0gb25seSkge1xuICAgICAgICAgICYuI3skc2l6ZX0tb25seS1leHBhbmRlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoI3skc2l6ZX0gZG93bikge1xuICAgICAgICAgICAgJi4jeyRzaXplfS1kb3duLWV4cGFuZGVkIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9KSB7XG4gICAgICAgICAgICAmLiN7JHNpemV9LWV4cGFuZGVkIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDb2xvcnNcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuI3skbmFtZX0uZHJvcGRvd246OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdHlsZVxuICAgICYuZGlzYWJsZWQsXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkO1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZCgkY29sb3IsIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSG9sbG93IHN0eWxlXG4gICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgJi5ob2xsb3cge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlO1xuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDbGVhciBzdHlsZVxuICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gY2xlYXIge1xuICAgICAgJi5jbGVhciB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGU7XG5cbiAgICAgICAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgJiwgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG5cbiAgICAgICAgICAgICYsICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgJixcbiAgICAgICAgICAgICAgJi5kaXNhYmxlZCxcbiAgICAgICAgICAgICAgJltkaXNhYmxlZF0ge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEcm9wZG93biBhcnJvd1xuICAgICYuZHJvcGRvd24ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRyb3Bkb3duO1xuXG4gICAgICBAaWYgJGJ1dHRvbi1maWxsID09IGhvbGxvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5ob2xsb3csICYuY2xlYXIge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQnV0dG9uIHdpdGggZHJvcGRvd24gYXJyb3cgb25seVxuICAgICYuYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgICAgdG9wOiAtMC4xZW07XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgfVxuICB9XG5cbiAgYS5idXR0b24geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiJGJvZHktZm9udC1mYW1pbHk6ICRmb250LW1haW47XG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkZm9udC1oZWFkZXI7XG4kYW5jaG9yLWNvbG9yOiAkbGluay1jb2xvcjtcblxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTQyNCk7XG4kZ3JpZC1yb3ctd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbnRhaW5lcjogJGdsb2JhbC13aWR0aDtcblxuJGJ1dHRvbi1zaXplczogKFxuICAgICAgICB0aW55OiAwLjZyZW0sXG4gICAgICAgIHNtYWxsOiAwLjc1cmVtLFxuICAgICAgICBkZWZhdWx0OiAxcmVtLFxuICAgICAgICBsYXJnZTogMS4yNXJlbSxcbik7XG5cbiRncmlkLWNvbHVtbi1ndXR0ZXI6IChcbiAgICAgICAgc21hbGw6IDIwcHgsXG4gICAgICAgIG1lZGl1bTogMjZweCxcbik7XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b24tZ3JvdXBcbi8vLy9cblxuLy8vIE1hcmdpbiBmb3IgYnV0dG9uIGdyb3Vwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJyAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gbnVtYmVyIG9mIGJ1dHRvbnMgdGhhdCBjYW4gYmUgaW4gYW4gZXZlbi13aWR0aCBidXR0b24gZ3JvdXAuIChPbmx5IG5lZWRlZCB3aGVuICRnbG9iYWwtZmxleGJveDogZmFsc2U7KVxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDYgIWRlZmF1bHQ7XG5cbi8vLyBEZXRlcm1pbmVzIGlmICRidXR0b24tcmFkaXVzIGlzIGFwcGxpZWQgdG8gZWFjaCBidXR0b24gb3IgdGhlIGJ1dHRvbiBncm91cCBhcyBhIHdob2xlLiBVc2UgJGdsb2JhbC1yYWRpdXMgaW4gX3NldHRpbmdzLnNjc3MgdG8gY2hhbmdlIHJhZGl1cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBBZGQgc3R5bGVzIGZvciBhIGJ1dHRvbiBncm91cCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRjaGlsZC1zZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjaW5nIFskYnV0dG9uZ3JvdXAtc3BhY2luZ10gLSBTcGFjaW5nIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAoXG4gICRjaGlsZC1zZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxuICAkc3BhY2luZzogJGJ1dHRvbmdyb3VwLXNwYWNpbmdcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLWJvdHRvbTogJGJ1dHRvbmdyb3VwLW1hcmdpbjtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG4gIEBlbHNlIHtcbiAgICBmb250LXNpemU6IDA7XG4gIH1cblxuICAjeyRjaGlsZC1zZWxlY3Rvcn0ge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgfVxuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtd2lkdGggYnV0dG9uIGdyb3VwLCBtYWtpbmcgZWFjaCBidXR0b24gZXF1YWwgd2lkdGguXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjaW5nIFskYnV0dG9uZ3JvdXAtc3BhY2luZ10gLSBTcGFjaW5nIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtZXhwYW5kKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJHNwYWNpbmc6ICRidXR0b25ncm91cC1zcGFjaW5nLFxuICAkY291bnQ6IG51bGxcbikge1xuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IC0kc3BhY2luZztcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBPbmUgY2hpbGRcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRzcGFjaW5nfSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gVHdvIG9yIG1vcmUgY2hpbGRyZWVuXG4gICAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRidXR0b25ncm91cC1leHBhbmQtbWF4IHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpfSkge1xuICAgICAgICAgICYsICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIH4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCN7cGVyY2VudGFnZSgxIC8gJGkpfSAtICN7JHNwYWNpbmd9KTtcbiAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nICogLSRidXR0b25ncm91cC1leHBhbmQtbWF4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gU3RhY2tzIHRoZSBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXN0YWNrKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbi8vLyBVbi1zdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtdW5zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAwO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cCB7XG4gIC5idXR0b24tZ3JvdXAge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cDtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aCBHcm91cFxuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLWV4cGFuZDtcbiAgICB9XG5cbiAgICAvLyBDb2xvcnNcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAmLiN7JG5hbWV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQsXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCxcbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3RhY2s7XG5cbiAgICAgICYuZXhwYW5kZWQge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtZXhwYW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3IoJHNpemUpIHtcbiAgJHNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gIC8vIE1heCB2YWx1ZSBpcyAwLjJweCB1bmRlciB0aGUgbmV4dCBicmVha3BvaW50ICgwLjAyIC8gMTYgPSAwLjAwMTI1KS5cbiAgLy8gVXNlIGEgcHJlY2lzaW9uIHVuZGVyIDFweCB0byBzdXBwb3J0IGJyb3dzZXIgem9vbSwgYnV0IG5vdCB0byBsb3cgdG8gYXZvaWQgcm91bmRpbmcuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMTMxM1xuICAkc2l6ZTogLXpmLWJwLXRvLWVtKCRzaXplKSAtIC4wMDEyNTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgd2l0aGluIGEgY2VydGFpbiBicmVha3BvaW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3Itb25seSgkc2l6ZSkge1xuICAkbG93ZXItYm91bmQtc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHVwcGVyLWJvdW5kLXNpemU6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRzaXplKTtcblxuICAvLyBtb3JlIG9mdGVuIHRoYW4gbm90IHRoaXMgd2lsbCBiZSBjb3JyZWN0LCBqdXN0IG9uZSB0aW1lIHJvdW5kIHRoZSBsb29wIGl0IHdvbid0IHNvIHNldCBpbiBzY29wZSBoZXJlXG4gICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKSAtIC4wMDEyNTtcbiAgLy8gdGVzdCBhY3R1YWwgbG93ZXItYm91bmQtc2l6ZSwgaWYgMCBzZXQgaXQgdG8gMGVtXG4gIEBpZiBzdHJpcC11bml0KCRsb3dlci1ib3VuZC1zaXplKSA9PSAwIHtcbiAgICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSk7XG4gIH1cblxuICBAaWYgJHVwcGVyLWJvdW5kLXNpemUgPT0gbnVsbCB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAkdXBwZXItYm91bmQ6IC16Zi1icC10by1lbSgkdXBwZXItYm91bmQtc2l6ZSk7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR1cHBlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3IoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yLW9ubHkoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBvbmx5KSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcyB7XG4gIC8vIEJhc2ljIGhpZGluZyBjbGFzc2VzXG4gIC5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaW52aXNpYmxlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIHZpc2liaWxpdHkgY2xhc3Nlc1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgLmhpZGUtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgaGlkZS1mb3IoJHNpemUpO1xuICAgICAgfVxuXG4gICAgICAuc2hvdy1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBzaG93LWZvcigkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhpZGUtZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgaGlkZS1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgc2hvdy1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2NyZWVuIHJlYWRlciB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgLy8gTmVlZCBhIFwiaGlkZS1mb3Itc3JcIiBjbGFzcz8gQWRkIGFyaWEtaGlkZGVuPSd0cnVlJyB0byB0aGUgZWxlbWVudFxuICAuc2hvdy1mb3Itc3IsXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxuXG4gIC8vIE9ubHkgZGlzcGxheSB0aGUgZWxlbWVudCB3aGVuIGl0J3MgZm9jdXNlZFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZS1vZmY7XG4gICAgfVxuICB9XG5cbiAgLy8gTGFuZHNjYXBlIGFuZCBwb3J0cmFpdCB2aXNpYmlsaXR5XG4gIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZsb2F0XG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXMge1xuICAuZmxvYXQtbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQtY2VudGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICAuY2xlYXJmaXgge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBGbGV4Ym94IFV0aWxpdGllc1xuLy8vL1xuLy9cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciB0aGUgY291bnQgb2Ygc291cmNlIG9yZGVyaW5nYFxuLy8vIEB0eXBlIE51bWJlclxuJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50OiA2ICFkZWZhdWx0O1xuXG4vLy8gUXVpY2tseSBkaXNhYmxlL2VuYWJsZSBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBWYW5pbGxhIEZsZXggSGVscGVycy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzOiB0cnVlICFkZWZhdWx0O1xuXG5AbWl4aW4gZmxleC1oZWxwZXJzIHtcbiAgLmZsZXgtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBmbGV4O1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cblxuICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAuZmxleC1kaXItI3skZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbigkcHJvcCk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jb250YWluZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1hdXRvIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLWdyb3cge1xuICAgICAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgICAgICAgICAgLiN7JHNpemV9LWZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbigkcHJvcCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcyB7XG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IHVzaW5nIGp1c3RpZnktY29udGVudFxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWp1c3RpZnkge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgfVxuICB9XG4gIFxuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCBTcGVjaWZpY2FsbHkgZm9yIFZlcnRpY2FsIE1lbnVcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluIG1hcC1yZW1vdmUoJC16Zi1mbGV4LWp1c3RpZnksICdqdXN0aWZ5JywgJ3NwYWNlZCcpIHtcbiAgICAuYWxpZ24tI3skaGRpcn0ge1xuICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgICYubWVudSA+IGxpID4gYSB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmVydGljYWwgYWxpZ25tZW50IHVzaW5nIGFsaWduLWl0ZW1zIGFuZCBhbGlnbi1zZWxmXG4gIEBlYWNoICR2ZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtYWxpZ24ge1xuICAgIC5hbGlnbi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR5OiAkdmRpcik7XG4gICAgfVxuXG4gICAgLmFsaWduLXNlbGYtI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKCR5OiAkdmRpcik7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2VudHJhbCBhbGlnbm1lbnQgb2YgY29udGVudFxuICAuYWxpZ24tY2VudGVyLW1pZGRsZSB7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogY2VudGVyLCAkeTogbWlkZGxlKTtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQge1xuICAgICAgLiN7JC16Zi1zaXplfS1vcmRlci0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtb3JkZXIoJGkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZhbmlsbGEgRmxleGJveCBIZWxwZXJzXG4gIEBpbmNsdWRlIGZsZXgtaGVscGVycztcbn1cbiIsIkBmdW5jdGlvbiAtemYtZmxleC1qdXN0aWZ5KCR0ZXh0LWRpcmVjdGlvbil7XG4gICQtemYtZmxleC1qdXN0aWZ5OiAoXG4gICAgJ2xlZnQnOiBpZigkdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBmbGV4LWVuZCwgZmxleC1zdGFydCksXG4gICAgJ3JpZ2h0JzogaWYoJHRleHQtZGlyZWN0aW9uID09IHJ0bCwgZmxleC1zdGFydCwgZmxleC1lbmQpLFxuICAgICdjZW50ZXInOiBjZW50ZXIsXG4gICAgJ2p1c3RpZnknOiBzcGFjZS1iZXR3ZWVuLFxuICAgICdzcGFjZWQnOiBzcGFjZS1hcm91bmQsXG4gICk7XG5cbiAgQHJldHVybiAkLXpmLWZsZXgtanVzdGlmeTtcbn1cblxuXG4kLXpmLWZsZXgtYWxpZ246IChcbiAgJ3RvcCc6IGZsZXgtc3RhcnQsXG4gICdib3R0b20nOiBmbGV4LWVuZCxcbiAgJ21pZGRsZSc6IGNlbnRlcixcbiAgJ3N0cmV0Y2gnOiBzdHJldGNoLFxuKTtcblxuJC16Zi1mbGV4LWRpcmVjdGlvbjogKFxuICAncm93Jzogcm93LFxuICAncm93LXJldmVyc2UnOiByb3ctcmV2ZXJzZSxcbiAgJ2NvbHVtbic6IGNvbHVtbixcbiAgJ2NvbHVtbi1yZXZlcnNlJzogY29sdW1uLXJldmVyc2UsXG4pO1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGJ5IGFkZGluZyBgZGlzcGxheTogZmxleGAgdG8gdGhlIGVsZW1lbnQuXG5AbWl4aW4gZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBhbGlnbnMgdGhlIGl0ZW1zIHdpdGhpbiBhIGZsZXggY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeCBbbnVsbF0gLSBIb3Jpem9udGFsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgbGVmdGAsIGByaWdodGAsIGBjZW50ZXJgLCBganVzdGlmeWAsIG9yIGBzcGFjZWRgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgaG9yaXpvbnRhbCBhbGlnbm1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24oJHg6IG51bGwsICR5OiBudWxsKSB7XG4gIEBpZiAkeCB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1qdXN0aWZ5LCAkeCkge1xuICAgICAgJHg6IG1hcC1nZXQoJC16Zi1mbGV4LWp1c3RpZnksICR4KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeH0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGhvcml6b250YWwgYWxpZ25tZW50LiBVc2UgbGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSwgb3Igc3BhY2VkLic7XG4gICAgfVxuICB9XG5cbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAganVzdGlmeS1jb250ZW50OiAkeDtcbiAgYWxpZ24taXRlbXM6ICR5O1xufVxuXG4vLy8gVmVydGljYWxseSBhbGlnbiBhIHNpbmdsZSBjb2x1bW4gd2l0aGluIGEgZmxleCByb3cuIEFwcGx5IHRoaXMgbWl4aW4gdG8gYSBmbGV4IGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHk6IG51bGwpIHtcbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtY29sdW1uLWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAgYWxpZ24tc2VsZjogJHk7XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzb3VyY2Ugb3JkZXIgb2YgYSBmbGV4IGNoaWxkLiBDaGlsZHJlbiB3aXRoIGxvd2VyIG51bWJlcnMgYXBwZWFyIGZpcnN0IGluIHRoZSBsYXlvdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcmRlciBbMF0gLSBPcmRlciBudW1iZXIgdG8gYXBwbHkuXG5AbWl4aW4gZmxleC1vcmRlcigkb3JkZXI6IDApIHtcbiAgb3JkZXI6ICRvcmRlcjtcbn1cblxuLy8vIENoYW5nZSBmbGV4LWRpcmVjdGlvblxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbcm93XSAtIEZsZXggZGlyZWN0aW9uIHRvIHVzZS4gQ2FuIGJlXG4vLy8gICAtIHJvdyAoZGVmYXVsdCk6IHNhbWUgYXMgdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gcm93LXJldmVyc2U6IG9wcG9zaXRlIHRvIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIGNvbHVtbjogc2FtZSBhcyByb3cgYnV0IHRvcCB0byBib3R0b21cbi8vLyAgIC0gY29sdW1uLXJldmVyc2U6IHNhbWUgYXMgcm93LXJldmVyc2UgdG9wIHRvIGJvdHRvbVxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCRkaXJlY3Rpb246IHJvdykge1xuICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbn1cbiIsIi8vIFR5cG9ncmFwaHlcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuYm9keSB7XG4gIGNvbG9yOiAkZm9udC1jb2xvcjtcbiAgZm9udC1mYW1pbHk6ICRmb250LW1haW47XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgd29yZC1zcGFjaW5nOiAtMC4xcmVtO1xuICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgfVxuICBAbWVkaWFcbiAgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMS41KSxcbiAgKG1pbi1yZXNvbHV0aW9uOiAxNDRkcGkpe1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLnRpdGxlIHtcbiAgY29sb3I6ICRoZWFkaW5nLWNvbG9yO1xuICBmb250LWZhbWlseTogJGZvbnQtaGVhZGVyO1xufVxuXG5oMSwgLmgxIHtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgd29yZC1zcGFjaW5nOiAtMC40cmVtO1xufVxuXG5oMiwgLmgyIHtcbiAgZm9udC1zaXplOiAyLjMzMzMzMzMzMzMzMzMzM2VtO1xuICB3b3JkLXNwYWNpbmc6IC0wLjJyZW07XG59XG5cbmgzLCAuaDMge1xuICBmb250LXNpemU6IDEuMzMzMzMzMzMzMzMzMzMzZW07XG59XG5cbi5hY3RpdmUtcGFnZSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcbiAgICBmb250LXNpemU6IDNlbTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xuICAgIGZvbnQtc2l6ZTogMy44ODg4ODg4ODg4ODg4ODllbTtcbiAgfVxuICAvL0BpbmNsdWRlIGZvbnQtc2l6ZSg3MHB4KTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW46IDA7XG4gIHRleHQtc2hhZG93OiAycHggMnB4IDVweCByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gIC8vdGV4dC1zaGFkb3c6IDJweCAycHggMjBweCByZ2JhKCRibGFjaywgLjgpO1xufVxuXG5wICsgdWwge1xuICBtYXJnaW46IDJlbSAwO1xufVxuXG4ubm8tbWFyZ2luIHtcbiAgbWFyZ2luOiAwO1xuICAmLm5vLW1hcmdpbi0tdG9wIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgfVxufVxuXG5wLnNlYXJjaC1yZXN1bHRzIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDEuMjVlbTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7XG4gICAgZm9udC1zaXplOiAxLjU1NTU1NTU1NTU1NTU1NmVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgc3BhbiwgYSB7XG4gICAgY29sb3I6ICRndmEtY29sb3ItMjtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxufVxuXG5mb3JtLnNlYXJjaCArIHAuc2VhcmNoLXJlc3VsdHMge1xuICBtYXJnaW4tdG9wOiAyZW07XG59XG5cbi5zZWN0aW9uIHtcblxuICBhOm5vdCguYnV0dG9uKTpub3QoLnRlYXNlcik6bm90KC5hcmNoaXZlLXN0YXRpc3RpYyk6bm90KC5zZWN0aW9uLS1kYXJrLWJsdWUgPiAuc2VjdGlvbi0tZGFyay1ibHVlKSB7XG4gICAgY29sb3I6ICRndmEtY29sb3ItMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkZ3ZhLWNvbG9yLTI7XG4gICAgfVxuXG4gIH1cbn1cblxuXG5ociB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW46IDFlbSAwO1xufVxuXG5ibG9ja3F1b3RlIHtcbiAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAkZm9udC1jb2xvcjtcbiAgcGFkZGluZy1sZWZ0OiAxZW07XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4uc2VjdGlvbi0tbGlua3MgaDMge1xuICBmb250LXNpemU6IDEuMTExMTExMTExMTExMTExZW07XG59XG5cbi5zaWRlYmFyLWJsb2NrIGgzLCAuY29udGVudC1ibG9jayBoMiB7XG4gICAgZm9udC1zaXplOiAxLjU1NTU1NTU1NTU1NTU1NmVtO1xufVxuXG5wLmRhdGUge1xuXG59XG5cbnAubmV3cy1pbnRybyB7XG4gIGZvbnQtc2l6ZTogMS4zMzMzMzMzMzMzMzMzMzNlbTtcbiAgLy9AaW5jbHVkZSBmb250LXNpemUoMjRweCk7XG4gIGNvbG9yOiAkZ3ZhLWNvbG9yLTE7XG59XG5cbmRpdiNzb2NpYWwtc2hhcmUge1xuICBkaXYuc2hhcmV0aGlzLWlubGluZS1zaGFyZS1idXR0b25zLCBkaXYuYWRkdGhpc19pbmxpbmVfc2hhcmVfdG9vbGJveCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgI2F0c3RieCB7XG4gICAgICBkaXYuYXQtc2hhcmUtYnRuLWVsZW1lbnRzIHtcbiAgICAgICAgYS5hdC1zaGFyZS1idG4ge1xuICAgICAgICAgIHBhZGRpbmc6IDRweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBhLnNvY2lhbCB7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xuICAgIH1cbiAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgfVxuICBhLmJ1dHRvbi0tc29jaWFsLXNoYXJlIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cbiIsIi8vIEJhc2Vcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuLy8jd3JhcHBlciB7XG4vLyAgYmFja2dyb3VuZDogdXJsKCdodHRwczovL21lZGlhMC5naXBoeS5jb20vbWVkaWEvekxjeVRacWJ3eTJtay8yMDB3LmdpZicpICFpbXBvcnRhbnQ7XG4vL31cblxuZGl2IHtcbiAgaW1nIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG59XG5cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cbi8vXG4vL2FbaHJlZl49XCJodHRwOi8vXCJdOm5vdChbaHJlZio9XCJhcmNoaWVmLnZlbmxvXCJdKSxcbi8vYVtocmVmXj1cImh0dHBzOi8vXCJdOm5vdChbaHJlZio9XCJhcmNoaWVmLnZlbmxvXCJdKSxcbi8vYVtocmVmXj1cIi8vXCJdOm5vdChbaHJlZio9XCJhcmNoaWVmLnZlbmxvXCJdKSwgYS5leHRlcm5hbCB7XG4vLyAgJjphZnRlciB7XG4vLyAgICBjb250ZW50OiAnTGV0IG9wOiBkZXplIGxpbmsgZ2FhdCBuYWFyIGVlbiBleHRlcm5lIHdlYnNpdGUgZW4gb3BlbnQgaW4gZGl0IHZlbnN0ZXInO1xuLy8gICAgcGFkZGluZzogMC41ZW07XG4vLyAgICBjb2xvcjogIzAwMDAwMDtcbi8vICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbi8vICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4vLyAgICBsaW5lLWhlaWdodDogMTtcbi8vICAgIHotaW5kZXg6IDEwMDtcbi8vICAgIGJhY2tncm91bmQtY29sb3I6ICR3YXJuaW5nO1xuLy8gICAgd2lkdGg6IDI0MHB4O1xuLy8gICAgcG9zaXRpb246IGFic29sdXRlO1xuLy8gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbi8vICAgIGRpc3BsYXk6IG5vbmU7XG4vLyAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkICR3YXJuaW5nLWJvcmRlcjtcbi8vICAgIHRleHQtYWxpZ246IGxlZnQ7XG4vLyAgICBmb250LXdlaWdodDogbm9ybWFsO1xuLy8gIH1cbi8vICAmOmhvdmVyLCAmOmZvY3VzIHtcbi8vICAgICY6YWZ0ZXIge1xuLy8gICAgICBkaXNwbGF5OiBibG9jaztcbi8vICAgIH1cbi8vICB9XG4vL31cblxucCB7XG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxucC5zb2NpYWwtc2hhcmUgYS5zb2NpYWwge1xuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbmRpdi5jb2xsZWN0aW9uLWRldGFpbC1pbWFnZSB7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZy1ib3R0b206IDEyMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRndmEtY29sb3ItNTtcbn1cblxuLmNvbGxlY3Rpb24tZGV0YWlsLWltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgQGluY2x1ZGUgc3RpY2stdG8tZWRnZXMoKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy90aGVtZXMvZGVmYXVsdC9hc3NldHMvaW1hZ2VzL3RlbXBsYXRlL25vLWltYWdlLnN2ZycpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIG9wYWNpdHk6IDAuMTtcbiAgfVxufVxuXG5cbiNoZWFkZXIgYS5sb2dvLCAjZm9vdGVyIC5jb2x1bW5zLnNtYWxsLTYudGV4dC1yaWdodCBhLmxvZ28ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICY6YWZ0ZXIge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIExpYnJhcnkgei1pbmRleCBpc3N1ZXMgZml4OlxuXG4jbWFpbi1jb250ZW50IHtcbiAgZGl2Lm1pX3BhZ2VfZm9ybSB7XG4gICAgei1pbmRleDogOTtcbiAgfVxuXG4gIGRpdi5taV9wYWdlX3Jlc3VsdCB7XG4gICAgei1pbmRleDogODtcbiAgfVxufVxuIiwiLy8gTWl4aW5zXG5cbkBtaXhpbiBzdGljay10by1lZGdlcyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbikge1xuICAtby10cmFuc2l0aW9uOiAgICAgICR0cmFuc2l0aW9uO1xuICAtbXMtdHJhbnNpdGlvbjogICAgICR0cmFuc2l0aW9uO1xuICAtbW96LXRyYW5zaXRpb246ICAgICR0cmFuc2l0aW9uO1xuICAtd2Via2l0LXRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICB0cmFuc2l0aW9uOiAgICAgICAgICR0cmFuc2l0aW9uO1xufVxuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkdmFsdWUpIHtcbiAgQHJldHVybiAkdmFsdWUgLyAoJHZhbHVlICogMCArIDEpO1xufVxuIiwiI3JlYWRzcGVha2VyLWNvbnRhaW5lciB7XG4gIG1hcmdpbi10b3A6IDJyZW07XG4gIHdpZHRoOiAxMDAlO1xuICBib2R5LnBhZ2Utbm9kZS10eXBlLW5ld3MgJiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgfVxuXG4gICNyZWFkc3BlYWtlcl9idXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuI21haW4tY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uO1xuICA+ICoge1xuICAgIG9yZGVyOiAzO1xuICB9XG5cbiAgI3JlYWRzcGVha2VyLWNvbnRhaW5lciB7XG4gICAgb3JkZXI6IDI7XG4gIH1cblxuICAuYmFubmVyIHtcbiAgICBvcmRlcjogMVxuICB9XG5cbn1cbiIsIi8vIExheW91dFxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4kY2VudGVyZWQ6IGZhbHNlO1xuXG4jY29udGFpbmVyIHtcbiAgQGlmICRjZW50ZXJlZCB7XG4gICAgd2lkdGg6IDkwJTtcbiAgICBtYXgtd2lkdGg6IDE2MDBweDtcbiAgfVxuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLnJvdyB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XG4gICAgLy93aWR0aDogOTAlO1xuICAgIG1heC13aWR0aDogMTQyMHB4O1xuICB9XG5cbiAgQG1lZGlhIChtaW4tZGV2aWNlLXdpZHRoOiA1MDBweCkgYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuNSkgYW5kIChtaW4tcmVzb2x1dGlvbjogMTQ0ZHBpKSB7XG4gICAgd2lkdGg6IDkwJTtcbiAgfVxuXG4gIHBhZGRpbmctbGVmdDogcmVtLWNhbGMobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBzbWFsbCkgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBzbWFsbCkgLyAyKTtcbiAgLnJvdyB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG59XG5cbiNtYWluLWNvbnRlbnQsICNzaWRlYmFyIHtcbiAgbWluLWhlaWdodDogNDAwcHg7XG59XG5cbi5jb250ZW50LWJsb2NrIHtcbiAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ib3R0b20tcmVzcG9uc2l2ZTtcbn1cblxuLmJhbm5lciwgLnRpdGxlLWJsb2NrLCAjYXJjaGl2ZS1pbnNpZ2h0IHtcbiAgLy9tYXJnaW4tYm90dG9tOiAkbWFyZ2luLWJvdHRvbS1yZXNwb25zaXZlO1xufVxuXG4uYmFubmVyICsgLnNlY3Rpb24ge1xuICAvL3BhZGRpbmctdG9wOiA0dmg7XG59XG5cbm1haW4gLnNlY3Rpb246bGFzdC1jaGlsZDpub3QoI2ltYWdlLWxpYnJhcnkpIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnJvdyAuY29udGVudCB7XG4gIG9yZGVyOiAyO1xufVxuXG4ucm93LnNpZGViYXIge1xuICBvcmRlcjogMTtcbn1cbiIsIi8vIEhlYWRlclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4jaGVhZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGd2YS1jb2xvci0xO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgcGFkZGluZzogMWVtIDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogOTBweDtcblxuICAuc3VibmF2LWJnIHtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogJGd2YS1jb2xvci02O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgei1pbmRleDogOTk7XG4gICAgbWF4LWhlaWdodDowcHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycztcblxuICAgIGJvZHkuc3VibmF2LWlzLWhvdmVyaW5nICYge1xuICAgICAgbWF4LWhlaWdodDo2MHB4O1xuICAgIH1cblxuICB9XG5cbiAgYS5sb2dvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaW1nIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgfVxuICB9XG4gIHVsI21haW4tbWVudSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBsaSB7XG5cbiAgICAgIHBhZGRpbmctdG9wOiAwLjVlbTtcblxuICAgICAgJi5tZW51LWl0ZW0tLWV4cGFuZGVkIHtcbiAgICAgICAgbGlzdC1zdHlsZS1pbWFnZTogbm9uZTtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgICAgIHBhZGRpbmctdG9wOjAuMmVtO1xuICAgICAgfVxuXG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC42KTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBmb250LXNpemU6IDEuMjIyMjIyMjIyMjIyMjIyZW07XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuMnM7XG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMsICYuYWN0aXZlLCAmLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAudWktY2xvc2Uge1xuICAgICAgICAgICAgb3BhY2l0eToxO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cbiAgICAgIH1cblxuICAgICAgdWwubWVudSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjJzLCBtYXgtaGVpZ2h0IC4ycztcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIG1heC1oZWlnaHQ6MDtcbiAgICAgICAgb3ZlcmZsb3c6aGlkZGVuO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBtYXJnaW46MDtcblxuICAgICAgICBsaSB7XG5cbiAgICAgICAgICBwYWRkaW5nOiAwIDZweCAxMHB4IDE1cHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGd2YS1jb2xvci02O1xuXG4gICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDoxNXB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDoxNXB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbToxMHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbToxMHB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4ycztcbiAgICAgICAgICAgIGZvbnQtc2l6ZToxZW07XG5cbiAgICAgICAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZbaHJlZl49XCJodHRwOi8vXCJdOm5vdChbaHJlZio9XCJhcmNoaWVmLnZlbmxvXCJdKSxcbiAgICAgICAgICAgICZbaHJlZl49XCJodHRwczovL1wiXTpub3QoW2hyZWYqPVwiYXJjaGllZi52ZW5sb1wiXSksXG4gICAgICAgICAgICAmW2hyZWZePVwiLy9cIl06bm90KFtocmVmKj1cImFyY2hpZWYudmVubG9cIl0pLCBhLmV4dGVybmFsIHtcbiAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246Zml4ZWQ7XG4gICAgICAgICAgICAgICAgdG9wOjA7XG4gICAgICAgICAgICAgICAgcmlnaHQ6MDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XG5cbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgLy9sZWZ0OiAwO1xuICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICB6LWluZGV4OiAxMDA7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAxNnB4O1xuICAgICAgICAgIG1heC13aWR0aDogMTQyMHB4O1xuICAgICAgICAgIGhlaWdodDo3NXB4O1xuICAgICAgICAgIG1heC1oZWlnaHQ6NjBweDtcblxuICAgICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gICAgICAgICAgQG1lZGlhIChtaW4tZGV2aWNlLXdpZHRoOiA1MDBweCkgYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuNSkgYW5kIChtaW4tcmVzb2x1dGlvbjogMTQ0ZHBpKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDkwJTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLnNldC1wb3MtbGVmdCB7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjJweDtcblxuICAgICAgICAgIH1cblxuXG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAxZW07XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDp0cmFuc3BhcmVudDtcblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OjA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQsXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICBwYWRkaW5nOjA7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6MDtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTowO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICAgICYuaXMtaG92ZXJpbmcge1xuICAgICAgICB1bC5tZW51IHtcbiAgICAgICAgICBvcGFjaXR5OjE7XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICAgICAgbWF4LWhlaWdodDo5MDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgID4gYSB7XG4gICAgICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICAgIH1cblxuICAgICAgICAuc3VibmF2LWNvbGxhcHNlLXVpIHtcbiAgICAgICAgICAudWktY2xvc2Uge1xuICAgICAgICAgICAgb3BhY2l0eToxO1xuICAgICAgICAgICAgJjpiZWZvcmV7IHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsgfVxuICAgICAgICAgICAgJjphZnRlcnsgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICAgIC8vQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIGRvd24pIHtcbiAgICAgIC8vICAmLm1lbnUtaXRlbS0tYWN0aXZlLXRyYWlsIHtcbiAgICAgIC8vICAgIHVsLm1lbnUge1xuICAgICAgLy8gICAgICBvcGFjaXR5OjE7XG4gICAgICAvLyAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgLy8gICAgICBtYXgtaGVpZ2h0OjkwMHB4O1xuICAgICAgLy8gICAgfVxuICAgICAgLy9cbiAgICAgIC8vICAgID4gYSB7XG4gICAgICAvLyAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgLy8gICAgfVxuICAgICAgLy9cbiAgICAgIC8vICAgIC5zdWJuYXYtY29sbGFwc2UtdWkge1xuICAgICAgLy8gICAgICAudWktY2xvc2Uge1xuICAgICAgLy8gICAgICAgIG9wYWNpdHk6MTtcbiAgICAgIC8vICAgICAgICAmOmJlZm9yZXsgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOyB9XG4gICAgICAvLyAgICAgICAgJjphZnRlcnsgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAgICAgLy8gICAgICB9XG4gICAgICAvLyAgICB9XG4gICAgICAvLyAgfVxuICAgICAgLy99XG5cbiAgICAgIC5zdWJuYXYtY29sbGFwc2UtdWkge1xuICAgICAgICB3aWR0aDozMnB4O1xuICAgICAgICBoZWlnaHQ6MzJweDtcbiAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OjEwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMTBweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKDEwMjUpIHtcbiAgICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAudWktY2xvc2Uge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB3aWR0aDoxNnB4O1xuICAgICAgICAgIGhlaWdodDoxNnB4O1xuICAgICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgICAgICAgIHRvcDo3cHg7XG4gICAgICAgICAgbGVmdDoycHg7XG5cbiAgICAgICAgICBvcGFjaXR5Oi42O1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7XG4gICAgICAgICAgICB3aWR0aDoxMnB4O1xuICAgICAgICAgICAgaGVpZ2h0OjEycHg7XG4gICAgICAgICAgICB0b3A6OHB4O1xuICAgICAgICAgICAgbGVmdDoycHg7XG4gICAgICAgICAgfVxuXG5cbiAgICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgICAmOmFmdGVye1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yNXMgZWFzZS1vdXQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLyogVmVydGljYWwgbGluZSAqL1xuICAgICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgd2lkdGg6IDJweDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8qIGhvcml6b250YWwgbGluZSAqL1xuICAgICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG5cbiAgICAgIH1cblxuICAgIH1cbiAgfVxuICAjdG9nZ2xlLW1lbnUge1xuICAgIHdpZHRoOiAyOHB4O1xuICAgIGhlaWdodDogMjhweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy90aGVtZXMvZGVmYXVsdC9hc3NldHMvaW1hZ2VzL2ljb25zL2hhbWJ1cmdlci5zdmcnKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKSk7XG4gICAgdG9wOiAobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBzbWFsbCkgKiAxLjUpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgLnJvdyB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICAgIHVsI21haW4tbWVudSB7XG4gICAgICBsaSBhIHtcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQgKDE0NDApIHtcbiAgICB1bCNtYWluLW1lbnUge1xuICAgICAgbGkgYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yMjIyMjIyMjIyMjIyMjJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIE1haW4gbWVudVxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG51bC5tYWluLW1lbnUge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbGkge1xuXG4gIH1cbn1cbiIsIi8vIEZvb3RlclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4jZm9vdGVyIHtcbiAgYmFja2dyb3VuZDogJGd2YS1jb2xvci0xO1xuICBjb2xvcjogd2hpdGU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBwYWRkaW5nOiA0dmggMDtcbiAgKiB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cblxuICBhIHtcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRndmEtY29sb3ItMztcbiAgICB9XG4gIH1cblxuICBhLmxvZ28ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDFlbSAwO1xuICAgIGltZyB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIH1cbiAgfVxuICBhLnNvY2lhbCB7XG4gICAgbWFyZ2luOiAwIDAuMjVlbSAwIDA7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBvcGFjaXR5OiAuNTtcbiAgICB9XG5cbiAgfVxuICBoMiB7XG4gICAgZm9udC1zaXplOiAxLjI1ZW07XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcbiAgICAgIGZvbnQtc2l6ZTogMS41NTU1NTU1NTU1NTU1NTZlbTtcbiAgICB9XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICB1bCB7XG4gICAgbWFyZ2luLXRvcDogMC41ZW07XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMTExMTExMTExMTExMTFlbTtcbiAgICB9XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgYSB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIH1cblxuICAgIH1cbiAgfVxuICBwLnNpdGVtYXAtYW5kLXByb2NsYWltZXIge1xuICAgIG1hcmdpbjogMWVtIDAgMCAwO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XG4gICAgICBmb250LXNpemU6IDEuMTExMTExMTExMTExMTExZW07XG4gICAgfVxuICAgIGE6bm90KGxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMC41ZW07XG4gICAgfVxuICB9XG4gIHAuY29weXJpZ2h0IHtcbiAgICBtYXJnaW46IDAgMCAxZW0gMDtcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG4gIC5mb290ZXItYm90dG9tIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xuICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFN0aWNreSBmb290ZXJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcbiAgaHRtbCwgYm9keSwgI2NvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgI2NvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgI3dyYXBwZXIge1xuICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgIH1cblxuICAgICAgI2Zvb3RlciB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgfVxuXG4gIH1cblxufVxuIiwiLy8gRGV2ZWxvcG1lbnRcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuLnByb2plY3QtZ3JpZCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgei1pbmRleDogMTA7XG4gIG1hcmdpbjogMCBhdXRvO1xuICAucm93IHtcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgLmNvbHVtbnMge1xuICAgICAgaGVpZ2h0OiA2NHB4O1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoYmx1ZSwgMC4yNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG5wLmV4aXRhYmxlIHtcbiAgbWFyZ2luOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgZm9udC1mYW1pbHk6ICRmb250LWhlYWRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNsZWFyOiBib3RoO1xuICBwYWRkaW5nOiAxZW0gMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDEycHg7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbnAudG9kbyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJlZDtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG5ib2R5LnNob3ctcHJvamVjdC1ncmlkIHtcbiAgLnByb2plY3QtZ3JpZCwgcC5leGl0YWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuXG4uaW5saW5lLWdyaWQge1xuICAucm93IHtcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgLmNvbHVtbnMge1xuICAgICAgaGVpZ2h0OiA2NHB4O1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGd2YS1jb2xvci0yLCAwLjI1KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgZGl2LnJvdzpudGgtY2hpbGQoNm4rMCkge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbiIsIi8vIEJhbm5lclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4uYmFubmVyIHtcbiAgcGFkZGluZzogOHZoIDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRndmEtY29sb3ItNjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSBkb3duKSB7XG4gICAgLy9ib3gtc2hhZG93OiBpbnNldCAwcHggMHB4IDIwMHB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjc1KTtcbiAgfVxuICAuYmFubmVyLXRhZ2xpbmUge1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICB3b3JkLXNwYWNpbmc6IC0ycHg7XG4gICAgdGV4dC1zaGFkb3c6IDJweCAycHggNXB4IHJnYmEoMCwgMCwgMCwgMC44KTtcblxuXG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcbiAgICAgIGZvbnQtc2l6ZTogM2VtO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xuICAgICAgZm9udC1zaXplOiAzLjg4ODg4ODg4ODg4ODg4OWVtO1xuICAgIH1cbiAgICAvL0BpbmNsdWRlIGZvbnQtc2l6ZSg3MHB4KTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWF4LXdpZHRoOiA5MDBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgLnN0dWR5LXJvb20tY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgcC5zdHVkeS1yb29tIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAwLjg4ODg4ODg4ODg4ODg4OWVtO1xuICAgIC8vQGluY2x1ZGUgZm9udC1zaXplKDE2cHgpO1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVlbTtcbiAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0VFRUVFRTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwMDBweDtcbiAgICB9XG4gICAgJi5vcGVuIHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzZFRjAwQztcbiAgICAgIH1cbiAgICB9XG4gICAgJi5jbG9zZWQge1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkYwMDAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uYmFubmVyLS1zZWFyY2gge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIHBhZGRpbmc6IDJlbSAwO1xuICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcbiAgICBwYWRkaW5nOiAxMXZoIDA7XG4gIH1cbiAgI3NlYXJjaCB7XG4gICAgbWFyZ2luLXRvcDogMmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbiIsIi8vIERydXBhbFxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG5uYXYudGFicyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbGVmdDogMWVtO1xuICBib3R0b206IDFlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvdGhlbWVzL2RlZmF1bHQvYXNzZXRzL2ltYWdlcy9kcnVwYWwvdGFicy1iZy5wbmcnKTtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gIHBhZGRpbmc6IDFlbTtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXItcmFkaXVzOiAxMDAwcHg7XG4gIHotaW5kZXg6IDEwMDtcbiAgZm9udC1mYW1pbHk6IFwiU291cmNlIFNhbnMgUHJvXCIsIFwiTHVjaWRhIEdyYW5kZVwiLCBWZXJkYW5hLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggNDhweCAwcHggIzAwMDtcbiAgdWwudGFicy5wcmltYXJ5IHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICBsaXN0LXN0eWxlLWltYWdlOiBub25lO1xuICB9XG4gIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgcGFkZGluZzogMC41ZW0gMWVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjI1KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgbGkuaXMtYWN0aXZlIHtcbiAgICBhIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgICBjb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG4jdG9vbGJhci1hZG1pbmlzdHJhdGlvbiB7XG4gIGRpdi50b29sYmFyLXRyYXkge1xuICAgIGEge1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgfVxuICB9XG4gIC8vI3Rvb2xiYXItaXRlbS1hZG1pbmlzdHJhdGlvbi10cmF5IHtcbiAgLy8gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIC8vICBib3gtc2hhZG93OiBub25lO1xuICAvL31cbn1cblxuYm9keS51c2VyLWxvZ2dlZC1pbiB7XG4gICNjb250YWluZXIge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG4gICNoZWFkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxufVxuIiwiLy8gVGVhc2VyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbi50ZWFzZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBkaXNwbGF5OiBibG9jaztcbiAgLy9ib3gtc2hhZG93OiBpbnNldCAwcHggMHB4IDBweCAxcHggI2EwYTBhMDtcbiAgZGl2LmltYWdlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBpbWcge1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbi1kdXJhdGlvbiBlYXNlO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL3RoZW1lcy9kZWZhdWx0L2Fzc2V0cy9pbWFnZXMvdGVtcGxhdGUvdGVhc2VyLWhvdmVyLWljb24uc3ZnJyk7XG4gICAgICB3aWR0aDogNTdweDtcbiAgICAgIGhlaWdodDogNTRweDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBtYXJnaW4tbGVmdDogLTI4cHg7XG4gICAgICBtYXJnaW4tdG9wOiAtMjdweDtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gIGRpdi5kZXNjcmlwdGlvbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAxZW07XG4gICAgcGFkZGluZy1yaWdodDogMWVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxZW07XG4gICAgcC50aXRsZSB7XG4gICAgICBmb250LXNpemU6IDEuMzMzMzMzMzMzMzMzMzMzZW07XG4gICAgICAvL0BpbmNsdWRlIGZvbnQtc2l6ZSgyNHB4KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cbiAgICBwLmNvbnRlbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7XG4gICAgICAgIC8vQGluY2x1ZGUgZm9udC1zaXplKDE4cHgpO1xuICAgICAgfVxuICAgIH1cbiAgICBwLmNhbGwtdG8tYWN0aW9uIHtcbiAgICAgIC8vQGluY2x1ZGUgZm9udC1zaXplKDE4cHgpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIC5idXR0b24ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICBkaXYuaW1hZ2Uge1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgICBkaXYuZGVzY3JpcHRpb24ge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIHAudGl0bGUge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICY6Zm9jdXMsICY6YWN0aXZlIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG4vLyBDb2xsZWN0aW9uIHRlYXNlcnNcblxuLnRlYXNlci0tY29sbGVjdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSk7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDIwMHB4O1xuICBkaXYuaW1hZ2Uge1xuICAgIGhlaWdodDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmctYm90dG9tOiA2MCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlci1yYWRpdXM6IDE2cHggMTZweCAwcHggMHB4O1xuICAgIGltZyB7XG4gICAgICBAaW5jbHVkZSBzdGljay10by1lZGdlcygpO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICB9XG4gIH1cbiAgZGl2LmRlc2NyaXB0aW9uIHtcbiAgICBwYWRkaW5nOiAxLjVlbTtcbiAgICBtaW4taGVpZ2h0OiAxMTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUVFRUVFO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm9yZGVyLXJhZGl1czogMHB4IDBweCAxNnB4IDE2cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDcycHg7XG4gICAgcC50aXRsZSwgcC5zdWJ0aXRsZSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIHAudGl0bGUge1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNWVtO1xuICAgICAgZm9udC1zaXplOiAxLjI3Nzc3Nzc3Nzc3Nzc3OGVtO1xuICAgICAgLy9AaW5jbHVkZSBmb250LXNpemUoMjNweCk7XG4gICAgfVxuICAgIHAuc3VidGl0bGUge1xuICAgICAgZm9udC1zaXplOiAwLjg4ODg4ODg4ODg4ODg4OWVtO1xuICAgICAgLy9AaW5jbHVkZSBmb250LXNpemUoMTZweCk7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAxZW07XG4gICAgICB0b3A6IDFlbTtcbiAgICAgIHdpZHRoOiAyLjY2NjY2NjY2NjY2NjY2N2VtO1xuICAgICAgaGVpZ2h0OiAyLjY2NjY2NjY2NjY2NjY2N2VtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRidXR0b24tYm9yZGVyLXJhZGl1cztcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL3RoZW1lcy9kZWZhdWx0L2Fzc2V0cy9pbWFnZXMvaWNvbnMvYmx1ZS1jaGV2cm9uLXJpZ2h0LnN2ZycpO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDAuOWVtIGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0bztcbiAgICB9XG4gIH1cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgZGl2LmRlc2NyaXB0aW9uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNEREREREQ7XG4gICAgfVxuICB9XG59XG5cbi5jb2x1bW4tdGVhc2VyLW5ld3Mge1xuICBtYXJnaW46IDAgMCByZW0tY2FsYyhtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIHNtYWxsKSkgMDtcbn1cblxuLnRlYXNlci0tbmV3cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRndmEtY29sb3ItNTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDYwMHB4O1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDE7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgZGl2LmFyY2hpdmUtaW1hZ2Uge1xuICAgIGJhY2tncm91bmQ6ICRndmEtY29sb3ItMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICAgIG1heC1oZWlnaHQ6IDMyMHB4O1xuICAgICAgbWFyZ2luOiA0MHB4O1xuICAgICAgYm94LXNoYWRvdzogNHB4IDRweCAxNnB4IDBweCByZ2JhKDAsMCwwLDAuMjUpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcbiAgICAgIHdpZHRoOiAyNXZ3O1xuICAgICAgaGVpZ2h0OiAyNXZ3O1xuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGhlaWdodDogODAlO1xuICAgICAgICBtYXJnaW46IDEwJSAwO1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50ICgxMTQwKSB7XG4gICAgICB3aWR0aDogNDAwcHg7XG4gICAgICBoZWlnaHQ6IDQwMHB4O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSkge1xuICAgIG1hcmdpbjogMCAwIHJlbS1jYWxjKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSkgMDtcbiAgfVxuICBwLmNvbnRlbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgfVxuICBwLmRhdGUge1xuICAgIGNvbG9yOiAkZ3ZhLWNvbG9yLTE7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICBwLmNhbGwtdG8tYWN0aW9uIHtcbiAgfVxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGd2YS1jb2xvci01LCAxMCUpO1xuICAgIHAuZGF0ZSB7XG4gICAgICBjb2xvcjogJGd2YS1jb2xvci0zO1xuICAgIH1cbiAgfVxuXG4gIC5pbWFnZSB7XG4gICAgZmxleDogMTtcbiAgfVxuXG4gIC5kZXNjcmlwdGlvbi1ib2R5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXg6IDE7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgIC5ib2R5LWhlYWRlciB7XG4gICAgICBmbGV4OiAxO1xuICAgIH1cblxuXG4gIH1cblxuICAudGVhc2VyLS1mb290ZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG5cbn1cblxuLy8gQXJjaGl2ZSB0ZWFzZXJzIChmdWxsIHdpZHRoIGJvb2sgaXRlbXMpXG5cbi50ZWFzZXItLWFyY2hpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3ZhLWNvbG9yLTU7XG4gIG1hcmdpbi1ib3R0b206ICRtYXJnaW4tZ3V0dGVyO1xuICBtaW4taGVpZ2h0OiAyMDBweDtcbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGd2YS1jb2xvci01O1xuICAgIGRpdi5pbWFnZSB7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCAoc21hbGwgb25seSkge1xuICAgIC5zaHJpbmsge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG4gIGRpdi5pbWFnZSB7XG4gICAgYmFja2dyb3VuZDogJGd2YS1jb2xvci0xO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBpbWcge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBoZWlnaHQ6IDIwMHB4O1xuICAgICAgbWF4LWhlaWdodDogMzIwcHg7XG4gICAgICBtYXJnaW46IDQwcHg7XG4gICAgICBib3gtc2hhZG93OiA0cHggNHB4IDE2cHggMHB4IHJnYmEoMCwwLDAsMC4yNSk7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSkge1xuICAgICAgd2lkdGg6IDI1dnc7XG4gICAgICBoZWlnaHQ6IDI1dnc7XG4gICAgICBpbWcge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiA4MCU7XG4gICAgICAgIG1hcmdpbjogMTAlIDA7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKDExNDApIHtcbiAgICAgIHdpZHRoOiA0MDBweDtcbiAgICAgIGhlaWdodDogNDAwcHg7XG4gICAgfVxuICB9XG4gIGRpdi5kZXNjcmlwdGlvbiwgZGl2LmRldGFpbHMge1xuICAgIHBhZGRpbmc6IDAgMXJlbTtcbiAgfVxuICBkaXYuZGVzY3JpcHRpb24ge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKDExNDApIHtcbiAgICAgIHAuY29udGVudCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEyMHB4O1xuICAgICAgfVxuICAgIH1cbiAgICBwLmNhbGwtdG8tYWN0aW9uLCBkaXYuY2FsbC10by1hY3Rpb24ge1xuICAgICAgbWFyZ2luOiAwIDAgMWVtIDA7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xuICAgICAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgICB9XG4gICAgICAuYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBkaXYuZGV0YWlscyB7XG4gICAgY29sb3I6ICM0NDQ0NDQ7XG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IDAuODg4ODg4ODg4ODg4ODg5ZW07XG4gICAgfVxuICAgIHAubGFiZWwge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjI1ZW07XG4gICAgICAmICsgcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcC5kYXRlIHtcbiAgICBjb2xvcjogJGd2YS1jb2xvci0zO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCAoMTE0MCkge1xuICAgIC5zbWFsbC0xMi5tZWRpdW0tZXhwYW5kIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIC5kZXRhaWxzIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDFlbTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbGVmdDogMXJlbTtcbiAgICAgICAgcmlnaHQ6IDFyZW07XG4gICAgICAgID4gZGl2LnJvdyB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEhvbWVwYWdlIGFyY2hpdmUgc3RvcmUgaXRlbXMgKG5vdCBpbnRlcmFjdGl2ZSlcblxuLnNlY3Rpb24tLWRhcmstYmx1ZSAudGVhc2VyLS1hcmNoaXZlIHtcbiAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ndXR0ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGRpdi5pbWFnZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmc6IDQwcHggNjBweDtcbiAgICBpbWcge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG4gIGRpdi5kZXNjcmlwdGlvbiB7XG4gICAgcC5jb250ZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICB9XG4gIH1cbiAgcC50aXRsZSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbiAgcC5jYWxsLXRvLWFjdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vL2Rpdi5jb2x1bW5zIHtcbi8vICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIG1lZGl1bSkpO1xuLy99XG4vL2Rpdi5jb2x1bW5zIGEudGVhc2VyIHtcbi8vICBoZWlnaHQ6IDEwMCU7XG4vL31cblxuLmFjY2Vzc2libGUtbmV3cy10ZWFzZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJhY2tncm91bmQ6ICNFN0YxRjM7XG4gIGhlaWdodDogMTAwJTtcblxuICAmOmhvdmVyLFxuICAmOmhhcyg6Zm9jdXMtdmlzaWJsZSkge1xuICAgIGJhY2tncm91bmQ6ICNjNWRkZTI7XG4gIH1cblxuICAmOmhhcyg6Zm9jdXMtdmlzaWJsZSkge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCAjMDE0RDUzO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gIH1cblxuICAuaW1hZ2Uge1xuICAgIG9yZGVyOiAtMTtcblxuICAgIGltZyB7XG4gICAgICBhc3BlY3QtcmF0aW86IDM2MC8yNDA7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5jb250ZW50IHtcbiAgICBwYWRkaW5nOiAyZW0gMWVtIDFlbSAxZW07XG4gICAgZmxleDogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAudGl0bGUge1xuICAgICAgZm9udC1zaXplOiAyMS4zMzMzcHg7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIH1cblxuICAgIC5kZXNjcmlwdGlvbiB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxuXG4gICAgLm1ldGEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuXG4gICAgICAuZGF0ZSB7XG4gICAgICAgIGNvbG9yOiAjMDE0RDUzO1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cblxuICAgICAgLmJ1dHRvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBpbnNldDogMDtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIFNlYXJjaFxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4vKiBab2VrZW4gZGV0YWlsICovXG5cbmZvcm0uc2VhcmNoIHtcbiAgZGl2LnNlYXJjaC1ib3gge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRndmEtY29sb3ItNTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAxcmVtO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSkge1xuICAgICAgcGFkZGluZzogMnJlbTtcbiAgICB9XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGlucHV0I3pvZWtvcGRyYWNodCB7XG4gICAgICBoZWlnaHQ6IDMuNzVyZW07XG4gICAgICBwYWRkaW5nOiAwIDFyZW07XG4gICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICBjb2xvcjogJGd2YS1jb2xvci0xO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIC8vYm94LXNoYWRvdzogaW5zZXQgMHB4IDBweCAwcHggMXB4ICNhZmFmYWYsIGluc2V0IDJweCAycHggNnB4IDRweCByZ2JhKDAsMCwwLDAuMDUpO1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgIG1hcmdpbjogMCAwIDAuNXJlbSAwO1xuICAgICAgJjpmb2N1czo6cGxhY2Vob2xkZXJ7XG4gICAgICAgIGNvbG9yOnRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogJGd2YS1jb2xvci0xO1xuICAgICAgfVxuICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIC8vYmFja2dyb3VuZC1jb2xvcjogI0U4RjBGRTtcbiAgICAgIH1cbiAgICB9XG4gICAgaW5wdXQuYnV0dG9uIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWluLWhlaWdodDogMy43NXJlbTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50ICg3MjApIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMDBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50ICg3MjApIHtcbiAgICBkaXYuc2VhcmNoLWJveCB7XG4gICAgICBoZWlnaHQ6IDcuODc1cmVtO1xuICAgICAgcGFkZGluZzogMi4wNjI1cmVtIDI1Ljc1cmVtIDIuMDYyNXJlbSAyLjA2MjVyZW07XG4gICAgICBpbnB1dCN6b2Vrb3BkcmFjaHQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAzLjc1cmVtO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41NTU1NTU1NTU1NTU1NTZlbTtcbiAgICAgIH1cbiAgICAgIGlucHV0LmJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAyMy4ycmVtO1xuICAgICAgICBtaW4taGVpZ2h0OiAzLjc1cmVtO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMnJlbTtcbiAgICAgICAgcmlnaHQ6IDJyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yMjIyMjIyMjIyMjIyMjJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyogSG9tZXBhZ2UgKi9cblxuZm9ybS5zZWFyY2gtLWJhbm5lciB7XG4gIG1hcmdpbi10b3A6IDJyZW07XG4gIGRpdi5zZWFyY2gtYm94IHtcbiAgICBtYXgtd2lkdGg6IDk2MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgIGlucHV0I3pvZWtvcGRyYWNodCB7XG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwcHggMHB4IDBweCAxcHggI0RERERERDtcbiAgICB9XG4gICAgaW5wdXQuYnV0dG9uIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50ICg3MjApIHtcbiAgICBkaXYuc2VhcmNoLWJveCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDAwcHg7XG4gICAgICBoZWlnaHQ6IDcuODc1cmVtO1xuICAgICAgcGFkZGluZzogMS40Mzc1cmVtO1xuICAgICAgaW5wdXQjem9la29wZHJhY2h0IHtcbiAgICAgICAgaGVpZ2h0OiA1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNDM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTUuNzVlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwMHB4O1xuICAgICAgICBmb250LXNpemU6IDEuNTU1NTU1NTU1NTU1NTU2ZW07XG4gICAgICB9XG4gICAgICBpbnB1dC5idXR0b24ge1xuICAgICAgICB3aWR0aDogMjMuMnJlbTtcbiAgICAgICAgbWluLWhlaWdodDogMy43NXJlbTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDIuMDYyNXJlbTtcbiAgICAgICAgcmlnaHQ6IDIuMDYyNXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAxLjIyMjIyMjIyMjIyMjIyMmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gU2tpcCBsaW5rc1xuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG51bC5za2lwLWxpbmtzIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgYSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IC05OTk5cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgcGFkZGluZzogMWVtO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgei1pbmRleDogMTE7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICY6Zm9jdXMge1xuICAgICYgKyAjY29udGFpbmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IGJsdWU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBUYWJsZVxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG50YWJsZSB7XG4gIGNvbG9yOiAkdGFibGUtY29sb3I7XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICB3aWR0aDogMTAwJTtcbiAgdGJvZHkge1xuICAgIHRyOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG4gIHRoZWFkICsgdGJvZHkge1xuICAgIHRyOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG4gIHRoLCB0ZCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgcGFkZGluZzogMTZweCAxNXB4IDE2cHggMTVweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICB9XG4gIHRoIHtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIHRoLmFjdGlvbiB7XG4gICAgbWluLXdpZHRoOiAyMDBweDtcbiAgfVxuICB0ZC5hY3Rpb24ge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGEuYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cblxuICB0aFtzY29wZT1cImNvbFwiXSwgdGhlYWQgdGgge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRndmEtY29sb3ItMTtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgfVxuXG4gIC50YWJsZXNvcnQtLWRlc2MsIC50YWJsZXNvcnQtLWFzYyB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBtYXJnaW4tbGVmdDogMC4yNWVtO1xuICB9XG59XG5cbi50YWJsZS1jb250YWluZXIge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJPbmRlcnN0YWFuZGUgdGFiZWwga3VudCB1IGhvcml6b250YWFsIHNjcm9sbGVuOlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuNWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdlZmNmO1xuICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgI0NDQ0NDQztcbiAgICBwYWRkaW5nOiAwLjVlbTtcbiAgICBib3JkZXItY29sb3I6ICNmZmMzMzU7XG4gICAgZm9udC1zaXplOiAwLjg3NWVtO1xuICB9XG59XG5cbnRhYmxlLnRhYmxlLS1zY3JvbGxhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICAvL0BpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSkge1xuICAvLyAgd2lkdGg6IDEwMCU7XG4gIC8vICBkaXNwbGF5OiB0YWJsZTtcbiAgLy8gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIC8vICBvdmVyZmxvdy14OiB2aXNpYmxlO1xuICAvL31cbn1cblxuLnRhYmxlLS16ZWJyYSB7XG4gIHRyIHtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFRUVFRUU7XG4gICAgfVxuICAgIHRoOmZpcnN0LWNoaWxkIHtcbiAgICAgIC8vd2lkdGg6IDMyJTtcbiAgICB9XG4gICAgdGhbc2NvcGU9XCJyb3dcIl0ge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuICB9XG4gIHRoW3Njb3BlPVwicm93XCJdIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4udGFibGUtLWJlZWxkYmFuayB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBvdmVyZmxvdy14OiB2aXNpYmxlO1xuICBjb2xvcjogJGd2YS1jb2xvci0xO1xuICBtYXJnaW46IDAuNWVtIDA7XG4gIHRib2R5IHtcbiAgICB0cjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG4gIH1cbiAgdGgge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHdpZHRoOiAxNDBweDtcbiAgfVxuICB0aCwgdGQge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLnRhYmxlLS1mdWxsIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbiN1cGRhdGVTaG9wcGluZ0NhcnQgdGFibGUge1xuICB0aCwgdGQge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cbiAgc2VsZWN0IHtcbiAgICBtaW4taGVpZ2h0OiAyLjc1cmVtO1xuICB9XG59XG4iLCIvLyBTZWN0aW9uc1xuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4uc2VjdGlvbiB7XG4gIHBhZGRpbmc6IDJlbSAwO1xuICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcbiAgICBwYWRkaW5nOiA2dmggMDtcbiAgfVxufVxuXG4uc2VjdGlvbi0tbGlnaHQtZ3JleSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRndmEtY29sb3ItNTtcbn1cblxuLnNlY3Rpb24tLWRhcmstYmx1ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRndmEtY29sb3ItMztcbiAgY29sb3I6ICNGRkZGRkY7XG4gICoge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG4gIC50aXRsZS1ibG9jayBhIHtcbiAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICB9XG4gIH1cbn1cblxuLnNlY3Rpb24tLWxpbmtzIHtcbiAgcGFkZGluZzogMWVtIDAgMmVtIDA7XG59XG4iLCIvLyBCdXR0b25cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRndmEtY29sb3ItMTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIG1hcmdpbi1yaWdodDogNHB4O1xuICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGJvcmRlci1yYWRpdXM6ICRidXR0b24tYm9yZGVyLXJhZGl1cztcbiAgcGFkZGluZzogMC44NWVtIDM3cHguODVlbSAxZW07XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL3RoZW1lcy9kZWZhdWx0L2Fzc2V0cy9pbWFnZXMvYnV0dG9uL3doaXRlLWNoZXZyb24tcmlnaHQuc3ZnJyk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDE2cHggY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB0cmFuc2l0aW9uOiBub25lO1xuICBmb250LXNpemU6IDFlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGd2YS1jb2xvci0yO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoJGd2YS1jb2xvci0yLCAuNSk7XG4gIH1cblxufVxuXG5wIHtcbiAgYS5idXR0b24ge1xuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi5idXR0b24tLXNtYWxsIHtcbiAgZm9udC1zaXplOiAwLjg4ODg4ODg4ODg4ODg4OWVtO1xufVxuXG4uYnV0dG9uLS1sYXJnZSB7XG4gIGZvbnQtc2l6ZTogMS4yMjIyMjIyMjIyMjIyMjJlbTtcbiAgcGFkZGluZzogMC44ZW0gMzdweCAwLjllbSAxZW07XG59XG5cbi5idXR0b24tLWxpZ2h0LWJsdWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3ZhLWNvbG9yLTI7XG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRndmEtY29sb3ItMztcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2JhKCRndmEtY29sb3ItMywgLjgpO1xuXG4gIH1cblxufVxuXG4jc2VhcmNoIGlucHV0LmJ1dHRvbiB7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNWVtO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy90aGVtZXMvZGVmYXVsdC9hc3NldHMvaW1hZ2VzL2J1dHRvbi93aGl0ZS1jaGV2cm9uLXJpZ2h0LnN2ZycpO1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuXG4uYnV0dG9uLS1saWdodC1ibHVlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGd2YS1jb2xvci0yO1xufVxuXG4uYnV0dG9uLS1zaG9wIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvdGhlbWVzL2RlZmF1bHQvYXNzZXRzL2ltYWdlcy9idXR0b24vaWNvbi1zaG9wcGluZy5zdmcnKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGd2YS1jb2xvci0yO1xuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3ZhLWNvbG9yLTM7XG4gIH1cbn1cblxuLmJ1dHRvbi0tc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvdGhlbWVzL2RlZmF1bHQvYXNzZXRzL2ltYWdlcy9idXR0b24vZGFyay1ibHVlLWNoZXZyb24tcmlnaHQuc3ZnJyk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRndmEtY29sb3ItNTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0UxRTFFMTtcbiAgY29sb3I6ICRndmEtY29sb3ItMTtcbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGd2YS1jb2xvci0xO1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL3RoZW1lcy9kZWZhdWx0L2Fzc2V0cy9pbWFnZXMvYnV0dG9uL3doaXRlLWNoZXZyb24tcmlnaHQuc3ZnJyk7XG4gIH1cbn1cblxuLmJ1dHRvbi0tcHJpY2Uge1xuICBwYWRkaW5nOiAwLjg1ZW0gMWVtO1xuICBjb2xvcjogJGd2YS1jb2xvci0xO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTFFMUUxO1xuICBjdXJzb3I6IGF1dG87XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkZ3ZhLWNvbG9yLTE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0UxRTFFMTtcbiAgfVxufVxuXG5wLmZpbHRlci1vcHRpb25zIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCAoc21hbGwgb25seSkge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLmJ1dHRvbi0tZmlsdGVyLW9wdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRndmEtY29sb3ItNTtcbiAgY29sb3I6ICRndmEtY29sb3ItMTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgcGFkZGluZzogMC44NWVtIDFlbTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICAmOmhvdmVyLCAmOmZvY3VzLCAmLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGd2YS1jb2xvci0xO1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICB9XG59XG5cbi5idXR0b24tLXNob3BwaW5nLWNhcnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBib3JkZXItY29sb3I6ICRndmEtY29sb3ItNTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBjb2xvcjogJGd2YS1jb2xvci0xO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctcmlnaHQ6IDY2cHg7XG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRndmEtY29sb3ItNTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy90aGVtZXMvZGVmYXVsdC9hc3NldHMvaW1hZ2VzL2J1dHRvbi9zaG9wcGluZy1jYXJ0LnN2ZycpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICB9XG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRndmEtY29sb3ItMTtcbiAgfVxufVxuXG4uYnV0dG9uLS1iYWNrIHtcbiAgcGFkZGluZy1yaWdodDogMWVtO1xuICBwYWRkaW5nLWxlZnQ6IDM3cHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL3RoZW1lcy9kZWZhdWx0L2Fzc2V0cy9pbWFnZXMvYnV0dG9uL2RhcmstYmx1ZS1jaGV2cm9uLWxlZnQuc3ZnJyk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgMTZweCBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICRndmEtY29sb3ItNTtcbiAgY29sb3I6ICRndmEtY29sb3ItMTtcbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGd2YS1jb2xvci0xO1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL3RoZW1lcy9kZWZhdWx0L2Fzc2V0cy9pbWFnZXMvYnV0dG9uL3doaXRlLWNoZXZyb24tbGVmdC5zdmcnKTtcbiAgfVxufVxuXG4uYnV0dG9uLS1zb2NpYWwtc2hhcmUge1xuICBoZWlnaHQ6IDQwcHg7XG4gIGxpbmUtaGVpZ2h0OiAzNnB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgY29sb3I6ICRndmEtY29sb3ItMTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgcGFkZGluZy1yaWdodDogMWVtO1xuICAmOmhvdmVyLCAmOmZvY3VzIHtcblxuICB9XG59XG5cbi5idXR0b24tLW15LWFjY291bnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDQ0OTQ5O1xuICBib3JkZXItcmFkaXVzOiAxMDAwcHg7XG4gIHotaW5kZXg6IDk5OTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxLjFlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwLjM1ZW0gMWVtIDAuMzVlbSAzN3B4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy90aGVtZXMvZGVmYXVsdC9hc3NldHMvaW1hZ2VzL2J1dHRvbi91c2VyLnN2ZycpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IDEzcHggY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDIwcHg7XG4gIG1hcmdpbi1sZWZ0OiA1OHB4O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSBkb3duKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwODA3ZjtcbiAgICBwYWRkaW5nOiAwLjM1ZW0gMjZweCAwLjM1ZW0gMzhweDtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5cbi5idXR0b24tLW15LWFjY291bnQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMzYyNjI7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMzAwbXM7XG59XG4iLCIvLyBJZnJhbWVcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuaWZyYW1lIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuIiwiLy8gRm9ybVxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG5mb3JtIHtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBkaXYucm93IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgICAvLyY6bGFzdC1jaGlsZCB7XG4gICAgLy8gIG1hcmdpbi1ib3R0b206IDA7XG4gICAgLy99XG4gICAgLmNvbHVtbnMubGFyZ2UtOSB7XG4gICAgICAucm93IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBsYWJlbC5mb3JtLXJlcXVpcmVkIHtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcgKic7XG4gICAgICBjb2xvcjogcmVkO1xuICAgIH1cbiAgfVxuXG4gIGRpdi5kZXNjcmlwdGlvbiB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgfVxuXG4gIGxlZ2VuZCwgZmllbGRzZXQsIGxhYmVsIHtcbiAgICBjb2xvcjogJGZvcm0tY29sb3I7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICB9XG5cbiAgbGVnZW5kIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gIH1cblxuICBmaWVsZHNldCB7XG4gICAgYm9yZGVyOiAycHggc29saWQgJGd2YS1jb2xvci01O1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgfVxuXG4gIGxhYmVsIHtcbiAgICBjb2xvcjogJGZvbnQtY29sb3I7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy10b3A6IDAuNWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xuICAgIGlucHV0IHtcbiAgICAgIG1hcmdpbi10b3A6IDAuNWVtICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgc3Bhbi5yYW5nZSB7XG4gICAgY29sb3I6ICRndmEtY29sb3ItMTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy10b3A6IDAuNWVtO1xuICB9XG5cbiAgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbiAgaW5wdXRbdHlwZT1cImRhdGVcIl0sXG4gIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXSxcbiAgaW5wdXRbdHlwZT1cIndlZWtcIl0sXG4gIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbiAgaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbiAgaW5wdXRbdHlwZT1cInRlbFwiXSxcbiAgaW5wdXRbdHlwZT1cInRpbWVcIl0sXG4gIGlucHV0W3R5cGU9XCJ1cmxcIl0sXG4gIGlucHV0W3R5cGU9XCJjb2xvclwiXSxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMi43NXJlbTtcbiAgICBwYWRkaW5nOiAwIDAuNWVtO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XG4gICAgICBtaW4taGVpZ2h0OiAzLjI1cmVtO1xuICAgICAgcGFkZGluZzogMCAwLjVlbTtcbiAgICB9XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwcHggMHB4IDBweCAycHggIzdEN0Q3RDtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMDtcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDBweCAwcHggMHB4IDJweCAjYmZlOGZmO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBzZWxlY3Q6bm90KFttdWx0aXBsZV0pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvdGhlbWVzL2RlZmF1bHQvYXNzZXRzL2ltYWdlcy9idXR0b24vZGFyay1ibHVlLWNoZXZyb24tZG93bi5zdmcnKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDE2cHggY2VudGVyO1xuICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gICAgbWluLXdpZHRoOiAxMDBweDtcbiAgICBsaW5lLWhlaWdodDogMi43NXJlbTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xuICAgICAgbGluZS1oZWlnaHQ6IDMuMjVyZW07XG4gICAgfVxuICB9XG5cbiAgdGV4dGFyZWEge1xuICAgIG1pbi1oZWlnaHQ6IDVlbTtcbiAgICBwYWRkaW5nOiAwLjc1ZW07XG4gICAgcmVzaXplOiB2ZXJ0aWNhbDtcbiAgfVxuXG4gIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNWVtO1xuICB9XG5cbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdICsgbGFiZWwsXG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwIDFlbSAwIDA7XG4gICAgcGFkZGluZzogMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG5cbiAgZGl2LmZvcm0tYWN0aW9ucyB7XG4gICAgbWFyZ2luOiAxZW0gMDtcbiAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMWVtO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0gKyBzcGFuLmNsZWFyRm9ybUZpZWxkcyB7XG4gICAgY29sb3I6ICRndmEtY29sb3ItMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICBpbnB1dFt0eXBlPVwidGV4dFwiXSwgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLCBpbnB1dFt0eXBlPVwiZGF0ZVwiXSwgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdLCBpbnB1dFt0eXBlPVwid2Vla1wiXSwgaW5wdXRbdHlwZT1cImVtYWlsXCJdLCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLCBpbnB1dFt0eXBlPVwidGVsXCJdLCBpbnB1dFt0eXBlPVwidGltZVwiXSwgaW5wdXRbdHlwZT1cInVybFwiXSwgaW5wdXRbdHlwZT1cImNvbG9yXCJdLCBzZWxlY3QsICB0ZXh0YXJlYSB7XG4gICAgJi5lcnJvciB7XG4gICAgICBvdXRsaW5lLXdpZHRoOiAwLjEyNXJlbTtcbiAgICAgIG91dGxpbmUtc3R5bGU6IGRhc2hlZDtcbiAgICAgIG91dGxpbmUtY29sb3I6ICNkYTNhMmY7XG4gICAgICBvdXRsaW5lLW9mZnNldDogMC4xMjVyZW07XG4gICAgfVxuICB9XG5cbiAgbGFiZWwuZXJyb3Ige1xuICAgIGNvbG9yOiAjOWUxNDBhO1xuICAgIHBhZGRpbmctdG9wOiAxZW07XG4gIH1cblxufVxuXG5cblxuZGl2LmZvcm0tcGFuZWwge1xuICBtYXgtd2lkdGg6IDY0MHB4O1xuICBwYWRkaW5nOiAyZW07XG4gIG1hcmdpbjogMmVtIDA7XG4gIGJveC1zaGFkb3c6ICRib3gtc2hhZG93LTM7XG4gIC5mb3JtLWFjdGlvbnMge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgLmNsZWFyRm9ybUZpZWxkcyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuXG5odG1sLmxvYWRlZCAjdXBkYXRlU2hvcHBpbmdDYXJ0IGlucHV0LmJ1dHRvbi5idXR0b24tLXNlY29uZGFyeSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTk5OTlweDtcbn1cbiIsIi8vIEFyY2hpdmUgc3RhdGlzdGljXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbmEuYXJjaGl2ZS1zdGF0aXN0aWMge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGd2YS1jb2xvci01O1xuICBwYWRkaW5nOiAxZW0gNGVtIDFlbSAxZW07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICRndmEtY29sb3ItMTtcblxuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIG1hcmdpbjogMCAwIHJlbS1jYWxjKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgc21hbGwpKSAwO1xuICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcbiAgICBtYXJnaW46IDAgMCByZW0tY2FsYyhtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIG1lZGl1bSkpIDA7XG4gIH1cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3ZhLWNvbG9yLTE7XG4gICAgc3Bhbi5jYXRlZ29yeSwgc3Bhbi5udW1iZXIge1xuICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgfVxuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBzcGFuLmNhdGVnb3J5LCBzcGFuLm51bWJlciB7XG4gICAgICBjb2xvcjogJGd2YS1jb2xvci0yO1xuICAgIH1cbiAgfVxuXG4gIHNwYW4uY2F0ZWdvcnkge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjI1ZW07XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcbiAgICAgIGZvbnQtc2l6ZTogMS41NTU1NTU1NTU1NTU1NTZlbTtcbiAgICB9XG4gIH1cbiAgc3Bhbi5udW1iZXIge1xuICAgIGZvbnQtc2l6ZTogM2VtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XG4gICAgICBmb250LXNpemU6IDMuMmVtO1xuICAgIH1cbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogJGd2YS1jb2xvci0yO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICB9XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDFlbTtcbiAgICB0b3A6IDFlbTtcbiAgICB3aWR0aDogMi42NjY2NjY2NjY2NjY2NjdlbTtcbiAgICBoZWlnaHQ6IDIuNjY2NjY2NjY2NjY2NjY3ZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLWJvcmRlci1yYWRpdXM7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvdGhlbWVzL2RlZmF1bHQvYXNzZXRzL2ltYWdlcy9pY29ucy9ibHVlLWNoZXZyb24tcmlnaHQuc3ZnJyk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAwLjllbSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBhdXRvO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgfVxufVxuXG4ucm93Lm1haW4tcmVzdWx0cyB7XG4gIGEuYXJjaGl2ZS1zdGF0aXN0aWMge1xuICAgIHNwYW4uY2F0ZWdvcnkge1xuICAgICAgbWluLWhlaWdodDogM2VtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICB9XG4gIH1cbiAgaHIge1xuICAgIG1hcmdpbjogMCAwIDEuNjI1cmVtIDA7XG4gIH1cbn1cblxuYS5hcmNoaXZlLXN0YXRpc3RpYy5leHRlcm5hbCB7XG4gICY6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy90aGVtZXMvZGVmYXVsdC9hc3NldHMvaW1hZ2VzL2ljb25zL2V4dGVybmFsLnN2ZycpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBib3JkZXI6IG5vbmU7XG4gIH1cbn1cblxuLnBhdGgtZnJvbnRwYWdlIHtcbiAgYS5hcmNoaXZlLXN0YXRpc3RpYyB7XG4gICAgc3Bhbi5jYXRlZ29yeSB7XG4gICAgICBtaW4taGVpZ2h0OiAzZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gU3R1ZHkgcm9vbVxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG5wLnN0dWR5LXJvb20ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBjb2xvcjogJGd2YS1jb2xvci0xO1xuICBwYWRkaW5nOiAwLjVlbSAwLjc1ZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1ib3JkZXItcmFkaXVzO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgc3Bhbi5zdGF0dXMge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHdpZHRoOiAwLjc1ZW07XG4gICAgaGVpZ2h0OiAwLjc1ZW07XG4gICAgYm9yZGVyLXJhZGl1czogMTAwMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IGdyZXk7XG4gICAgJi5vcGVuIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2RUYwMEM7XG4gICAgfVxuICAgICYuY2xvc2VkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFJlc2VydmUgZG9jdW1lbnRzXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbiNyZXNlcnZlLWRvY3VtZW50cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRndmEtY29sb3ItMTtcbiAgcGFkZGluZzogcmVtLWNhbGMobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBzbWFsbCkpO1xuICBtYXgtd2lkdGg6IDUzMnB4O1xuICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcbiAgICBwYWRkaW5nOiByZW0tY2FsYyhtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIG1lZGl1bSkpO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XG4gICAgcGFkZGluZzogNjBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuICBjb2xvcjogI0ZGRkZGRjtcbiAgKiB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbiAgZGl2LmRlc2NyaXB0aW9uIHtcbiAgICBoMiB7XG4gICAgICBmb250LXNpemU6IDEuNzVlbTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi4zMzMzMzMzMzMzMzMzMzNlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMTExMTExMTExMTExMTFlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcC5jYWxsLXRvLWFjdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBhLmJ1dHRvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGd2YS1jb2xvci0zO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gSW1hZ2UgbGlicmFyeVxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4jaW1hZ2UtbGlicmFyeSB7XG4gIGRpdi5pbWFnZSB7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogNzUlO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0VFRUVFRTtcbiAgICBpbWcge1xuICAgICAgQGluY2x1ZGUgc3RpY2stdG8tZWRnZXMoKTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgfVxuICB9XG59XG4iLCIvLyBOb3RpZmljYXRpb25cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuLm5vdGlmaWNhdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFRUVFRUU7XG4gIGJvcmRlci1sZWZ0OiA0cHggc29saWQgI0NDQ0NDQztcbiAgcGFkZGluZzogMC41ZW07XG4gIHBhZGRpbmctbGVmdDogMWVtO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZm9udC1zaXplOiAwLjg3NWVtO1xufVxuXG4ubm90aWZpY2F0aW9uLS1pbmZvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YwZWZlZjtcbiAgYm9yZGVyLWNvbG9yOiAkZ3ZhLWNvbG9yLTE7XG59XG5cbi5ub3RpZmljYXRpb24tLXN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzJmM2E4O1xuICBib3JkZXItY29sb3I6IGdyZWVuO1xufVxuXG5cbi5ub3RpZmljYXRpb24tLXdhcm5pbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdlZmNmO1xuICBib3JkZXItY29sb3I6ICNmZmMzMzU7XG59XG5cblxuLm5vdGlmaWNhdGlvbi0tZXJyb3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNjNGJiO1xuICBib3JkZXItY29sb3I6ICNmZjJlMWM7XG59XG5cbi5ub3RpZmljYXRpb24tLXNtYWxsIHtcbiAgZm9udC1zaXplOiAwLjc1ZW07XG59XG4iLCIvLyBMaXN0XG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbnVsIHtcbiAgbGkge1xuXG4gIH1cbn1cblxudWwuYnJlYWRjcnVtYiB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgZm9udC1zaXplOiAxLjIyMjIyMjIyMjIyMjIyMmVtO1xuICAvL0BpbmNsdWRlIGZvbnQtc2l6ZSgyMnB4KTtcbiAgbWFyZ2luOiAwIDAgMWVtIDA7XG5cbiAgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy90aGVtZXMvZGVmYXVsdC9hc3NldHMvaW1hZ2VzL2J1dHRvbi93aGl0ZS1jaGV2cm9uLXJpZ2h0LnN2ZycpO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIHdpZHRoOiA5cHg7XG4gICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW46IDAgMC4yNWVtIDAgMC41ZW07XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gICAgYSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgIHRleHQtc2hhZG93OiAxcHggMXB4IDNweCByZ2JhKDAsIDAsIDAsIDEpO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMXB4IDFweCAycHggcmdiYSgwLCAwLCAwLCAxKSk7XG4gICAgfVxuICB9XG59XG5cbnVsLmxpbmtzIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIj4gXCI7XG4gICAgICBjb2xvcjogJGxpbmstY29sb3I7XG4gICAgfVxuICAgIGEge1xuICAgICAgY29sb3I6ICRsaW5rLWNvbG9yO1xuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRndmEtY29sb3ItMTtcbiAgICAgIH1cblxuICAgIH1cbiAgfVxufVxuXG51bC5jb250YWN0LWluZm8ge1xuICAvL2NvbG9yOiAkZ3ZhLWNvbG9yLTI7IG1hZyBuaWV0XG59XG5cbmgzICsgdWwuY29udGFjdC1pbmZvIHtcbiAgLy9tYXJnaW4tdG9wOiAtMWVtO1xufVxuXG51bC5jb2xsZWN0aW9uLWNhdGVnb3JpZXMsIHVsLnN1Ym1lbnUge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGkge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZm9udC1zaXplOiAxLjExMTExMTExMTExMTExMWVtO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgYSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBjb2xvcjogJGd2YS1jb2xvci0xO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwLjVlbTtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDlweDtcbiAgICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy90aGVtZXMvZGVmYXVsdC9hc3NldHMvaW1hZ2VzL2ljb25zL2RhcmstYmx1ZS1jaGV2cm9uLXJpZ2h0LnN2ZycpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNWVtO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgfVxuICAgICAgJjpob3ZlciwgJjpmb2N1cywgJi5hY3RpdmUsICYuaXMtYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0RERERERDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICAvL3BhZGRpbmctbGVmdDogMC43NWVtO1xuICAgICAgfVxuICAgICAgJi5hY3RpdmUsICYuaXMtYWN0aXZlIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxudWwucGFnaW5hdGlvbiB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDAuODg4ODg4ODg4ODg4ODg5ZW07XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbiAgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGEsIHNwYW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwIDAuNmVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgaGVpZ2h0OiAyLjIyMjIyMjIyMjIyMjIyMmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDIuMjIyMjIyMjIyMjIyMjIyZW07XG5cbiAgICB9XG4gICAgYSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAjRUVFRUVFO1xuICAgICAgICAvL2JvcmRlci1jb2xvcjogI0RERERERDtcbiAgICAgIH1cbiAgICB9XG4gICAgYS5wcmV2LCBhLm5leHQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0VFRUVFRTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL3RoZW1lcy9kZWZhdWx0L2Fzc2V0cy9pbWFnZXMvaWNvbnMvYmx1ZS1jaGV2cm9uLXJpZ2h0LnN2ZycpO1xuICAgICAgd2lkdGg6IDIuMjIyMjIyMjIyMjIyMjIyZW07XG4gICAgICBoZWlnaHQ6IDIuMjIyMjIyMjIyMjIyMjIyZW07XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAzMCU7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0RERERERDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgICBhLnByZXYge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvdGhlbWVzL2RlZmF1bHQvYXNzZXRzL2ltYWdlcy9pY29ucy9ibHVlLWNoZXZyb24tbGVmdC5zdmcnKTtcbiAgICB9XG4gICAgYS5maXJzdCwgYS5sYXN0IHtcbiAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cbiAgICAgIHNwYW4ge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzcGFuLmFjdGl2ZSwgYS5hY3RpdmUsIGxpLmlzLWFjdGl2ZSBhLCBsaS5pcy1hY3RpdmUgc3BhbiB7XG4gICAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGxpbmstY29sb3I7XG4gICAgcGFkZGluZzogMCAwLjc1ZW07XG4gIH1cbn1cbiIsIi8vIFRpdGxlIGJsb2NrXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbi50aXRsZS1ibG9jayB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaDEsIGgyIHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDgwJTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xuICAgICAgbWF4LXdpZHRoOiA5MDBweDtcbiAgICAgIGZvbnQtc2l6ZTogMi4zMzMzMzMzMzMzMzMzMzNlbTtcbiAgICB9XG4gIH1cbiAgYS5yZWFkLW1vcmUge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XG4gICAgICBmb250LXNpemU6IDEuMTExMTExMTExMTExMTExZW07XG4gICAgfVxuICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgY29sb3I6ICRndmEtY29sb3ItMTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRndmEtY29sb3ItMjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChzbWFsbCBkb3duKSB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICB9XG5cbiAgfVxufVxuXG4udGl0bGUtYmxvY2stLWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgaDEsIGgyIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbn1cblxuLmxhcmdlLTEyIHtcbiAgLnRpdGxlLWJsb2NrIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyZW07XG4gIH1cbn1cblxuXG4ubGFyZ2UtOCB7XG4gIC50aXRsZS1ibG9jay5hbGlnbi13aXRoLXNpZGViYXIge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgICAgaDEsIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjU1NTU1NTU1NTU1NTU1NmVtO1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xuICAgICAgbWFyZ2luLXRvcDogMS41ZW07XG4gICAgfVxuICB9XG59XG5cbi5zZWN0aW9uLS1kYXJrLWJsdWUge1xuICAudGl0bGUtYmxvY2sge1xuICAgIGEucmVhZC1tb3JlIHtcbiAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gVGl0bGUgYmxvY2tcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuLnNlY3Rpb24tLWNvbGxlY3Rpb24taW50cm8ge1xuICAudGV4dCB7XG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IDEuMTExMTExMTExMTExMTExZW07XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG4gIC5pbnRyby10ZXh0LCAuaW50cm8tY3RhIHtcbiAgICBoMiB7XG4gICAgICBmb250LXNpemU6IDEuMzMzMzMzMzMzMzMzMzMzZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgICBhLmJ1dHRvbiB7XG4gICAgICBmb250LXNpemU6IDEuMjIyMjIyMjIyMjIyMjIyZW07XG4gICAgfVxuICB9XG59XG4iLCIvLyBTaWRlYmFyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbmRpdi5zaWRlYmFyIHtcblxufVxuXG5kaXYuc2lkZWJhci1ibG9jayB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XG4gICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgfVxuXG4gIEBtZWRpYVxuICAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjUpLFxuICAobWluLXJlc29sdXRpb246IDE0NGRwaSl7XG4gICAgbWF4LXdpZHRoOiAzNDBweDtcbiAgfVxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3ZhLWNvbG9yLTU7XG4gIC8vYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI0VFRUVFRSAwJSwgI0RERERERCAxMDAlKTtcbiAgcGFkZGluZzogMS41ZW07XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgaDMge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbiAgdWwge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZm9udC1zaXplOiAwLjg4ODg4ODg4ODg4ODg4OWVtO1xuICAgIGxpIHtcbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgICBhIHtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIE1vYmlsZSBtZW51XG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSBkb3duKSB7XG4gICNoZWFkZXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgLmNvbHVtbnMuc2hvdy1mb3ItbGFyZ2UubGFyZ2UtNi5sYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgICAjbWFpbi1tZW51IHtcbiAgICAgICAgcGFkZGluZzogKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtIChtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIG1lZGl1bSkpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0gKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbGkge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgY29sb3I6ICNkNGQ0ZmY7XG4gICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmFjdGl2ZSwgJi5pcy1hY3RpdmUge1xuICAgICAgICAgICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgICAgICAgICAgLy8mOmJlZm9yZSB7XG4gICAgICAgICAgICAgIC8vICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAvLyAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvdGhlbWVzL2RlZmF1bHQvYXNzZXRzL2ltYWdlcy9idXR0b24vd2hpdGUtY2hldnJvbi1yaWdodC5zdmcnKTtcbiAgICAgICAgICAgICAgLy8gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgIC8vICB3aWR0aDogOXB4O1xuICAgICAgICAgICAgICAvLyAgaGVpZ2h0OiAxNHB4O1xuICAgICAgICAgICAgICAvLyAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAvLyAgbWFyZ2luLXJpZ2h0OiAwLjVlbTtcbiAgICAgICAgICAgICAgLy99XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDMxO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiAtMTAwcHg7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHJpZ2h0OiAtMTAwcHg7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYm9keS5zaG93LW1lbnUge1xuICAgICNoZWFkZXIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBhLmxvZ28ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICB9XG4gICAgICAuY29sdW1ucy5zaG93LWZvci1sYXJnZS5sYXJnZS02LmxhcmdlLXRleHQtY2VudGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgICN0b2dnbGUtbWVudSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL3RoZW1lcy9kZWZhdWx0L2Fzc2V0cy9pbWFnZXMvaWNvbnMvY2xvc2Uuc3ZnJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBCZWVsZGJhbmsgcmVzdWx0XG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbmRpdi5iZWVsZGJhbmstcmVzdWx0IHtcbiAgcGFkZGluZzogMWVtIDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyOiBub25lO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSBkb3duKSB7XG4gICAgZGl2LmltYWdlLCBkaXYuZGV0YWlscyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgfVxuICB9XG4gIGRpdi5idXR0b25zIHtcbiAgICBhLmJ1dHRvbiB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0gZG93bikge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRml4ZWQgaGVhZGVyXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XG4gICNoZWFkZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBoZWlnaHQ6IDkwcHg7XG4gIH1cbiAgI2NvbnRhaW5lciB7XG4gICAgcGFkZGluZy10b3A6IDkwcHg7XG4gIH1cbn1cbiIsIi8vIENvb2tpZSBjb25zZW50XG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cblxuZGl2LmNjLXdpbmRvdyB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBwYWRkaW5nOiAxNXB4ICFpbXBvcnRhbnQ7XG4gIC8vJjphZnRlciB7XG4gIC8vICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBiN2ViO1xuICAvLyAgY29udGVudDogJyc7XG4gIC8vICBkaXNwbGF5OiBibG9jaztcbiAgLy8gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvLyAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvdGhlbWVzL2RlZmF1bHQvYXNzZXRzL2ltYWdlcy90ZW1wbGF0ZS9jb29raWUucG5nJyk7XG4gIC8vICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAvLyAgYmFja2dyb3VuZC1zaXplOiA3NSU7XG4gIC8vICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIC8vICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIC8vICBsZWZ0OiAwO1xuICAvLyAgdG9wOiAwO1xuICAvLyAgYm90dG9tOiAwO1xuICAvLyAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgLy8gIGhlaWdodDogMTAwJTtcbiAgLy8gIHdpZHRoOiAwO1xuICAvLyAgcGFkZGluZy1sZWZ0OiA1MCU7XG4gIC8vfVxufVxuXG4uY2MtZmxvYXRpbmcgLmNjLWNvbXBsaWFuY2U+LmNjLWJ0biB7XG4gIGJvcmRlci1yYWRpdXM6IDEwMDBweDtcbn1cbiIsIi8vIEV4dHJhIHNlYXJjaCByZXN1bHRzXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbi5leHRyYS1zZWFyY2gtcmVzdWx0cyB7XG4gIC5jYXRlZ29yeTpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuXG4gIH1cbn1cbi5leHRyYS1zZWFyY2gtcmVzdWx0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDJlbSA2NHB4IDJlbSAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiA2NHB4O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgcC50aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjU1NTU1NTU1NTU1NTU1NmVtO1xuICAgIGNvbG9yOiAkZ3ZhLWNvbG9yLTE7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgc3BhbiB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGNvbG9yOiAkZ3ZhLWNvbG9yLTI7XG4gICAgfVxuICB9XG4gIHAuc3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMC44ODg4ODg4ODg4ODg4ODllbTtcbiAgICBtYXJnaW46IDA7XG4gICAgY29sb3I6ICM2NzY3Njc7XG4gIH1cbiAgYS5zaG93LXJlc3VsdHMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAzMnB4O1xuICAgIGhlaWdodDogMzJweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEycHggMTJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3ZhLWNvbG9yLTI7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvdGhlbWVzL2RlZmF1bHQvYXNzZXRzL2ltYWdlcy90ZW1wbGF0ZS9pY29uLXBsdXMuc3ZnJyk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7XG4gICAgICB3aWR0aDogNjRweDtcbiAgICAgIGhlaWdodDogNjRweDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMjRweCAyNHB4O1xuICAgIH1cbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkZ3ZhLWNvbG9yLTIsIDUlKTtcbiAgICB9XG4gICAgJi5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvdGhlbWVzL2RlZmF1bHQvYXNzZXRzL2ltYWdlcy90ZW1wbGF0ZS9pY29uLW1pbnVzLnN2ZycpO1xuICAgIH1cbiAgICAmLmRpc2FibGVkIHtcbiAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG4gICYgKyAucmVzdWx0cyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ucmVzdWx0cyB7XG4gIC53ZWJzaXRlLXJlc3VsdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMmVtO1xuICAgIHAudGl0bGUge1xuICAgICAgbWFyZ2luOiAwIDAgMC41ZW0gMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cbiAgICBwLmRlc2NyaXB0aW9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44ODg4ODg4ODg4ODg4ODllbTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICB9XG59XG4iLCIudGlwcHktYm94W2RhdGEtYW5pbWF0aW9uPWZhZGVdW2RhdGEtc3RhdGU9aGlkZGVuXXtvcGFjaXR5OjB9W2RhdGEtdGlwcHktcm9vdF17bWF4LXdpZHRoOmNhbGMoMTAwdncgLSAxMHB4KX0udGlwcHktYm94e3Bvc2l0aW9uOnJlbGF0aXZlO2JhY2tncm91bmQtY29sb3I6IzMzMztjb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6NHB4O2ZvbnQtc2l6ZToxNHB4O2xpbmUtaGVpZ2h0OjEuNDt3aGl0ZS1zcGFjZTpub3JtYWw7b3V0bGluZTowO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtLHZpc2liaWxpdHksb3BhY2l0eX0udGlwcHktYm94W2RhdGEtcGxhY2VtZW50Xj10b3BdPi50aXBweS1hcnJvd3tib3R0b206MH0udGlwcHktYm94W2RhdGEtcGxhY2VtZW50Xj10b3BdPi50aXBweS1hcnJvdzpiZWZvcmV7Ym90dG9tOi03cHg7bGVmdDowO2JvcmRlci13aWR0aDo4cHggOHB4IDA7Ym9yZGVyLXRvcC1jb2xvcjppbml0aWFsO3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyIHRvcH0udGlwcHktYm94W2RhdGEtcGxhY2VtZW50Xj1ib3R0b21dPi50aXBweS1hcnJvd3t0b3A6MH0udGlwcHktYm94W2RhdGEtcGxhY2VtZW50Xj1ib3R0b21dPi50aXBweS1hcnJvdzpiZWZvcmV7dG9wOi03cHg7bGVmdDowO2JvcmRlci13aWR0aDowIDhweCA4cHg7Ym9yZGVyLWJvdHRvbS1jb2xvcjppbml0aWFsO3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyIGJvdHRvbX0udGlwcHktYm94W2RhdGEtcGxhY2VtZW50Xj1sZWZ0XT4udGlwcHktYXJyb3d7cmlnaHQ6MH0udGlwcHktYm94W2RhdGEtcGxhY2VtZW50Xj1sZWZ0XT4udGlwcHktYXJyb3c6YmVmb3Jle2JvcmRlci13aWR0aDo4cHggMCA4cHggOHB4O2JvcmRlci1sZWZ0LWNvbG9yOmluaXRpYWw7cmlnaHQ6LTdweDt0cmFuc2Zvcm0tb3JpZ2luOmNlbnRlciBsZWZ0fS50aXBweS1ib3hbZGF0YS1wbGFjZW1lbnRePXJpZ2h0XT4udGlwcHktYXJyb3d7bGVmdDowfS50aXBweS1ib3hbZGF0YS1wbGFjZW1lbnRePXJpZ2h0XT4udGlwcHktYXJyb3c6YmVmb3Jle2xlZnQ6LTdweDtib3JkZXItd2lkdGg6OHB4IDhweCA4cHggMDtib3JkZXItcmlnaHQtY29sb3I6aW5pdGlhbDt0cmFuc2Zvcm0tb3JpZ2luOmNlbnRlciByaWdodH0udGlwcHktYm94W2RhdGEtaW5lcnRpYV1bZGF0YS1zdGF0ZT12aXNpYmxlXXt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjU0LDEuNSwuMzgsMS4xMSl9LnRpcHB5LWFycm93e3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHg7Y29sb3I6IzMzM30udGlwcHktYXJyb3c6YmVmb3Jle2NvbnRlbnQ6XCJcIjtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLXN0eWxlOnNvbGlkfS50aXBweS1jb250ZW50e3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmc6NXB4IDlweDt6LWluZGV4OjF9IiwiQGltcG9ydCAnbm9kZV9tb2R1bGVzL3RpcHB5LmpzL2Rpc3QvdGlwcHknO1xuXG4udGlwcHktYm94W2RhdGEtdGhlbWV+PW1hdGVyaWFsXSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLnRpcHB5LWJveFtkYXRhLXRoZW1lfj1tYXRlcmlhbF1bZGF0YS1wbGFjZW1lbnRePXRvcF0gPiAudGlwcHktYXJyb3c6YmVmb3JlIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzAwMDsgfVxuXG4udGlwcHktYm94W2RhdGEtdGhlbWV+PW1hdGVyaWFsXVtkYXRhLXBsYWNlbWVudF49Ym90dG9tXSA+IC50aXBweS1hcnJvdzpiZWZvcmUge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjMDAwOyB9XG5cbi50aXBweS1ib3hbZGF0YS10aGVtZX49bWF0ZXJpYWxdW2RhdGEtcGxhY2VtZW50Xj1sZWZ0XSA+IC50aXBweS1hcnJvdzpiZWZvcmUge1xuICBib3JkZXItbGVmdC1jb2xvcjogIzAwMDsgfVxuXG4udGlwcHktYm94W2RhdGEtdGhlbWV+PW1hdGVyaWFsXVtkYXRhLXBsYWNlbWVudF49cmlnaHRdID4gLnRpcHB5LWFycm93OmJlZm9yZSB7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogIzAwMDsgfVxuXG4udGlwcHktYm94W2RhdGEtdGhlbWV+PW1hdGVyaWFsXSA+IC50aXBweS1iYWNrZHJvcCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7IH1cblxuLnRpcHB5LWJveFtkYXRhLXRoZW1lfj1tYXRlcmlhbF0gPiAudGlwcHktc3ZnLWFycm93IHtcbiAgZmlsbDogIzAwMDsgfVxuIl19 */
