
/**
 * Foundation for Sites
 * Version 6.6.3
 * https://get.foundation
 * Licensed under MIT Open Source
 */
/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
html {
  -webkit-text-size-adjust: 100%;
  line-height: 1.15; }

body {
  margin: 0; }

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

hr {
  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 {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

img {
  border-style: none; }

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

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 {
  padding: 0;
  border-style: none; }

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 {
  box-sizing: border-box;
  display: table;
  max-width: 100%;
  padding: 0;
  color: inherit;
  white-space: normal; }

progress {
  vertical-align: baseline; }

textarea {
  overflow: auto; }

[type="checkbox"],
[type="radio"] {
  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&tablet=48.875em&large=64em&xlarge=80em&xxlarge=103.125em&wide=120em"; }

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

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

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin: 0;
  padding: 0;
  background: #f1f1f1;
  color: #484848;
  font-family: "bio-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  font-weight: normal;
  line-height: 1.5; }

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

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

select {
  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 {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  line-height: 1;
  cursor: pointer; }
  [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; }

.grid-container {
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 1.5rem;
  padding-left: 1.5rem; }
  .grid-container.fluid {
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
    padding-right: 1.5rem;
    padding-left: 1.5rem; }
  .grid-container.full {
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
    padding-right: 0;
    padding-left: 0; }

.grid-x {
  display: flex;
  flex-flow: row wrap; }

.cell {
  flex: 0 0 auto;
  width: 100%;
  min-width: 0px;
  min-height: 0px; }
  .cell.auto {
    flex: 1 1 0px; }
  .cell.shrink {
    flex: 0 0 auto; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.grid-margin-x {
  margin-right: -1.5rem;
  margin-left: -1.5rem; }
  .grid-margin-x > .cell {
    width: calc(100% - 3rem);
    margin-right: 1.5rem;
    margin-left: 1.5rem; }
  .grid-margin-x > .auto {
    width: auto; }
  .grid-margin-x > .shrink {
    width: auto; }
  .grid-margin-x > .small-1 {
    width: calc(8.33333% - 3rem); }
  .grid-margin-x > .small-2 {
    width: calc(16.66667% - 3rem); }
  .grid-margin-x > .small-3 {
    width: calc(25% - 3rem); }
  .grid-margin-x > .small-4 {
    width: calc(33.33333% - 3rem); }
  .grid-margin-x > .small-5 {
    width: calc(41.66667% - 3rem); }
  .grid-margin-x > .small-6 {
    width: calc(50% - 3rem); }
  .grid-margin-x > .small-7 {
    width: calc(58.33333% - 3rem); }
  .grid-margin-x > .small-8 {
    width: calc(66.66667% - 3rem); }
  .grid-margin-x > .small-9 {
    width: calc(75% - 3rem); }
  .grid-margin-x > .small-10 {
    width: calc(83.33333% - 3rem); }
  .grid-margin-x > .small-11 {
    width: calc(91.66667% - 3rem); }
  .grid-margin-x > .small-12 {
    width: calc(100% - 3rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x > .medium-auto {
      width: auto; }
    .grid-margin-x > .medium-shrink {
      width: auto; }
    .grid-margin-x > .medium-1 {
      width: calc(8.33333% - 3rem); }
    .grid-margin-x > .medium-2 {
      width: calc(16.66667% - 3rem); }
    .grid-margin-x > .medium-3 {
      width: calc(25% - 3rem); }
    .grid-margin-x > .medium-4 {
      width: calc(33.33333% - 3rem); }
    .grid-margin-x > .medium-5 {
      width: calc(41.66667% - 3rem); }
    .grid-margin-x > .medium-6 {
      width: calc(50% - 3rem); }
    .grid-margin-x > .medium-7 {
      width: calc(58.33333% - 3rem); }
    .grid-margin-x > .medium-8 {
      width: calc(66.66667% - 3rem); }
    .grid-margin-x > .medium-9 {
      width: calc(75% - 3rem); }
    .grid-margin-x > .medium-10 {
      width: calc(83.33333% - 3rem); }
    .grid-margin-x > .medium-11 {
      width: calc(91.66667% - 3rem); }
    .grid-margin-x > .medium-12 {
      width: calc(100% - 3rem); } }
  @media print, screen and (min-width: 48.875em) {
    .grid-margin-x > .tablet-auto {
      width: auto; }
    .grid-margin-x > .tablet-shrink {
      width: auto; }
    .grid-margin-x > .tablet-1 {
      width: calc(8.33333% - 3rem); }
    .grid-margin-x > .tablet-2 {
      width: calc(16.66667% - 3rem); }
    .grid-margin-x > .tablet-3 {
      width: calc(25% - 3rem); }
    .grid-margin-x > .tablet-4 {
      width: calc(33.33333% - 3rem); }
    .grid-margin-x > .tablet-5 {
      width: calc(41.66667% - 3rem); }
    .grid-margin-x > .tablet-6 {
      width: calc(50% - 3rem); }
    .grid-margin-x > .tablet-7 {
      width: calc(58.33333% - 3rem); }
    .grid-margin-x > .tablet-8 {
      width: calc(66.66667% - 3rem); }
    .grid-margin-x > .tablet-9 {
      width: calc(75% - 3rem); }
    .grid-margin-x > .tablet-10 {
      width: calc(83.33333% - 3rem); }
    .grid-margin-x > .tablet-11 {
      width: calc(91.66667% - 3rem); }
    .grid-margin-x > .tablet-12 {
      width: calc(100% - 3rem); } }
  @media print, screen and (min-width: 64em) {
    .grid-margin-x > .large-auto {
      width: auto; }
    .grid-margin-x > .large-shrink {
      width: auto; }
    .grid-margin-x > .large-1 {
      width: calc(8.33333% - 3rem); }
    .grid-margin-x > .large-2 {
      width: calc(16.66667% - 3rem); }
    .grid-margin-x > .large-3 {
      width: calc(25% - 3rem); }
    .grid-margin-x > .large-4 {
      width: calc(33.33333% - 3rem); }
    .grid-margin-x > .large-5 {
      width: calc(41.66667% - 3rem); }
    .grid-margin-x > .large-6 {
      width: calc(50% - 3rem); }
    .grid-margin-x > .large-7 {
      width: calc(58.33333% - 3rem); }
    .grid-margin-x > .large-8 {
      width: calc(66.66667% - 3rem); }
    .grid-margin-x > .large-9 {
      width: calc(75% - 3rem); }
    .grid-margin-x > .large-10 {
      width: calc(83.33333% - 3rem); }
    .grid-margin-x > .large-11 {
      width: calc(91.66667% - 3rem); }
    .grid-margin-x > .large-12 {
      width: calc(100% - 3rem); } }
  @media screen and (min-width: 80em) {
    .grid-margin-x > .xlarge-auto {
      width: auto; }
    .grid-margin-x > .xlarge-shrink {
      width: auto; }
    .grid-margin-x > .xlarge-1 {
      width: calc(8.33333% - 3rem); }
    .grid-margin-x > .xlarge-2 {
      width: calc(16.66667% - 3rem); }
    .grid-margin-x > .xlarge-3 {
      width: calc(25% - 3rem); }
    .grid-margin-x > .xlarge-4 {
      width: calc(33.33333% - 3rem); }
    .grid-margin-x > .xlarge-5 {
      width: calc(41.66667% - 3rem); }
    .grid-margin-x > .xlarge-6 {
      width: calc(50% - 3rem); }
    .grid-margin-x > .xlarge-7 {
      width: calc(58.33333% - 3rem); }
    .grid-margin-x > .xlarge-8 {
      width: calc(66.66667% - 3rem); }
    .grid-margin-x > .xlarge-9 {
      width: calc(75% - 3rem); }
    .grid-margin-x > .xlarge-10 {
      width: calc(83.33333% - 3rem); }
    .grid-margin-x > .xlarge-11 {
      width: calc(91.66667% - 3rem); }
    .grid-margin-x > .xlarge-12 {
      width: calc(100% - 3rem); } }
  @media screen and (min-width: 103.125em) {
    .grid-margin-x > .xxlarge-auto {
      width: auto; }
    .grid-margin-x > .xxlarge-shrink {
      width: auto; }
    .grid-margin-x > .xxlarge-1 {
      width: calc(8.33333% - 3rem); }
    .grid-margin-x > .xxlarge-2 {
      width: calc(16.66667% - 3rem); }
    .grid-margin-x > .xxlarge-3 {
      width: calc(25% - 3rem); }
    .grid-margin-x > .xxlarge-4 {
      width: calc(33.33333% - 3rem); }
    .grid-margin-x > .xxlarge-5 {
      width: calc(41.66667% - 3rem); }
    .grid-margin-x > .xxlarge-6 {
      width: calc(50% - 3rem); }
    .grid-margin-x > .xxlarge-7 {
      width: calc(58.33333% - 3rem); }
    .grid-margin-x > .xxlarge-8 {
      width: calc(66.66667% - 3rem); }
    .grid-margin-x > .xxlarge-9 {
      width: calc(75% - 3rem); }
    .grid-margin-x > .xxlarge-10 {
      width: calc(83.33333% - 3rem); }
    .grid-margin-x > .xxlarge-11 {
      width: calc(91.66667% - 3rem); }
    .grid-margin-x > .xxlarge-12 {
      width: calc(100% - 3rem); } }
  @media screen and (min-width: 120em) {
    .grid-margin-x > .wide-auto {
      width: auto; }
    .grid-margin-x > .wide-shrink {
      width: auto; }
    .grid-margin-x > .wide-1 {
      width: calc(8.33333% - 3rem); }
    .grid-margin-x > .wide-2 {
      width: calc(16.66667% - 3rem); }
    .grid-margin-x > .wide-3 {
      width: calc(25% - 3rem); }
    .grid-margin-x > .wide-4 {
      width: calc(33.33333% - 3rem); }
    .grid-margin-x > .wide-5 {
      width: calc(41.66667% - 3rem); }
    .grid-margin-x > .wide-6 {
      width: calc(50% - 3rem); }
    .grid-margin-x > .wide-7 {
      width: calc(58.33333% - 3rem); }
    .grid-margin-x > .wide-8 {
      width: calc(66.66667% - 3rem); }
    .grid-margin-x > .wide-9 {
      width: calc(75% - 3rem); }
    .grid-margin-x > .wide-10 {
      width: calc(83.33333% - 3rem); }
    .grid-margin-x > .wide-11 {
      width: calc(91.66667% - 3rem); }
    .grid-margin-x > .wide-12 {
      width: calc(100% - 3rem); } }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.small-margin-collapse {
  margin-right: 0;
  margin-left: 0; }
  .small-margin-collapse > .cell {
    margin-right: 0;
    margin-left: 0; }
  .small-margin-collapse > .small-1 {
    width: 8.33333%; }
  .small-margin-collapse > .small-2 {
    width: 16.66667%; }
  .small-margin-collapse > .small-3 {
    width: 25%; }
  .small-margin-collapse > .small-4 {
    width: 33.33333%; }
  .small-margin-collapse > .small-5 {
    width: 41.66667%; }
  .small-margin-collapse > .small-6 {
    width: 50%; }
  .small-margin-collapse > .small-7 {
    width: 58.33333%; }
  .small-margin-collapse > .small-8 {
    width: 66.66667%; }
  .small-margin-collapse > .small-9 {
    width: 75%; }
  .small-margin-collapse > .small-10 {
    width: 83.33333%; }
  .small-margin-collapse > .small-11 {
    width: 91.66667%; }
  .small-margin-collapse > .small-12 {
    width: 100%; }
  @media print, screen and (min-width: 40em) {
    .small-margin-collapse > .medium-1 {
      width: 8.33333%; }
    .small-margin-collapse > .medium-2 {
      width: 16.66667%; }
    .small-margin-collapse > .medium-3 {
      width: 25%; }
    .small-margin-collapse > .medium-4 {
      width: 33.33333%; }
    .small-margin-collapse > .medium-5 {
      width: 41.66667%; }
    .small-margin-collapse > .medium-6 {
      width: 50%; }
    .small-margin-collapse > .medium-7 {
      width: 58.33333%; }
    .small-margin-collapse > .medium-8 {
      width: 66.66667%; }
    .small-margin-collapse > .medium-9 {
      width: 75%; }
    .small-margin-collapse > .medium-10 {
      width: 83.33333%; }
    .small-margin-collapse > .medium-11 {
      width: 91.66667%; }
    .small-margin-collapse > .medium-12 {
      width: 100%; } }
  @media print, screen and (min-width: 48.875em) {
    .small-margin-collapse > .tablet-1 {
      width: 8.33333%; }
    .small-margin-collapse > .tablet-2 {
      width: 16.66667%; }
    .small-margin-collapse > .tablet-3 {
      width: 25%; }
    .small-margin-collapse > .tablet-4 {
      width: 33.33333%; }
    .small-margin-collapse > .tablet-5 {
      width: 41.66667%; }
    .small-margin-collapse > .tablet-6 {
      width: 50%; }
    .small-margin-collapse > .tablet-7 {
      width: 58.33333%; }
    .small-margin-collapse > .tablet-8 {
      width: 66.66667%; }
    .small-margin-collapse > .tablet-9 {
      width: 75%; }
    .small-margin-collapse > .tablet-10 {
      width: 83.33333%; }
    .small-margin-collapse > .tablet-11 {
      width: 91.66667%; }
    .small-margin-collapse > .tablet-12 {
      width: 100%; } }
  @media print, screen and (min-width: 64em) {
    .small-margin-collapse > .large-1 {
      width: 8.33333%; }
    .small-margin-collapse > .large-2 {
      width: 16.66667%; }
    .small-margin-collapse > .large-3 {
      width: 25%; }
    .small-margin-collapse > .large-4 {
      width: 33.33333%; }
    .small-margin-collapse > .large-5 {
      width: 41.66667%; }
    .small-margin-collapse > .large-6 {
      width: 50%; }
    .small-margin-collapse > .large-7 {
      width: 58.33333%; }
    .small-margin-collapse > .large-8 {
      width: 66.66667%; }
    .small-margin-collapse > .large-9 {
      width: 75%; }
    .small-margin-collapse > .large-10 {
      width: 83.33333%; }
    .small-margin-collapse > .large-11 {
      width: 91.66667%; }
    .small-margin-collapse > .large-12 {
      width: 100%; } }
  @media screen and (min-width: 80em) {
    .small-margin-collapse > .xlarge-1 {
      width: 8.33333%; }
    .small-margin-collapse > .xlarge-2 {
      width: 16.66667%; }
    .small-margin-collapse > .xlarge-3 {
      width: 25%; }
    .small-margin-collapse > .xlarge-4 {
      width: 33.33333%; }
    .small-margin-collapse > .xlarge-5 {
      width: 41.66667%; }
    .small-margin-collapse > .xlarge-6 {
      width: 50%; }
    .small-margin-collapse > .xlarge-7 {
      width: 58.33333%; }
    .small-margin-collapse > .xlarge-8 {
      width: 66.66667%; }
    .small-margin-collapse > .xlarge-9 {
      width: 75%; }
    .small-margin-collapse > .xlarge-10 {
      width: 83.33333%; }
    .small-margin-collapse > .xlarge-11 {
      width: 91.66667%; }
    .small-margin-collapse > .xlarge-12 {
      width: 100%; } }
  @media screen and (min-width: 103.125em) {
    .small-margin-collapse > .xxlarge-1 {
      width: 8.33333%; }
    .small-margin-collapse > .xxlarge-2 {
      width: 16.66667%; }
    .small-margin-collapse > .xxlarge-3 {
      width: 25%; }
    .small-margin-collapse > .xxlarge-4 {
      width: 33.33333%; }
    .small-margin-collapse > .xxlarge-5 {
      width: 41.66667%; }
    .small-margin-collapse > .xxlarge-6 {
      width: 50%; }
    .small-margin-collapse > .xxlarge-7 {
      width: 58.33333%; }
    .small-margin-collapse > .xxlarge-8 {
      width: 66.66667%; }
    .small-margin-collapse > .xxlarge-9 {
      width: 75%; }
    .small-margin-collapse > .xxlarge-10 {
      width: 83.33333%; }
    .small-margin-collapse > .xxlarge-11 {
      width: 91.66667%; }
    .small-margin-collapse > .xxlarge-12 {
      width: 100%; } }
  @media screen and (min-width: 120em) {
    .small-margin-collapse > .wide-1 {
      width: 8.33333%; }
    .small-margin-collapse > .wide-2 {
      width: 16.66667%; }
    .small-margin-collapse > .wide-3 {
      width: 25%; }
    .small-margin-collapse > .wide-4 {
      width: 33.33333%; }
    .small-margin-collapse > .wide-5 {
      width: 41.66667%; }
    .small-margin-collapse > .wide-6 {
      width: 50%; }
    .small-margin-collapse > .wide-7 {
      width: 58.33333%; }
    .small-margin-collapse > .wide-8 {
      width: 66.66667%; }
    .small-margin-collapse > .wide-9 {
      width: 75%; }
    .small-margin-collapse > .wide-10 {
      width: 83.33333%; }
    .small-margin-collapse > .wide-11 {
      width: 91.66667%; }
    .small-margin-collapse > .wide-12 {
      width: 100%; } }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.grid-y {
  display: flex;
  flex-flow: column nowrap; }
  .grid-y > .cell {
    height: auto;
    max-height: none; }
  .grid-y > .auto {
    height: auto; }
  .grid-y > .shrink {
    height: auto; }
  .grid-y > .small-shrink, .grid-y > .small-full, .grid-y > .small-1, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12 {
    flex-basis: auto; }
  @media print, screen and (min-width: 40em) {
    .grid-y > .medium-shrink, .grid-y > .medium-full, .grid-y > .medium-1, .grid-y > .medium-2, .grid-y > .medium-3, .grid-y > .medium-4, .grid-y > .medium-5, .grid-y > .medium-6, .grid-y > .medium-7, .grid-y > .medium-8, .grid-y > .medium-9, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12 {
      flex-basis: auto; } }
  @media print, screen and (min-width: 48.875em) {
    .grid-y > .tablet-shrink, .grid-y > .tablet-full, .grid-y > .tablet-1, .grid-y > .tablet-2, .grid-y > .tablet-3, .grid-y > .tablet-4, .grid-y > .tablet-5, .grid-y > .tablet-6, .grid-y > .tablet-7, .grid-y > .tablet-8, .grid-y > .tablet-9, .grid-y > .tablet-10, .grid-y > .tablet-11, .grid-y > .tablet-12 {
      flex-basis: auto; } }
  @media print, screen and (min-width: 64em) {
    .grid-y > .large-shrink, .grid-y > .large-full, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 {
      flex-basis: auto; } }
  @media screen and (min-width: 80em) {
    .grid-y > .xlarge-shrink, .grid-y > .xlarge-full, .grid-y > .xlarge-1, .grid-y > .xlarge-2, .grid-y > .xlarge-3, .grid-y > .xlarge-4, .grid-y > .xlarge-5, .grid-y > .xlarge-6, .grid-y > .xlarge-7, .grid-y > .xlarge-8, .grid-y > .xlarge-9, .grid-y > .xlarge-10, .grid-y > .xlarge-11, .grid-y > .xlarge-12 {
      flex-basis: auto; } }
  @media screen and (min-width: 103.125em) {
    .grid-y > .xxlarge-shrink, .grid-y > .xxlarge-full, .grid-y > .xxlarge-1, .grid-y > .xxlarge-2, .grid-y > .xxlarge-3, .grid-y > .xxlarge-4, .grid-y > .xxlarge-5, .grid-y > .xxlarge-6, .grid-y > .xxlarge-7, .grid-y > .xxlarge-8, .grid-y > .xxlarge-9, .grid-y > .xxlarge-10, .grid-y > .xxlarge-11, .grid-y > .xxlarge-12 {
      flex-basis: auto; } }
  @media screen and (min-width: 120em) {
    .grid-y > .wide-shrink, .grid-y > .wide-full, .grid-y > .wide-1, .grid-y > .wide-2, .grid-y > .wide-3, .grid-y > .wide-4, .grid-y > .wide-5, .grid-y > .wide-6, .grid-y > .wide-7, .grid-y > .wide-8, .grid-y > .wide-9, .grid-y > .wide-10, .grid-y > .wide-11, .grid-y > .wide-12 {
      flex-basis: auto; } }
  .grid-y > .small-1, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12 {
    flex: 0 0 auto; }
  .grid-y > .small-1 {
    height: 8.33333%; }
  .grid-y > .small-2 {
    height: 16.66667%; }
  .grid-y > .small-3 {
    height: 25%; }
  .grid-y > .small-4 {
    height: 33.33333%; }
  .grid-y > .small-5 {
    height: 41.66667%; }
  .grid-y > .small-6 {
    height: 50%; }
  .grid-y > .small-7 {
    height: 58.33333%; }
  .grid-y > .small-8 {
    height: 66.66667%; }
  .grid-y > .small-9 {
    height: 75%; }
  .grid-y > .small-10 {
    height: 83.33333%; }
  .grid-y > .small-11 {
    height: 91.66667%; }
  .grid-y > .small-12 {
    height: 100%; }
  @media print, screen and (min-width: 40em) {
    .grid-y > .medium-auto {
      flex: 1 1 0px;
      height: auto; }
    .grid-y > .medium-shrink, .grid-y > .medium-1, .grid-y > .medium-2, .grid-y > .medium-3, .grid-y > .medium-4, .grid-y > .medium-5, .grid-y > .medium-6, .grid-y > .medium-7, .grid-y > .medium-8, .grid-y > .medium-9, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12 {
      flex: 0 0 auto; }
    .grid-y > .medium-shrink {
      height: auto; }
    .grid-y > .medium-1 {
      height: 8.33333%; }
    .grid-y > .medium-2 {
      height: 16.66667%; }
    .grid-y > .medium-3 {
      height: 25%; }
    .grid-y > .medium-4 {
      height: 33.33333%; }
    .grid-y > .medium-5 {
      height: 41.66667%; }
    .grid-y > .medium-6 {
      height: 50%; }
    .grid-y > .medium-7 {
      height: 58.33333%; }
    .grid-y > .medium-8 {
      height: 66.66667%; }
    .grid-y > .medium-9 {
      height: 75%; }
    .grid-y > .medium-10 {
      height: 83.33333%; }
    .grid-y > .medium-11 {
      height: 91.66667%; }
    .grid-y > .medium-12 {
      height: 100%; } }
  @media print, screen and (min-width: 48.875em) {
    .grid-y > .tablet-auto {
      flex: 1 1 0px;
      height: auto; }
    .grid-y > .tablet-shrink, .grid-y > .tablet-1, .grid-y > .tablet-2, .grid-y > .tablet-3, .grid-y > .tablet-4, .grid-y > .tablet-5, .grid-y > .tablet-6, .grid-y > .tablet-7, .grid-y > .tablet-8, .grid-y > .tablet-9, .grid-y > .tablet-10, .grid-y > .tablet-11, .grid-y > .tablet-12 {
      flex: 0 0 auto; }
    .grid-y > .tablet-shrink {
      height: auto; }
    .grid-y > .tablet-1 {
      height: 8.33333%; }
    .grid-y > .tablet-2 {
      height: 16.66667%; }
    .grid-y > .tablet-3 {
      height: 25%; }
    .grid-y > .tablet-4 {
      height: 33.33333%; }
    .grid-y > .tablet-5 {
      height: 41.66667%; }
    .grid-y > .tablet-6 {
      height: 50%; }
    .grid-y > .tablet-7 {
      height: 58.33333%; }
    .grid-y > .tablet-8 {
      height: 66.66667%; }
    .grid-y > .tablet-9 {
      height: 75%; }
    .grid-y > .tablet-10 {
      height: 83.33333%; }
    .grid-y > .tablet-11 {
      height: 91.66667%; }
    .grid-y > .tablet-12 {
      height: 100%; } }
  @media print, screen and (min-width: 64em) {
    .grid-y > .large-auto {
      flex: 1 1 0px;
      height: auto; }
    .grid-y > .large-shrink, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 {
      flex: 0 0 auto; }
    .grid-y > .large-shrink {
      height: auto; }
    .grid-y > .large-1 {
      height: 8.33333%; }
    .grid-y > .large-2 {
      height: 16.66667%; }
    .grid-y > .large-3 {
      height: 25%; }
    .grid-y > .large-4 {
      height: 33.33333%; }
    .grid-y > .large-5 {
      height: 41.66667%; }
    .grid-y > .large-6 {
      height: 50%; }
    .grid-y > .large-7 {
      height: 58.33333%; }
    .grid-y > .large-8 {
      height: 66.66667%; }
    .grid-y > .large-9 {
      height: 75%; }
    .grid-y > .large-10 {
      height: 83.33333%; }
    .grid-y > .large-11 {
      height: 91.66667%; }
    .grid-y > .large-12 {
      height: 100%; } }
  @media screen and (min-width: 80em) {
    .grid-y > .xlarge-auto {
      flex: 1 1 0px;
      height: auto; }
    .grid-y > .xlarge-shrink, .grid-y > .xlarge-1, .grid-y > .xlarge-2, .grid-y > .xlarge-3, .grid-y > .xlarge-4, .grid-y > .xlarge-5, .grid-y > .xlarge-6, .grid-y > .xlarge-7, .grid-y > .xlarge-8, .grid-y > .xlarge-9, .grid-y > .xlarge-10, .grid-y > .xlarge-11, .grid-y > .xlarge-12 {
      flex: 0 0 auto; }
    .grid-y > .xlarge-shrink {
      height: auto; }
    .grid-y > .xlarge-1 {
      height: 8.33333%; }
    .grid-y > .xlarge-2 {
      height: 16.66667%; }
    .grid-y > .xlarge-3 {
      height: 25%; }
    .grid-y > .xlarge-4 {
      height: 33.33333%; }
    .grid-y > .xlarge-5 {
      height: 41.66667%; }
    .grid-y > .xlarge-6 {
      height: 50%; }
    .grid-y > .xlarge-7 {
      height: 58.33333%; }
    .grid-y > .xlarge-8 {
      height: 66.66667%; }
    .grid-y > .xlarge-9 {
      height: 75%; }
    .grid-y > .xlarge-10 {
      height: 83.33333%; }
    .grid-y > .xlarge-11 {
      height: 91.66667%; }
    .grid-y > .xlarge-12 {
      height: 100%; } }
  @media screen and (min-width: 103.125em) {
    .grid-y > .xxlarge-auto {
      flex: 1 1 0px;
      height: auto; }
    .grid-y > .xxlarge-shrink, .grid-y > .xxlarge-1, .grid-y > .xxlarge-2, .grid-y > .xxlarge-3, .grid-y > .xxlarge-4, .grid-y > .xxlarge-5, .grid-y > .xxlarge-6, .grid-y > .xxlarge-7, .grid-y > .xxlarge-8, .grid-y > .xxlarge-9, .grid-y > .xxlarge-10, .grid-y > .xxlarge-11, .grid-y > .xxlarge-12 {
      flex: 0 0 auto; }
    .grid-y > .xxlarge-shrink {
      height: auto; }
    .grid-y > .xxlarge-1 {
      height: 8.33333%; }
    .grid-y > .xxlarge-2 {
      height: 16.66667%; }
    .grid-y > .xxlarge-3 {
      height: 25%; }
    .grid-y > .xxlarge-4 {
      height: 33.33333%; }
    .grid-y > .xxlarge-5 {
      height: 41.66667%; }
    .grid-y > .xxlarge-6 {
      height: 50%; }
    .grid-y > .xxlarge-7 {
      height: 58.33333%; }
    .grid-y > .xxlarge-8 {
      height: 66.66667%; }
    .grid-y > .xxlarge-9 {
      height: 75%; }
    .grid-y > .xxlarge-10 {
      height: 83.33333%; }
    .grid-y > .xxlarge-11 {
      height: 91.66667%; }
    .grid-y > .xxlarge-12 {
      height: 100%; } }
  @media screen and (min-width: 120em) {
    .grid-y > .wide-auto {
      flex: 1 1 0px;
      height: auto; }
    .grid-y > .wide-shrink, .grid-y > .wide-1, .grid-y > .wide-2, .grid-y > .wide-3, .grid-y > .wide-4, .grid-y > .wide-5, .grid-y > .wide-6, .grid-y > .wide-7, .grid-y > .wide-8, .grid-y > .wide-9, .grid-y > .wide-10, .grid-y > .wide-11, .grid-y > .wide-12 {
      flex: 0 0 auto; }
    .grid-y > .wide-shrink {
      height: auto; }
    .grid-y > .wide-1 {
      height: 8.33333%; }
    .grid-y > .wide-2 {
      height: 16.66667%; }
    .grid-y > .wide-3 {
      height: 25%; }
    .grid-y > .wide-4 {
      height: 33.33333%; }
    .grid-y > .wide-5 {
      height: 41.66667%; }
    .grid-y > .wide-6 {
      height: 50%; }
    .grid-y > .wide-7 {
      height: 58.33333%; }
    .grid-y > .wide-8 {
      height: 66.66667%; }
    .grid-y > .wide-9 {
      height: 75%; }
    .grid-y > .wide-10 {
      height: 83.33333%; }
    .grid-y > .wide-11 {
      height: 91.66667%; }
    .grid-y > .wide-12 {
      height: 100%; } }

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

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

.grid-margin-y {
  margin-top: -1.5rem;
  margin-bottom: -1.5rem; }
  .grid-margin-y > .cell {
    height: calc(100% - 3rem);
    margin-top: 1.5rem;
    margin-bottom: 1.5rem; }
  .grid-margin-y > .auto {
    height: auto; }
  .grid-margin-y > .shrink {
    height: auto; }
  .grid-margin-y > .small-1 {
    height: calc(8.33333% - 3rem); }
  .grid-margin-y > .small-2 {
    height: calc(16.66667% - 3rem); }
  .grid-margin-y > .small-3 {
    height: calc(25% - 3rem); }
  .grid-margin-y > .small-4 {
    height: calc(33.33333% - 3rem); }
  .grid-margin-y > .small-5 {
    height: calc(41.66667% - 3rem); }
  .grid-margin-y > .small-6 {
    height: calc(50% - 3rem); }
  .grid-margin-y > .small-7 {
    height: calc(58.33333% - 3rem); }
  .grid-margin-y > .small-8 {
    height: calc(66.66667% - 3rem); }
  .grid-margin-y > .small-9 {
    height: calc(75% - 3rem); }
  .grid-margin-y > .small-10 {
    height: calc(83.33333% - 3rem); }
  .grid-margin-y > .small-11 {
    height: calc(91.66667% - 3rem); }
  .grid-margin-y > .small-12 {
    height: calc(100% - 3rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(8.33333% - 3rem); }
    .grid-margin-y > .medium-2 {
      height: calc(16.66667% - 3rem); }
    .grid-margin-y > .medium-3 {
      height: calc(25% - 3rem); }
    .grid-margin-y > .medium-4 {
      height: calc(33.33333% - 3rem); }
    .grid-margin-y > .medium-5 {
      height: calc(41.66667% - 3rem); }
    .grid-margin-y > .medium-6 {
      height: calc(50% - 3rem); }
    .grid-margin-y > .medium-7 {
      height: calc(58.33333% - 3rem); }
    .grid-margin-y > .medium-8 {
      height: calc(66.66667% - 3rem); }
    .grid-margin-y > .medium-9 {
      height: calc(75% - 3rem); }
    .grid-margin-y > .medium-10 {
      height: calc(83.33333% - 3rem); }
    .grid-margin-y > .medium-11 {
      height: calc(91.66667% - 3rem); }
    .grid-margin-y > .medium-12 {
      height: calc(100% - 3rem); } }
  @media print, screen and (min-width: 48.875em) {
    .grid-margin-y > .tablet-auto {
      height: auto; }
    .grid-margin-y > .tablet-shrink {
      height: auto; }
    .grid-margin-y > .tablet-1 {
      height: calc(8.33333% - 3rem); }
    .grid-margin-y > .tablet-2 {
      height: calc(16.66667% - 3rem); }
    .grid-margin-y > .tablet-3 {
      height: calc(25% - 3rem); }
    .grid-margin-y > .tablet-4 {
      height: calc(33.33333% - 3rem); }
    .grid-margin-y > .tablet-5 {
      height: calc(41.66667% - 3rem); }
    .grid-margin-y > .tablet-6 {
      height: calc(50% - 3rem); }
    .grid-margin-y > .tablet-7 {
      height: calc(58.33333% - 3rem); }
    .grid-margin-y > .tablet-8 {
      height: calc(66.66667% - 3rem); }
    .grid-margin-y > .tablet-9 {
      height: calc(75% - 3rem); }
    .grid-margin-y > .tablet-10 {
      height: calc(83.33333% - 3rem); }
    .grid-margin-y > .tablet-11 {
      height: calc(91.66667% - 3rem); }
    .grid-margin-y > .tablet-12 {
      height: calc(100% - 3rem); } }
  @media print, screen and (min-width: 64em) {
    .grid-margin-y > .large-auto {
      height: auto; }
    .grid-margin-y > .large-shrink {
      height: auto; }
    .grid-margin-y > .large-1 {
      height: calc(8.33333% - 3rem); }
    .grid-margin-y > .large-2 {
      height: calc(16.66667% - 3rem); }
    .grid-margin-y > .large-3 {
      height: calc(25% - 3rem); }
    .grid-margin-y > .large-4 {
      height: calc(33.33333% - 3rem); }
    .grid-margin-y > .large-5 {
      height: calc(41.66667% - 3rem); }
    .grid-margin-y > .large-6 {
      height: calc(50% - 3rem); }
    .grid-margin-y > .large-7 {
      height: calc(58.33333% - 3rem); }
    .grid-margin-y > .large-8 {
      height: calc(66.66667% - 3rem); }
    .grid-margin-y > .large-9 {
      height: calc(75% - 3rem); }
    .grid-margin-y > .large-10 {
      height: calc(83.33333% - 3rem); }
    .grid-margin-y > .large-11 {
      height: calc(91.66667% - 3rem); }
    .grid-margin-y > .large-12 {
      height: calc(100% - 3rem); } }
  @media screen and (min-width: 80em) {
    .grid-margin-y > .xlarge-auto {
      height: auto; }
    .grid-margin-y > .xlarge-shrink {
      height: auto; }
    .grid-margin-y > .xlarge-1 {
      height: calc(8.33333% - 3rem); }
    .grid-margin-y > .xlarge-2 {
      height: calc(16.66667% - 3rem); }
    .grid-margin-y > .xlarge-3 {
      height: calc(25% - 3rem); }
    .grid-margin-y > .xlarge-4 {
      height: calc(33.33333% - 3rem); }
    .grid-margin-y > .xlarge-5 {
      height: calc(41.66667% - 3rem); }
    .grid-margin-y > .xlarge-6 {
      height: calc(50% - 3rem); }
    .grid-margin-y > .xlarge-7 {
      height: calc(58.33333% - 3rem); }
    .grid-margin-y > .xlarge-8 {
      height: calc(66.66667% - 3rem); }
    .grid-margin-y > .xlarge-9 {
      height: calc(75% - 3rem); }
    .grid-margin-y > .xlarge-10 {
      height: calc(83.33333% - 3rem); }
    .grid-margin-y > .xlarge-11 {
      height: calc(91.66667% - 3rem); }
    .grid-margin-y > .xlarge-12 {
      height: calc(100% - 3rem); } }
  @media screen and (min-width: 103.125em) {
    .grid-margin-y > .xxlarge-auto {
      height: auto; }
    .grid-margin-y > .xxlarge-shrink {
      height: auto; }
    .grid-margin-y > .xxlarge-1 {
      height: calc(8.33333% - 3rem); }
    .grid-margin-y > .xxlarge-2 {
      height: calc(16.66667% - 3rem); }
    .grid-margin-y > .xxlarge-3 {
      height: calc(25% - 3rem); }
    .grid-margin-y > .xxlarge-4 {
      height: calc(33.33333% - 3rem); }
    .grid-margin-y > .xxlarge-5 {
      height: calc(41.66667% - 3rem); }
    .grid-margin-y > .xxlarge-6 {
      height: calc(50% - 3rem); }
    .grid-margin-y > .xxlarge-7 {
      height: calc(58.33333% - 3rem); }
    .grid-margin-y > .xxlarge-8 {
      height: calc(66.66667% - 3rem); }
    .grid-margin-y > .xxlarge-9 {
      height: calc(75% - 3rem); }
    .grid-margin-y > .xxlarge-10 {
      height: calc(83.33333% - 3rem); }
    .grid-margin-y > .xxlarge-11 {
      height: calc(91.66667% - 3rem); }
    .grid-margin-y > .xxlarge-12 {
      height: calc(100% - 3rem); } }
  @media screen and (min-width: 120em) {
    .grid-margin-y > .wide-auto {
      height: auto; }
    .grid-margin-y > .wide-shrink {
      height: auto; }
    .grid-margin-y > .wide-1 {
      height: calc(8.33333% - 3rem); }
    .grid-margin-y > .wide-2 {
      height: calc(16.66667% - 3rem); }
    .grid-margin-y > .wide-3 {
      height: calc(25% - 3rem); }
    .grid-margin-y > .wide-4 {
      height: calc(33.33333% - 3rem); }
    .grid-margin-y > .wide-5 {
      height: calc(41.66667% - 3rem); }
    .grid-margin-y > .wide-6 {
      height: calc(50% - 3rem); }
    .grid-margin-y > .wide-7 {
      height: calc(58.33333% - 3rem); }
    .grid-margin-y > .wide-8 {
      height: calc(66.66667% - 3rem); }
    .grid-margin-y > .wide-9 {
      height: calc(75% - 3rem); }
    .grid-margin-y > .wide-10 {
      height: calc(83.33333% - 3rem); }
    .grid-margin-y > .wide-11 {
      height: calc(91.66667% - 3rem); }
    .grid-margin-y > .wide-12 {
      height: calc(100% - 3rem); } }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.grid-margin-y {
  margin-top: -1.5rem;
  margin-bottom: -1.5rem; }
  .grid-margin-y > .cell {
    height: calc(100% - 3rem);
    margin-top: 1.5rem;
    margin-bottom: 1.5rem; }
  .grid-margin-y > .auto {
    height: auto; }
  .grid-margin-y > .shrink {
    height: auto; }
  .grid-margin-y > .small-1 {
    height: calc(8.33333% - 3rem); }
  .grid-margin-y > .small-2 {
    height: calc(16.66667% - 3rem); }
  .grid-margin-y > .small-3 {
    height: calc(25% - 3rem); }
  .grid-margin-y > .small-4 {
    height: calc(33.33333% - 3rem); }
  .grid-margin-y > .small-5 {
    height: calc(41.66667% - 3rem); }
  .grid-margin-y > .small-6 {
    height: calc(50% - 3rem); }
  .grid-margin-y > .small-7 {
    height: calc(58.33333% - 3rem); }
  .grid-margin-y > .small-8 {
    height: calc(66.66667% - 3rem); }
  .grid-margin-y > .small-9 {
    height: calc(75% - 3rem); }
  .grid-margin-y > .small-10 {
    height: calc(83.33333% - 3rem); }
  .grid-margin-y > .small-11 {
    height: calc(91.66667% - 3rem); }
  .grid-margin-y > .small-12 {
    height: calc(100% - 3rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(8.33333% - 3rem); }
    .grid-margin-y > .medium-2 {
      height: calc(16.66667% - 3rem); }
    .grid-margin-y > .medium-3 {
      height: calc(25% - 3rem); }
    .grid-margin-y > .medium-4 {
      height: calc(33.33333% - 3rem); }
    .grid-margin-y > .medium-5 {
      height: calc(41.66667% - 3rem); }
    .grid-margin-y > .medium-6 {
      height: calc(50% - 3rem); }
    .grid-margin-y > .medium-7 {
      height: calc(58.33333% - 3rem); }
    .grid-margin-y > .medium-8 {
      height: calc(66.66667% - 3rem); }
    .grid-margin-y > .medium-9 {
      height: calc(75% - 3rem); }
    .grid-margin-y > .medium-10 {
      height: calc(83.33333% - 3rem); }
    .grid-margin-y > .medium-11 {
      height: calc(91.66667% - 3rem); }
    .grid-margin-y > .medium-12 {
      height: calc(100% - 3rem); } }
  @media print, screen and (min-width: 48.875em) {
    .grid-margin-y > .tablet-auto {
      height: auto; }
    .grid-margin-y > .tablet-shrink {
      height: auto; }
    .grid-margin-y > .tablet-1 {
      height: calc(8.33333% - 3rem); }
    .grid-margin-y > .tablet-2 {
      height: calc(16.66667% - 3rem); }
    .grid-margin-y > .tablet-3 {
      height: calc(25% - 3rem); }
    .grid-margin-y > .tablet-4 {
      height: calc(33.33333% - 3rem); }
    .grid-margin-y > .tablet-5 {
      height: calc(41.66667% - 3rem); }
    .grid-margin-y > .tablet-6 {
      height: calc(50% - 3rem); }
    .grid-margin-y > .tablet-7 {
      height: calc(58.33333% - 3rem); }
    .grid-margin-y > .tablet-8 {
      height: calc(66.66667% - 3rem); }
    .grid-margin-y > .tablet-9 {
      height: calc(75% - 3rem); }
    .grid-margin-y > .tablet-10 {
      height: calc(83.33333% - 3rem); }
    .grid-margin-y > .tablet-11 {
      height: calc(91.66667% - 3rem); }
    .grid-margin-y > .tablet-12 {
      height: calc(100% - 3rem); } }
  @media print, screen and (min-width: 64em) {
    .grid-margin-y > .large-auto {
      height: auto; }
    .grid-margin-y > .large-shrink {
      height: auto; }
    .grid-margin-y > .large-1 {
      height: calc(8.33333% - 3rem); }
    .grid-margin-y > .large-2 {
      height: calc(16.66667% - 3rem); }
    .grid-margin-y > .large-3 {
      height: calc(25% - 3rem); }
    .grid-margin-y > .large-4 {
      height: calc(33.33333% - 3rem); }
    .grid-margin-y > .large-5 {
      height: calc(41.66667% - 3rem); }
    .grid-margin-y > .large-6 {
      height: calc(50% - 3rem); }
    .grid-margin-y > .large-7 {
      height: calc(58.33333% - 3rem); }
    .grid-margin-y > .large-8 {
      height: calc(66.66667% - 3rem); }
    .grid-margin-y > .large-9 {
      height: calc(75% - 3rem); }
    .grid-margin-y > .large-10 {
      height: calc(83.33333% - 3rem); }
    .grid-margin-y > .large-11 {
      height: calc(91.66667% - 3rem); }
    .grid-margin-y > .large-12 {
      height: calc(100% - 3rem); } }
  @media screen and (min-width: 80em) {
    .grid-margin-y > .xlarge-auto {
      height: auto; }
    .grid-margin-y > .xlarge-shrink {
      height: auto; }
    .grid-margin-y > .xlarge-1 {
      height: calc(8.33333% - 3rem); }
    .grid-margin-y > .xlarge-2 {
      height: calc(16.66667% - 3rem); }
    .grid-margin-y > .xlarge-3 {
      height: calc(25% - 3rem); }
    .grid-margin-y > .xlarge-4 {
      height: calc(33.33333% - 3rem); }
    .grid-margin-y > .xlarge-5 {
      height: calc(41.66667% - 3rem); }
    .grid-margin-y > .xlarge-6 {
      height: calc(50% - 3rem); }
    .grid-margin-y > .xlarge-7 {
      height: calc(58.33333% - 3rem); }
    .grid-margin-y > .xlarge-8 {
      height: calc(66.66667% - 3rem); }
    .grid-margin-y > .xlarge-9 {
      height: calc(75% - 3rem); }
    .grid-margin-y > .xlarge-10 {
      height: calc(83.33333% - 3rem); }
    .grid-margin-y > .xlarge-11 {
      height: calc(91.66667% - 3rem); }
    .grid-margin-y > .xlarge-12 {
      height: calc(100% - 3rem); } }
  @media screen and (min-width: 103.125em) {
    .grid-margin-y > .xxlarge-auto {
      height: auto; }
    .grid-margin-y > .xxlarge-shrink {
      height: auto; }
    .grid-margin-y > .xxlarge-1 {
      height: calc(8.33333% - 3rem); }
    .grid-margin-y > .xxlarge-2 {
      height: calc(16.66667% - 3rem); }
    .grid-margin-y > .xxlarge-3 {
      height: calc(25% - 3rem); }
    .grid-margin-y > .xxlarge-4 {
      height: calc(33.33333% - 3rem); }
    .grid-margin-y > .xxlarge-5 {
      height: calc(41.66667% - 3rem); }
    .grid-margin-y > .xxlarge-6 {
      height: calc(50% - 3rem); }
    .grid-margin-y > .xxlarge-7 {
      height: calc(58.33333% - 3rem); }
    .grid-margin-y > .xxlarge-8 {
      height: calc(66.66667% - 3rem); }
    .grid-margin-y > .xxlarge-9 {
      height: calc(75% - 3rem); }
    .grid-margin-y > .xxlarge-10 {
      height: calc(83.33333% - 3rem); }
    .grid-margin-y > .xxlarge-11 {
      height: calc(91.66667% - 3rem); }
    .grid-margin-y > .xxlarge-12 {
      height: calc(100% - 3rem); } }
  @media screen and (min-width: 120em) {
    .grid-margin-y > .wide-auto {
      height: auto; }
    .grid-margin-y > .wide-shrink {
      height: auto; }
    .grid-margin-y > .wide-1 {
      height: calc(8.33333% - 3rem); }
    .grid-margin-y > .wide-2 {
      height: calc(16.66667% - 3rem); }
    .grid-margin-y > .wide-3 {
      height: calc(25% - 3rem); }
    .grid-margin-y > .wide-4 {
      height: calc(33.33333% - 3rem); }
    .grid-margin-y > .wide-5 {
      height: calc(41.66667% - 3rem); }
    .grid-margin-y > .wide-6 {
      height: calc(50% - 3rem); }
    .grid-margin-y > .wide-7 {
      height: calc(58.33333% - 3rem); }
    .grid-margin-y > .wide-8 {
      height: calc(66.66667% - 3rem); }
    .grid-margin-y > .wide-9 {
      height: calc(75% - 3rem); }
    .grid-margin-y > .wide-10 {
      height: calc(83.33333% - 3rem); }
    .grid-margin-y > .wide-11 {
      height: calc(91.66667% - 3rem); }
    .grid-margin-y > .wide-12 {
      height: calc(100% - 3rem); } }

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

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

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

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

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

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

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

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

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

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

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

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

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  color: inherit;
  font-family: "abolition", "bio-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  font-style: normal;
  font-weight: normal;
  text-rendering: optimizeLegibility; }
  h1 small, .h1 small,
  h2 small, .h2 small,
  h3 small, .h3 small,
  h4 small, .h4 small,
  h5 small, .h5 small,
  h6 small, .h6 small {
    color: #aeaeae;
    line-height: 0; }

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

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

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

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

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

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

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

a {
  color: #ed1b2e;
  line-height: inherit;
  text-decoration: none;
  cursor: pointer; }
  a:hover, a:focus {
    color: #484848; }
  a img {
    border: 0; }

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

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

li {
  font-size: inherit; }

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

ol {
  margin-left: 1.25rem; }

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

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

blockquote {
  margin: 0 0 1rem;
  padding: 0.5625rem 1.25rem 0 1.1875rem;
  border-left: 1px solid #aeaeae; }
  blockquote, blockquote p {
    color: #8a8a8a;
    line-height: 1.5; }

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

figure {
  margin: 0; }

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

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

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

.stat {
  font-size: 2.5rem;
  line-height: 1; }
  p + .stat {
    margin-top: -1rem; }

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

.cite-block, cite {
  display: block;
  color: #8a8a8a;
  font-size: 0.8125rem; }
  .cite-block:before, cite:before {
    content: "— "; }

.code-inline, code {
  word-wrap: break-word;
  display: inline;
  max-width: 100%;
  padding: 0.125rem 0.3125rem 0.0625rem;
  border: 1px solid #aeaeae;
  background-color: #e6e6e6;
  color: #0a0a0a;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: normal; }

.code-block {
  display: block;
  margin-bottom: 1.5rem;
  padding: 1rem;
  overflow: auto;
  border: 1px solid #aeaeae;
  background-color: #e6e6e6;
  color: #0a0a0a;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: normal;
  white-space: pre; }

.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: 48.875em) {
  .tablet-text-left {
    text-align: left; }
  .tablet-text-right {
    text-align: right; }
  .tablet-text-center {
    text-align: center; }
  .tablet-text-justify {
    text-align: justify; } }

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

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

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

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

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

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

.button {
  -webkit-appearance: none;
  display: inline-block;
  margin: 0;
  padding: 0.85em 1em;
  border: 1px solid transparent;
  border-radius: 0;
  font-family: inherit;
  font-size: 1.25rem;
  line-height: 1;
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
  transition: background-color 0.25s ease-out, color 0.25s ease-out; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button.tiny {
    font-size: 0.75rem; }
  .button.small {
    font-size: 1rem; }
  .button.large {
    font-size: 1.5rem; }
  .button.expanded {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0; }
  .button, .button.disabled, .button[disabled], .button.disabled:hover, .button[disabled]:hover, .button.disabled:focus, .button[disabled]:focus {
    background-color: #ed1b2e;
    color: #fefefe; }
  .button:hover, .button:focus {
    background-color: #d01022;
    color: #fefefe; }
  .button.primary, .button.primary.disabled, .button.primary[disabled], .button.primary.disabled:hover, .button.primary[disabled]:hover, .button.primary.disabled:focus, .button.primary[disabled]:focus {
    background-color: #ed1b2e;
    color: #0a0a0a; }
  .button.primary:hover, .button.primary:focus {
    background-color: #c40f20;
    color: #0a0a0a; }
  .button.secondary, .button.secondary.disabled, .button.secondary[disabled], .button.secondary.disabled:hover, .button.secondary[disabled]:hover, .button.secondary.disabled:focus, .button.secondary[disabled]:focus {
    background-color: #0d436b;
    color: #fefefe; }
  .button.secondary:hover, .button.secondary:focus {
    background-color: #0a3656;
    color: #fefefe; }
  .button.success, .button.success.disabled, .button.success[disabled], .button.success.disabled:hover, .button.success[disabled]:hover, .button.success.disabled:focus, .button.success[disabled]:focus {
    background-color: #39C16C;
    color: #0a0a0a; }
  .button.success:hover, .button.success:focus {
    background-color: #2e9a56;
    color: #0a0a0a; }
  .button.warning, .button.warning.disabled, .button.warning[disabled], .button.warning.disabled:hover, .button.warning[disabled]:hover, .button.warning.disabled:focus, .button.warning[disabled]:focus {
    background-color: #ffae00;
    color: #0a0a0a; }
  .button.warning:hover, .button.warning:focus {
    background-color: #cc8b00;
    color: #0a0a0a; }
  .button.alert, .button.alert.disabled, .button.alert[disabled], .button.alert.disabled:hover, .button.alert[disabled]:hover, .button.alert.disabled:focus, .button.alert[disabled]:focus {
    background-color: #ed1b2e;
    color: #0a0a0a; }
  .button.alert:hover, .button.alert:focus {
    background-color: #c40f20;
    color: #0a0a0a; }
  .button.hollow, .button.hollow:hover, .button.hollow:focus, .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, .button.hollow.disabled, .button.hollow[disabled], .button.hollow.disabled:hover, .button.hollow[disabled]:hover, .button.hollow.disabled:focus, .button.hollow[disabled]:focus {
    border: 1px solid #ed1b2e;
    color: #ed1b2e; }
  .button.hollow:hover, .button.hollow:focus {
    border-color: #7a0a14;
    color: #7a0a14; }
  .button.hollow.primary, .button.hollow.primary.disabled, .button.hollow.primary[disabled], .button.hollow.primary.disabled:hover, .button.hollow.primary[disabled]:hover, .button.hollow.primary.disabled:focus, .button.hollow.primary[disabled]:focus {
    border: 1px solid #ed1b2e;
    color: #ed1b2e; }
  .button.hollow.primary:hover, .button.hollow.primary:focus {
    border-color: #7a0a14;
    color: #7a0a14; }
  .button.hollow.secondary, .button.hollow.secondary.disabled, .button.hollow.secondary[disabled], .button.hollow.secondary.disabled:hover, .button.hollow.secondary[disabled]:hover, .button.hollow.secondary.disabled:focus, .button.hollow.secondary[disabled]:focus {
    border: 1px solid #0d436b;
    color: #0d436b; }
  .button.hollow.secondary:hover, .button.hollow.secondary:focus {
    border-color: #072236;
    color: #072236; }
  .button.hollow.success, .button.hollow.success.disabled, .button.hollow.success[disabled], .button.hollow.success.disabled:hover, .button.hollow.success[disabled]:hover, .button.hollow.success.disabled:focus, .button.hollow.success[disabled]:focus {
    border: 1px solid #39C16C;
    color: #39C16C; }
  .button.hollow.success:hover, .button.hollow.success:focus {
    border-color: #1d6136;
    color: #1d6136; }
  .button.hollow.warning, .button.hollow.warning.disabled, .button.hollow.warning[disabled], .button.hollow.warning.disabled:hover, .button.hollow.warning[disabled]:hover, .button.hollow.warning.disabled:focus, .button.hollow.warning[disabled]:focus {
    border: 1px solid #ffae00;
    color: #ffae00; }
  .button.hollow.warning:hover, .button.hollow.warning:focus {
    border-color: #805700;
    color: #805700; }
  .button.hollow.alert, .button.hollow.alert.disabled, .button.hollow.alert[disabled], .button.hollow.alert.disabled:hover, .button.hollow.alert[disabled]:hover, .button.hollow.alert.disabled:focus, .button.hollow.alert[disabled]:focus {
    border: 1px solid #ed1b2e;
    color: #ed1b2e; }
  .button.hollow.alert:hover, .button.hollow.alert:focus {
    border-color: #7a0a14;
    color: #7a0a14; }
  .button.clear, .button.clear:hover, .button.clear:focus, .button.clear.disabled, .button.clear.disabled:hover, .button.clear.disabled:focus, .button.clear[disabled], .button.clear[disabled]:hover, .button.clear[disabled]:focus {
    border-color: transparent;
    background-color: transparent; }
  .button.clear, .button.clear.disabled, .button.clear[disabled], .button.clear.disabled:hover, .button.clear[disabled]:hover, .button.clear.disabled:focus, .button.clear[disabled]:focus {
    color: #ed1b2e; }
  .button.clear:hover, .button.clear:focus {
    color: #7a0a14; }
  .button.clear.primary, .button.clear.primary.disabled, .button.clear.primary[disabled], .button.clear.primary.disabled:hover, .button.clear.primary[disabled]:hover, .button.clear.primary.disabled:focus, .button.clear.primary[disabled]:focus {
    color: #ed1b2e; }
  .button.clear.primary:hover, .button.clear.primary:focus {
    color: #7a0a14; }
  .button.clear.secondary, .button.clear.secondary.disabled, .button.clear.secondary[disabled], .button.clear.secondary.disabled:hover, .button.clear.secondary[disabled]:hover, .button.clear.secondary.disabled:focus, .button.clear.secondary[disabled]:focus {
    color: #0d436b; }
  .button.clear.secondary:hover, .button.clear.secondary:focus {
    color: #072236; }
  .button.clear.success, .button.clear.success.disabled, .button.clear.success[disabled], .button.clear.success.disabled:hover, .button.clear.success[disabled]:hover, .button.clear.success.disabled:focus, .button.clear.success[disabled]:focus {
    color: #39C16C; }
  .button.clear.success:hover, .button.clear.success:focus {
    color: #1d6136; }
  .button.clear.warning, .button.clear.warning.disabled, .button.clear.warning[disabled], .button.clear.warning.disabled:hover, .button.clear.warning[disabled]:hover, .button.clear.warning.disabled:focus, .button.clear.warning[disabled]:focus {
    color: #ffae00; }
  .button.clear.warning:hover, .button.clear.warning:focus {
    color: #805700; }
  .button.clear.alert, .button.clear.alert.disabled, .button.clear.alert[disabled], .button.clear.alert.disabled:hover, .button.clear.alert[disabled]:hover, .button.clear.alert.disabled:focus, .button.clear.alert[disabled]:focus {
    color: #ed1b2e; }
  .button.clear.alert:hover, .button.clear.alert:focus {
    color: #7a0a14; }
  .button.disabled, .button[disabled] {
    cursor: not-allowed;
    opacity: 0.25; }
  .button.dropdown::after {
    display: block;
    display: inline-block;
    position: relative;
    top: 0.4em;
    width: 0;
    height: 0;
    margin-left: 1em;
    float: right;
    border: inset 0.4em;
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #fefefe transparent transparent;
    content: ''; }
  .button.dropdown.hollow::after, .button.dropdown.clear::after {
    border-top-color: #ed1b2e; }
  .button.dropdown.hollow.primary::after, .button.dropdown.clear.primary::after {
    border-top-color: #ed1b2e; }
  .button.dropdown.hollow.secondary::after, .button.dropdown.clear.secondary::after {
    border-top-color: #0d436b; }
  .button.dropdown.hollow.success::after, .button.dropdown.clear.success::after {
    border-top-color: #39C16C; }
  .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: #ed1b2e; }
  .button.arrow-only::after {
    top: -0.1em;
    margin-left: 0;
    float: none; }

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

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

textarea {
  max-width: 100%; }
  textarea[rows] {
    height: auto; }

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

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

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

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

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

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

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

::placeholder {
  color: #aeaeae; }

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

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

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

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

label {
  display: block;
  margin: 0;
  color: #0a0a0a;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.3; }
  label.middle {
    margin: 0 0 1rem;
    padding: 0.5625rem 0; }

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

.input-group {
  display: flex;
  align-items: stretch;
  width: 100%;
  margin-bottom: 1rem; }
  .input-group > :first-child, .input-group > :first-child.input-group-button > * {
    border-radius: 0 0 0 0; }
  .input-group > :last-child, .input-group > :last-child.input-group-button > * {
    border-radius: 0 0 0 0; }

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

.input-group-label {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  padding: 0 1rem;
  border: 1px solid #aeaeae;
  background: #e6e6e6;
  color: #0a0a0a;
  text-align: center;
  white-space: nowrap; }
  .input-group-label:first-child {
    border-right: 0; }
  .input-group-label:last-child {
    border-left: 0; }

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

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

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

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

.fieldset {
  margin: 1.125rem 0;
  padding: 1.25rem;
  border: 1px solid #aeaeae; }
  .fieldset legend {
    margin: 0;
    margin-left: -0.1875rem;
    padding: 0 0.1875rem; }

select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  padding-right: 1.5rem;
  border: 1px solid #e6e6e6;
  border-radius: 0;
  background-color: #fefefe;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>");
  background-origin: content-box;
  background-position: right -1rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  color: #0a0a0a;
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  @media screen and (min-width: 0\0) {
    select {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
  select:focus {
    border: 1px solid #0d436b;
    outline: none;
    background-color: #fefefe;
    box-shadow: none;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  select:disabled {
    background-color: #e6e6e6;
    cursor: not-allowed; }
  select::-ms-expand {
    display: none; }
  select[multiple] {
    height: auto;
    background-image: none; }
  select:not([multiple]) {
    padding-top: 0;
    padding-bottom: 0; }

.is-invalid-input:not(:focus) {
  border-color: #ed1b2e;
  background-color: #fce7e9; }
  .is-invalid-input:not(:focus)::-webkit-input-placeholder {
    color: #ed1b2e; }
  .is-invalid-input:not(:focus)::-moz-placeholder {
    color: #ed1b2e; }
  .is-invalid-input:not(:focus):-ms-input-placeholder {
    color: #ed1b2e; }
  .is-invalid-input:not(:focus)::-ms-input-placeholder {
    color: #ed1b2e; }
  .is-invalid-input:not(:focus)::placeholder {
    color: #ed1b2e; }

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

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

.callout {
  position: relative;
  margin: 0 0 1.5rem 0;
  padding: 1rem;
  border: 1px solid rgba(10, 10, 10, 0.1);
  border-radius: 0;
  background-color: white;
  color: #484848; }
  .callout > :first-child {
    margin-top: 0; }
  .callout > :last-child {
    margin-bottom: 0; }
  .callout.primary {
    background-color: #fcdde0;
    color: #484848; }
  .callout.secondary {
    background-color: #cbe5f9;
    color: #484848; }
  .callout.success {
    background-color: #e1f6e9;
    color: #484848; }
  .callout.warning {
    background-color: #fff3d9;
    color: #484848; }
  .callout.alert {
    background-color: #fcdde0;
    color: #484848; }
  .callout.small {
    padding-top: 0.5rem;
    padding-right: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 0.5rem; }
  .callout.large {
    padding-top: 3rem;
    padding-right: 3rem;
    padding-bottom: 3rem;
    padding-left: 3rem; }

.responsive-embed,
.flex-video {
  position: relative;
  height: 0;
  margin-bottom: 0;
  padding-bottom: 75%;
  overflow: hidden; }
  .responsive-embed iframe,
  .responsive-embed object,
  .responsive-embed embed,
  .responsive-embed video,
  .flex-video iframe,
  .flex-video object,
  .flex-video embed,
  .flex-video video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .responsive-embed.widescreen,
  .flex-video.widescreen {
    padding-bottom: 56.25%; }

table {
  width: 100%;
  margin-bottom: 1.5rem;
  border-radius: 0;
  border-collapse: collapse; }
  thead,
  tbody,
  tfoot {
    border: 1px solid rgba(216, 216, 216, 0.5);
    background-color: rgba(254, 254, 254, 0.5); }
  caption {
    padding: 0.5rem 0.625rem 0.625rem;
    font-weight: bold; }
  thead {
    background: rgba(235, 235, 235, 0.5);
    color: #484848; }
  tfoot {
    background: rgba(216, 216, 216, 0.5);
    color: #484848; }
  thead tr,
  tfoot tr {
    background: transparent; }
  thead th,
  thead td,
  tfoot th,
  tfoot td {
    padding: 0.5rem 0.625rem 0.625rem;
    font-weight: bold;
    text-align: left; }
  tbody th,
  tbody td {
    padding: 0.5rem 0.625rem 0.625rem; }
  tbody tr:nth-child(even) {
    border-bottom: 0;
    background-color: rgba(216, 216, 216, 0.5); }
  table.unstriped tbody {
    background-color: rgba(254, 254, 254, 0.5); }
    table.unstriped tbody tr {
      border-bottom: 0;
      border-bottom: 1px solid rgba(216, 216, 216, 0.5);
      background-color: rgba(254, 254, 254, 0.5); }

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

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

table.hover thead tr:hover {
  background-color: rgba(230, 230, 230, 0.5); }

table.hover tfoot tr:hover {
  background-color: rgba(211, 211, 211, 0.5); }

table.hover tbody tr:hover {
  background-color: rgba(249, 249, 249, 0.5); }

table.hover:not(.unstriped) tr:nth-of-type(even):hover {
  background-color: rgba(211, 211, 211, 0.5); }

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

.align-left {
  justify-content: flex-start; }

.align-right {
  justify-content: flex-end; }

.align-center {
  justify-content: center; }

.align-justify {
  justify-content: space-between; }

.align-spaced {
  justify-content: space-around; }

.align-left.vertical.menu > li > a {
  justify-content: flex-start; }

.align-right.vertical.menu > li > a {
  justify-content: flex-end; }

.align-center.vertical.menu > li > a {
  justify-content: center; }

.align-top {
  align-items: flex-start; }

.align-self-top {
  align-self: flex-start; }

.align-bottom {
  align-items: flex-end; }

.align-self-bottom {
  align-self: flex-end; }

.align-middle {
  align-items: center; }

.align-self-middle {
  align-self: center; }

.align-stretch {
  align-items: stretch; }

.align-self-stretch {
  align-self: stretch; }

.align-center-middle {
  align-content: center;
  align-items: center;
  justify-content: center; }

.small-order-1 {
  order: 1; }

.small-order-2 {
  order: 2; }

.small-order-3 {
  order: 3; }

.small-order-4 {
  order: 4; }

.small-order-5 {
  order: 5; }

.small-order-6 {
  order: 6; }

@media print, screen and (min-width: 40em) {
  .medium-order-1 {
    order: 1; }
  .medium-order-2 {
    order: 2; }
  .medium-order-3 {
    order: 3; }
  .medium-order-4 {
    order: 4; }
  .medium-order-5 {
    order: 5; }
  .medium-order-6 {
    order: 6; } }

@media print, screen and (min-width: 48.875em) {
  .tablet-order-1 {
    order: 1; }
  .tablet-order-2 {
    order: 2; }
  .tablet-order-3 {
    order: 3; }
  .tablet-order-4 {
    order: 4; }
  .tablet-order-5 {
    order: 5; }
  .tablet-order-6 {
    order: 6; } }

@media print, screen and (min-width: 64em) {
  .large-order-1 {
    order: 1; }
  .large-order-2 {
    order: 2; }
  .large-order-3 {
    order: 3; }
  .large-order-4 {
    order: 4; }
  .large-order-5 {
    order: 5; }
  .large-order-6 {
    order: 6; } }

@media screen and (min-width: 80em) {
  .xlarge-order-1 {
    order: 1; }
  .xlarge-order-2 {
    order: 2; }
  .xlarge-order-3 {
    order: 3; }
  .xlarge-order-4 {
    order: 4; }
  .xlarge-order-5 {
    order: 5; }
  .xlarge-order-6 {
    order: 6; } }

@media screen and (min-width: 103.125em) {
  .xxlarge-order-1 {
    order: 1; }
  .xxlarge-order-2 {
    order: 2; }
  .xxlarge-order-3 {
    order: 3; }
  .xxlarge-order-4 {
    order: 4; }
  .xxlarge-order-5 {
    order: 5; }
  .xxlarge-order-6 {
    order: 6; } }

@media screen and (min-width: 120em) {
  .wide-order-1 {
    order: 1; }
  .wide-order-2 {
    order: 2; }
  .wide-order-3 {
    order: 3; }
  .wide-order-4 {
    order: 4; }
  .wide-order-5 {
    order: 5; }
  .wide-order-6 {
    order: 6; } }

.flex-container {
  display: flex; }

.flex-child-auto {
  flex: 1 1 auto; }

.flex-child-grow {
  flex: 1 0 auto; }

.flex-child-shrink {
  flex: 0 1 auto; }

.flex-dir-row {
  flex-direction: row; }

.flex-dir-row-reverse {
  flex-direction: row-reverse; }

.flex-dir-column {
  flex-direction: column; }

.flex-dir-column-reverse {
  flex-direction: column-reverse; }

@media print, screen and (min-width: 40em) {
  .medium-flex-container {
    display: flex; }
  .medium-flex-child-auto {
    flex: 1 1 auto; }
  .medium-flex-child-grow {
    flex: 1 0 auto; }
  .medium-flex-child-shrink {
    flex: 0 1 auto; }
  .medium-flex-dir-row {
    flex-direction: row; }
  .medium-flex-dir-row-reverse {
    flex-direction: row-reverse; }
  .medium-flex-dir-column {
    flex-direction: column; }
  .medium-flex-dir-column-reverse {
    flex-direction: column-reverse; } }

@media print, screen and (min-width: 48.875em) {
  .tablet-flex-container {
    display: flex; }
  .tablet-flex-child-auto {
    flex: 1 1 auto; }
  .tablet-flex-child-grow {
    flex: 1 0 auto; }
  .tablet-flex-child-shrink {
    flex: 0 1 auto; }
  .tablet-flex-dir-row {
    flex-direction: row; }
  .tablet-flex-dir-row-reverse {
    flex-direction: row-reverse; }
  .tablet-flex-dir-column {
    flex-direction: column; }
  .tablet-flex-dir-column-reverse {
    flex-direction: column-reverse; } }

@media print, screen and (min-width: 64em) {
  .large-flex-container {
    display: flex; }
  .large-flex-child-auto {
    flex: 1 1 auto; }
  .large-flex-child-grow {
    flex: 1 0 auto; }
  .large-flex-child-shrink {
    flex: 0 1 auto; }
  .large-flex-dir-row {
    flex-direction: row; }
  .large-flex-dir-row-reverse {
    flex-direction: row-reverse; }
  .large-flex-dir-column {
    flex-direction: column; }
  .large-flex-dir-column-reverse {
    flex-direction: column-reverse; } }

@media screen and (min-width: 80em) {
  .xlarge-flex-container {
    display: flex; }
  .xlarge-flex-child-auto {
    flex: 1 1 auto; }
  .xlarge-flex-child-grow {
    flex: 1 0 auto; }
  .xlarge-flex-child-shrink {
    flex: 0 1 auto; }
  .xlarge-flex-dir-row {
    flex-direction: row; }
  .xlarge-flex-dir-row-reverse {
    flex-direction: row-reverse; }
  .xlarge-flex-dir-column {
    flex-direction: column; }
  .xlarge-flex-dir-column-reverse {
    flex-direction: column-reverse; } }

@media screen and (min-width: 103.125em) {
  .xxlarge-flex-container {
    display: flex; }
  .xxlarge-flex-child-auto {
    flex: 1 1 auto; }
  .xxlarge-flex-child-grow {
    flex: 1 0 auto; }
  .xxlarge-flex-child-shrink {
    flex: 0 1 auto; }
  .xxlarge-flex-dir-row {
    flex-direction: row; }
  .xxlarge-flex-dir-row-reverse {
    flex-direction: row-reverse; }
  .xxlarge-flex-dir-column {
    flex-direction: column; }
  .xxlarge-flex-dir-column-reverse {
    flex-direction: column-reverse; } }

@media screen and (min-width: 120em) {
  .wide-flex-container {
    display: flex; }
  .wide-flex-child-auto {
    flex: 1 1 auto; }
  .wide-flex-child-grow {
    flex: 1 0 auto; }
  .wide-flex-child-shrink {
    flex: 0 1 auto; }
  .wide-flex-dir-row {
    flex-direction: row; }
  .wide-flex-dir-row-reverse {
    flex-direction: row-reverse; }
  .wide-flex-dir-column {
    flex-direction: column; }
  .wide-flex-dir-column-reverse {
    flex-direction: column-reverse; } }

html .gform_wrapper.gravity-theme .gform_required_legend, .search-overlay .site-search__submit,
.u-screen-reader {
  clip: rect(0 0 0 0);
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  border: 0; }


.u-clearfix::before,
.u-clearfix::after {
  display: table;
  flex-basis: 0;
  order: 1;
  content: ' '; }


.u-clearfix::after {
  clear: both; }

.wysiwyg a:not([href$=".pdf"])[target='_blank']:after,
.u-external-link:after {
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-bottom: 3px;
  margin-left: 3px;
  background-image: url("../images/external-link.svg");
  background-size: 8px;
  vertical-align: middle;
  content: ''; }


.u-photo-bg, .site-footer__photo figure,
.u-bg-cover {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover; }


.u-bg-contain {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain; }


.u-bg-100 {
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100%; }

.u-svg-container {
  position: relative;
  width: 100%;
  height: 0; }
  .u-svg-container img,
  .u-svg-container svg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .u-svg-container--logo {
    padding-bottom: 54.72115%; }


.u-photo-bg {
  padding-bottom: 56.25%; }
  @media print, screen and (min-width: 48.875em) {
    
    .u-photo-bg {
      padding-bottom: 66.66667%; } }
  
  .u-photo-bg--extend-left {
    margin-left: calc(-100vw + 100% + 1.5rem); }
    @media print, screen and (min-width: 48.875em) {
      
      .u-photo-bg--extend-left {
        margin-left: calc(-50vw + 100% + 1.5rem); } }
  
  .u-photo-bg--extend-right {
    margin-right: calc(-100vw + 100% + 1.5rem); }
    @media print, screen and (min-width: 48.875em) {
      
      .u-photo-bg--extend-right {
        margin-right: calc(-50vw + 100% + 1.5rem); } }

@media screen and (min-width: 120em) {
  html {
    font-size: 112.5%; } }

body {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 100vh; }
  body.admin-bar {
    min-height: calc(100vh - 46px); }
    @media print, screen and (min-width: 48.875em) {
      body.admin-bar {
        min-height: calc(100vh - 32px); } }

a {
  font-weight: bold;
  transition: all 0.2s ease-in-out; }

address {
  font-style: normal; }

label {
  margin-bottom: 0.5rem; }
  label[for='user_login'], label[for='user_pass'] {
    font-weight: bold; }

input[type='radio'],
input[type='checkbox'] {
  -webkit-transform: scale(1.5);
          transform: scale(1.5); }

@media print, screen and (max-width: 39.99875em) {
  table {
    font-size: 0.75rem; } }

table th {
  line-height: 1.3;
  white-space: nowrap; }

table tfoot {
  background: #fefefe; }
  table tfoot th {
    background: #0d436b;
    color: #fefefe; }
  table tfoot td {
    border: 1px solid rgba(216, 216, 216, 0.5);
    font-weight: normal; }

.table-scroll table {
  margin-bottom: 0; }

.table-scroll + .table-scroll {
  margin-top: 1.5rem; }

@-webkit-keyframes zipRight {
  0% {
    -webkit-transform: translate3d(0, 0, 0) scale(1, 1);
            transform: translate3d(0, 0, 0) scale(1, 1);
    opacity: 1; }
  50% {
    -webkit-transform: translate3d(10px, 0, 0) scale(1.3, 1);
            transform: translate3d(10px, 0, 0) scale(1.3, 1);
    opacity: 0; }
  51% {
    -webkit-transform: translate3d(-10px, 0, 0) scale(1.3, 1);
            transform: translate3d(-10px, 0, 0) scale(1.3, 1);
    opacity: 0; }
  100% {
    -webkit-transform: translate3d(0, 0, 0) scale(1, 1);
            transform: translate3d(0, 0, 0) scale(1, 1);
    opacity: 1; } }

@keyframes zipRight {
  0% {
    -webkit-transform: translate3d(0, 0, 0) scale(1, 1);
            transform: translate3d(0, 0, 0) scale(1, 1);
    opacity: 1; }
  50% {
    -webkit-transform: translate3d(10px, 0, 0) scale(1.3, 1);
            transform: translate3d(10px, 0, 0) scale(1.3, 1);
    opacity: 0; }
  51% {
    -webkit-transform: translate3d(-10px, 0, 0) scale(1.3, 1);
            transform: translate3d(-10px, 0, 0) scale(1.3, 1);
    opacity: 0; }
  100% {
    -webkit-transform: translate3d(0, 0, 0) scale(1, 1);
            transform: translate3d(0, 0, 0) scale(1, 1);
    opacity: 1; } }

@-webkit-keyframes zipLeft {
  0% {
    -webkit-transform: translate3d(0, 0, 0) scale(1, 1);
            transform: translate3d(0, 0, 0) scale(1, 1);
    opacity: 1; }
  50% {
    -webkit-transform: translate3d(-10px, 0, 0) scale(1.3, 1);
            transform: translate3d(-10px, 0, 0) scale(1.3, 1);
    opacity: 0; }
  51% {
    -webkit-transform: translate3d(10px, 0, 0) scale(1.3, 1);
            transform: translate3d(10px, 0, 0) scale(1.3, 1);
    opacity: 0; }
  100% {
    -webkit-transform: translate3d(0, 0, 0) scale(1, 1);
            transform: translate3d(0, 0, 0) scale(1, 1);
    opacity: 1; } }

@keyframes zipLeft {
  0% {
    -webkit-transform: translate3d(0, 0, 0) scale(1, 1);
            transform: translate3d(0, 0, 0) scale(1, 1);
    opacity: 1; }
  50% {
    -webkit-transform: translate3d(-10px, 0, 0) scale(1.3, 1);
            transform: translate3d(-10px, 0, 0) scale(1.3, 1);
    opacity: 0; }
  51% {
    -webkit-transform: translate3d(10px, 0, 0) scale(1.3, 1);
            transform: translate3d(10px, 0, 0) scale(1.3, 1);
    opacity: 0; }
  100% {
    -webkit-transform: translate3d(0, 0, 0) scale(1, 1);
            transform: translate3d(0, 0, 0) scale(1, 1);
    opacity: 1; } }

/* Slider */
.slick-slider {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -ms-touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
  box-sizing: border-box;
  display: block;
  position: relative;
  touch-action: pan-y;
  user-select: none; }

.slick-list {
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
  overflow: hidden; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  display: block;
  position: relative;
  top: 0;
  left: 0;
  margin-right: auto;
  margin-left: auto; }
  .slick-track:before, .slick-track:after {
    display: table;
    content: ""; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  display: none;
  height: 100%;
  min-height: 1px;
  float: left; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

html #wpadminbar {
  position: fixed; }

button,
.button {
  align-items: center;
  padding-top: 0;
  padding-bottom: 0;
  border: 0;
  font-family: "bio-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  font-weight: bold;
  line-height: 2.5em;
  text-transform: uppercase;
  cursor: pointer; }
  button img,
  .button img {
    width: 20px;
    height: 20px;
    margin-right: 0.25rem;
    vertical-align: -4px; }
    button img + span,
    .button img + span {
      vertical-align: 1px; }
  button span,
  .button span {
    display: inline-block;
    vertical-align: middle; }
  button:not(.button--plug):not(.js-search-toggle):not(.site-search__submit):focus .hny-svg, button:not(.button--plug):not(.js-search-toggle):not(.site-search__submit):hover .hny-svg,
  .button:not(.button--plug):not(.js-search-toggle):not(.site-search__submit):focus .hny-svg,
  .button:not(.button--plug):not(.js-search-toggle):not(.site-search__submit):hover .hny-svg {
    -webkit-animation: zipRight 0.4s cubic-bezier(0.77, 0, 0.175, 1);
            animation: zipRight 0.4s cubic-bezier(0.77, 0, 0.175, 1); }
  button--plug,
  .button--plug {
    position: relative;
    padding: 0;
    overflow: hidden;
    box-shadow: 0 4px 6px rgba(10, 10, 10, 0.11), 0 1px 3px rgba(10, 10, 10, 0.08); }
    @media print, screen and (max-width: 39.99875em) {
      button--plug,
      .button--plug {
        font-size: 0.875rem; } }
    button--plug:after,
    .button--plug:after {
      display: block;
      position: absolute;
      top: 0;
      right: 0;
      width: 2.5em;
      height: 2.5em;
      border-left: 1px solid #ed1b2e;
      background: #d01022;
      vertical-align: middle;
      content: '';
      transition: all 0.2s ease-in-out; }
    button--plug:before,
    .button--plug:before {
      z-index: 1;
      position: absolute;
      top: 0;
      right: 0;
      width: 2.5em;
      height: 2.5em;
      background: url("../images/jack-plug.svg") no-repeat center center;
      background-size: 1.5em 1.5em;
      content: ''; }
    button--plug span,
    .button--plug span {
      display: block;
      padding-right: 3.5em;
      padding-left: 1em; }
    button--plug:focus:after, button--plug:hover:after,
    .button--plug:focus:after,
    .button--plug:hover:after {
      background: #ed1b2e; }
    button--plug:focus:before, button--plug:hover:before,
    .button--plug:focus:before,
    .button--plug:hover:before {
      -webkit-animation: zipRight 0.4s cubic-bezier(0.77, 0, 0.175, 1);
              animation: zipRight 0.4s cubic-bezier(0.77, 0, 0.175, 1); }
    button--plug--reverse:after,
    .button--plug--reverse:after {
      right: auto;
      left: 0;
      border-right: 1px solid #ed1b2e;
      border-left: 0; }
    button--plug--reverse:before,
    .button--plug--reverse:before {
      right: auto;
      left: 0;
      background-image: url("../images/jack-plug-reverse.svg"); }
    button--plug--reverse span,
    .button--plug--reverse span {
      padding-right: 1em;
      padding-left: 3.5em; }
    button--plug--reverse:focus:before, button--plug--reverse:hover:before,
    .button--plug--reverse:focus:before,
    .button--plug--reverse:hover:before {
      -webkit-animation: zipLeft 0.4s cubic-bezier(0.77, 0, 0.175, 1);
              animation: zipLeft 0.4s cubic-bezier(0.77, 0, 0.175, 1); }
  button--file,
  .button--file {
    position: relative;
    padding: 0;
    overflow: hidden;
    box-shadow: 0 4px 6px rgba(10, 10, 10, 0.11), 0 1px 3px rgba(10, 10, 10, 0.08); }
    @media print, screen and (max-width: 39.99875em) {
      button--file,
      .button--file {
        font-size: 0.875rem; } }
    button--file:after,
    .button--file:after {
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      width: 2.5em;
      height: 2.5em;
      border-right: 1px solid #ed1b2e;
      background: #d01022;
      vertical-align: middle;
      content: '';
      transition: all 0.2s ease-in-out; }
    button--file.secondary:after,
    .button--file.secondary:after {
      border-right-color: #0d436b;
      background: #1879c2; }
    button--file.secondary:focus:after, button--file.secondary:hover:after,
    .button--file.secondary:focus:after,
    .button--file.secondary:hover:after {
      background: #0d436b; }
    button--file:before,
    .button--file:before {
      z-index: 1;
      position: absolute;
      top: 0;
      left: 0;
      width: 2.5em;
      height: 2.5em;
      background-size: 1.5em 1.5em !important;
      content: ''; }
    button--file span,
    .button--file span {
      display: block;
      padding-right: 1em;
      padding-left: 3.5em; }
    button--file:focus:after, button--file:hover:after,
    .button--file:focus:after,
    .button--file:hover:after {
      background: #ed1b2e; }
    button--file:focus:before, button--file:hover:before,
    .button--file:focus:before,
    .button--file:hover:before {
      -webkit-animation: zipLeft 0.4s cubic-bezier(0.77, 0, 0.175, 1);
              animation: zipLeft 0.4s cubic-bezier(0.77, 0, 0.175, 1); }
    button--file--excel:before,
    .button--file--excel:before {
      background: url("../images/xl.png") no-repeat center center; }
    button--file--pdf:before,
    .button--file--pdf:before {
      background: url("../images/pdf.png") no-repeat center center; }
  button.white,
  .button.white {
    border: 1px solid #fefefe;
    background: #fefefe;
    color: #ed1b2e; }
    button.white:after,
    .button.white:after {
      border: 0;
      background: #ed1b2e; }
    button.white:focus, button.white:hover,
    .button.white:focus,
    .button.white:hover {
      background: #fefefe;
      color: #484848; }

.callout {
  border-left: 4px solid currentColor;
  box-shadow: 0 4px 6px rgba(10, 10, 10, 0.11), 0 1px 3px rgba(10, 10, 10, 0.08); }
  .gfield_description .callout {
    margin-bottom: 0; }
  .callout a {
    text-decoration: underline; }
  .callout.alert {
    color: #ed1b2e; }
  .callout.success {
    border-left-color: #39C16C; }
  .callout.warning {
    border-left-color: #ffae00; }

select {
  max-width: none !important;
  height: auto;
  max-height: none !important;
  padding: 0.5rem 3rem 0.5rem 0.5rem !important;
  background-image: url("../images/chevron-down.svg");
  background-origin: border-box;
  background-position: right 1rem center;
  background-repeat: no-repeat;
  background-size: 16px 16px; }

.form-panel {
  padding: 1.5rem;
  border: 1px solid #e6e6e6;
  border-radius: 0;
  background: #fefefe;
  box-shadow: 0 4px 6px rgba(10, 10, 10, 0.11), 0 1px 3px rgba(10, 10, 10, 0.08); }
  @media screen and (min-width: 103.125em) {
    .form-panel {
      padding: 3rem; } }
  .form-panel p:last-child {
    margin-bottom: 0; }

.hny .gf_browser_ie.gform_wrapper .gform_footer input.button {
  padding: 0.85em 1em; }

.hny .gform_legacy_markup_wrapper .description,
.hny .gform_legacy_markup_wrapper .gfield_description,
.hny .gform_legacy_markup_wrapper .gsection_description {
  padding-right: 0 !important; }

.hny .gform_legacy_markup_wrapper .validation_message {
  color: #ed1b2e;
  font-weight: normal; }

.hny .gform_wrapper {
  margin-top: 0;
  margin-bottom: 0; }
  .hny .gform_wrapper h2.gsection_title {
    font-family: "bio-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
    font-weight: normal; }
  @media screen and (min-width: 40.0625em) {
    .hny .gform_wrapper ul.gform_fields {
      margin-right: -16px !important; } }
  .hny .gform_wrapper ul.gfield_radio li {
    display: flex;
    flex-flow: row wrap;
    align-items: center; }
    .hny .gform_wrapper ul.gfield_radio li input[type='radio'] {
      margin-top: 0 !important; }
      .hny .gform_wrapper ul.gfield_radio li input[type='radio'] + label {
        margin-top: 0 !important; }
  .hny .gform_wrapper .field_sublabel_below .ginput_complex.ginput_container label {
    color: #aeaeae;
    font-weight: normal;
    letter-spacing: 0; }
  .hny .gform_wrapper .gfield_error .gfield_label,
  .hny .gform_wrapper .gfield_required {
    color: #ed1b2e; }
  .hny .gform_wrapper .gfield_required {
    display: none !important; }
  .hny .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type='file']) {
    padding: 0.5rem !important; }
  .hny .gform_wrapper .gfield_radio li,
  .hny .gform_wrapper .gfield_checkbox li {
    display: flex;
    flex-flow: row wrap;
    align-items: flex-start; }
    .hny .gform_wrapper .gfield_radio li label,
    .hny .gform_wrapper .gfield_checkbox li label {
      max-width: 95%;
      margin-left: 0.25rem; }
    .hny .gform_wrapper .gfield_radio li input[type='radio'],
    .hny .gform_wrapper .gfield_radio li input[type='checkbox'],
    .hny .gform_wrapper .gfield_checkbox li input[type='radio'],
    .hny .gform_wrapper .gfield_checkbox li input[type='checkbox'] {
      flex: 0 1 auto;
      margin-top: 6px !important; }
      .hny .gform_wrapper .gfield_radio li input[type='radio'] + label,
      .hny .gform_wrapper .gfield_radio li input[type='checkbox'] + label,
      .hny .gform_wrapper .gfield_checkbox li input[type='radio'] + label,
      .hny .gform_wrapper .gfield_checkbox li input[type='checkbox'] + label {
        flex: 1;
        text-transform: none; }
  .hny .gform_wrapper .ginput_container_consent {
    display: flex;
    flex-flow: row wrap;
    align-items: flex-start; }
    .hny .gform_wrapper .ginput_container_consent label {
      max-width: 95%;
      margin-left: 0.25rem; }
    .hny .gform_wrapper .ginput_container_consent input[type='checkbox'] {
      flex: 0 1 auto;
      margin-top: 6px !important; }
      .hny .gform_wrapper .ginput_container_consent input[type='checkbox'] + label {
        flex: 1;
        margin-left: 0.5rem;
        text-transform: none; }
  .hny .gform_wrapper .gfield_list td.gfield_list_cell input,
  .hny .gform_wrapper .gfield_list td.gfield_list_cell select {
    margin-bottom: 0; }
  .hny .gform_wrapper .top_label div.ginput_container {
    margin-top: 0 !important; }
  .hny .gform_wrapper .top_label li ul.gfield_radio, .hny .gform_wrapper .top_label li ul.gfield_checkbox {
    width: 100%; }
    .hny .gform_wrapper .top_label li ul.gfield_radio li, .hny .gform_wrapper .top_label li ul.gfield_checkbox li {
      overflow: visible; }
      .hny .gform_wrapper .top_label li ul.gfield_radio li label, .hny .gform_wrapper .top_label li ul.gfield_checkbox li label {
        margin-left: 0.5rem;
        font-size: 1rem;
        text-transform: none; }
  .hny .gform_wrapper div.validation_error {
    display: none; }
  .hny .gform_wrapper div.ginput_container_fileupload {
    font-size: 0.6875rem; }
    .hny .gform_wrapper div.ginput_container_fileupload input.medium {
      width: 100%;
      font-size: 0.875rem; }
  .hny .gform_wrapper div.ginput_container_date input {
    max-width: 200px; }
  .hny .gform_wrapper li.gfield {
    margin-top: 0 !important;
    margin-bottom: 1rem !important; }
    .hny .gform_wrapper li.gfield label span {
      display: inline; }
    .hny .gform_wrapper li.gfield label:empty {
      display: none; }
    .hny .gform_wrapper li.gfield input[type='checkbox'] {
      vertical-align: top; }
    .hny .gform_wrapper li.gfield select,
    .hny .gform_wrapper li.gfield textarea,
    .hny .gform_wrapper li.gfield input {
      margin-bottom: 0 !important; }
      .hny .gform_wrapper li.gfield select + label,
      .hny .gform_wrapper li.gfield textarea + label,
      .hny .gform_wrapper li.gfield input + label {
        margin-bottom: 0 !important; }
    .hny .gform_wrapper li.gfield textarea {
      max-height: 150px; }
    .hny .gform_wrapper li.gfield.gfield_error {
      margin-bottom: 1rem !important;
      padding-top: 0;
      padding-bottom: 0;
      border: none;
      background: none;
      font-weight: bold; }
      .hny .gform_wrapper li.gfield.gfield_error select,
      .hny .gform_wrapper li.gfield.gfield_error textarea,
      .hny .gform_wrapper li.gfield.gfield_error input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type='file']) {
        margin-bottom: 0;
        border-color: rgba(237, 27, 46, 0.2); }
      .hny .gform_wrapper li.gfield.gfield_error.gfield_contains_required label.gfield_label {
        margin-top: 0; }
  .hny .gform_wrapper .field_description_above .gfield_description {
    padding-bottom: 0.25rem; }
  .hny .gform_wrapper .field_description_below .gfield_description {
    padding-top: 0.25rem; }
    .hny .gform_wrapper .field_description_below .gfield_description.validation_message {
      padding-right: 0;
      color: #ed1b2e;
      font-size: 0.75rem;
      font-weight: normal; }
  .hny .gform_wrapper .field_description_below .instruction {
    display: none; }
  .hny .gform_wrapper .gform_footer {
    position: relative;
    margin-top: 0;
    padding: 0; }
  .hny .gform_wrapper .gform_page_footer .button,
  .hny .gform_wrapper .gform_footer input.button,
  .hny .gform_wrapper .gform_footer input[type='submit'] {
    margin: 0 !important; }

@media only screen and (min-width: 641px) {
  .hny .gform_wrapper li.gf_list_inline ul.gfield_checkbox li, .hny .gform_wrapper li.gf_list_inline ul.gfield_radio li {
    margin: 0 1rem 10px 0; } }

html .gform_wrapper.gravity-theme .form_saved_message input[name="gform_send_resume_link_button"] {
  -webkit-appearance: none;
  display: inline-block;
  margin: 0;
  padding: 0.85em 1em;
  border: 1px solid transparent;
  border-radius: 0;
  font-family: inherit;
  font-size: 1.25rem;
  line-height: 1;
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
  transition: background-color 0.25s ease-out, color 0.25s ease-out; }
  [data-whatinput='mouse'] html .gform_wrapper.gravity-theme .form_saved_message input[name="gform_send_resume_link_button"] {
    outline: 0; }
  html .gform_wrapper.gravity-theme .form_saved_message input[name="gform_send_resume_link_button"], html .gform_wrapper.gravity-theme .form_saved_message input[name="gform_send_resume_link_button"].disabled, html .gform_wrapper.gravity-theme .form_saved_message input[name="gform_send_resume_link_button"][disabled], html .gform_wrapper.gravity-theme .form_saved_message input[name="gform_send_resume_link_button"].disabled:hover, html .gform_wrapper.gravity-theme .form_saved_message input[name="gform_send_resume_link_button"][disabled]:hover, html .gform_wrapper.gravity-theme .form_saved_message input[name="gform_send_resume_link_button"].disabled:focus, html .gform_wrapper.gravity-theme .form_saved_message input[name="gform_send_resume_link_button"][disabled]:focus {
    background-color: #ed1b2e;
    color: #fefefe; }
  html .gform_wrapper.gravity-theme .form_saved_message input[name="gform_send_resume_link_button"]:hover, html .gform_wrapper.gravity-theme .form_saved_message input[name="gform_send_resume_link_button"]:focus {
    background-color: #d01022;
    color: #fefefe; }

html .gform_wrapper.gravity-theme .form_saved_message .resume_form_link_wrapper {
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-size: 125%; }
  html .gform_wrapper.gravity-theme .form_saved_message .resume_form_link_wrapper ~ p {
    font-size: 0.875rem; }

html .gform_wrapper.gravity-theme .gform_save_link.button {
  color: #ed1b2e; }
  html .gform_wrapper.gravity-theme .gform_save_link.button:focus, html .gform_wrapper.gravity-theme .gform_save_link.button:hover {
    color: #c40f20; }

html .gform_wrapper.gravity-theme .gform_save_link, html .gform_wrapper.gravity-theme .gform_save_link.button {
  order: 1;
  height: auto;
  margin: 0 0 0 auto;
  padding: 0;
  border: 0;
  background: none;
  line-height: 1.5;
  text-decoration: underline; }
  html .gform_wrapper.gravity-theme .gform_save_link:before, html .gform_wrapper.gravity-theme .gform_save_link:after, html .gform_wrapper.gravity-theme .gform_save_link.button:before, html .gform_wrapper.gravity-theme .gform_save_link.button:after {
    content: none; }
  html .gform_wrapper.gravity-theme .gform_save_link svg, html .gform_wrapper.gravity-theme .gform_save_link.button svg {
    display: none; }
  @media print, screen and (max-width: 39.99875em) {
    html .gform_wrapper.gravity-theme .gform_save_link, html .gform_wrapper.gravity-theme .gform_save_link.button {
      flex: 1 0 auto;
      order: 100;
      width: 100%;
      margin: 0.5rem 0 0;
      font-size: 0.75rem; } }

html .gform_wrapper.gravity-theme .gfield_signature_container {
  width: 100vw !important; }
  html .gform_wrapper.gravity-theme .gfield_signature_container + div {
    visibility: hidden !important;
    position: absolute !important; }

html .gform_wrapper.gravity-theme .gform_validation_errors {
  margin-top: 0;
  margin-bottom: 1rem;
  padding: 1rem; }
  html .gform_wrapper.gravity-theme .gform_validation_errors > h2 {
    margin: 0;
    color: #ed1b2e;
    font-family: "bio-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
    font-size: 1rem;
    font-weight: bold;
    letter-spacing: inherit;
    line-height: 1.5;
    text-transform: none; }
    html .gform_wrapper.gravity-theme .gform_validation_errors > h2 .gform-icon {
      display: none; }
  html .gform_wrapper.gravity-theme .gform_validation_errors, html .gform_wrapper.gravity-theme .gform_validation_errors:focus {
    outline: none; }

html .gform_wrapper.gravity-theme .validation_message,
html .gform_wrapper.gravity-theme .instruction,
html .gform_wrapper.gravity-theme .gfield_validation_message {
  margin-top: 0.5rem;
  padding: 0.5rem; }

html .gform_wrapper.gravity-theme .gform_validation_errors,
html .gform_wrapper.gravity-theme .validation_message,
html .gform_wrapper.gravity-theme .instruction,
html .gform_wrapper.gravity-theme .gfield_validation_message {
  border: 0;
  border-radius: 0;
  background: #feedee;
  box-shadow: none;
  color: #ed1b2e;
  font-weight: normal;
  letter-spacing: inherit; }

html .gform_wrapper.gravity-theme .validation_message,
html .gform_wrapper.gravity-theme .gfield_validation_message,
html .gform_wrapper.gravity-theme .description,
html .gform_wrapper.gravity-theme .gfield_description,
html .gform_wrapper.gravity-theme .instruction {
  font-size: 0.8125rem; }

html .gform_wrapper.gravity-theme .gfield_error .gfield_repeater_cell label,
html .gform_wrapper.gravity-theme .gfield_error label,
html .gform_wrapper.gravity-theme .gfield_error legend {
  color: #ed1b2e; }

html .gform_wrapper.gravity-theme .gfield_error [aria-invalid=true] {
  border-color: #ed1b2e; }

html .gform_wrapper.gravity-theme [aria-invalid="true"] + label,
html .gform_wrapper.gravity-theme label + [aria-invalid="true"] {
  color: #ed1b2e; }

html .gform_wrapper.gravity-theme .gfield select {
  padding-right: 1.5rem; }

html .gform_wrapper.gravity-theme .gfield.field_sublabel_above .ginput_complex label {
  padding-top: 0;
  padding-bottom: 0.25rem; }

html .gform_wrapper.gravity-theme .gfield .ginput_complex label {
  padding-top: 0.25rem;
  font-size: 0.875rem;
  font-weight: normal; }

html .gform_wrapper.gravity-theme .gfield .gfield_label {
  margin-bottom: 0.25rem;
  color: #0a0a0a;
  font-size: 1rem;
  font-weight: normal; }

html .gform_wrapper.gravity-theme .gfield .ginput_container_consent,
html .gform_wrapper.gravity-theme .gfield .gchoice {
  display: flex;
  align-items: baseline; }
  html .gform_wrapper.gravity-theme .gfield .ginput_container_consent input,
  html .gform_wrapper.gravity-theme .gfield .gchoice input {
    margin: 0 0.5em 0 0; }
    html .gform_wrapper.gravity-theme .gfield .ginput_container_consent input + label,
    html .gform_wrapper.gravity-theme .gfield .gchoice input + label {
      max-width: none;
      margin-right: 0;
      margin-left: 0;
      font-size: 1rem;
      font-weight: normal;
      line-height: 1.3; }

html .gform_wrapper.gravity-theme .gform_footer,
html .gform_wrapper.gravity-theme .gform_page_footer {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  justify-content: flex-end;
  margin-top: 0;
  padding: 0; }
  html .gform_wrapper.gravity-theme .gform_footer .button,
  html .gform_wrapper.gravity-theme .gform_page_footer .button {
    margin-bottom: 0;
    white-space: nowrap; }
    @media print, screen and (min-width: 40em) {
      html .gform_wrapper.gravity-theme .gform_footer .button:first-child.gform_next_button,
      html .gform_wrapper.gravity-theme .gform_page_footer .button:first-child.gform_next_button {
        margin-left: 0.5rem; } }
    html .gform_wrapper.gravity-theme .gform_footer .button:not(.gform_save_link),
    html .gform_wrapper.gravity-theme .gform_page_footer .button:not(.gform_save_link) {
      flex: 1 1; }
      @media print, screen and (min-width: 40em) {
        html .gform_wrapper.gravity-theme .gform_footer .button:not(.gform_save_link),
        html .gform_wrapper.gravity-theme .gform_page_footer .button:not(.gform_save_link) {
          flex: 0 1 auto; } }
    html .gform_wrapper.gravity-theme .gform_footer .button.gform_button, html .gform_wrapper.gravity-theme .gform_footer .button.gform_next_button,
    html .gform_wrapper.gravity-theme .gform_page_footer .button.gform_button,
    html .gform_wrapper.gravity-theme .gform_page_footer .button.gform_next_button {
      margin-right: 0; }
    html .gform_wrapper.gravity-theme .gform_footer .button[type="submit"],
    html .gform_wrapper.gravity-theme .gform_page_footer .button[type="submit"] {
      order: 3; }
      @media print, screen and (min-width: 40em) {
        html .gform_wrapper.gravity-theme .gform_footer .button[type="submit"] + .gform_save_link,
        html .gform_wrapper.gravity-theme .gform_page_footer .button[type="submit"] + .gform_save_link {
          margin-right: 0.5rem; } }
    html .gform_wrapper.gravity-theme .gform_footer .button.gform_next_button,
    html .gform_wrapper.gravity-theme .gform_page_footer .button.gform_next_button {
      order: 2; }
      html .gform_wrapper.gravity-theme .gform_footer .button.gform_next_button + .gform_save_link,
      html .gform_wrapper.gravity-theme .gform_page_footer .button.gform_next_button + .gform_save_link {
        margin-left: 0; }
    html .gform_wrapper.gravity-theme .gform_footer .button.gform_previous_button,
    html .gform_wrapper.gravity-theme .gform_page_footer .button.gform_previous_button {
      order: -1;
      margin-right: auto;
      margin-bottom: 0; }
      html .gform_wrapper.gravity-theme .gform_footer .button.gform_previous_button ~ .gform_next_button,
      html .gform_wrapper.gravity-theme .gform_page_footer .button.gform_previous_button ~ .gform_next_button {
        margin-left: 0.5rem; }
      html .gform_wrapper.gravity-theme .gform_footer .button.gform_previous_button ~ .gform_save_link,
      html .gform_wrapper.gravity-theme .gform_page_footer .button.gform_previous_button ~ .gform_save_link {
        margin-left: auto; }

html .gform_wrapper.gravity-theme .gform-loader {
  margin-right: 0.5rem; }

.hny .gform_wrapper .gf_page_steps {
  display: flex;
  flex-flow: row wrap;
  margin-bottom: 1.5rem;
  padding-bottom: 0;
  border: 0; }

.hny .gform_wrapper .gf_step {
  display: flex;
  position: relative;
  flex: 1;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: auto;
  margin: 0;
  color: #aeaeae;
  font-size: 0.75rem;
  opacity: 1; }
  @media print, screen and (min-width: 64em) {
    .hny .gform_wrapper .gf_step {
      font-size: 0.875rem; } }
  .hny .gform_wrapper .gf_step.gf_step_last .gf_step_label:after {
    content: none; }
  .hny .gform_wrapper .gf_step.gf_step_active, .hny .gform_wrapper .gf_step.gf_step_completed {
    font-weight: bold; }
  .hny .gform_wrapper .gf_step.gf_step_completed {
    color: #39C16C; }
    .hny .gform_wrapper .gf_step.gf_step_completed .gf_step_label:after {
      background: #39C16C; }
    .hny .gform_wrapper .gf_step.gf_step_completed .gf_step_number {
      border-color: #39C16C;
      background: #39C16C;
      color: #fefefe; }
    .hny .gform_wrapper .gf_step.gf_step_completed.gf_step_previous .gf_step_label:after {
      background: linear-gradient(to right, #39C16C 0%, #0d436b 100%); }
  .hny .gform_wrapper .gf_step .gf_step_number {
    display: flex;
    align-items: center;
    justify-content: center;
    order: 2;
    width: 48px;
    height: 48px;
    margin: 0;
    border: 4px solid currentColor;
    border-radius: 50%;
    background: #fefefe;
    font-size: 1.25rem; }
  .hny .gform_wrapper .gf_step .gf_step_label {
    display: block;
    position: relative;
    order: 1;
    width: 100%;
    height: 25px;
    margin-bottom: 0;
    text-align: center; }
    .hny .gform_wrapper .gf_step .gf_step_label:after {
      z-index: -1;
      position: absolute;
      top: 47px;
      left: 50%;
      width: 100%;
      height: 4px;
      background: #aeaeae;
      content: ''; }
  .hny .gform_wrapper .gf_step.gf_step_active {
    color: #0d436b; }

.grid-container--wide {
  max-width: 1500px; }

.grid-container--narrow {
  max-width: 750px; }

.grid-container--full-width {
  max-width: none;
  padding: 0; }

.grid-container .grid-padding-x {
  margin-right: -1.5rem;
  margin-left: -1.5rem; }
  .grid-container .grid-padding-x--small {
    margin-right: -0.75rem;
    margin-left: -0.75rem; }
    .grid-container .grid-padding-x--small > .cell {
      padding-right: 0.75rem;
      padding-left: 0.75rem; }

.cell--flex {
  display: flex; }

h1 {
  color: #ed1b2e;
  line-height: 1; }

h4,
h5,
h6 {
  font-family: "bio-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  font-weight: bold; }

.section-heading {
  color: #ed1b2e; }
  @media print, screen and (min-width: 40em) {
    .section-heading--right {
      text-align: right; } }
  .section-heading h1 {
    font-size: 2.5rem; }
    @media screen and (min-width: 103.125em) {
      .section-heading h1 {
        font-size: 3rem; } }

.hny-svg {
  fill: currentColor;
  display: inline-block;
  width: 0.8em;
  height: 1em;
  vertical-align: middle; }
  .hny-svg path {
    fill: currentColor; }

.l-header {
  display: flex;
  z-index: 500;
  position: fixed;
  top: 0;
  left: 0;
  align-items: center;
  width: 100%;
  background: #fefefe;
  box-shadow: 0 18px 140px rgba(10, 10, 10, 0.25), 0 5px 15px rgba(10, 10, 10, 0.15);
  transition: all 0.2s ease-in-out; }
  .admin-bar .l-header {
    top: 46px; }
    @media screen and (min-width: 48.875em) {
      .admin-bar .l-header {
        top: 32px; } }
    @media print, screen and (min-width: 64em) {
      .admin-bar .l-header {
        top: 0; } }
  .is-mobile-nav-open .l-header {
    box-shadow: none; }
  @media print, screen and (min-width: 64em) {
    .l-header {
      position: relative;
      padding-top: 1.5rem;
      padding-bottom: 2.5rem;
      box-shadow: none; } }
  @media screen and (min-width: 80em) {
    .l-header {
      padding-bottom: 3rem; } }
  @media print, screen and (min-width: 64em) {
    .l-header:after {
      position: absolute;
      top: 0;
      right: 0;
      width: 50%;
      height: 100%;
      background: #ed1b2e;
      content: ''; } }

.l-hero {
  overflow: hidden; }

.l-main {
  display: flex;
  flex: 1 0 auto;
  flex-direction: column;
  justify-content: center;
  margin-top: calc(36px + 3rem);
  overflow: hidden; }
  @media print, screen and (min-width: 64em) {
    .l-main {
      margin-top: 0; } }

.l-container {
  padding-top: 3rem;
  padding-bottom: 3rem; }
  @media print, screen and (min-width: 64em) {
    .l-container {
      padding-top: 5rem;
      padding-bottom: 5rem; } }

.l-footer {
  z-index: 5;
  position: relative;
  margin-top: auto; }

.pagination__wrapper {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  text-align: center; }
  .pagination__wrapper:before, .pagination__wrapper:after {
    display: block;
    flex-grow: 1;
    height: 1px;
    background: #e6e6e6;
    content: ''; }

.pagination ul {
  display: flex;
  align-items: center;
  margin: 3rem 0; }
  .pagination ul li {
    display: inline-block;
    line-height: 1;
    vertical-align: middle; }
    .pagination ul li a,
    .pagination ul li span {
      display: block;
      padding: 0 12px;
      font-weight: normal; }
      .pagination ul li a.next .hny-svg, .pagination ul li a.prev .hny-svg,
      .pagination ul li span.next .hny-svg,
      .pagination ul li span.prev .hny-svg {
        fill: #484848; }
      .pagination ul li a.next:focus .hny-svg, .pagination ul li a.next:hover .hny-svg, .pagination ul li a.prev:focus .hny-svg, .pagination ul li a.prev:hover .hny-svg,
      .pagination ul li span.next:focus .hny-svg,
      .pagination ul li span.next:hover .hny-svg,
      .pagination ul li span.prev:focus .hny-svg,
      .pagination ul li span.prev:hover .hny-svg {
        fill: #ed1b2e; }
      .pagination ul li a.current,
      .pagination ul li span.current {
        position: relative;
        color: #fefefe;
        font-weight: bold; }
        .pagination ul li a.current:after,
        .pagination ul li span.current:after {
          display: block;
          z-index: -1;
          position: absolute;
          top: 50%;
          left: 50%;
          width: 100%;
          height: 100%;
          padding-bottom: 100%;
          -webkit-transform: translate(-50%, -50%);
                  transform: translate(-50%, -50%);
          border-radius: 100%;
          background: #ed1b2e;
          content: ''; }
    .pagination ul li.pagination-previous > a, .pagination ul li.pagination-next > a {
      margin: 0 1.5rem;
      font-size: 0.6875rem;
      font-weight: bold;
      text-transform: uppercase; }

.slick-slider,
.slick-slider * {
  outline: none !important; }

[data-slick-slider] [data-slick-slide]:not(:first-child) {
  display: none; }

[data-slick-slider].slick-initialized [data-slick-slide] {
  display: block; }

[data-slick-slider].slick-initialized + .loader {
  display: none; }

.slick-arrow {
  position: absolute;
  top: 50%;
  width: 24px;
  height: 24px;
  margin-top: -12px;
  border: none;
  background: transparent;
  text-indent: -9999px;
  cursor: pointer;
  transition: all 0.2s ease-in-out; }
  .slick-arrow, .slick-arrow:focus, .slick-arrow:hover {
    box-shadow: none; }
  .slick-arrow svg {
    fill: #ed1b2e; }
  .slick-arrow.slick-disabled {
    visibility: hidden;
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px);
    opacity: 0; }

.slick-prev {
  left: -0.25rem; }

.slick-next {
  right: -0.25rem; }

.wysiwyg {
  word-wrap: break-word;
  -ms-word-break: break-all;
  /* Adds a hyphen where the word breaks, if supported (No Blink) */
  -ms-hyphens: auto;
  -webkit-hyphens: auto;
  hyphens: auto;
  /* This is the dangerous one in WebKit, as it breaks things wherever */
  word-break: break-all;
  /* Instead use this non-standard one: */
  word-break: break-word;
  /* These are technically the same, but use both */
  overflow-wrap: break-word; }
  .wysiwyg img {
    max-width: 100%;
    height: auto; }
  .wysiwyg h1,
  .wysiwyg h2,
  .wysiwyg h3,
  .wysiwyg h4,
  .wysiwyg h5,
  .wysiwyg h6 {
    display: block;
    clear: both; }
  .wysiwyg .alignleft {
    margin: 0.5rem 1rem 0.5rem 0;
    float: left; }
  .wysiwyg .aligncenter {
    display: block;
    margin: 10px auto; }
  .wysiwyg .alignright {
    margin: 0.5rem 0 0.5rem 1rem;
    float: right; }
  .wysiwyg .alignnone {
    display: block;
    margin: 0.5rem 0; }
  .wysiwyg .gallery {
    overflow: hidden; }
    .wysiwyg .gallery .gallery-item {
      width: 0.166666667%;
      margin: 0 0 2%; }
      .wysiwyg .gallery .gallery-item a {
        display: block; }
        .wysiwyg .gallery .gallery-item a img {
          display: block; }
  .wysiwyg .wp-caption > figcaption {
    max-width: 100%;
    padding: 0.25rem 0;
    color: #8a8a8a;
    font-size: 0.8rem; }
  .wysiwyg ul:not(.checklist):not(.gform_fields):not(.contact-list):not(.gfield_checkbox):not(.gfield_radio) {
    margin-left: 0 !important;
    list-style: none !important; }
    .wysiwyg ul:not(.checklist):not(.gform_fields):not(.contact-list):not(.gfield_checkbox):not(.gfield_radio) li {
      position: relative;
      padding-left: 1rem;
      list-style: none !important; }
      .wysiwyg ul:not(.checklist):not(.gform_fields):not(.contact-list):not(.gfield_checkbox):not(.gfield_radio) li:before {
        position: absolute;
        top: 0;
        left: 0;
        width: 6px;
        height: 6px;
        margin-top: 10px;
        background: #ed1b2e;
        content: ''; }
    .wysiwyg ul:not(.checklist):not(.gform_fields):not(.contact-list):not(.gfield_checkbox):not(.gfield_radio) ul {
      margin-top: 0.25rem;
      margin-left: 1rem; }
      .wysiwyg ul:not(.checklist):not(.gform_fields):not(.contact-list):not(.gfield_checkbox):not(.gfield_radio) ul li {
        padding-left: 1.5rem; }
        .wysiwyg ul:not(.checklist):not(.gform_fields):not(.contact-list):not(.gfield_checkbox):not(.gfield_radio) ul li:before {
          position: absolute;
          top: 11px;
          left: 0;
          width: 1rem;
          height: 1px;
          margin-top: 0;
          background: #aeaeae;
          content: ''; }
  .wysiwyg p.wp-caption-text {
    padding: 0.625rem 0;
    color: #8a8a8a;
    font-size: 90%; }

.error404 .page-content {
  text-align: center; }

.back-to-top {
  display: inline-block;
  visibility: hidden;
  z-index: 9997;
  position: fixed;
  right: 0.5rem;
  bottom: 0.5rem;
  width: 40px;
  height: 40px;
  overflow: hidden;
  -webkit-transform: translateY(20px);
          transform: translateY(20px);
  border: 2px solid #fefefe;
  border-radius: 50%;
  background: #ed1b2e;
  box-shadow: 0 18px 35px rgba(10, 10, 10, 0.25), 0 5px 15px rgba(10, 10, 10, 0.15);
  color: #fefefe;
  line-height: 45px;
  text-align: center;
  white-space: nowrap;
  opacity: 0;
  transition: all 0.2s ease-in-out; }
  @media print, screen and (min-width: 64em) {
    .back-to-top {
      right: 1rem;
      bottom: 1rem;
      width: 50px;
      height: 50px; } }
  .back-to-top:hover, .back-to-top:focus {
    border-color: #e6e6e6;
    background: #fefefe; }
    .back-to-top:hover .hny-svg, .back-to-top:focus .hny-svg {
      fill: #ed1b2e; }
  .back-to-top .hny-svg {
    fill: #fefefe;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 26px;
    height: 26px;
    margin: -14px 0 0 -13px; }
  .back-to-top.is-visible {
    visibility: visible;
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1; }

.gfield_html > table *,
.check-in > table * {
  font-family: "bio-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif !important;
  font-size: 1rem !important; }

.gfield_html > table strong,
.check-in > table strong {
  display: block; }

.gfield_html > table *[bgcolor='#EAF2FA'],
.check-in > table *[bgcolor='#EAF2FA'] {
  background: #fefefe !important; }

.gfield_html > table > tbody > tr > td,
.check-in > table > tbody > tr > td {
  padding: 0; }

.gfield_html > table > tbody table,
.check-in > table > tbody table {
  margin-bottom: 0; }

.gfield_html > table > tbody tbody,
.check-in > table > tbody tbody {
  border: none; }

.gfield_html td[width='20'],
.check-in td[width='20'] {
  display: none; }

.checklist {
  margin: 0;
  list-style: none; }
  .checklist--two-column {
    -webkit-column-gap: 1.5rem;
       -moz-column-gap: 1.5rem;
            column-gap: 1.5rem;
    -webkit-column-count: 2;
       -moz-column-count: 2;
            column-count: 2; }
    .checklist--two-column li {
      -webkit-column-break-inside: avoid;
      -moz-column-break-inside: avoid;
           break-inside: avoid;
      page-break-inside: avoid;
      will-change: transform; }
  .checklist li {
    position: relative;
    padding-left: calc(20px + 0.5rem); }
    .checklist li + li {
      margin-top: 0.75rem; }
    .checklist li .hny-svg {
      fill: #ed1b2e;
      position: absolute;
      top: 0;
      left: 0;
      width: 20px;
      height: 20px; }
      .checklist li .hny-svg--warning {
        fill: #ffae00; }

.contact-list {
  margin: 0;
  list-style: none; }
  .contact-list li {
    display: flex;
    align-items: center; }
    .contact-list li + li {
      margin-top: 0.25rem; }
  .contact-list .hny-svg {
    fill: currentColor;
    width: 32px;
    height: 32px; }

.content-block {
  position: relative; }
  .content-block--default:not(.content-block--no-spacing) + .content-block--default:not(.content-block--no-spacing) .l-container {
    padding-top: 0; }
  .content-block--centered {
    text-align: center; }
  .content-block__container {
    position: relative; }
  .content-block__wrapper {
    display: flex;
    flex: 0 0 100%;
    flex-direction: column;
    max-width: 100%; }
  .content-block__content {
    flex-shrink: 0; }
  .content-block__layout--two-column .cell + .cell .content-block__column, .content-block__layout--three-column .cell + .cell .content-block__column, .content-block__layout--four-column .cell + .cell .content-block__column, .content-block__layout--five-column .cell + .cell .content-block__column {
    margin-top: 3rem; }
    @media print, screen and (min-width: 64em) {
      .content-block__layout--two-column .cell + .cell .content-block__column, .content-block__layout--three-column .cell + .cell .content-block__column, .content-block__layout--four-column .cell + .cell .content-block__column, .content-block__layout--five-column .cell + .cell .content-block__column {
        margin-top: 0; } }
  @media print, screen and (min-width: 64em) {
    .content-block__layout--three-column .grid-x, .content-block__layout--four-column .grid-x, .content-block__layout--five-column .grid-x {
      justify-content: center; } }
  @media print, screen and (min-width: 64em) {
    .content-block__layout--two-column .cell:nth-child(2n+3), .content-block__layout--two-column .cell:nth-child(2n+4) {
      margin-top: 3rem; } }
  @media print, screen and (min-width: 64em) {
    .content-block__layout--three-column .cell:nth-child(6n+4), .content-block__layout--three-column .cell:nth-child(6n+5), .content-block__layout--three-column .cell:nth-child(6n+6) {
      margin-top: 3rem; } }
  @media print, screen and (min-width: 64em) {
    .content-block__layout--four-column .cell:nth-child(8n+5), .content-block__layout--four-column .cell:nth-child(8n+6), .content-block__layout--four-column .cell:nth-child(8n+7), .content-block__layout--four-column .cell:nth-child(8n+8) {
      margin-top: 3rem; } }
  @media print, screen and (min-width: 64em) {
    .content-block__layout--five-column .cell:nth-child(10n+6), .content-block__layout--five-column .cell:nth-child(10n+7), .content-block__layout--five-column .cell:nth-child(10n+8), .content-block__layout--five-column .cell:nth-child(10n+9), .content-block__layout--five-column .cell:nth-child(10n+10) {
      margin-top: 3rem; } }
  @media screen and (min-width: 103.125em) {
    .content-block--centered .content-block__layout--two-column .content-block__column {
      max-width: 75%;
      margin: 0 auto; } }
  .content-block__module:not(.content-block__module--heading) + .content-block__module {
    margin-top: 1.25rem; }
  .content-block__module {
    flex-shrink: 0; }
  .content-block__column {
    display: flex;
    flex: 0 0 100%;
    flex-direction: column;
    max-width: 100%; }
  .content-block__modules {
    flex-shrink: 0; }
    .content-block__modules .content-block__module:last-child.content-block__module--button {
      margin-top: auto; }

.date-utility {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  margin: 0 -0.25rem; }
  .date-utility label {
    flex: 1 1;
    padding: 0 0.25rem; }

.entry-list__legend {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.5rem;
  font-size: 0.8125rem; }
  .entry-list__legend > div {
    display: flex;
    flex-flow: row nowrap;
    align-items: center; }
    .entry-list__legend > div > * + * {
      margin-left: 0.5rem; }
  .entry-list__legend ul {
    display: flex;
    flex: 0 0 100%;
    flex-flow: row wrap;
    order: 2;
    max-width: 100%;
    margin: 1.5rem 0 0;
    font-size: 0.625rem;
    list-style: none; }
    @media print, screen and (min-width: 40em) {
      .entry-list__legend ul {
        flex-wrap: nowrap; } }
    @media print, screen and (min-width: 64em) {
      .entry-list__legend ul {
        flex: 0 1 auto;
        order: -1;
        margin: 0;
        font-size: 0.8125rem; } }
    .entry-list__legend ul li {
      display: flex;
      align-items: center;
      max-width: 50%;
      margin-right: 1rem;
      margin-bottom: 0.5rem;
      line-height: 1.1; }
      .entry-list__legend ul li:last-child {
        margin-right: 0; }
      .entry-list__legend ul li .hny-svg {
        margin-right: 0.25rem; }
        @media print, screen and (max-width: 39.99875em) {
          .entry-list__legend ul li .hny-svg {
            width: 18px;
            height: 18px; } }

.entry-list .grow {
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap; }

.entry-list .button {
  white-space: nowrap; }

.entry-list .hny-svg {
  fill: #fefefe;
  width: 20px;
  height: 20px;
  padding: 3px;
  overflow: visible;
  border-radius: 50%;
  background: #aeaeae;
  opacity: 0.75; }
  .entry-list .hny-svg--question-mark {
    background: #ed1b2e;
    opacity: 1; }
  .entry-list .hny-svg--check {
    background: #39C16C;
    opacity: 1; }
  .entry-list .hny-svg--not-notified {
    fill: #aeaeae;
    padding: 0;
    border-radius: 0;
    background: none; }
  .entry-list .hny-svg--warn {
    background: #ffae00;
    opacity: 1; }

.entry-list td small {
  display: block;
  font-weight: normal; }

.entry-list th {
  background: #0d436b;
  color: #fefefe; }

.entry-list .has-fake-link:hover td:first-child {
  border-left-color: #ed1b2e; }

.entry-list .has-fake-link.is-open td:first-child {
  border-left-color: #ed1b2e; }

.entry-list .has-fake-link.is-open + tr td {
  padding: 1.5rem;
  background: #e6e6e6 !important; }
  .entry-list .has-fake-link.is-open + tr td h6 {
    margin-bottom: 0.5rem; }
  .entry-list .has-fake-link.is-open + tr td ul {
    margin-bottom: 0; }
    .entry-list .has-fake-link.is-open + tr td ul a {
      color: #484848;
      font-weight: normal; }
    .entry-list .has-fake-link.is-open + tr td ul span {
      font-size: 1rem; }
    .entry-list .has-fake-link.is-open + tr td ul li + li {
      margin-top: 0.5rem; }
  .entry-list .has-fake-link.is-open + tr td p {
    margin-bottom: 0; }
  .entry-list .has-fake-link.is-open + tr td:first-child {
    border-left-width: 3px;
    border-left-color: #ed1b2e; }

.entry-list .has-fake-link td {
  position: relative; }
  .entry-list .has-fake-link td:first-child {
    border-left-width: 3px; }
  .entry-list .has-fake-link td > button {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

.entry-list .highlight tr {
  background: #fefefe; }
  .entry-list .highlight tr td {
    border: 1px solid #e6e6e6; }
    .entry-list .highlight tr td:last-child:not(:first-child) {
      background: rgba(255, 174, 0, 0.1);
      font-weight: bold; }

.faq-list__block + .faq-list__block {
  margin-top: 3rem;
  padding-top: 3rem;
  border-top: 2px solid #8a8a8a; }

.faq-list__item + .faq-list__item {
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid #e6e6e6; }

.faq-list__item h6 {
  position: relative; }
  .faq-list__item h6 span {
    display: block;
    padding-left: 30px; }
  .faq-list__item h6 .hny-svg {
    fill: #fefefe;
    position: absolute;
    top: 0;
    left: 0;
    width: 24px;
    height: 24px;
    padding: 5px;
    background: #ed1b2e; }

.header-utility {
  display: none;
  color: #fefefe;
  font-size: 0.875rem; }
  @media print, screen and (min-width: 64em) {
    .header-utility {
      display: flex;
      flex-flow: row wrap;
      justify-content: flex-end;
      margin-bottom: 0.5rem; } }
  .header-utility a {
    color: #fefefe; }
  .header-utility > * + * {
    margin-left: 0.5rem;
    padding-left: 0.5rem;
    border-left: 1px solid rgba(254, 254, 254, 0.5); }

.hero {
  background: #e6e6e6; }

.legal-nav__items {
  display: flex;
  flex-flow: row wrap;
  margin: 0;
  list-style: none; }

.legal-nav__item + .legal-nav__item {
  margin-left: 0.75rem;
  padding-left: 0.75rem;
  border-left: 1px solid rgba(254, 254, 254, 0.5); }

.listing__item + .listing__item {
  margin-top: 3rem; }

.login-form .login-submit {
  padding-bottom: 1rem; }
  .login-form .login-submit .button {
    display: block;
    width: 100%; }

.login-form p {
  margin-bottom: 0;
  font-size: 0.875rem; }

.login-form__lost-password {
  text-align: center; }

.login-form__divider {
  display: flex;
  z-index: 1;
  position: relative;
  align-items: center;
  justify-content: center;
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
  color: #484848;
  font-size: 0.75rem;
  text-align: center; }
  .login-form__divider:after {
    z-index: -1;
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 1px;
    margin-top: -0.5px;
    background: #aeaeae;
    content: ''; }
  .login-form__divider span {
    display: block;
    padding: 1rem;
    background: #f1f1f1; }

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

.logo-list {
  display: flex;
  flex: 1;
  flex-flow: row wrap;
  justify-content: center;
  margin: 0 -1rem; }
  @media print, screen and (min-width: 40em) {
    .logo-list {
      justify-content: space-between; } }
  @media print, screen and (min-width: 64em) {
    .logo-list {
      margin: 0 -2rem; } }
  @media print, screen and (min-width: 64em) and (max-width: 79.99875em) {
    .site-footer .logo-list {
      justify-content: center; } }
  .content-block--has-logos .logo-list {
    margin-top: 1rem;
    margin-bottom: 1rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
    border-top: 1px solid #e6e6e6; }
  .site-footer .logo-list {
    margin: 0 -0.5rem; }
  .logo-list__item {
    display: flex;
    flex: 0 0 25%;
    max-width: 25%; }
    @media print, screen and (min-width: 40em) {
      .logo-list__item {
        flex: 1;
        max-width: none; } }
    @media print, screen and (min-width: 64em) and (max-width: 79.99875em) {
      .site-footer .logo-list__item {
        flex: 0 0 33.33333%;
        max-width: 33.33333%; } }
  .logo-list a {
    display: flex;
    flex: 1;
    align-content: center;
    align-items: center;
    justify-content: center;
    padding: 0 1rem;
    text-align: center; }
    @media print, screen and (min-width: 64em) {
      .logo-list a {
        padding: 0 2rem; } }
    .site-footer .logo-list a {
      padding: 0 0.5rem; }
    .logo-list a img {
      width: 100%; }

.logo {
  display: block; }
  .logo--large svg {
    width: 200px;
    height: 41.37931px; }
    @media screen and (max-width: 20em) {
      .logo--large svg {
        width: 190px;
        height: 39.31034px; } }
    @media print, screen and (min-width: 40em) {
      .logo--large svg {
        width: 250px;
        height: 51.72414px; } }
    @media print, screen and (min-width: 64em) {
      .logo--large svg {
        width: 350px;
        height: 72.41379px; } }
    @media screen and (min-width: 103.125em) {
      .logo--large svg {
        width: 500px;
        height: 103.44828px; } }

.masthead {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  justify-content: space-between;
  margin: 0 -1.5rem;
  background: #fefefe; }
  @media print, screen and (min-width: 64em) {
    .masthead {
      margin: 0;
      background: transparent; } }
  .masthead__logo {
    flex: 1;
    padding-right: 1.5rem;
    padding-left: 1.5rem; }
    @media print, screen and (min-width: 64em) {
      .masthead__logo {
        padding-right: 0;
        padding-left: 0; } }
    .masthead__logo .logo {
      display: inline-block; }
  @media print, screen and (min-width: 64em) {
    .masthead__nav {
      display: block;
      flex: 0 0 50%;
      align-items: flex-start;
      max-width: 50%;
      height: auto;
      margin: 0;
      padding-right: 0;
      padding-left: 1.5rem;
      background: none; } }
  @media screen and (min-width: 80em) {
    .masthead__nav {
      padding-left: 3rem; } }

.mobile-nav {
  z-index: -1;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 100%;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  background-color: white;
  transition: all 0.2s ease-in-out; }
  @media print, screen and (min-width: 64em) {
    .mobile-nav {
      display: none; } }
  .is-mobile-nav-open .mobile-nav {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  .mobile-nav__wrapper {
    display: flex;
    flex-flow: column;
    justify-content: space-between;
    height: 100%;
    padding: calc(36px + 3rem) 1.5rem 1.5rem;
    overflow-x: hidden;
    overflow-y: auto; }
    .admin-bar .mobile-nav__wrapper {
      padding: calc(36px + 32px + 3rem) 1.5rem 1.5rem; }
      @media screen and (min-width: 48.875em) {
        .admin-bar .mobile-nav__wrapper {
          padding: calc(36px + 46px + 3rem) 1.5rem 1.5rem; } }
  .mobile-nav__items, .mobile-nav__utility {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
    opacity: 0;
    transition: opacity 0.75s ease-in-out, -webkit-transform 0.5s ease-in-out;
    transition: transform 0.5s ease-in-out, opacity 0.75s ease-in-out;
    transition: transform 0.5s ease-in-out, opacity 0.75s ease-in-out, -webkit-transform 0.5s ease-in-out; }
    .is-mobile-nav-open .mobile-nav__items, .is-mobile-nav-open .mobile-nav__utility {
      -webkit-transform: none;
              transform: none;
      opacity: 1; }
  .mobile-nav ul {
    list-style: none; }
  .mobile-nav__items {
    margin: 0;
    list-style: none; }
    .mobile-nav__items li > a {
      display: flex;
      position: relative;
      flex-flow: row wrap;
      align-items: center;
      padding-top: 12px;
      padding-right: 0;
      padding-bottom: 12px;
      padding-left: 0;
      border-bottom: 1px solid #e6e6e6;
      color: #484848;
      font-size: 1.375rem;
      font-weight: normal;
      line-height: 30px;
      text-decoration: none; }
      .mobile-nav__items li > a:focus, .mobile-nav__items li > a:hover {
        color: #484848; }
      .mobile-nav__items li > a .hny-svg {
        fill: currentColor;
        width: 22px;
        height: 22px;
        margin-top: 0.25rem;
        margin-right: 0.5rem; }
    .mobile-nav__items li.active > a {
      color: #ed1b2e;
      font-weight: bold; }
    .mobile-nav__items li:last-child > a {
      border-bottom: 0; }
  .mobile-nav__items {
    padding-top: 1rem; }
    @media screen and (max-width: 22.5em) {
      .mobile-nav__items {
        margin-bottom: 3rem; } }
    @media screen and (min-width: 48.875em) {
      .mobile-nav__items {
        padding-top: 0; } }
  .mobile-nav .contact-list {
    display: flex;
    flex-flow: row wrap;
    margin: 0 -1.5rem -1.5rem; }
    .mobile-nav .contact-list li {
      flex: 0 0 50%;
      max-width: 50%; }
      .mobile-nav .contact-list li a {
        flex: 1;
        padding: 1rem;
        background: #ed1b2e;
        text-align: center; }
        @media screen and (max-width: 22.5em) {
          .mobile-nav .contact-list li a {
            font-size: 0.875rem; }
            .mobile-nav .contact-list li a .hny-svg {
              width: 1rem;
              height: 1rem; } }
      .mobile-nav .contact-list li + li {
        margin-top: 0;
        border-left: 1px solid #fefefe; }
      .mobile-nav .contact-list li a {
        color: #fefefe; }

.navburger {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  height: calc(36px + 3rem);
  padding-right: 1.5rem;
  padding-left: 1.5rem;
  background: #ed1b2e;
  transition: .4s; }
  .is-mobile-nav-open .navburger {
    background: #fefefe; }
  @media print, screen and (min-width: 64em) {
    .navburger {
      display: none; } }
  .navburger__icon {
    display: block;
    position: relative;
    width: 32px;
    height: 3px;
    background: #fefefe;
    transition: inherit; }
    .is-mobile-nav-open .navburger__icon {
      position: relative;
      -webkit-transform: rotate(180deg);
              transform: rotate(180deg);
      background: transparent; }
    .navburger__icon:after, .navburger__icon:before {
      display: block;
      position: absolute;
      width: 32px;
      height: 3px;
      background: #fefefe;
      content: '';
      transition: inherit; }
      .is-mobile-nav-open .navburger__icon:after, .is-mobile-nav-open .navburger__icon:before {
        background: #ed1b2e; }
    .navburger__icon:after {
      top: 10px; }
      .is-mobile-nav-open .navburger__icon:after {
        top: 0;
        -webkit-transform: rotate(135deg);
                transform: rotate(135deg); }
    .navburger__icon:before {
      top: -10px; }
      .is-mobile-nav-open .navburger__icon:before {
        top: 0;
        -webkit-transform: rotate(45deg);
                transform: rotate(45deg); }

.photo {
  position: relative; }
  .photo figure {
    position: relative;
    background-color: #fefefe;
    box-shadow: 0 18px 35px rgba(10, 10, 10, 0.25), 0 5px 15px rgba(10, 10, 10, 0.15); }
    .photo figure.u-photo-bg--extend-right + .photo__caption {
      right: -3rem;
      left: 3rem; }
      @media print, screen and (max-width: 48.87375em) {
        .photo figure.u-photo-bg--extend-right + .photo__caption {
          right: -1.5rem;
          left: auto;
          padding-right: 1.5rem;
          padding-left: 3rem; } }

@media print, screen and (min-width: 48.875em) and (max-width: 79.99875em) {
  .photo figure.u-photo-bg--extend-right + .photo__caption {
    left: 0;
    padding-right: 1.5rem;
    padding-left: 3rem; } }

.primary-nav {
  display: none; }
  @media print, screen and (min-width: 64em) {
    .primary-nav {
      display: block; } }
  .primary-nav ul {
    margin: 0;
    list-style: none; }
  .primary-nav__items {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-end; }
  .primary-nav__item + li {
    margin-left: 1.5rem; }
  .primary-nav__item > a {
    display: flex;
    position: relative;
    align-items: center;
    padding: 0.5rem 0;
    outline: none;
    color: #fefefe;
    font-family: "acumin-pro-condensed", "bio-sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
    font-size: 1.25rem;
    text-transform: uppercase; }
    @media screen and (min-width: 80em) {
      .primary-nav__item > a {
        font-size: 1.5rem; } }
    @media screen and (min-width: 103.125em) {
      .primary-nav__item > a {
        font-size: 1.5625rem; } }
    .primary-nav__item > a:after {
      display: block;
      position: absolute;
      bottom: 0;
      width: 100%;
      height: 4px;
      margin-right: auto;
      margin-left: auto;
      -webkit-transform: scaleX(0);
              transform: scaleX(0);
      background: #0d436b;
      content: '';
      opacity: 0;
      transition: all 0.2s ease-in-out; }
    .primary-nav__item > a:focus, .primary-nav__item > a:hover {
      color: #fefefe; }
      .primary-nav__item > a:focus:after, .primary-nav__item > a:hover:after {
        -webkit-transform: none;
                transform: none;
        opacity: 1; }
  .primary-nav__item--active > a {
    color: #fefefe; }
    .primary-nav__item--active > a:after {
      -webkit-transform: none;
              transform: none;
      background: #fefefe;
      opacity: 1; }
  .primary-nav__submenu {
    width: 240px; }

.pwa-popup {
  display: none;
  z-index: 2147483647;
  position: fixed;
  bottom: calc(20px + 0.5rem);
  left: 0;
  width: 100%;
  text-align: center; }
  .pwa-popup.is-visible {
    display: block; }
  .pwa-popup__bubble {
    display: inline-block;
    position: relative;
    padding: 0.5rem 1rem;
    border-radius: 0.5rem;
    background: rgba(254, 254, 254, 0.95);
    -webkit-filter: drop-shadow(0 5px 10px rgba(11, 27, 38, 0.5));
            filter: drop-shadow(0 5px 10px rgba(11, 27, 38, 0.5)); }
    .pwa-popup__bubble button {
      display: flex;
      position: absolute;
      top: -8px;
      right: -8px;
      align-items: center;
      justify-content: center;
      width: 20px;
      height: 20px;
      background: #0a0a0a; }
      .pwa-popup__bubble button .hny-svg {
        fill: #fefefe;
        width: 16px;
        height: 16px;
        vertical-align: middle; }
    .pwa-popup__bubble:after {
      position: absolute;
      top: 100%;
      left: 50%;
      width: 0;
      height: 0;
      margin-left: -20px;
      border-width: 20px 20px 0 20px;
      border-style: solid;
      border-color: rgba(254, 254, 254, 0.95) transparent transparent transparent;
      content: ''; }
  .pwa-popup p {
    margin-bottom: 0.5rem;
    line-height: 1.2; }
    .pwa-popup p .hny-svg {
      width: 32px;
      height: 32px;
      vertical-align: middle; }

.search-utility {
  margin-bottom: 1.5rem; }
  @media print, screen and (min-width: 48.875em) {
    .search-utility {
      display: flex;
      flex-flow: row nowrap;
      align-items: center;
      margin: 0 -0.25rem 1.5rem; } }
  .search-utility label {
    margin-bottom: 0; }
  .search-utility > * + * {
    margin-top: 0.5rem; }
    @media print, screen and (min-width: 48.875em) {
      .search-utility > * + * {
        margin-top: 0; } }
  @media print, screen and (min-width: 48.875em) {
    .search-utility > * {
      flex-grow: 1;
      padding: 0 0.25rem; } }
  .search-utility select {
    margin-bottom: 0; }
  .search-utility .button {
    width: 100%; }
  .search-utility__loader + .button {
    visibility: hidden;
    opacity: 0; }
  .search-utility .archive-checkbox {
    flex: 0 0 100%;
    max-width: 100%;
    margin-top: 0.5rem;
    padding-right: 0;
    padding-left: 0.5rem; }
    .search-utility .archive-checkbox input {
      margin-bottom: 0; }
    @media print, screen and (min-width: 48.875em) {
      .search-utility .archive-checkbox {
        flex: 0 1 auto;
        margin-top: 0;
        white-space: nowrap; } }

.site-footer {
  overflow: hidden; }
  .site-footer__container {
    display: flex;
    position: relative;
    flex-flow: row wrap; }
    @media print, screen and (min-width: 64em) {
      .site-footer__container--top {
        padding-top: 8rem; } }
    @media print, screen and (max-width: 63.99875em) {
      .site-footer__container--bottom {
        display: block; } }
  .site-footer__photo {
    z-index: -1;
    position: absolute;
    top: 0;
    height: 100%; }
    .site-footer__photo figure {
      position: absolute;
      left: -1.5rem;
      width: 100vw;
      height: 100%; }
      @media print, screen and (min-width: 64em) {
        .site-footer__photo figure {
          left: calc(337.5px - 3rem);
          width: calc(50vw + 726px - (337.5px - 3rem)); } }
  .site-footer__content {
    position: relative;
    flex: 1 0 auto;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    color: #fefefe; }
    @media print, screen and (min-width: 64em) {
      .site-footer__content {
        display: flex;
        flex: 0 0 675px;
        align-items: flex-end;
        max-width: 675px;
        padding: 0; } }
    .site-footer__content a {
      color: #fefefe; }
      .site-footer__content a:focus, .site-footer__content a:hover {
        opacity: 0.6; }
    .site-footer__content:before {
      z-index: -1;
      position: absolute;
      top: 0;
      left: -1.5rem;
      width: 100vw;
      height: 100%;
      background: #ed1b2e;
      content: ''; }
      @media print, screen and (min-width: 64em) {
        .site-footer__content:before {
          right: 0;
          left: auto; } }
      .site-footer__container--top .site-footer__content:before {
        background: rgba(10, 10, 10, 0.5); }
        @media print, screen and (min-width: 64em) {
          .site-footer__container--top .site-footer__content:before {
            display: none; } }
        @supports (mix-blend-mode: multiply) {
          .site-footer__container--top .site-footer__content:before {
            display: block;
            -webkit-transform: translateZ(0);
                    transform: translateZ(0);
            background: #ed1b2e;
            mix-blend-mode: multiply; } }
  @media print, screen and (min-width: 40em) {
    .site-footer__columns {
      display: flex;
      flex: 1 0 auto;
      flex-flow: row wrap;
      justify-content: center;
      margin: 0 -3rem; } }
  @media print, screen and (min-width: 64em) {
    .site-footer__columns {
      justify-content: flex-start;
      margin: 0 0 0 -3rem; } }
  .site-footer__column + .site-footer__column {
    margin-top: 1.5rem; }
    @media print, screen and (min-width: 40em) {
      .site-footer__column + .site-footer__column {
        margin-top: 0; } }
  @media print, screen and (min-width: 40em) {
    .site-footer__column {
      display: flex;
      flex: 0 1 auto;
      flex-flow: row wrap;
      padding: 3rem; } }
  @media print, screen and (min-width: 64em) {
    .site-footer__column {
      flex: 0 0 337.5px;
      max-width: 337.5px; } }
  .site-footer__column > div {
    display: flex;
    flex: 1 0 auto;
    flex-flow: row wrap; }
  .site-footer__column:first-child {
    position: relative; }
    .site-footer__container--top .site-footer__column:first-child:before {
      z-index: -1;
      position: absolute;
      top: 0;
      right: 0;
      width: 100vw;
      height: 100%;
      content: ''; }
      @media print, screen and (min-width: 64em) {
        .site-footer__container--top .site-footer__column:first-child:before {
          background: #ed1b2e; }
          @supports (mix-blend-mode: multiply) {
            .site-footer__container--top .site-footer__column:first-child:before {
              content: none; } } }
  @media print, screen and (min-width: 64em) {
    .site-footer__column:last-child {
      flex: 1 0 auto;
      max-width: calc(337.5px + 3rem); } }
  @media print, screen and (min-width: 64em) {
    .site-footer__container--top .site-footer__column:last-child {
      background: rgba(237, 27, 46, 0.5); }
      @supports (mix-blend-mode: multiply) {
        .site-footer__container--top .site-footer__column:last-child {
          background: none; } } }
  .site-footer__column .hny-svg {
    width: 24px;
    height: 24px;
    margin-right: 0.5rem; }
  .site-footer__logos {
    display: flex;
    position: relative;
    flex: 1;
    padding: 1.5rem 0; }
    @media print, screen and (min-width: 64em) {
      .site-footer__logos {
        order: 2;
        padding: 1.5rem 0 1.5rem 1.5rem;
        background: #fefefe; } }
    .site-footer__logos:after {
      z-index: -1;
      position: absolute;
      top: 0;
      left: 0;
      width: 100vw;
      height: 100%;
      background: inherit;
      content: ''; }
  .site-footer__colophon {
    font-size: 0.875rem; }
    @media print, screen and (min-width: 40em) {
      .site-footer__colophon {
        display: flex;
        justify-content: space-between;
        width: 100%;
        font-size: 0.75rem; } }
    @media print, screen and (min-width: 64em) {
      .site-footer__colophon {
        justify-content: flex-start;
        padding-bottom: 1.5rem; } }
    @media screen and (min-width: 80em) {
      .site-footer__colophon {
        font-size: 0.6875rem; } }
    .site-footer__colophon p,
    .site-footer__colophon ul {
      margin-bottom: 0; }
    @media print, screen and (min-width: 40em) {
      .site-footer__colophon ul {
        margin-left: 0.5rem;
        padding-left: 0.5rem;
        border-left: 1px solid rgba(254, 254, 254, 0.5); } }
    @media print, screen and (min-width: 64em) {
      .site-footer__colophon ul {
        margin-right: 0.75rem;
        margin-left: 0.75rem;
        padding-right: 0.75rem;
        padding-left: 0.75rem;
        border-right: 1px solid rgba(254, 254, 254, 0.5); } }
  @media print, screen and (min-width: 40em) {
    .site-footer__legal {
      display: flex;
      flex-flow: row wrap;
      justify-content: space-between; } }
  @media print, screen and (min-width: 40em) {
    .site-footer__legalese {
      display: flex;
      flex-flow: row wrap; } }
  .site-footer__credit {
    margin-top: 1rem; }
    @media print, screen and (min-width: 40em) {
      .site-footer__credit {
        margin-top: 0;
        text-align: right; } }

.site-header {
  z-index: 100;
  position: relative;
  flex: 1 0 auto;
  max-width: 100%; }

.site-search__form {
  position: relative; }
  .l-main .site-search__form {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    padding: 1rem;
    background: #e6e6e6; }
    .l-main .site-search__form > div {
      flex: 1 0 auto; }
      .l-main .site-search__form > div:last-child {
        flex: 0 1 auto; }

.site-search__input label {
  position: relative; }
  .site-search__input label .hny-svg {
    fill: #ed1b2e;
    position: absolute;
    top: 50%;
    left: 0;
    width: 24px;
    height: 24px;
    margin-top: -12px; }
    .search-overlay .site-search__input label .hny-svg {
      fill: rgba(254, 254, 254, 0.2);
      width: 48px;
      height: 48px;
      margin-top: -24px; }

.site-search__input input[type='text'] {
  margin-bottom: 0; }
  .l-main .site-search__input input[type='text'] {
    padding: 0 0 0 calc(24px + 1rem);
    border: 0;
    background: none;
    box-shadow: none;
    font-size: 1.375rem;
    line-height: 1.25rem; }
    .l-main .site-search__input input[type='text']::-webkit-input-placeholder {
      color: rgba(72, 72, 72, 0.2); }
    .l-main .site-search__input input[type='text']::-moz-placeholder {
      color: rgba(72, 72, 72, 0.2); }
    .l-main .site-search__input input[type='text']:-ms-input-placeholder {
      color: rgba(72, 72, 72, 0.2); }
    .l-main .site-search__input input[type='text']::-ms-input-placeholder {
      color: rgba(72, 72, 72, 0.2); }
    .l-main .site-search__input input[type='text']::placeholder {
      color: rgba(72, 72, 72, 0.2); }
  .search-overlay .site-search__input input[type='text'] {
    height: auto;
    padding: 0 0 0 calc(48px + 1rem);
    border: none;
    border-bottom: 1px dotted #fefefe;
    outline: none !important;
    background: none;
    box-shadow: none !important;
    color: #fefefe;
    font-size: 2rem;
    line-height: 2rem; }
    @media print, screen and (min-width: 64em) {
      .search-overlay .site-search__input input[type='text'] {
        font-size: 4rem;
        line-height: 4rem; } }
    .search-overlay .site-search__input input[type='text']::-webkit-input-placeholder {
      color: rgba(254, 254, 254, 0.2); }
    .search-overlay .site-search__input input[type='text']::-moz-placeholder {
      color: rgba(254, 254, 254, 0.2); }
    .search-overlay .site-search__input input[type='text']:-ms-input-placeholder {
      color: rgba(254, 254, 254, 0.2); }
    .search-overlay .site-search__input input[type='text']::-ms-input-placeholder {
      color: rgba(254, 254, 254, 0.2); }
    .search-overlay .site-search__input input[type='text']::placeholder {
      color: rgba(254, 254, 254, 0.2); }

.tabs {
  display: flex;
  position: relative;
  flex-flow: row nowrap;
  margin: 0 0 1.5rem;
  list-style: none; }
  .tabs:before {
    position: absolute;
    top: 100%;
    left: -50vw;
    width: 150vw;
    height: 1px;
    background: #e6e6e6;
    content: ''; }
  .tabs li {
    border: 1px solid #e6e6e6; }
    .tabs li button {
      padding: 0.5rem 1.5rem;
      border-top: 3px solid transparent;
      background: #e6e6e6;
      transition: all 0.2s ease-in-out; }
      .tabs li button:hover {
        color: #aeaeae; }
    .tabs li + li {
      border-left: 0; }
    .tabs li.is-active button {
      border-top-color: currentColor;
      background: #fefefe;
      color: #ed1b2e; }

.two-column-list {
  margin: 0;
  -webkit-column-gap: 1.5rem;
     -moz-column-gap: 1.5rem;
          column-gap: 1.5rem;
  -webkit-column-count: 2;
     -moz-column-count: 2;
          column-count: 2; }

@media print {
  *:before, *:after {
    background: rgba(255, 255, 255, 0) !important;
    box-shadow: none !important;
    color: #0a0a0a !important;
    text-shadow: none !important; }
  a[href]:after {
    content: none; }
  a[href^='tel']:after,
  a [href^='#']:after {
    content: ''; }
  a:visited {
    text-decoration: underline; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  pre,
  blockquote {
    border: 1px solid #0a0a0a;
    page-break-inside: avoid; }
  thead {
    display: table-header-group; }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  .hny-svg {
    fill: #0a0a0a !important; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3VuZGF0aW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3ZlbmRvci9ub3JtYWxpemUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzIiwic2V0dGluZ3MvX3NldHRpbmdzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2dyaWQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3V0dGVycy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jZWxsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2JyZWFrcG9pbnQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWF0aC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19sYXlvdXQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fcG9zaXRpb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZnJhbWUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191bml0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2hlbHBlcnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYWxpZ25tZW50LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX3ByaW50LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fdGV4dC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fY2hlY2tib3guc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2xhYmVsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19oZWxwLXRleHQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2lucHV0LWdyb3VwLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19maWVsZHNldC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fc2VsZWN0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19lcnJvci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYWxsb3V0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Jlc3BvbnNpdmUtZW1iZWQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFibGUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fY29sb3Iuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxleC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19mbGV4LnNjc3MiLCJjb21tb24vX3V0aWwuc2NzcyIsImNvbW1vbi9fZ2xvYmFsLnNjc3MiLCJjb21tb24vX3ZhcmlhYmxlcy5zY3NzIiwiY29tbW9uL19hbmltYXRpb25zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc2xpY2stY2Fyb3VzZWwvc2xpY2svc2xpY2suc2NzcyIsImNvbXBvbmVudHMvX2FkbWluLWJhci5zY3NzIiwiY29tcG9uZW50cy9fYnV0dG9ucy5zY3NzIiwiY29tcG9uZW50cy9fY2FsbG91dC5zY3NzIiwiY29tcG9uZW50cy9fZ2Zvcm1zLWN1c3RvbS5zY3NzIiwiY29tcG9uZW50cy9fZ2Zvcm1zLXN0ZXBzLnNjc3MiLCJjb21wb25lbnRzL19ncmlkLnNjc3MiLCJjb21wb25lbnRzL19oZWFkaW5ncy5zY3NzIiwiY29tcG9uZW50cy9faWNvbnMuc2NzcyIsImNvbXBvbmVudHMvX2xheW91dC5zY3NzIiwiY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwiY29tcG9uZW50cy9fc2xpY2stY3VzdG9tLnNjc3MiLCJjb21wb25lbnRzL193eXNpd3lnLnNjc3MiLCJtb2R1bGVzL180MDQuc2NzcyIsIm1vZHVsZXMvX2JhY2stdG8tdG9wLnNjc3MiLCJtb2R1bGVzL19jaGVjay1pbi5zY3NzIiwibW9kdWxlcy9fY2hlY2tsaXN0LnNjc3MiLCJtb2R1bGVzL19jb250YWN0LWxpc3Quc2NzcyIsIm1vZHVsZXMvX2NvbnRlbnQtYmxvY2tzLnNjc3MiLCJtb2R1bGVzL19kYXRlLXV0aWxpdHkuc2NzcyIsIm1vZHVsZXMvX2VudHJ5LWxpc3Quc2NzcyIsIm1vZHVsZXMvX2ZhcS1saXN0LnNjc3MiLCJtb2R1bGVzL19oZWFkZXItdXRpbGl0eS5zY3NzIiwibW9kdWxlcy9faGVyby5zY3NzIiwibW9kdWxlcy9fbGVnYWwtbmF2LnNjc3MiLCJtb2R1bGVzL19saXN0aW5nLnNjc3MiLCJtb2R1bGVzL19sb2dpbi1mb3JtLnNjc3MiLCJtb2R1bGVzL19sb2dvLWxpc3Quc2NzcyIsIm1vZHVsZXMvX2xvZ28uc2NzcyIsIm1vZHVsZXMvX21hc3RoZWFkLnNjc3MiLCJtb2R1bGVzL19tb2JpbGUtbmF2LnNjc3MiLCJtb2R1bGVzL19uYXZidXJnZXIuc2NzcyIsIm1vZHVsZXMvX3Bob3RvLnNjc3MiLCJtb2R1bGVzL19wcmltYXJ5LW5hdi5zY3NzIiwibW9kdWxlcy9fcHdhLXBvcHVwLnNjc3MiLCJtb2R1bGVzL19zZWFyY2gtdXRpbGl0eS5zY3NzIiwibW9kdWxlcy9fc2l0ZS1mb290ZXIuc2NzcyIsIm1vZHVsZXMvX3NpdGUtaGVhZGVyLnNjc3MiLCJtb2R1bGVzL19zaXRlLXNlYXJjaC5zY3NzIiwibW9kdWxlcy9fdGFicy5zY3NzIiwibW9kdWxlcy9fdHdvLWNvbHVtbi1saXN0LnNjc3MiLCJjb21tb24vX3ByaW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCO0FDQWhCOzs7OztFRE1FO0FFTEEsMkVBQUE7QUFRQTtFQUVFLDhCQUE4QjtFQUQ5QixpQkFBaUIsRUFDYTs7QUFRaEM7RUFDRSxTQUFTLEVBQUE7O0FB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QkFBNkQ7SUFBN0Qsb0JBQTZELEVEWmpEO0VEUmxCO0lDTUEsZURFbUM7SUNBbkMsa0JBQWtCO0lBRGxCLGlCQUFpQjtJQ3NCYixnQkFBNkQ7SUFBN0QsZUFBNkQsRURyQi9DOztBREtsQjtFQ1NBLGFBQWE7RUFDYixtQkFIcUIsRUFBQTs7QURIckI7RUc0RkEsY0FBTTtFQTJDSixXQXRFaUM7RUFnQ2pDLGNBQWM7RUFEZCxlQUFlLEVBL0JrQjtFSGpFbkM7SUc0RkEsYUFBTSxFQUFBO0VINUZOO0lHNEZBLGNBQU0sRUFBQTs7QUhoRk47RUcySEUsV0FsRlksRUFBQTs7QUh6Q2Q7RUcySEUsV0FsRlksRUFBQTs7QUh6Qlo7RUFNSSxnQkFBZ0IsRUFBQTs7QUlpSGhCO0VKdkhKO0lBTUksZ0JBQWdCLEVBQUEsRUFDakI7O0FJZ0hDO0VKdkhKO0lBTUksZ0JBQWdCLEVBQUEsRUFDakI7O0FJZ0hDO0VKdkhKO0lBTUksZ0JBQWdCLEVBQUEsRUFDakI7O0FJcUhDO0VKNUhKO0lBTUksZ0JBQWdCLEVBQUEsRUFDakI7O0FJcUhDO0VKNUhKO0lBTUksZ0JBQWdCLEVBQUEsRUFDakI7O0FJcUhDO0VKNUhKO0lBTUksZ0JBQWdCLEVBQUEsRUFDakI7O0FBWUg7RUc2Q0YsY0FBTSxFQUFBOztBSDlCRjtFR3lFRixlRW5CeUQsRUFBQTs7QUx0RHZEO0VHeUVGLGdCRW5CeUQsRUFBQTs7QUx0RHZEO0VHeUVGLFVFbkJ5RCxFQUFBOztBTHREdkQ7RUd5RUYsZ0JFbkJ5RCxFQUFBOztBTHREdkQ7RUd5RUYsZ0JFbkJ5RCxFQUFBOztBTHREdkQ7RUd5RUYsVUVuQnlELEVBQUE7O0FMdER2RDtFR3lFRixnQkVuQnlELEVBQUE7O0FMdER2RDtFR3lFRixnQkVuQnlELEVBQUE7O0FMdER2RDtFR3lFRixVRW5CeUQsRUFBQTs7QUx0RHZEO0VHeUVGLGdCRW5CeUQsRUFBQTs7QUx0RHZEO0VHeUVGLGdCRW5CeUQsRUFBQTs7QUx0RHZEO0VHeUVGLFdFbkJ5RCxFQUFBOztBRCtCckQ7RUp6R0Y7SUdrREosYUFBTTtJQTJDSixXQWxGWSxFQUFBO0VITlo7SUc2Q0YsY0FBTSxFQUFBO0VIdkNGO0lHa0ZGLFdBbEZZLEVBQUE7RUhTVjtJR3lFRixlRW5CeUQsRUFBQTtFTHREdkQ7SUd5RUYsZ0JFbkJ5RCxFQUFBO0VMdER2RDtJR3lFRixVRW5CeUQsRUFBQTtFTHREdkQ7SUd5RUYsZ0JFbkJ5RCxFQUFBO0VMdER2RDtJR3lFRixnQkVuQnlELEVBQUE7RUx0RHZEO0lHeUVGLFVFbkJ5RCxFQUFBO0VMdER2RDtJR3lFRixnQkVuQnlELEVBQUE7RUx0RHZEO0lHeUVGLGdCRW5CeUQsRUFBQTtFTHREdkQ7SUd5RUYsVUVuQnlELEVBQUE7RUx0RHZEO0lHeUVGLGdCRW5CeUQsRUFBQTtFTHREdkQ7SUd5RUYsZ0JFbkJ5RCxFQUFBO0VMdER2RDtJR3lFRixXRW5CeUQsRUFBQSxFTG5EdEQ7O0FJa0ZDO0VKekdGO0lHa0RKLGFBQU07SUEyQ0osV0FsRlksRUFBQTtFSE5aO0lHNkNGLGNBQU0sRUFBQTtFSHZDRjtJR2tGRixXQWxGWSxFQUFBO0VIU1Y7SUd5RUYsZUVuQnlELEVBQUE7RUx0RHZEO0lHeUVGLGdCRW5CeUQsRUFBQTtFTHREdkQ7SUd5RUYsVUVuQnlELEVBQUE7RUx0RHZEO0lHeUVGLGdCRW5CeUQsRUFBQTtFTHREdkQ7SUd5RUYsZ0JFbkJ5RCxFQUFBO0VMdER2RDtJR3lFRixVRW5CeUQsRUFBQTtFTHREdkQ7SUd5RUYsZ0JFbkJ5RCxFQUFBO0VMdER2RDtJR3lFRixnQkVuQnlELEVBQUE7RUx0RHZEO0lHeUVGLFVFbkJ5RCxFQUFBO0VMdER2RDtJR3lFRixnQkVuQnlELEVBQUE7RUx0RHZEO0lHeUVGLGdCRW5CeUQsRUFBQTtFTHREdkQ7SUd5RUYsV0VuQnlELEVBQUEsRUxuRHREOztBSWtGQztFSnpHRjtJR2tESixhQUFNO0lBMkNKLFdBbEZZLEVBQUE7RUhOWjtJRzZDRixjQUFNLEVBQUE7RUh2Q0Y7SUdrRkYsV0FsRlksRUFBQTtFSFNWO0lHeUVGLGVFbkJ5RCxFQUFBO0VMdER2RDtJR3lFRixnQkVuQnlELEVBQUE7RUx0RHZEO0lHeUVGLFVFbkJ5RCxFQUFBO0VMdER2RDtJR3lFRixnQkVuQnlELEVBQUE7RUx0RHZEO0lHeUVGLGdCRW5CeUQsRUFBQTtFTHREdkQ7SUd5RUYsVUVuQnlELEVBQUE7RUx0RHZEO0lHeUVGLGdCRW5CeUQsRUFBQTtFTHREdkQ7SUd5RUYsZ0JFbkJ5RCxFQUFBO0VMdER2RDtJR3lFRixVRW5CeUQsRUFBQTtFTHREdkQ7SUd5RUYsZ0JFbkJ5RCxFQUFBO0VMdER2RDtJR3lFRixnQkVuQnlELEVBQUE7RUx0RHZEO0lHeUVGLFdFbkJ5RCxFQUFBLEVMbkR0RDs7QUl1RkM7RUo5R0Y7SUdrREosYUFBTTtJQTJDSixXQWxGWSxFQUFBO0VITlo7SUc2Q0YsY0FBTSxFQUFBO0VIdkNGO0lHa0ZGLFdBbEZZLEVBQUE7RUhTVjtJR3lFRixlRW5CeUQsRUFBQTtFTHREdkQ7SUd5RUYsZ0JFbkJ5RCxFQUFBO0VMdER2RDtJR3lFRixVRW5CeUQsRUFBQTtFTHREdkQ7SUd5RUYsZ0JFbkJ5RCxFQUFBO0VMdER2RDtJR3lFRixnQkVuQnlELEVBQUE7RUx0RHZEO0lHeUVGLFVFbkJ5RCxFQUFBO0VMdER2RDtJR3lFRixnQkVuQnlELEVBQUE7RUx0RHZEO0lHeUVGLGdCRW5CeUQsRUFBQTtFTHREdkQ7SUd5RUYsVUVuQnlELEVBQUE7RUx0RHZEO0lHeUVGLGdCRW5CeUQsRUFBQTtFTHREdkQ7SUd5RUYsZ0JFbkJ5RCxFQUFBO0VMdER2RDtJR3lFRixXRW5CeUQsRUFBQSxFTG5EdEQ7O0FJdUZDO0VKOUdGO0lHa0RKLGFBQU07SUEyQ0osV0FsRlksRUFBQTtFSE5aO0lHNkNGLGNBQU0sRUFBQTtFSHZDRjtJR2tGRixXQWxGWSxFQUFBO0VIU1Y7SUd5RUYsZUVuQnlELEVBQUE7RUx0RHZEO0lHeUVGLGdCRW5CeUQsRUFBQTtFTHREdkQ7SUd5RUYsVUVuQnlELEVBQUE7RUx0RHZEO0lHeUVGLGdCRW5CeUQsRUFBQTtFTHREdkQ7SUd5RUYsZ0JFbkJ5RCxFQUFBO0VMdER2RDtJR3lFRixVRW5CeUQsRUFBQTtFTHREdkQ7SUd5RUYsZ0JFbkJ5RCxFQUFBO0VMdER2RDtJR3lFRixnQkVuQnlELEVBQUE7RUx0RHZEO0lHeUVGLFVFbkJ5RCxFQUFBO0VMdER2RDtJR3lFRixnQkVuQnlELEVBQUE7RUx0RHZEO0lHeUVGLGdCRW5CeUQsRUFBQTtFTHREdkQ7SUd5RUYsV0VuQnlELEVBQUEsRUxuRHREOztBSXVGQztFSjlHRjtJR2tESixhQUFNO0lBMkNKLFdBbEZZLEVBQUE7RUhOWjtJRzZDRixjQUFNLEVBQUE7RUh2Q0Y7SUdrRkYsV0FsRlksRUFBQTtFSFNWO0lHeUVGLGVFbkJ5RCxFQUFBO0VMdER2RDtJR3lFRixnQkVuQnlELEVBQUE7RUx0RHZEO0lHeUVGLFVFbkJ5RCxFQUFBO0VMdER2RDtJR3lFRixnQkVuQnlELEVBQUE7RUx0RHZEO0lHeUVGLGdCRW5CeUQsRUFBQTtFTHREdkQ7SUd5RUYsVUVuQnlELEVBQUE7RUx0RHZEO0lHeUVGLGdCRW5CeUQsRUFBQTtFTHREdkQ7SUd5RUYsZ0JFbkJ5RCxFQUFBO0VMdER2RDtJR3lFRixVRW5CeUQsRUFBQTtFTHREdkQ7SUd5RUYsZ0JFbkJ5RCxFQUFBO0VMdER2RDtJR3lFRixnQkVuQnlELEVBQUE7RUx0RHZEO0lHeUVGLFdFbkJ5RCxFQUFBLEVMbkR0RDs7QUFLTDtFQUNFLFdBQVcsRUFBQTs7QUFJYjtFQUNFLFlBQVksRUFBQTs7QUE4QmQ7RUV2R00scUJBQTZEO0VBQTdELG9CQUE2RCxFQUFBO0VGdUduRTtJRzZCRSx3QkF0RDhGO0lEckU1RixvQkFBNkQ7SUFBN0QsbUJBQTZELEVBQUE7RUZzRWpFO0lHcURFLFdBbEZZLEVBQUE7RUhpQ2Q7SUdpREUsV0FsRlksRUFBQTtFSHlDWjtJR3lDQSw0QkF0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsNkJBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLHVCQXREOEYsRUFBQTtFSGE5RjtJR3lDQSw2QkF0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsNkJBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLHVCQXREOEYsRUFBQTtFSGE5RjtJR3lDQSw2QkF0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsNkJBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLHVCQXREOEYsRUFBQTtFSGE5RjtJR3lDQSw2QkF0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsNkJBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLHdCQXREOEYsRUFBQTtFQ2tFMUY7SUpqRU47TUdxREUsV0FsRlksRUFBQTtJSGlDZDtNR2lERSxXQWxGWSxFQUFBO0lIeUNaO01HeUNBLDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsdUJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsdUJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsdUJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esd0JBdEQ4RixFQUFBLEVIZTdGO0VJbURHO0lKakVOO01HcURFLFdBbEZZLEVBQUE7SUhpQ2Q7TUdpREUsV0FsRlksRUFBQTtJSHlDWjtNR3lDQSw0QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHVCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHVCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHVCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHdCQXREOEYsRUFBQSxFSGU3RjtFSW1ERztJSmpFTjtNR3FERSxXQWxGWSxFQUFBO0lIaUNkO01HaURFLFdBbEZZLEVBQUE7SUh5Q1o7TUd5Q0EsNEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx1QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx1QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx1QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx3QkF0RDhGLEVBQUEsRUhlN0Y7RUl3REc7SUp0RU47TUdxREUsV0FsRlksRUFBQTtJSGlDZDtNR2lERSxXQWxGWSxFQUFBO0lIeUNaO01HeUNBLDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsdUJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsdUJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsdUJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esd0JBdEQ4RixFQUFBLEVIZTdGO0VJd0RHO0lKdEVOO01HcURFLFdBbEZZLEVBQUE7SUhpQ2Q7TUdpREUsV0FsRlksRUFBQTtJSHlDWjtNR3lDQSw0QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHVCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHVCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHVCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHdCQXREOEYsRUFBQSxFSGU3RjtFSXdERztJSnRFTjtNR3FERSxXQWxGWSxFQUFBO0lIaUNkO01HaURFLFdBbEZZLEVBQUE7SUh5Q1o7TUd5Q0EsNEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx1QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx1QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx1QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx3QkF0RDhGLEVBQUEsRUhlN0Y7O0FBOENIO0VFM0lNLHFCQUE2RDtFQUE3RCxvQkFBNkQsRUFBQTs7QUZvSmpFO0VFcEpJLHFCQUE2RDtFQUE3RCxvQkFBNkQsRUFBQTs7QUYySW5FO0VFM0lNLHFCQUE2RDtFQUE3RCxvQkFBNkQsRUFBQTs7QUlBbkU7RUhvSUUsV0VuQnlELEVBQUE7O0FDakgzRDtFSG9JRSxVRW5CeUQsRUFBQTs7QUNqSDNEO0VIb0lFLGdCRW5CeUQsRUFBQTs7QUNqSDNEO0VIb0lFLFVFbkJ5RCxFQUFBOztBQ2pIM0Q7RUhvSUUsVUVuQnlELEVBQUE7O0FDakgzRDtFSG9JRSxnQkVuQnlELEVBQUE7O0FDakgzRDtFSG9JRSxnQkVuQnlELEVBQUE7O0FDakgzRDtFSG9JRSxZRW5CeUQsRUFBQTs7QUQrQnJEO0VFaEpOO0lIb0lFLFdFbkJ5RCxFQUFBO0VDakgzRDtJSG9JRSxVRW5CeUQsRUFBQTtFQ2pIM0Q7SUhvSUUsZ0JFbkJ5RCxFQUFBO0VDakgzRDtJSG9JRSxVRW5CeUQsRUFBQTtFQ2pIM0Q7SUhvSUUsVUVuQnlELEVBQUE7RUNqSDNEO0lIb0lFLGdCRW5CeUQsRUFBQTtFQ2pIM0Q7SUhvSUUsZ0JFbkJ5RCxFQUFBO0VDakgzRDtJSG9JRSxZRW5CeUQsRUFBQSxFQy9HMUQ7O0FGOElLO0VFaEpOO0lIb0lFLFdFbkJ5RCxFQUFBO0VDakgzRDtJSG9JRSxVRW5CeUQsRUFBQTtFQ2pIM0Q7SUhvSUUsZ0JFbkJ5RCxFQUFBO0VDakgzRDtJSG9JRSxVRW5CeUQsRUFBQTtFQ2pIM0Q7SUhvSUUsVUVuQnlELEVBQUE7RUNqSDNEO0lIb0lFLGdCRW5CeUQsRUFBQTtFQ2pIM0Q7SUhvSUUsZ0JFbkJ5RCxFQUFBO0VDakgzRDtJSG9JRSxZRW5CeUQsRUFBQSxFQy9HMUQ7O0FGOElLO0VFaEpOO0lIb0lFLFdFbkJ5RCxFQUFBO0VDakgzRDtJSG9JRSxVRW5CeUQsRUFBQTtFQ2pIM0Q7SUhvSUUsZ0JFbkJ5RCxFQUFBO0VDakgzRDtJSG9JRSxVRW5CeUQsRUFBQTtFQ2pIM0Q7SUhvSUUsVUVuQnlELEVBQUE7RUNqSDNEO0lIb0lFLGdCRW5CeUQsRUFBQTtFQ2pIM0Q7SUhvSUUsZ0JFbkJ5RCxFQUFBO0VDakgzRDtJSG9JRSxZRW5CeUQsRUFBQSxFQy9HMUQ7O0FGbUpLO0VFckpOO0lIb0lFLFdFbkJ5RCxFQUFBO0VDakgzRDtJSG9JRSxVRW5CeUQsRUFBQTtFQ2pIM0Q7SUhvSUUsZ0JFbkJ5RCxFQUFBO0VDakgzRDtJSG9JRSxVRW5CeUQsRUFBQTtFQ2pIM0Q7SUhvSUUsVUVuQnlELEVBQUE7RUNqSDNEO0lIb0lFLGdCRW5CeUQsRUFBQTtFQ2pIM0Q7SUhvSUUsZ0JFbkJ5RCxFQUFBO0VDakgzRDtJSG9JRSxZRW5CeUQsRUFBQSxFQy9HMUQ7O0FGbUpLO0VFckpOO0lIb0lFLFdFbkJ5RCxFQUFBO0VDakgzRDtJSG9JRSxVRW5CeUQsRUFBQTtFQ2pIM0Q7SUhvSUUsZ0JFbkJ5RCxFQUFBO0VDakgzRDtJSG9JRSxVRW5CeUQsRUFBQTtFQ2pIM0Q7SUhvSUUsVUVuQnlELEVBQUE7RUNqSDNEO0lIb0lFLGdCRW5CeUQsRUFBQTtFQ2pIM0Q7SUhvSUUsZ0JFbkJ5RCxFQUFBO0VDakgzRDtJSG9JRSxZRW5CeUQsRUFBQSxFQy9HMUQ7O0FGbUpLO0VFckpOO0lIb0lFLFdFbkJ5RCxFQUFBO0VDakgzRDtJSG9JRSxVRW5CeUQsRUFBQTtFQ2pIM0Q7SUhvSUUsZ0JFbkJ5RCxFQUFBO0VDakgzRDtJSG9JRSxVRW5CeUQsRUFBQTtFQ2pIM0Q7SUhvSUUsVUVuQnlELEVBQUE7RUNqSDNEO0lIb0lFLGdCRW5CeUQsRUFBQTtFQ2pIM0Q7SUhvSUUsZ0JFbkJ5RCxFQUFBO0VDakgzRDtJSG9JRSxZRW5CeUQsRUFBQSxFQy9HMUQ7O0FBRkQ7RUhvSUUsd0JBdEQ4RixFQUFBOztBRzlFaEc7RUhvSUUsdUJBdEQ4RixFQUFBOztBRzlFaEc7RUhvSUUsNkJBdEQ4RixFQUFBOztBRzlFaEc7RUhvSUUsdUJBdEQ4RixFQUFBOztBRzlFaEc7RUhvSUUsdUJBdEQ4RixFQUFBOztBRzlFaEc7RUhvSUUsNkJBdEQ4RixFQUFBOztBRzlFaEc7RUhvSUUsNkJBdEQ4RixFQUFBOztBRzlFaEc7RUhvSUUseUJBdEQ4RixFQUFBOztBQ2tFMUY7RUVoSk47SUhvSUUsd0JBdEQ4RixFQUFBO0VHOUVoRztJSG9JRSx1QkF0RDhGLEVBQUE7RUc5RWhHO0lIb0lFLDZCQXREOEYsRUFBQTtFRzlFaEc7SUhvSUUsdUJBdEQ4RixFQUFBO0VHOUVoRztJSG9JRSx1QkF0RDhGLEVBQUE7RUc5RWhHO0lIb0lFLDZCQXREOEYsRUFBQTtFRzlFaEc7SUhvSUUsNkJBdEQ4RixFQUFBO0VHOUVoRztJSG9JRSx5QkF0RDhGLEVBQUEsRUc1RS9GOztBRjhJSztFRWhKTjtJSG9JRSx3QkF0RDhGLEVBQUE7RUc5RWhHO0lIb0lFLHVCQXREOEYsRUFBQTtFRzlFaEc7SUhvSUUsNkJBdEQ4RixFQUFBO0VHOUVoRztJSG9JRSx1QkF0RDhGLEVBQUE7RUc5RWhHO0lIb0lFLHVCQXREOEYsRUFBQTtFRzlFaEc7SUhvSUUsNkJBdEQ4RixFQUFBO0VHOUVoRztJSG9JRSw2QkF0RDhGLEVBQUE7RUc5RWhHO0lIb0lFLHlCQXREOEYsRUFBQSxFRzVFL0Y7O0FGOElLO0VFaEpOO0lIb0lFLHdCQXREOEYsRUFBQTtFRzlFaEc7SUhvSUUsdUJBdEQ4RixFQUFBO0VHOUVoRztJSG9JRSw2QkF0RDhGLEVBQUE7RUc5RWhHO0lIb0lFLHVCQXREOEYsRUFBQTtFRzlFaEc7SUhvSUUsdUJBdEQ4RixFQUFBO0VHOUVoRztJSG9JRSw2QkF0RDhGLEVBQUE7RUc5RWhHO0lIb0lFLDZCQXREOEYsRUFBQTtFRzlFaEc7SUhvSUUseUJBdEQ4RixFQUFBLEVHNUUvRjs7QUZtSks7RUVySk47SUhvSUUsd0JBdEQ4RixFQUFBO0VHOUVoRztJSG9JRSx1QkF0RDhGLEVBQUE7RUc5RWhHO0lIb0lFLDZCQXREOEYsRUFBQTtFRzlFaEc7SUhvSUUsdUJBdEQ4RixFQUFBO0VHOUVoRztJSG9JRSx1QkF0RDhGLEVBQUE7RUc5RWhHO0lIb0lFLDZCQXREOEYsRUFBQTtFRzlFaEc7SUhvSUUsNkJBdEQ4RixFQUFBO0VHOUVoRztJSG9JRSx5QkF0RDhGLEVBQUEsRUc1RS9GOztBRm1KSztFRXJKTjtJSG9JRSx3QkF0RDhGLEVBQUE7RUc5RWhHO0lIb0lFLHVCQXREOEYsRUFBQTtFRzlFaEc7SUhvSUUsNkJBdEQ4RixFQUFBO0VHOUVoRztJSG9JRSx1QkF0RDhGLEVBQUE7RUc5RWhHO0lIb0lFLHVCQXREOEYsRUFBQTtFRzlFaEc7SUhvSUUsNkJBdEQ4RixFQUFBO0VHOUVoRztJSG9JRSw2QkF0RDhGLEVBQUE7RUc5RWhHO0lIb0lFLHlCQXREOEYsRUFBQSxFRzVFL0Y7O0FGbUpLO0VFckpOO0lIb0lFLHdCQXREOEYsRUFBQTtFRzlFaEc7SUhvSUUsdUJBdEQ4RixFQUFBO0VHOUVoRztJSG9JRSw2QkF0RDhGLEVBQUE7RUc5RWhHO0lIb0lFLHVCQXREOEYsRUFBQTtFRzlFaEc7SUhvSUUsdUJBdEQ4RixFQUFBO0VHOUVoRztJSG9JRSw2QkF0RDhGLEVBQUE7RUc5RWhHO0lIb0lFLDZCQXREOEYsRUFBQTtFRzlFaEc7SUhvSUUseUJBdEQ4RixFQUFBLEVHNUUvRjs7QU5xTUc7RU85TUUsZUFBMEI7RUFBMUIsY0FBMEIsRUFBQTtFQUc1QjtJQUVJLGVBQTBCO0lBQTFCLGNBQTBCLEVBQUE7RUFzQnhCO0lKZ0hSLGVFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixnQkVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLFVFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixnQkVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLGdCRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsVUVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLGdCRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsZ0JFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixVRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsZ0JFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixnQkVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLFdFbkJ5RCxFQUFBO0VEK0JyRDtJRzVISTtNSmdIUixlRW5CeUQsRUFBQTtJRTdGakQ7TUpnSFIsZ0JFbkJ5RCxFQUFBO0lFN0ZqRDtNSmdIUixVRW5CeUQsRUFBQTtJRTdGakQ7TUpnSFIsZ0JFbkJ5RCxFQUFBO0lFN0ZqRDtNSmdIUixnQkVuQnlELEVBQUE7SUU3RmpEO01KZ0hSLFVFbkJ5RCxFQUFBO0lFN0ZqRDtNSmdIUixnQkVuQnlELEVBQUE7SUU3RmpEO01KZ0hSLGdCRW5CeUQsRUFBQTtJRTdGakQ7TUpnSFIsVUVuQnlELEVBQUE7SUU3RmpEO01KZ0hSLGdCRW5CeUQsRUFBQTtJRTdGakQ7TUpnSFIsZ0JFbkJ5RCxFQUFBO0lFN0ZqRDtNSmdIUixXRW5CeUQsRUFBQSxFRTNGaEQ7RUgwSEw7SUc1SEk7TUpnSFIsZUVuQnlELEVBQUE7SUU3RmpEO01KZ0hSLGdCRW5CeUQsRUFBQTtJRTdGakQ7TUpnSFIsVUVuQnlELEVBQUE7SUU3RmpEO01KZ0hSLGdCRW5CeUQsRUFBQTtJRTdGakQ7TUpnSFIsZ0JFbkJ5RCxFQUFBO0lFN0ZqRDtNSmdIUixVRW5CeUQsRUFBQTtJRTdGakQ7TUpnSFIsZ0JFbkJ5RCxFQUFBO0lFN0ZqRDtNSmdIUixnQkVuQnlELEVBQUE7SUU3RmpEO01KZ0hSLFVFbkJ5RCxFQUFBO0lFN0ZqRDtNSmdIUixnQkVuQnlELEVBQUE7SUU3RmpEO01KZ0hSLGdCRW5CeUQsRUFBQTtJRTdGakQ7TUpnSFIsV0VuQnlELEVBQUEsRUUzRmhEO0VIMEhMO0lHNUhJO01KZ0hSLGVFbkJ5RCxFQUFBO0lFN0ZqRDtNSmdIUixnQkVuQnlELEVBQUE7SUU3RmpEO01KZ0hSLFVFbkJ5RCxFQUFBO0lFN0ZqRDtNSmdIUixnQkVuQnlELEVBQUE7SUU3RmpEO01KZ0hSLGdCRW5CeUQsRUFBQTtJRTdGakQ7TUpnSFIsVUVuQnlELEVBQUE7SUU3RmpEO01KZ0hSLGdCRW5CeUQsRUFBQTtJRTdGakQ7TUpnSFIsZ0JFbkJ5RCxFQUFBO0lFN0ZqRDtNSmdIUixVRW5CeUQsRUFBQTtJRTdGakQ7TUpnSFIsZ0JFbkJ5RCxFQUFBO0lFN0ZqRDtNSmdIUixnQkVuQnlELEVBQUE7SUU3RmpEO01KZ0hSLFdFbkJ5RCxFQUFBLEVFM0ZoRDtFSCtITDtJR2pJSTtNSmdIUixlRW5CeUQsRUFBQTtJRTdGakQ7TUpnSFIsZ0JFbkJ5RCxFQUFBO0lFN0ZqRDtNSmdIUixVRW5CeUQsRUFBQTtJRTdGakQ7TUpnSFIsZ0JFbkJ5RCxFQUFBO0lFN0ZqRDtNSmdIUixnQkVuQnlELEVBQUE7SUU3RmpEO01KZ0hSLFVFbkJ5RCxFQUFBO0lFN0ZqRDtNSmdIUixnQkVuQnlELEVBQUE7SUU3RmpEO01KZ0hSLGdCRW5CeUQsRUFBQTtJRTdGakQ7TUpnSFIsVUVuQnlELEVBQUE7SUU3RmpEO01KZ0hSLGdCRW5CeUQsRUFBQTtJRTdGakQ7TUpnSFIsZ0JFbkJ5RCxFQUFBO0lFN0ZqRDtNSmdIUixXRW5CeUQsRUFBQSxFRTNGaEQ7RUgrSEw7SUdqSUk7TUpnSFIsZUVuQnlELEVBQUE7SUU3RmpEO01KZ0hSLGdCRW5CeUQsRUFBQTtJRTdGakQ7TUpnSFIsVUVuQnlELEVBQUE7SUU3RmpEO01KZ0hSLGdCRW5CeUQsRUFBQTtJRTdGakQ7TUpnSFIsZ0JFbkJ5RCxFQUFBO0lFN0ZqRDtNSmdIUixVRW5CeUQsRUFBQTtJRTdGakQ7TUpnSFIsZ0JFbkJ5RCxFQUFBO0lFN0ZqRDtNSmdIUixnQkVuQnlELEVBQUE7SUU3RmpEO01KZ0hSLFVFbkJ5RCxFQUFBO0lFN0ZqRDtNSmdIUixnQkVuQnlELEVBQUE7SUU3RmpEO01KZ0hSLGdCRW5CeUQsRUFBQTtJRTdGakQ7TUpnSFIsV0VuQnlELEVBQUEsRUUzRmhEO0VIK0hMO0lHaklJO01KZ0hSLGVFbkJ5RCxFQUFBO0lFN0ZqRDtNSmdIUixnQkVuQnlELEVBQUE7SUU3RmpEO01KZ0hSLFVFbkJ5RCxFQUFBO0lFN0ZqRDtNSmdIUixnQkVuQnlELEVBQUE7SUU3RmpEO01KZ0hSLGdCRW5CeUQsRUFBQTtJRTdGakQ7TUpnSFIsVUVuQnlELEVBQUE7SUU3RmpEO01KZ0hSLGdCRW5CeUQsRUFBQTtJRTdGakQ7TUpnSFIsZ0JFbkJ5RCxFQUFBO0lFN0ZqRDtNSmdIUixVRW5CeUQsRUFBQTtJRTdGakQ7TUpnSFIsZ0JFbkJ5RCxFQUFBO0lFN0ZqRDtNSmdIUixnQkVuQnlELEVBQUE7SUU3RmpEO01KZ0hSLFdFbkJ5RCxFQUFBLEVFM0ZoRDs7QVB1TFA7RU83S0UsZUFBMEI7RUFBMUIsY0FBMEIsRUFBQTtFQUc1QjtJQUVJLGdCQUE0QjtJQUE1QixlQUE0QixFQUFBOztBSDJHOUI7RUp1REY7SU85TUUsZUFBMEI7SUFBMUIsY0FBMEIsRUFBQTtJQUc1QjtNQUVJLGVBQTBCO01BQTFCLGNBQTBCLEVBQUEsRUFFN0I7O0FIZ0pDO0VHcklJO0lKeUhSLGVFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixnQkVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLFVFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixnQkVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLGdCRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsVUVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLGdCRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsZ0JFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixVRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsZ0JFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixnQkVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLFdFbkJ5RCxFQUFBLEVFcEdoRDs7QUhtSUw7RUc1SEk7SUpnSFIsZUVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLGdCRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsVUVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLGdCRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsZ0JFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixVRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsZ0JFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixnQkVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLFVFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixnQkVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLGdCRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsV0VuQnlELEVBQUEsRUUzRmhEOztBSDBITDtFRzVISTtJSmdIUixlRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsZ0JFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixVRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsZ0JFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixnQkVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLFVFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixnQkVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLGdCRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsVUVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLGdCRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsZ0JFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixXRW5CeUQsRUFBQSxFRTNGaEQ7O0FIMEhMO0VHNUhJO0lKZ0hSLGVFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixnQkVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLFVFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixnQkVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLGdCRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsVUVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLGdCRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsZ0JFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixVRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsZ0JFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixnQkVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLFdFbkJ5RCxFQUFBLEVFM0ZoRDs7QUgrSEw7RUdqSUk7SUpnSFIsZUVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLGdCRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsVUVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLGdCRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsZ0JFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixVRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsZ0JFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixnQkVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLFVFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixnQkVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLGdCRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsV0VuQnlELEVBQUEsRUUzRmhEOztBSCtITDtFR2pJSTtJSmdIUixlRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsZ0JFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixVRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsZ0JFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixnQkVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLFVFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixnQkVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLGdCRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsVUVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLGdCRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsZ0JFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixXRW5CeUQsRUFBQSxFRTNGaEQ7O0FIK0hMO0VHaklJO0lKZ0hSLGVFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixnQkVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLFVFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixnQkVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLGdCRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsVUVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLGdCRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsZ0JFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixVRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsZ0JFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixnQkVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLFdFbkJ5RCxFQUFBLEVFM0ZoRDs7QUgwSEw7RUo2REY7SU83S0UsZUFBMEI7SUFBMUIsY0FBMEIsRUFBQTtJQUc1QjtNQUVJLGdCQUE0QjtNQUE1QixlQUE0QixFQUFBLEVBRS9COztBSHlHQztFSnVERjtJTzlNRSxlQUEwQjtJQUExQixjQUEwQixFQUFBO0lBRzVCO01BRUksZUFBMEI7TUFBMUIsY0FBMEIsRUFBQSxFQUU3Qjs7QUhnSkM7RUdySUk7SUp5SFIsZUVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLGdCRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsVUVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLGdCRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsZ0JFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixVRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsZ0JFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixnQkVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLFVFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixnQkVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLGdCRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsV0VuQnlELEVBQUEsRUVwR2hEOztBSG1JTDtFR3JJSTtJSnlIUixlRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsZ0JFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixVRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsZ0JFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixnQkVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLFVFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixnQkVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLGdCRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsVUVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLGdCRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsZ0JFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixXRW5CeUQsRUFBQSxFRXBHaEQ7O0FIbUlMO0VHNUhJO0lKZ0hSLGVFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixnQkVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLFVFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixnQkVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLGdCRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsVUVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLGdCRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsZ0JFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixVRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsZ0JFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixnQkVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLFdFbkJ5RCxFQUFBLEVFM0ZoRDs7QUgwSEw7RUc1SEk7SUpnSFIsZUVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLGdCRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsVUVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLGdCRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsZ0JFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixVRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsZ0JFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixnQkVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLFVFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixnQkVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLGdCRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsV0VuQnlELEVBQUEsRUUzRmhEOztBSCtITDtFR2pJSTtJSmdIUixlRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsZ0JFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixVRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsZ0JFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixnQkVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLFVFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixnQkVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLGdCRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsVUVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLGdCRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsZ0JFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixXRW5CeUQsRUFBQSxFRTNGaEQ7O0FIK0hMO0VHaklJO0lKZ0hSLGVFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixnQkVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLFVFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixnQkVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLGdCRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsVUVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLGdCRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsZ0JFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixVRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsZ0JFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixnQkVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLFdFbkJ5RCxFQUFBLEVFM0ZoRDs7QUgrSEw7RUdqSUk7SUpnSFIsZUVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLGdCRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsVUVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLGdCRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsZ0JFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixVRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsZ0JFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixnQkVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLFVFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixnQkVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLGdCRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsV0VuQnlELEVBQUEsRUUzRmhEOztBSDBITDtFSjZERjtJTzdLRSxlQUEwQjtJQUExQixjQUEwQixFQUFBO0lBRzVCO01BRUksZ0JBQTRCO01BQTVCLGVBQTRCLEVBQUEsRUFFL0I7O0FIeUdDO0VKdURGO0lPOU1FLGVBQTBCO0lBQTFCLGNBQTBCLEVBQUE7SUFHNUI7TUFFSSxlQUEwQjtNQUExQixjQUEwQixFQUFBLEVBRTdCOztBSGdKQztFR3JJSTtJSnlIUixlRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsZ0JFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixVRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsZ0JFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixnQkVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLFVFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixnQkVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLGdCRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsVUVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLGdCRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsZ0JFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixXRW5CeUQsRUFBQSxFRXBHaEQ7O0FIbUlMO0VHcklJO0lKeUhSLGVFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixnQkVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLFVFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixnQkVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLGdCRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsVUVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLGdCRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsZ0JFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixVRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsZ0JFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixnQkVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLFdFbkJ5RCxFQUFBLEVFcEdoRDs7QUhtSUw7RUdySUk7SUp5SFIsZUVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLGdCRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsVUVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLGdCRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsZ0JFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixVRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsZ0JFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixnQkVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLFVFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixnQkVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLGdCRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsV0VuQnlELEVBQUEsRUVwR2hEOztBSG1JTDtFRzVISTtJSmdIUixlRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsZ0JFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixVRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsZ0JFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixnQkVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLFVFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixnQkVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLGdCRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsVUVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLGdCRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsZ0JFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixXRW5CeUQsRUFBQSxFRTNGaEQ7O0FIK0hMO0VHaklJO0lKZ0hSLGVFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixnQkVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLFVFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixnQkVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLGdCRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsVUVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLGdCRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsZ0JFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixVRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsZ0JFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixnQkVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLFdFbkJ5RCxFQUFBLEVFM0ZoRDs7QUgrSEw7RUdqSUk7SUpnSFIsZUVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLGdCRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsVUVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLGdCRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsZ0JFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixVRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsZ0JFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixnQkVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLFVFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixnQkVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLGdCRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsV0VuQnlELEVBQUEsRUUzRmhEOztBSCtITDtFR2pJSTtJSmdIUixlRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsZ0JFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixVRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsZ0JFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixnQkVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLFVFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixnQkVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLGdCRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsVUVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLGdCRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsZ0JFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixXRW5CeUQsRUFBQSxFRTNGaEQ7O0FIMEhMO0VKNkRGO0lPN0tFLGVBQTBCO0lBQTFCLGNBQTBCLEVBQUE7SUFHNUI7TUFFSSxnQkFBNEI7TUFBNUIsZUFBNEIsRUFBQSxFQUUvQjs7QUg4R0M7RUprREY7SU85TUUsZUFBMEI7SUFBMUIsY0FBMEIsRUFBQTtJQUc1QjtNQUVJLGVBQTBCO01BQTFCLGNBQTBCLEVBQUEsRUFFN0I7O0FIcUpDO0VHMUlJO0lKeUhSLGVFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixnQkVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLFVFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixnQkVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLGdCRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsVUVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLGdCRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsZ0JFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixVRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsZ0JFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixnQkVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLFdFbkJ5RCxFQUFBLEVFcEdoRDs7QUh3SUw7RUcxSUk7SUp5SFIsZUVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLGdCRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsVUVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLGdCRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsZ0JFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixVRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsZ0JFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixnQkVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLFVFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixnQkVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLGdCRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsV0VuQnlELEVBQUEsRUVwR2hEOztBSHdJTDtFRzFJSTtJSnlIUixlRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsZ0JFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixVRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsZ0JFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixnQkVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLFVFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixnQkVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLGdCRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsVUVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLGdCRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsZ0JFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixXRW5CeUQsRUFBQSxFRXBHaEQ7O0FId0lMO0VHMUlJO0lKeUhSLGVFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixnQkVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLFVFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixnQkVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLGdCRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsVUVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLGdCRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsZ0JFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixVRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsZ0JFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixnQkVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLFdFbkJ5RCxFQUFBLEVFcEdoRDs7QUh3SUw7RUdqSUk7SUpnSFIsZUVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLGdCRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsVUVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLGdCRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsZ0JFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixVRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsZ0JFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixnQkVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLFVFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixnQkVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLGdCRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsV0VuQnlELEVBQUEsRUUzRmhEOztBSCtITDtFR2pJSTtJSmdIUixlRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsZ0JFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixVRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsZ0JFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixnQkVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLFVFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixnQkVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLGdCRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsVUVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLGdCRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsZ0JFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixXRW5CeUQsRUFBQSxFRTNGaEQ7O0FIK0hMO0VHaklJO0lKZ0hSLGVFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixnQkVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLFVFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixnQkVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLGdCRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsVUVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLGdCRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsZ0JFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixVRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsZ0JFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixnQkVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLFdFbkJ5RCxFQUFBLEVFM0ZoRDs7QUgrSEw7RUp3REY7SU83S0UsZUFBMEI7SUFBMUIsY0FBMEIsRUFBQTtJQUc1QjtNQUVJLGdCQUE0QjtNQUE1QixlQUE0QixFQUFBLEVBRS9COztBSDhHQztFSmtERjtJTzlNRSxlQUEwQjtJQUExQixjQUEwQixFQUFBO0lBRzVCO01BRUksZUFBMEI7TUFBMUIsY0FBMEIsRUFBQSxFQUU3Qjs7QUhxSkM7RUcxSUk7SUp5SFIsZUVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLGdCRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsVUVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLGdCRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsZ0JFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixVRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsZ0JFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixnQkVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLFVFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixnQkVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLGdCRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsV0VuQnlELEVBQUEsRUVwR2hEOztBSHdJTDtFRzFJSTtJSnlIUixlRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsZ0JFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixVRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsZ0JFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixnQkVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLFVFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixnQkVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLGdCRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsVUVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLGdCRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsZ0JFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixXRW5CeUQsRUFBQSxFRXBHaEQ7O0FId0lMO0VHMUlJO0lKeUhSLGVFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixnQkVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLFVFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixnQkVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLGdCRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsVUVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLGdCRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsZ0JFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixVRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsZ0JFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixnQkVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLFdFbkJ5RCxFQUFBLEVFcEdoRDs7QUh3SUw7RUcxSUk7SUp5SFIsZUVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLGdCRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsVUVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLGdCRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsZ0JFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixVRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsZ0JFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixnQkVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLFVFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixnQkVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLGdCRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsV0VuQnlELEVBQUEsRUVwR2hEOztBSHdJTDtFRzFJSTtJSnlIUixlRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsZ0JFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixVRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsZ0JFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixnQkVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLFVFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixnQkVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLGdCRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsVUVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLGdCRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsZ0JFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixXRW5CeUQsRUFBQSxFRXBHaEQ7O0FId0lMO0VHaklJO0lKZ0hSLGVFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixnQkVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLFVFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixnQkVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLGdCRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsVUVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLGdCRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsZ0JFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixVRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsZ0JFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixnQkVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLFdFbkJ5RCxFQUFBLEVFM0ZoRDs7QUgrSEw7RUdqSUk7SUpnSFIsZUVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLGdCRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsVUVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLGdCRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsZ0JFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixVRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsZ0JFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixnQkVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLFVFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixnQkVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLGdCRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsV0VuQnlELEVBQUEsRUUzRmhEOztBSCtITDtFSndERjtJTzdLRSxlQUEwQjtJQUExQixjQUEwQixFQUFBO0lBRzVCO01BRUksZ0JBQTRCO01BQTVCLGVBQTRCLEVBQUEsRUFFL0I7O0FIOEdDO0VKa0RGO0lPOU1FLGVBQTBCO0lBQTFCLGNBQTBCLEVBQUE7SUFHNUI7TUFFSSxlQUEwQjtNQUExQixjQUEwQixFQUFBLEVBRTdCOztBSHFKQztFRzFJSTtJSnlIUixlRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsZ0JFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixVRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsZ0JFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixnQkVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLFVFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixnQkVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLGdCRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsVUVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLGdCRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsZ0JFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixXRW5CeUQsRUFBQSxFRXBHaEQ7O0FId0lMO0VHMUlJO0lKeUhSLGVFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixnQkVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLFVFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixnQkVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLGdCRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsVUVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLGdCRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsZ0JFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixVRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsZ0JFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixnQkVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLFdFbkJ5RCxFQUFBLEVFcEdoRDs7QUh3SUw7RUcxSUk7SUp5SFIsZUVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLGdCRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsVUVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLGdCRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsZ0JFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixVRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsZ0JFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixnQkVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLFVFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixnQkVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLGdCRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsV0VuQnlELEVBQUEsRUVwR2hEOztBSHdJTDtFRzFJSTtJSnlIUixlRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsZ0JFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixVRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsZ0JFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixnQkVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLFVFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixnQkVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLGdCRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsVUVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLGdCRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsZ0JFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixXRW5CeUQsRUFBQSxFRXBHaEQ7O0FId0lMO0VHMUlJO0lKeUhSLGVFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixnQkVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLFVFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixnQkVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLGdCRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsVUVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLGdCRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsZ0JFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixVRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsZ0JFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixnQkVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLFdFbkJ5RCxFQUFBLEVFcEdoRDs7QUh3SUw7RUcxSUk7SUp5SFIsZUVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLGdCRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsVUVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLGdCRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsZ0JFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixVRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsZ0JFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixnQkVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLFVFbkJ5RCxFQUFBO0VFdEdqRDtJSnlIUixnQkVuQnlELEVBQUE7RUV0R2pEO0lKeUhSLGdCRW5CeUQsRUFBQTtFRXRHakQ7SUp5SFIsV0VuQnlELEVBQUEsRUVwR2hEOztBSHdJTDtFR2pJSTtJSmdIUixlRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsZ0JFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixVRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsZ0JFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixnQkVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLFVFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixnQkVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLGdCRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsVUVuQnlELEVBQUE7RUU3RmpEO0lKZ0hSLGdCRW5CeUQsRUFBQTtFRTdGakQ7SUpnSFIsZ0JFbkJ5RCxFQUFBO0VFN0ZqRDtJSmdIUixXRW5CeUQsRUFBQSxFRTNGaEQ7O0FIK0hMO0VKd0RGO0lPN0tFLGVBQTBCO0lBQTFCLGNBQTBCLEVBQUE7SUFHNUI7TUFFSSxnQkFBNEI7TUFBNUIsZUFBNEIsRUFBQSxFQUUvQjs7QVBvTEQ7RVF2TUYsZUFBNkIsRUFBQTs7QVIyTTNCO0VRM01GLDhCQUE2QixFQUFBOztBUnVNM0I7RVF2TUYscUJBQTZCLEVBQUE7O0FSMk0zQjtFUTNNRixvQ0FBNkIsRUFBQTs7QVJ1TTNCO0VRdk1GLHNCQUE2QixFQUFBOztBUjJNM0I7RVEzTUYscUNBQTZCLEVBQUE7O0FSdU0zQjtFUXZNRixnQkFBNkIsRUFBQTs7QVIyTTNCO0VRM01GLCtCQUE2QixFQUFBOztBUnVNM0I7RVF2TUYsc0JBQTZCLEVBQUE7O0FSMk0zQjtFUTNNRixxQ0FBNkIsRUFBQTs7QVJ1TTNCO0VRdk1GLHNCQUE2QixFQUFBOztBUjJNM0I7RVEzTUYscUNBQTZCLEVBQUE7O0FSdU0zQjtFUXZNRixnQkFBNkIsRUFBQTs7QVIyTTNCO0VRM01GLCtCQUE2QixFQUFBOztBUnVNM0I7RVF2TUYsc0JBQTZCLEVBQUE7O0FSMk0zQjtFUTNNRixxQ0FBNkIsRUFBQTs7QVJ1TTNCO0VRdk1GLHNCQUE2QixFQUFBOztBUjJNM0I7RVEzTUYscUNBQTZCLEVBQUE7O0FSdU0zQjtFUXZNRixnQkFBNkIsRUFBQTs7QVIyTTNCO0VRM01GLCtCQUE2QixFQUFBOztBUnVNM0I7RVF2TUYsc0JBQTZCLEVBQUE7O0FSMk0zQjtFUTNNRixxQ0FBNkIsRUFBQTs7QVJ1TTNCO0VRdk1GLHNCQUE2QixFQUFBOztBUjJNM0I7RVEzTUYscUNBQTZCLEVBQUE7O0FKNEh6QjtFSjJFRjtJUXZNRixlQUE2QixFQUFBO0VSMk0zQjtJUTNNRiw4QkFBNkIsRUFBQTtFUnVNM0I7SVF2TUYscUJBQTZCLEVBQUE7RVIyTTNCO0lRM01GLG9DQUE2QixFQUFBO0VSdU0zQjtJUXZNRixzQkFBNkIsRUFBQTtFUjJNM0I7SVEzTUYscUNBQTZCLEVBQUE7RVJ1TTNCO0lRdk1GLGdCQUE2QixFQUFBO0VSMk0zQjtJUTNNRiwrQkFBNkIsRUFBQTtFUnVNM0I7SVF2TUYsc0JBQTZCLEVBQUE7RVIyTTNCO0lRM01GLHFDQUE2QixFQUFBO0VSdU0zQjtJUXZNRixzQkFBNkIsRUFBQTtFUjJNM0I7SVEzTUYscUNBQTZCLEVBQUE7RVJ1TTNCO0lRdk1GLGdCQUE2QixFQUFBO0VSMk0zQjtJUTNNRiwrQkFBNkIsRUFBQTtFUnVNM0I7SVF2TUYsc0JBQTZCLEVBQUE7RVIyTTNCO0lRM01GLHFDQUE2QixFQUFBO0VSdU0zQjtJUXZNRixzQkFBNkIsRUFBQTtFUjJNM0I7SVEzTUYscUNBQTZCLEVBQUE7RVJ1TTNCO0lRdk1GLGdCQUE2QixFQUFBO0VSMk0zQjtJUTNNRiwrQkFBNkIsRUFBQTtFUnVNM0I7SVF2TUYsc0JBQTZCLEVBQUE7RVIyTTNCO0lRM01GLHFDQUE2QixFQUFBO0VSdU0zQjtJUXZNRixzQkFBNkIsRUFBQTtFUjJNM0I7SVEzTUYscUNBQTZCLEVBQUEsRVI2TTFCOztBSWpGQztFSjJFRjtJUXZNRixlQUE2QixFQUFBO0VSMk0zQjtJUTNNRiw4QkFBNkIsRUFBQTtFUnVNM0I7SVF2TUYscUJBQTZCLEVBQUE7RVIyTTNCO0lRM01GLG9DQUE2QixFQUFBO0VSdU0zQjtJUXZNRixzQkFBNkIsRUFBQTtFUjJNM0I7SVEzTUYscUNBQTZCLEVBQUE7RVJ1TTNCO0lRdk1GLGdCQUE2QixFQUFBO0VSMk0zQjtJUTNNRiwrQkFBNkIsRUFBQTtFUnVNM0I7SVF2TUYsc0JBQTZCLEVBQUE7RVIyTTNCO0lRM01GLHFDQUE2QixFQUFBO0VSdU0zQjtJUXZNRixzQkFBNkIsRUFBQTtFUjJNM0I7SVEzTUYscUNBQTZCLEVBQUE7RVJ1TTNCO0lRdk1GLGdCQUE2QixFQUFBO0VSMk0zQjtJUTNNRiwrQkFBNkIsRUFBQTtFUnVNM0I7SVF2TUYsc0JBQTZCLEVBQUE7RVIyTTNCO0lRM01GLHFDQUE2QixFQUFBO0VSdU0zQjtJUXZNRixzQkFBNkIsRUFBQTtFUjJNM0I7SVEzTUYscUNBQTZCLEVBQUE7RVJ1TTNCO0lRdk1GLGdCQUE2QixFQUFBO0VSMk0zQjtJUTNNRiwrQkFBNkIsRUFBQTtFUnVNM0I7SVF2TUYsc0JBQTZCLEVBQUE7RVIyTTNCO0lRM01GLHFDQUE2QixFQUFBO0VSdU0zQjtJUXZNRixzQkFBNkIsRUFBQTtFUjJNM0I7SVEzTUYscUNBQTZCLEVBQUEsRVI2TTFCOztBSWpGQztFSjJFRjtJUXZNRixlQUE2QixFQUFBO0VSMk0zQjtJUTNNRiw4QkFBNkIsRUFBQTtFUnVNM0I7SVF2TUYscUJBQTZCLEVBQUE7RVIyTTNCO0lRM01GLG9DQUE2QixFQUFBO0VSdU0zQjtJUXZNRixzQkFBNkIsRUFBQTtFUjJNM0I7SVEzTUYscUNBQTZCLEVBQUE7RVJ1TTNCO0lRdk1GLGdCQUE2QixFQUFBO0VSMk0zQjtJUTNNRiwrQkFBNkIsRUFBQTtFUnVNM0I7SVF2TUYsc0JBQTZCLEVBQUE7RVIyTTNCO0lRM01GLHFDQUE2QixFQUFBO0VSdU0zQjtJUXZNRixzQkFBNkIsRUFBQTtFUjJNM0I7SVEzTUYscUNBQTZCLEVBQUE7RVJ1TTNCO0lRdk1GLGdCQUE2QixFQUFBO0VSMk0zQjtJUTNNRiwrQkFBNkIsRUFBQTtFUnVNM0I7SVF2TUYsc0JBQTZCLEVBQUE7RVIyTTNCO0lRM01GLHFDQUE2QixFQUFBO0VSdU0zQjtJUXZNRixzQkFBNkIsRUFBQTtFUjJNM0I7SVEzTUYscUNBQTZCLEVBQUE7RVJ1TTNCO0lRdk1GLGdCQUE2QixFQUFBO0VSMk0zQjtJUTNNRiwrQkFBNkIsRUFBQTtFUnVNM0I7SVF2TUYsc0JBQTZCLEVBQUE7RVIyTTNCO0lRM01GLHFDQUE2QixFQUFBO0VSdU0zQjtJUXZNRixzQkFBNkIsRUFBQTtFUjJNM0I7SVEzTUYscUNBQTZCLEVBQUEsRVI2TTFCOztBSTVFQztFSnNFRjtJUXZNRixlQUE2QixFQUFBO0VSMk0zQjtJUTNNRiw4QkFBNkIsRUFBQTtFUnVNM0I7SVF2TUYscUJBQTZCLEVBQUE7RVIyTTNCO0lRM01GLG9DQUE2QixFQUFBO0VSdU0zQjtJUXZNRixzQkFBNkIsRUFBQTtFUjJNM0I7SVEzTUYscUNBQTZCLEVBQUE7RVJ1TTNCO0lRdk1GLGdCQUE2QixFQUFBO0VSMk0zQjtJUTNNRiwrQkFBNkIsRUFBQTtFUnVNM0I7SVF2TUYsc0JBQTZCLEVBQUE7RVIyTTNCO0lRM01GLHFDQUE2QixFQUFBO0VSdU0zQjtJUXZNRixzQkFBNkIsRUFBQTtFUjJNM0I7SVEzTUYscUNBQTZCLEVBQUE7RVJ1TTNCO0lRdk1GLGdCQUE2QixFQUFBO0VSMk0zQjtJUTNNRiwrQkFBNkIsRUFBQTtFUnVNM0I7SVF2TUYsc0JBQTZCLEVBQUE7RVIyTTNCO0lRM01GLHFDQUE2QixFQUFBO0VSdU0zQjtJUXZNRixzQkFBNkIsRUFBQTtFUjJNM0I7SVEzTUYscUNBQTZCLEVBQUE7RVJ1TTNCO0lRdk1GLGdCQUE2QixFQUFBO0VSMk0zQjtJUTNNRiwrQkFBNkIsRUFBQTtFUnVNM0I7SVF2TUYsc0JBQTZCLEVBQUE7RVIyTTNCO0lRM01GLHFDQUE2QixFQUFBO0VSdU0zQjtJUXZNRixzQkFBNkIsRUFBQTtFUjJNM0I7SVEzTUYscUNBQTZCLEVBQUEsRVI2TTFCOztBSTVFQztFSnNFRjtJUXZNRixlQUE2QixFQUFBO0VSMk0zQjtJUTNNRiw4QkFBNkIsRUFBQTtFUnVNM0I7SVF2TUYscUJBQTZCLEVBQUE7RVIyTTNCO0lRM01GLG9DQUE2QixFQUFBO0VSdU0zQjtJUXZNRixzQkFBNkIsRUFBQTtFUjJNM0I7SVEzTUYscUNBQTZCLEVBQUE7RVJ1TTNCO0lRdk1GLGdCQUE2QixFQUFBO0VSMk0zQjtJUTNNRiwrQkFBNkIsRUFBQTtFUnVNM0I7SVF2TUYsc0JBQTZCLEVBQUE7RVIyTTNCO0lRM01GLHFDQUE2QixFQUFBO0VSdU0zQjtJUXZNRixzQkFBNkIsRUFBQTtFUjJNM0I7SVEzTUYscUNBQTZCLEVBQUE7RVJ1TTNCO0lRdk1GLGdCQUE2QixFQUFBO0VSMk0zQjtJUTNNRiwrQkFBNkIsRUFBQTtFUnVNM0I7SVF2TUYsc0JBQTZCLEVBQUE7RVIyTTNCO0lRM01GLHFDQUE2QixFQUFBO0VSdU0zQjtJUXZNRixzQkFBNkIsRUFBQTtFUjJNM0I7SVEzTUYscUNBQTZCLEVBQUE7RVJ1TTNCO0lRdk1GLGdCQUE2QixFQUFBO0VSMk0zQjtJUTNNRiwrQkFBNkIsRUFBQTtFUnVNM0I7SVF2TUYsc0JBQTZCLEVBQUE7RVIyTTNCO0lRM01GLHFDQUE2QixFQUFBO0VSdU0zQjtJUXZNRixzQkFBNkIsRUFBQTtFUjJNM0I7SVEzTUYscUNBQTZCLEVBQUEsRVI2TTFCOztBSTVFQztFSnNFRjtJUXZNRixlQUE2QixFQUFBO0VSMk0zQjtJUTNNRiw4QkFBNkIsRUFBQTtFUnVNM0I7SVF2TUYscUJBQTZCLEVBQUE7RVIyTTNCO0lRM01GLG9DQUE2QixFQUFBO0VSdU0zQjtJUXZNRixzQkFBNkIsRUFBQTtFUjJNM0I7SVEzTUYscUNBQTZCLEVBQUE7RVJ1TTNCO0lRdk1GLGdCQUE2QixFQUFBO0VSMk0zQjtJUTNNRiwrQkFBNkIsRUFBQTtFUnVNM0I7SVF2TUYsc0JBQTZCLEVBQUE7RVIyTTNCO0lRM01GLHFDQUE2QixFQUFBO0VSdU0zQjtJUXZNRixzQkFBNkIsRUFBQTtFUjJNM0I7SVEzTUYscUNBQTZCLEVBQUE7RVJ1TTNCO0lRdk1GLGdCQUE2QixFQUFBO0VSMk0zQjtJUTNNRiwrQkFBNkIsRUFBQTtFUnVNM0I7SVF2TUYsc0JBQTZCLEVBQUE7RVIyTTNCO0lRM01GLHFDQUE2QixFQUFBO0VSdU0zQjtJUXZNRixzQkFBNkIsRUFBQTtFUjJNM0I7SVEzTUYscUNBQTZCLEVBQUE7RVJ1TTNCO0lRdk1GLGdCQUE2QixFQUFBO0VSMk0zQjtJUTNNRiwrQkFBNkIsRUFBQTtFUnVNM0I7SVF2TUYsc0JBQTZCLEVBQUE7RVIyTTNCO0lRM01GLHFDQUE2QixFQUFBO0VSdU0zQjtJUXZNRixzQkFBNkIsRUFBQTtFUjJNM0I7SVEzTUYscUNBQTZCLEVBQUEsRVI2TTFCOztBQXpKUztFQ3RFZCxhQUFhO0VBQ2Isd0JBSDZCLEVBQUE7RURpUDdCO0lHMUlBLFlBQW1CO0lBQ25CLGdCQUEyQixFQUFBO0VIeUkzQjtJRzdHRSxZQWxGWSxFQUFBO0VIK0xkO0lHN0dFLFlBbEZZLEVBQUE7RUgrTGQ7SUEyQk0sZ0JBQWdCLEVBQUE7RUk1SGhCO0lKaUdOO01BMkJNLGdCQUFnQixFQUFBLEVBQ2pCO0VJN0hDO0lKaUdOO01BMkJNLGdCQUFnQixFQUFBLEVBQ2pCO0VJN0hDO0lKaUdOO01BMkJNLGdCQUFnQixFQUFBLEVBQ2pCO0VJeEhDO0lKNEZOO01BMkJNLGdCQUFnQixFQUFBLEVBQ2pCO0VJeEhDO0lKNEZOO01BMkJNLGdCQUFnQixFQUFBLEVBQ2pCO0VJeEhDO0lKNEZOO01BMkJNLGdCQUFnQixFQUFBLEVBQ2pCO0VBNUJMO0lHeEpBLGNBQU0sRUFBQTtFSHdKTjtJRzdHRSxnQkVuQnlELEVBQUE7RUxnSTNEO0lHN0dFLGlCRW5CeUQsRUFBQTtFTGdJM0Q7SUc3R0UsV0VuQnlELEVBQUE7RUxnSTNEO0lHN0dFLGlCRW5CeUQsRUFBQTtFTGdJM0Q7SUc3R0UsaUJFbkJ5RCxFQUFBO0VMZ0kzRDtJRzdHRSxXRW5CeUQsRUFBQTtFTGdJM0Q7SUc3R0UsaUJFbkJ5RCxFQUFBO0VMZ0kzRDtJRzdHRSxpQkVuQnlELEVBQUE7RUxnSTNEO0lHN0dFLFdFbkJ5RCxFQUFBO0VMZ0kzRDtJRzdHRSxpQkVuQnlELEVBQUE7RUxnSTNEO0lHN0dFLGlCRW5CeUQsRUFBQTtFTGdJM0Q7SUc3R0UsWUVuQnlELEVBQUE7RUQrQnJEO0lKaUdOO01HeEpBLGFBQU07TUEyQ0osWUFsRlksRUFBQTtJSCtMZDtNR3hKQSxjQUFNLEVBQUE7SUh3Sk47TUc3R0UsWUFsRlksRUFBQTtJSCtMZDtNRzdHRSxnQkVuQnlELEVBQUE7SUxnSTNEO01HN0dFLGlCRW5CeUQsRUFBQTtJTGdJM0Q7TUc3R0UsV0VuQnlELEVBQUE7SUxnSTNEO01HN0dFLGlCRW5CeUQsRUFBQTtJTGdJM0Q7TUc3R0UsaUJFbkJ5RCxFQUFBO0lMZ0kzRDtNRzdHRSxXRW5CeUQsRUFBQTtJTGdJM0Q7TUc3R0UsaUJFbkJ5RCxFQUFBO0lMZ0kzRDtNRzdHRSxpQkVuQnlELEVBQUE7SUxnSTNEO01HN0dFLFdFbkJ5RCxFQUFBO0lMZ0kzRDtNRzdHRSxpQkVuQnlELEVBQUE7SUxnSTNEO01HN0dFLGlCRW5CeUQsRUFBQTtJTGdJM0Q7TUc3R0UsWUVuQnlELEVBQUEsRUx5THBEO0VJMUpEO0lKaUdOO01HeEpBLGFBQU07TUEyQ0osWUFsRlksRUFBQTtJSCtMZDtNR3hKQSxjQUFNLEVBQUE7SUh3Sk47TUc3R0UsWUFsRlksRUFBQTtJSCtMZDtNRzdHRSxnQkVuQnlELEVBQUE7SUxnSTNEO01HN0dFLGlCRW5CeUQsRUFBQTtJTGdJM0Q7TUc3R0UsV0VuQnlELEVBQUE7SUxnSTNEO01HN0dFLGlCRW5CeUQsRUFBQTtJTGdJM0Q7TUc3R0UsaUJFbkJ5RCxFQUFBO0lMZ0kzRDtNRzdHRSxXRW5CeUQsRUFBQTtJTGdJM0Q7TUc3R0UsaUJFbkJ5RCxFQUFBO0lMZ0kzRDtNRzdHRSxpQkVuQnlELEVBQUE7SUxnSTNEO01HN0dFLFdFbkJ5RCxFQUFBO0lMZ0kzRDtNRzdHRSxpQkVuQnlELEVBQUE7SUxnSTNEO01HN0dFLGlCRW5CeUQsRUFBQTtJTGdJM0Q7TUc3R0UsWUVuQnlELEVBQUEsRUx5THBEO0VJMUpEO0lKaUdOO01HeEpBLGFBQU07TUEyQ0osWUFsRlksRUFBQTtJSCtMZDtNR3hKQSxjQUFNLEVBQUE7SUh3Sk47TUc3R0UsWUFsRlksRUFBQTtJSCtMZDtNRzdHRSxnQkVuQnlELEVBQUE7SUxnSTNEO01HN0dFLGlCRW5CeUQsRUFBQTtJTGdJM0Q7TUc3R0UsV0VuQnlELEVBQUE7SUxnSTNEO01HN0dFLGlCRW5CeUQsRUFBQTtJTGdJM0Q7TUc3R0UsaUJFbkJ5RCxFQUFBO0lMZ0kzRDtNRzdHRSxXRW5CeUQsRUFBQTtJTGdJM0Q7TUc3R0UsaUJFbkJ5RCxFQUFBO0lMZ0kzRDtNRzdHRSxpQkVuQnlELEVBQUE7SUxnSTNEO01HN0dFLFdFbkJ5RCxFQUFBO0lMZ0kzRDtNRzdHRSxpQkVuQnlELEVBQUE7SUxnSTNEO01HN0dFLGlCRW5CeUQsRUFBQTtJTGdJM0Q7TUc3R0UsWUVuQnlELEVBQUEsRUx5THBEO0VJckpEO0lKNEZOO01HeEpBLGFBQU07TUEyQ0osWUFsRlksRUFBQTtJSCtMZDtNR3hKQSxjQUFNLEVBQUE7SUh3Sk47TUc3R0UsWUFsRlksRUFBQTtJSCtMZDtNRzdHRSxnQkVuQnlELEVBQUE7SUxnSTNEO01HN0dFLGlCRW5CeUQsRUFBQTtJTGdJM0Q7TUc3R0UsV0VuQnlELEVBQUE7SUxnSTNEO01HN0dFLGlCRW5CeUQsRUFBQTtJTGdJM0Q7TUc3R0UsaUJFbkJ5RCxFQUFBO0lMZ0kzRDtNRzdHRSxXRW5CeUQsRUFBQTtJTGdJM0Q7TUc3R0UsaUJFbkJ5RCxFQUFBO0lMZ0kzRDtNRzdHRSxpQkVuQnlELEVBQUE7SUxnSTNEO01HN0dFLFdFbkJ5RCxFQUFBO0lMZ0kzRDtNRzdHRSxpQkVuQnlELEVBQUE7SUxnSTNEO01HN0dFLGlCRW5CeUQsRUFBQTtJTGdJM0Q7TUc3R0UsWUVuQnlELEVBQUEsRUx5THBEO0VJckpEO0lKNEZOO01HeEpBLGFBQU07TUEyQ0osWUFsRlksRUFBQTtJSCtMZDtNR3hKQSxjQUFNLEVBQUE7SUh3Sk47TUc3R0UsWUFsRlksRUFBQTtJSCtMZDtNRzdHRSxnQkVuQnlELEVBQUE7SUxnSTNEO01HN0dFLGlCRW5CeUQsRUFBQTtJTGdJM0Q7TUc3R0UsV0VuQnlELEVBQUE7SUxnSTNEO01HN0dFLGlCRW5CeUQsRUFBQTtJTGdJM0Q7TUc3R0UsaUJFbkJ5RCxFQUFBO0lMZ0kzRDtNRzdHRSxXRW5CeUQsRUFBQTtJTGdJM0Q7TUc3R0UsaUJFbkJ5RCxFQUFBO0lMZ0kzRDtNRzdHRSxpQkVuQnlELEVBQUE7SUxnSTNEO01HN0dFLFdFbkJ5RCxFQUFBO0lMZ0kzRDtNRzdHRSxpQkVuQnlELEVBQUE7SUxnSTNEO01HN0dFLGlCRW5CeUQsRUFBQTtJTGdJM0Q7TUc3R0UsWUVuQnlELEVBQUEsRUx5THBEO0VJckpEO0lKNEZOO01HeEpBLGFBQU07TUEyQ0osWUFsRlksRUFBQTtJSCtMZDtNR3hKQSxjQUFNLEVBQUE7SUh3Sk47TUc3R0UsWUFsRlksRUFBQTtJSCtMZDtNRzdHRSxnQkVuQnlELEVBQUE7SUxnSTNEO01HN0dFLGlCRW5CeUQsRUFBQTtJTGdJM0Q7TUc3R0UsV0VuQnlELEVBQUE7SUxnSTNEO01HN0dFLGlCRW5CeUQsRUFBQTtJTGdJM0Q7TUc3R0UsaUJFbkJ5RCxFQUFBO0lMZ0kzRDtNRzdHRSxXRW5CeUQsRUFBQTtJTGdJM0Q7TUc3R0UsaUJFbkJ5RCxFQUFBO0lMZ0kzRDtNRzdHRSxpQkVuQnlELEVBQUE7SUxnSTNEO01HN0dFLFdFbkJ5RCxFQUFBO0lMZ0kzRDtNRzdHRSxpQkVuQnlELEVBQUE7SUxnSTNEO01HN0dFLGlCRW5CeUQsRUFBQTtJTGdJM0Q7TUc3R0UsWUVuQnlELEVBQUEsRUx5THBEOztBQU9MO0VFalRJLG1CQUE2RDtFQUE3RCxzQkFBNkQsRUFBQTs7QUZpVGpFO0VFalRJLG1CQUE2RDtFQUE3RCxzQkFBNkQsRUFBQTs7QUZ1R25FO0VFdkdNLG1CQUE2RDtFQUE3RCxzQkFBNkQsRUFBQTtFRnVHbkU7SUc2QkUseUJBdEQ4RjtJRHJFNUYsa0JBQTZEO0lBQTdELHFCQUE2RCxFQUFBO0VGc0VqRTtJR3FERSxZQWxGWSxFQUFBO0VIaUNkO0lHaURFLFlBbEZZLEVBQUE7RUh5Q1o7SUd5Q0EsNkJBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLDhCQXREOEYsRUFBQTtFSGE5RjtJR3lDQSx3QkF0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsOEJBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLDhCQXREOEYsRUFBQTtFSGE5RjtJR3lDQSx3QkF0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsOEJBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLDhCQXREOEYsRUFBQTtFSGE5RjtJR3lDQSx3QkF0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsOEJBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLDhCQXREOEYsRUFBQTtFSGE5RjtJR3lDQSx5QkF0RDhGLEVBQUE7RUNrRTFGO0lKakVOO01HcURFLFlBbEZZLEVBQUE7SUhpQ2Q7TUdpREUsWUFsRlksRUFBQTtJSHlDWjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHdCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHdCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHdCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHlCQXREOEYsRUFBQSxFSGU3RjtFSW1ERztJSmpFTjtNR3FERSxZQWxGWSxFQUFBO0lIaUNkO01HaURFLFlBbEZZLEVBQUE7SUh5Q1o7TUd5Q0EsNkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx3QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx3QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx3QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx5QkF0RDhGLEVBQUEsRUhlN0Y7RUltREc7SUpqRU47TUdxREUsWUFsRlksRUFBQTtJSGlDZDtNR2lERSxZQWxGWSxFQUFBO0lIeUNaO01HeUNBLDZCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esd0JBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esd0JBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esd0JBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EseUJBdEQ4RixFQUFBLEVIZTdGO0VJd0RHO0lKdEVOO01HcURFLFlBbEZZLEVBQUE7SUhpQ2Q7TUdpREUsWUFsRlksRUFBQTtJSHlDWjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHdCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHdCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHdCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0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RTFGO0lKakVOO01HcURFLFlBbEZZLEVBQUE7SUhpQ2Q7TUdpREUsWUFsRlksRUFBQTtJSHlDWjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHdCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHdCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHdCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHlCQXREOEYsRUFBQSxFSGU3RjtFSW1ERztJSmpFTjtNR3FERSxZQWxGWSxFQUFBO0lIaUNkO01HaURFLFlBbEZZLEVBQUE7SUh5Q1o7TUd5Q0EsNkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx3QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx3QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx3QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx5QkF0RDhGLEVBQUEsRUhlN0Y7RUltREc7SUpqRU47TUdxREUsWUFsRlksRUFBQTtJSGlDZDtNR2lERSxZQWxGWSxFQUFBO0lIeUNaO01HeUNBLDZCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esd0JBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esd0JBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esd0JBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EseUJBdEQ4RixFQUFBLEVIZTdGO0VJd0RHO0lKdEVOO01HcURFLFlBbEZZLEVBQUE7SUhpQ2Q7TUdpREUsWUFsRlksRUFBQTtJSHlDWjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHdCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHdCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHdCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHlCQXREOEYsRUFBQSxFSGU3RjtFSXdERztJSnRFTjtNR3FERSxZQWxGWSxFQUFBO0lIaUNkO01HaURFLFlBbEZZLEVBQUE7SUh5Q1o7TUd5Q0EsNkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx3QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx3QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx3QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx5QkF0RDhGLEVBQUEsRUhlN0Y7RUl3REc7SUp0RU47TUdxREUsWUFsRlksRUFBQTtJSGlDZDtNR2lERSxZQWxGWSxFQUFBO0lIeUNaO01HeUNBLDZCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esd0JBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esd0JBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esd0JBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EseUJBdEQ4RixFQUFBLEVIZTdGOztBQWtURDtFUzVZSSwwQkFBbUMsRUFBQTtFTDZJbkM7SUorUEo7TVM1WUksMEJBQW1DLEVBQUEsRVQ4WXRDO0VJalFHO0lKK1BKO01TNVlJLDBCQUFtQyxFQUFBLEVUOFl0QztFSWpRRztJSitQSjtNUzVZSSwwQkFBbUMsRUFBQSxFVDhZdEM7RUk1UEc7SUowUEo7TVM1WUksMEJBQW1DLEVBQUEsRVQ4WXRDO0VJNVBHO0lKMFBKO01TNVlJLDBCQUFtQyxFQUFBLEVUOFl0QztFSTVQRztJSjBQSjtNUzVZSSwwQkFBbUMsRUFBQSxFVDhZdEM7O0FJalFHO0VKbVFGO0lTaFpFLDBCQUFtQyxFQUFBLEVUa1pwQzs7QUlyUUM7RUptUUY7SVNoWkUsMEJBQW1DLEVBQUEsRVRrWnBDOztBSXJRQztFSm1RRjtJU2haRSwwQkFBbUMsRUFBQSxFVGtacEM7O0FJaFFDO0VKOFBGO0lTaFpFLDBCQUFtQyxFQUFBLEVUa1pwQzs7QUloUUM7RUo4UEY7SVNoWkUsMEJBQW1DLEVBQUEsRVRrWnBDOztBSWhRQztFSjhQRjtJU2haRSwwQkFBbUMsRUFBQSxFVGtacEM7O0FVbE5MOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBbUJFLFNBQVM7RUFDVCxVQUFVLEVBQUE7O0FBSVo7RUFDRSxtQlp6RjBCO0VZMkYxQixrQkFBa0I7RUFDbEIsZ0JaMUxtQjtFWTJMbkIsa0NaNUZ5QyxFQUFBOztBWWdHM0M7O0VBRUUsa0JBQWtCO0VBQ2xCLG9CQUFvQixFQUFBOztBQUl0Qjs7RUFFRSxpQlpsTHFCO0VZbUxyQixvQkFBb0IsRUFBQTs7QWR0THRCO0VjMkxFLGNabkhpQjtFWW9IakIsb0JBQW9CLEVBQUE7O0FBSXRCOzs7Ozs7RUFTRSxjWnZKa0I7RVlvSmxCLHVMWjFNNEs7RVkyTTVLLGtCWnZKc0I7RVl3SnRCLG1CWnRNeUI7RVl3TXpCLGtDWm5Jc0MsRUFBQTtFWXlIeEM7Ozs7OztJQWNJLGNaeE5lO0lZdU5mLGNBQWMsRVp2TkM7O0FZaU9iO0VBd0JJLGFBQWE7RUFPYixtQlpsTWU7RVl1S2YsZUMzTjZDO0VEdU83QyxnQlpwTFcsRUFDSTs7QVltS25CO0VBd0JJLGFBQWE7RUFPYixtQlpsTWU7RVl1S2YsaUJDM042QztFRHVPN0MsZ0JacExXLEVBQ0k7O0FZbUtuQjtFQXdCSSxhQUFhO0VBT2IsbUJabE1lO0VZdUtmLGVDM042QztFRHVPN0MsZ0JacExXLEVBQ0k7O0FZbUtuQjtFQXdCSSxhQUFhO0VBT2IsbUJabE1lO0VZdUtmLG1CQzNONkM7RUR1TzdDLGdCWnBMVyxFQUNJOztBWW1LbkI7RUF3QkksYUFBYTtFQU9iLG1CWmxNZTtFWXVLZixvQkMzTjZDO0VEdU83QyxnQlpwTFcsRUFDSTs7QVltS25CO0VBd0JJLGFBQWE7RUFPYixtQlpsTWU7RVl1S2YsZUMzTjZDO0VEdU83QyxnQlpwTFcsRUFDSTs7QU15Q25CO0VNMEhBO0lBSUksaUJDM042QyxFQUFBO0VEdU5qRDtJQUlJLGVDM042QyxFQUFBO0VEdU5qRDtJQUlJLGlCQzNONkMsRUFBQTtFRHVOakQ7SUFJSSxrQkMzTjZDLEVBQUE7RUR1TmpEO0lBSUksbUJDM042QyxFQUFBO0VEdU5qRDtJQUlJLGVDM042QyxFQUFBLEVEd1BoRDs7QWR4UlA7RWNnU0UsY1pqUmM7RVlnUmQsb0JBQW9CO0VBRXBCLHFCWjVLeUI7RVk4S3pCLGVBQWUsRUFBQTtFQUxqQjtJ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Q3BDRixtQkF4Q2dCLEVBQUE7O0FEZ0ZkO0VDeEJGLGtCQXhEZ0IsRUFBQTs7QUQ0RWQ7RUNwQ0Ysb0JBdkNrQixFQUFBOztBRCtFaEI7RUN4QkYsbUJBdkRrQixFQUFBOztBRHFGbEI7RUFFRSxxQkFBcUI7RUNoRHZCLG1CQXhDZ0I7RUF1Q2hCLHVCQW5Ea0IsRURvR0s7O0FBTW5CO0VDaENKLFFEK0JnQixFQUFBOztBQUNaO0VDaENKLFFEK0JnQixFQUFBOztBQUNaO0VDaENKLFFEK0JnQixFQUFBOztBQUNaO0VDaENKLFFEK0JnQixFQUFBOztBQUNaO0VDaENKLFFEK0JnQixFQUFBOztBQUNaO0VDaENKLFFEK0JnQixFQUFBOztBeEJtRVY7RXdCbEVGO0lDaENKLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSixRRCtCZ0IsRUFBQSxFQUdYOztBeEJnRUM7RXdCbEVGO0lDaENKLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSixRRCtCZ0IsRUFBQSxFQUdYOztBeEJnRUM7RXdCbEVGO0lDaENKLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSixRRCtCZ0IsRUFBQSxFQUdYOztBeEJxRUM7RXdCdkVGO0lDaENKLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSixRRCtCZ0Is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NkR4QkEsMkJBQTJCLEVBQUE7RTdEMEIzQjs7STZEckJBLHdCQUF3QixFQUFBO0UvRWlFMUI7SStFN0RFLDBCQUEwQixFQUFBO0VqQ3ZEOUI7SWlDMkRJLHdCQUF1QixFQUFBO0U3RG9CdkI7OztJNkRkQSxVQUFVO0lBQ1YsU0FBUyxFQUFBO0U3RHFCVDs7STZEaEJBLHVCQUF1QixFQUFBLEVBQ3hCIiwiZmlsZSI6Im1haW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlc1xuICogVmVyc2lvbiA2LjYuM1xuICogaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cbi8qISBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyB9XG5cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07IH1cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgfVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07IH1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7IH1cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIG1hcmdpbjogMDsgfVxuXG5idXR0b24sXG5pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IH1cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7IH1cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07IH1cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IH1cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDA7IH1cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgfVxuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIGZvbnQ6IGluaGVyaXQ7IH1cblxuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IH1cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZm91bmRhdGlvbi1tcSB7XG4gIGZvbnQtZmFtaWx5OiBcInNtYWxsPTBlbSZtZWRpdW09NDBlbSZ0YWJsZXQ9NDguODc1ZW0mbGFyZ2U9NjRlbSZ4bGFyZ2U9ODBlbSZ4eGxhcmdlPTEwMy4xMjVlbSZ3aWRlPTEyMGVtXCI7IH1cblxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQtc2l6ZTogMTAwJTsgfVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6ICNmMWYxZjE7XG4gIGZvbnQtZmFtaWx5OiBcImJpby1zYW5zXCIsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkRyb2lkIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzQ4NDg0ODtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYzsgfVxuXG50ZXh0YXJlYSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogNTBweDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG5zZWxlY3Qge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4ubWFwX2NhbnZhcyBpbWcsXG4ubWFwX2NhbnZhcyBlbWJlZCxcbi5tYXBfY2FudmFzIG9iamVjdCxcbi5tcWEtZGlzcGxheSBpbWcsXG4ubXFhLWRpc3BsYXkgZW1iZWQsXG4ubXFhLWRpc3BsYXkgb2JqZWN0IHtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7IH1cblxuYnV0dG9uIHtcbiAgcGFkZGluZzogMDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyB9XG5cbi5pcy12aXNpYmxlIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuXG4uaXMtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5ncmlkLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gIG1heC13aWR0aDogMTIwMHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLWNvbnRhaW5lci5mbHVpZCB7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtY29udGFpbmVyLmZ1bGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLmdyaWQteCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cblxuLmNlbGwge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWluLWhlaWdodDogMHB4O1xuICBtaW4td2lkdGg6IDBweDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmNlbGwuYXV0byB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuICAuY2VsbC5zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvOyB9XG5cbi5ncmlkLXggPiAuYXV0byB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5ncmlkLXggPiAuc2hyaW5rIHtcbiAgd2lkdGg6IGF1dG87IH1cblxuLmdyaWQteCA+IC5zbWFsbC1zaHJpbmssIC5ncmlkLXggPiAuc21hbGwtZnVsbCwgLmdyaWQteCA+IC5zbWFsbC0xLCAuZ3JpZC14ID4gLnNtYWxsLTIsIC5ncmlkLXggPiAuc21hbGwtMywgLmdyaWQteCA+IC5zbWFsbC00LCAuZ3JpZC14ID4gLnNtYWxsLTUsIC5ncmlkLXggPiAuc21hbGwtNiwgLmdyaWQteCA+IC5zbWFsbC03LCAuZ3JpZC14ID4gLnNtYWxsLTgsIC5ncmlkLXggPiAuc21hbGwtOSwgLmdyaWQteCA+IC5zbWFsbC0xMCwgLmdyaWQteCA+IC5zbWFsbC0xMSwgLmdyaWQteCA+IC5zbWFsbC0xMiB7XG4gIGZsZXgtYmFzaXM6IGF1dG87IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQteCA+IC5tZWRpdW0tc2hyaW5rLCAuZ3JpZC14ID4gLm1lZGl1bS1mdWxsLCAuZ3JpZC14ID4gLm1lZGl1bS0xLCAuZ3JpZC14ID4gLm1lZGl1bS0yLCAuZ3JpZC14ID4gLm1lZGl1bS0zLCAuZ3JpZC14ID4gLm1lZGl1bS00LCAuZ3JpZC14ID4gLm1lZGl1bS01LCAuZ3JpZC14ID4gLm1lZGl1bS02LCAuZ3JpZC14ID4gLm1lZGl1bS03LCAuZ3JpZC14ID4gLm1lZGl1bS04LCAuZ3JpZC14ID4gLm1lZGl1bS05LCAuZ3JpZC14ID4gLm1lZGl1bS0xMCwgLmdyaWQteCA+IC5tZWRpdW0tMTEsIC5ncmlkLXggPiAubWVkaXVtLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSB7XG4gIC5ncmlkLXggPiAudGFibGV0LXNocmluaywgLmdyaWQteCA+IC50YWJsZXQtZnVsbCwgLmdyaWQteCA+IC50YWJsZXQtMSwgLmdyaWQteCA+IC50YWJsZXQtMiwgLmdyaWQteCA+IC50YWJsZXQtMywgLmdyaWQteCA+IC50YWJsZXQtNCwgLmdyaWQteCA+IC50YWJsZXQtNSwgLmdyaWQteCA+IC50YWJsZXQtNiwgLmdyaWQteCA+IC50YWJsZXQtNywgLmdyaWQteCA+IC50YWJsZXQtOCwgLmdyaWQteCA+IC50YWJsZXQtOSwgLmdyaWQteCA+IC50YWJsZXQtMTAsIC5ncmlkLXggPiAudGFibGV0LTExLCAuZ3JpZC14ID4gLnRhYmxldC0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLXggPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC14ID4gLmxhcmdlLWZ1bGwsIC5ncmlkLXggPiAubGFyZ2UtMSwgLmdyaWQteCA+IC5sYXJnZS0yLCAuZ3JpZC14ID4gLmxhcmdlLTMsIC5ncmlkLXggPiAubGFyZ2UtNCwgLmdyaWQteCA+IC5sYXJnZS01LCAuZ3JpZC14ID4gLmxhcmdlLTYsIC5ncmlkLXggPiAubGFyZ2UtNywgLmdyaWQteCA+IC5sYXJnZS04LCAuZ3JpZC14ID4gLmxhcmdlLTksIC5ncmlkLXggPiAubGFyZ2UtMTAsIC5ncmlkLXggPiAubGFyZ2UtMTEsIC5ncmlkLXggPiAubGFyZ2UtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC5ncmlkLXggPiAueGxhcmdlLXNocmluaywgLmdyaWQteCA+IC54bGFyZ2UtZnVsbCwgLmdyaWQteCA+IC54bGFyZ2UtMSwgLmdyaWQteCA+IC54bGFyZ2UtMiwgLmdyaWQteCA+IC54bGFyZ2UtMywgLmdyaWQteCA+IC54bGFyZ2UtNCwgLmdyaWQteCA+IC54bGFyZ2UtNSwgLmdyaWQteCA+IC54bGFyZ2UtNiwgLmdyaWQteCA+IC54bGFyZ2UtNywgLmdyaWQteCA+IC54bGFyZ2UtOCwgLmdyaWQteCA+IC54bGFyZ2UtOSwgLmdyaWQteCA+IC54bGFyZ2UtMTAsIC5ncmlkLXggPiAueGxhcmdlLTExLCAuZ3JpZC14ID4gLnhsYXJnZS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMy4xMjVlbSkge1xuICAuZ3JpZC14ID4gLnh4bGFyZ2Utc2hyaW5rLCAuZ3JpZC14ID4gLnh4bGFyZ2UtZnVsbCwgLmdyaWQteCA+IC54eGxhcmdlLTEsIC5ncmlkLXggPiAueHhsYXJnZS0yLCAuZ3JpZC14ID4gLnh4bGFyZ2UtMywgLmdyaWQteCA+IC54eGxhcmdlLTQsIC5ncmlkLXggPiAueHhsYXJnZS01LCAuZ3JpZC14ID4gLnh4bGFyZ2UtNiwgLmdyaWQteCA+IC54eGxhcmdlLTcsIC5ncmlkLXggPiAueHhsYXJnZS04LCAuZ3JpZC14ID4gLnh4bGFyZ2UtOSwgLmdyaWQteCA+IC54eGxhcmdlLTEwLCAuZ3JpZC14ID4gLnh4bGFyZ2UtMTEsIC5ncmlkLXggPiAueHhsYXJnZS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gIC5ncmlkLXggPiAud2lkZS1zaHJpbmssIC5ncmlkLXggPiAud2lkZS1mdWxsLCAuZ3JpZC14ID4gLndpZGUtMSwgLmdyaWQteCA+IC53aWRlLTIsIC5ncmlkLXggPiAud2lkZS0zLCAuZ3JpZC14ID4gLndpZGUtNCwgLmdyaWQteCA+IC53aWRlLTUsIC5ncmlkLXggPiAud2lkZS02LCAuZ3JpZC14ID4gLndpZGUtNywgLmdyaWQteCA+IC53aWRlLTgsIC5ncmlkLXggPiAud2lkZS05LCAuZ3JpZC14ID4gLndpZGUtMTAsIC5ncmlkLXggPiAud2lkZS0xMSwgLmdyaWQteCA+IC53aWRlLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xLCAuZ3JpZC14ID4gLnNtYWxsLTIsIC5ncmlkLXggPiAuc21hbGwtMywgLmdyaWQteCA+IC5zbWFsbC00LCAuZ3JpZC14ID4gLnNtYWxsLTUsIC5ncmlkLXggPiAuc21hbGwtNiwgLmdyaWQteCA+IC5zbWFsbC03LCAuZ3JpZC14ID4gLnNtYWxsLTgsIC5ncmlkLXggPiAuc21hbGwtOSwgLmdyaWQteCA+IC5zbWFsbC0xMCwgLmdyaWQteCA+IC5zbWFsbC0xMSwgLmdyaWQteCA+IC5zbWFsbC0xMiB7XG4gIGZsZXg6IDAgMCBhdXRvOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMSB7XG4gIHdpZHRoOiA4LjMzMzMzJTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTIge1xuICB3aWR0aDogMTYuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMyB7XG4gIHdpZHRoOiAyNSU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC00IHtcbiAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTUge1xuICB3aWR0aDogNDEuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNiB7XG4gIHdpZHRoOiA1MCU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC03IHtcbiAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTgge1xuICB3aWR0aDogNjYuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtOSB7XG4gIHdpZHRoOiA3NSU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xMCB7XG4gIHdpZHRoOiA4My4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xMSB7XG4gIHdpZHRoOiA5MS42NjY2NyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xMiB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLXggPiAubWVkaXVtLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tc2hyaW5rLCAuZ3JpZC14ID4gLm1lZGl1bS0xLCAuZ3JpZC14ID4gLm1lZGl1bS0yLCAuZ3JpZC14ID4gLm1lZGl1bS0zLCAuZ3JpZC14ID4gLm1lZGl1bS00LCAuZ3JpZC14ID4gLm1lZGl1bS01LCAuZ3JpZC14ID4gLm1lZGl1bS02LCAuZ3JpZC14ID4gLm1lZGl1bS03LCAuZ3JpZC14ID4gLm1lZGl1bS04LCAuZ3JpZC14ID4gLm1lZGl1bS05LCAuZ3JpZC14ID4gLm1lZGl1bS0xMCwgLmdyaWQteCA+IC5tZWRpdW0tMTEsIC5ncmlkLXggPiAubWVkaXVtLTEyIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSB7XG4gIC5ncmlkLXggPiAudGFibGV0LWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC50YWJsZXQtc2hyaW5rLCAuZ3JpZC14ID4gLnRhYmxldC0xLCAuZ3JpZC14ID4gLnRhYmxldC0yLCAuZ3JpZC14ID4gLnRhYmxldC0zLCAuZ3JpZC14ID4gLnRhYmxldC00LCAuZ3JpZC14ID4gLnRhYmxldC01LCAuZ3JpZC14ID4gLnRhYmxldC02LCAuZ3JpZC14ID4gLnRhYmxldC03LCAuZ3JpZC14ID4gLnRhYmxldC04LCAuZ3JpZC14ID4gLnRhYmxldC05LCAuZ3JpZC14ID4gLnRhYmxldC0xMCwgLmdyaWQteCA+IC50YWJsZXQtMTEsIC5ncmlkLXggPiAudGFibGV0LTEyIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAuZ3JpZC14ID4gLnRhYmxldC1zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAudGFibGV0LTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLnRhYmxldC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAudGFibGV0LTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdyaWQteCA+IC50YWJsZXQtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLnRhYmxldC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAudGFibGV0LTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC50YWJsZXQtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLnRhYmxldC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAudGFibGV0LTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC50YWJsZXQtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC50YWJsZXQtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC50YWJsZXQtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQteCA+IC5sYXJnZS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC14ID4gLmxhcmdlLTEsIC5ncmlkLXggPiAubGFyZ2UtMiwgLmdyaWQteCA+IC5sYXJnZS0zLCAuZ3JpZC14ID4gLmxhcmdlLTQsIC5ncmlkLXggPiAubGFyZ2UtNSwgLmdyaWQteCA+IC5sYXJnZS02LCAuZ3JpZC14ID4gLmxhcmdlLTcsIC5ncmlkLXggPiAubGFyZ2UtOCwgLmdyaWQteCA+IC5sYXJnZS05LCAuZ3JpZC14ID4gLmxhcmdlLTEwLCAuZ3JpZC14ID4gLmxhcmdlLTExLCAuZ3JpZC14ID4gLmxhcmdlLTEyIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLXNocmluayB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC5ncmlkLXggPiAueGxhcmdlLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC54bGFyZ2Utc2hyaW5rLCAuZ3JpZC14ID4gLnhsYXJnZS0xLCAuZ3JpZC14ID4gLnhsYXJnZS0yLCAuZ3JpZC14ID4gLnhsYXJnZS0zLCAuZ3JpZC14ID4gLnhsYXJnZS00LCAuZ3JpZC14ID4gLnhsYXJnZS01LCAuZ3JpZC14ID4gLnhsYXJnZS02LCAuZ3JpZC14ID4gLnhsYXJnZS03LCAuZ3JpZC14ID4gLnhsYXJnZS04LCAuZ3JpZC14ID4gLnhsYXJnZS05LCAuZ3JpZC14ID4gLnhsYXJnZS0xMCwgLmdyaWQteCA+IC54bGFyZ2UtMTEsIC5ncmlkLXggPiAueGxhcmdlLTEyIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS1zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAzLjEyNWVtKSB7XG4gIC5ncmlkLXggPiAueHhsYXJnZS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS1zaHJpbmssIC5ncmlkLXggPiAueHhsYXJnZS0xLCAuZ3JpZC14ID4gLnh4bGFyZ2UtMiwgLmdyaWQteCA+IC54eGxhcmdlLTMsIC5ncmlkLXggPiAueHhsYXJnZS00LCAuZ3JpZC14ID4gLnh4bGFyZ2UtNSwgLmdyaWQteCA+IC54eGxhcmdlLTYsIC5ncmlkLXggPiAueHhsYXJnZS03LCAuZ3JpZC14ID4gLnh4bGFyZ2UtOCwgLmdyaWQteCA+IC54eGxhcmdlLTksIC5ncmlkLXggPiAueHhsYXJnZS0xMCwgLmdyaWQteCA+IC54eGxhcmdlLTExLCAuZ3JpZC14ID4gLnh4bGFyZ2UtMTIge1xuICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS1zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgLmdyaWQteCA+IC53aWRlLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC53aWRlLXNocmluaywgLmdyaWQteCA+IC53aWRlLTEsIC5ncmlkLXggPiAud2lkZS0yLCAuZ3JpZC14ID4gLndpZGUtMywgLmdyaWQteCA+IC53aWRlLTQsIC5ncmlkLXggPiAud2lkZS01LCAuZ3JpZC14ID4gLndpZGUtNiwgLmdyaWQteCA+IC53aWRlLTcsIC5ncmlkLXggPiAud2lkZS04LCAuZ3JpZC14ID4gLndpZGUtOSwgLmdyaWQteCA+IC53aWRlLTEwLCAuZ3JpZC14ID4gLndpZGUtMTEsIC5ncmlkLXggPiAud2lkZS0xMiB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgLmdyaWQteCA+IC53aWRlLXNocmluayB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC53aWRlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLndpZGUtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLndpZGUtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuZ3JpZC14ID4gLndpZGUtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLndpZGUtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLndpZGUtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuZ3JpZC14ID4gLndpZGUtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLndpZGUtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLndpZGUtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuZ3JpZC14ID4gLndpZGUtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC53aWRlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAud2lkZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uZ3JpZC1tYXJnaW4teDpub3QoLmdyaWQteCkgPiAuY2VsbCB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5ncmlkLW1hcmdpbi15Om5vdCguZ3JpZC15KSA+IC5jZWxsIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5ncmlkLW1hcmdpbi14IHtcbiAgbWFyZ2luLWxlZnQ6IC0xLjVyZW07XG4gIG1hcmdpbi1yaWdodDogLTEuNXJlbTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gM3JlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5hdXRvIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IGNhbGMoNzUlIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDNyZW0pOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLWF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDNyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAudGFibGV0LWF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC50YWJsZXQtc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAudGFibGV0LTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnRhYmxldC0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAudGFibGV0LTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC50YWJsZXQtNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnRhYmxldC01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAudGFibGV0LTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC50YWJsZXQtNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnRhYmxldC04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAudGFibGV0LTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC50YWJsZXQtMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC50YWJsZXQtMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC50YWJsZXQtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDNyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMSB7XG4gICAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDNyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzcmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMy4xMjVlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTUge1xuICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDNyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC53aWRlLWF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC53aWRlLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLndpZGUtMSB7XG4gICAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAud2lkZS0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAud2lkZS0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAud2lkZS00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAud2lkZS01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAud2lkZS02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAud2lkZS03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAud2lkZS04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAud2lkZS05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAud2lkZS0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLndpZGUtMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC53aWRlLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzcmVtKTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteCAuZ3JpZC1wYWRkaW5nLXgge1xuICBtYXJnaW4tcmlnaHQ6IC0xLjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMS41cmVtOyB9XG5cbi5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gLmdyaWQtcGFkZGluZy14IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMS41cmVtO1xuICBtYXJnaW4tbGVmdDogLTEuNXJlbTsgfVxuXG4uZ3JpZC1wYWRkaW5nLXggPiAuY2VsbCB7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxLjVyZW07IH1cblxuLnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5zbWFsbC11cC0yID4gLmNlbGwge1xuICB3aWR0aDogNTAlOyB9XG5cbi5zbWFsbC11cC0zID4gLmNlbGwge1xuICB3aWR0aDogMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC11cC00ID4gLmNlbGwge1xuICB3aWR0aDogMjUlOyB9XG5cbi5zbWFsbC11cC01ID4gLmNlbGwge1xuICB3aWR0aDogMjAlOyB9XG5cbi5zbWFsbC11cC02ID4gLmNlbGwge1xuICB3aWR0aDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC11cC03ID4gLmNlbGwge1xuICB3aWR0aDogMTQuMjg1NzElOyB9XG5cbi5zbWFsbC11cC04ID4gLmNlbGwge1xuICB3aWR0aDogMTIuNSU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC5tZWRpdW0tdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC5tZWRpdW0tdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgLnRhYmxldC11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC50YWJsZXQtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC50YWJsZXQtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC50YWJsZXQtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC50YWJsZXQtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC50YWJsZXQtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC50YWJsZXQtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC50YWJsZXQtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC5sYXJnZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAubGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC54bGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAueGxhcmdlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueGxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueGxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueGxhcmdlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAueGxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAueGxhcmdlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAzLjEyNWVtKSB7XG4gIC54eGxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnh4bGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54eGxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueHhsYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnh4bGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC54eGxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueHhsYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLnh4bGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAud2lkZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC53aWRlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAud2lkZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLndpZGUtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC53aWRlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAud2lkZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLndpZGUtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC53aWRlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEyLjUlOyB9IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMSA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDNyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDUwJSAtIDNyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDNyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDI1JSAtIDNyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDIwJSAtIDNyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDNyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDNyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDEyLjUlIC0gM3JlbSk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gM3JlbSk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXgudGFibGV0LXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnRhYmxldC11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnRhYmxldC11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnRhYmxldC11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnRhYmxldC11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnRhYmxldC11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnRhYmxldC11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnRhYmxldC11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gM3JlbSk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gM3JlbSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDNyZW0pOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAzLjEyNWVtKSB7XG4gIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gM3JlbSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAuZ3JpZC1tYXJnaW4teC53aWRlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LndpZGUtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC53aWRlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgud2lkZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LndpZGUtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC53aWRlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgud2lkZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LndpZGUtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDNyZW0pOyB9IH1cblxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTMge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTYge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTkge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtMTIge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTMge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTYge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTkge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDMuMTI1ZW0pIHtcbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMSB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMiB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTMge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS00IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTYge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS03IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTkge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtMyB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtNiB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtOSB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS0xMiB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5zbWFsbC1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICAuc21hbGwtcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDMuMTI1ZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLm1lZGl1bS1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMy4xMjVlbSkge1xuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSB7XG4gIC50YWJsZXQtcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLnRhYmxldC1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMy4xMjVlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5sYXJnZS1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMy4xMjVlbSkge1xuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAueGxhcmdlLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC54bGFyZ2UtcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDMuMTI1ZW0pIHtcbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMy4xMjVlbSkge1xuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMy4xMjVlbSkge1xuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMy4xMjVlbSkge1xuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMy4xMjVlbSkge1xuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMy4xMjVlbSkge1xuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMy4xMjVlbSkge1xuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAzLjEyNWVtKSB7XG4gIC54eGxhcmdlLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC54eGxhcmdlLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgLndpZGUtcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLndpZGUtcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG4uc21hbGwtb2Zmc2V0LTAge1xuICBtYXJnaW4tbGVmdDogMCU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTAge1xuICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDEuNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAxLjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAxLjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiAyNSU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAxLjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAxLjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAxLjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiA1MCU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAxLjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyAxLjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAxLjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiA3NSU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAxLjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDEuNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMS41cmVtKTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDEuNXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAxLjVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAxLjVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAxLjVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAxLjVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAxLjVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAxLjVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyAxLjVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAxLjVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAxLjVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDEuNXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMS41cmVtKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAudGFibGV0LW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAudGFibGV0LW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDEuNXJlbSk7IH1cbiAgLnRhYmxldC1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnRhYmxldC1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAxLjVyZW0pOyB9XG4gIC50YWJsZXQtb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAudGFibGV0LW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAxLjVyZW0pOyB9XG4gIC50YWJsZXQtb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAudGFibGV0LW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAxLjVyZW0pOyB9XG4gIC50YWJsZXQtb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAudGFibGV0LW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAxLjVyZW0pOyB9XG4gIC50YWJsZXQtb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAudGFibGV0LW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAxLjVyZW0pOyB9XG4gIC50YWJsZXQtb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAudGFibGV0LW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAxLjVyZW0pOyB9XG4gIC50YWJsZXQtb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAudGFibGV0LW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyAxLjVyZW0pOyB9XG4gIC50YWJsZXQtb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAudGFibGV0LW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAxLjVyZW0pOyB9XG4gIC50YWJsZXQtb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAudGFibGV0LW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAxLjVyZW0pOyB9XG4gIC50YWJsZXQtb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnRhYmxldC1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDEuNXJlbSk7IH1cbiAgLnRhYmxldC1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAudGFibGV0LW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMS41cmVtKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDEuNXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMS41cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDEuNXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAxLjVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMS41cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDEuNXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAxLjVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMS41cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDEuNXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAxLjVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAxLjVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAxLjVyZW0pOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAueGxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDEuNXJlbSk7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAxLjVyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAxLjVyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAxLjVyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAxLjVyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAxLjVyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAxLjVyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyAxLjVyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAxLjVyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAxLjVyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDEuNXJlbSk7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMS41cmVtKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMy4xMjVlbSkge1xuICAueHhsYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMS41cmVtKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMS41cmVtKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAxLjVyZW0pOyB9XG4gIC54eGxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDEuNXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMS41cmVtKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAxLjVyZW0pOyB9XG4gIC54eGxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDEuNXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMS41cmVtKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAxLjVyZW0pOyB9XG4gIC54eGxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDEuNXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAxLjVyZW0pOyB9XG4gIC54eGxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMS41cmVtKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gIC53aWRlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAud2lkZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAxLjVyZW0pOyB9XG4gIC53aWRlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAud2lkZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAxLjVyZW0pOyB9XG4gIC53aWRlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLndpZGUtb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDEuNXJlbSk7IH1cbiAgLndpZGUtb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAud2lkZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMS41cmVtKTsgfVxuICAud2lkZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC53aWRlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAxLjVyZW0pOyB9XG4gIC53aWRlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLndpZGUtb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDEuNXJlbSk7IH1cbiAgLndpZGUtb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAud2lkZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMS41cmVtKTsgfVxuICAud2lkZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC53aWRlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyAxLjVyZW0pOyB9XG4gIC53aWRlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLndpZGUtb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDEuNXJlbSk7IH1cbiAgLndpZGUtb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAud2lkZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMS41cmVtKTsgfVxuICAud2lkZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAud2lkZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDEuNXJlbSk7IH1cbiAgLndpZGUtb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLndpZGUtb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAxLjVyZW0pOyB9IH1cblxuLmdyaWQteSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxuICAuZ3JpZC15ID4gLmNlbGwge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiBub25lOyB9XG4gIC5ncmlkLXkgPiAuYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLXkgPiAuc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQteSA+IC5zbWFsbC1zaHJpbmssIC5ncmlkLXkgPiAuc21hbGwtZnVsbCwgLmdyaWQteSA+IC5zbWFsbC0xLCAuZ3JpZC15ID4gLnNtYWxsLTIsIC5ncmlkLXkgPiAuc21hbGwtMywgLmdyaWQteSA+IC5zbWFsbC00LCAuZ3JpZC15ID4gLnNtYWxsLTUsIC5ncmlkLXkgPiAuc21hbGwtNiwgLmdyaWQteSA+IC5zbWFsbC03LCAuZ3JpZC15ID4gLnNtYWxsLTgsIC5ncmlkLXkgPiAuc21hbGwtOSwgLmdyaWQteSA+IC5zbWFsbC0xMCwgLmdyaWQteSA+IC5zbWFsbC0xMSwgLmdyaWQteSA+IC5zbWFsbC0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXkgPiAubWVkaXVtLXNocmluaywgLmdyaWQteSA+IC5tZWRpdW0tZnVsbCwgLmdyaWQteSA+IC5tZWRpdW0tMSwgLmdyaWQteSA+IC5tZWRpdW0tMiwgLmdyaWQteSA+IC5tZWRpdW0tMywgLmdyaWQteSA+IC5tZWRpdW0tNCwgLmdyaWQteSA+IC5tZWRpdW0tNSwgLmdyaWQteSA+IC5tZWRpdW0tNiwgLmdyaWQteSA+IC5tZWRpdW0tNywgLmdyaWQteSA+IC5tZWRpdW0tOCwgLmdyaWQteSA+IC5tZWRpdW0tOSwgLmdyaWQteSA+IC5tZWRpdW0tMTAsIC5ncmlkLXkgPiAubWVkaXVtLTExLCAuZ3JpZC15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSB7XG4gICAgLmdyaWQteSA+IC50YWJsZXQtc2hyaW5rLCAuZ3JpZC15ID4gLnRhYmxldC1mdWxsLCAuZ3JpZC15ID4gLnRhYmxldC0xLCAuZ3JpZC15ID4gLnRhYmxldC0yLCAuZ3JpZC15ID4gLnRhYmxldC0zLCAuZ3JpZC15ID4gLnRhYmxldC00LCAuZ3JpZC15ID4gLnRhYmxldC01LCAuZ3JpZC15ID4gLnRhYmxldC02LCAuZ3JpZC15ID4gLnRhYmxldC03LCAuZ3JpZC15ID4gLnRhYmxldC04LCAuZ3JpZC15ID4gLnRhYmxldC05LCAuZ3JpZC15ID4gLnRhYmxldC0xMCwgLmdyaWQteSA+IC50YWJsZXQtMTEsIC5ncmlkLXkgPiAudGFibGV0LTEyIHtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLmxhcmdlLWZ1bGwsIC5ncmlkLXkgPiAubGFyZ2UtMSwgLmdyaWQteSA+IC5sYXJnZS0yLCAuZ3JpZC15ID4gLmxhcmdlLTMsIC5ncmlkLXkgPiAubGFyZ2UtNCwgLmdyaWQteSA+IC5sYXJnZS01LCAuZ3JpZC15ID4gLmxhcmdlLTYsIC5ncmlkLXkgPiAubGFyZ2UtNywgLmdyaWQteSA+IC5sYXJnZS04LCAuZ3JpZC15ID4gLmxhcmdlLTksIC5ncmlkLXkgPiAubGFyZ2UtMTAsIC5ncmlkLXkgPiAubGFyZ2UtMTEsIC5ncmlkLXkgPiAubGFyZ2UtMTIge1xuICAgICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAuZ3JpZC15ID4gLnhsYXJnZS1zaHJpbmssIC5ncmlkLXkgPiAueGxhcmdlLWZ1bGwsIC5ncmlkLXkgPiAueGxhcmdlLTEsIC5ncmlkLXkgPiAueGxhcmdlLTIsIC5ncmlkLXkgPiAueGxhcmdlLTMsIC5ncmlkLXkgPiAueGxhcmdlLTQsIC5ncmlkLXkgPiAueGxhcmdlLTUsIC5ncmlkLXkgPiAueGxhcmdlLTYsIC5ncmlkLXkgPiAueGxhcmdlLTcsIC5ncmlkLXkgPiAueGxhcmdlLTgsIC5ncmlkLXkgPiAueGxhcmdlLTksIC5ncmlkLXkgPiAueGxhcmdlLTEwLCAuZ3JpZC15ID4gLnhsYXJnZS0xMSwgLmdyaWQteSA+IC54bGFyZ2UtMTIge1xuICAgICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMy4xMjVlbSkge1xuICAgIC5ncmlkLXkgPiAueHhsYXJnZS1zaHJpbmssIC5ncmlkLXkgPiAueHhsYXJnZS1mdWxsLCAuZ3JpZC15ID4gLnh4bGFyZ2UtMSwgLmdyaWQteSA+IC54eGxhcmdlLTIsIC5ncmlkLXkgPiAueHhsYXJnZS0zLCAuZ3JpZC15ID4gLnh4bGFyZ2UtNCwgLmdyaWQteSA+IC54eGxhcmdlLTUsIC5ncmlkLXkgPiAueHhsYXJnZS02LCAuZ3JpZC15ID4gLnh4bGFyZ2UtNywgLmdyaWQteSA+IC54eGxhcmdlLTgsIC5ncmlkLXkgPiAueHhsYXJnZS05LCAuZ3JpZC15ID4gLnh4bGFyZ2UtMTAsIC5ncmlkLXkgPiAueHhsYXJnZS0xMSwgLmdyaWQteSA+IC54eGxhcmdlLTEyIHtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAgIC5ncmlkLXkgPiAud2lkZS1zaHJpbmssIC5ncmlkLXkgPiAud2lkZS1mdWxsLCAuZ3JpZC15ID4gLndpZGUtMSwgLmdyaWQteSA+IC53aWRlLTIsIC5ncmlkLXkgPiAud2lkZS0zLCAuZ3JpZC15ID4gLndpZGUtNCwgLmdyaWQteSA+IC53aWRlLTUsIC5ncmlkLXkgPiAud2lkZS02LCAuZ3JpZC15ID4gLndpZGUtNywgLmdyaWQteSA+IC53aWRlLTgsIC5ncmlkLXkgPiAud2lkZS05LCAuZ3JpZC15ID4gLndpZGUtMTAsIC5ncmlkLXkgPiAud2lkZS0xMSwgLmdyaWQteSA+IC53aWRlLTEyIHtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuICAuZ3JpZC15ID4gLnNtYWxsLTEsIC5ncmlkLXkgPiAuc21hbGwtMiwgLmdyaWQteSA+IC5zbWFsbC0zLCAuZ3JpZC15ID4gLnNtYWxsLTQsIC5ncmlkLXkgPiAuc21hbGwtNSwgLmdyaWQteSA+IC5zbWFsbC02LCAuZ3JpZC15ID4gLnNtYWxsLTcsIC5ncmlkLXkgPiAuc21hbGwtOCwgLmdyaWQteSA+IC5zbWFsbC05LCAuZ3JpZC15ID4gLnNtYWxsLTEwLCAuZ3JpZC15ID4gLnNtYWxsLTExLCAuZ3JpZC15ID4gLnNtYWxsLTEyIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTEge1xuICAgIGhlaWdodDogOC4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTMge1xuICAgIGhlaWdodDogMjUlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtNCB7XG4gICAgaGVpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC01IHtcbiAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTYge1xuICAgIGhlaWdodDogNTAlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtNyB7XG4gICAgaGVpZ2h0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC04IHtcbiAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTkge1xuICAgIGhlaWdodDogNzUlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMTAge1xuICAgIGhlaWdodDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMTIge1xuICAgIGhlaWdodDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXkgPiAubWVkaXVtLWF1dG8ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLXNocmluaywgLmdyaWQteSA+IC5tZWRpdW0tMSwgLmdyaWQteSA+IC5tZWRpdW0tMiwgLmdyaWQteSA+IC5tZWRpdW0tMywgLmdyaWQteSA+IC5tZWRpdW0tNCwgLmdyaWQteSA+IC5tZWRpdW0tNSwgLmdyaWQteSA+IC5tZWRpdW0tNiwgLmdyaWQteSA+IC5tZWRpdW0tNywgLmdyaWQteSA+IC5tZWRpdW0tOCwgLmdyaWQteSA+IC5tZWRpdW0tOSwgLmdyaWQteSA+IC5tZWRpdW0tMTAsIC5ncmlkLXkgPiAubWVkaXVtLTExLCAuZ3JpZC15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xIHtcbiAgICAgIGhlaWdodDogOC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0yIHtcbiAgICAgIGhlaWdodDogMTYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMyB7XG4gICAgICBoZWlnaHQ6IDI1JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTQge1xuICAgICAgaGVpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS01IHtcbiAgICAgIGhlaWdodDogNDEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNiB7XG4gICAgICBoZWlnaHQ6IDUwJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTcge1xuICAgICAgaGVpZ2h0OiA1OC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS04IHtcbiAgICAgIGhlaWdodDogNjYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tOSB7XG4gICAgICBoZWlnaHQ6IDc1JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTEwIHtcbiAgICAgIGhlaWdodDogODMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMTEge1xuICAgICAgaGVpZ2h0OiA5MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgICAuZ3JpZC15ID4gLnRhYmxldC1hdXRvIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLnRhYmxldC1zaHJpbmssIC5ncmlkLXkgPiAudGFibGV0LTEsIC5ncmlkLXkgPiAudGFibGV0LTIsIC5ncmlkLXkgPiAudGFibGV0LTMsIC5ncmlkLXkgPiAudGFibGV0LTQsIC5ncmlkLXkgPiAudGFibGV0LTUsIC5ncmlkLXkgPiAudGFibGV0LTYsIC5ncmlkLXkgPiAudGFibGV0LTcsIC5ncmlkLXkgPiAudGFibGV0LTgsIC5ncmlkLXkgPiAudGFibGV0LTksIC5ncmlkLXkgPiAudGFibGV0LTEwLCAuZ3JpZC15ID4gLnRhYmxldC0xMSwgLmdyaWQteSA+IC50YWJsZXQtMTIge1xuICAgICAgZmxleDogMCAwIGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLnRhYmxldC1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC50YWJsZXQtMSB7XG4gICAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC50YWJsZXQtMiB7XG4gICAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAudGFibGV0LTMge1xuICAgICAgaGVpZ2h0OiAyNSU7IH1cbiAgICAuZ3JpZC15ID4gLnRhYmxldC00IHtcbiAgICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC50YWJsZXQtNSB7XG4gICAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAudGFibGV0LTYge1xuICAgICAgaGVpZ2h0OiA1MCU7IH1cbiAgICAuZ3JpZC15ID4gLnRhYmxldC03IHtcbiAgICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC50YWJsZXQtOCB7XG4gICAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAudGFibGV0LTkge1xuICAgICAgaGVpZ2h0OiA3NSU7IH1cbiAgICAuZ3JpZC15ID4gLnRhYmxldC0xMCB7XG4gICAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAudGFibGV0LTExIHtcbiAgICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC50YWJsZXQtMTIge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC15ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLmxhcmdlLTEsIC5ncmlkLXkgPiAubGFyZ2UtMiwgLmdyaWQteSA+IC5sYXJnZS0zLCAuZ3JpZC15ID4gLmxhcmdlLTQsIC5ncmlkLXkgPiAubGFyZ2UtNSwgLmdyaWQteSA+IC5sYXJnZS02LCAuZ3JpZC15ID4gLmxhcmdlLTcsIC5ncmlkLXkgPiAubGFyZ2UtOCwgLmdyaWQteSA+IC5sYXJnZS05LCAuZ3JpZC15ID4gLmxhcmdlLTEwLCAuZ3JpZC15ID4gLmxhcmdlLTExLCAuZ3JpZC15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xIHtcbiAgICAgIGhlaWdodDogOC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiAxNi42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiAyNSU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiA0MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiA1MCU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiA1OC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiA3NSU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogODMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IDkxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgIC5ncmlkLXkgPiAueGxhcmdlLWF1dG8ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLXNocmluaywgLmdyaWQteSA+IC54bGFyZ2UtMSwgLmdyaWQteSA+IC54bGFyZ2UtMiwgLmdyaWQteSA+IC54bGFyZ2UtMywgLmdyaWQteSA+IC54bGFyZ2UtNCwgLmdyaWQteSA+IC54bGFyZ2UtNSwgLmdyaWQteSA+IC54bGFyZ2UtNiwgLmdyaWQteSA+IC54bGFyZ2UtNywgLmdyaWQteSA+IC54bGFyZ2UtOCwgLmdyaWQteSA+IC54bGFyZ2UtOSwgLmdyaWQteSA+IC54bGFyZ2UtMTAsIC5ncmlkLXkgPiAueGxhcmdlLTExLCAuZ3JpZC15ID4gLnhsYXJnZS0xMiB7XG4gICAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS0xIHtcbiAgICAgIGhlaWdodDogOC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS0yIHtcbiAgICAgIGhlaWdodDogMTYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IDI1JTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS01IHtcbiAgICAgIGhlaWdodDogNDEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IDUwJTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiA1OC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS04IHtcbiAgICAgIGhlaWdodDogNjYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IDc1JTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogODMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiA5MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDMuMTI1ZW0pIHtcbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtYXV0byB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLXNocmluaywgLmdyaWQteSA+IC54eGxhcmdlLTEsIC5ncmlkLXkgPiAueHhsYXJnZS0yLCAuZ3JpZC15ID4gLnh4bGFyZ2UtMywgLmdyaWQteSA+IC54eGxhcmdlLTQsIC5ncmlkLXkgPiAueHhsYXJnZS01LCAuZ3JpZC15ID4gLnh4bGFyZ2UtNiwgLmdyaWQteSA+IC54eGxhcmdlLTcsIC5ncmlkLXkgPiAueHhsYXJnZS04LCAuZ3JpZC15ID4gLnh4bGFyZ2UtOSwgLmdyaWQteSA+IC54eGxhcmdlLTEwLCAuZ3JpZC15ID4gLnh4bGFyZ2UtMTEsIC5ncmlkLXkgPiAueHhsYXJnZS0xMiB7XG4gICAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS0yIHtcbiAgICAgIGhlaWdodDogMTYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiAyNSU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS01IHtcbiAgICAgIGhlaWdodDogNDEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiA1MCU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS04IHtcbiAgICAgIGhlaWdodDogNjYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiA3NSU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiA5MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgICAuZ3JpZC15ID4gLndpZGUtYXV0byB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC53aWRlLXNocmluaywgLmdyaWQteSA+IC53aWRlLTEsIC5ncmlkLXkgPiAud2lkZS0yLCAuZ3JpZC15ID4gLndpZGUtMywgLmdyaWQteSA+IC53aWRlLTQsIC5ncmlkLXkgPiAud2lkZS01LCAuZ3JpZC15ID4gLndpZGUtNiwgLmdyaWQteSA+IC53aWRlLTcsIC5ncmlkLXkgPiAud2lkZS04LCAuZ3JpZC15ID4gLndpZGUtOSwgLmdyaWQteSA+IC53aWRlLTEwLCAuZ3JpZC15ID4gLndpZGUtMTEsIC5ncmlkLXkgPiAud2lkZS0xMiB7XG4gICAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAud2lkZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC53aWRlLTEge1xuICAgICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAud2lkZS0yIHtcbiAgICAgIGhlaWdodDogMTYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC53aWRlLTMge1xuICAgICAgaGVpZ2h0OiAyNSU7IH1cbiAgICAuZ3JpZC15ID4gLndpZGUtNCB7XG4gICAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAud2lkZS01IHtcbiAgICAgIGhlaWdodDogNDEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC53aWRlLTYge1xuICAgICAgaGVpZ2h0OiA1MCU7IH1cbiAgICAuZ3JpZC15ID4gLndpZGUtNyB7XG4gICAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAud2lkZS04IHtcbiAgICAgIGhlaWdodDogNjYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC53aWRlLTkge1xuICAgICAgaGVpZ2h0OiA3NSU7IH1cbiAgICAuZ3JpZC15ID4gLndpZGUtMTAge1xuICAgICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLndpZGUtMTEge1xuICAgICAgaGVpZ2h0OiA5MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLndpZGUtMTIge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuLmdyaWQtcGFkZGluZy15IC5ncmlkLXBhZGRpbmcteSB7XG4gIG1hcmdpbi10b3A6IC0xLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IC0xLjVyZW07IH1cblxuLmdyaWQtcGFkZGluZy15ID4gLmNlbGwge1xuICBwYWRkaW5nLXRvcDogMS41cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMS41cmVtOyB9XG5cbi5ncmlkLW1hcmdpbi15IHtcbiAgbWFyZ2luLXRvcDogLTEuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTEuNXJlbTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDNyZW0pO1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDNyZW0pOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gM3JlbSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC50YWJsZXQtYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC50YWJsZXQtc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnRhYmxldC0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAudGFibGV0LTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAudGFibGV0LTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAudGFibGV0LTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAudGFibGV0LTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAudGFibGV0LTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAudGFibGV0LTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAudGFibGV0LTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAudGFibGV0LTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAudGFibGV0LTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnRhYmxldC0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC50YWJsZXQtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAzcmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDNyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDNyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAzLjEyNWVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAzcmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAud2lkZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLndpZGUtc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLndpZGUtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLndpZGUtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC53aWRlLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAud2lkZS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLndpZGUtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC53aWRlLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAud2lkZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLndpZGUtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC53aWRlLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAud2lkZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC53aWRlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLndpZGUtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAzcmVtKTsgfSB9XG5cbi5ncmlkLWZyYW1lIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIHdpZHRoOiAxMDB2dzsgfVxuXG4uY2VsbCAuZ3JpZC1mcmFtZSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5jZWxsLWJsb2NrIHtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG5cbi5jZWxsLWJsb2NrLXkge1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG5cbi5jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgLmNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiAxMDB2dzsgfVxuICAuY2VsbCAubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gICAgLm1lZGl1bS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgLnRhYmxldC1ncmlkLWZyYW1lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB3aWR0aDogMTAwdnc7IH1cbiAgLmNlbGwgLnRhYmxldC1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAudGFibGV0LWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuICAudGFibGV0LWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAgIC50YWJsZXQtY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAudGFibGV0LWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiAxMDB2dzsgfVxuICAuY2VsbCAubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuICAubGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gICAgLmxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLmxhcmdlLWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAueGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiAxMDB2dzsgfVxuICAuY2VsbCAueGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC54bGFyZ2UtY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG4gIC54bGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gICAgLnhsYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC54bGFyZ2UtY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDMuMTI1ZW0pIHtcbiAgLnh4bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3OyB9XG4gIC5jZWxsIC54eGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC54eGxhcmdlLWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuICAueHhsYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgICAueHhsYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC54eGxhcmdlLWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgLndpZGUtZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3OyB9XG4gIC5jZWxsIC53aWRlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC53aWRlLWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuICAud2lkZS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgICAud2lkZS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC53aWRlLWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9IH1cblxuLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgd2lkdGg6IGF1dG87XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBoZWlnaHQ6IDEwMHZoOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLXkubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgLmdyaWQteS50YWJsZXQtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiAxMDB2aDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLXkubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiAxMDB2aDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLmdyaWQteS54bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiAxMDB2aDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMy4xMjVlbSkge1xuICAuZ3JpZC15Lnh4bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiAxMDB2aDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gIC5ncmlkLXkud2lkZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IDEwMHZoOyB9IH1cblxuLmNlbGwgLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5jZWxsIC5ncmlkLXkubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAuY2VsbCAuZ3JpZC15LnRhYmxldC1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuY2VsbCAuZ3JpZC15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLmNlbGwgLmdyaWQteS54bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAzLjEyNWVtKSB7XG4gIC5jZWxsIC5ncmlkLXkueHhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAuY2VsbCAuZ3JpZC15LndpZGUtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuLmdyaWQtbWFyZ2luLXkge1xuICBtYXJnaW4tdG9wOiAtMS41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMS41cmVtOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gM3JlbSk7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gM3JlbSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAzcmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLnRhYmxldC1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnRhYmxldC1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAudGFibGV0LTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC50YWJsZXQtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC50YWJsZXQtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC50YWJsZXQtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC50YWJsZXQtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC50YWJsZXQtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC50YWJsZXQtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC50YWJsZXQtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC50YWJsZXQtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC50YWJsZXQtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAudGFibGV0LTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnRhYmxldC0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDNyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gM3JlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gM3JlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDMuMTI1ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDNyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC53aWRlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAud2lkZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAud2lkZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAud2lkZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLndpZGUtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC53aWRlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAud2lkZS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLndpZGUtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC53aWRlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAud2lkZS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLndpZGUtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC53aWRlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLndpZGUtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAud2lkZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDNyZW0pOyB9IH1cblxuLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gIGhlaWdodDogY2FsYygxMDB2aCArIDNyZW0pOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAzcmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgM3JlbSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgM3JlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAzcmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMy4xMjVlbSkge1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgM3JlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgM3JlbSk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1tYXJnaW4teS5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgM3JlbSk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkudGFibGV0LWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDNyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgM3JlbSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15LnhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAzcmVtKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMy4xMjVlbSkge1xuICAuZ3JpZC1tYXJnaW4teS54eGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDNyZW0pOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkud2lkZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAzcmVtKTsgfSB9XG5cbmRpdixcbmRsLFxuZHQsXG5kZCxcbnVsLFxub2wsXG5saSxcbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNixcbnByZSxcbmZvcm0sXG5wLFxuYmxvY2txdW90ZSxcbnRoLFxudGQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxucCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuXG5lbSxcbmkge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnN0cm9uZyxcbmIge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuaDEsIC5oMSxcbmgyLCAuaDIsXG5oMywgLmgzLFxuaDQsIC5oNCxcbmg1LCAuaDUsXG5oNiwgLmg2IHtcbiAgZm9udC1mYW1pbHk6IFwiYWJvbGl0aW9uXCIsIFwiYmlvLXNhbnNcIiwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFwiUm9ib3RvXCIsIFwiT3h5Z2VuXCIsIFwiVWJ1bnR1XCIsIFwiQ2FudGFyZWxsXCIsIFwiRmlyYSBTYW5zXCIsIFwiRHJvaWQgU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cbiAgaDEgc21hbGwsIC5oMSBzbWFsbCxcbiAgaDIgc21hbGwsIC5oMiBzbWFsbCxcbiAgaDMgc21hbGwsIC5oMyBzbWFsbCxcbiAgaDQgc21hbGwsIC5oNCBzbWFsbCxcbiAgaDUgc21hbGwsIC5oNSBzbWFsbCxcbiAgaDYgc21hbGwsIC5oNiBzbWFsbCB7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgY29sb3I6ICNhZWFlYWU7IH1cblxuaDEsIC5oMSB7XG4gIGZvbnQtc2l6ZTogM3JlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG5oMiwgLmgyIHtcbiAgZm9udC1zaXplOiAyLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuaDMsIC5oMyB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG5oNCwgLmg0IHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG5oNSwgLmg1IHtcbiAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuaDYsIC5oNiB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDMuMTI1ZW0pIHtcbiAgaDEsIC5oMSB7XG4gICAgZm9udC1zaXplOiAzLjVyZW07IH1cbiAgaDIsIC5oMiB7XG4gICAgZm9udC1zaXplOiAzcmVtOyB9XG4gIGgzLCAuaDMge1xuICAgIGZvbnQtc2l6ZTogMi41cmVtOyB9XG4gIGg0LCAuaDQge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICBoNSwgLmg1IHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gIGg2LCAuaDYge1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG5cbmEge1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6ICNlZDFiMmU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIGE6aG92ZXIsIGE6Zm9jdXMge1xuICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG4gIGEgaW1nIHtcbiAgICBib3JkZXI6IDA7IH1cblxuaHIge1xuICBjbGVhcjogYm90aDtcbiAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAxLjI1cmVtIGF1dG87XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNhZWFlYWU7XG4gIGJvcmRlci1sZWZ0OiAwOyB9XG5cbnVsLFxub2wsXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7IH1cblxubGkge1xuICBmb250LXNpemU6IGluaGVyaXQ7IH1cblxudWwge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgbGlzdC1zdHlsZS10eXBlOiBkaXNjOyB9XG5cbm9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH1cblxudWwgdWwsIG9sIHVsLCB1bCBvbCwgb2wgb2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgZGwgZHQge1xuICAgIG1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41NjI1cmVtIDEuMjVyZW0gMCAxLjE4NzVyZW07XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2FlYWVhZTsgfVxuICBibG9ja3F1b3RlLCBibG9ja3F1b3RlIHAge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgY29sb3I6ICM4YThhOGE7IH1cblxuYWJiciwgYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICMwYTBhMGE7XG4gIGN1cnNvcjogaGVscDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDsgfVxuXG5rYmQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuMjVyZW0gMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG5cbi5zdWJoZWFkZXIge1xuICBtYXJnaW4tdG9wOiAwLjJyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICM4YThhOGE7IH1cblxuLmxlYWQge1xuICBmb250LXNpemU6IDEyNSU7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7IH1cblxuLnN0YXQge1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgcCArIC5zdGF0IHtcbiAgICBtYXJnaW4tdG9wOiAtMXJlbTsgfVxuXG51bC5uby1idWxsZXQsIG9sLm5vLWJ1bGxldCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi5jaXRlLWJsb2NrLCBjaXRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjOGE4YThhO1xuICBmb250LXNpemU6IDAuODEyNXJlbTsgfVxuICAuY2l0ZS1ibG9jazpiZWZvcmUsIGNpdGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIuKAlCBcIjsgfVxuXG4uY29kZS1pbmxpbmUsIGNvZGUge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWVhZWFlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuMzEyNXJlbSAwLjA2MjVyZW07IH1cblxuLmNvZGUtYmxvY2sge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWVhZWFlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogYXV0bztcbiAgd2hpdGUtc3BhY2U6IHByZTtcbiAgcGFkZGluZzogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9XG5cbi50ZXh0LWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi50ZXh0LXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRleHQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi50ZXh0LWp1c3RpZnkge1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5tZWRpdW0tdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm1lZGl1bS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZWRpdW0tdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSB7XG4gIC50YWJsZXQtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC50YWJsZXQtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLnRhYmxldC10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC50YWJsZXQtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLmxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLnhsYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnhsYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAueGxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnhsYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDMuMTI1ZW0pIHtcbiAgLnh4bGFyZ2UtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC54eGxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC54eGxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnh4bGFyZ2UtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgLndpZGUtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC53aWRlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC53aWRlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLndpZGUtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuLnNob3ctZm9yLXByaW50IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBwcmludCB7XG4gICoge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgY29sb3ItYWRqdXN0OiBlY29ub215O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAuaGlkZS1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICB0YWJsZS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0aGVhZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdGJvZHkuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRyLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0ZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIHRoLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgYSxcbiAgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBhW2hyZWZdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjsgfVxuICAuaXIgYTphZnRlcixcbiAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgYVtocmVmXj0nIyddOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJzsgfVxuICBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiOyB9XG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuICB0cixcbiAgaW1nIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICBAcGFnZSB7XG4gICAgbWFyZ2luOiAwLjVjbTsgfVxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzOyB9XG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cbiAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87IH0gfVxuXG4uYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAuODVlbSAxZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5idXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmJ1dHRvbi50aW55IHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLmJ1dHRvbi5zbWFsbCB7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG4gIC5idXR0b24ubGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9XG4gIC5idXR0b24uZXhwYW5kZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuYnV0dG9uLCAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWQxYjJlO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b246aG92ZXIsIC5idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkMDEwMjI7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5wcmltYXJ5LCAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQsIC5idXR0b24ucHJpbWFyeVtkaXNhYmxlZF0sIC5idXR0b24ucHJpbWFyeS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWQxYjJlO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5idXR0b24ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5wcmltYXJ5OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzQwZjIwO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5idXR0b24uc2Vjb25kYXJ5LCAuYnV0dG9uLnNlY29uZGFyeS5kaXNhYmxlZCwgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdLCAuYnV0dG9uLnNlY29uZGFyeS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLnNlY29uZGFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGQ0MzZiO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzBhMzY1NjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLnN1Y2Nlc3MsIC5idXR0b24uc3VjY2Vzcy5kaXNhYmxlZCwgLmJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXSwgLmJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzOUMxNkM7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyZTlhNTY7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi53YXJuaW5nLCAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQsIC5idXR0b24ud2FybmluZ1tkaXNhYmxlZF0sIC5idXR0b24ud2FybmluZy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi53YXJuaW5nLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5idXR0b24ud2FybmluZzpob3ZlciwgLmJ1dHRvbi53YXJuaW5nOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M4YjAwO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5idXR0b24uYWxlcnQsIC5idXR0b24uYWxlcnQuZGlzYWJsZWQsIC5idXR0b24uYWxlcnRbZGlzYWJsZWRdLCAuYnV0dG9uLmFsZXJ0LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5hbGVydFtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZDFiMmU7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi5hbGVydDpob3ZlciwgLmJ1dHRvbi5hbGVydDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2M0MGYyMDtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYnV0dG9uLmhvbGxvdywgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYnV0dG9uLmhvbGxvdywgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2VkMWIyZTtcbiAgICBjb2xvcjogI2VkMWIyZTsgfVxuICAuYnV0dG9uLmhvbGxvdzpob3ZlciwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzdhMGExNDtcbiAgICBjb2xvcjogIzdhMGExNDsgfVxuICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5LCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5LmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93LnByaW1hcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG9sbG93LnByaW1hcnlbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWQxYjJlO1xuICAgIGNvbG9yOiAjZWQxYjJlOyB9XG4gIC5idXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXIsIC5idXR0b24uaG9sbG93LnByaW1hcnk6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzdhMGExNDtcbiAgICBjb2xvcjogIzdhMGExNDsgfVxuICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnksIC5idXR0b24uaG9sbG93LnNlY29uZGFyeS5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwZDQzNmI7XG4gICAgY29sb3I6ICMwZDQzNmI7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzA3MjIzNjtcbiAgICBjb2xvcjogIzA3MjIzNjsgfVxuICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzcy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzc1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3NbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMzlDMTZDO1xuICAgIGNvbG9yOiAjMzlDMTZDOyB9XG4gIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzFkNjEzNjtcbiAgICBjb2xvcjogIzFkNjEzNjsgfVxuICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cud2FybmluZy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cud2FybmluZ1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93Lndhcm5pbmcuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG9sbG93Lndhcm5pbmdbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZhZTAwO1xuICAgIGNvbG9yOiAjZmZhZTAwOyB9XG4gIC5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXIsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzgwNTcwMDtcbiAgICBjb2xvcjogIzgwNTcwMDsgfVxuICAuYnV0dG9uLmhvbGxvdy5hbGVydCwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmFsZXJ0W2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmFsZXJ0W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG9sbG93LmFsZXJ0W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2VkMWIyZTtcbiAgICBjb2xvcjogI2VkMWIyZTsgfVxuICAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzdhMGExNDtcbiAgICBjb2xvcjogIzdhMGExNDsgfVxuICAuYnV0dG9uLmNsZWFyLCAuYnV0dG9uLmNsZWFyOmhvdmVyLCAuYnV0dG9uLmNsZWFyOmZvY3VzLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idXR0b24uY2xlYXIsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjZWQxYjJlOyB9XG4gIC5idXR0b24uY2xlYXI6aG92ZXIsIC5idXR0b24uY2xlYXI6Zm9jdXMge1xuICAgIGNvbG9yOiAjN2EwYTE0OyB9XG4gIC5idXR0b24uY2xlYXIucHJpbWFyeSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5LmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnlbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXIucHJpbWFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXIucHJpbWFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5jbGVhci5wcmltYXJ5W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICNlZDFiMmU7IH1cbiAgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMge1xuICAgIGNvbG9yOiAjN2EwYTE0OyB9XG4gIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeS5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnlbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnlbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogIzBkNDM2YjsgfVxuICAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMge1xuICAgIGNvbG9yOiAjMDcyMjM2OyB9XG4gIC5idXR0b24uY2xlYXIuc3VjY2VzcywgLmJ1dHRvbi5jbGVhci5zdWNjZXNzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3NbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXIuc3VjY2Vzc1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXIuc3VjY2Vzcy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5jbGVhci5zdWNjZXNzW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICMzOUMxNkM7IH1cbiAgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMge1xuICAgIGNvbG9yOiAjMWQ2MTM2OyB9XG4gIC5idXR0b24uY2xlYXIud2FybmluZywgLmJ1dHRvbi5jbGVhci53YXJuaW5nLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmdbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmcuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXIud2FybmluZ1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXIud2FybmluZy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5jbGVhci53YXJuaW5nW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMge1xuICAgIGNvbG9yOiAjODA1NzAwOyB9XG4gIC5idXR0b24uY2xlYXIuYWxlcnQsIC5idXR0b24uY2xlYXIuYWxlcnQuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnRbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmFsZXJ0LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmFsZXJ0W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhci5hbGVydC5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5jbGVhci5hbGVydFtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjZWQxYjJlOyB9XG4gIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIsIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXMge1xuICAgIGNvbG9yOiAjN2EwYTE0OyB9XG4gIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b25bZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjI1O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNGVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmVmZWZlIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6IDFlbTsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdzo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXI6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjZWQxYjJlOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnByaW1hcnk6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLnByaW1hcnk6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjZWQxYjJlOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnNlY29uZGFyeTo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIuc2Vjb25kYXJ5OjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzBkNDM2YjsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5zdWNjZXNzOjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci5zdWNjZXNzOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzM5QzE2QzsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy53YXJuaW5nOjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci53YXJuaW5nOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmYWUwMDsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5hbGVydDo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIuYWxlcnQ6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjZWQxYjJlOyB9XG4gIC5idXR0b24uYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgIHRvcDogLTAuMWVtO1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbmEuYnV0dG9uOmhvdmVyLCBhLmJ1dHRvbjpmb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG5bdHlwZT0ndGV4dCddLCBbdHlwZT0ncGFzc3dvcmQnXSwgW3R5cGU9J2RhdGUnXSwgW3R5cGU9J2RhdGV0aW1lJ10sIFt0eXBlPSdkYXRldGltZS1sb2NhbCddLCBbdHlwZT0nbW9udGgnXSwgW3R5cGU9J3dlZWsnXSwgW3R5cGU9J2VtYWlsJ10sIFt0eXBlPSdudW1iZXInXSwgW3R5cGU9J3NlYXJjaCddLCBbdHlwZT0ndGVsJ10sIFt0eXBlPSd0aW1lJ10sIFt0eXBlPSd1cmwnXSwgW3R5cGU9J2NvbG9yJ10sXG50ZXh0YXJlYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyLjQzNzVyZW07XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoMTAsIDEwLCAxMCwgMC4xKTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuICBhcHBlYXJhbmNlOiBub25lOyB9XG4gIFt0eXBlPSd0ZXh0J106Zm9jdXMsIFt0eXBlPSdwYXNzd29yZCddOmZvY3VzLCBbdHlwZT0nZGF0ZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ106Zm9jdXMsIFt0eXBlPSdtb250aCddOmZvY3VzLCBbdHlwZT0nd2VlayddOmZvY3VzLCBbdHlwZT0nZW1haWwnXTpmb2N1cywgW3R5cGU9J251bWJlciddOmZvY3VzLCBbdHlwZT0nc2VhcmNoJ106Zm9jdXMsIFt0eXBlPSd0ZWwnXTpmb2N1cywgW3R5cGU9J3RpbWUnXTpmb2N1cywgW3R5cGU9J3VybCddOmZvY3VzLCBbdHlwZT0nY29sb3InXTpmb2N1cyxcbiAgdGV4dGFyZWE6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzBkNDM2YjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cblxudGV4dGFyZWEge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgdGV4dGFyZWFbcm93c10ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuXG5pbnB1dDpkaXNhYmxlZCwgaW5wdXRbcmVhZG9ubHldLFxudGV4dGFyZWE6ZGlzYWJsZWQsXG50ZXh0YXJlYVtyZWFkb25seV0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cblt0eXBlPSdzdWJtaXQnXSxcblt0eXBlPSdidXR0b24nXSB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuaW5wdXRbdHlwZT0nc2VhcmNoJ10ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbjo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2FlYWVhZTsgfVxuXG5bdHlwZT0nZmlsZSddLFxuW3R5cGU9J2NoZWNrYm94J10sXG5bdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbjogMCAwIDFyZW07IH1cblxuW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcblt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWxbZm9yXSxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbFtmb3JdIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxubGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbmxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuXG5bdHlwZT0nZmlsZSddIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG4gIGxhYmVsLm1pZGRsZSB7XG4gICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgICBwYWRkaW5nOiAwLjU2MjVyZW0gMDsgfVxuXG4uaGVscC10ZXh0IHtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgY29sb3I6ICMwYTBhMGE7IH1cblxuLmlucHV0LWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4gIC5pbnB1dC1ncm91cCA+IDpmaXJzdC1jaGlsZCwgLmlucHV0LWdyb3VwID4gOmZpcnN0LWNoaWxkLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICoge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgLmlucHV0LWdyb3VwID4gOmxhc3QtY2hpbGQsIC5pbnB1dC1ncm91cCA+IDpsYXN0LWNoaWxkLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICoge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsLCAuaW5wdXQtZ3JvdXAtZmllbGQsIC5pbnB1dC1ncm91cC1idXR0b24sIC5pbnB1dC1ncm91cC1idXR0b24gYSxcbi5pbnB1dC1ncm91cC1idXR0b24gaW5wdXQsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbixcbi5pbnB1dC1ncm91cC1idXR0b24gbGFiZWwge1xuICBtYXJnaW46IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgcGFkZGluZzogMCAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWVhZWFlO1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xuICBjb2xvcjogIzBhMGEwYTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDAgYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuaW5wdXQtZ3JvdXAtbGFiZWw6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yaWdodDogMDsgfVxuICAuaW5wdXQtZ3JvdXAtbGFiZWw6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgZmxleDogMSAxIDBweDtcbiAgbWluLXdpZHRoOiAwOyB9XG5cbi5pbnB1dC1ncm91cC1idXR0b24ge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIGF1dG87IH1cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbixcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCB7XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG5cbmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7IH1cblxubGVnZW5kIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuLmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAxLjEyNXJlbSAwO1xuICBwYWRkaW5nOiAxLjI1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWVhZWFlOyB9XG4gIC5maWVsZHNldCBsZWdlbmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tbGVmdDogLTAuMTg3NXJlbTtcbiAgICBwYWRkaW5nOiAwIDAuMTg3NXJlbTsgfVxuXG5zZWxlY3Qge1xuICBoZWlnaHQ6IDIuNDM3NXJlbTtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzBhMGEwYTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiByZ2IlMjgxMzgsIDEzOCwgMTM4JTI5Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC0xcmVtIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgICBzZWxlY3Qge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PVwiKTsgfSB9XG4gIHNlbGVjdDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMGQ0MzZiO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuICBzZWxlY3Q6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICBzZWxlY3Q6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgc2VsZWN0W211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cbiAgc2VsZWN0Om5vdChbbXVsdGlwbGVdKSB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cblxuLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cykge1xuICBib3JkZXItY29sb3I6ICNlZDFiMmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmY2U3ZTk7IH1cbiAgLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cyk6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogI2VkMWIyZTsgfVxuXG4uaXMtaW52YWxpZC1sYWJlbCB7XG4gIGNvbG9yOiAjZWQxYjJlOyB9XG5cbi5mb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNlZDFiMmU7IH1cbiAgLmZvcm0tZXJyb3IuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmNhbGxvdXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCAwIDEuNXJlbSAwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEwLCAxMCwgMTAsIDAuMSk7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBjb2xvcjogIzQ4NDg0ODsgfVxuICAuY2FsbG91dCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuY2FsbG91dCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jYWxsb3V0LnByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmY2RkZTA7XG4gICAgY29sb3I6ICM0ODQ4NDg7IH1cbiAgLmNhbGxvdXQuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2JlNWY5O1xuICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG4gIC5jYWxsb3V0LnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlMWY2ZTk7XG4gICAgY29sb3I6ICM0ODQ4NDg7IH1cbiAgLmNhbGxvdXQud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjNkOTtcbiAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICAuY2FsbG91dC5hbGVydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZGRlMDtcbiAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICAuY2FsbG91dC5zbWFsbCB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTsgfVxuICAuY2FsbG91dC5sYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgcGFkZGluZy1yaWdodDogM3JlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW07IH1cblxuLnJlc3BvbnNpdmUtZW1iZWQsXG4uZmxleC12aWRlbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogNzUlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5yZXNwb25zaXZlLWVtYmVkIGlmcmFtZSxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgb2JqZWN0LFxuICAucmVzcG9uc2l2ZS1lbWJlZCBlbWJlZCxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgdmlkZW8sXG4gIC5mbGV4LXZpZGVvIGlmcmFtZSxcbiAgLmZsZXgtdmlkZW8gb2JqZWN0LFxuICAuZmxleC12aWRlbyBlbWJlZCxcbiAgLmZsZXgtdmlkZW8gdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLnJlc3BvbnNpdmUtZW1iZWQud2lkZXNjcmVlbixcbiAgLmZsZXgtdmlkZW8ud2lkZXNjcmVlbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTsgfVxuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgdGhlYWQsXG4gIHRib2R5LFxuICB0Zm9vdCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMTYsIDIxNiwgMjE2LCAwLjUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU0LCAyNTQsIDI1NCwgMC41KTsgfVxuICBjYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjM1LCAyMzUsIDIzNSwgMC41KTtcbiAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyMTYsIDIxNiwgMjE2LCAwLjUpO1xuICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG4gIHRoZWFkIHRyLFxuICB0Zm9vdCB0ciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgdGhlYWQgdGgsXG4gIHRoZWFkIHRkLFxuICB0Zm9vdCB0aCxcbiAgdGZvb3QgdGQge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIHRib2R5IHRoLFxuICB0Ym9keSB0ZCB7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtOyB9XG4gIHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIxNiwgMjE2LCAyMTYsIDAuNSk7IH1cbiAgdGFibGUudW5zdHJpcGVkIHRib2R5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuNSk7IH1cbiAgICB0YWJsZS51bnN0cmlwZWQgdGJvZHkgdHIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDIxNiwgMjE2LCAyMTYsIDAuNSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuNSk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4Ljg3Mzc1ZW0pIHtcbiAgdGFibGUuc3RhY2sgdGhlYWQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgdGFibGUuc3RhY2sgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgdGFibGUuc3RhY2sgdHIsXG4gIHRhYmxlLnN0YWNrIHRoLFxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgdGFibGUuc3RhY2sgdGQge1xuICAgIGJvcmRlci10b3A6IDA7IH0gfVxuXG50YWJsZS5zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87IH1cblxudGFibGUuaG92ZXIgdGhlYWQgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzMCwgMjMwLCAyMzAsIDAuNSk7IH1cblxudGFibGUuaG92ZXIgdGZvb3QgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIxMSwgMjExLCAyMTEsIDAuNSk7IH1cblxudGFibGUuaG92ZXIgdGJvZHkgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0OSwgMjQ5LCAyNDksIDAuNSk7IH1cblxudGFibGUuaG92ZXI6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMTEsIDIxMSwgMjExLCAwLjUpOyB9XG5cbi50YWJsZS1zY3JvbGwge1xuICBvdmVyZmxvdy14OiBhdXRvOyB9XG5cbi5hbGlnbi1sZWZ0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1yaWdodCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmFsaWduLWNlbnRlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5hbGlnbi1qdXN0aWZ5IHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi5hbGlnbi1zcGFjZWQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG4uYWxpZ24tbGVmdC52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1yaWdodC52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tY2VudGVyLnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uYWxpZ24tdG9wIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLXNlbGYtdG9wIHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuXG4uYWxpZ24tYm90dG9tIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1zZWxmLWJvdHRvbSB7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1taWRkbGUge1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5hbGlnbi1zZWxmLW1pZGRsZSB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjsgfVxuXG4uYWxpZ24tc3RyZXRjaCB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG5cbi5hbGlnbi1zZWxmLXN0cmV0Y2gge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoOyB9XG5cbi5hbGlnbi1jZW50ZXItbWlkZGxlIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uc21hbGwtb3JkZXItMSB7XG4gIG9yZGVyOiAxOyB9XG5cbi5zbWFsbC1vcmRlci0yIHtcbiAgb3JkZXI6IDI7IH1cblxuLnNtYWxsLW9yZGVyLTMge1xuICBvcmRlcjogMzsgfVxuXG4uc21hbGwtb3JkZXItNCB7XG4gIG9yZGVyOiA0OyB9XG5cbi5zbWFsbC1vcmRlci01IHtcbiAgb3JkZXI6IDU7IH1cblxuLnNtYWxsLW9yZGVyLTYge1xuICBvcmRlcjogNjsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5tZWRpdW0tb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLm1lZGl1bS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAubWVkaXVtLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC5tZWRpdW0tb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLm1lZGl1bS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAudGFibGV0LW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC50YWJsZXQtb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLnRhYmxldC1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAudGFibGV0LW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC50YWJsZXQtb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLnRhYmxldC1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAubGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLmxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5sYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAubGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLmxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAueGxhcmdlLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC54bGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLnhsYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAueGxhcmdlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC54bGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLnhsYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMy4xMjVlbSkge1xuICAueHhsYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAueHhsYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAueHhsYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAueHhsYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAueHhsYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAueHhsYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gIC53aWRlLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC53aWRlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC53aWRlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC53aWRlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC53aWRlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC53aWRlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuLmZsZXgtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4uZmxleC1jaGlsZC1hdXRvIHtcbiAgZmxleDogMSAxIGF1dG87IH1cblxuLmZsZXgtY2hpbGQtZ3JvdyB7XG4gIGZsZXg6IDEgMCBhdXRvOyB9XG5cbi5mbGV4LWNoaWxkLXNocmluayB7XG4gIGZsZXg6IDAgMSBhdXRvOyB9XG5cbi5mbGV4LWRpci1yb3cge1xuICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG5cbi5mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuXG4uZmxleC1kaXItY29sdW1uIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4uZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87IH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC5tZWRpdW0tZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5tZWRpdW0tZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAubWVkaXVtLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAubWVkaXVtLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgLnRhYmxldC1mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAudGFibGV0LWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87IH1cbiAgLnRhYmxldC1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gIC50YWJsZXQtZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC50YWJsZXQtZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC50YWJsZXQtZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAudGFibGV0LWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAudGFibGV0LWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87IH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAubGFyZ2UtZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5sYXJnZS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC5sYXJnZS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLmxhcmdlLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC54bGFyZ2UtZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLnhsYXJnZS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gIC54bGFyZ2UtZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAueGxhcmdlLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAueGxhcmdlLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAueGxhcmdlLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLnhsYXJnZS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLnhsYXJnZS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAzLjEyNWVtKSB7XG4gIC54eGxhcmdlLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC54eGxhcmdlLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87IH1cbiAgLnh4bGFyZ2UtZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAueHhsYXJnZS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87IH1cbiAgLnh4bGFyZ2UtZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC54eGxhcmdlLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLnh4bGFyZ2UtZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC54eGxhcmdlLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAud2lkZS1mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAud2lkZS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gIC53aWRlLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgLndpZGUtZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC53aWRlLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAud2lkZS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC53aWRlLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAud2lkZS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9IH1cblxuaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9yZXF1aXJlZF9sZWdlbmQsIC5zZWFyY2gtb3ZlcmxheSAuc2l0ZS1zZWFyY2hfX3N1Ym1pdCxcbi51LXNjcmVlbi1yZWFkZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTsgfVxuXG5cbi51LWNsZWFyZml4OjpiZWZvcmUsXG4udS1jbGVhcmZpeDo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogJyAnO1xuICBmbGV4LWJhc2lzOiAwO1xuICBvcmRlcjogMTsgfVxuXG5cbi51LWNsZWFyZml4OjphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi53eXNpd3lnIGE6bm90KFtocmVmJD1cIi5wZGZcIl0pW3RhcmdldD0nX2JsYW5rJ106YWZ0ZXIsXG4udS1leHRlcm5hbC1saW5rOmFmdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogOHB4O1xuICBoZWlnaHQ6IDhweDtcbiAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICBtYXJnaW4tbGVmdDogM3B4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvZXh0ZXJuYWwtbGluay5zdmdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogOHB4O1xuICBjb250ZW50OiAnJztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG5cbi51LXBob3RvLWJnLCAuc2l0ZS1mb290ZXJfX3Bob3RvIGZpZ3VyZSxcbi51LWJnLWNvdmVyIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG5cblxuLnUtYmctY29udGFpbiB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluOyB9XG5cblxuLnUtYmctMTAwIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7IH1cblxuLnUtc3ZnLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMDsgfVxuICAudS1zdmctY29udGFpbmVyIGltZyxcbiAgLnUtc3ZnLWNvbnRhaW5lciBzdmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLnUtc3ZnLWNvbnRhaW5lci0tbG9nbyB7XG4gICAgcGFkZGluZy1ib3R0b206IDU0LjcyMTE1JTsgfVxuXG5cbi51LXBob3RvLWJnIHtcbiAgcGFkZGluZy1ib3R0b206IDU2LjI1JTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgICBcbiAgICAudS1waG90by1iZyB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNjYuNjY2NjclOyB9IH1cbiAgXG4gIC51LXBob3RvLWJnLS1leHRlbmQtbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoLTEwMHZ3ICsgMTAwJSArIDEuNXJlbSk7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgICAgIFxuICAgICAgLnUtcGhvdG8tYmctLWV4dGVuZC1sZWZ0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoLTUwdncgKyAxMDAlICsgMS41cmVtKTsgfSB9XG4gIFxuICAudS1waG90by1iZy0tZXh0ZW5kLXJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoLTEwMHZ3ICsgMTAwJSArIDEuNXJlbSk7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgICAgIFxuICAgICAgLnUtcGhvdG8tYmctLWV4dGVuZC1yaWdodCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogY2FsYygtNTB2dyArIDEwMCUgKyAxLjVyZW0pOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgaHRtbCB7XG4gICAgZm9udC1zaXplOiAxMTIuNSU7IH0gfVxuXG5ib2R5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIGJvZHkuYWRtaW4tYmFyIHtcbiAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gNDZweCk7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgICAgIGJvZHkuYWRtaW4tYmFyIHtcbiAgICAgICAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtIDMycHgpOyB9IH1cblxuYSB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG5hZGRyZXNzIHtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbmxhYmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG4gIGxhYmVsW2Zvcj0ndXNlcl9sb2dpbiddLCBsYWJlbFtmb3I9J3VzZXJfcGFzcyddIHtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuXG5pbnB1dFt0eXBlPSdyYWRpbyddLFxuaW5wdXRbdHlwZT0nY2hlY2tib3gnXSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS41KTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICB0YWJsZSB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9IH1cblxudGFibGUgdGgge1xuICBsaW5lLWhlaWdodDogMS4zO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbnRhYmxlIHRmb290IHtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTsgfVxuICB0YWJsZSB0Zm9vdCB0aCB7XG4gICAgYmFja2dyb3VuZDogIzBkNDM2YjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICB0YWJsZSB0Zm9vdCB0ZCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMTYsIDIxNiwgMjE2LCAwLjUpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cblxuLnRhYmxlLXNjcm9sbCB0YWJsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLnRhYmxlLXNjcm9sbCArIC50YWJsZS1zY3JvbGwge1xuICBtYXJnaW4tdG9wOiAxLjVyZW07IH1cblxuQGtleWZyYW1lcyB6aXBSaWdodCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApIHNjYWxlKDEsIDEpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApIHNjYWxlKDEuMywgMSk7XG4gICAgb3BhY2l0eTogMDsgfVxuICA1MSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApIHNjYWxlKDEuMywgMSk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApIHNjYWxlKDEsIDEpO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIHppcExlZnQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSBzY2FsZSgxLCAxKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCkgc2NhbGUoMS4zLCAxKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDUxJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKSBzY2FsZSgxLjMsIDEpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSBzY2FsZSgxLCAxKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLyogU2xpZGVyICovXG4uc2xpY2stc2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5zbGljay1saXN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG4gIC5zbGljay1saXN0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gIC5zbGljay1saXN0LmRyYWdnaW5nIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY3Vyc29yOiBoYW5kOyB9XG5cbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxuLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuXG4uc2xpY2stdHJhY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgLnNsaWNrLXRyYWNrOmJlZm9yZSwgLnNsaWNrLXRyYWNrOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5zbGljay10cmFjazphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNsaWNrLWxvYWRpbmcgLnNsaWNrLXRyYWNrIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWNrLXNsaWRlIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBkaXNwbGF5OiBub25lOyB9XG4gIFtkaXI9XCJydGxcIl0gLnNsaWNrLXNsaWRlIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLnNsaWNrLXNsaWRlIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnNsaWNrLXNsaWRlLnNsaWNrLWxvYWRpbmcgaW1nIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5zbGljay1zbGlkZS5kcmFnZ2luZyBpbWcge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIC5zbGljay1pbml0aWFsaXplZCAuc2xpY2stc2xpZGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zbGljay1sb2FkaW5nIC5zbGljay1zbGlkZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5zbGljay12ZXJ0aWNhbCAuc2xpY2stc2xpZGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuXG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5odG1sICN3cGFkbWluYmFyIHtcbiAgcG9zaXRpb246IGZpeGVkOyB9XG5cbmJ1dHRvbixcbi5idXR0b24ge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIGJvcmRlcjogMDtcbiAgZm9udC1mYW1pbHk6IFwiYmlvLXNhbnNcIiwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFwiUm9ib3RvXCIsIFwiT3h5Z2VuXCIsIFwiVWJ1bnR1XCIsIFwiQ2FudGFyZWxsXCIsIFwiRmlyYSBTYW5zXCIsIFwiRHJvaWQgU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMi41ZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICBidXR0b24gaW1nLFxuICAuYnV0dG9uIGltZyB7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogLTRweDsgfVxuICAgIGJ1dHRvbiBpbWcgKyBzcGFuLFxuICAgIC5idXR0b24gaW1nICsgc3BhbiB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogMXB4OyB9XG4gIGJ1dHRvbiBzcGFuLFxuICAuYnV0dG9uIHNwYW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIGJ1dHRvbjpub3QoLmJ1dHRvbi0tcGx1Zyk6bm90KC5qcy1zZWFyY2gtdG9nZ2xlKTpub3QoLnNpdGUtc2VhcmNoX19zdWJtaXQpOmZvY3VzIC5obnktc3ZnLCBidXR0b246bm90KC5idXR0b24tLXBsdWcpOm5vdCguanMtc2VhcmNoLXRvZ2dsZSk6bm90KC5zaXRlLXNlYXJjaF9fc3VibWl0KTpob3ZlciAuaG55LXN2ZyxcbiAgLmJ1dHRvbjpub3QoLmJ1dHRvbi0tcGx1Zyk6bm90KC5qcy1zZWFyY2gtdG9nZ2xlKTpub3QoLnNpdGUtc2VhcmNoX19zdWJtaXQpOmZvY3VzIC5obnktc3ZnLFxuICAuYnV0dG9uOm5vdCguYnV0dG9uLS1wbHVnKTpub3QoLmpzLXNlYXJjaC10b2dnbGUpOm5vdCguc2l0ZS1zZWFyY2hfX3N1Ym1pdCk6aG92ZXIgLmhueS1zdmcge1xuICAgIGFuaW1hdGlvbjogemlwUmlnaHQgMC40cyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpOyB9XG4gIGJ1dHRvbi0tcGx1ZyxcbiAgLmJ1dHRvbi0tcGx1ZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm94LXNoYWRvdzogMCA0cHggNnB4IHJnYmEoMTAsIDEwLCAxMCwgMC4xMSksIDAgMXB4IDNweCByZ2JhKDEwLCAxMCwgMTAsIDAuMDgpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgYnV0dG9uLS1wbHVnLFxuICAgICAgLmJ1dHRvbi0tcGx1ZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH0gfVxuICAgIGJ1dHRvbi0tcGx1ZzphZnRlcixcbiAgICAuYnV0dG9uLS1wbHVnOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB3aWR0aDogMi41ZW07XG4gICAgICBoZWlnaHQ6IDIuNWVtO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlZDFiMmU7XG4gICAgICBiYWNrZ3JvdW5kOiAjZDAxMDIyO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgYnV0dG9uLS1wbHVnOmJlZm9yZSxcbiAgICAuYnV0dG9uLS1wbHVnOmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHdpZHRoOiAyLjVlbTtcbiAgICAgIGhlaWdodDogMi41ZW07XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvamFjay1wbHVnLnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMS41ZW0gMS41ZW07XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHotaW5kZXg6IDE7IH1cbiAgICBidXR0b24tLXBsdWcgc3BhbixcbiAgICAuYnV0dG9uLS1wbHVnIHNwYW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzLjVlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMWVtOyB9XG4gICAgYnV0dG9uLS1wbHVnOmZvY3VzOmFmdGVyLCBidXR0b24tLXBsdWc6aG92ZXI6YWZ0ZXIsXG4gICAgLmJ1dHRvbi0tcGx1Zzpmb2N1czphZnRlcixcbiAgICAuYnV0dG9uLS1wbHVnOmhvdmVyOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNlZDFiMmU7IH1cbiAgICBidXR0b24tLXBsdWc6Zm9jdXM6YmVmb3JlLCBidXR0b24tLXBsdWc6aG92ZXI6YmVmb3JlLFxuICAgIC5idXR0b24tLXBsdWc6Zm9jdXM6YmVmb3JlLFxuICAgIC5idXR0b24tLXBsdWc6aG92ZXI6YmVmb3JlIHtcbiAgICAgIGFuaW1hdGlvbjogemlwUmlnaHQgMC40cyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpOyB9XG4gICAgYnV0dG9uLS1wbHVnLS1yZXZlcnNlOmFmdGVyLFxuICAgIC5idXR0b24tLXBsdWctLXJldmVyc2U6YWZ0ZXIge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2VkMWIyZTtcbiAgICAgIGJvcmRlci1sZWZ0OiAwOyB9XG4gICAgYnV0dG9uLS1wbHVnLS1yZXZlcnNlOmJlZm9yZSxcbiAgICAuYnV0dG9uLS1wbHVnLS1yZXZlcnNlOmJlZm9yZSB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvamFjay1wbHVnLXJldmVyc2Uuc3ZnXCIpOyB9XG4gICAgYnV0dG9uLS1wbHVnLS1yZXZlcnNlIHNwYW4sXG4gICAgLmJ1dHRvbi0tcGx1Zy0tcmV2ZXJzZSBzcGFuIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDFlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMy41ZW07IH1cbiAgICBidXR0b24tLXBsdWctLXJldmVyc2U6Zm9jdXM6YmVmb3JlLCBidXR0b24tLXBsdWctLXJldmVyc2U6aG92ZXI6YmVmb3JlLFxuICAgIC5idXR0b24tLXBsdWctLXJldmVyc2U6Zm9jdXM6YmVmb3JlLFxuICAgIC5idXR0b24tLXBsdWctLXJldmVyc2U6aG92ZXI6YmVmb3JlIHtcbiAgICAgIGFuaW1hdGlvbjogemlwTGVmdCAwLjRzIGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSk7IH1cbiAgYnV0dG9uLS1maWxlLFxuICAuYnV0dG9uLS1maWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3gtc2hhZG93OiAwIDRweCA2cHggcmdiYSgxMCwgMTAsIDEwLCAwLjExKSwgMCAxcHggM3B4IHJnYmEoMTAsIDEwLCAxMCwgMC4wOCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICBidXR0b24tLWZpbGUsXG4gICAgICAuYnV0dG9uLS1maWxlIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfSB9XG4gICAgYnV0dG9uLS1maWxlOmFmdGVyLFxuICAgIC5idXR0b24tLWZpbGU6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDIuNWVtO1xuICAgICAgaGVpZ2h0OiAyLjVlbTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2VkMWIyZTtcbiAgICAgIGJhY2tncm91bmQ6ICNkMDEwMjI7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICBidXR0b24tLWZpbGUuc2Vjb25kYXJ5OmFmdGVyLFxuICAgIC5idXR0b24tLWZpbGUuc2Vjb25kYXJ5OmFmdGVyIHtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogIzBkNDM2YjtcbiAgICAgIGJhY2tncm91bmQ6ICMxODc5YzI7IH1cbiAgICBidXR0b24tLWZpbGUuc2Vjb25kYXJ5OmZvY3VzOmFmdGVyLCBidXR0b24tLWZpbGUuc2Vjb25kYXJ5OmhvdmVyOmFmdGVyLFxuICAgIC5idXR0b24tLWZpbGUuc2Vjb25kYXJ5OmZvY3VzOmFmdGVyLFxuICAgIC5idXR0b24tLWZpbGUuc2Vjb25kYXJ5OmhvdmVyOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICMwZDQzNmI7IH1cbiAgICBidXR0b24tLWZpbGU6YmVmb3JlLFxuICAgIC5idXR0b24tLWZpbGU6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMi41ZW07XG4gICAgICBoZWlnaHQ6IDIuNWVtO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxLjVlbSAxLjVlbSAhaW1wb3J0YW50O1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB6LWluZGV4OiAxOyB9XG4gICAgYnV0dG9uLS1maWxlIHNwYW4sXG4gICAgLmJ1dHRvbi0tZmlsZSBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZy1yaWdodDogMWVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAzLjVlbTsgfVxuICAgIGJ1dHRvbi0tZmlsZTpmb2N1czphZnRlciwgYnV0dG9uLS1maWxlOmhvdmVyOmFmdGVyLFxuICAgIC5idXR0b24tLWZpbGU6Zm9jdXM6YWZ0ZXIsXG4gICAgLmJ1dHRvbi0tZmlsZTpob3ZlcjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZWQxYjJlOyB9XG4gICAgYnV0dG9uLS1maWxlOmZvY3VzOmJlZm9yZSwgYnV0dG9uLS1maWxlOmhvdmVyOmJlZm9yZSxcbiAgICAuYnV0dG9uLS1maWxlOmZvY3VzOmJlZm9yZSxcbiAgICAuYnV0dG9uLS1maWxlOmhvdmVyOmJlZm9yZSB7XG4gICAgICBhbmltYXRpb246IHppcExlZnQgMC40cyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpOyB9XG4gICAgYnV0dG9uLS1maWxlLS1leGNlbDpiZWZvcmUsXG4gICAgLmJ1dHRvbi0tZmlsZS0tZXhjZWw6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy94bC5wbmdcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7IH1cbiAgICBidXR0b24tLWZpbGUtLXBkZjpiZWZvcmUsXG4gICAgLmJ1dHRvbi0tZmlsZS0tcGRmOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvcGRmLnBuZ1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjsgfVxuICBidXR0b24ud2hpdGUsXG4gIC5idXR0b24ud2hpdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZWZlZmU7XG4gICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICBjb2xvcjogI2VkMWIyZTsgfVxuICAgIGJ1dHRvbi53aGl0ZTphZnRlcixcbiAgICAuYnV0dG9uLndoaXRlOmFmdGVyIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJhY2tncm91bmQ6ICNlZDFiMmU7IH1cbiAgICBidXR0b24ud2hpdGU6Zm9jdXMsIGJ1dHRvbi53aGl0ZTpob3ZlcixcbiAgICAuYnV0dG9uLndoaXRlOmZvY3VzLFxuICAgIC5idXR0b24ud2hpdGU6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG5cbi5jYWxsb3V0IHtcbiAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDZweCByZ2JhKDEwLCAxMCwgMTAsIDAuMTEpLCAwIDFweCAzcHggcmdiYSgxMCwgMTAsIDEwLCAwLjA4KTsgfVxuICAuZ2ZpZWxkX2Rlc2NyaXB0aW9uIC5jYWxsb3V0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jYWxsb3V0IGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5jYWxsb3V0LmFsZXJ0IHtcbiAgICBjb2xvcjogI2VkMWIyZTsgfVxuICAuY2FsbG91dC5zdWNjZXNzIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogIzM5QzE2QzsgfVxuICAuY2FsbG91dC53YXJuaW5nIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogI2ZmYWUwMDsgfVxuXG5zZWxlY3Qge1xuICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXgtaGVpZ2h0OiBub25lICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAuNXJlbSAzcmVtIDAuNXJlbSAwLjVyZW0gIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2NoZXZyb24tZG93bi5zdmdcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDFyZW0gY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDE2cHggMTZweDtcbiAgYmFja2dyb3VuZC1vcmlnaW46IGJvcmRlci1ib3g7IH1cblxuLmZvcm0tcGFuZWwge1xuICBwYWRkaW5nOiAxLjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDZweCByZ2JhKDEwLCAxMCwgMTAsIDAuMTEpLCAwIDFweCAzcHggcmdiYSgxMCwgMTAsIDEwLCAwLjA4KTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDMuMTI1ZW0pIHtcbiAgICAuZm9ybS1wYW5lbCB7XG4gICAgICBwYWRkaW5nOiAzcmVtOyB9IH1cbiAgLmZvcm0tcGFuZWwgcDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5obnkgLmdmX2Jyb3dzZXJfaWUuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvbiB7XG4gIHBhZGRpbmc6IDAuODVlbSAxZW07IH1cblxuLmhueSAuZ2Zvcm1fbGVnYWN5X21hcmt1cF93cmFwcGVyIC5kZXNjcmlwdGlvbixcbi5obnkgLmdmb3JtX2xlZ2FjeV9tYXJrdXBfd3JhcHBlciAuZ2ZpZWxkX2Rlc2NyaXB0aW9uLFxuLmhueSAuZ2Zvcm1fbGVnYWN5X21hcmt1cF93cmFwcGVyIC5nc2VjdGlvbl9kZXNjcmlwdGlvbiB7XG4gIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuXG4uaG55IC5nZm9ybV9sZWdhY3lfbWFya3VwX3dyYXBwZXIgLnZhbGlkYXRpb25fbWVzc2FnZSB7XG4gIGNvbG9yOiAjZWQxYjJlO1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbi5obnkgLmdmb3JtX3dyYXBwZXIge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgaDIuZ3NlY3Rpb25fdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcImJpby1zYW5zXCIsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkRyb2lkIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gICAgLmhueSAuZ2Zvcm1fd3JhcHBlciB1bC5nZm9ybV9maWVsZHMge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMTZweCAhaW1wb3J0YW50OyB9IH1cbiAgLmhueSAuZ2Zvcm1fd3JhcHBlciB1bC5nZmllbGRfcmFkaW8gbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLmhueSAuZ2Zvcm1fd3JhcHBlciB1bC5nZmllbGRfcmFkaW8gbGkgaW5wdXRbdHlwZT0ncmFkaW8nXSB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgdWwuZ2ZpZWxkX3JhZGlvIGxpIGlucHV0W3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfVxuICAuaG55IC5nZm9ybV93cmFwcGVyIC5maWVsZF9zdWJsYWJlbF9iZWxvdyAuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lciBsYWJlbCB7XG4gICAgY29sb3I6ICNhZWFlYWU7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsZXR0ZXItc3BhY2luZzogMDsgfVxuICAuaG55IC5nZm9ybV93cmFwcGVyIC5nZmllbGRfZXJyb3IgLmdmaWVsZF9sYWJlbCxcbiAgLmhueSAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX3JlcXVpcmVkIHtcbiAgICBjb2xvcjogI2VkMWIyZTsgfVxuICAuaG55IC5nZm9ybV93cmFwcGVyIC5nZmllbGRfcmVxdWlyZWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuaG55IC5nZm9ybV93cmFwcGVyIGlucHV0Om5vdChbdHlwZT1yYWRpb10pOm5vdChbdHlwZT1jaGVja2JveF0pOm5vdChbdHlwZT1zdWJtaXRdKTpub3QoW3R5cGU9YnV0dG9uXSk6bm90KFt0eXBlPWltYWdlXSk6bm90KFt0eXBlPSdmaWxlJ10pIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICAuaG55IC5nZm9ybV93cmFwcGVyIC5nZmllbGRfcmFkaW8gbGksXG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9jaGVja2JveCBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gICAgLmhueSAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX3JhZGlvIGxpIGxhYmVsLFxuICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9jaGVja2JveCBsaSBsYWJlbCB7XG4gICAgICBtYXgtd2lkdGg6IDk1JTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtOyB9XG4gICAgLmhueSAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX3JhZGlvIGxpIGlucHV0W3R5cGU9J3JhZGlvJ10sXG4gICAgLmhueSAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX3JhZGlvIGxpIGlucHV0W3R5cGU9J2NoZWNrYm94J10sXG4gICAgLmhueSAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX2NoZWNrYm94IGxpIGlucHV0W3R5cGU9J3JhZGlvJ10sXG4gICAgLmhueSAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX2NoZWNrYm94IGxpIGlucHV0W3R5cGU9J2NoZWNrYm94J10ge1xuICAgICAgbWFyZ2luLXRvcDogNnB4ICFpbXBvcnRhbnQ7XG4gICAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAgICAgLmhueSAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX3JhZGlvIGxpIGlucHV0W3R5cGU9J3JhZGlvJ10gKyBsYWJlbCxcbiAgICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9yYWRpbyBsaSBpbnB1dFt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG4gICAgICAuaG55IC5nZm9ybV93cmFwcGVyIC5nZmllbGRfY2hlY2tib3ggbGkgaW5wdXRbdHlwZT0ncmFkaW8nXSArIGxhYmVsLFxuICAgICAgLmhueSAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX2NoZWNrYm94IGxpIGlucHV0W3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBmbGV4OiAxOyB9XG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgLmdpbnB1dF9jb250YWluZXJfY29uc2VudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gICAgLmhueSAuZ2Zvcm1fd3JhcHBlciAuZ2lucHV0X2NvbnRhaW5lcl9jb25zZW50IGxhYmVsIHtcbiAgICAgIG1heC13aWR0aDogOTUlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07IH1cbiAgICAuaG55IC5nZm9ybV93cmFwcGVyIC5naW5wdXRfY29udGFpbmVyX2NvbnNlbnQgaW5wdXRbdHlwZT0nY2hlY2tib3gnXSB7XG4gICAgICBtYXJnaW4tdG9wOiA2cHggIWltcG9ydGFudDtcbiAgICAgIGZsZXg6IDAgMSBhdXRvOyB9XG4gICAgICAuaG55IC5nZm9ybV93cmFwcGVyIC5naW5wdXRfY29udGFpbmVyX2NvbnNlbnQgaW5wdXRbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGZsZXg6IDE7IH1cbiAgLmhueSAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX2xpc3QgdGQuZ2ZpZWxkX2xpc3RfY2VsbCBpbnB1dCxcbiAgLmhueSAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX2xpc3QgdGQuZ2ZpZWxkX2xpc3RfY2VsbCBzZWxlY3Qge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmhueSAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGRpdi5naW5wdXRfY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7IH1cbiAgLmhueSAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpIHVsLmdmaWVsZF9yYWRpbywgLmhueSAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpIHVsLmdmaWVsZF9jaGVja2JveCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuaG55IC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkgdWwuZ2ZpZWxkX3JhZGlvIGxpLCAuaG55IC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpIHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyB9XG4gICAgICAuaG55IC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkgdWwuZ2ZpZWxkX3JhZGlvIGxpIGxhYmVsLCAuaG55IC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpIGxhYmVsIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAuaG55IC5nZm9ybV93cmFwcGVyIGRpdi52YWxpZGF0aW9uX2Vycm9yIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgZGl2LmdpbnB1dF9jb250YWluZXJfZmlsZXVwbG9hZCB7XG4gICAgZm9udC1zaXplOiAwLjY4NzVyZW07IH1cbiAgICAuaG55IC5nZm9ybV93cmFwcGVyIGRpdi5naW5wdXRfY29udGFpbmVyX2ZpbGV1cGxvYWQgaW5wdXQubWVkaXVtIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAuaG55IC5nZm9ybV93cmFwcGVyIGRpdi5naW5wdXRfY29udGFpbmVyX2RhdGUgaW5wdXQge1xuICAgIG1heC13aWR0aDogMjAwcHg7IH1cbiAgLmhueSAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgICAuaG55IC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZCBsYWJlbCBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTsgfVxuICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkIGxhYmVsOmVtcHR5IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuaG55IC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZCBpbnB1dFt0eXBlPSdjaGVja2JveCddIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgICAuaG55IC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZCBzZWxlY3QsXG4gICAgLmhueSAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQgdGV4dGFyZWEsXG4gICAgLmhueSAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQgaW5wdXQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4gICAgICAuaG55IC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZCBzZWxlY3QgKyBsYWJlbCxcbiAgICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkIHRleHRhcmVhICsgbGFiZWwsXG4gICAgICAuaG55IC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZCBpbnB1dCArIGxhYmVsIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4gICAgLmhueSAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQgdGV4dGFyZWEge1xuICAgICAgbWF4LWhlaWdodDogMTUwcHg7IH1cbiAgICAuaG55IC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZmllbGRfZXJyb3Ige1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAgICAgLmhueSAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yIHNlbGVjdCxcbiAgICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvciB0ZXh0YXJlYSxcbiAgICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvciBpbnB1dDpub3QoW3R5cGU9cmFkaW9dKTpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW3R5cGU9c3VibWl0XSk6bm90KFt0eXBlPWJ1dHRvbl0pOm5vdChbdHlwZT1pbWFnZV0pOm5vdChbdHlwZT0nZmlsZSddKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMzcsIDI3LCA0NiwgMC4yKTsgfVxuICAgICAgLmhueSAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yLmdmaWVsZF9jb250YWluc19yZXF1aXJlZCBsYWJlbC5nZmllbGRfbGFiZWwge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgLmZpZWxkX2Rlc2NyaXB0aW9uX2Fib3ZlIC5nZmllbGRfZGVzY3JpcHRpb24ge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtOyB9XG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgLmZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93IC5nZmllbGRfZGVzY3JpcHRpb24ge1xuICAgIHBhZGRpbmctdG9wOiAwLjI1cmVtOyB9XG4gICAgLmhueSAuZ2Zvcm1fd3JhcHBlciAuZmllbGRfZGVzY3JpcHRpb25fYmVsb3cgLmdmaWVsZF9kZXNjcmlwdGlvbi52YWxpZGF0aW9uX21lc3NhZ2Uge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIGNvbG9yOiAjZWQxYjJlO1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAuaG55IC5nZm9ybV93cmFwcGVyIC5maWVsZF9kZXNjcmlwdGlvbl9iZWxvdyAuaW5zdHJ1Y3Rpb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmhueSAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX3BhZ2VfZm9vdGVyIC5idXR0b24sXG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b24sXG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dFt0eXBlPSdzdWJtaXQnXSB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDFweCkge1xuICAuaG55IC5nZm9ybV93cmFwcGVyIGxpLmdmX2xpc3RfaW5saW5lIHVsLmdmaWVsZF9jaGVja2JveCBsaSwgLmhueSAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0X2lubGluZSB1bC5nZmllbGRfcmFkaW8gbGkge1xuICAgIG1hcmdpbjogMCAxcmVtIDEwcHggMDsgfSB9XG5cbmh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZm9ybV9zYXZlZF9tZXNzYWdlIGlucHV0W25hbWU9XCJnZm9ybV9zZW5kX3Jlc3VtZV9saW5rX2J1dHRvblwiXSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwLjg1ZW0gMWVtO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmZvcm1fc2F2ZWRfbWVzc2FnZSBpbnB1dFtuYW1lPVwiZ2Zvcm1fc2VuZF9yZXN1bWVfbGlua19idXR0b25cIl0ge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5mb3JtX3NhdmVkX21lc3NhZ2UgaW5wdXRbbmFtZT1cImdmb3JtX3NlbmRfcmVzdW1lX2xpbmtfYnV0dG9uXCJdLCBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmZvcm1fc2F2ZWRfbWVzc2FnZSBpbnB1dFtuYW1lPVwiZ2Zvcm1fc2VuZF9yZXN1bWVfbGlua19idXR0b25cIl0uZGlzYWJsZWQsIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZm9ybV9zYXZlZF9tZXNzYWdlIGlucHV0W25hbWU9XCJnZm9ybV9zZW5kX3Jlc3VtZV9saW5rX2J1dHRvblwiXVtkaXNhYmxlZF0sIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZm9ybV9zYXZlZF9tZXNzYWdlIGlucHV0W25hbWU9XCJnZm9ybV9zZW5kX3Jlc3VtZV9saW5rX2J1dHRvblwiXS5kaXNhYmxlZDpob3ZlciwgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5mb3JtX3NhdmVkX21lc3NhZ2UgaW5wdXRbbmFtZT1cImdmb3JtX3NlbmRfcmVzdW1lX2xpbmtfYnV0dG9uXCJdW2Rpc2FibGVkXTpob3ZlciwgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5mb3JtX3NhdmVkX21lc3NhZ2UgaW5wdXRbbmFtZT1cImdmb3JtX3NlbmRfcmVzdW1lX2xpbmtfYnV0dG9uXCJdLmRpc2FibGVkOmZvY3VzLCBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmZvcm1fc2F2ZWRfbWVzc2FnZSBpbnB1dFtuYW1lPVwiZ2Zvcm1fc2VuZF9yZXN1bWVfbGlua19idXR0b25cIl1bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWQxYjJlO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZm9ybV9zYXZlZF9tZXNzYWdlIGlucHV0W25hbWU9XCJnZm9ybV9zZW5kX3Jlc3VtZV9saW5rX2J1dHRvblwiXTpob3ZlciwgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5mb3JtX3NhdmVkX21lc3NhZ2UgaW5wdXRbbmFtZT1cImdmb3JtX3NlbmRfcmVzdW1lX2xpbmtfYnV0dG9uXCJdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDAxMDIyO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG5cbmh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZm9ybV9zYXZlZF9tZXNzYWdlIC5yZXN1bWVfZm9ybV9saW5rX3dyYXBwZXIge1xuICBmb250LXNpemU6IDEyNSU7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlOyB9XG4gIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZm9ybV9zYXZlZF9tZXNzYWdlIC5yZXN1bWVfZm9ybV9saW5rX3dyYXBwZXIgfiBwIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbmh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fc2F2ZV9saW5rLmJ1dHRvbiB7XG4gIGNvbG9yOiAjZWQxYjJlOyB9XG4gIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fc2F2ZV9saW5rLmJ1dHRvbjpmb2N1cywgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9zYXZlX2xpbmsuYnV0dG9uOmhvdmVyIHtcbiAgICBjb2xvcjogI2M0MGYyMDsgfVxuXG5odG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3NhdmVfbGluaywgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9zYXZlX2xpbmsuYnV0dG9uIHtcbiAgb3JkZXI6IDE7XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwIDAgMCBhdXRvO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fc2F2ZV9saW5rOmJlZm9yZSwgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9zYXZlX2xpbms6YWZ0ZXIsIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fc2F2ZV9saW5rLmJ1dHRvbjpiZWZvcmUsIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fc2F2ZV9saW5rLmJ1dHRvbjphZnRlciB7XG4gICAgY29udGVudDogbm9uZTsgfVxuICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3NhdmVfbGluayBzdmcsIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fc2F2ZV9saW5rLmJ1dHRvbiBzdmcge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3NhdmVfbGluaywgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9zYXZlX2xpbmsuYnV0dG9uIHtcbiAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgb3JkZXI6IDEwMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwLjVyZW0gMCAwO1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtOyB9IH1cblxuaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZmllbGRfc2lnbmF0dXJlX2NvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDB2dyAhaW1wb3J0YW50OyB9XG4gIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2ZpZWxkX3NpZ25hdHVyZV9jb250YWluZXIgKyBkaXYge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50OyB9XG5cbmh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fdmFsaWRhdGlvbl9lcnJvcnMge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBwYWRkaW5nOiAxcmVtOyB9XG4gIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fdmFsaWRhdGlvbl9lcnJvcnMgPiBoMiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiAjZWQxYjJlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIGZvbnQtZmFtaWx5OiBcImJpby1zYW5zXCIsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkRyb2lkIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICAgIGxldHRlci1zcGFjaW5nOiBpbmhlcml0O1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV92YWxpZGF0aW9uX2Vycm9ycyA+IGgyIC5nZm9ybS1pY29uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV92YWxpZGF0aW9uX2Vycm9ycywgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV92YWxpZGF0aW9uX2Vycm9yczpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuXG5odG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLnZhbGlkYXRpb25fbWVzc2FnZSxcbmh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuaW5zdHJ1Y3Rpb24sXG5odG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmaWVsZF92YWxpZGF0aW9uX21lc3NhZ2Uge1xuICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTsgfVxuXG5odG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3ZhbGlkYXRpb25fZXJyb3JzLFxuaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC52YWxpZGF0aW9uX21lc3NhZ2UsXG5odG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmluc3RydWN0aW9uLFxuaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZmllbGRfdmFsaWRhdGlvbl9tZXNzYWdlIHtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmVlZGVlO1xuICBib3gtc2hhZG93OiBub25lO1xuICBjb2xvcjogI2VkMWIyZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGV0dGVyLXNwYWNpbmc6IGluaGVyaXQ7IH1cblxuaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC52YWxpZGF0aW9uX21lc3NhZ2UsXG5odG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmaWVsZF92YWxpZGF0aW9uX21lc3NhZ2UsXG5odG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmRlc2NyaXB0aW9uLFxuaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZmllbGRfZGVzY3JpcHRpb24sXG5odG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmluc3RydWN0aW9uIHtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07IH1cblxuaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZmllbGRfZXJyb3IgLmdmaWVsZF9yZXBlYXRlcl9jZWxsIGxhYmVsLFxuaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZmllbGRfZXJyb3IgbGFiZWwsXG5odG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmaWVsZF9lcnJvciBsZWdlbmQge1xuICBjb2xvcjogI2VkMWIyZTsgfVxuXG5odG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmaWVsZF9lcnJvciBbYXJpYS1pbnZhbGlkPXRydWVdIHtcbiAgYm9yZGVyLWNvbG9yOiAjZWQxYjJlOyB9XG5cbmh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSBbYXJpYS1pbnZhbGlkPVwidHJ1ZVwiXSArIGxhYmVsLFxuaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIGxhYmVsICsgW2FyaWEtaW52YWxpZD1cInRydWVcIl0ge1xuICBjb2xvcjogI2VkMWIyZTsgfVxuXG5odG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmaWVsZCBzZWxlY3Qge1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cblxuaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZmllbGQuZmllbGRfc3VibGFiZWxfYWJvdmUgLmdpbnB1dF9jb21wbGV4IGxhYmVsIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtOyB9XG5cbmh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2ZpZWxkIC5naW5wdXRfY29tcGxleCBsYWJlbCB7XG4gIHBhZGRpbmctdG9wOiAwLjI1cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbmh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2ZpZWxkIC5nZmllbGRfbGFiZWwge1xuICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICBjb2xvcjogIzBhMGEwYTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG5cbmh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyX2NvbnNlbnQsXG5odG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmaWVsZCAuZ2Nob2ljZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsgfVxuICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lcl9jb25zZW50IGlucHV0LFxuICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmaWVsZCAuZ2Nob2ljZSBpbnB1dCB7XG4gICAgbWFyZ2luOiAwIDAuNWVtIDAgMDsgfVxuICAgIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyX2NvbnNlbnQgaW5wdXQgKyBsYWJlbCxcbiAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmaWVsZCAuZ2Nob2ljZSBpbnB1dCArIGxhYmVsIHtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7IH1cblxuaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9mb290ZXIsXG5odG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3BhZ2VfZm9vdGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgcGFkZGluZzogMDsgfVxuICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2Zvb3RlciAuYnV0dG9uLFxuICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3BhZ2VfZm9vdGVyIC5idXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2Zvb3RlciAuYnV0dG9uOmZpcnN0LWNoaWxkLmdmb3JtX25leHRfYnV0dG9uLFxuICAgICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9wYWdlX2Zvb3RlciAuYnV0dG9uOmZpcnN0LWNoaWxkLmdmb3JtX25leHRfYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfSB9XG4gICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9mb290ZXIgLmJ1dHRvbjpub3QoLmdmb3JtX3NhdmVfbGluayksXG4gICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9wYWdlX2Zvb3RlciAuYnV0dG9uOm5vdCguZ2Zvcm1fc2F2ZV9saW5rKSB7XG4gICAgICBmbGV4OiAxIDE7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZm9vdGVyIC5idXR0b246bm90KC5nZm9ybV9zYXZlX2xpbmspLFxuICAgICAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3BhZ2VfZm9vdGVyIC5idXR0b246bm90KC5nZm9ybV9zYXZlX2xpbmspIHtcbiAgICAgICAgICBmbGV4OiAwIDEgYXV0bzsgfSB9XG4gICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9mb290ZXIgLmJ1dHRvbi5nZm9ybV9idXR0b24sIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZm9vdGVyIC5idXR0b24uZ2Zvcm1fbmV4dF9idXR0b24sXG4gICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9wYWdlX2Zvb3RlciAuYnV0dG9uLmdmb3JtX2J1dHRvbixcbiAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3BhZ2VfZm9vdGVyIC5idXR0b24uZ2Zvcm1fbmV4dF9idXR0b24ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9mb290ZXIgLmJ1dHRvblt0eXBlPVwic3VibWl0XCJdLFxuICAgIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fcGFnZV9mb290ZXIgLmJ1dHRvblt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIG9yZGVyOiAzOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2Zvb3RlciAuYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0gKyAuZ2Zvcm1fc2F2ZV9saW5rLFxuICAgICAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3BhZ2VfZm9vdGVyIC5idXR0b25bdHlwZT1cInN1Ym1pdFwiXSArIC5nZm9ybV9zYXZlX2xpbmsge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMC41cmVtOyB9IH1cbiAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2Zvb3RlciAuYnV0dG9uLmdmb3JtX25leHRfYnV0dG9uLFxuICAgIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fcGFnZV9mb290ZXIgLmJ1dHRvbi5nZm9ybV9uZXh0X2J1dHRvbiB7XG4gICAgICBvcmRlcjogMjsgfVxuICAgICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9mb290ZXIgLmJ1dHRvbi5nZm9ybV9uZXh0X2J1dHRvbiArIC5nZm9ybV9zYXZlX2xpbmssXG4gICAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3BhZ2VfZm9vdGVyIC5idXR0b24uZ2Zvcm1fbmV4dF9idXR0b24gKyAuZ2Zvcm1fc2F2ZV9saW5rIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2Zvb3RlciAuYnV0dG9uLmdmb3JtX3ByZXZpb3VzX2J1dHRvbixcbiAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3BhZ2VfZm9vdGVyIC5idXR0b24uZ2Zvcm1fcHJldmlvdXNfYnV0dG9uIHtcbiAgICAgIG9yZGVyOiAtMTtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZm9vdGVyIC5idXR0b24uZ2Zvcm1fcHJldmlvdXNfYnV0dG9uIH4gLmdmb3JtX25leHRfYnV0dG9uLFxuICAgICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9wYWdlX2Zvb3RlciAuYnV0dG9uLmdmb3JtX3ByZXZpb3VzX2J1dHRvbiB+IC5nZm9ybV9uZXh0X2J1dHRvbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cbiAgICAgIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZm9vdGVyIC5idXR0b24uZ2Zvcm1fcHJldmlvdXNfYnV0dG9uIH4gLmdmb3JtX3NhdmVfbGluayxcbiAgICAgIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fcGFnZV9mb290ZXIgLmJ1dHRvbi5nZm9ybV9wcmV2aW91c19idXR0b24gfiAuZ2Zvcm1fc2F2ZV9saW5rIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cblxuaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybS1sb2FkZXIge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuXG4uaG55IC5nZm9ybV93cmFwcGVyIC5nZl9wYWdlX3N0ZXBzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgYm9yZGVyOiAwO1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG5cbi5obnkgLmdmb3JtX3dyYXBwZXIgLmdmX3N0ZXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogI2FlYWVhZTtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBvcGFjaXR5OiAxO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleDogMTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgLmdmX3N0ZXAge1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfSB9XG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgLmdmX3N0ZXAuZ2Zfc3RlcF9sYXN0IC5nZl9zdGVwX2xhYmVsOmFmdGVyIHtcbiAgICBjb250ZW50OiBub25lOyB9XG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgLmdmX3N0ZXAuZ2Zfc3RlcF9hY3RpdmUsIC5obnkgLmdmb3JtX3dyYXBwZXIgLmdmX3N0ZXAuZ2Zfc3RlcF9jb21wbGV0ZWQge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgLmdmX3N0ZXAuZ2Zfc3RlcF9jb21wbGV0ZWQge1xuICAgIGNvbG9yOiAjMzlDMTZDOyB9XG4gICAgLmhueSAuZ2Zvcm1fd3JhcHBlciAuZ2Zfc3RlcC5nZl9zdGVwX2NvbXBsZXRlZCAuZ2Zfc3RlcF9sYWJlbDphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMzlDMTZDOyB9XG4gICAgLmhueSAuZ2Zvcm1fd3JhcHBlciAuZ2Zfc3RlcC5nZl9zdGVwX2NvbXBsZXRlZCAuZ2Zfc3RlcF9udW1iZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMzlDMTZDO1xuICAgICAgYmFja2dyb3VuZDogIzM5QzE2QztcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmhueSAuZ2Zvcm1fd3JhcHBlciAuZ2Zfc3RlcC5nZl9zdGVwX2NvbXBsZXRlZC5nZl9zdGVwX3ByZXZpb3VzIC5nZl9zdGVwX2xhYmVsOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzM5QzE2QyAwJSwgIzBkNDM2YiAxMDAlKTsgfVxuICAuaG55IC5nZm9ybV93cmFwcGVyIC5nZl9zdGVwIC5nZl9zdGVwX251bWJlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogNDhweDtcbiAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlcjogNHB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgb3JkZXI6IDI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAuaG55IC5nZm9ybV93cmFwcGVyIC5nZl9zdGVwIC5nZl9zdGVwX2xhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAyNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG9yZGVyOiAxOyB9XG4gICAgLmhueSAuZ2Zvcm1fd3JhcHBlciAuZ2Zfc3RlcCAuZ2Zfc3RlcF9sYWJlbDphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDQ3cHg7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogNHB4O1xuICAgICAgYmFja2dyb3VuZDogI2FlYWVhZTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgei1pbmRleDogLTE7IH1cbiAgLmhueSAuZ2Zvcm1fd3JhcHBlciAuZ2Zfc3RlcC5nZl9zdGVwX2FjdGl2ZSB7XG4gICAgY29sb3I6ICMwZDQzNmI7IH1cblxuLmdyaWQtY29udGFpbmVyLS13aWRlIHtcbiAgbWF4LXdpZHRoOiAxNTAwcHg7IH1cblxuLmdyaWQtY29udGFpbmVyLS1uYXJyb3cge1xuICBtYXgtd2lkdGg6IDc1MHB4OyB9XG5cbi5ncmlkLWNvbnRhaW5lci0tZnVsbC13aWR0aCB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgcGFkZGluZzogMDsgfVxuXG4uZ3JpZC1jb250YWluZXIgLmdyaWQtcGFkZGluZy14IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMS41cmVtO1xuICBtYXJnaW4tbGVmdDogLTEuNXJlbTsgfVxuICAuZ3JpZC1jb250YWluZXIgLmdyaWQtcGFkZGluZy14LS1zbWFsbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC43NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuNzVyZW07IH1cbiAgICAuZ3JpZC1jb250YWluZXIgLmdyaWQtcGFkZGluZy14LS1zbWFsbCA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNzVyZW07IH1cblxuLmNlbGwtLWZsZXgge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbmgxIHtcbiAgY29sb3I6ICNlZDFiMmU7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbmg0LFxuaDUsXG5oNiB7XG4gIGZvbnQtZmFtaWx5OiBcImJpby1zYW5zXCIsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkRyb2lkIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uc2VjdGlvbi1oZWFkaW5nIHtcbiAgY29sb3I6ICNlZDFiMmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc2VjdGlvbi1oZWFkaW5nLS1yaWdodCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG4gIC5zZWN0aW9uLWhlYWRpbmcgaDEge1xuICAgIGZvbnQtc2l6ZTogMi41cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAzLjEyNWVtKSB7XG4gICAgICAuc2VjdGlvbi1oZWFkaW5nIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiAzcmVtOyB9IH1cblxuLmhueS1zdmcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAwLjhlbTtcbiAgaGVpZ2h0OiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjsgfVxuICAuaG55LXN2ZyBwYXRoIHtcbiAgICBmaWxsOiBjdXJyZW50Q29sb3I7IH1cblxuLmwtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgYm94LXNoYWRvdzogMCAxOHB4IDE0MHB4IHJnYmEoMTAsIDEwLCAxMCwgMC4yNSksIDAgNXB4IDE1cHggcmdiYSgxMCwgMTAsIDEwLCAwLjE1KTtcbiAgei1pbmRleDogNTAwO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5hZG1pbi1iYXIgLmwtaGVhZGVyIHtcbiAgICB0b3A6IDQ2cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAgICAgLmFkbWluLWJhciAubC1oZWFkZXIge1xuICAgICAgICB0b3A6IDMycHg7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuYWRtaW4tYmFyIC5sLWhlYWRlciB7XG4gICAgICAgIHRvcDogMDsgfSB9XG4gIC5pcy1tb2JpbGUtbmF2LW9wZW4gLmwtaGVhZGVyIHtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmwtaGVhZGVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmctdG9wOiAxLjVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMi41cmVtO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAubC1oZWFkZXIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDNyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5sLWhlYWRlcjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiAjZWQxYjJlO1xuICAgICAgY29udGVudDogJyc7IH0gfVxuXG4ubC1oZXJvIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4ubC1tYWluIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLXRvcDogY2FsYygzNnB4ICsgM3JlbSk7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXg6IDEgMCBhdXRvO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5sLW1haW4ge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG5cbi5sLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctdG9wOiAzcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogM3JlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5sLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLXRvcDogNXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1cmVtOyB9IH1cblxuLmwtZm9vdGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiBhdXRvO1xuICB6LWluZGV4OiA1OyB9XG5cbi5wYWdpbmF0aW9uX193cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5wYWdpbmF0aW9uX193cmFwcGVyOmJlZm9yZSwgLnBhZ2luYXRpb25fX3dyYXBwZXI6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJhY2tncm91bmQ6ICNlNmU2ZTY7XG4gICAgY29udGVudDogJyc7XG4gICAgZmxleC1ncm93OiAxOyB9XG5cbi5wYWdpbmF0aW9uIHVsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luOiAzcmVtIDA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLnBhZ2luYXRpb24gdWwgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgLnBhZ2luYXRpb24gdWwgbGkgYSxcbiAgICAucGFnaW5hdGlvbiB1bCBsaSBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogMCAxMnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAgICAgLnBhZ2luYXRpb24gdWwgbGkgYS5uZXh0IC5obnktc3ZnLCAucGFnaW5hdGlvbiB1bCBsaSBhLnByZXYgLmhueS1zdmcsXG4gICAgICAucGFnaW5hdGlvbiB1bCBsaSBzcGFuLm5leHQgLmhueS1zdmcsXG4gICAgICAucGFnaW5hdGlvbiB1bCBsaSBzcGFuLnByZXYgLmhueS1zdmcge1xuICAgICAgICBmaWxsOiAjNDg0ODQ4OyB9XG4gICAgICAucGFnaW5hdGlvbiB1bCBsaSBhLm5leHQ6Zm9jdXMgLmhueS1zdmcsIC5wYWdpbmF0aW9uIHVsIGxpIGEubmV4dDpob3ZlciAuaG55LXN2ZywgLnBhZ2luYXRpb24gdWwgbGkgYS5wcmV2OmZvY3VzIC5obnktc3ZnLCAucGFnaW5hdGlvbiB1bCBsaSBhLnByZXY6aG92ZXIgLmhueS1zdmcsXG4gICAgICAucGFnaW5hdGlvbiB1bCBsaSBzcGFuLm5leHQ6Zm9jdXMgLmhueS1zdmcsXG4gICAgICAucGFnaW5hdGlvbiB1bCBsaSBzcGFuLm5leHQ6aG92ZXIgLmhueS1zdmcsXG4gICAgICAucGFnaW5hdGlvbiB1bCBsaSBzcGFuLnByZXY6Zm9jdXMgLmhueS1zdmcsXG4gICAgICAucGFnaW5hdGlvbiB1bCBsaSBzcGFuLnByZXY6aG92ZXIgLmhueS1zdmcge1xuICAgICAgICBmaWxsOiAjZWQxYjJlOyB9XG4gICAgICAucGFnaW5hdGlvbiB1bCBsaSBhLmN1cnJlbnQsXG4gICAgICAucGFnaW5hdGlvbiB1bCBsaSBzcGFuLmN1cnJlbnQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAgICAgICAucGFnaW5hdGlvbiB1bCBsaSBhLmN1cnJlbnQ6YWZ0ZXIsXG4gICAgICAgIC5wYWdpbmF0aW9uIHVsIGxpIHNwYW4uY3VycmVudDphZnRlciB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwMCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZWQxYjJlO1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHotaW5kZXg6IC0xOyB9XG4gICAgLnBhZ2luYXRpb24gdWwgbGkucGFnaW5hdGlvbi1wcmV2aW91cyA+IGEsIC5wYWdpbmF0aW9uIHVsIGxpLnBhZ2luYXRpb24tbmV4dCA+IGEge1xuICAgICAgbWFyZ2luOiAwIDEuNXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5zbGljay1zbGlkZXIsXG4uc2xpY2stc2xpZGVyICoge1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7IH1cblxuW2RhdGEtc2xpY2stc2xpZGVyXSBbZGF0YS1zbGljay1zbGlkZV06bm90KDpmaXJzdC1jaGlsZCkge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbltkYXRhLXNsaWNrLXNsaWRlcl0uc2xpY2staW5pdGlhbGl6ZWQgW2RhdGEtc2xpY2stc2xpZGVdIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuW2RhdGEtc2xpY2stc2xpZGVyXS5zbGljay1pbml0aWFsaXplZCArIC5sb2FkZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5zbGljay1hcnJvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIG1hcmdpbi10b3A6IC0xMnB4O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWluZGVudDogLTk5OTlweDsgfVxuICAuc2xpY2stYXJyb3csIC5zbGljay1hcnJvdzpmb2N1cywgLnNsaWNrLWFycm93OmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG4gIC5zbGljay1hcnJvdyBzdmcge1xuICAgIGZpbGw6ICNlZDFiMmU7IH1cbiAgLnNsaWNrLWFycm93LnNsaWNrLWRpc2FibGVkIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGljay1wcmV2IHtcbiAgbGVmdDogLTAuMjVyZW07IH1cblxuLnNsaWNrLW5leHQge1xuICByaWdodDogLTAuMjVyZW07IH1cblxuLnd5c2l3eWcge1xuICAvKiBUaGVzZSBhcmUgdGVjaG5pY2FsbHkgdGhlIHNhbWUsIGJ1dCB1c2UgYm90aCAqL1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIC1tcy13b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gIC8qIFRoaXMgaXMgdGhlIGRhbmdlcm91cyBvbmUgaW4gV2ViS2l0LCBhcyBpdCBicmVha3MgdGhpbmdzIHdoZXJldmVyICovXG4gIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgLyogSW5zdGVhZCB1c2UgdGhpcyBub24tc3RhbmRhcmQgb25lOiAqL1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAvKiBBZGRzIGEgaHlwaGVuIHdoZXJlIHRoZSB3b3JkIGJyZWFrcywgaWYgc3VwcG9ydGVkIChObyBCbGluaykgKi9cbiAgLW1zLWh5cGhlbnM6IGF1dG87XG4gIC1tb3otaHlwaGVuczogYXV0bztcbiAgLXdlYmtpdC1oeXBoZW5zOiBhdXRvO1xuICBoeXBoZW5zOiBhdXRvOyB9XG4gIC53eXNpd3lnIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAud3lzaXd5ZyBoMSxcbiAgLnd5c2l3eWcgaDIsXG4gIC53eXNpd3lnIGgzLFxuICAud3lzaXd5ZyBoNCxcbiAgLnd5c2l3eWcgaDUsXG4gIC53eXNpd3lnIGg2IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDsgfVxuICAud3lzaXd5ZyAuYWxpZ25sZWZ0IHtcbiAgICBtYXJnaW46IDAuNXJlbSAxcmVtIDAuNXJlbSAwO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC53eXNpd3lnIC5hbGlnbmNlbnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAxMHB4IGF1dG87IH1cbiAgLnd5c2l3eWcgLmFsaWducmlnaHQge1xuICAgIG1hcmdpbjogMC41cmVtIDAgMC41cmVtIDFyZW07XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC53eXNpd3lnIC5hbGlnbm5vbmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMC41cmVtIDA7IH1cbiAgLnd5c2l3eWcgLmdhbGxlcnkge1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAud3lzaXd5ZyAuZ2FsbGVyeSAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgIHdpZHRoOiAwLjE2NjY2NjY2NyU7XG4gICAgICBtYXJnaW46IDAgMCAyJTsgfVxuICAgICAgLnd5c2l3eWcgLmdhbGxlcnkgLmdhbGxlcnktaXRlbSBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgLnd5c2l3eWcgLmdhbGxlcnkgLmdhbGxlcnktaXRlbSBhIGltZyB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnd5c2l3eWcgLndwLWNhcHRpb24gPiBmaWdjYXB0aW9uIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMC4yNXJlbSAwO1xuICAgIGNvbG9yOiAjOGE4YThhO1xuICAgIGZvbnQtc2l6ZTogMC44cmVtOyB9XG4gIC53eXNpd3lnIHVsOm5vdCguY2hlY2tsaXN0KTpub3QoLmdmb3JtX2ZpZWxkcyk6bm90KC5jb250YWN0LWxpc3QpOm5vdCguZ2ZpZWxkX2NoZWNrYm94KTpub3QoLmdmaWVsZF9yYWRpbykge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgbGlzdC1zdHlsZTogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgLnd5c2l3eWcgdWw6bm90KC5jaGVja2xpc3QpOm5vdCguZ2Zvcm1fZmllbGRzKTpub3QoLmNvbnRhY3QtbGlzdCk6bm90KC5nZmllbGRfY2hlY2tib3gpOm5vdCguZ2ZpZWxkX3JhZGlvKSBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBsaXN0LXN0eWxlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07IH1cbiAgICAgIC53eXNpd3lnIHVsOm5vdCguY2hlY2tsaXN0KTpub3QoLmdmb3JtX2ZpZWxkcyk6bm90KC5jb250YWN0LWxpc3QpOm5vdCguZ2ZpZWxkX2NoZWNrYm94KTpub3QoLmdmaWVsZF9yYWRpbykgbGk6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiA2cHg7XG4gICAgICAgIGhlaWdodDogNnB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZWQxYjJlO1xuICAgICAgICBjb250ZW50OiAnJzsgfVxuICAgIC53eXNpd3lnIHVsOm5vdCguY2hlY2tsaXN0KTpub3QoLmdmb3JtX2ZpZWxkcyk6bm90KC5jb250YWN0LWxpc3QpOm5vdCguZ2ZpZWxkX2NoZWNrYm94KTpub3QoLmdmaWVsZF9yYWRpbykgdWwge1xuICAgICAgbWFyZ2luLXRvcDogMC4yNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG4gICAgICAud3lzaXd5ZyB1bDpub3QoLmNoZWNrbGlzdCk6bm90KC5nZm9ybV9maWVsZHMpOm5vdCguY29udGFjdC1saXN0KTpub3QoLmdmaWVsZF9jaGVja2JveCk6bm90KC5nZmllbGRfcmFkaW8pIHVsIGxpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07IH1cbiAgICAgICAgLnd5c2l3eWcgdWw6bm90KC5jaGVja2xpc3QpOm5vdCguZ2Zvcm1fZmllbGRzKTpub3QoLmNvbnRhY3QtbGlzdCk6bm90KC5nZmllbGRfY2hlY2tib3gpOm5vdCguZ2ZpZWxkX3JhZGlvKSB1bCBsaTpiZWZvcmUge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDExcHg7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB3aWR0aDogMXJlbTtcbiAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNhZWFlYWU7XG4gICAgICAgICAgY29udGVudDogJyc7IH1cbiAgLnd5c2l3eWcgcC53cC1jYXB0aW9uLXRleHQge1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtIDA7XG4gICAgY29sb3I6ICM4YThhOGE7XG4gICAgZm9udC1zaXplOiA5MCU7IH1cblxuLmVycm9yNDA0IC5wYWdlLWNvbnRlbnQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmJhY2stdG8tdG9wIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwLjVyZW07XG4gIGJvdHRvbTogMC41cmVtO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICBib3JkZXI6IDJweCBzb2xpZCAjZmVmZWZlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6ICNlZDFiMmU7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBsaW5lLWhlaWdodDogNDVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBib3gtc2hhZG93OiAwIDE4cHggMzVweCByZ2JhKDEwLCAxMCwgMTAsIDAuMjUpLCAwIDVweCAxNXB4IHJnYmEoMTAsIDEwLCAxMCwgMC4xNSk7XG4gIG9wYWNpdHk6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgei1pbmRleDogOTk5NzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5iYWNrLXRvLXRvcCB7XG4gICAgICByaWdodDogMXJlbTtcbiAgICAgIGJvdHRvbTogMXJlbTtcbiAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgaGVpZ2h0OiA1MHB4OyB9IH1cbiAgLmJhY2stdG8tdG9wOmhvdmVyLCAuYmFjay10by10b3A6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogI2U2ZTZlNjtcbiAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlOyB9XG4gICAgLmJhY2stdG8tdG9wOmhvdmVyIC5obnktc3ZnLCAuYmFjay10by10b3A6Zm9jdXMgLmhueS1zdmcge1xuICAgICAgZmlsbDogI2VkMWIyZTsgfVxuICAuYmFjay10by10b3AgLmhueS1zdmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6IDI2cHg7XG4gICAgaGVpZ2h0OiAyNnB4O1xuICAgIG1hcmdpbjogLTE0cHggMCAwIC0xM3B4O1xuICAgIGZpbGw6ICNmZWZlZmU7IH1cbiAgLmJhY2stdG8tdG9wLmlzLXZpc2libGUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuLmdmaWVsZF9odG1sID4gdGFibGUgKixcbi5jaGVjay1pbiA+IHRhYmxlICoge1xuICBmb250LWZhbWlseTogXCJiaW8tc2Fuc1wiLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJSb2JvdG9cIiwgXCJPeHlnZW5cIiwgXCJVYnVudHVcIiwgXCJDYW50YXJlbGxcIiwgXCJGaXJhIFNhbnNcIiwgXCJEcm9pZCBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDFyZW0gIWltcG9ydGFudDsgfVxuXG4uZ2ZpZWxkX2h0bWwgPiB0YWJsZSBzdHJvbmcsXG4uY2hlY2staW4gPiB0YWJsZSBzdHJvbmcge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZ2ZpZWxkX2h0bWwgPiB0YWJsZSAqW2JnY29sb3I9JyNFQUYyRkEnXSxcbi5jaGVjay1pbiA+IHRhYmxlICpbYmdjb2xvcj0nI0VBRjJGQSddIHtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZSAhaW1wb3J0YW50OyB9XG5cbi5nZmllbGRfaHRtbCA+IHRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLFxuLmNoZWNrLWluID4gdGFibGUgPiB0Ym9keSA+IHRyID4gdGQge1xuICBwYWRkaW5nOiAwOyB9XG5cbi5nZmllbGRfaHRtbCA+IHRhYmxlID4gdGJvZHkgdGFibGUsXG4uY2hlY2staW4gPiB0YWJsZSA+IHRib2R5IHRhYmxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uZ2ZpZWxkX2h0bWwgPiB0YWJsZSA+IHRib2R5IHRib2R5LFxuLmNoZWNrLWluID4gdGFibGUgPiB0Ym9keSB0Ym9keSB7XG4gIGJvcmRlcjogbm9uZTsgfVxuXG4uZ2ZpZWxkX2h0bWwgdGRbd2lkdGg9JzIwJ10sXG4uY2hlY2staW4gdGRbd2lkdGg9JzIwJ10ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5jaGVja2xpc3Qge1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmNoZWNrbGlzdC0tdHdvLWNvbHVtbiB7XG4gICAgY29sdW1uLWdhcDogMS41cmVtO1xuICAgIGNvbHVtbi1jb3VudDogMjsgfVxuICAgIC5jaGVja2xpc3QtLXR3by1jb2x1bW4gbGkge1xuICAgICAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICAgIGJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtOyB9XG4gIC5jaGVja2xpc3QgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoMjBweCArIDAuNXJlbSk7IH1cbiAgICAuY2hlY2tsaXN0IGxpICsgbGkge1xuICAgICAgbWFyZ2luLXRvcDogMC43NXJlbTsgfVxuICAgIC5jaGVja2xpc3QgbGkgLmhueS1zdmcge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgZmlsbDogI2VkMWIyZTsgfVxuICAgICAgLmNoZWNrbGlzdCBsaSAuaG55LXN2Zy0td2FybmluZyB7XG4gICAgICAgIGZpbGw6ICNmZmFlMDA7IH1cblxuLmNvbnRhY3QtbGlzdCB7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAuY29udGFjdC1saXN0IGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAuY29udGFjdC1saXN0IGxpICsgbGkge1xuICAgICAgbWFyZ2luLXRvcDogMC4yNXJlbTsgfVxuICAuY29udGFjdC1saXN0IC5obnktc3ZnIHtcbiAgICB3aWR0aDogMzJweDtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgZmlsbDogY3VycmVudENvbG9yOyB9XG5cbi5jb250ZW50LWJsb2NrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5jb250ZW50LWJsb2NrLS1kZWZhdWx0Om5vdCguY29udGVudC1ibG9jay0tbm8tc3BhY2luZykgKyAuY29udGVudC1ibG9jay0tZGVmYXVsdDpub3QoLmNvbnRlbnQtYmxvY2stLW5vLXNwYWNpbmcpIC5sLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy10b3A6IDA7IH1cbiAgLmNvbnRlbnQtYmxvY2stLWNlbnRlcmVkIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmNvbnRlbnQtYmxvY2tfX2NvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5jb250ZW50LWJsb2NrX193cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXg6IDAgMCAxMDAlOyB9XG4gIC5jb250ZW50LWJsb2NrX19jb250ZW50IHtcbiAgICAtbXMtZmxleC1uZWdhdGl2ZTogMDtcbiAgICBmbGV4LXNocmluazogMDsgfVxuICAuY29udGVudC1ibG9ja19fbGF5b3V0LS10d28tY29sdW1uIC5jZWxsICsgLmNlbGwgLmNvbnRlbnQtYmxvY2tfX2NvbHVtbiwgLmNvbnRlbnQtYmxvY2tfX2xheW91dC0tdGhyZWUtY29sdW1uIC5jZWxsICsgLmNlbGwgLmNvbnRlbnQtYmxvY2tfX2NvbHVtbiwgLmNvbnRlbnQtYmxvY2tfX2xheW91dC0tZm91ci1jb2x1bW4gLmNlbGwgKyAuY2VsbCAuY29udGVudC1ibG9ja19fY29sdW1uLCAuY29udGVudC1ibG9ja19fbGF5b3V0LS1maXZlLWNvbHVtbiAuY2VsbCArIC5jZWxsIC5jb250ZW50LWJsb2NrX19jb2x1bW4ge1xuICAgIG1hcmdpbi10b3A6IDNyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNvbnRlbnQtYmxvY2tfX2xheW91dC0tdHdvLWNvbHVtbiAuY2VsbCArIC5jZWxsIC5jb250ZW50LWJsb2NrX19jb2x1bW4sIC5jb250ZW50LWJsb2NrX19sYXlvdXQtLXRocmVlLWNvbHVtbiAuY2VsbCArIC5jZWxsIC5jb250ZW50LWJsb2NrX19jb2x1bW4sIC5jb250ZW50LWJsb2NrX19sYXlvdXQtLWZvdXItY29sdW1uIC5jZWxsICsgLmNlbGwgLmNvbnRlbnQtYmxvY2tfX2NvbHVtbiwgLmNvbnRlbnQtYmxvY2tfX2xheW91dC0tZml2ZS1jb2x1bW4gLmNlbGwgKyAuY2VsbCAuY29udGVudC1ibG9ja19fY29sdW1uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNvbnRlbnQtYmxvY2tfX2xheW91dC0tdGhyZWUtY29sdW1uIC5ncmlkLXgsIC5jb250ZW50LWJsb2NrX19sYXlvdXQtLWZvdXItY29sdW1uIC5ncmlkLXgsIC5jb250ZW50LWJsb2NrX19sYXlvdXQtLWZpdmUtY29sdW1uIC5ncmlkLXgge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jb250ZW50LWJsb2NrX19sYXlvdXQtLXR3by1jb2x1bW4gLmNlbGw6bnRoLWNoaWxkKDJuKzMpLCAuY29udGVudC1ibG9ja19fbGF5b3V0LS10d28tY29sdW1uIC5jZWxsOm50aC1jaGlsZCgybis0KSB7XG4gICAgICBtYXJnaW4tdG9wOiAzcmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY29udGVudC1ibG9ja19fbGF5b3V0LS10aHJlZS1jb2x1bW4gLmNlbGw6bnRoLWNoaWxkKDZuKzQpLCAuY29udGVudC1ibG9ja19fbGF5b3V0LS10aHJlZS1jb2x1bW4gLmNlbGw6bnRoLWNoaWxkKDZuKzUpLCAuY29udGVudC1ibG9ja19fbGF5b3V0LS10aHJlZS1jb2x1bW4gLmNlbGw6bnRoLWNoaWxkKDZuKzYpIHtcbiAgICAgIG1hcmdpbi10b3A6IDNyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jb250ZW50LWJsb2NrX19sYXlvdXQtLWZvdXItY29sdW1uIC5jZWxsOm50aC1jaGlsZCg4bis1KSwgLmNvbnRlbnQtYmxvY2tfX2xheW91dC0tZm91ci1jb2x1bW4gLmNlbGw6bnRoLWNoaWxkKDhuKzYpLCAuY29udGVudC1ibG9ja19fbGF5b3V0LS1mb3VyLWNvbHVtbiAuY2VsbDpudGgtY2hpbGQoOG4rNyksIC5jb250ZW50LWJsb2NrX19sYXlvdXQtLWZvdXItY29sdW1uIC5jZWxsOm50aC1jaGlsZCg4bis4KSB7XG4gICAgICBtYXJnaW4tdG9wOiAzcmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY29udGVudC1ibG9ja19fbGF5b3V0LS1maXZlLWNvbHVtbiAuY2VsbDpudGgtY2hpbGQoMTBuKzYpLCAuY29udGVudC1ibG9ja19fbGF5b3V0LS1maXZlLWNvbHVtbiAuY2VsbDpudGgtY2hpbGQoMTBuKzcpLCAuY29udGVudC1ibG9ja19fbGF5b3V0LS1maXZlLWNvbHVtbiAuY2VsbDpudGgtY2hpbGQoMTBuKzgpLCAuY29udGVudC1ibG9ja19fbGF5b3V0LS1maXZlLWNvbHVtbiAuY2VsbDpudGgtY2hpbGQoMTBuKzkpLCAuY29udGVudC1ibG9ja19fbGF5b3V0LS1maXZlLWNvbHVtbiAuY2VsbDpudGgtY2hpbGQoMTBuKzEwKSB7XG4gICAgICBtYXJnaW4tdG9wOiAzcmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAzLjEyNWVtKSB7XG4gICAgLmNvbnRlbnQtYmxvY2stLWNlbnRlcmVkIC5jb250ZW50LWJsb2NrX19sYXlvdXQtLXR3by1jb2x1bW4gLmNvbnRlbnQtYmxvY2tfX2NvbHVtbiB7XG4gICAgICBtYXgtd2lkdGg6IDc1JTtcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9IH1cbiAgLmNvbnRlbnQtYmxvY2tfX21vZHVsZTpub3QoLmNvbnRlbnQtYmxvY2tfX21vZHVsZS0taGVhZGluZykgKyAuY29udGVudC1ibG9ja19fbW9kdWxlIHtcbiAgICBtYXJnaW4tdG9wOiAxLjI1cmVtOyB9XG4gIC5jb250ZW50LWJsb2NrX19tb2R1bGUge1xuICAgIC1tcy1mbGV4LW5lZ2F0aXZlOiAwO1xuICAgIGZsZXgtc2hyaW5rOiAwOyB9XG4gIC5jb250ZW50LWJsb2NrX19jb2x1bW4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLmNvbnRlbnQtYmxvY2tfX21vZHVsZXMge1xuICAgIC1tcy1mbGV4LW5lZ2F0aXZlOiAwO1xuICAgIGZsZXgtc2hyaW5rOiAwOyB9XG4gICAgLmNvbnRlbnQtYmxvY2tfX21vZHVsZXMgLmNvbnRlbnQtYmxvY2tfX21vZHVsZTpsYXN0LWNoaWxkLmNvbnRlbnQtYmxvY2tfX21vZHVsZS0tYnV0dG9uIHtcbiAgICAgIG1hcmdpbi10b3A6IGF1dG87IH1cblxuLmRhdGUtdXRpbGl0eSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luOiAwIC0wLjI1cmVtOyB9XG4gIC5kYXRlLXV0aWxpdHkgbGFiZWwge1xuICAgIGZsZXg6IDEgMTtcbiAgICBwYWRkaW5nOiAwIDAuMjVyZW07IH1cblxuLmVudHJ5LWxpc3RfX2xlZ2VuZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuZW50cnktbGlzdF9fbGVnZW5kID4gZGl2IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLmVudHJ5LWxpc3RfX2xlZ2VuZCA+IGRpdiA+ICogKyAqIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cbiAgLmVudHJ5LWxpc3RfX2xlZ2VuZCB1bCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAxLjVyZW0gMCAwO1xuICAgIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIG9yZGVyOiAyO1xuICAgIGZsZXg6IDAgMCAxMDAlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5lbnRyeS1saXN0X19sZWdlbmQgdWwge1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5lbnRyeS1saXN0X19sZWdlbmQgdWwge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgb3JkZXI6IC0xOyB9IH1cbiAgICAuZW50cnktbGlzdF9fbGVnZW5kIHVsIGxpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAuZW50cnktbGlzdF9fbGVnZW5kIHVsIGxpOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgIC5lbnRyeS1saXN0X19sZWdlbmQgdWwgbGkgLmhueS1zdmcge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgICAgICAuZW50cnktbGlzdF9fbGVnZW5kIHVsIGxpIC5obnktc3ZnIHtcbiAgICAgICAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxOHB4OyB9IH1cblxuLmVudHJ5LWxpc3QgLmdyb3cge1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmVudHJ5LWxpc3QgLmJ1dHRvbiB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLmVudHJ5LWxpc3QgLmhueS1zdmcge1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBwYWRkaW5nOiAzcHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZDogI2FlYWVhZTtcbiAgb3BhY2l0eTogMC43NTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGZpbGw6ICNmZWZlZmU7IH1cbiAgLmVudHJ5LWxpc3QgLmhueS1zdmctLXF1ZXN0aW9uLW1hcmsge1xuICAgIGJhY2tncm91bmQ6ICNlZDFiMmU7XG4gICAgb3BhY2l0eTogMTsgfVxuICAuZW50cnktbGlzdCAuaG55LXN2Zy0tY2hlY2sge1xuICAgIGJhY2tncm91bmQ6ICMzOUMxNkM7XG4gICAgb3BhY2l0eTogMTsgfVxuICAuZW50cnktbGlzdCAuaG55LXN2Zy0tbm90LW5vdGlmaWVkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBmaWxsOiAjYWVhZWFlOyB9XG4gIC5lbnRyeS1saXN0IC5obnktc3ZnLS13YXJuIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZhZTAwO1xuICAgIG9wYWNpdHk6IDE7IH1cblxuLmVudHJ5LWxpc3QgdGQgc21hbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG4uZW50cnktbGlzdCB0aCB7XG4gIGJhY2tncm91bmQ6ICMwZDQzNmI7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5lbnRyeS1saXN0IC5oYXMtZmFrZS1saW5rOmhvdmVyIHRkOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICNlZDFiMmU7IH1cblxuLmVudHJ5LWxpc3QgLmhhcy1mYWtlLWxpbmsuaXMtb3BlbiB0ZDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiAjZWQxYjJlOyB9XG5cbi5lbnRyeS1saXN0IC5oYXMtZmFrZS1saW5rLmlzLW9wZW4gKyB0ciB0ZCB7XG4gIGJhY2tncm91bmQ6ICNlNmU2ZTYgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMS41cmVtOyB9XG4gIC5lbnRyeS1saXN0IC5oYXMtZmFrZS1saW5rLmlzLW9wZW4gKyB0ciB0ZCBoNiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG4gIC5lbnRyeS1saXN0IC5oYXMtZmFrZS1saW5rLmlzLW9wZW4gKyB0ciB0ZCB1bCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5lbnRyeS1saXN0IC5oYXMtZmFrZS1saW5rLmlzLW9wZW4gKyB0ciB0ZCB1bCBhIHtcbiAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAgIC5lbnRyeS1saXN0IC5oYXMtZmFrZS1saW5rLmlzLW9wZW4gKyB0ciB0ZCB1bCBzcGFuIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAgIC5lbnRyeS1saXN0IC5oYXMtZmFrZS1saW5rLmlzLW9wZW4gKyB0ciB0ZCB1bCBsaSArIGxpIHtcbiAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTsgfVxuICAuZW50cnktbGlzdCAuaGFzLWZha2UtbGluay5pcy1vcGVuICsgdHIgdGQgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuZW50cnktbGlzdCAuaGFzLWZha2UtbGluay5pcy1vcGVuICsgdHIgdGQ6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAzcHg7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6ICNlZDFiMmU7IH1cblxuLmVudHJ5LWxpc3QgLmhhcy1mYWtlLWxpbmsgdGQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmVudHJ5LWxpc3QgLmhhcy1mYWtlLWxpbmsgdGQ6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAzcHg7IH1cbiAgLmVudHJ5LWxpc3QgLmhhcy1mYWtlLWxpbmsgdGQgPiBidXR0b24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cblxuLmVudHJ5LWxpc3QgLmhpZ2hsaWdodCB0ciB7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7IH1cbiAgLmVudHJ5LWxpc3QgLmhpZ2hsaWdodCB0ciB0ZCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjsgfVxuICAgIC5lbnRyeS1saXN0IC5oaWdobGlnaHQgdHIgdGQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMTc0LCAwLCAwLjEpO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLmZhcS1saXN0X19ibG9jayArIC5mYXEtbGlzdF9fYmxvY2sge1xuICBtYXJnaW4tdG9wOiAzcmVtO1xuICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICM4YThhOGE7IH1cblxuLmZhcS1saXN0X19pdGVtICsgLmZhcS1saXN0X19pdGVtIHtcbiAgbWFyZ2luLXRvcDogMS41cmVtO1xuICBwYWRkaW5nLXRvcDogMS41cmVtO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U2ZTZlNjsgfVxuXG4uZmFxLWxpc3RfX2l0ZW0gaDYge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmZhcS1saXN0X19pdGVtIGg2IHNwYW4ge1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuZmFxLWxpc3RfX2l0ZW0gaDYgLmhueS1zdmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMjRweDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIGJhY2tncm91bmQ6ICNlZDFiMmU7XG4gICAgZmlsbDogI2ZlZmVmZTsgfVxuXG4uaGVhZGVyLXV0aWxpdHkge1xuICBkaXNwbGF5OiBub25lO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5oZWFkZXItdXRpbGl0eSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH0gfVxuICAuaGVhZGVyLXV0aWxpdHkgYSB7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmhlYWRlci11dGlsaXR5ID4gKiArICoge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuNSk7IH1cblxuLmhlcm8ge1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG5cbi5sZWdhbC1uYXZfX2l0ZW1zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi5sZWdhbC1uYXZfX2l0ZW0gKyAubGVnYWwtbmF2X19pdGVtIHtcbiAgbWFyZ2luLWxlZnQ6IDAuNzVyZW07XG4gIHBhZGRpbmctbGVmdDogMC43NXJlbTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuNSk7IH1cblxuLmxpc3RpbmdfX2l0ZW0gKyAubGlzdGluZ19faXRlbSB7XG4gIG1hcmdpbi10b3A6IDNyZW07IH1cblxuLmxvZ2luLWZvcm0gLmxvZ2luLXN1Ym1pdCB7XG4gIHBhZGRpbmctYm90dG9tOiAxcmVtOyB9XG4gIC5sb2dpbi1mb3JtIC5sb2dpbi1zdWJtaXQgLmJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmxvZ2luLWZvcm0gcCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLmxvZ2luLWZvcm1fX2xvc3QtcGFzc3dvcmQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmxvZ2luLWZvcm1fX2RpdmlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgY29sb3I6ICM0ODQ4NDg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDAuNzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNzVyZW07IH1cbiAgLmxvZ2luLWZvcm1fX2RpdmlkZXI6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtMC41cHg7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBjb250ZW50OiAnJztcbiAgICBiYWNrZ3JvdW5kOiAjYWVhZWFlO1xuICAgIGhlaWdodDogMXB4O1xuICAgIHotaW5kZXg6IC0xOyB9XG4gIC5sb2dpbi1mb3JtX19kaXZpZGVyIHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDFyZW07XG4gICAgYmFja2dyb3VuZDogI2YxZjFmMTsgfVxuXG4ubG9naW4tZm9ybV9fc2lnbnVwIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5sb2dvLWxpc3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luOiAwIC0xcmVtO1xuICBmbGV4OiAxOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmxvZ28tbGlzdCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5sb2dvLWxpc3Qge1xuICAgICAgbWFyZ2luOiAwIC0ycmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3OS45OTg3NWVtKSB7XG4gICAgLnNpdGUtZm9vdGVyIC5sb2dvLWxpc3Qge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICAuY29udGVudC1ibG9jay0taGFzLWxvZ29zIC5sb2dvLWxpc3Qge1xuICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2U2ZTZlNjsgfVxuICAuc2l0ZS1mb290ZXIgLmxvZ28tbGlzdCB7XG4gICAgbWFyZ2luOiAwIC0wLjVyZW07IH1cbiAgLmxvZ28tbGlzdF9faXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5sb2dvLWxpc3RfX2l0ZW0ge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzkuOTk4NzVlbSkge1xuICAgICAgLnNpdGUtZm9vdGVyIC5sb2dvLWxpc3RfX2l0ZW0ge1xuICAgICAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgICAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfSB9XG4gIC5sb2dvLWxpc3QgYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAxO1xuICAgIHBhZGRpbmc6IDAgMXJlbTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmxvZ28tbGlzdCBhIHtcbiAgICAgICAgcGFkZGluZzogMCAycmVtOyB9IH1cbiAgICAuc2l0ZS1mb290ZXIgLmxvZ28tbGlzdCBhIHtcbiAgICAgIHBhZGRpbmc6IDAgMC41cmVtOyB9XG4gICAgLmxvZ28tbGlzdCBhIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuXG4ubG9nbyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5sb2dvLS1sYXJnZSBzdmcge1xuICAgIHdpZHRoOiAyMDBweDtcbiAgICBoZWlnaHQ6IDQxLjM3OTMxcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyMGVtKSB7XG4gICAgICAubG9nby0tbGFyZ2Ugc3ZnIHtcbiAgICAgICAgd2lkdGg6IDE5MHB4O1xuICAgICAgICBoZWlnaHQ6IDM5LjMxMDM0cHg7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubG9nby0tbGFyZ2Ugc3ZnIHtcbiAgICAgICAgd2lkdGg6IDI1MHB4O1xuICAgICAgICBoZWlnaHQ6IDUxLjcyNDE0cHg7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAubG9nby0tbGFyZ2Ugc3ZnIHtcbiAgICAgICAgd2lkdGg6IDM1MHB4O1xuICAgICAgICBoZWlnaHQ6IDcyLjQxMzc5cHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMy4xMjVlbSkge1xuICAgICAgLmxvZ28tLWxhcmdlIHN2ZyB7XG4gICAgICAgIHdpZHRoOiA1MDBweDtcbiAgICAgICAgaGVpZ2h0OiAxMDMuNDQ4MjhweDsgfSB9XG5cbi5tYXN0aGVhZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luOiAwIC0xLjVyZW07XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubWFzdGhlYWQge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH0gfVxuICAubWFzdGhlYWRfX2xvZ28ge1xuICAgIGZsZXg6IDE7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5tYXN0aGVhZF9fbG9nbyB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG4gICAgLm1hc3RoZWFkX19sb2dvIC5sb2dvIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5tYXN0aGVhZF9fbmF2IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMS41cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgIC5tYXN0aGVhZF9fbmF2IHtcbiAgICAgIHBhZGRpbmctbGVmdDogM3JlbTsgfSB9XG5cbi5tb2JpbGUtbmF2IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJvdHRvbTogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IC0xO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5tb2JpbGUtbmF2IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAuaXMtbW9iaWxlLW5hdi1vcGVuIC5tb2JpbGUtbmF2IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgLm1vYmlsZS1uYXZfX3dyYXBwZXIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBwYWRkaW5nOiBjYWxjKDM2cHggKyAzcmVtKSAxLjVyZW0gMS41cmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLmFkbWluLWJhciAubW9iaWxlLW5hdl9fd3JhcHBlciB7XG4gICAgICBwYWRkaW5nOiBjYWxjKDM2cHggKyAzMnB4ICsgM3JlbSkgMS41cmVtIDEuNXJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgICAgICAgLmFkbWluLWJhciAubW9iaWxlLW5hdl9fd3JhcHBlciB7XG4gICAgICAgICAgcGFkZGluZzogY2FsYygzNnB4ICsgNDZweCArIDNyZW0pIDEuNXJlbSAxLjVyZW07IH0gfVxuICAubW9iaWxlLW5hdl9faXRlbXMsIC5tb2JpbGUtbmF2X191dGlsaXR5IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZS1pbi1vdXQsIG9wYWNpdHkgMC43NXMgZWFzZS1pbi1vdXQ7IH1cbiAgICAuaXMtbW9iaWxlLW5hdi1vcGVuIC5tb2JpbGUtbmF2X19pdGVtcywgLmlzLW1vYmlsZS1uYXYtb3BlbiAubW9iaWxlLW5hdl9fdXRpbGl0eSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gIC5tb2JpbGUtbmF2IHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5tb2JpbGUtbmF2X19pdGVtcyB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAubW9iaWxlLW5hdl9faXRlbXMgbGkgPiBhIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgcGFkZGluZy10b3A6IDEycHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTJweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNmU2ZTY7IH1cbiAgICAgIC5tb2JpbGUtbmF2X19pdGVtcyBsaSA+IGE6Zm9jdXMsIC5tb2JpbGUtbmF2X19pdGVtcyBsaSA+IGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICAgICAgLm1vYmlsZS1uYXZfX2l0ZW1zIGxpID4gYSAuaG55LXN2ZyB7XG4gICAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgd2lkdGg6IDIycHg7XG4gICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gICAgICAgIG1hcmdpbi10b3A6IDAuMjVyZW07IH1cbiAgICAubW9iaWxlLW5hdl9faXRlbXMgbGkuYWN0aXZlID4gYSB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGNvbG9yOiAjZWQxYjJlOyB9XG4gICAgLm1vYmlsZS1uYXZfX2l0ZW1zIGxpOmxhc3QtY2hpbGQgPiBhIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7IH1cbiAgLm1vYmlsZS1uYXZfX2l0ZW1zIHtcbiAgICBwYWRkaW5nLXRvcDogMXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDIyLjVlbSkge1xuICAgICAgLm1vYmlsZS1uYXZfX2l0ZW1zIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgICAgIC5tb2JpbGUtbmF2X19pdGVtcyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwOyB9IH1cbiAgLm1vYmlsZS1uYXYgLmNvbnRhY3QtbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIG1hcmdpbjogMCAtMS41cmVtIC0xLjVyZW07IH1cbiAgICAubW9iaWxlLW5hdiAuY29udGFjdC1saXN0IGxpIHtcbiAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAgICAgLm1vYmlsZS1uYXYgLmNvbnRhY3QtbGlzdCBsaSBhIHtcbiAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgICAgYmFja2dyb3VuZDogI2VkMWIyZTtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDIyLjVlbSkge1xuICAgICAgICAgIC5tb2JpbGUtbmF2IC5jb250YWN0LWxpc3QgbGkgYSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgICAgICAgICAubW9iaWxlLW5hdiAuY29udGFjdC1saXN0IGxpIGEgLmhueS1zdmcge1xuICAgICAgICAgICAgICB3aWR0aDogMXJlbTtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxcmVtOyB9IH1cbiAgICAgIC5tb2JpbGUtbmF2IC5jb250YWN0LWxpc3QgbGkgKyBsaSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2ZlZmVmZTsgfVxuICAgICAgLm1vYmlsZS1uYXYgLmNvbnRhY3QtbGlzdCBsaSBhIHtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cblxuLm5hdmJ1cmdlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGhlaWdodDogY2FsYygzNnB4ICsgM3JlbSk7XG4gIGJhY2tncm91bmQ6ICNlZDFiMmU7XG4gIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIHRyYW5zaXRpb246IC40czsgfVxuICAuaXMtbW9iaWxlLW5hdi1vcGVuIC5uYXZidXJnZXIge1xuICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubmF2YnVyZ2VyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAubmF2YnVyZ2VyX19pY29uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAgIGhlaWdodDogM3B4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMzJweDtcbiAgICB0cmFuc2l0aW9uOiBpbmhlcml0OyB9XG4gICAgLmlzLW1vYmlsZS1uYXYtb3BlbiAubmF2YnVyZ2VyX19pY29uIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAgIC5uYXZidXJnZXJfX2ljb246YWZ0ZXIsIC5uYXZidXJnZXJfX2ljb246YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0cmFuc2l0aW9uOiBpbmhlcml0O1xuICAgICAgd2lkdGg6IDMycHg7IH1cbiAgICAgIC5pcy1tb2JpbGUtbmF2LW9wZW4gLm5hdmJ1cmdlcl9faWNvbjphZnRlciwgLmlzLW1vYmlsZS1uYXYtb3BlbiAubmF2YnVyZ2VyX19pY29uOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNlZDFiMmU7IH1cbiAgICAubmF2YnVyZ2VyX19pY29uOmFmdGVyIHtcbiAgICAgIHRvcDogMTBweDsgfVxuICAgICAgLmlzLW1vYmlsZS1uYXYtb3BlbiAubmF2YnVyZ2VyX19pY29uOmFmdGVyIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpOyB9XG4gICAgLm5hdmJ1cmdlcl9faWNvbjpiZWZvcmUge1xuICAgICAgdG9wOiAtMTBweDsgfVxuICAgICAgLmlzLW1vYmlsZS1uYXYtb3BlbiAubmF2YnVyZ2VyX19pY29uOmJlZm9yZSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XG5cbi5waG90byB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAucGhvdG8gZmlndXJlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICBib3gtc2hhZG93OiAwIDE4cHggMzVweCByZ2JhKDEwLCAxMCwgMTAsIDAuMjUpLCAwIDVweCAxNXB4IHJnYmEoMTAsIDEwLCAxMCwgMC4xNSk7IH1cbiAgICAucGhvdG8gZmlndXJlLnUtcGhvdG8tYmctLWV4dGVuZC1yaWdodCArIC5waG90b19fY2FwdGlvbiB7XG4gICAgICByaWdodDogLTNyZW07XG4gICAgICBsZWZ0OiAzcmVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDguODczNzVlbSkge1xuICAgICAgICAucGhvdG8gZmlndXJlLnUtcGhvdG8tYmctLWV4dGVuZC1yaWdodCArIC5waG90b19fY2FwdGlvbiB7XG4gICAgICAgICAgcmlnaHQ6IC0xLjVyZW07XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAzcmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSBhbmQgKG1heC13aWR0aDogNzkuOTk4NzVlbSkge1xuICAucGhvdG8gZmlndXJlLnUtcGhvdG8tYmctLWV4dGVuZC1yaWdodCArIC5waG90b19fY2FwdGlvbiB7XG4gICAgbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtOyB9IH1cblxuLnByaW1hcnktbmF2IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wcmltYXJ5LW5hdiB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5wcmltYXJ5LW5hdiB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLnByaW1hcnktbmF2X19pdGVtcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgLnByaW1hcnktbmF2X19pdGVtICsgbGkge1xuICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW07IH1cbiAgLnByaW1hcnktbmF2X19pdGVtID4gYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMC41cmVtIDA7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICBmb250LWZhbWlseTogXCJhY3VtaW4tcHJvLWNvbmRlbnNlZFwiLCBcImJpby1zYW5zXCIsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkRyb2lkIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgICAucHJpbWFyeS1uYXZfX2l0ZW0gPiBhIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMy4xMjVlbSkge1xuICAgICAgLnByaW1hcnktbmF2X19pdGVtID4gYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41NjI1cmVtOyB9IH1cbiAgICAucHJpbWFyeS1uYXZfX2l0ZW0gPiBhOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDRweDtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICAgIGJhY2tncm91bmQ6ICMwZDQzNmI7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAucHJpbWFyeS1uYXZfX2l0ZW0gPiBhOmZvY3VzLCAucHJpbWFyeS1uYXZfX2l0ZW0gPiBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgICAucHJpbWFyeS1uYXZfX2l0ZW0gPiBhOmZvY3VzOmFmdGVyLCAucHJpbWFyeS1uYXZfX2l0ZW0gPiBhOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBvcGFjaXR5OiAxOyB9XG4gIC5wcmltYXJ5LW5hdl9faXRlbS0tYWN0aXZlID4gYSB7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAucHJpbWFyeS1uYXZfX2l0ZW0tLWFjdGl2ZSA+IGE6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgLnByaW1hcnktbmF2X19zdWJtZW51IHtcbiAgICB3aWR0aDogMjQwcHg7IH1cblxuLnB3YS1wb3B1cCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiBjYWxjKDIwcHggKyAwLjVyZW0pO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB6LWluZGV4OiAyMTQ3NDgzNjQ3OyB9XG4gIC5wd2EtcG9wdXAuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnB3YS1wb3B1cF9fYnViYmxlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuOTUpO1xuICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCA1cHggMTBweCByZ2JhKDExLCAyNywgMzgsIDAuNSkpOyB9XG4gICAgLnB3YS1wb3B1cF9fYnViYmxlIGJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtOHB4O1xuICAgICAgcmlnaHQ6IC04cHg7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIGJhY2tncm91bmQ6ICMwYTBhMGE7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgIC5wd2EtcG9wdXBfX2J1YmJsZSBidXR0b24gLmhueS1zdmcge1xuICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBmaWxsOiAjZmVmZWZlOyB9XG4gICAgLnB3YS1wb3B1cF9fYnViYmxlOmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICAgICAgYm9yZGVyLXdpZHRoOiAyMHB4IDIwcHggMCAyMHB4O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTQsIDI1NCwgMjU0LCAwLjk1KSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbnRlbnQ6ICcnOyB9XG4gIC5wd2EtcG9wdXAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7IH1cbiAgICAucHdhLXBvcHVwIHAgLmhueS1zdmcge1xuICAgICAgd2lkdGg6IDMycHg7XG4gICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi5zZWFyY2gtdXRpbGl0eSB7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgICAuc2VhcmNoLXV0aWxpdHkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIG1hcmdpbjogMCAtMC4yNXJlbSAxLjVyZW07XG4gICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgLnNlYXJjaC11dGlsaXR5IGxhYmVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5zZWFyY2gtdXRpbGl0eSA+ICogKyAqIHtcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgICAgIC5zZWFyY2gtdXRpbGl0eSA+ICogKyAqIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAgIC5zZWFyY2gtdXRpbGl0eSA+ICoge1xuICAgICAgcGFkZGluZzogMCAwLjI1cmVtO1xuICAgICAgZmxleC1ncm93OiAxOyB9IH1cbiAgLnNlYXJjaC11dGlsaXR5IHNlbGVjdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuc2VhcmNoLXV0aWxpdHkgLmJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnNlYXJjaC11dGlsaXR5X19sb2FkZXIgKyAuYnV0dG9uIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAuc2VhcmNoLXV0aWxpdHkgLmFyY2hpdmUtY2hlY2tib3gge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAgIC5zZWFyY2gtdXRpbGl0eSAuYXJjaGl2ZS1jaGVja2JveCBpbnB1dCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSB7XG4gICAgICAuc2VhcmNoLXV0aWxpdHkgLmFyY2hpdmUtY2hlY2tib3gge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBmbGV4OiAwIDEgYXV0bzsgfSB9XG5cbi5zaXRlLWZvb3RlciB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLnNpdGUtZm9vdGVyX19jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNpdGUtZm9vdGVyX19jb250YWluZXItLXRvcCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA4cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgICAgLnNpdGUtZm9vdGVyX19jb250YWluZXItLWJvdHRvbSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLnNpdGUtZm9vdGVyX19waG90byB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgei1pbmRleDogLTE7IH1cbiAgICAuc2l0ZS1mb290ZXJfX3Bob3RvIGZpZ3VyZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwdnc7XG4gICAgICBsZWZ0OiAtMS41cmVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuc2l0ZS1mb290ZXJfX3Bob3RvIGZpZ3VyZSB7XG4gICAgICAgICAgbGVmdDogY2FsYygzMzcuNXB4IC0gM3JlbSk7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoNTB2dyArIDcyNnB4IC0gKDMzNy41cHggLSAzcmVtKSk7IH0gfVxuICAuc2l0ZS1mb290ZXJfX2NvbnRlbnQge1xuICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXRvcDogMS41cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW07XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNpdGUtZm9vdGVyX19jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleDogMCAwIDY3NXB4O1xuICAgICAgICBtYXgtd2lkdGg6IDY3NXB4O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgIC5zaXRlLWZvb3Rlcl9fY29udGVudCBhIHtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgICAuc2l0ZS1mb290ZXJfX2NvbnRlbnQgYTpmb2N1cywgLnNpdGUtZm9vdGVyX19jb250ZW50IGE6aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAwLjY7IH1cbiAgICAuc2l0ZS1mb290ZXJfX2NvbnRlbnQ6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IC0xLjVyZW07XG4gICAgICB3aWR0aDogMTAwdnc7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHRvcDogMDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgYmFja2dyb3VuZDogI2VkMWIyZTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLnNpdGUtZm9vdGVyX19jb250ZW50OmJlZm9yZSB7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgbGVmdDogYXV0bzsgfSB9XG4gICAgICAuc2l0ZS1mb290ZXJfX2NvbnRhaW5lci0tdG9wIC5zaXRlLWZvb3Rlcl9fY29udGVudDpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDEwLCAxMCwgMTAsIDAuNSk7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAuc2l0ZS1mb290ZXJfX2NvbnRhaW5lci0tdG9wIC5zaXRlLWZvb3Rlcl9fY29udGVudDpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgICAgIEBzdXBwb3J0cyAobWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5KSB7XG4gICAgICAgICAgLnNpdGUtZm9vdGVyX19jb250YWluZXItLXRvcCAuc2l0ZS1mb290ZXJfX2NvbnRlbnQ6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2VkMWIyZTtcbiAgICAgICAgICAgIG1peC1ibGVuZC1tb2RlOiBtdWx0aXBseTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNpdGUtZm9vdGVyX19jb2x1bW5zIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgbWFyZ2luOiAwIC0zcmVtO1xuICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnNpdGUtZm9vdGVyX19jb2x1bW5zIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIG1hcmdpbjogMCAwIDAgLTNyZW07IH0gfVxuICAuc2l0ZS1mb290ZXJfX2NvbHVtbiArIC5zaXRlLWZvb3Rlcl9fY29sdW1uIHtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnNpdGUtZm9vdGVyX19jb2x1bW4gKyAuc2l0ZS1mb290ZXJfX2NvbHVtbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zaXRlLWZvb3Rlcl9fY29sdW1uIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgcGFkZGluZzogM3JlbTtcbiAgICAgIGZsZXg6IDAgMSBhdXRvOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc2l0ZS1mb290ZXJfX2NvbHVtbiB7XG4gICAgICBmbGV4OiAwIDAgMzM3LjVweDtcbiAgICAgIG1heC13aWR0aDogMzM3LjVweDsgfSB9XG4gIC5zaXRlLWZvb3Rlcl9fY29sdW1uID4gZGl2IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgLnNpdGUtZm9vdGVyX19jb2x1bW46Zmlyc3QtY2hpbGQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5zaXRlLWZvb3Rlcl9fY29udGFpbmVyLS10b3AgLnNpdGUtZm9vdGVyX19jb2x1bW46Zmlyc3QtY2hpbGQ6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB0b3A6IDA7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB6LWluZGV4OiAtMTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLnNpdGUtZm9vdGVyX19jb250YWluZXItLXRvcCAuc2l0ZS1mb290ZXJfX2NvbHVtbjpmaXJzdC1jaGlsZDpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNlZDFiMmU7IH1cbiAgICAgICAgICBAc3VwcG9ydHMgKG1peC1ibGVuZC1tb2RlOiBtdWx0aXBseSkge1xuICAgICAgICAgICAgLnNpdGUtZm9vdGVyX19jb250YWluZXItLXRvcCAuc2l0ZS1mb290ZXJfX2NvbHVtbjpmaXJzdC1jaGlsZDpiZWZvcmUge1xuICAgICAgICAgICAgICBjb250ZW50OiBub25lOyB9IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zaXRlLWZvb3Rlcl9fY29sdW1uOmxhc3QtY2hpbGQge1xuICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMzM3LjVweCArIDNyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc2l0ZS1mb290ZXJfX2NvbnRhaW5lci0tdG9wIC5zaXRlLWZvb3Rlcl9fY29sdW1uOmxhc3QtY2hpbGQge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyMzcsIDI3LCA0NiwgMC41KTsgfVxuICAgICAgQHN1cHBvcnRzIChtaXgtYmxlbmQtbW9kZTogbXVsdGlwbHkpIHtcbiAgICAgICAgLnNpdGUtZm9vdGVyX19jb250YWluZXItLXRvcCAuc2l0ZS1mb290ZXJfX2NvbHVtbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lOyB9IH0gfVxuICAuc2l0ZS1mb290ZXJfX2NvbHVtbiAuaG55LXN2ZyB7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG4gIC5zaXRlLWZvb3Rlcl9fbG9nb3Mge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMTtcbiAgICBwYWRkaW5nOiAxLjVyZW0gMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNpdGUtZm9vdGVyX19sb2dvcyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgICAgIHBhZGRpbmc6IDEuNXJlbSAwIDEuNXJlbSAxLjVyZW07XG4gICAgICAgIG9yZGVyOiAyOyB9IH1cbiAgICAuc2l0ZS1mb290ZXJfX2xvZ29zOmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwdnc7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gICAgICB6LWluZGV4OiAtMTsgfVxuICAuc2l0ZS1mb290ZXJfX2NvbG9waG9uIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5zaXRlLWZvb3Rlcl9fY29sb3Bob24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc2l0ZS1mb290ZXJfX2NvbG9waG9uIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEuNXJlbTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgICAuc2l0ZS1mb290ZXJfX2NvbG9waG9uIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjY4NzVyZW07IH0gfVxuICAgIC5zaXRlLWZvb3Rlcl9fY29sb3Bob24gcCxcbiAgICAuc2l0ZS1mb290ZXJfX2NvbG9waG9uIHVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnNpdGUtZm9vdGVyX19jb2xvcGhvbiB1bCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMjU0LCAyNTQsIDI1NCwgMC41KTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zaXRlLWZvb3Rlcl9fY29sb3Bob24gdWwge1xuICAgICAgICBtYXJnaW4tbGVmdDogMC43NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjc1cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNzVyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNzVyZW07XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMjU0LCAyNTQsIDI1NCwgMC41KTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNpdGUtZm9vdGVyX19sZWdhbCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNpdGUtZm9vdGVyX19sZWdhbGVzZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1mbG93OiByb3cgd3JhcDsgfSB9XG4gIC5zaXRlLWZvb3Rlcl9fY3JlZGl0IHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5zaXRlLWZvb3Rlcl9fY3JlZGl0IHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuXG4uc2l0ZS1oZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwMDtcbiAgZmxleDogMSAwIGF1dG87XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4uc2l0ZS1zZWFyY2hfX2Zvcm0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmwtbWFpbiAuc2l0ZS1zZWFyY2hfX2Zvcm0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogMXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLmwtbWFpbiAuc2l0ZS1zZWFyY2hfX2Zvcm0gPiBkaXYge1xuICAgICAgZmxleDogMSAwIGF1dG87IH1cbiAgICAgIC5sLW1haW4gLnNpdGUtc2VhcmNoX19mb3JtID4gZGl2Omxhc3QtY2hpbGQge1xuICAgICAgICBmbGV4OiAwIDEgYXV0bzsgfVxuXG4uc2l0ZS1zZWFyY2hfX2lucHV0IGxhYmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5zaXRlLXNlYXJjaF9faW5wdXQgbGFiZWwgLmhueS1zdmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAyNHB4O1xuICAgIGhlaWdodDogMjRweDtcbiAgICBtYXJnaW4tdG9wOiAtMTJweDtcbiAgICBmaWxsOiAjZWQxYjJlOyB9XG4gICAgLnNlYXJjaC1vdmVybGF5IC5zaXRlLXNlYXJjaF9faW5wdXQgbGFiZWwgLmhueS1zdmcge1xuICAgICAgd2lkdGg6IDQ4cHg7XG4gICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICBtYXJnaW4tdG9wOiAtMjRweDtcbiAgICAgIGZpbGw6IHJnYmEoMjU0LCAyNTQsIDI1NCwgMC4yKTsgfVxuXG4uc2l0ZS1zZWFyY2hfX2lucHV0IGlucHV0W3R5cGU9J3RleHQnXSB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmwtbWFpbiAuc2l0ZS1zZWFyY2hfX2lucHV0IGlucHV0W3R5cGU9J3RleHQnXSB7XG4gICAgcGFkZGluZzogMCAwIDAgY2FsYygyNHB4ICsgMXJlbSk7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgLmwtbWFpbiAuc2l0ZS1zZWFyY2hfX2lucHV0IGlucHV0W3R5cGU9J3RleHQnXTo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6IHJnYmEoNzIsIDcyLCA3MiwgMC4yKTsgfVxuICAuc2VhcmNoLW92ZXJsYXkgLnNpdGUtc2VhcmNoX19pbnB1dCBpbnB1dFt0eXBlPSd0ZXh0J10ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nOiAwIDAgMCBjYWxjKDQ4cHggKyAxcmVtKTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjZmVmZWZlO1xuICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBsaW5lLWhlaWdodDogMnJlbTtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNlYXJjaC1vdmVybGF5IC5zaXRlLXNlYXJjaF9faW5wdXQgaW5wdXRbdHlwZT0ndGV4dCddIHtcbiAgICAgICAgZm9udC1zaXplOiA0cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogNHJlbTsgfSB9XG4gICAgLnNlYXJjaC1vdmVybGF5IC5zaXRlLXNlYXJjaF9faW5wdXQgaW5wdXRbdHlwZT0ndGV4dCddOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogcmdiYSgyNTQsIDI1NCwgMjU0LCAwLjIpOyB9XG5cbi50YWJzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgMCAxLjVyZW07XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGZsZXgtZmxvdzogcm93IG5vd3JhcDsgfVxuICAudGFiczpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogLTUwdnc7XG4gICAgd2lkdGg6IDE1MHZ3O1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJhY2tncm91bmQ6ICNlNmU2ZTY7XG4gICAgY29udGVudDogJyc7IH1cbiAgLnRhYnMgbGkge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7IH1cbiAgICAudGFicyBsaSBidXR0b24ge1xuICAgICAgcGFkZGluZzogMC41cmVtIDEuNXJlbTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgYm9yZGVyLXRvcDogM3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYmFja2dyb3VuZDogI2U2ZTZlNjsgfVxuICAgICAgLnRhYnMgbGkgYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNhZWFlYWU7IH1cbiAgICAudGFicyBsaSArIGxpIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAwOyB9XG4gICAgLnRhYnMgbGkuaXMtYWN0aXZlIGJ1dHRvbiB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAgICAgY29sb3I6ICNlZDFiMmU7IH1cblxuLnR3by1jb2x1bW4tbGlzdCB7XG4gIG1hcmdpbjogMDtcbiAgY29sdW1uLWdhcDogMS41cmVtO1xuICBjb2x1bW4tY291bnQ6IDI7IH1cblxuQG1lZGlhIHByaW50IHtcbiAgKjpiZWZvcmUsICo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzBhMGEwYSAhaW1wb3J0YW50O1xuICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4gIGFbaHJlZl06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IG5vbmU7IH1cbiAgYVtocmVmXj0ndGVsJ106YWZ0ZXIsXG4gIGEgW2hyZWZePScjJ106YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgYWJiclt0aXRsZV06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjsgfVxuICBwcmUsXG4gIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwYTBhMGE7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cbiAgdHIsXG4gIGltZyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgLmhueS1zdmcge1xuICAgIGZpbGw6ICMwYTBhMGEgIWltcG9ydGFudDsgfVxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzOyB9XG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH0gfVxuIiwiLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlc1xuICogVmVyc2lvbiA2LjYuM1xuICogaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cblxuLy8gLS0tIERlcGVuZGVuY2llcyAtLS1cbkBpbXBvcnQgJ3ZlbmRvci9ub3JtYWxpemUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL21pc3NpbmctZGVwZW5kZW5jaWVzJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy90cnVlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL2NvbnRhaW4nO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcHVyZ2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVtb3ZlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlcGxhY2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvdG8tbGlzdCc7XG5cbi8vIC0tLSBTZXR0aW5ncyAtLS1cbi8vIGltcG9ydCB5b3VyIG93biBgc2V0dGluZ3NgIGhlcmUgb3Jcbi8vIGltcG9ydCBhbmQgbW9kaWZ5IHRoZSBkZWZhdWx0IHNldHRpbmdzIHRocm91Z2hcbi8vIEBpbXBvcnQgJ3NldHRpbmdzL3NldHRpbmdzJztcblxuLy8gLS0tIENvbXBvbmVudHMgLS0tXG4vLyBVdGlsaXRpZXNcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG4vLyBHbG9iYWwgc3R5bGVzXG5AaW1wb3J0ICdnbG9iYWwnO1xuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xuQGltcG9ydCAndHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcblxuLy8gR3JpZHNcbkBpbXBvcnQgJ2dyaWQvZ3JpZCc7XG5AaW1wb3J0ICd4eS1ncmlkL3h5LWdyaWQnO1xuLy8gR2VuZXJpYyBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Nsb3NlLWJ1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xhYmVsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3dpdGNoJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUnO1xuLy8gQmFzaWMgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhcmQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwJztcblxuLy8gQ29udGFpbmVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZWRpYS1vYmplY3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vcmJpdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Jlc3BvbnNpdmUtZW1iZWQnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcbi8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudS1pY29uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcmlsbGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bi1tZW51JztcblxuLy8gTGF5b3V0IGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb2ZmLWNhbnZhcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N0aWNreSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RvcC1iYXInO1xuXG4vLyBIZWxwZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL2Zsb2F0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Zpc2liaWxpdHknO1xuQGltcG9ydCAncHJvdG90eXBlL3Byb3RvdHlwZSc7XG5cblxuQG1peGluIGZvdW5kYXRpb24tZXZlcnl0aGluZyhcbiAgJGZsZXg6IHRydWUsXG4gICRwcm90b3R5cGU6IGZhbHNlLFxuICAkeHktZ3JpZDogJHh5LWdyaWRcbikge1xuICBAaWYgJGZsZXgge1xuICAgICRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgQGlmICR4eS1ncmlkIHtcbiAgICAkeHktZ3JpZDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgLy8gR2xvYmFsIHN0eWxlc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcblxuICAvLyBHcmlkc1xuICBAaWYgbm90ICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkeHktZ3JpZCB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gR2VuZXJpYyBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4gIC8vIEJhc2ljIGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuXG4gIC8vIENvbnRhaW5lcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG4gIC8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG5cbiAgLy8gTGF5b3V0IGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG5cbiAgLy8gSGVscGVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG4gIEBpZiAkZmxleCB7IEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzOyB9XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuICBAaWYgJHByb3RvdHlwZSB7IEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7IH1cbn1cbiIsIkBtaXhpbiBmb3VuZGF0aW9uLW5vcm1hbGl6ZSgpIHtcbiAgLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4gIC8vIERvY3VtZW50XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cblxuICBodG1sIHtcbiAgICBsaW5lLWhlaWdodDogMS4xNTsgLy8gMVxuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gMlxuICB9XG5cbiAgLy8gU2VjdGlvbnNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAvLyBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuXG4gIGgxIHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBtYXJnaW46IDAuNjdlbSAwO1xuICB9XG5cbiAgLy8gR3JvdXBpbmcgY29udGVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gIC8vIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuXG4gIGhyIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLy8gMVxuICAgIGhlaWdodDogMDsgLy8gMVxuICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvLyAyXG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgcHJlIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8vIDFcbiAgICBmb250LXNpemU6IDFlbTsgLy8gMlxuICB9XG5cbiAgLy8gVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG5cbiAgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAvLyAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICAvLyAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuXG4gIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lOyAvLyAxXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8vIDJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8vIDJcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG5cbiAgYixcbiAgc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGNvZGUsXG4gIGtiZCxcbiAgc2FtcCB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvLyAxXG4gICAgZm9udC1zaXplOiAxZW07IC8vIDJcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6IDgwJTtcbiAgfVxuXG4gIC8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICAvLyBhbGwgYnJvd3NlcnMuXG5cbiAgc3ViLFxuICBzdXAge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cblxuICBzdWIge1xuICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgfVxuXG4gIHN1cCB7XG4gICAgdG9wOiAtMC41ZW07XG4gIH1cblxuICAvLyBFbWJlZGRlZCBjb250ZW50XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cblxuICBpbWcge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgfVxuXG4gIC8vIEZvcm1zXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cblxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8vIDFcbiAgICBmb250LXNpemU6IDEwMCU7IC8vIDFcbiAgICBsaW5lLWhlaWdodDogMS4xNTsgLy8gMVxuICAgIG1hcmdpbjogMDsgLy8gMlxuICB9XG5cbiAgLy8gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gIC8vIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG5cbiAgYnV0dG9uLFxuICBpbnB1dCB7IC8vIDFcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAvLyAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG5cbiAgYnV0dG9uLFxuICBzZWxlY3QgeyAvLyAxXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuXG4gIGJ1dHRvbixcbiAgW3R5cGU9XCJidXR0b25cIl0sXG4gIFt0eXBlPVwicmVzZXRcIl0sXG4gIFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG5cbiAgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuXG4gIGJ1dHRvbjotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG5cbiAgZmllbGRzZXQge1xuICAgIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gIC8vIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgLy8gMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAvLyAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cblxuICBsZWdlbmQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbiAgICBjb2xvcjogaW5oZXJpdDsgLy8gMlxuICAgIGRpc3BsYXk6IHRhYmxlOyAvLyAxXG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyAxXG4gICAgcGFkZGluZzogMDsgLy8gM1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8vIDFcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG5cbiAgcHJvZ3Jlc3Mge1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuXG4gIHRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICAvLyAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG5cbiAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxuICAgIHBhZGRpbmc6IDA7IC8vIDJcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cblxuICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cblxuICBbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIDFcbiAgICBvdXRsaW5lLW9mZnNldDogLTJweDsgLy8gMlxuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuXG4gIFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAvLyAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG5cbiAgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDFcbiAgICBmb250OiBpbmhlcml0OyAvLyAyXG4gIH1cblxuICAvLyBJbnRlcmFjdGl2ZVxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG5cbiAgZGV0YWlscyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgc3VtbWFyeSB7XG4gICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICB9XG5cbiAgLy8gTWlzY1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cblxuICB0ZW1wbGF0ZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuXG4gIFtoaWRkZW5dIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIG5vLWNvbG9yLWxpdGVyYWxzLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4vLy8vXG5cbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vLyBGb250IHNpemUgYXR0cmlidXRlIGFwcGxpZWQgdG8gYDxodG1sPmAgYW5kIGA8Ym9keT5gLiBXZSB1c2UgMTAwJSBieSBkZWZhdWx0IHNvIHRoZSB2YWx1ZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgdXNlcidzIGJyb3dzZXIgc2V0dGluZ3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB3aWR0aCBvZiB5b3VyIHNpdGUuIFVzZWQgYnkgdGhlIGdyaWQgdG8gZGV0ZXJtaW5lIHJvdyB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuLy8vIENvbG9ycyB1c2VkIGZvciBidXR0b25zLCBjYWxsb3V0cywgbGlua3MsIGV0Yy4gVGhlcmUgbXVzdCBhbHdheXMgYmUgYSBjb2xvciBjYWxsZWQgYHByaW1hcnlgLlxuLy8vIEB0eXBlIE1hcFxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMTc3OWJhLFxuICBzZWNvbmRhcnk6ICM3Njc2NzYsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjY2M0YjM3LFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGxpZ2h0IGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsaWdodC1ncmF5OiAjZTZlNmU2ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZWRpdW0tZ3JheTogI2NhY2FjYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGRhcmsgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGJsYWNrIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxhY2s6ICMwYTBhMGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHdoaXRlOiAjZmVmZWZlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBMaXN0XG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgYW50aWFsaWFzZWQgdHlwZSwgdXNpbmcgdGhlIGAtd2Via2l0LWZvbnQtc21vb3RoaW5nYCBhbmQgYC1tb3otb3N4LWZvbnQtc21vb3RoaW5nYCBDU1MgcHJvcGVydGllcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBtYXJnaW4gb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwb3NpdGlvbmluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wb3NpdGlvbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBub3JtYWwgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBib2xkIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgZWxlbWVudHMgdGhhdCBoYXZlIGEgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gQ2FuIGJlIG92ZXJ3cml0dGVuIGF0IGluZGl2aWR1YWwgbWVudSBjb21wb25lbnQgbGV2ZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBOZXN0ZWQgbWFyZ2luIGZvciBzdWJtZW51LlxuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgQ1NTLiBDYW4gYmUgZWl0aGVyIGBsdHJgIG9yIGBydGxgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBmb3IgY29tcG9uZW50cyB0aGF0IHN1cHBvcnQgaXQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlZCByZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBwcm90b3R5cGVzIGlmIGFwcGxpY2FibGVcbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCdXR0b24gY3Vyc29yJ3MgdmFsdWUsIGBhdXRvYCBieSBkZWZhdWx0XG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBhdXRvICFkZWZhdWx0O1xuXG5AaWYgbm90IG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgQGVycm9yICdJbiAkZm91bmRhdGlvbi1wYWxldHRlLCB5b3UgbXVzdCBoYXZlIGEgY29sb3IgbmFtZWQgXCJwcmltYXJ5XCIuJztcbn1cblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIHRleHQgZGlyZWN0aW9uXG4kZ2xvYmFsLWxlZnQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCByaWdodCwgbGVmdCk7XG4kZ2xvYmFsLXJpZ2h0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgbGVmdCwgcmlnaHQpO1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZSB0aGF0IGNvbnRhaW5zIHRoZSBmbGV4IGp1c3RpZnlpbmcgb3B0aW9uc1xuJC16Zi1mbGV4LWp1c3RpZnk6IC16Zi1mbGV4LWp1c3RpZnkoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbik7XG5cbi8vLyBHbG9iYWwgdG9sZXJhbmNlIGZvciBjb2xvciBwaWNrIGNvbnRyYXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMCAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIGNvbG9yc1xuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzIHtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1ub3JtYWxpemU7XG5cbiAgLy8gVGhlc2Ugc3R5bGVzIGFyZSBhcHBsaWVkIHRvIGEgPG1ldGE+IHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0XG4gIC5mb3VuZGF0aW9uLW1xIHtcbiAgICBmb250LWZhbWlseTogJyN7LXpmLWJwLXNlcmlhbGl6ZSgkYnJlYWtwb2ludHMpfSc7XG4gIH1cblxuICBodG1sIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBTZXQgYm94LXNpemluZyBnbG9iYWxseSB0byBoYW5kbGUgcGFkZGluZyBhbmQgYm9yZGVyIHdpZHRoc1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gRGVmYXVsdCBib2R5IHN0eWxlc1xuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuXG4gICAgQGlmICgkYm9keS1hbnRpYWxpYXNlZCkge1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgLy8gR2V0IHJpZCBvZiBnYXAgdW5kZXIgaW1hZ2VzIGJ5IG1ha2luZyB0aGVtIGRpc3BsYXk6IGlubGluZS1ibG9jazsgYnkgZGVmYXVsdFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgLy8gR3JpZCBkZWZhdWx0cyB0byBnZXQgaW1hZ2VzIGFuZCBlbWJlZHMgdG8gd29yayBwcm9wZXJseVxuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSB0ZXh0YXJlYSB0YWtlcyBvbiBoZWlnaHQgYXV0b21hdGljYWxseVxuICB0ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBNYWtlIHNlbGVjdCBlbGVtZW50cyBhcmUgMTAwJSB3aWR0aCBieSBkZWZhdWx0XG4gIHNlbGVjdCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIFN0eWxlcyBHb29nbGUgTWFwcyBhbmQgTWFwUXVlc3QgZW1iZWRzIHByb3Blcmx5XG4gIC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8taWRzXG4gIC5tYXBfY2FudmFzLFxuICAubXFhLWRpc3BsYXkge1xuICAgIGltZyxcbiAgICBlbWJlZCxcbiAgICBvYmplY3Qge1xuICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgPGJ1dHRvbj4gc3R5bGVzIGNyZWF0ZWQgYnkgbW9zdCBicm93c2Vyc1xuICBidXR0b24ge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGN1cnNvcjogJGdsb2JhbC1idXR0b24tY3Vyc29yO1xuICB9XG5cbiAgLy8gUHJldmVudCB0ZXh0IG92ZXJmbG93IG9uIHByZVxuICBwcmUge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLy8gTWFrZSByZXNldCBpbmhlcml0IGZvbnQtZmFtaWx5IGluc3RlYWQgb2Ygc2V0dGluZ3Mgc2Fucy1zZXJpZlxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBJbnRlcm5hbCBjbGFzc2VzIHRvIHNob3cvaGlkZSBlbGVtZW50cyBpbiBKYXZhU2NyaXB0XG4gIC5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmlzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLyAgRm91bmRhdGlvbiBmb3IgU2l0ZXMgU2V0dGluZ3Ncbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cbi8vICBUYWJsZSBvZiBDb250ZW50czpcbi8vXG4vLyAgIDEuIEdsb2JhbFxuLy8gICAyLiBCcmVha3BvaW50c1xuLy8gICAzLiBUaGUgR3JpZFxuLy8gICA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vICAgNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAgIDYuIEFiaWRlXG4vLyAgIDcuIEFjY29yZGlvblxuLy8gICA4LiBBY2NvcmRpb24gTWVudVxuLy8gICA5LiBCYWRnZVxuLy8gIDEwLiBCcmVhZGNydW1ic1xuLy8gIDExLiBCdXR0b25cbi8vICAxMi4gQnV0dG9uIEdyb3VwXG4vLyAgMTMuIENhbGxvdXRcbi8vICAxNC4gQ2FyZFxuLy8gIDE1LiBDbG9zZSBCdXR0b25cbi8vICAxNi4gRHJpbGxkb3duXG4vLyAgMTcuIERyb3Bkb3duXG4vLyAgMTguIERyb3Bkb3duIE1lbnVcbi8vICAxOS4gRmxleGJveCBVdGlsaXRpZXNcbi8vICAyMC4gRm9ybXNcbi8vICAyMS4gTGFiZWxcbi8vICAyMi4gTWVkaWEgT2JqZWN0XG4vLyAgMjMuIE1lbnVcbi8vICAyNC4gTWV0ZXJcbi8vICAyNS4gT2ZmLWNhbnZhc1xuLy8gIDI2LiBPcmJpdFxuLy8gIDI3LiBQYWdpbmF0aW9uXG4vLyAgMjguIFByb2dyZXNzIEJhclxuLy8gIDI5LiBQcm90b3R5cGUgQXJyb3dcbi8vICAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcbi8vICAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXG4vLyAgMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxuLy8gIDMzLiBQcm90b3R5cGUgRGlzcGxheVxuLy8gIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXG4vLyAgMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcbi8vICAzNi4gUHJvdG90eXBlIE92ZXJmbG93XG4vLyAgMzcuIFByb3RvdHlwZSBQb3NpdGlvblxuLy8gIDM4LiBQcm90b3R5cGUgUm91bmRlZFxuLy8gIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXG4vLyAgNDAuIFByb3RvdHlwZSBTaGFkb3dcbi8vICA0MS4gUHJvdG90eXBlIFNpemluZ1xuLy8gIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xuLy8gIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXG4vLyAgNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXG4vLyAgNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xuLy8gIDQ2LiBSZXNwb25zaXZlIEVtYmVkXG4vLyAgNDcuIFJldmVhbFxuLy8gIDQ4LiBTbGlkZXJcbi8vICA0OS4gU3dpdGNoXG4vLyAgNTAuIFRhYmxlXG4vLyAgNTEuIFRhYnNcbi8vICA1Mi4gVGh1bWJuYWlsXG4vLyAgNTMuIFRpdGxlIEJhclxuLy8gIDU0LiBUb29sdGlwXG4vLyAgNTUuIFRvcCBCYXJcbi8vICA1Ni4gWHkgR3JpZFxuXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLyAxLiBHbG9iYWxcbi8vIC0tLS0tLS0tLVxuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJTtcbiRnbG9iYWwtd2lkdGg6IDEyMDBweDtcbiRnbG9iYWwtbGluZWhlaWdodDogMS41O1xuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjZWQxYjJlLFxuICBzZWNvbmRhcnk6ICMwZDQzNmIsXG4gIHN1Y2Nlc3M6ICMzOUMxNkMsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjZWQxYjJlLFxuKTtcbiRsaWdodC1ncmF5OiAjZTZlNmU2O1xuJG1lZGl1bS1ncmF5OiAjYWVhZWFlO1xuJGRhcmstZ3JheTogIzhhOGE4YTtcbiRibGFjazogIzBhMGEwYTtcbiR3aGl0ZTogI2ZlZmVmZTtcbiRib2R5LWJhY2tncm91bmQ6ICNmMWYxZjE7XG4kYm9keS1mb250LWNvbG9yOiAjNDg0ODQ4O1xuJGJvZHktZm9udC1mYW1pbHk6ICdiaW8tc2FucycsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgJ1JvYm90bycsICdPeHlnZW4nLCAnVWJ1bnR1JywgJ0NhbnRhcmVsbCcsICdGaXJhIFNhbnMnLCAnRHJvaWQgU2FucycsICdIZWx2ZXRpY2EgTmV1ZScsIHNhbnMtc2VyaWY7XG4kYm9keS1mb250LWZhbWlseS1jb25kZW5zZWQ6ICdhY3VtaW4tcHJvLWNvbmRlbnNlZCcsICRib2R5LWZvbnQtZmFtaWx5O1xuJGJvZHktYW50aWFsaWFzZWQ6IHRydWU7XG4kZ2xvYmFsLW1hcmdpbjogMS41cmVtO1xuJGdsb2JhbC1wYWRkaW5nOiAxLjVyZW07XG4kZ2xvYmFsLXBvc2l0aW9uOiAxLjVyZW07XG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbDtcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQ7XG4kZ2xvYmFsLXJhZGl1czogMDtcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtO1xuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyO1xuJGdsb2JhbC1mbGV4Ym94OiB0cnVlO1xuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlO1xuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBwb2ludGVyO1xuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMDtcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZTtcblxuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG4vLyAyLiBCcmVha3BvaW50c1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICB0YWJsZXQ6IDc4MnB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyODBweCxcbiAgeHhsYXJnZTogMTY1MHB4LFxuICB3aWRlOiAxOTIwcHgsXG4pO1xuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlO1xuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSB0YWJsZXQgbGFyZ2UgeGxhcmdlIHh4bGFyZ2Ugd2lkZSk7XG5cbi8vIDMuIFRoZSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4kZ3JpZC1yb3ctd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kZ3JpZC1jb2x1bW4tY291bnQ6IDEyO1xuJGdyaWQtY29sdW1uLWd1dHRlcjogKFxuICBzbWFsbDogNDhweCxcbik7XG4kZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZTogdHJ1ZTtcbiRncmlkLWNvbHVtbi1hbGlhczogJ2NvbHVtbnMnO1xuJGJsb2NrLWdyaWQtbWF4OiA4O1xuXG4vLyA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAnYWJvbGl0aW9uJywgJGJvZHktZm9udC1mYW1pbHk7XG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlO1xuJGhlYWRlci1jb2xvcjogaW5oZXJpdDtcbiRoZWFkZXItbGluZWhlaWdodDogMS40O1xuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQ4KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDQwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDMyKSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbiAgeHhsYXJnZTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNTYpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogNDgpLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogNDApLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTgpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuKTtcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRzbWFsbC1mb250LXNpemU6IDgwJTtcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW07XG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kY29kZS1jb2xvcjogJGJsYWNrO1xuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSk7XG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhbmNob3ItY29sb3ItaG92ZXI6ICRib2R5LWZvbnQtY29sb3I7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lO1xuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvO1xuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KTtcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnO1xuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrO1xuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApO1xuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjaztcblxuLy8gNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjU7XG4kbGVhZC1saW5laGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6ICRoZWFkZXItbGluZWhlaWdodDtcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXk7XG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbTtcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJHN0YXQtZm9udC1zaXplOiAyLjVyZW07XG5cbi8vIDYuIEFiaWRlXG4vLyAtLS0tLS0tLVxuXG4kYWJpZGUtaW5wdXRzOiB0cnVlO1xuJGFiaWRlLWxhYmVsczogdHJ1ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyA3LiBBY2NvcmRpb25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlO1xuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtO1xuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyA4LiBBY2NvcmRpb24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZztcbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZTtcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDogbnVsbDtcbiRhY2NvcmRpb25tZW51LWJvcmRlcjogbnVsbDtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ6IG51bGw7XG4kYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg6IDQwcHg7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xuXG4vLyA5LiBCYWRnZVxuLy8gLS0tLS0tLS1cblxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGJhZGdlLWNvbG9yOiAkd2hpdGU7XG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2s7XG4kYmFkZ2UtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbTtcbiRiYWRnZS1taW53aWR0aDogMi4xZW07XG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW07XG5cbi8vIDEwLiBCcmVhZGNydW1ic1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2s7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtO1xuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW06ICcvJztcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bDogJ1xcXFwnO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG5cbi8vIDExLiBCdXR0b25cbi8vIC0tLS0tLS0tLS1cblxuJGJ1dHRvbi1mb250LWZhbWlseTogaW5oZXJpdDtcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbTtcbiRidXR0b24tbWFyZ2luOiAwO1xuJGJ1dHRvbi1maWxsOiBzb2xpZDtcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGU7XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAxcHg7XG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNzVyZW0sXG4gIHNtYWxsOiAxcmVtLFxuICBkZWZhdWx0OiAxLjI1cmVtLFxuICBsYXJnZTogMS41cmVtLFxuKTtcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCU7XG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCU7XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuXG4vLyAxMi4gQnV0dG9uIEdyb3VwXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW07XG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4O1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbic7XG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNjtcbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZTtcblxuLy8gMTMuIENhbGxvdXRcbi8vIC0tLS0tLS0tLS0tXG5cbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlO1xuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMSk7XG4kY2FsbG91dC1tYXJnaW46IDAgMCAxLjVyZW0gMDtcbiRjYWxsb3V0LXBhZGRpbmc6IDFyZW07XG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQ7XG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhbGxvdXQtbGluay10aW50OiAzMCU7XG5cbi8vIDE0LiBDYXJkXG4vLyAtLS0tLS0tLVxuXG4kY2FyZC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kY2FyZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjYXJkLWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuJGNhcmQtc2hhZG93OiBub25lO1xuJGNhcmQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kY2FyZC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kY2FyZC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcblxuLy8gMTUuIENsb3NlIEJ1dHRvblxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcDtcbiRjbG9zZWJ1dHRvbi16LWluZGV4OiAxMDtcbiRjbG9zZWJ1dHRvbi1kZWZhdWx0LXNpemU6IG1lZGl1bTtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxuICBzbWFsbDogMC42NnJlbSxcbiAgbWVkaXVtOiAxcmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcbiAgc21hbGw6IDAuMzNlbSxcbiAgbWVkaXVtOiAwLjVyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLXNpemU6IChcbiAgc21hbGw6IDEuNWVtLFxuICBtZWRpdW06IDJlbSxcbik7XG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMTtcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheTtcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrO1xuXG4vLyAxNi4gRHJpbGxkb3duXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjtcbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlO1xuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbjogMDtcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZztcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4O1xuXG4vLyAxNy4gRHJvcGRvd25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd24tcGFkZGluZzogMXJlbTtcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW07XG4kZHJvcGRvd24td2lkdGg6IDMwMHB4O1xuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKTtcblxuLy8gMTguIERyb3Bkb3duIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlO1xuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvcjtcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW07XG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHg7XG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LWJhY2tncm91bmQ7XG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luOiAwO1xuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZztcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50O1xuXG4vLyAxOS4gRmxleGJveCBVdGlsaXRpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDY7XG4kZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzOiB0cnVlO1xuXG4vLyAyMC4gRm9ybXNcbi8vIC0tLS0tLS0tLVxuXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApO1xuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpO1xuJGZvcm0tc3BhY2luZzogcmVtLWNhbGMoMTYpO1xuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2s7XG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljO1xuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtO1xuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjaztcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogMXJlbTtcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS4zO1xuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5O1xuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGlucHV0LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdDtcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkc2Vjb25kYXJ5LWNvbG9yO1xuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyO1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpO1xuJGlucHV0LXNoYWRvdy1mb2N1czogbm9uZTtcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkO1xuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZTtcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIxLiBMYWJlbFxuLy8gLS0tLS0tLS0tXG5cbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRsYWJlbC1jb2xvcjogJHdoaXRlO1xuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrO1xuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kbGFiZWwtZm9udC1zaXplOiAxcmVtO1xuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIyLiBNZWRpYSBPYmplY3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCU7XG5cbi8vIDIzLiBNZW51XG4vLyAtLS0tLS0tLVxuXG4kbWVudS1tYXJnaW46IDA7XG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbTtcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGU7XG4kbWVudS1pdGVtLWNvbG9yLWFsdC1hY3RpdmU6ICRibGFjaztcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbTtcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZTtcbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlO1xuJG1lbnUtaWNvbnMtYmFjay1jb21wYXQ6IHRydWU7XG5cbi8vIDI0LiBNZXRlclxuLy8gLS0tLS0tLS0tXG5cbiRtZXRlci1oZWlnaHQ6IDFyZW07XG4kbWV0ZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRtZXRlci1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kbWV0ZXItZmlsbC1nb29kOiAkc3VjY2Vzcy1jb2xvcjtcbiRtZXRlci1maWxsLW1lZGl1bTogJHdhcm5pbmctY29sb3I7XG4kbWV0ZXItZmlsbC1iYWQ6ICRhbGVydC1jb2xvcjtcblxuLy8gMjUuIE9mZi1jYW52YXNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRvZmZjYW52YXMtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKTtcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKTtcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNyk7XG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4O1xuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KTtcbiRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg6IDExO1xuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTI7XG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAxMztcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMTI7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZTtcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlO1xuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KTtcbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCc7XG5cbi8vIDI2LiBPcmJpdFxuLy8gLS0tLS0tLS0tXG5cbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheTtcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMDtcblxuLy8gMjcuIFBhZ2luYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApO1xuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKTtcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGU7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtcbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlO1xuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlO1xuXG4vLyAyOC4gUHJvZ3Jlc3MgQmFyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW07XG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDI5LiBQcm90b3R5cGUgQXJyb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25zOiAoXG4gIGRvd24sXG4gIHVwLFxuICByaWdodCxcbiAgbGVmdFxuKTtcbiRwcm90b3R5cGUtYXJyb3ctc2l6ZTogMC40Mzc1cmVtO1xuJHByb3RvdHlwZS1hcnJvdy1jb2xvcjogJGJsYWNrO1xuXG4vLyAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlci1ib3gtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuXG4vLyAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyLW5vbmUtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuXG4vLyAzMi4gUHJvdG90eXBlIEJvcmRlcmVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3JkZXItd2lkdGg6IHJlbS1jYWxjKDEpO1xuJHByb3RvdHlwZS1ib3JkZXItdHlwZTogc29saWQ7XG4kcHJvdG90eXBlLWJvcmRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuXG4vLyAzMy4gUHJvdG90eXBlIERpc3BsYXlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWRpc3BsYXktYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1kaXNwbGF5OiAoXG4gIGlubGluZSxcbiAgaW5saW5lLWJsb2NrLFxuICBibG9jayxcbiAgdGFibGUsXG4gIHRhYmxlLWNlbGxcbik7XG5cbi8vIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWZvbnQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nOiByZW0tY2FsYyg0KTtcbiRwcm90b3R5cGUtZm9udC1ub3JtYWw6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRwcm90b3R5cGUtZm9udC1ib2xkOiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyAzNS4gUHJvdG90eXBlIExpc3QtU3R5bGUtVHlwZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWQ6IChcbiAgZGlzYyxcbiAgY2lyY2xlLFxuICBzcXVhcmVcbik7XG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZDogKFxuICBkZWNpbWFsLFxuICBsb3dlci1hbHBoYSxcbiAgbG93ZXItbGF0aW4sXG4gIGxvd2VyLXJvbWFuLFxuICB1cHBlci1hbHBoYSxcbiAgdXBwZXItbGF0aW4sXG4gIHVwcGVyLXJvbWFuXG4pO1xuXG4vLyAzNi4gUHJvdG90eXBlIE92ZXJmbG93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtb3ZlcmZsb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1vdmVyZmxvdzogKFxuICB2aXNpYmxlLFxuICBoaWRkZW4sXG4gIHNjcm9sbFxuKTtcblxuLy8gMzcuIFByb3RvdHlwZSBQb3NpdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXBvc2l0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtcG9zaXRpb246IChcbiAgc3RhdGljLFxuICByZWxhdGl2ZSxcbiAgYWJzb2x1dGUsXG4gIGZpeGVkXG4pO1xuJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4OiA5NzU7XG5cbi8vIDM4LiBQcm90b3R5cGUgUm91bmRlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtcm91bmRlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpO1xuXG4vLyAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zZXBhcmF0b3ItYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ246IGNlbnRlcjtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWhlaWdodDogcmVtLWNhbGMoMik7XG4kcHJvdG90eXBlLXNlcGFyYXRvci13aWR0aDogM3JlbTtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW47XG5cbi8vIDQwLiBQcm90b3R5cGUgU2hhZG93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNoYWRvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMCwwLDAsLjE2KSxcbiAgICAgICAgICAgICAgICAgICAgICAgMCAycHggMTBweCAwIHJnYmEoMCwwLDAsLjEyKTtcblxuLy8gNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2l6aW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc2l6aW5nOiAoXG4gIHdpZHRoLFxuICBoZWlnaHRcbik7XG4kcHJvdG90eXBlLXNpemVzOiAoXG4gIDI1OiAyNSUsXG4gIDUwOiA1MCUsXG4gIDc1OiA3NSUsXG4gIDEwMDogMTAwJVxuKTtcblxuLy8gNDIuIFByb3RvdHlwZSBTcGFjaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc3BhY2Vycy1jb3VudDogMztcblxuLy8gNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZGVjb3JhdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbjogKFxuICBvdmVybGluZSxcbiAgdW5kZXJsaW5lLFxuICBsaW5lLXRocm91Z2gsXG4pO1xuXG4vLyA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXRyYW5zZm9ybWF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbjogKFxuICBsb3dlcmNhc2UsXG4gIHVwcGVyY2FzZSxcbiAgY2FwaXRhbGl6ZVxuKTtcblxuLy8gNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXV0aWxpdGllcy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG4vLyA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogMDtcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxuICBkZWZhdWx0OiA0IGJ5IDMsXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4pO1xuXG4vLyA0Ny4gUmV2ZWFsXG4vLyAtLS0tLS0tLS0tXG5cbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlO1xuJHJldmVhbC13aWR0aDogNjAwcHg7XG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcmV2ZWFsLXppbmRleDogMTAwNTtcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSk7XG5cbi8vIDQ4LiBTbGlkZXJcbi8vIC0tLS0tLS0tLS1cblxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtO1xuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiRzbGlkZXItaGVpZ2h0OiAwLjVyZW07XG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHNsaWRlci1maWxsLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA0OS4gU3dpdGNoXG4vLyAtLS0tLS0tLS0tXG5cbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3I7XG4kc3dpdGNoLWhlaWdodDogMnJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtO1xuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbTtcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbTtcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG5cbi8vIDUwLiBUYWJsZVxuLy8gLS0tLS0tLS0tXG5cbiR0YWJsZS1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC41KTtcbiR0YWJsZS1jb2xvci1zY2FsZTogMTUlO1xuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApO1xuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJTtcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZTtcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXN0cmlwZTogZXZlbjtcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKTtcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2U7XG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xuXG4vLyA1MS4gVGFic1xuLy8gLS0tLS0tLS1cblxuJHRhYi1tYXJnaW46IDA7XG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXk7XG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlO1xuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5O1xuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDUyLiBUaHVtYm5haWxcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGU7XG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKTtcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpO1xuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1My4gVGl0bGUgQmFyXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2s7XG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW07XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5O1xuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcblxuLy8gNTQuIFRvb2x0aXBcbi8vIC0tLS0tLS0tLS0tXG5cbiRoYXMtdGlwLWN1cnNvcjogaGVscDtcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5O1xuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW07XG4kdG9vbHRpcC1tYXgtd2lkdGg6IDEwcmVtO1xuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtO1xuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1NS4gVG9wIEJhclxuLy8gLS0tLS0tLS0tLS1cblxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW07XG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZDtcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDA7XG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG5cbi8vIDU2LiBYeSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4keHktZ3JpZDogdHJ1ZTtcbiRncmlkLWNvbnRhaW5lcjogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbnM6IDEyO1xuJGdyaWQtbWFyZ2luLWd1dHRlcnM6IChcbiAgc21hbGw6IDQ4cHgsXG4pO1xuJGdyaWQtcGFkZGluZy1ndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycztcbiRncmlkLWNvbnRhaW5lci1wYWRkaW5nOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnM7XG4kZ3JpZC1jb250YWluZXItbWF4OiAkZ2xvYmFsLXdpZHRoO1xuJHh5LWJsb2NrLWdyaWQtbWF4OiA4O1xuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhbiBpbm5lciBib3gtc2hhZG93IGZvciBvbmx5IG9uZSBzaWRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaWRlIC0gU2lkZSB0aGUgc2hhZG93IGlzIHN1cHBvc2VkIHRvIGFwcGVhci4gQ2FuIGJlIGB0b3BgLCBgbGVmdGAsIGByaWdodGAgb3IgYGJvdHRvbWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIC0gV2lkdGggZm9yIHRoZSB0YXJnZXQgc2lkZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciBvZiB0aGUgc2hhZG93LlxuQG1peGluIGlubmVyLXNpZGUtc2hhZG93KFxuICAkc2lkZTogYm90dG9tLFxuICAkc2l6ZTogMjBweCxcbiAgJGNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSlcbikge1xuXG4gICRoZWxwZXI6IHJvdW5kKCRzaXplICogMC42NSk7XG5cbiAgQGlmICgkc2lkZSA9PSB0b3ApIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gbGVmdCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSByaWdodCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICgtMSkqJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGJvdHRvbSkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgKC0xKSokaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcblxuICBjb250ZW50OiAnJztcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAkaSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuLy8vIEBsaW5rIGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRlbmZvcmNlIC0gSWYgYHRydWVgLCB1c2UgYCFpbXBvcnRhbnRgIG9uIGFwcGxpZWQgcHJvcGVydGllc1xuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlKFxuICAkZW5mb3JjZTogdHJ1ZVxuKSB7XG4gICRpbXBvcnRhbnQ6IGlmKCRlbmZvcmNlLCAnIWltcG9ydGFudCcsIG51bGwpO1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAjeyRpbXBvcnRhbnR9O1xuICB3aWR0aDogMXB4ICN7JGltcG9ydGFudH07XG4gIGhlaWdodDogMXB4ICN7JGltcG9ydGFudH07XG4gIHBhZGRpbmc6IDAgI3skaW1wb3J0YW50fTtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAjeyRpbXBvcnRhbnR9O1xuICBjbGlwOiByZWN0KDAsMCwwLDApICN7JGltcG9ydGFudH07XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgI3skaW1wb3J0YW50fTtcbiAgYm9yZGVyOiAwICN7JGltcG9ydGFudH07XG59XG5cbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBjcmVhdGVkIGJ5IHRoZSBgZWxlbWVudC1pbnZpc2libGUoKWAgbWl4aW4uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZW5mb3JjZSAtIElmIGB0cnVlYCwgdXNlIGAhaW1wb3J0YW50YCBvbiBhcHBsaWVkIHByb3BlcnRpZXNcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYoXG4gICRlbmZvcmNlOiB0cnVlXG4pIHtcbiAgJGltcG9ydGFudDogaWYoJGVuZm9yY2UsICchaW1wb3J0YW50JywgbnVsbCk7XG5cbiAgcG9zaXRpb246IHN0YXRpYyAjeyRpbXBvcnRhbnR9O1xuICB3aWR0aDogYXV0byAjeyRpbXBvcnRhbnR9O1xuICBoZWlnaHQ6IGF1dG8gI3skaW1wb3J0YW50fTtcbiAgb3ZlcmZsb3c6IHZpc2libGUgI3skaW1wb3J0YW50fTtcbiAgY2xpcDogYXV0byAjeyRpbXBvcnRhbnR9O1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsICN7JGltcG9ydGFudH07XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIHZlcnRpY2FsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEhvcml6b250YWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBob3Jpem9udGFsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi8vLyBBYnNvbHV0ZWx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGFic29sdXRlLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi8vLyBJdGVyYXRlcyB0aHJvdWdoIGJyZWFrcG9pbnRzIGRlZmluZWQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGFuZCBwcmludHMgdGhlIENTUyBpbnNpZGUgdGhlIG1peGluIGF0IGVhY2ggYnJlYWtwb2ludCdzIG1lZGlhIHF1ZXJ5LiBVc2UgdGhpcyB3aXRoIHRoZSBncmlkLCBvciBhbnkgb3RoZXIgY29tcG9uZW50IHRoYXQgaGFzIHJlc3BvbnNpdmUgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHNtYWxsIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIHNraXAgdGhlIGBzbWFsbGAgYnJlYWtwb2ludC4gVXNlIHRoaXMgd2l0aCBjb21wb25lbnRzIHRoYXQgZG9uJ3QgcHJlZml4IGNsYXNzZXMgd2l0aCBgc21hbGwtYCwgb25seSBgbWVkaXVtLWAgYW5kIHVwLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIGl0ZXJhdGUgb3ZlciBicmVha3BvaW50cyB3aXRob3V0IGRvaW5nIHRoZSBtZWRpYSBxdWVyeSBpdHNlbGYuIFVzZWZ1bCBmb3IgbW9yZSBjb21wbGV4IG1lZGlhIHF1ZXJ5IGdlbmVyYXRpb24gYXMgaW4gdGhlIG1hcmdpbiBncmlkLlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQoXG4gICRzbWFsbDogdHJ1ZSxcbiAgJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzOiB0cnVlXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludC1pbihhdXRvLCAtemYtYm9vbCgkc21hbGwpLCAtemYtYm9vbCgkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMpKSB7XG4gICAgQGNvbnRlbnRcbiAgfTtcbn1cblxuLy8vIEl0ZXJhdGVzIHdpdGggYEBjb250ZW50YCB0aHJvdWdoIHRoZSBnaXZlbiBsaXN0IG9mIGJyZWFrcG9pbnRzIGAkYnJlYWtwb2ludHNgLlxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TGlzdH0gJGJyZWFrcG9pbnRzIFthdXRvXSAtIEJyZWFrcG9pbnRzIHRvIGl0ZXJhdGVzIG9uLiBJdCBjYW4gYmUgYSBicmVha3BvaW50IG5hbWUsIGxpc3Qgb2YgYnJlYWtwb2ludHMgb3IgYGF1dG9gIGZvciBhbGwgYnJlYWtwb2ludHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufE51bGx9ICR6ZXJvLWJyZWFrcG9pbnQgW251bGxdIC0gV2hldGhlciB0aGUgemVyby1icmVha3BvaW50IChvZnRlbiBgc21hbGxgKSBtdXN0IGJlIGluY2x1ZGVkLiBJZiBgdHJ1ZWAsIGl0IHdpbGwgYWx3YXlzIGJlIGFkZGVkIHRvIHRoZSBsaXN0IGlmIG5vdCBhbHJlYWR5IHRoZXJlLiBJZiBgZmFsc2VgLCBpdCB3aWxsIGFsd2F5cyBiZSByZW1vdmVkLiBEb2VzIG5vdGhpbmcgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW58S2V5d29yZH0gJG1lZGlhLXF1ZXJpZXMgW3RydWVdIC0gV2hldGhlciBtZWRpYS1xdWVyaWVzIG11c3QgYmUgZ2VuZXJhdGVkLiBJZiBgZm9yLWxpc3RzYCwgb25seSBnZW5lcmF0ZSBtZWRpYS1xdWVyaWVzIHdoZW4gYCRicmVha3BvaW50c2AgaXMgYSBsaXN0LlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQtaW4oXG4gICRicmVha3BvaW50czogYXV0byxcbiAgJHplcm8tYnJlYWtwb2ludDogbnVsbCxcbiAgJG1lZGlhLXF1ZXJpZXM6IHRydWVcbikge1xuICAkLWxpc3Q6ICgpO1xuICAkLWJyZWFrcG9pbnRzLWlzLWEtbGlzdDogdHJ1ZTtcblxuICAvLyBSZXRyaWV2ZSB0aGUgbGlzdCBvZiBicmVha3BvaW50KHMpIHRvIGl0ZXJhdGUgb24uXG4gIEBpZiAkYnJlYWtwb2ludHMgPT0gYXV0byB7XG4gICAgJC1saXN0OiAkYnJlYWtwb2ludC1jbGFzc2VzO1xuICB9XG4gIEBlbHNlIGlmIHR5cGUtb2YoJGJyZWFrcG9pbnRzKSA9PSAnbGlzdCcge1xuICAgICQtbGlzdDogJGJyZWFrcG9pbnRzO1xuICB9XG4gIEBlbHNlIGlmIHR5cGUtb2YoJGJyZWFrcG9pbnRzKSA9PSAnc3RyaW5nJyB7XG4gICAgJC1saXN0OiAoJGJyZWFrcG9pbnRzKTtcbiAgICAkLWJyZWFrcG9pbnRzLWlzLWEtbGlzdDogZmFsc2U7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBcIiRicmVha3BvaW50c1wiIGluIFwiLXpmLWVhY2gtYnJlYWtwb2ludC1pbigpXCIuIEdvdCBcIiN7JGJyZWFrcG9pbnRzfVwiICgje3R5cGUtb2YoJGJyZWFrcG9pbnRzKX0pLiBFeHBlY3RlZCBhIGJyZWFrcG9pbnQgbmFtZSwgYSBsaXN0IG9mIGJyZWFrcG9pbnRzIG9yIFwiYXV0b1wiJztcbiAgfVxuXG4gIC8vIEFkZCBvciByZW1vdmUgdGhlIHplcm8gYnJlYWtwb2ludCBhY2NvcmRpbmcgdG8gYCR6ZXJvLWJyZWFrcG9pbnRgXG4gIEBpZiAkemVyby1icmVha3BvaW50ID09IHRydWUge1xuICAgICQtbGlzdDogam9pbigoJC16Zi16ZXJvLWJyZWFrcG9pbnQpLCBzbC1yZW1vdmUoJC1saXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCkpO1xuICB9XG4gIEBlbHNlIGlmICR6ZXJvLWJyZWFrcG9pbnQgPT0gZmFsc2Uge1xuICAgICQtbGlzdDogc2wtcmVtb3ZlKCQtbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgLy8gSXRlcmF0ZSBvbiBicmVha3BvaW50KHMpXG4gIEBlYWNoICRicCBpbiAkLWxpc3Qge1xuICAgICRvbGQtemYtc2l6ZTogbnVsbDtcbiAgICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gICAgfVxuICAgICQtemYtc2l6ZTogJGJwICFnbG9iYWw7XG5cbiAgICBAaWYgKCRtZWRpYS1xdWVyaWVzID09IHRydWVcbiAgICAgIG9yICgkbWVkaWEtcXVlcmllcyA9PSAnZm9yLWxpc3RzJyBhbmQgJC1icmVha3BvaW50cy1pcy1hLWxpc3QpKSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicCkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgdGhlIGBAY29udGVudGAgcGFzc2VkIHRvIHRoZSBtaXhpbiB3aXRoIGEgdmFsdWUgYCQtemYtYnAtdmFsdWVgIHJlbGF0ZWQgdG8gYSBicmVha3BvaW50LCBkZXBlbmRpbmcgb24gdGhlIGAkbmFtZWAgcGFyYW1ldGVyOlxuLy8vIC0gRm9yIGEgc2luZ2xlIHZhbHVlLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhpcyB2YWx1ZS5cbi8vLyAtIEZvciBhIGJyZWFrcG9pbnQgbmFtZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgLlxuLy8vIC0gRm9yIFwiYXV0b1wiLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAgYW5kIGlzIHBhc3NlZCB0byBgQGNvbnRlbnRgLCB3aGljaCBpcyBtYWRlIHJlc3BvbnNpdmUgZm9yIGVhY2ggYnJlYWtwb2ludCBvZiBgJG1hcGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8QXJyYXl8S2V5d29yZH0gJG5hbWUgW2F1dG9dIC0gU2luZ2xlIHZhbHVlLCBicmVha3BvaW50IG5hbWUsIG9yIGxpc3Qgb2YgYnJlYWtwb2ludCBuYW1lcyB0byB1c2UuIFwiYXV0b1wiIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gTWFwIG9mIGJyZWFrcG9pbnRzIGFuZCB2YWx1ZXMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS5cbkBtaXhpbiAtemYtYnJlYWtwb2ludC12YWx1ZShcbiAgJG5hbWU6IGF1dG8sXG4gICRtYXA6IG51bGxcbikge1xuICBAaWYgJG5hbWUgPT0gYXV0byBhbmQgdHlwZS1vZigkbWFwKSA9PSAnbWFwJyB7XG4gICAgLy8gXCJhdXRvXCJcbiAgICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRrKSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCR2LCAkbWFwKSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIGJyZWFrcG9pbnQgbmFtZVxuICAgIEBpZiB0eXBlLW9mKCRuYW1lKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkYnAtdmFsdWU6IC16Zi1nZXQtYnAtdmFsKCRtYXAsICRuYW1lKTtcbiAgICAgIEBpZiAkYnAtdmFsdWUgIT0gbnVsbCB7XG4gICAgICAgICRuYW1lOiAkYnAtdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYnJlYWtwb2ludCB2YWx1ZVxuICAgICQtemYtYnAtdmFsdWU6ICRuYW1lICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vIE1hcmdpbiBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1iYXNlLWdyaWQtY2xhc3NlcyB7XG5cbiAgLy8gR3JpZCBDb250YWluZXJcbiAgLmdyaWQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcjtcblxuICAgICYuZmx1aWQge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXIoMTAwJSk7XG4gICAgfVxuXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKDEwMCUsIDApO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJhc2UgZ3JpZCBzdHlsZXNcbiAgLmdyaWQteCB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgfVxuXG4gIC5jZWxsIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsKGZ1bGwsICRndXR0ZXItdHlwZTogbm9uZSk7XG5cbiAgICAmLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgIH1cblxuICAgICYuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgIH1cblxuICB9XG4gIC5ncmlkLXgge1xuICAgID4gLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKGF1dG8sICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgfVxuXG4gICAgPiAuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShzaHJpbmssICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQXV0byB3aWR0aFxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgJiBQUnMgZm9yIHRoZSBiYWNrc3Rvcnk6XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTAyNDRcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMTY0XG4gICAgLmdyaWQteCB7XG4gICAgICAkc3RyOiBcIj4gLiN7JC16Zi1zaXplfS1zaHJpbmssID4gLiN7JC16Zi1zaXplfS1mdWxsXCI7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gLiN7JC16Zi1zaXplfS0jeyRpfVwiXG4gICAgICB9XG4gICAgICAjeyRzdHJ9IHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIC8vIFJlc3BvbnNpdmUgXCJhdXRvXCIgbW9kaWZpZXJcbiAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoYXV0bywgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAlLXh5LWNlbGwtYmFzZS1zaHJpbmstaG9yaXpvbnRhbC0jeyQtemYtc2l6ZX0ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBcInNocmlua1wiIG1vZGlmaWVyXG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LXNocmluayB7XG4gICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLWhvcml6b250YWwtI3skLXpmLXNpemV9O1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgd2lkdGggbW9kaWZpZXJzXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstaG9yaXpvbnRhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCB3aWR0aCB3aGVuIHVzaW5nIGAuZ3JpZC1tYXJnaW4teGAgbm90IG9uIGAuZ3JpZC14YFxuICAuZ3JpZC1tYXJnaW4teDpub3QoLmdyaWQteCkgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cblxuICAvLyBSZXNldCBoZWlnaHQgd2hlbiB1c2luZyBgLmdyaWQtbWFyZ2luLXlgIG5vdCBvbiBgLmdyaWQteWBcbiAgLmdyaWQtbWFyZ2luLXk6bm90KC5ncmlkLXkpID4gLmNlbGwge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG5AbWl4aW4gLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCRjbGFzcy1icmVha3BvaW50LCAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbCkge1xuICAkcHJlZml4OiBpZigkY2xhc3MtYnJlYWtwb2ludCA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCwgJycsICcjeyRjbGFzcy1icmVha3BvaW50fS0nKTtcbiAgPiAuI3skcHJlZml4fWF1dG8ge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShhdXRvLCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gIH1cblxuICA+IC4jeyRwcmVmaXh9c2hyaW5rIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAkY2xhc3NuYW1lOiBpZigkdmVydGljYWwsICcuI3skY2xhc3MtYnJlYWtwb2ludH0tI3skaX0nLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9Jyk7XG5cbiAgICA+ICN7JGNsYXNzbmFtZX0ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gICAgfVxuICB9XG59XG5cbi8vIE1hcmdpbiBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBsZWZ0IHJpZ2h0LFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkd3JhcHBpbmctc2VsZWN0b3I6ICcuZ3JpZC1tYXJnaW4teCdcbil7XG4gICN7JHdyYXBwaW5nLXNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUsICRndXR0ZXItcG9zaXRpb246ICRndXR0ZXItcG9zaXRpb24pO1xuXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbCgkdmVydGljYWw6ICR2ZXJ0aWNhbCwgJG91dHB1dDogKHNpemUgZ3V0dGVycykpO1xuICAgIH1cblxuICAgIC8vIGJhc2Ugc3R5bGVzIG5lZWQgdG8gYWxsIGJlIGJlZm9yZSB0aGUgYXV0byBhbmQgc2hyaW5rIHN0eWxlc1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpIGFuZCAkLXpmLXNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgPiAuY2VsbCB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgkdmVydGljYWw6ICR2ZXJ0aWNhbCwgJG91dHB1dDogKHNpemUgZ3V0dGVycykpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcblxuICAgICAgLy8gVGhpcyBpcyBwdXJlbHkgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycyAtIHRoZSBtYXJnaW4gZ3JpZCBoYXMgdG8gZ28gYmFjayBhbmQgYWRqdXN0IHdpZHRocyAob3IgaGVpZ2h0cylcbiAgICAgIC8vIGZvciBhbGwgcHJpb3IgYnJlYWtwb2ludHMuXG4gICAgICAvLyBBcyB0aGVpciBndXR0ZXIgaXMgZGVmaW5lZCB3aXRoIHRoZWlyIHdpZHRoL2hlaWdodCwgZXZlbiBicmVha3BvaW50IHdpdGhvdXQgYSBuZXcgbWFyZ2luIG11c3QgYmVcbiAgICAgIC8vIGdlbmVyYXRlZCB0byBub3QgaGF2aW5nIHRoZWlyIHdpZHRoL2hlaWdodCBvdmVycmlkZWQgYnkgcmUtYWRqdXN0ZWQgc21hbGxlciBicmVha3BvaW50cy5cbiAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkpIHtcbiAgICAgICAgQGVhY2ggJGJwIGluIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJC16Zi1zaXplKSB7XG4gICAgICAgICAgQGluY2x1ZGUgLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCRicCwgJC16Zi1zaXplLCAkdmVydGljYWwpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkLXpmLXNpemUsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUGFkZGluZyBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcyB7XG4gIC5ncmlkLXBhZGRpbmcteCB7XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIG5lc3RlZCBncmlkc1xuICAgIC5ncmlkLXBhZGRpbmcteCB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBncmlkcyB3aXRoaW4gYGdyaWQtY29udGFpbmVyL2dyaWQtY29udGFpbmVyLmZsdWlkYFxuICAgIC8vIFRoaXMgYWxsb3dzIG1hcmdpbiBhbmQgcGFkZGluZyBncmlkcyB0byBsaW5lIHVwIHdpdGggZWFjaG90aGVyXG4gICAgLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAmIHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgfVxuICB9XG59XG5cbi8vIEJsb2NrIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LWJsb2NrLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQ6IHRydWUsICRwYWRkaW5nLWdyaWQ6IHRydWUpIHtcbiAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkbjogJGksICRzZWxlY3RvcjogJy5jZWxsJywgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkb3V0cHV0OiAoc2l6ZSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAgIC8vIGZvciBwcmlvciBicmVha3BvaW50cyBiYXNlZCBvbiB0aGUgcmVzcG9uc2l2ZSBndXR0ZXIuXG4gICAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkpIHtcbiAgICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcbiAgICAgICAgICAgIEBpZihtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGJwKSkge1xuICAgICAgICAgICAgICAuZ3JpZC1tYXJnaW4teC4jeyRicH0tdXAtI3skaX0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRuOiAkaSwgJHNlbGVjdG9yOiAnLmNlbGwnLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJG91dHB1dDogKHNpemUpKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAuZ3JpZC1tYXJnaW4teC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRuOiAkaSwgJHNlbGVjdG9yOiAnLmNlbGwnLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJG91dHB1dDogKHNpemUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBDb2xsYXBzZSBjbGFzc2VzXG5AbWl4aW4geHktY29sbGFwc2UtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZDogdHJ1ZSwgJHBhZGRpbmctZ3JpZDogdHJ1ZSkge1xuICBAZWFjaCAkYnAgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgICAuI3skYnB9LW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29sbGFwc2UoJGd1dHRlci10eXBlOiBtYXJnaW4sICRtaW4tYnJlYWtwb2ludDogJGJwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgICAuI3skYnB9LXBhZGRpbmctY29sbGFwc2Uge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbGxhcHNlKCRndXR0ZXItdHlwZTogcGFkZGluZywgJG1pbi1icmVha3BvaW50OiAkYnApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBPZmZzZXQgY2xhc3Nlc1xuQG1peGluIHh5LW9mZnNldC1jZWxsLWNsYXNzZXMge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgLy8gT2Zmc2V0c1xuICAgICAgJG86ICRpIC0gMTtcblxuICAgICAgLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgkbywgJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgIH1cblxuICAgICAgLmdyaWQtbWFyZ2luLXggPiAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KCRvKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gVmVydGljYWwgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktdmVydGljYWwtZ3JpZC1jbGFzc2VzKFxuICAkbWFyZ2luLWdyaWQ6IHRydWUsXG4gICRwYWRkaW5nLWdyaWQ6IHRydWVcbikge1xuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICB9XG4gIH1cblxuICAuZ3JpZC15IHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkKHZlcnRpY2FsLCBmYWxzZSk7XG5cblxuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1yZXNldCgpO1xuICAgIH1cblxuICAgID4gLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKGF1dG8sICRndXR0ZXItdHlwZTogbm9uZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICB9XG5cbiAgICA+IC5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgYW5kIFBScyBmb3IgdGhlIGJhY2tzdG9yeTpcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAxNjRcbiAgICAgICRzdHI6IFwiPiAuI3skLXpmLXNpemV9LXNocmluaywgPiAuI3skLXpmLXNpemV9LWZ1bGxcIjtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICRzdHI6ICRzdHIgKyBcIiwgPiAuI3skLXpmLXNpemV9LSN7JGl9XCJcbiAgICAgIH1cbiAgICAgICN7JHN0cn0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICAvLyBSZXNwb25zaXZlIFwiYXV0b1wiIG1vZGlmaWVyXG4gICAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbChhdXRvLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJS14eS1jZWxsLWJhc2Utc2hyaW5rLXZlcnRpY2FsLSN7JC16Zi1zaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgICAgfVxuXG4gICAgICAvLyBSZXNwb25zaXZlIFwic2hyaW5rXCIgbW9kaWZpZXJcbiAgICAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAgID4gLiN7JC16Zi1zaXplfS1zaHJpbmsge1xuICAgICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLXZlcnRpY2FsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gUmVzcG9uc2l2ZSB3aWR0aCBtb2RpZmllcnNcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay12ZXJ0aWNhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcbiAgICAgIC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cblxuICAgICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgICAgPiAuY2VsbCB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKHRvcCBib3R0b20sIHRydWUsICcuZ3JpZC1tYXJnaW4teScpO1xuICB9XG5cbn1cblxuQG1peGluIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZDogdHJ1ZSwgJG1hcmdpbi1ncmlkOiB0cnVlKSB7XG4gIC8vIEZyYW1lZCBncmlkIHN0eWxlc1xuICAuZ3JpZC1mcmFtZSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZTtcbiAgfVxuXG4gIC5jZWxsIC5ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgfVxuXG4gIC5jZWxsLWJsb2NrIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKCk7XG4gIH1cblxuICAuY2VsbC1ibG9jay15IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICB9XG5cblxuICAuY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCk7XG4gIH1cblxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcblxuICAgIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xuICAgIH1cblxuICAgIC5jZWxsIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2sge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jaygpO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2steSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdmVydGljYWwtZ3JpZCB7XG4gICAgLmdyaWQteSB7XG4gICAgICAmLmdyaWQtZnJhbWUge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAmLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG4gICAgLmNlbGwge1xuICAgICAgLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAuZ3JpZC15LiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3Nlcyh0b3AgYm90dG9tLCB0cnVlLCAnLmdyaWQtbWFyZ2luLXknKTtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSwgZmFsc2UsICRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkaW5jbHVkZS1iYXNlOiBmYWxzZSk7XG4gICAgfVxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgIC5ncmlkLW1hcmdpbi15LiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlLCBmYWxzZSwgJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSwgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBGaW5hbCBjbGFzc2VzXG5AbWl4aW4gZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXMoXG4gICRiYXNlLWdyaWQ6IHRydWUsXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZSxcbiAgJGJsb2NrLWdyaWQ6IHRydWUsXG4gICRjb2xsYXBzZTogdHJ1ZSxcbiAgJG9mZnNldDogdHJ1ZSxcbiAgJHZlcnRpY2FsLWdyaWQ6IHRydWUsXG4gICRmcmFtZS1ncmlkOiB0cnVlXG4pIHtcblxuICAvLyBCYXNlIGdyaWQgc3R5bGVzXG4gIEBpZigkYmFzZS1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktYmFzZS1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIE1hcmdpbiBncmlkXG4gIEBpZigkbWFyZ2luLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBQYWRkaW5nIGdyaWRcbiAgQGlmKCRwYWRkaW5nLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gQmxvY2sgZ3JpZFxuICBAaWYoJGJsb2NrLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIC8vIENvbGxhcHNlIGd1dHRlcnNcbiAgQGlmKCRjb2xsYXBzZSkge1xuICAgIEBpbmNsdWRlIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgLy8gT2Zmc2V0IGd1dHRlcnNcbiAgQGlmKCRvZmZzZXQpIHtcbiAgICBAaW5jbHVkZSB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBncmlkXG4gIEBpZigkdmVydGljYWwtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgQGlmICgkZnJhbWUtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZCwgJG1hcmdpbi1ncmlkKVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIG1heCB3aWR0aCBjb250YWluZXIsIGRlc2lnbmVkIHRvIGhvdXNlIHlvdXIgZ3JpZCBjb250ZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJGdyaWQtY29udGFpbmVyXSAtIGEgd2lkdGggdG8gbGltaXQgdGhlIGNvbnRhaW5lciB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRncmlkLWNvbnRhaW5lci1wYWRkaW5nXSAtIHBhZGRpbmdzIG9mIHRoZSBjb250YWluZXIuXG5AbWl4aW4geHktZ3JpZC1jb250YWluZXIoXG4gICR3aWR0aDogJGdyaWQtY29udGFpbmVyLFxuICAkcGFkZGluZzogJGdyaWQtY29udGFpbmVyLXBhZGRpbmdcbikge1xuICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkcGFkZGluZywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcblxuICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLy8vIENyZWF0ZXMgYSBjb250YWluZXIgZm9yIHlvdXIgZmxleCBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbaG9yaXpvbnRhbF0gLSBFaXRoZXIgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbCBkaXJlY3Rpb24gb2YgY2VsbHMgd2l0aGluLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHdyYXAgW3RydWVdIC0gSWYgdGhlIGNlbGxzIHdpdGhpbiBzaG91bGQgd3JhcCBvciBub3QuXG5AbWl4aW4geHktZ3JpZChcbiAgJGRpcmVjdGlvbjogaG9yaXpvbnRhbCxcbiAgJHdyYXA6IHRydWVcbikge1xuICAkZGlyZWN0aW9uOiBpZigkZGlyZWN0aW9uID09ICdob3Jpem9udGFsJywgcm93LCBjb2x1bW4pO1xuICAkd3JhcDogaWYoJHdyYXAsIHdyYXAsIG5vd3JhcCk7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiAkZGlyZWN0aW9uICR3cmFwO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZSBndXR0ZXJzIGZvciBhIGNlbGwvY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBlaXRoZXIgbWFyZ2luIG9yIHBhZGRpbmcuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZWdhdGl2ZSBbZmFsc2VdIC0gV2hldGhlciB0byBhcHBseSB0aGUgZ3V0dGVyIGFzIGEgbmVnYXRpdmUgdmFsdWUuIENvbW1vbmx5IHVzZWQgZm9yIG5lc3RlZCBncmlkcy5cbkBtaXhpbiB4eS1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbmVnYXRpdmU6IGZhbHNlXG4pIHtcbiAgJG9wZXJhdG9yOiBpZigkbmVnYXRpdmUsICctJywgJycpO1xuXG4gIC8vIElmIHdlIGhhdmUgZGVjbGFyZWQgbmVnYXRpdmUgZ3V0dGVycywgZm9yY2UgdHlwZSB0byBgbWFyZ2luLlxuICAkZ3V0dGVyLXR5cGU6IGlmKCRuZWdhdGl2ZSwgJ21hcmdpbicsICRndXR0ZXItdHlwZSk7XG5cbiAgLy8gT3V0cHV0IG91ciBtYXJnaW4gZ3V0dGVycy5cbiAgQGlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJykge1xuICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKGF1dG8sICRndXR0ZXJzKSB7XG4gICAgICAkZ3V0dGVyOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAvIDI7XG5cbiAgICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiB1bnF1b3RlKFwiI3skb3BlcmF0b3J9I3skZ3V0dGVyfVwiKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdudW1iZXInKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcnMpIC8gMjtcblxuICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06IHVucXVvdGUoXCIjeyRvcGVyYXRvcn0jeyRndXR0ZXJ9XCIpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIFJldHVybnMgdGhlIGFwcHJvcHJpYXRlIENTUyBmbGV4IHZhbHVlIGZvciBhIGNlbGwgYmFzZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBBY2NlcHRzIGBmdWxsYCwgYGF1dG9gLCBgc2hyaW5rYCwgYGdyb3dgLCBvciBhbnkgb3RoZXIgdmFsdWUgcmVwcmVzZW50aW5nIGEgY2VsbCBzaXplIChpdCB3aWxsIGJlIHRyZWF0ZWQgYXMgYHNocmlua2ApLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IFRoZSBjZWxsIGZsZXggcHJvcGVydHkgdmFsdWUuXG5AZnVuY3Rpb24geHktY2VsbC1iYXNlKCRzaXplOiBmdWxsKSB7XG4gIEBpZiAoJHNpemUgPT0gJ2F1dG8nKSB7XG4gICAgQHJldHVybiAxIDEgMHB4O1xuICB9XG4gIEBlbHNlIGlmICgkc2l6ZSA9PSAnZ3JvdycpIHtcbiAgICBAcmV0dXJuIDEgMCBhdXRvO1xuICB9XG4gIEBlbHNlIGlmICgkc2l6ZSA9PSAnc2hyaW5rJyBvciAkc2l6ZSA9PSAnZnVsbCcgb3IgemYtaXMtZnJhY3Rpb24oJHNpemUsICRhbGxvdy1uby1kZW5vbWluYXRvcjogdHJ1ZSkpIHtcbiAgICBAcmV0dXJuIDAgMCBhdXRvO1xuICB9XG4gIEByZXR1cm4gbnVsbDtcbn1cblxuLy8vIENhbGN1bGF0ZSB0aGUgc2l6ZSBvZiBhIGNlbGwgZ3V0dGVycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCByZXR1cm5zIHRoZSByZXNwb25zaXZlIGd1dHRlcnMgbWFwIGAkZ3V0dGVyc2AuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ8TWFwfSBUaGUgY2VsbCBndXR0ZXIgc2l6ZSBvciB0aGUgcmVzcG9uc2l2ZSBndXR0ZXJzIG1hcC5cbkBmdW5jdGlvbiB4eS1jZWxsLWd1dHRlcnMoXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGJyZWFrcG9pbnQ6IG51bGxcbikge1xuICAvLyBGb3IgYGF1dG9gLCByZXR1cm5zIHRoZSByZXNwb25zaXZlIG1hcCBgJGd1dHRlcnNgLlxuICBAaWYgKCRicmVha3BvaW50ID09ICdhdXRvJykge1xuICAgIEByZXR1cm4gJGd1dHRlcnM7XG4gIH1cblxuICAvLyBVc2UgdGhlIGNvbnRleHR1YWwgYnJlYWtwb2ludCBieSBkZWZhdWx0LlxuICAkYnJlYWtwb2ludDogLXpmLWN1cnJlbnQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCk7XG5cbiAgQGlmICgkYnJlYWtwb2ludCkge1xuICAgIEByZXR1cm4gLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJC16Zi16ZXJvLWJyZWFrcG9pbnQpIG9yIDA7XG4gIH1cbn1cblxuLy8vIFJldHVybnMgdGhlIHBlcmNlbnRhZ2Ugc2l6ZSBvZiBhIGNlbGwuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkc2l6ZSBbJGdyaWQtY29sdW1uc10gLSBTaXplIHRvIG1ha2UgdGhlIGNlbGwuIFlvdSBjYW4gcGFzcyBhIHZhbHVlIGluIG11bHRpcGxlIGZvcm1hdHMsIHN1Y2ggYXMgYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvM2AuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBTaXplIG9mIHRoZSBjZWxsIChpbiBwZXJjZW50KS5cbkBmdW5jdGlvbiB4eS1jZWxsLXNpemUoXG4gICRzaXplOiAkZ3JpZC1jb2x1bW5zXG4pIHtcbiAgQHJldHVybiBmcmFjdGlvbi10by1wZXJjZW50YWdlKCRzaXplLCAkZGVub21pbmF0b3I6ICRncmlkLWNvbHVtbnMpO1xufVxuXG4vLy8gUmV0dXJucyB0aGUgYXBwcm9wcmlhdGUgQ1NTIHZhbHVlIGZvciBhIGNlbGwgc2l6ZS5cbi8vL1xuLy8vIEd1dHRlcnMtcmVsYXRlZCBhcmd1bWVudHMgYXJlIHJlcXVpcmVkIGZvciBjZWxscyB3aXRoIG1hcmdpbiBndXR0ZXJzIChieSBkZWZhdWx0KSBhcyB0aGUgZ3V0dGVyIGlzIGluY2x1ZGVkIGluIHRoZSB3aWR0aC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCwgYGF1dG9gLCBgc2hyaW5rYCBvciBhbnkgZnJhY3Rpb24gbGlrZSBgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgcmV0dXJucyBhIG1hcCBvZiBzaXplcyBhZGFwdGVkIHRvIHJlc3BvbnNpdmUgZ3V0dGVycy4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcnxTdHJpbmd8TWFwfSBUaGUgY2VsbCBzaXppbmcgcHJvcGVydHkgdmFsdWUsIG9yIGEgcmVzcG9uc2l2ZSBtYXAgb2YgdGhlbS5cbkBmdW5jdGlvbiB4eS1jZWxsLXNpemUtY3NzKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6IG51bGxcbikge1xuICAkbWFyZ2luLWd1dHRlcjogMDtcblxuICBAaWYgKCRzaXplID09ICdhdXRvJyBvciAkc2l6ZSA9PSAnc2hyaW5rJykge1xuICAgIEByZXR1cm4gYXV0bztcbiAgfVxuXG4gIC8vIEZvciBjZWxscyB3aXRoIG1hcmdpbiBndXR0ZXJzLCB0aGUgZ3V0dGVyIGlzIGluY2x1ZGVkIGluIHRoZSB3aWR0aC5cbiAgQGlmICgkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICAkbWFyZ2luLWd1dHRlcjogeHktY2VsbC1ndXR0ZXJzKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gICAgQGlmICgkbWFyZ2luLWd1dHRlciA9PSBudWxsKSB7XG4gICAgICBAZXJyb3IgJ3h5LWNlbGwtc2l6ZTogbm8gZ3V0dGVycyB3ZXJlIGZvdW5kIGluIGAkZ3V0dGVyc2AgZm9yIFwiJGJyZWFrcG9pbnQ6ICN7JGJyZWFrcG9pbnR9XCInO1xuICAgIH1cbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSB0aGUgY2VsbCBzaXplIChudW1iZXIpXG4gICRzaXplLXJhdzogaWYoJHNpemUgPT0gJ2Z1bGwnLCAxMDAlLCB4eS1jZWxsLXNpemUoJHNpemUpKTtcblxuICAvLyBDYWxjdWxhdGUgdGhlIGNlbGwgQ1NTIHNpemUgaW5jbHVkaW5nIGd1dHRlcnMgKHN0cmluZylcbiAgLy8gSWYgdGhlIGNlbGwgaGFzIHJlc3BvbnNpdmUgbWFyZ2luIGd1dHRlcnMsIHJldHVybiBhIHJlc3BvbnNpdmUgbWFwIG9mIHNpemVzLlxuICBAaWYgdHlwZS1vZigkbWFyZ2luLWd1dHRlcikgPT0gJ21hcCcge1xuICAgICRyZXNwb25zaXZlLWNzcy1zaXplczogKCk7XG5cbiAgICBAZWFjaCAkYnAsICRtZyBpbiAkbWFyZ2luLWd1dHRlciB7XG4gICAgICAkc2l6ZS1jc3M6IGlmKCRtZyA9PSAwLCAkc2l6ZS1yYXcsIGNhbGMoI3skc2l6ZS1yYXd9IC0gI3tyZW0tY2FsYygkbWcpfSkpO1xuICAgICAgJHJlc3BvbnNpdmUtY3NzLXNpemVzOiBtYXAtbWVyZ2UoJHJlc3BvbnNpdmUtY3NzLXNpemVzLCAoJGJwOiAkc2l6ZS1jc3MpKTtcbiAgICB9XG5cbiAgICBAcmV0dXJuICRyZXNwb25zaXZlLWNzcy1zaXplcztcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiBhIHNpbmdsZSBDU1Mgc2l6ZS5cbiAgQGVsc2Uge1xuICAgICRjc3Mtc2l6ZTogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgJHNpemUtcmF3LCBjYWxjKCN7JHNpemUtcmF3fSAtICN7cmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpfSkpO1xuICAgIEByZXR1cm4gJGNzcy1zaXplO1xuICB9XG59XG5cbi8vLyBTZXRzIGJhc2UgZmxleCBwcm9wZXJ0aWVzIGZvciBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBBY2NlcHRzIGBmdWxsYCwgYGF1dG9gLCBgc2hyaW5rYCwgYGdyb3dgLCBvciBhbnkgb3RoZXIgdmFsdWUgcmVwcmVzZW50aW5nIGEgY2VsbCBzaXplIChpdCB3aWxsIGJlIHRyZWF0ZWQgYXMgYHNocmlua2ApLlxuQG1peGluIHh5LWNlbGwtYmFzZSgkc2l6ZTogZnVsbCkge1xuICAkYmFzZTogeHktY2VsbC1iYXNlKCRzaXplKTtcblxuICBmbGV4OiAjeyRiYXNlfTtcblxuICAvLyBTZXQgYmFzZSBzdHlsZXMgZm9yIFwiZnVsbFwiIG9ubHlcbiAgQGlmKCRzaXplID09ICdmdWxsJykge1xuICAgIG1pbi1oZWlnaHQ6IDBweDtcbiAgICBtaW4td2lkdGg6IDBweDtcbiAgfVxufVxuXG4vLy8gUmVzZXRzIGEgY2VsbHMgd2lkdGggKG9yIGhlaWdodCBpZiB2ZXJ0aWNhbCBpcyB0cnVlKSBhcyB3ZWxsIGFzIHN0cmlwcyBpdHMgZ3V0dGVycy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXJlc2V0KCR2ZXJ0aWNhbDogdHJ1ZSkge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgaGVpZ2h0LCB3aWR0aCk7XG4gICN7JGRpcmVjdGlvbn06IGF1dG87XG4gIG1heC0jeyRkaXJlY3Rpb259OiBub25lO1xufVxuXG4vLy8gU2V0cyBzaXppbmcgcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBHdXR0ZXJzLXJlbGF0ZWQgYXJndW1lbnRzIGFyZSByZXF1aXJlZCBmb3IgY2VsbHMgd2l0aCBtYXJnaW4gZ3V0dGVycyAoYnkgZGVmYXVsdCkgYXMgdGhlIGd1dHRlciBpcyBpbmNsdWRlZCBpbiB0aGUgd2lkdGguXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKDEwMCUgd2lkdGgpLCBgYXV0b2AgKHVzZSBhbGwgYXZhaWxhYmxlIHNwYWNlKSwgYHNocmlua2AgKHVzZSBvbmx5IHRoZSByZXF1aXJlZCBzcGFjZSkgb3IgYW55IGZyYWN0aW9uIChgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC4uLikuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIGdlbmVyYXRlcyBzaXplcyBhZGFwdGVkIGZvciByZXNwb25zaXZlIGd1dHRlcnMuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1zaXplKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkc2l6ZXM6IHh5LWNlbGwtc2l6ZS1jc3MoJHNpemUsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRicmVha3BvaW50KTtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIGhlaWdodCwgd2lkdGgpO1xuXG4gIEBpZiAodHlwZS1vZigkc2l6ZXMpID09ICdtYXAnKSB7XG4gICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoYXV0bywgJHNpemVzKSB7XG4gICAgICAjeyRkaXJlY3Rpb259OiAkLXpmLWJwLXZhbHVlO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgI3skZGlyZWN0aW9ufTogJHNpemVzO1xuICB9XG59XG5cbi8vLyBTZXRzIGd1dHRlcnMgcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbbnVsbF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uIEJ5IGRlZmF1bHQgYHJpZ2h0IGxlZnRgIGZvciBob3Jpem9udGFsIGNlbGxzIGFuZCBgdG9wIGJvdHRvbWAgZm9yIHZlcnRpY2FsIGNlbGxzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgZ2VuZXJhdGVzIHJlc3BvbnNpdmUgZ3V0dGVycy4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBEaXJlY3Rpb24gb2YgdGhlIGd1dHRlcnMgdG8gb3V0cHV0LiBTZWUgYCRndXR0ZXItcG9zaXRpb25gLlxuQG1peGluIHh5LWNlbGwtZ3V0dGVycyhcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAvLyBHZXQgdGhlIGRlZmF1bHQgZ3V0dGVyIHBvc2l0aW9uIGFjY29yZGluZyB0byBjZWxsIGRpcmVjdGlvblxuICBAaWYoJGd1dHRlci1wb3NpdGlvbiA9PSBudWxsKSB7XG4gICAgJGd1dHRlci1wb3NpdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHRvcCBib3R0b20sIGxlZnQgcmlnaHQpO1xuICB9XG5cbiAgLy8gR2V0IHRoZSBndXR0ZXIgd2lkdGggZm9yIHRoaXMgYnJlYWtwb2ludFxuICAkZ3V0dGVyLXdpZHRoOiB4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgQGlmICgkZ3V0dGVyLXdpZHRoID09IG51bGwpIHtcbiAgICBAZXJyb3IgJ3h5LWNlbGwtZ3V0dGVyczogbm8gZ3V0dGVycyB3ZXJlIGZvdW5kIGluIGAkZ3V0dGVyc2AgZm9yIFwiJGJyZWFrcG9pbnQ6ICN7JGJyZWFrcG9pbnR9XCInO1xuICB9XG5cbiAgQGlmICgkZ3V0dGVyLXR5cGUgYW5kICRndXR0ZXItdHlwZSAhPSBub25lKSB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLXdpZHRoLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgY2VsbCBmb3IgeW91ciBncmlkLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgICgxMDAlIHdpZHRoKSwgYGF1dG9gICh1c2UgYWxsIGF2YWlsYWJsZSBzcGFjZSksIGBzaHJpbmtgICh1c2Ugb25seSB0aGUgcmVxdWlyZWQgc3BhY2UpIG9yIGFueSBmcmFjdGlvbiAoYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuLi4pLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW251bGxdIC0gW0RFUFJFQ0FURURdIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtudWxsXSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi4gQnkgZGVmYXVsdCBgcmlnaHQgbGVmdGAgZm9yIGhvcml6b250YWwgY2VsbHMgYW5kIGB0b3AgYm90dG9tYCBmb3IgdmVydGljYWwgY2VsbHMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCBnZW5lcmF0ZXMgcmVzcG9uc2l2ZSBndXR0ZXJzLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuLy8vIEBwYXJhbSB7TGlzdH0gJG91dHB1dCBbKGJhc2Ugc2l6ZSBndXR0ZXJzKV0gLSBDZWxsIHBhcnRzIHRvIG91dHB1dC4gWW91IHdpbGwgbmVlZCB0byBnZW5lcmF0ZSBvdGhlcnMgcGFydHMgb2YgdGhlIGNlbGwgc2VwZXJhdGVseSwgaXQgbWF5IG5vdCB3b3JrIHByb3Blcmx5IG90aGVyd2lzZS5cbkBtaXhpbiB4eS1jZWxsKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IG51bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkb3V0cHV0OiAoYmFzZSBzaXplIGd1dHRlcnMpXG4pIHtcbiAgLy8gRGVmYXVsdCBmb3IgJGd1dHRlci1vdXRwdXRcbiAgQGlmICgkZ3V0dGVyLW91dHB1dCAhPSBudWxsKSB7XG4gICAgQHdhcm4gJ3h5LWNlbGw6ICRndXR0ZXItb3V0cHV0IGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gU2VlIG1pZ3JhdGlvbiBub3RlcyBhdCBodHRwczovL2dpdC5pby9mb3VuZGF0aW9uLTYtNi0wJztcbiAgICBAaWYgKCRndXR0ZXItb3V0cHV0ID09IGZhbHNlKSB7XG4gICAgICAkb3V0cHV0OiBzbC1yZW1vdmUoJG91dHB1dCwgZ3V0dGVycyk7XG4gICAgfVxuICB9XG5cbiAgQGlmIChpbmRleCgkb3V0cHV0LCBiYXNlKSkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZSgkc2l6ZSk7XG4gIH1cbiAgQGlmIChpbmRleCgkb3V0cHV0LCBzaXplKSkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkc2l6ZSwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGJyZWFrcG9pbnQsICR2ZXJ0aWNhbCk7XG4gIH1cbiAgQGlmIChpbmRleCgkb3V0cHV0LCBndXR0ZXJzKSkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtZ3V0dGVycygkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uLCAkYnJlYWtwb2ludCwgJHZlcnRpY2FsKTtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHNpemVkIGdyaWQuIFVzZWQgdG8gZ2VuZXJhdGUgb3VyIGdyaWQgY2xhc3Nlcy5cbi8vL1xuLy8vIGB4eS1jZWxsLXN0YXRpYygpYCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQuXG4vLy8gVXNlIGB4eS1jZWxsKClgIGluc3RlYWQgd2l0aCBgJG91dHB1dDogKHNpemUgZ3V0dGVycylgIHRvIG5vdCBnZW5lcmF0ZSB0aGUgY2VsbCBiYXNlLlxuLy8vIFNlZSBtaWdyYXRpb24gbm90ZXMgYXQgaHR0cHM6Ly9naXQuaW8vZm91bmRhdGlvbi02LTYtMFxuLy8vXG4vLy8gQGRlcHJlY2F0ZWQgdjYuNi4wXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKDEwMCUgd2lkdGgpLCBgYXV0b2AgKHVzZSBhbGwgYXZhaWxhYmxlIHNwYWNlKSwgYHNocmlua2AgKHVzZSBvbmx5IHRoZSByZXF1aXJlZCBzcGFjZSkgb3IgYW55IGZyYWN0aW9uIChgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC4uLikuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVycy4gQWx3YXlzIGB0cnVlYCBmb3IgbWFyZ2luIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXN0YXRpYyhcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICBAd2FybiAneHktY2VsbC1zdGF0aWMoKSBtaXhpbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQuIFVzZSBcInh5LWNlbGwoKVwiIGluc3RlYWQuIFNlZSBtaWdyYXRpb24gbm90ZXMgYXQgaHR0cHM6Ly9naXQuaW8vZm91bmRhdGlvbi02LTYtMCc7XG5cbiAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgJGd1dHRlci1wb3NpdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHRvcCBib3R0b20sIGxlZnQgcmlnaHQpO1xuXG4gICQtZ3V0dGVyLW91dHB1dDogaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nLCB0cnVlLCAkZ3V0dGVyLW91dHB1dCk7XG4gICQtZ3V0dGVyLW1hcmdpbjogaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nLCAkZ3V0dGVyLCAwKTtcblxuICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkLWd1dHRlci1tYXJnaW4sICR2ZXJ0aWNhbCk7XG4gIEBpZiAoJC1ndXR0ZXItb3V0cHV0KSB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWtwb2ludHNcbi8vLy9cblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcy5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgSGlEUEkgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMgZm9yIHJlc29sdXRpb25zLlxuLy8vIFZhbHVlcyBtdXN0IHJlcHJlc2VudCB0aGUgZGV2aWNlIHBpeGVscyAvIHdlYiBwaXhlbHMgcmF0aW9uIGFuZCBiZSB1bml0bGVzcyBvciBpbiBEUFBYLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzLWhpZHBpOiAoXG4gIGhpZHBpLTE6IDEsXG4gIGhpZHBpLTEtNTogMS41LFxuICBoaWRwaS0yOiAyLFxuICByZXRpbmE6IDIsXG4gIGhpZHBpLTM6IDNcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGFyZ2VzdCBuYW1lZCBicmVha3BvaW50IGluIHdoaWNoIHRvIGluY2x1ZGUgcHJpbnQgYXMgYSBtZWRpYSB0eXBlXG4vLy8gQHR5cGUgS2V5d29yZFxuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlICFkZWZhdWx0O1xuXG4kLXpmLXplcm8tYnJlYWtwb2ludDogc21hbGwgIWRlZmF1bHQ7XG5cbiQtemYtYnJlYWtwb2ludHMta2V5czogbWFwLXRvLWxpc3QoJGJyZWFrcG9pbnRzLCAna2V5cycpO1xuXG5AaWYgbnRoKG1hcC12YWx1ZXMoJGJyZWFrcG9pbnRzKSwgMSkgIT0gMCB7XG4gIEBlcnJvciAnVGhlIGZpcnN0IGtleSBpbiB0aGUgJGJyZWFrcG9pbnRzIG1hcCBtdXN0IGhhdmUgYSB2YWx1ZSBvZiBcIjBcIi4nO1xufVxuQGVsc2Uge1xuICAkLXpmLXplcm8tYnJlYWtwb2ludDogbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIDEpO1xufVxuXG4vLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBgLnNtYWxsLTEyYCwgYC5tZWRpdW0tNmAsIGFuZCBzbyBvbi4gRWFjaCB2YWx1ZSBpbiB0aGlzIGxpc3QgbXVzdCBhbHNvIGJlIGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAuXG4vLy8gQHR5cGUgTGlzdFxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCBbc21hbGxdIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gV2ViIHN0YW5kYXJkIFBpeGVscyBwZXIgaW5jaC4gKDFkZHB4IC8gJHN0ZC13ZWItZHBpKSA9IDFkcGlcbiAgLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtdmFsdWVzLTMvI2Fic29sdXRlLWxlbmd0aHNcbiAgJHN0ZC13ZWItZHBpOiA5NjtcblxuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIG9mIHRoZSBmb2xsb3dpbmcgYnJlYWtwb2ludFxuICAkYnAtbmV4dDogbnVsbDtcbiAgLy8gVmFsdWUgZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1taW46IG51bGw7XG4gIC8vIFZhbHVlIGZvciBtaW4td2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiBudWxsO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gSWYgbmFtZWQsIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnRcbiAgJG5hbWU6IG51bGw7XG4gIC8vIElmIHRoZSBicmVha3BvaW50IGlzIGEgSGlEUEkgYnJlYWtwb2ludFxuICAkaGlkcGk6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuXG4gIC8vIElmIGEgYnJlYWtwb2ludCBuYW1lIGlzIGdpdmVuLCBnZXQgaXRzIHZhbHVlIGZyb20gdGhlICRicmVha3BvaW50cy8kYnJlYWtwb2ludHMtaGlkcGkgbWFwLlxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgICRuYW1lOiAkYnA7XG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gICAgICAkYnAtbmV4dDogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICAgIH1cbiAgICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMtaGlkcGksICRicCkge1xuICAgICAgJG5hbWU6ICRicDtcbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMtaGlkcGksICRuYW1lKTtcbiAgICAgICRicC1uZXh0OiAtemYtbWFwLW5leHQtbnVtYmVyKCRicmVha3BvaW50cy1oaWRwaSwgJGJwKTtcbiAgICAgICRoaWRwaTogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJwOiAwO1xuICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogXCIjeyR2YWx9XCIgaXMgbm90IGRlZmluZWQgaW4geW91ciBgJGJyZWFrcG9pbnRzYCBvciBgJGJyZWFrcG9pbnRzLWhpZHBpYCBzZXR0aW5nLic7XG4gICAgfVxuICB9XG5cbiAgQGlmIG5vdCAkbmFtZSBhbmQgJGRpciA9PSAnb25seScge1xuICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cblxuICAvLyBPbmx5ICdvbmx5JyBhbmQgJ3VwJyBoYXZlIGEgbWluIGxpbWl0LlxuICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAndXAnIHtcbiAgICAkYnAtbWluOiBpZigkaGlkcGksIHN0cmlwLXVuaXQoJGJwKSwgLXpmLWJwLXRvLWVtKCRicCkpO1xuICB9XG4gIC8vIE9ubHkgJ29ubHknIGFuZCAnZG93bicgaGF2ZSBhIG1heCBsaW1pdC5cbiAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBJZiB0aGUgYnJlYWtwb2ludCBpcyBhIHZhbHVlLCB1c2UgaXQgYXMgbWF4IGxpbWl0LlxuICAgIEBpZiBub3QgJG5hbWUge1xuICAgICAgJGJwLW1heDogaWYoJGhpZHBpLCBzdHJpcC11bml0KCRicCksIC16Zi1icC10by1lbSgkYnApKTtcbiAgICB9XG4gICAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgbmFtZWQsIHRoZSBtYXggbGltaXQgaXMgdGhlIGZvbGxvd2luZyBicmVha3BvaW50IC0gMXB4LlxuICAgIEBlbHNlIGlmICRicC1uZXh0IHtcbiAgICAgIC8vIE1heCB2YWx1ZSBpcyAwLjJweCB1bmRlciB0aGUgbmV4dCBicmVha3BvaW50ICgwLjAyIC8gMTYgPSAwLjAwMTI1KS5cbiAgICAgIC8vIFVzZSBhIHByZWNpc2lvbiB1bmRlciAxcHggdG8gc3VwcG9ydCBicm93c2VyIHpvb20sIGJ1dCBub3QgdG8gbG93IHRvIGF2b2lkIHJvdW5kaW5nLlxuICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzExMzEzXG4gICAgICAkYnAtbWF4OiBpZigkaGlkcGksICRicC1uZXh0IC0gKDEvJHN0ZC13ZWItZHBpKSwgLXpmLWJwLXRvLWVtKCRicC1uZXh0KSAtIDAuMDAxMjUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEdlbmVyYXRlIHRoZSBtZWRpYSBxdWVyeSBzdHJpbmcgZnJvbSBtaW4gYW5kIG1heCBsaW1pdHMuXG4gIEBpZiAkaGlkcGkge1xuICAgIC8vIEdlbmVyYXRlIHZhbHVlcyBpbiBEUEkgaW5zdGVhZCBvZiBEUFBYIGZvciBhbiBJRTktMTEvT3BlcmEgbWluaSBjb21wYXRpYmlsaXR5LlxuICAgIC8vIFNlZSBodHRwczovL2Nhbml1c2UuY29tLyNmZWF0PWNzcy1tZWRpYS1yZXNvbHV0aW9uXG4gICAgJGJwLW1pbi1kcGk6IGlmKCRicC1taW4sICRicC1taW4gKiAkc3RkLXdlYi1kcGkgKiAxZHBpLCAkYnAtbWluKTtcbiAgICAkYnAtbWF4LWRwaTogaWYoJGJwLW1heCwgJGJwLW1heCAqICRzdGQtd2ViLWRwaSAqIDFkcGksICRicC1tYXgpO1xuICAgIEByZXR1cm4gemYtc3RyLWpvaW4oXG4gICAgICAtemYtYnAtam9pbigkYnAtbWluLCAkYnAtbWF4LCAnLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvJywgJy13ZWJraXQtbWF4LWRldmljZS1waXhlbC1yYXRpbycpLFxuICAgICAgLXpmLWJwLWpvaW4oJGJwLW1pbi1kcGksICRicC1tYXgtZHBpLCAnbWluLXJlc29sdXRpb24nLCAnbWF4LXJlc29sdXRpb24nKSxcbiAgICAgICcsICcpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIC16Zi1icC1qb2luKCRicC1taW4sICRicC1tYXgpO1xuICB9XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgYW5kIGAkYnJlYWtwb2ludHMtaGlkcGlgIG1hcHMsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBJZiBtdWx0aXBsZSB2YWx1ZXMgYXJlIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgZ2VuZXJhdGUgYSBtZWRpYSBxdWVyeSBmb3IgZWFjaCBvZiB0aGVtIGFzIGRlc2NyaWJlZCBhYm92ZS5cbi8vLyBTaW5jZSB0aGUgY29udGVudCBpcyBkdXBsaWNhdGVkIGZvciBlYWNoIGJyZWFrcG9pbnQsIHRoaXMgbWl4aW4gc2hvdWxkIG9ubHkgYmUgdXNlZCB3aXRoIHByb3BlcnRpZXMgdGhhdFxuLy8vIGNoYW5nZSBhY3Jvc3MgYnJlYWtwb2ludHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWVzLi4uIC0gQnJlYWtwb2ludCBuYW1lIG9yIHB4L3JlbS9lbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWVzLi4uKSB7XG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCR2YWx1ZXMpIHtcbiAgICAkdmFsdWU6IG50aCgkdmFsdWVzLCAkaSk7XG4gICAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgICRicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCBudGgoJHZhbHVlLCAxKSk7XG4gICAgJHBicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkcHJpbnQtYnJlYWtwb2ludCk7XG4gICAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgICAkZGlyOiBpZihsZW5ndGgoJHZhbHVlKSA+IDEsIG50aCgkdmFsdWUsIDIpLCB1cCk7XG5cbiAgICAkb2xkLXpmLXNpemU6IG51bGw7XG5cbiAgICAvLyBNYWtlIGJyZWFrcG9pbnQgc2l6ZSBhdmFpbGFibGUgYXMgYSB2YXJpYWJsZVxuICAgIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgJC16Zi1zaXplOiBudGgoJHZhbHVlLCAxKSAhZ2xvYmFsOyAvLyBnZXQgdGhlIGZpcnN0IHZhbHVlIHRvIGFjY291bnQgZm9yIGBvbmx5YCBhbmQgYGRvd25gIGtleXdvcmRzXG5cbiAgICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gICAgQGlmICRzdHIgPT0gJycge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgLy8gT3RoZXJ3aXNlLCB3cmFwIHRoZSBjb250ZW50IGluIGEgbWVkaWEgcXVlcnlcbiAgICBAZWxzZSB7XG4gICAgICAvLyBGb3IgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICRwcmludC1icmVha3BvaW50LCBhZGQgcHJpbnQgdG8gdGhlIG1lZGlhIHR5cGVzXG4gICAgICAvLyBnZW5lcmF0ZSBwcmludCBpZiB0aGUgYnJlYWtwb2ludCBhZmZlY3RzIHRoZSBwcmludC1icmVha3BvaW50IChvciBzbWFsbGVyKS5cbiAgICAgIC8vIFRoaXMgbWVhbnMgdGhlIGN1cnJlbnQgY29uZGl0aW9uIG9ubHkgbmVlZHMgdG8gYmUgZXh0ZW5kZWQgc28gJ2Rvd24nIGFsd2F5cyBnZW5lcmF0ZXMgcHJpbnQuXG4gICAgICBAaWYgJGJwICE9IG51bGwgYW5kICgkYnAgPD0gJHBicCBvciAkZGlyID09IGRvd24pIHtcbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbiAgfVxufVxuXG4vLy8gQ29udmVydHMgdGhlIGJyZWFrcG9pbnRzIG1hcCB0byBhIFVSTC1lbmNvZGVkIHN0cmluZywgbGlrZSB0aGlzOiBga2V5MT12YWx1ZTEma2V5Mj12YWx1ZTJgLiBUaGUgdmFsdWUgaXMgdGhlbiBkcm9wcGVkIGludG8gdGhlIENTUyBmb3IgYSBzcGVjaWFsIGA8bWV0YT5gIHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0LiBUaGlzIGlzIGhvdyB3ZSB0cmFuc2ZlciB2YWx1ZXMgZnJvbSBTYXNzIHRvIEphdmFTY3JpcHQsIHNvIHRoZXkgY2FuIGJlIGRlZmluZWQgaW4gb25lIHBsYWNlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gY29udmVydC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG1hcCdzIGNvbnRlbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC1zZXJpYWxpemUoJG1hcCkge1xuICAkc3RyOiAnJztcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICRzdHI6ICRzdHIgKyAka2V5ICsgJz0nICsgLXpmLWJwLXRvLWVtKCR2YWx1ZSkgKyAnJic7XG4gIH1cbiAgJHN0cjogc3RyLXNsaWNlKCRzdHIsIDEsIC0yKTtcblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IGtleSBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3IgdGhlIGtleSBhZnRlciBgJGtleWAsIGlmIGAka2V5YCB3YXMgZm91bmQuIElmIGAka2V5YCB3YXMgbm90IGZvdW5kLCBvciBgJGtleWAgd2FzIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dCgkbWFwLCAka2V5KSB7XG5cbiAgLy8gU3RvcmUgdGhlIGtleXMgb2YgdGhlIG1hcCBhcyBhIGxpc3RcbiAgJHZhbHVlczogbWFwLWtleXMoJG1hcCk7XG5cbiAgJGk6IDA7XG5cbiAgLy8gSWYgdGhlIEtleSBFeGlzdHMsIEdldCB0aGUgaW5kZXggb2YgdGhlIGtleSB3aXRoaW4gdGhlIG1hcCBhbmQgYWRkIDEgdG8gaXQgZm9yIHRoZSBuZXh0IGJyZWFrcG9pbnQgaW4gdGhlIG1hcFxuICBAaWYgKG1hcC1oYXMta2V5KCRtYXAsICRrZXkpKSB7XG4gICAgJGk6IGluZGV4KCR2YWx1ZXMsICRrZXkpICsgMTtcbiAgfVxuXG4gIC8vIElmIHRoZSBrZXkgZG9lc24ndCBleGlzdCwgb3IgaXQncyB0aGUgbGFzdCBrZXkgaW4gdGhlIG1hcCwgcmV0dXJuIG51bGxcbiAgQGlmICgkaSA+IGxlbmd0aCgkbWFwKSBvciAkaSA9PSAwKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsIG50aCgkdmFsdWVzLCAkaSkpO1xuICB9XG5cbn1cblxuLy8vIEZpbmQgdGhlIG5leHQgbnVtYmVyIGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJG51bWJlciAtIE51bWJlciB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIG51bWJlciBmb2xsb3dpbmcgYCRudW1iZXJgLCBpZiBgJG51bWJlcmAgd2FzIGZvdW5kLiBJZiBgJG51bWJlcmAgd2FzIG5vdCBmb3VuZCwgb3IgYCRudW1iZXJgIHdhcyB0aGUgYmlnZ2VzdCBudW1iZXIgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0LW51bWJlcigkbWFwLCAkbnVtYmVyKSB7XG5cbiAgJG5leHRfbnVtYmVyOiBudWxsO1xuXG4gIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICBAaWYgdHlwZS1vZigkdikgPT0gJ251bWJlcicgYW5kICR2ID4gJG51bWJlciBhbmQgKCRuZXh0X251bWJlciA9PSBudWxsIG9yICR2IDwgJG5leHRfbnVtYmVyKSB7XG4gICAgICAkbmV4dF9udW1iZXI6ICR2O1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJG5leHRfbnVtYmVyO1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBsYXN0IGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigka2V5KSB7XG4gICRsaXN0OiAoKTtcbiAgJGZvdW5kX2tleTogZmFsc2U7XG5cbiAgQGVhY2ggJG5hbWUgaW4gJC16Zi1icmVha3BvaW50cy1rZXlzIHtcbiAgICBAaWYgKCRuYW1lID09ICRrZXkpIHtcbiAgICAgICRmb3VuZF9rZXk6IHRydWU7XG4gICAgfVxuICAgIEBpZiBub3QgJGZvdW5kX2tleSB7XG4gICAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkbmFtZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGxpc3Q7XG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IC0gYSBuYW1lZCBvciBub24tbmFtZWQgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICRsYXN0OiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgJGZvdW5kOiBmYWxzZTtcblxuICAkdmFsdWU6IHVuaXRsZXNzLWNhbGMoJGJyZWFrcG9pbnQsIDFweCk7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICBAaWYgdW5pdGxlc3MtY2FsYygkdmFsKSA+ICR2YWx1ZSB7XG4gICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkbGFzdDogJGtleTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRsYXN0O1xufVxuXG4vLy8gR2V0IGEgdmFsdWUgZm9yIGEgYnJlYWtwb2ludCBmcm9tIGEgcmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdCByZWdhcmRsZXNzIG9mIGAkdmFsdWVgLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBSZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge01peGVkfSBUaGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlLlxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xuICAvLyBJZiB0aGUgZ2l2ZW4gbWFwIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXRcbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJG1hcDtcbiAgfVxuXG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgZ2xvYmFsbHlcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgICAgJHZhbHVlOiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCR2YWx1ZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGluIHRoZSBsb2NhbCBjb25maWcgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRtYXAsICR2YWx1ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkdmFsdWUpO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgZmluZCB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBhbmQgcmV0dXJuIHRoYXQgdmFsdWVcbiAgQGVsc2Uge1xuICAgICRhbmNob3I6IG51bGw7XG4gICAgJGZvdW5kOiBmYWxzZTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICAgICAgICAkYW5jaG9yOiAka2V5O1xuICAgICAgICB9XG4gICAgICAgIEBpZiAka2V5ID09ICR2YWx1ZSB7XG4gICAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRhbmNob3IpO1xuICB9XG59XG5cbi8vLyBSZXR1cm4gdGhlIGJlc3QgYnJlYWtwb2ludCB0byB1c2UgYWNjb3JkaW5nIHRvIHRoZSBjYWxsaW5nIGNvbnRleHQuIEl0IHJldHVybnMgaW4gb3JkZXI6XG4vLy8gMS4gdGhlIGdpdmVuIGAkdmFsdWVgIGFyZ3VtZW50IGlmIGl0IGlzIG5vdCBudWxsLlxuLy8vIDIuIHRoZSBnbG9iYWwgYnJlYWtwb2ludCBjb250ZXh0IGAkLXpmLXNpemVgIGlmIGl0IGlzIG5vdCBudWxsIChsaWtlIGlmIGNhbGxlZCBpbnNpZGUgdGhlbiBgYnJlYWtwb2ludCgpYCBtaXhpbilcbi8vLyAzLiB0aGUgZ2l2ZW4gYCRkZWZhdWx0YCBhcmd1bWVudC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIFtudWxsXSAtIEJyZWFrcG9pbnQgdG8gdXNlIGluIHByaW9yaXR5IGlmIG5vbi1udWxsLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRlZmF1bHQgW251bGxdIC0gQnJlYWtwb2ludCB0byB1c2UgYnkgZGVmYXVsdCBpZiBubyBvdGhlciB2YWx1ZSBjYW4gYmUgdXNlZC5cbi8vL1xuLy8vIEByZXR1cm4ge0tleXdvcmR9IFRoZSByZXNvbHZlZCBicmVha3BvaW50LlxuQGZ1bmN0aW9uIC16Zi1jdXJyZW50LWJyZWFrcG9pbnQoJHZhbHVlOiBudWxsLCAkZGVmYXVsdDogbnVsbCkge1xuICBAaWYgKCR2YWx1ZSAhPSBudWxsKSB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cbiAgQGVsc2UgaWYgKHZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkgYW5kIHR5cGUtb2YoJC16Zi1zaXplKSAhPSAnbnVtYmVyJykgYW5kICQtemYtc2l6ZSAhPSBudWxsIHtcbiAgICBAcmV0dXJuICQtemYtc2l6ZTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAkZGVmYXVsdDtcbiAgfVxufVxuXG4vLy8gUmV0dXJuIG1lZGlhIHF1ZXJ5IHN0cmluZyBmcm9tIHRoZSBnaXZlbiBtaW4gYW5kL29yIG1heCBsaW1pdHMuXG4vLy8gSWYgYSBsaW1pdCBpcyBlcXVhbCB0byBgbnVsbGAgb3IgYDBgLCBpdCBpcyBpZ25vcmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtaW4gWzBdIC0gTWluIG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IFswXSAtIE1heCBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1pbi1uYW1lIFsnbWluLXdpZHRoJ10gLSBOYW1lIG9mIHRoZSBtaW4gbWVkaWEgcXVlcnkgbGltaXQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkZWxpbWl0ZXIgWydtYXgtd2lkdGgnXSAtIE5hbWUgb2YgdGhlIG1heCBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IE1lZGlhIFF1ZXJ5IHN0cmluZy5cbkBmdW5jdGlvbiAtemYtYnAtam9pbihcbiAgJG1pbjogMCxcbiAgJG1heDogMCxcbiAgJG1pbi1uYW1lOiAnbWluLXdpZHRoJyxcbiAgJG1heC1uYW1lOiAnbWF4LXdpZHRoJ1xuKSB7XG4gIEByZXR1cm4gemYtc3RyLWpvaW4oXG4gICAgaWYoJG1pbiBhbmQgJG1pbiA+IDAsICcoI3skbWluLW5hbWV9OiAjeyRtaW59KScsIG51bGwpLFxuICAgIGlmKCRtYXggYW5kICRtYXggPiAwLCAnKCN7JG1heC1uYW1lfTogI3skbWF4fSknLCBudWxsKSxcbiAgICAnIGFuZCAnKTtcbn1cblxuJHNtYWxsLXVwOiAnJztcbiRzbWFsbC1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcbiAgJHNtYWxsLXVwOiBzY3JlZW47XG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcbn1cblxuJG1lZGl1bS11cDogJyc7XG4kbWVkaXVtLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBtZWRpdW0pIHtcbiAgJG1lZGl1bS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtKX0nKTtcbiAgJG1lZGl1bS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0gb25seSl9Jyk7XG59XG5cbiRsYXJnZS11cDogJyc7XG4kbGFyZ2Utb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIGxhcmdlKSB7XG4gICRsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfScpO1xuICAkbGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2Ugb25seSl9Jyk7XG59XG5cbiR4bGFyZ2UtdXA6ICcnO1xuJHhsYXJnZS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeGxhcmdlKSB7XG4gICR4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSl9Jyk7XG4gICR4bGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIG9ubHkpfScpO1xufVxuXG4keHhsYXJnZS11cDogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gRmluZHMgdGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yIG9mIHR3byBpbnRlZ2Vycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYSAtIEZpcnN0IG51bWJlciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYiAtIFNlY29uZCBudW1iZXIgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvci5cbkBmdW5jdGlvbiBnY2QoJGEsICRiKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9HcmVhdGVzdF9jb21tb25fZGl2aXNvciNKYXZhU2NyaXB0XG4gIEBpZiAoJGIgIT0gMCkge1xuICAgIEByZXR1cm4gZ2NkKCRiLCAkYSAlICRiKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBhYnMoJGEpO1xuICB9XG59XG5cbi8vLyBIYW5kbGVzIGRlY2ltYWwgZXhwb25lbnRzIGJ5IHRyeWluZyB0byBjb252ZXJ0IHRoZW0gaW50byBhIGZyYWN0aW9uIGFuZCB0aGVuIHVzZSBhIG50aC1yb290LWFsZ29yaXRobSBmb3IgcGFydHMgb2YgdGhlIGNhbGN1bGF0aW9uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgYmFzZSBudW1iZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRleHBvbmVudCAtIFRoZSBleHBvbmVudC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBwcm9kdWN0IG9mIHRoZSBleHBvbmVudGlhdGlvbi5cbkBmdW5jdGlvbiBwb3coJGJhc2UsICRleHBvbmVudCwgJHByZWM6IDE2KSB7XG4gIEBpZiAoZmxvb3IoJGV4cG9uZW50KSAhPSAkZXhwb25lbnQpIHtcbiAgICAkcHJlYzIgOiBwb3coMTAsICRwcmVjKTtcbiAgICAkZXhwb25lbnQ6IHJvdW5kKCRleHBvbmVudCAqICRwcmVjMik7XG4gICAgJGRlbm9taW5hdG9yOiBnY2QoJGV4cG9uZW50LCAkcHJlYzIpO1xuICAgIEByZXR1cm4gbnRoLXJvb3QocG93KCRiYXNlLCAkZXhwb25lbnQgLyAkZGVub21pbmF0b3IpLCAkcHJlYzIgLyAkZGVub21pbmF0b3IsICRwcmVjKTtcbiAgfVxuXG4gICR2YWx1ZTogJGJhc2U7XG4gIEBpZiAkZXhwb25lbnQgPiAxIHtcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqICRiYXNlO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZXhwb25lbnQgPCAxIHtcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIC0kZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgLyAkYmFzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuQGZ1bmN0aW9uIG50aC1yb290KCRudW0sICRuOiAyLCAkcHJlYzogMTIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL050aF9yb290I0phdmFTY3JpcHRcbiAgJHg6IDE7XG5cbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkcHJlYyB7XG4gICAgJHg6IDEgLyAkbiAqICgoJG4gLSAxKSAqICR4ICsgKCRudW0gLyBwb3coJHgsICRuIC0gMSkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHg7XG59XG5cbi8vLyBDYWxjdWxhdGVzIHRoZSBoZWlnaHQgYXMgYSBwZXJjZW50YWdlIG9mIHRoZSB3aWR0aCBmb3IgYSBnaXZlbiByYXRpby5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYXRpbyAtIFJhdGlvIHRvIHVzZSB0byBjYWxjdWxhdGUgdGhlIGhlaWdodCwgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuLy8vIEByZXR1cm4ge051bWJlcn0gQSBwZXJjZW50YWdlIHZhbHVlIGZvciB0aGUgaGVpZ2h0IHJlbGF0aXZlIHRvIHRoZSB3aWR0aCBvZiBhIHJlc3BvbnNpdmUgY29udGFpbmVyLlxuQGZ1bmN0aW9uIHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKSB7XG4gICR3OiBudGgoJHJhdGlvLCAxKTtcbiAgJGg6IG50aCgkcmF0aW8sIDMpO1xuICBAcmV0dXJuICRoIC8gJHcgKiAxMDAlO1xufVxuXG4vLy8gUGFyc2UgdGhlIGdpdmVuIGAkZnJhY3Rpb25gIHRvIG51bWVyYXRvcnMgYW5kIGRlbnVtZXJhdG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7Kn0gJGZyYWN0aW9uIC0gVmFsdWUgcmVwcmVzZW50aW5nIGEgZnJhY3Rpb24gdG8gcGFyc2UuIEl0IGNhbiBiZSBmb3JtYXR0ZWQgYXMgYDUwJWAsIGAxIG9mIDJgLCBgMS8yYCBvciBgNTBgIChubyBkZW5vbWluYXRvciB3b3VsZCBiZSByZXR1cm5lZCkuXG4vLy9cbi8vLyBAcmV0dXJuIHtMaXN0fSBMaXN0IG9mIHBhcnNlZCB2YWx1ZXMgd2l0aCBudW1lcmF0b3IgYXQgZmlyc3QgcG9zaXRpb24gYW5kIGRlbnVtZXJhdG9yIGFzIHNlY29uZC4gVGhlc2UgdmFsdWVzIG1heSBiZSBudWxsLlxuQGZ1bmN0aW9uIHpmLXBhcnNlLWZyYWN0aW9uKCRmcmFjdGlvbikge1xuXG4gIEBpZiB0eXBlLW9mKCRmcmFjdGlvbikgPT0gJ251bWJlcicge1xuICAgIC8vIFwiNTAlXCJcbiAgICBAaWYgdW5pdCgkZnJhY3Rpb24pID09ICclJyB7XG4gICAgICBAcmV0dXJuIChzdHJpcC11bml0KCRmcmFjdGlvbiksIDEwMCk7XG4gICAgfVxuICAgIEBlbHNlIGlmICh1bml0KCRmcmFjdGlvbikgPT0gJycpIHtcbiAgICAgIC8vIFwiMC41XCJcbiAgICAgIEBpZiAkZnJhY3Rpb24gPCAxIHtcbiAgICAgICAgQHJldHVybiAoJGZyYWN0aW9uICogMTAwLCAxMDApO1xuICAgICAgfVxuICAgICAgLy8gXCI1MFwiXG4gICAgICBAZWxzZSB7XG4gICAgICAgIEByZXR1cm4gKCRmcmFjdGlvbiwgbnVsbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgdHlwZS1vZigkZnJhY3Rpb24pID09ICdsaXN0JyB7XG4gICAgLy8gXCI1MCBvZiAxMDBcIiwgXCI1MC8xMDBcIi4uLlxuICAgIEBpZiBsZW5ndGgoJGZyYWN0aW9uKSA9PSAzXG4gICAgICBhbmQgdHlwZS1vZihudGgoJGZyYWN0aW9uLCAxKSA9PSAnbnVtYmVyJylcbiAgICAgIGFuZCB0eXBlLW9mKG50aCgkZnJhY3Rpb24sIDMpID09ICdudW1iZXInKSB7XG4gICAgICBAcmV0dXJuIChudGgoJGZyYWN0aW9uLCAxKSwgbnRoKCRmcmFjdGlvbiwgMykpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gKG51bGwsIG51bGwpO1xufVxuXG4vLy8gUmV0dXJucyB3aGV0aGVyIHRoZSBnaXZlbiBgJHZhbHVlYCByZXByZXNlbnRzIGEgZnJhY3Rpb24uIFN1cHBvcnRzIGZvcm1hdHMgbGlrZSBgNTAlYCwgYDEgb2YgMmAsIGAxIHBlciAyYCBvciBgMS8yYC5cbi8vL1xuLy8vIEBwYXJhbSB7Kn0gJHZhbHVlIC0gVmFsdWUgdG8gdGVzdC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRhbGxvdy1uby1kZW5vbWluYXRvciBbZmFsc2VdIC0gSWYgYHRydWVgLCBzaW1wbGUgbnVtYmVycyB3aXRob3V0IGRlbm9taW5hdG9ycyBsaWtlIGA1MGAgYXJlIHN1cHBvcnRlZC5cbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2xlYW59IGB0cnVlYCBpZiBgJHZhbHVlYCByZXByZXNlbnRzIGEgZnJhY3Rpb24sIGBmYWxzZWAgb3RoZXJ3aXNlLlxuQGZ1bmN0aW9uIHpmLWlzLWZyYWN0aW9uKCR2YWx1ZSwgJGFsbG93LW5vLWRlbm9taW5hdG9yOiBmYWxzZSkge1xuICAkcGFyc2VkOiB6Zi1wYXJzZS1mcmFjdGlvbigkdmFsdWUpO1xuICBAcmV0dXJuIG5vdChudGgoJHBhcnNlZCwgMSkgPT0gbnVsbFxuICAgIG9yIChudGgoJHBhcnNlZCwgMikgPT0gbnVsbCBhbmQgJGFsbG93LW5vLWRlbm9taW5hdG9yID09IGZhbHNlKSk7XG59XG5cbi8vLyBDYWxjdWxhdGUgYSBwZXJjZW50YWdlIGZyb20gYSBnaXZlbiBmcmFjdGlvbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRmcmFjdGlvbiAtIFZhbHVlIHJlcHJlc2VudGluZyBhIGZyYWN0aW9uIHRvIHVzZSB0byBjYWxjdWxhdGUgdGhlIHBlcmNlbnRhZ2UsIGZvcm1hdHRlZCBhcyBgNTBgIChyZWxhdGl2ZSB0byBgJGRlbm9taW5hdG9yYCksIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkZGVub21pbmF0b3IgLSBEZWZhdWx0IHZhbHVlIHRvIHVzZSBhcyBkZW5vbWluYXRvciB3aGVuIGAkZnJhY3Rpb25gIHJlcHJlc2VudHMgYW4gYWJzb2x1dGUgdmFsdWUuXG5AZnVuY3Rpb24gZnJhY3Rpb24tdG8tcGVyY2VudGFnZShcbiAgJGZyYWN0aW9uLFxuICAkZGVub21pbmF0b3I6IG51bGxcbikge1xuICAkcGFyc2VkOiB6Zi1wYXJzZS1mcmFjdGlvbigkZnJhY3Rpb24pO1xuICAkcGFyc2VkLW5vbWluYXRvcjogbnRoKCRwYXJzZWQsIDEpO1xuICAkcGFyc2VkLWRlbm9taW5hdG9yOiBudGgoJHBhcnNlZCwgMik7XG5cbiAgQGlmICRwYXJzZWQtbm9taW5hdG9yID09IG51bGwge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBcImZyYWN0aW9uLXRvLXBlcmNlbnRhZ2UoKVwiLiBVc2UgYSBudW1iZXIsIGRlY2ltYWwsIHBlcmNlbnRhZ2UsIG9yIFwibiBvZiBuXCIgLyBcIm4vblwiLic7XG4gIH1cbiAgQGlmICRwYXJzZWQtZGVub21pbmF0b3IgPT0gbnVsbCB7XG4gICAgQGlmIHR5cGUtb2YoJGRlbm9taW5hdG9yKSA9PSAnbnVtYmVyJyB7XG4gICAgICAkcGFyc2VkLWRlbm9taW5hdG9yOiAkZGVub21pbmF0b3I7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBlcnJvciAnRXJyb3Igd2l0aCBcImZyYWN0aW9uLXRvLXBlcmNlbnRhZ2UoKVwiLiBBIGRlZmF1bHQgXCIkZGVub21pbmF0b3JcIiBpcyByZXF1aXJlZCB0byBzdXBwb3J0IGFic29sdXRlIHZhbHVlcyc7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBwZXJjZW50YWdlKCRwYXJzZWQtbm9taW5hdG9yIC8gJHBhcnNlZC1kZW5vbWluYXRvcik7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gU2l6ZXMgY2hpbGQgZWxlbWVudHMgc28gdGhhdCBgJG5gIG51bWJlciBvZiBpdGVtcyBhcHBlYXIgb24gZWFjaCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgZWxlbWVudHMgdG8gZGlzcGxheSBwZXIgcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWycuY2VsbCddIC0gU2VsZWN0b3IocykgdG8gdXNlIGZvciBjaGlsZCBlbGVtZW50cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFtudWxsXSAtIFtERVBSRUNBVEVEXSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbbnVsbF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uIEJ5IGRlZmF1bHQgYHJpZ2h0IGxlZnRgIGZvciBob3Jpem9udGFsIGNlbGxzIGFuZCBgdG9wIGJvdHRvbWAgZm9yIHZlcnRpY2FsIGNlbGxzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgYnJlYWtwb2ludCB0byB1c2UgZm9yIHRoZSBjZWxsIGdlbmVyYXRpb24uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG4vLy8gQHBhcmFtIHtMaXN0fSAkb3V0cHV0IFsoYmFzZSBzaXplIGd1dHRlcnMpXSAtIENlbGwgcGFydHMgdG8gb3V0cHV0LiBZb3Ugd2lsbCBuZWVkIHRvIGdlbmVyYXRlIG90aGVycyBwYXJ0cyBvZiB0aGUgY2VsbCBzZXBlcmF0ZWx5LCBpdCBtYXkgbm90IHdvcmsgY29ycmVjdGx5IG90aGVyd2lzZS5cbkBtaXhpbiB4eS1ncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jZWxsJyxcbiAgJGd1dHRlci1vdXRwdXQ6IG51bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkb3V0cHV0OiAoYmFzZSBzaXplIGd1dHRlcnMpXG4pIHtcbiAgJHNpemU6IHBlcmNlbnRhZ2UoMS8kbik7XG5cbiAgJiA+ICN7JHNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZSwgJGd1dHRlci1vdXRwdXQsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24sICRicmVha3BvaW50LCAkdmVydGljYWwsICRvdXRwdXQpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ29sbGFwc2VzIHRoZSBncmlkIGEgY2VsbHMgd2l0aGluIGl0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbLmNlbGxdIC0gVGhlIGNoaWxkIGVsZW1lbnQgdG8gcmVtb3ZlIHRoZSBndXR0ZXIgZnJvbS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFRoZSB0eXBlIG9mIGd1dHRlciB0byByZW1vdmUuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbnMgdG8gcmVtb3ZlIGd1dHRlcnMgZnJvbS4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkbWluLWJyZWFrcG9pbnQgWyQtemYtemVyby1icmVha3BvaW50XSAtIE1pbmltdW0gYnJlYWtwb2ludCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgZm9yIHdoaWNoIHRvIGNvbGxhcHNlIHRoZSBndXR0ZXIuXG5AbWl4aW4geHktZ3JpZC1jb2xsYXBzZShcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJG1pbi1icmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludFxuKSB7XG4gIC8vIEZpcnN0LCBsZXRzIG5lZ2F0ZSBhbnkgbWFyZ2lucyBvbiB0aGUgdG9wIGxldmVsXG4gIEBpZiAoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgfVxuXG4gICAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJGV4Y2x1ZGVkLWJwczogLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkbWluLWJyZWFrcG9pbnQpO1xuXG4gICAgLy8gT3V0cHV0IG5ldyB3aWR0aHMgdG8gbm90IGluY2x1ZGUgZ3V0dGVyc1xuICAgIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZihzbC1jb250YWluKCRleGNsdWRlZC1icHMsICRicCkpIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICAgICAgPiAuI3skYnB9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwKSB7XG4gICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgICAgID4gLiN7JGJwfS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgIH1cblxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICAgcGFkZGluZy0jeyR2YWx1ZX06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBSZXR1cm5zIHRoZSBhcHByb3ByaWF0ZSBDU1MgdmFsdWUgdG8gb2Zmc2V0IGEgY2VsbC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gU2l6ZSB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGB4eS1jZWxsKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSBNYXAgb2YgZ3V0dGVycyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIGZvciByZXNwb25zaXZlIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHVzZS4gQ2FuIGJlIGBtYXJnaW5gIG9yIGBwYWRkaW5nYFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ8U3RyaW5nfSBUaGUgY2VsbCBvZmZzZXQgcHJvcGVydHkgdmFsdWUuXG5AZnVuY3Rpb24geHktY2VsbC1vZmZzZXQoXG4gICRuLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogbnVsbFxuKSB7XG4gICRicmVha3BvaW50OiAtemYtY3VycmVudC1icmVha3BvaW50KCRicmVha3BvaW50LCAkZGVmYXVsdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICAkc2l6ZTogeHktY2VsbC1zaXplKCRuKTtcblxuICAkb2Zmc2V0OiAkc2l6ZTtcbiAgQGlmICgkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICAkZ3V0dGVyOiByZW0tY2FsYyh4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRicmVha3BvaW50KSAvIDIpO1xuICAgICRvZmZzZXQ6IGlmKCRndXR0ZXIgPT0gMCwgJHNpemUsIGNhbGMoI3skc2l6ZX0gKyAjeyRndXR0ZXJ9KSk7XG4gIH1cbiAgQHJldHVybiAkb2Zmc2V0O1xufVxuXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQvYm90dG9tIGJ5IGAkbmAgY29sdW1ucy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gU2l6ZSB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGB4eS1jZWxsKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSBNYXAgb2YgZ3V0dGVycyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIGZvciByZXNwb25zaXZlIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHVzZS4gQ2FuIGJlIGBtYXJnaW5gIG9yIGBwYWRkaW5nYFxuLy8vIEBwYXJhbSB7TnVtYmVyfEFycmF5fEtleXdvcmR9ICRicmVha3BvaW50IFtudWxsXSAtIEJyZWFrcG9pbnQgdG8gdXNlIGZvciBgJGd1dHRlcnNgLiBJdCBjYW4gYmUgYSBicmVha3BvaW50IG5hbWUsIGxpc3Qgb2YgYnJlYWtwb2ludHMgb3IgYGF1dG9gIGZvciBhbGwgYnJlYWtwb2ludHMuIElmIGEgbGlzdCBpcyBnaXZlbiwgbWVkaWEtcXVlcmllcyB3aWxsIGJlIGdlbmVyYXRlZC4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIHRoZSBvZmZzZXQuIElmIHNldCB0byB0cnVlIHdpbGwgYXBwbHkgbWFyZ2luLXRvcCBpbnN0ZWFkLlxuQG1peGluIHh5LWNlbGwtb2Zmc2V0KFxuICRuLFxuICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAkYnJlYWtwb2ludDogbnVsbCxcbiAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJGJyZWFrcG9pbnQ6IC16Zi1jdXJyZW50LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQsICRkZWZhdWx0OiAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCwgJ3RvcCcsICRnbG9iYWwtbGVmdCk7XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludC1pbigkYnJlYWtwb2ludCwgJG1lZGlhLXF1ZXJpZXM6ICdmb3ItbGlzdHMnKSB7XG4gICAgJG9mZnNldDogeHktY2VsbC1vZmZzZXQoJG4sICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUpO1xuICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAjeyRvZmZzZXR9O1xuICB9XG59XG4iLCIvLy8gTW9kaWZpZXMgYSBncmlkIHRvIGdpdmUgaXQgXCJmcmFtZVwiIGJlaGF2aW9yIChubyBvdmVyZmxvdywgbm8gd3JhcCwgc3RyZXRjaCBiZWhhdmlvcilcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBJcyBncmlkIHZlcnRpY2FsIG9yIGhvcml6b250YWwuIFNob3VsZCBtYXRjaCBncmlkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lc3RlZCBbZmFsc2VdIC0gSXMgZ3JpZCBuZXN0ZWQgb3Igbm90LiBJZiBuZXN0ZWQgaXMgdHJ1ZSB0aGlzIHNldHMgdGhlIGZyYW1lIHRvIDEwMCUgaGVpZ2h0LCBvdGhlcndpc2Ugd2lsbCBiZSAxMDB2aC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFtudWxsXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbmNsdWRlLWJhc2UgW3RydWVdIC0gSW5jbHVkZSB0aGUgYmFzZSBzdHlsZXMgdGhhdCBkb24ndCB2YXJ5IHBlciBicmVha3BvaW50LlxuQG1peGluIHh5LWdyaWQtZnJhbWUoXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICRuZXN0ZWQ6IGZhbHNlLFxuICAkZ3V0dGVyczogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICRpbmNsdWRlLWJhc2U6IHRydWVcbikge1xuXG4gIEBpZiAkaW5jbHVkZS1iYXNlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxuXG4gIEBpZiAkYnJlYWtwb2ludCA9PSBudWxsIGFuZCB0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJyB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUoJHZlcnRpY2FsLCAkbmVzdGVkLCAkZ3V0dGVycywgJC16Zi1zaXplLCBmYWxzZSk7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAvLyBHZXQgb3VyIGd1dHRlcnMgaWYgYXBwbGljYWJsZVxuICAgICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG5cbiAgICAvLyBJZiB3ZSBoYXZlIGEgZ3V0dGVyLCBhZGQgaXQgdG8gdGhlIHdpZHRoL2hlaWdodFxuICAgIEBpZiAkZ3V0dGVyIHtcbiAgICAgIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgICAgICR1bml0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZoKTtcbiAgICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcik7XG4gICAgICAgIGhlaWdodDogY2FsYygjeyR1bml0fSArICN7JGd1dHRlcn0pO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICR1bml0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZ3KTtcbiAgICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcik7XG4gICAgICAgIHdpZHRoOiBjYWxjKCN7JHVuaXR9ICsgI3skZ3V0dGVyfSk7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgICAgIGhlaWdodDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2aCk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgd2lkdGg6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdncpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gTW9kaWZpZXMgYSBjZWxsIHRvIGdpdmUgaXQgXCJibG9ja1wiIGJlaGF2aW9yIChvdmVyZmxvdyBhdXRvLCBpbmVydGlhbCBzY3JvbGxpbmcpXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gSXMgZ3JpZCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsLiBTaG91bGQgbWF0Y2ggZ3JpZC5cbkBtaXhpbiB4eS1jZWxsLWJsb2NrKFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJHByb3BlcnR5OiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgJ292ZXJmbG93LXknLCAnb3ZlcmZsb3cteCcpO1xuXG4gIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIH0gQGVsc2Uge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbn1cblxuLy8vIENvbnRhaW5lciBmb3IgaW5zaWRlIGEgZ3JpZCBmcmFtZSBjb250YWluaW5nIG11bHRpcGxlIGJsb2Nrcy4gVHlwaWNhbGx5IHVzZWRcbi8vLyBhcyBhIG1vZGlmaWVyIGZvciBhIGAuY2VsbGAgdG8gYWxsb3cgdGhlIGNlbGwgdG8gcGFzcyBhbG9uZyBmbGV4IHNpemluZ1xuLy8vIGNvbnN0cmFpbnRzIC8gZnJvbSBwYXJlbnRzIHRvIGNoaWxkcmVuLlxuQG1peGluIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuXG4gID4gLmdyaWQteCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktYmFzZVxuLy8vL1xuXG4vLyBCYXNlIFR5cG9ncmFwaHlcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyBUaGVzZSBhcmUgc3R5bGVzIGFwcGxpZWQgdG8gYmFzaWMgSFRNTCB0YWdzLCBpbmNsdWRpbmc6XG4vLyAgIC0gUGFyYWdyYXBocyA8cD5cbi8vICAgLSBCb2xkL2l0YWxpY3MgPGI+IDxzdHJvbmc+IDxpPiA8ZW0+XG4vLyAgIC0gU21hbGwgdGV4dCA8c21hbGw+XG4vLyAgIC0gSGVhZGluZ3MgPGgxPi08aDY+XG4vLyAgIC0gQW5jaG9ycyA8YT5cbi8vICAgLSBEaXZpZGVycyA8aHI+XG4vLyAgIC0gTGlzdHMgPHVsPiA8b2w+IDxkbD5cbi8vICAgLSBCbG9ja3F1b3RlcyA8YmxvY2txdW90ZT5cbi8vICAgLSBDb2RlIGJsb2NrcyA8Y29kZT5cbi8vICAgLSBBYmJyZXZpYXRpb25zIDxhYmJyPlxuLy8gICAtIENpdGF0aW9ucyA8Y2l0ZT5cbi8vICAgLSBLZXlzdHJva2VzIDxrYmQ+XG5cbi8vLyBGb250IGZhbWlseSBmb3IgaGVhZGVyIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3R5bGUgKGUuZy4gaXRhbGljaXplZCkgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayB1c2VkIGZvciBlbGVtZW50cyB0aGF0IHVzZSBtb25vc3BhY2VkIHR5cGUsIHN1Y2ggYXMgY29kZSBzYW1wbGVzXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgZm9yIGhlYWRpbmdzIGF0IHZhcmlvdXMgc2NyZWVuIHNpemVzLiBFYWNoIGtleSBpcyBhIGJyZWFrcG9pbnQsIGFuZCBlYWNoIHZhbHVlIGlzIGEgbWFwIG9mIGhlYWRpbmcgc3R5bGVzLlxuLy8vIEB0eXBlIE1hcFxuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0OCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiA0MCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4pICFkZWZhdWx0O1xuXG4vLyAkaGVhZGVyLXN0eWxlcyBtYXAgaXMgYnVpbHQgZnJvbSAkaGVhZGVyLXNpemVzIGluIG9yZGVyIHRvIGVuc3VyZSBkb3dud2FyZCBjb21wYXRpYmlsaXR5XG4vLyB3aGVuICRoZWFkZXItc2l6ZXMgaXMgZGVwcmVjaWF0ZWQsICRoZWFkZXItc3R5bGVzIG5lZWRzIHRvIGdldCAhZGVmYXVsdCB2YWx1ZXMgbGlrZSBzZXR0aW5ncy5zY3NzXG5AZnVuY3Rpb24gYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcykge1xuICBAd2FybiAnTm90ZSwgdGhhdCAkaGVhZGVyLXNpemVzIGhhcyBiZWVuIHJlcGxhY2VkIHdpdGggJGhlYWRlci1zdHlsZXMuICRoZWFkZXItc2l6ZXMgc3RpbGwgd29ya3MsIGJ1dCBpdCBpcyBnb2luZyB0byBiZSBkZXByZWNpYXRlZC4nO1xuICAkaGVhZGVyLXN0eWxlczogKCk7XG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXNpemVzIHtcbiAgICAkaGVhZGVyLW1hcDogKCk7XG4gICAgQGVhY2ggJGhlYWRlciwgJGZvbnQtc2l6ZSBpbiAkaGVhZGVycyB7XG4gICAgICAkaGVhZGVyLW1hcDogbWFwLW1lcmdlKCRoZWFkZXItbWFwLCAoJGhlYWRlcjogKCdmb250LXNpemUnOiAkZm9udC1zaXplKSkpO1xuICAgIH1cbiAgICAkaGVhZGVyLXN0eWxlczogbWFwLW1lcmdlKCRoZWFkZXItc3R5bGVzLCAoJHNpemU6ICRoZWFkZXItbWFwKSk7XG4gIH1cbiAgQHJldHVybiAkaGVhZGVyLXN0eWxlcztcbn1cblxuLy8gSWYgaXQgZXhpc3RzICRoZWFkZXJzLXNpemVzIGlzIHVzZWQgdG8gYnVpbGQgJGhlYWRlci1zdHlsZXMuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoaGVhZGVyLXNpemVzKSB7XG4gICRoZWFkZXItc3R5bGVzOiBidWlsZF9mcm9tX2hlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKTtcbn1cblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGA8c21hbGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbWFsbC1mb250LXNpemU6IDgwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGA8c21hbGw+YCBlbGVtZW50cyB3aGVuIHBsYWNlZCBpbnNpZGUgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGluc2lkZSBgPHA+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIGZvciBwYXJhZ3JhcGggdGV4dC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIFVzZSB0aGUgYC5jb2RlLWlubGluZWAgY29tcG9uZW50IGFzIGRlZmF1bHQgZm9yIGA8Y29kZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRlbmFibGUtY29kZS1pbmxpbmU6IHRydWU7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3MuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIExpc3RcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSAhZGVmYXVsdDtcblxuLy8vIEJ1bGxldCB0eXBlIHRvIHVzZSBmb3IgdW5vcmRlcmVkIGxpc3RzIChlLmcuLCBgc3F1YXJlYCwgYGNpcmNsZWAsIGBkaXNjYCkuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjICFkZWZhdWx0O1xuXG4vLy8gUG9zaXRpb25pbmcgZm9yIGJ1bGxldHMgb24gdW5vcmRlcmVkIGxpc3QgaXRlbXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGxpc3RzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBhIGxpc3QgaW5zaWRlIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGA8ZGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGA8ZHQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBgPGR0PmAgYW5kIGA8ZGQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSBgPGJsb2NrcXVvdGU+YCBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSkgIWRlZmF1bHQ7XG5cbi8vLyBTaWRlIGJvcmRlciBmb3IgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gVXNlIHRoZSBgLmNpdGUtYmxvY2tgIGNvbXBvbmVudCBhcyBkZWZhdWx0IGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZW5hYmxlLWNpdGUtYmxvY2s6IHRydWU7XG5cbi8vLyBGb250IGZhbWlseSBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIGJvcmRlciBzdHlsZSBmb3IgYDxhYmJyPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjayAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1iYXNlIHtcbiAgLy8gVHlwb2dyYXBoeSByZXNldHNcbiAgZGl2LFxuICBkbCxcbiAgZHQsXG4gIGRkLFxuICB1bCxcbiAgb2wsXG4gIGxpLFxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2LFxuICBwcmUsXG4gIGZvcm0sXG4gIHAsXG4gIGJsb2NrcXVvdGUsXG4gIHRoLFxuICB0ZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBQYXJhZ3JhcGhzXG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgIHRleHQtcmVuZGVyaW5nOiAkcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nO1xuICB9XG5cbiAgLy8gRW1waGFzaXplZCB0ZXh0XG4gIGVtLFxuICBpIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTdHJvbmcgdGV4dFxuICBzdHJvbmcsXG4gIGIge1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU21hbGwgdGV4dFxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSGVhZGluZ3NcbiAgaDEsIC5oMSxcbiAgaDIsIC5oMixcbiAgaDMsIC5oMyxcbiAgaDQsIC5oNCxcbiAgaDUsIC5oNSxcbiAgaDYsIC5oNiB7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgZm9udC1zdHlsZTogJGhlYWRlci1mb250LXN0eWxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkaGVhZGVyLWNvbG9yO1xuICAgIHRleHQtcmVuZGVyaW5nOiAkaGVhZGVyLXRleHQtcmVuZGVyaW5nO1xuXG4gICAgc21hbGwge1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBjb2xvcjogJGhlYWRlci1zbWFsbC1mb250LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhlYWRpbmcgc3R5bGVzXG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXN0eWxlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGhlYWRlciwgJGhlYWRlci1kZWZzIGluICRoZWFkZXJzIHtcbiAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiAxcmVtO1xuICAgICAgICAjeyRoZWFkZXJ9LCAuI3skaGVhZGVyfSB7XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmb250LXNpemUpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZzKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmcykpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxoKSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGgpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMoJGhlYWRlci1saW5laGVpZ2h0LCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG10KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbXQpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1iKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWIpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCRoZWFkZXItbWFyZ2luLWJvdHRvbSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTGlua3NcbiAgYSB7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgY29sb3I6ICRhbmNob3ItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbjtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGFuY2hvci1jb2xvci1ob3ZlcjtcbiAgICAgIEBpZiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlciAhPSAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbiB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3Jpem9udGFsIHJ1bGVcbiAgaHIge1xuICAgIGNsZWFyOiBib3RoO1xuXG4gICAgbWF4LXdpZHRoOiAkaHItd2lkdGg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbjogJGhyLW1hcmdpbjtcblxuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206ICRoci1ib3JkZXI7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gIH1cblxuICAvLyBMaXN0c1xuICB1bCxcbiAgb2wsXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkbGlzdC1tYXJnaW4tYm90dG9tO1xuICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246ICRsaXN0LXN0eWxlLXBvc2l0aW9uO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGlzdC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gTGlzdCBpdGVtc1xuICBsaSB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gVW5vcmRlcmVkIGxpc3RzXG4gIHVsIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgICBsaXN0LXN0eWxlLXR5cGU6ICRsaXN0LXN0eWxlLXR5cGU7XG4gIH1cblxuICAvLyBPcmRlcmVkIGxpc3RzXG4gIG9sIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgfVxuXG4gIC8vIE5lc3RlZCB1bm9yZGVyZWQvb3JkZXJlZCBsaXN0c1xuICB1bCwgb2wge1xuICAgICYgJiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIERlZmluaXRpb24gbGlzdHNcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZGVmbmxpc3QtdGVybS13ZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2txdW90ZXNcbiAgYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAwIDAgJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuICAgIHBhZGRpbmc6ICRibG9ja3F1b3RlLXBhZGRpbmc7XG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGJsb2NrcXVvdGUtYm9yZGVyO1xuXG4gICAgJiwgcCB7XG4gICAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgICAgY29sb3I6ICRibG9ja3F1b3RlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIElubGluZSBDaXRhdGlvbnNcbiAgQGlmICgkZW5hYmxlLWNpdGUtYmxvY2sgPT0gdHJ1ZSkge1xuICAgIGNpdGUge1xuICAgICAgLy8gRXh0ZW5kaW5nIGEgY2xhc3MgaXMgbm90IHJlY29tbWVuZGVkLlxuICAgICAgLy8gVE9ETzogQnJlYWsgdGhlIHR5cG9ncmFwaHktYmFzZS90eXBvZ3JhcGh5LWhlbHBlcnMgc2VwYXJhdGlvblxuICAgICAgQGV4dGVuZCAuY2l0ZS1ibG9jaztcbiAgICB9XG4gIH1cblxuICAvLyBBYmJyZXZpYXRpb25zXG4gIGFiYnIsIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiAkYWJici11bmRlcmxpbmU7XG4gICAgY3Vyc29yOiBoZWxwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8vIEZpZ3VyZXNcbiAgZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBDb2RlXG4gIEBpZiAoJGVuYWJsZS1jb2RlLWlubGluZSA9PSB0cnVlKSB7XG4gICAgY29kZSB7XG4gICAgICBAZXh0ZW5kIC5jb2RlLWlubGluZTtcbiAgICB9XG4gIH1cblxuICAvLyBLZXlzdHJva2VzXG4gIGtiZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6ICRrZXlzdHJva2UtcGFkZGluZztcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRrZXlzdHJva2UtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAka2V5c3Ryb2tlLWZvbnQ7XG4gICAgY29sb3I6ICRrZXlzdHJva2UtY29sb3I7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRrZXlzdHJva2UtcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAka2V5c3Ryb2tlLXJhZGl1cztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBSZW1vdmVzIHRoZSB1bml0IChlLmcuIHB4LCBlbSwgcmVtKSBmcm9tIGEgdmFsdWUsIHJldHVybmluZyB0aGUgbnVtYmVyIG9ubHkuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bSAtIE51bWJlciB0byBzdHJpcCB1bml0IGZyb20uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgc2FtZSBudW1iZXIsIHNhbnMgdW5pdC5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW0pIHtcbiAgQHJldHVybiAkbnVtIC8gKCRudW0gKiAwICsgMSk7XG59XG5cbi8vLyBDb252ZXJ0cyBvbmUgb3IgbW9yZSBwaXhlbCB2YWx1ZXMgaW50byBtYXRjaGluZyByZW0gdmFsdWVzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHZhbHVlcyAtIE9uZSBvciBtb3JlIHZhbHVlcyB0byBjb252ZXJ0LiBCZSBzdXJlIHRvIHNlcGFyYXRlIHRoZW0gd2l0aCBzcGFjZXMgYW5kIG5vdCBjb21tYXMuIElmIHlvdSBuZWVkIHRvIGNvbnZlcnQgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCwgd3JhcCB0aGUgbGlzdCBpbiBwYXJlbnRoZXNlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gVGhlIGJhc2UgdmFsdWUgdG8gdXNlIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGByZW1gLiBJZiB5b3UncmUgdXNpbmcgRm91bmRhdGlvbiBvdXQgb2YgdGhlIGJveCwgdGhpcyBpcyAxNnB4LiBJZiB0aGlzIHBhcmFtZXRlciBpcyBgbnVsbGAsIHRoZSBmdW5jdGlvbiB3aWxsIHJlZmVyZW5jZSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBVc2luZyByZW0gYXMgYmFzZSBhbGxvd3MgY29ycmVjdCBzY2FsaW5nXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBlbSBpbnRvIHJlbSBpZiBzb21lb25lIGhhbmRzIG92ZXIgJ2VtJ3NcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFyZW07XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbSBvciBlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwsIHBlcmNlbnRhZ2UsIHJlbSBvciBlbSB2YWx1ZSB0byBhIHVuaXRsZXNzIHZhbHVlIGJhc2VkIG9uIGEgZ2l2ZW4gZm9udCBzaXplLiBJZGVhbCBmb3Igd29ya2luZyBvdXQgdW5pdGxlc3MgbGluZSBoZWlnaHRzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGNvbnZlcnQgdG8gYSB1bml0bGVzcyBsaW5lIGhlaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBmb250IHNpemUgdG8gdXNlIHRvIHdvcmsgb3V0IHRoZSBsaW5lIGhlaWdodCAtIGRlZmF1bHRzIHRvICRnbG9iYWwtZm9udC1zaXplXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG5AZnVuY3Rpb24gdW5pdGxlc3MtY2FsYygkdmFsdWUsICRiYXNlOiBudWxsKSB7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gRmlyc3QsIGxldHMgY29udmVydCBvdXIgJGJhc2UgdG8gcGl4ZWxzXG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ2VtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIC8vIE5vdyBsZXQncyBjb252ZXJ0IG91ciB2YWx1ZSB0byBwaXhlbHMgdG9vXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJyUnIHtcbiAgICAkdmFsdWU6ICgkdmFsdWUgLyAxMDAlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIC8vICdweCdcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIHtcbiAgICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgLy8gYXNzdW1lIHRoYXQgbGluZS1oZWlnaHRzIGdyZWF0ZXIgdGhhbiAxMCBhcmUgbWVhbnQgdG8gYmUgYWJzb2x1dGUgaW4gJ3B4J1xuICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgKCR2YWx1ZSA+IDEwKSB7XG4gICAgQHJldHVybiAkdmFsdWUgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktaGVscGVyc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxlYWQtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdG9wIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3Igc3RhdGlzdGljIG51bWJlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3RhdC1mb250LXNpemU6IDIuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGAuY2l0ZS1ibG9ja2AgY29tcG9uZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgYC5jaXRlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIFBzZXVkbyBjb250ZW50IGZvciBgLmNpdGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjaXRlLXBzZXVkby1jb250ZW50OiAnXFwyMDE0IFxcMDAyMCcgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGAuY29kZS1pbmxpbmVgIGFuZCBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbiBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGAuY29kZS1pbmxpbmVgIGFuZCBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBhcm91bmQgdGV4dCBvZiB0aGUgYC5jb2RlLWlubGluZWAgY29tcG9uZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgdGhlIGAuY29kZS1ibG9ja2AgY29tcG9uZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRjb2RlLWJsb2NrLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gdW5kZXIgdGhlIGAuY29kZS1ibG9ja2AgY29tcG9uZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNvZGUtYmxvY2stbWFyZ2luLWJvdHRvbTogMS41cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gY2l0ZS1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogJGNpdGUtY29sb3I7XG4gIGZvbnQtc2l6ZTogJGNpdGUtZm9udC1zaXplO1xuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkY2l0ZS1wc2V1ZG8tY29udGVudDtcbiAgfVxufVxuXG4vLy8gQWRkIGJhc2ljIHN0eWxlcyBmb3IgYSBjb2RlIGhlbHBlci5cbi8vLyBTZWUgYGNvZGUtaW5saW5lYCBhbmQgYGNvZGUtYmxvY2tgIG1peGlucy5cbkBtaXhpbiBjb2RlLXN0eWxlIHtcbiAgYm9yZGVyOiAkY29kZS1ib3JkZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2RlLWJhY2tncm91bmQ7XG5cbiAgZm9udC1mYW1pbHk6ICRjb2RlLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGNvZGUtZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkY29kZS1jb2xvcjtcbn1cblxuLy8vIE1ha2UgY29kZSBoZWxwZXIgZnJvbSB0aGUgYGNvZGUtc3R5bGVgIG1peGluIGlubGluZS5cbi8vLyBVc2VkIHRvIGdlbmVyYXRlIGAuY29kZS1pbmxpbmVgXG5AbWl4aW4gY29kZS1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuXG4gIHBhZGRpbmc6ICRjb2RlLXBhZGRpbmc7XG59XG5cbi8vLyBNYWtlIGNvZGUgaGVscGVyIGZyb20gdGhlIGBjb2RlLXN0eWxlYCBtaXhpbiBhIGJsb2NrLlxuLy8vIFVzZWQgdG8gZ2VuZXJhdGUgYC5jb2RlLWJsb2NrYFxuQG1peGluIGNvZGUtYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBwcmU7XG5cbiAgcGFkZGluZzogJGNvZGUtYmxvY2stcGFkZGluZztcbiAgbWFyZ2luLWJvdHRvbTogJGNvZGUtYmxvY2stbWFyZ2luLWJvdHRvbTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1oZWxwZXJzIHtcbiAgLy8gVXNlIHRvIGNyZWF0ZSBhIHN1YmhlYWRpbmcgdW5kZXIgYSBtYWluIGhlYWRlclxuICAvLyBNYWtlIHN1cmUgeW91IHBhaXIgdGhlIHR3byBlbGVtZW50cyBpbiBhIDxoZWFkZXI+IGVsZW1lbnQsIGxpa2UgdGhpczpcbiAgLy8gPGhlYWRlcj5cbiAgLy8gICA8aDE+SGVhZGluZzwvaDE+XG4gIC8vICAgPGgyPlN1YmhlYWRpbmc8L2gyPlxuICAvLyA8L2hlYWRlcj5cbiAgLnN1YmhlYWRlciB7XG4gICAgbWFyZ2luLXRvcDogJHN1YmhlYWRlci1tYXJnaW4tdG9wO1xuICAgIG1hcmdpbi1ib3R0b206ICRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtd2VpZ2h0OiAkc3ViaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkc3ViaGVhZGVyLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRzdWJoZWFkZXItY29sb3I7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYW4gaW50cm9kdWN0b3J5IGxlYWQsIGRlY2ssIGJsdXJiLCBldGMuXG4gIC5sZWFkIHtcbiAgICBmb250LXNpemU6ICRsZWFkLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGxlYWQtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhIGxhcmdlIG51bWJlciB0byBkaXNwbGF5IGEgc3RhdGlzdGljXG4gIC5zdGF0IHtcbiAgICBmb250LXNpemU6ICRzdGF0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIHAgKyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xcmVtO1xuICAgIH1cbiAgfVxuXG4gIHVsLCBvbCB7XG4gICAgLy8gVXNlIHRvIHJlbW92ZSBudW1iZXJzIGZyb20gb3JkZXJlZCBsaXN0ICYgYnVsbGV0cyBmcm9tIHVub3JkZXJlZCBsaXN0XG4gICAgJi5uby1idWxsZXQge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmNpdGUtYmxvY2sge1xuICAgIEBpbmNsdWRlIGNpdGUtYmxvY2s7XG4gIH1cblxuICAuY29kZS1pbmxpbmUge1xuICAgIEBpbmNsdWRlIGNvZGUtc3R5bGU7XG4gICAgQGluY2x1ZGUgY29kZS1pbmxpbmU7XG4gIH1cblxuICAuY29kZS1ibG9jayB7XG4gICAgQGluY2x1ZGUgY29kZS1zdHlsZTtcbiAgICBAaW5jbHVkZSBjb2RlLWJsb2NrO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRleHQtYWxpZ25tZW50IHtcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGFsaWduIGluIChsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5KSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIC50ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBJZiBgdHJ1ZWAsIGFsbCBlbGVtZW50cyB3aWxsIGhhdmUgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMgd2hlbiBwcmludGVkLCB0byBzYXZlIG9uIGluay5cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGdyb3VwIGdsb2JhbFxuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBkaXNwbGF5cyBuZXh0IHRvIGFsbCBsaW5rcyB0aGVpciBcImhyZWZcIiB3aGVuIHByaW50ZWQuXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBncm91cCBnbG9iYWxcbiRwcmludC1ocmVmczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gc2Fzcy1saW50OmRpc2FibGUtYWxsXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByaW50LXN0eWxlcyB7XG4gIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgKiB7XG4gICAgICAvLyBFbnN1cmUgYSBcImJsYWNrLW9uLXdoaXRlXCIgcHJpbnQgYnkgcmVtb3ZpbmcgYmFja2dyb3VuZHMsXG4gICAgICAvLyB1c2luZyBibGFjayB0ZXh0IGV2ZXJ5d2hlcmUgYW5kIGZvcmNpbmcgdGhlIGJyb3dzZXIgdG8gZWNvbm9taXplIGluay5cbiAgICAgIEBpZiAkcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHMge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDsgLy8gQmxhY2sgcHJpbnRzIGZhc3RlcjogaDVicC5jb20vc1xuICAgICAgICBjb2xvci1hZGp1c3Q6IGVjb25vbXk7XG4gICAgICB9XG4gICAgICAvLyBPdGhlcndpc2UsIHByZXZlbnQgYW55IGVjb25vbXkgYnkgdGhlIGJyb3dzZXIuXG4gICAgICBAZWxzZSB7XG4gICAgICAgIGNvbG9yLWFkanVzdDogZXhhY3Q7XG4gICAgICB9XG5cbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIC5oaWRlLWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgdGFibGUuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRib2R5LnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0ci5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICB0aC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuXG4gICAgLy8gRGlzcGxheSB0aGUgVVJMIG9mIGEgbGluayBhZnRlciB0aGUgdGV4dFxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxuICAgIEBpZiAkcHJpbnQtaHJlZnMge1xuICAgICAgYVtocmVmXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cihocmVmKSAnKSc7IH1cbiAgICB9XG5cbiAgICAvLyBEb24ndCBkaXNwbGF5IHRoZSBVUkwgZm9yIGltYWdlcyBvciBKYXZhU2NyaXB0L2ludGVybmFsIGxpbmtzXG4gICAgLmlyIGE6YWZ0ZXIsXG4gICAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgICBhW2hyZWZePScjJ106YWZ0ZXIgeyBjb250ZW50OiAnJzsgfVxuXG4gICAgLy8gRGlzcGxheSB3aGF0IGFuIGFiYnJldmlhdGlvbiBzdGFuZHMgZm9yIGFmdGVyIHRoZSB0ZXh0XG4gICAgYWJiclt0aXRsZV06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIodGl0bGUpICcpJzsgfVxuXG4gICAgLy8gUHJldmVudCBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGEgYmxvY2txdW90ZSBvciBwcmVmb3JtYXR0ZWQgdGV4dCBibG9ja1xuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gaDVicC5jb20vdFxuICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG5cbiAgICB0cixcbiAgICBpbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuICAgIGltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgICBAcGFnZSB7IG1hcmdpbjogMC41Y207IH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICAvLyBBdm9pZCBwYWdlIGJyZWFrcyBhZnRlciBhIGhlYWRpbmdcbiAgICBoMixcbiAgICBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG5cbiAgICAvLyBIZWxwZXIgdG8gcmUtYWxsb3cgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBjZXJ0YWluIGVsZW1lbnRzIChlLmcuIHByZSwgYmxvY2txdW90ZSwgdHIpXG4gICAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b25cbi8vLy9cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBidXR0b24gZWxlbWVudHMuXG4vLy8gQHR5cGUgRm9udFxuJGJ1dHRvbi1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBidXR0b24gZWxlbWVudHMuXG4vLy8gSWdub3JlZCBpZiBudWxsIChkZWZhdWx0KVxuLy8vIEB0eXBlIEZvbnQtV2VpZ2h0XG4kYnV0dG9uLWZvbnQtd2VpZ2h0OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYXJvdW5kIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmaWxsIGZvciBidXR0b25zLiBDYW4gZWl0aGVyIGJlIGBzb2xpZGAgb3IgYGhvbGxvd2AuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGJ1dHRvbi1maWxsOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRpdmUgZm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGJ1dHRvbnMsIHRyYW5zcGFyZW50IGJ5IGRlZmF1bHRcbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHdpZHRoIGZvciBob2xsb3cgb3V0bGluZSBidXR0b25zXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAwLjlyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gb3BhY2l0eSBmb3IgYSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBob2xsb3cgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJSAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWw6IGZsaXAgZnJvbSBtYXJnaW4tcmlnaHQgdG8gbWFyZ2luLWxlZnQgZm9yIGRlZmF1bHRzXG5AaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG59XG5cbi8vLyB0cmFuc2l0aW9ucyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLy8gQWRkaXRpb25hbCByZXNwb25zaXZlIGNsYXNzZXMgZm9yIC5leHBhbmRlZFxuLy8vIEB0eXBlIEJvb2xlYW5cbiRidXR0b24tcmVzcG9uc2l2ZS1leHBhbmRlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFRPRE86IERvY3VtZW50IGJ1dHRvbi1iYXNlKCkgbWl4aW5cbkBtaXhpbiBidXR0b24tYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuXG4gIEBpZiAodHlwZS1vZigkYnV0dG9uLXBhZGRpbmcpID09ICdtYXAnKSB7XG4gICAgQGVhY2ggJHNpemUsICRwYWRkaW5nIGluICRidXR0b24tcGFkZGluZyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xuICB9XG5cbiAgYm9yZGVyOiAkYnV0dG9uLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gIHRyYW5zaXRpb246ICRidXR0b24tdHJhbnNpdGlvbjtcbiAgZm9udC1mYW1pbHk6ICRidXR0b24tZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcbiAgZm9udC13ZWlnaHQ6ICRidXR0b24tZm9udC13ZWlnaHQ7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vLy8gRXhwYW5kcyBhIGJ1dHRvbiB0byBtYWtlIGl0IGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIHRoZSBleHBhbmQgYmVoYXZpb3IuIFNldCB0byBgZmFsc2VgIHRvIHJldmVyc2UgdGhpcyBiZWhhdmlvci5cbkBtaXhpbiBidXR0b24tZXhwYW5kKCRleHBhbmQ6IHRydWUpIHtcbiAgQGlmICRleHBhbmQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGJhc2Ugc3R5bGVzIG9mIGEgaG9sbG93IG9yIGNsZWFyIGJ1dHRvbiBmaWxsaW5nIGFjY29yZGluZyB0byBgJGZpbGxgLlxuLy8vIFNlZSBtaXhpbiBgYnV0dG9uLWZpbGwtc3R5bGVgIGZvciB0aGUgZmlsbGluZyBzdHlsZXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZmlsbCBbJGJ1dHRvbi1maWxsXSAtIFR5cGUgb2YgZmlsbGluZyBiZXR3ZWVuIGBob2xsb3dgIGFuZCBgY2xlYXJgLiBgc29saWRgIGhhcyBubyBlZmZlY3RzLlxuQG1peGluIGJ1dHRvbi1maWxsKFxuICAkZmlsbDogJGJ1dHRvbi1maWxsXG4pIHtcbiAgQGlmICRmaWxsID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgfVxuICBAZWxzZSBpZiAkZmlsbCA9PSBjbGVhciB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWNsZWFyO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGVzIG9mIGEgc29saWQvaG9sbG93L2NsZWFyIGJ1dHRvbiBmaWxsaW5nIGFjY29yZGluZyB0byBgJGZpbGxgLlxuLy8vIFNlZSBtaXhpbnMgYGJ1dHRvbi1zdHlsZWAsIGBidXR0b24taG9sbG93LXN0eWxlYCBhbmQgYGJ1dHRvbi1jbGVhci1zdHlsZWAgZm9yIGVmZmVjdHMgb2YgdmlzdWFsIHN0eWxpbmcgcGFyYW1ldGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmaWxsIFskYnV0dG9uLWZpbGxdIC0gVHlwZSBvZiBmaWxsaW5nIGJldHdlZW4gYGhvbGxvd2AgYW5kIGBjbGVhcmAuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSAtXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSAtXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIC1cbkBtaXhpbiBidXR0b24tZmlsbC1zdHlsZShcbiAgJGZpbGw6ICRidXR0b24tZmlsbCxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yXG4pIHtcbiAgQGlmICRmaWxsID09IHNvbGlkIHtcbiAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuICB9XG4gIEBlbHNlIGlmICRmaWxsID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cbiAgQGVsc2UgaWYgJGZpbGwgPT0gY2xlYXIge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1jbGVhci1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZSBvZiBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gYnV0dG9uLXN0eWxlKFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzc1xuKSB7XG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgJGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGJ1dHRvbi1jb2xvciwgJGJ1dHRvbi1jb2xvci1hbHQpKTtcbiAgfVxuXG4gIEBpZiAkYmFja2dyb3VuZC1ob3ZlciA9PSBhdXRvIHtcbiAgICAkYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJhY2tncm91bmQsICRsaWdodG5lc3M6ICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzcyk7XG4gIH1cblxuICAvLyBEZWZhdWx0IGFuZCBkaXNhYmxlZCBzdGF0ZXNcbiAgJixcbiAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0sXG4gICYuZGlzYWJsZWQ6aG92ZXIsICZbZGlzYWJsZWRdOmhvdmVyLFxuICAmLmRpc2FibGVkOmZvY3VzLCAmW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGJhc2Ugc3R5bGVzIG9mIGEgaG9sbG93IGJ1dHRvbi5cbi8vLyBTZWUgbWl4aW4gYGJ1dHRvbi1ob2xsb3ctc3R5bGVgIGZvciB0aGUgZmlsbGluZyBzdHlsZXMuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdyB7XG4gICYsICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgaG9sbG93IGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tYmFja2dyb3VuZF0gLSBUZXh0IGFuZCBib3JkZXIgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkaG92ZXItbGlnaHRuZXNzIFskYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3NdIC0gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRib3JkZXItd2lkdGggWyRidXR0b24taG9sbG93LWJvcmRlci13aWR0aF0gLSBCb3JkZXIgd2lkdGggb2YgdGhlIGJ1dHRvbi5cbkBtaXhpbiBidXR0b24taG9sbG93LXN0eWxlKFxuICAkY29sb3I6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzLFxuICAkYm9yZGVyLXdpZHRoOiAkYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGhcbikge1xuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGhvdmVyLWxpZ2h0bmVzcyk7XG5cbiAgLy8gRGVmYXVsdCBhbmQgZGlzYWJsZWQgc3RhdGVzXG4gICYsXG4gICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdLFxuICAmLmRpc2FibGVkOmhvdmVyLCAmW2Rpc2FibGVkXTpob3ZlcixcbiAgJi5kaXNhYmxlZDpmb2N1cywgJltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkY29sb3I7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGJhc2Ugc3R5bGVzIG9mIGEgY2xlYXIgYnV0dG9uLlxuLy8vIFNlZSBtaXhpbiBgYnV0dG9uLWNsZWFyLXN0eWxlYCBmb3IgdGhlIGZpbGxpbmcgc3R5bGVzLlxuQG1peGluIGJ1dHRvbi1jbGVhciB7XG4gICYsICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZSBvZiBhIGNsZWFyIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tYmFja2dyb3VuZF0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGhvdmVyLWxpZ2h0bmVzcyBbJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzXSAtIENvbG9yIGxpZ2h0bmVzcyBvbiBob3Zlci5cbkBtaXhpbiBidXR0b24tY2xlYXItc3R5bGUoXG4gICRjb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3Ncbikge1xuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGhvdmVyLWxpZ2h0bmVzcyk7XG5cbiAgLy8gRGVmYXVsdCBhbmQgZGlzYWJsZWQgc3RhdGVzXG4gICYsXG4gICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdLFxuICAmLmRpc2FibGVkOmhvdmVyLCAmW2Rpc2FibGVkXTpob3ZlcixcbiAgJi5kaXNhYmxlZDpmb2N1cywgJltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICB9XG59XG5cbi8vLyBBZGRzIGRpc2FibGVkIHN0eWxlcyB0byBhIGJ1dHRvbiBieSBmYWRpbmcgdGhlIGVsZW1lbnQgYW5kIHJlc2V0aW5nIHRoZSBjdXJzb3IuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcGFjaXR5IFskYnV0dG9uLW9wYWNpdHktZGlzYWJsZWRdIC0gT3BhY2l0eSBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLlxuQG1peGluIGJ1dHRvbi1kaXNhYmxlZChcbiAgJG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZFxuKSB7XG4gIG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLy8vIEFkZHMgYSBkcm9wZG93biBhcnJvdyB0byBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgWzAuNGVtXSAtIFNpemUgb2YgdGhlIGFycm93LiBXZSByZWNvbW1lbmQgdXNpbmcgYW4gYGVtYCB2YWx1ZSBzbyB0aGUgdHJpYW5nbGUgc2NhbGVzIHdoZW4gdXNlZCBpbnNpZGUgZGlmZmVyZW50IHNpemVzIG9mIGJ1dHRvbnMuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFt3aGl0ZV0gLSBDb2xvciBvZiB0aGUgYXJyb3cuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvZmZzZXQgWyRidXR0b24tcGFkZGluZ10gLSBEaXN0YW5jZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHQgb2YgdGhlIGJ1dHRvbi4gRGVmYXVsdHMgdG8gd2hhdGV2ZXIgdGhlIHJpZ2h0IHBhZGRpbmcgb2YgYSBidXR0b24gaXMuXG5AbWl4aW4gYnV0dG9uLWRyb3Bkb3duKFxuICAkc2l6ZTogMC40ZW0sXG4gICRjb2xvcjogJHdoaXRlLFxuICAkb2Zmc2V0OiBnZXQtc2lkZSgkYnV0dG9uLXBhZGRpbmcsIHJpZ2h0KVxuKSB7XG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHNpemUsICRjb2xvciwgZG93bik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07IC8vIEFsaWducyB0aGUgYXJyb3cgd2l0aCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uXG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1yaWdodH07XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcbiAgfVxufVxuXG4vLy8gQWRkcyBhbGwgc3R5bGVzIGZvciBhIGJ1dHRvbi4gRm9yIG1vcmUgZ3JhbnVsYXIgY29udHJvbCBvdmVyIHN0eWxlcywgdXNlIHRoZSBpbmRpdmlkdWFsIGJ1dHRvbiBtaXhpbnMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIG1ha2UgdGhlIGJ1dHRvbiBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHlsZSBbc29saWRdIC0gU2V0IHRvIGBob2xsb3dgIHRvIGNyZWF0ZSBhIGhvbGxvdyBidXR0b24uIFRoZSBjb2xvciBkZWZpbmVkIGluIGAkYmFja2dyb3VuZGAgd2lsbCBiZSB1c2VkIGFzIHRoZSBwcmltYXJ5IGNvbG9yIG9mIHRoZSBidXR0b24uXG5AbWl4aW4gYnV0dG9uKFxuICAkZXhwYW5kOiBmYWxzZSxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkc3R5bGU6ICRidXR0b24tZmlsbFxuKSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xuICBAaW5jbHVkZSBidXR0b24tZmlsbCgkc3R5bGUpO1xuICBAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkc3R5bGUsICRiYWNrZ3JvdW5kLCAkYmFja2dyb3VuZC1ob3ZlciwgJGNvbG9yKTtcblxuICBAaWYgJGV4cGFuZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24ge1xuICAuYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBidXR0b24oJHN0eWxlOiBub25lKTtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDsgfVxuXG4gICAgQGlmICRidXR0b24tcmVzcG9uc2l2ZS1leHBhbmRlZCB7XG4gICAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSBvbmx5KSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1vbmx5LWV4cGFuZGVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSBkb3duKSB7XG4gICAgICAgICAgICAmLiN7JHNpemV9LWRvd24tZXhwYW5kZWQge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoI3skc2l6ZX0pIHtcbiAgICAgICAgICAgICYuI3skc2l6ZX0tZXhwYW5kZWQge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNvbGlkLCBob2xsb3cgJiBjbGVhciBzdHlsZXNcbiAgICBAZWFjaCAkZmlsbGluZyBpbiAoc29saWQgaG9sbG93IGNsZWFyKSB7XG4gICAgICAkc2VsZWN0b3I6IGlmKCRidXR0b24tZmlsbCA9PSAkZmlsbGluZywgbnVsbCwgJy4jeyRmaWxsaW5nfScpO1xuXG4gICAgICAmI3skc2VsZWN0b3J9IHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwoJGZpbGxpbmcpO1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkZmlsbGluZyk7XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwtc3R5bGUoJGZpbGxpbmcsICRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgICAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLy8gRHJvcGRvd24gYXJyb3dcbiAgICAmLmRyb3Bkb3duIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kcm9wZG93bjtcblxuICAgICAgQGlmICRidXR0b24tZmlsbCA9PSBob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuaG9sbG93LCAmLmNsZWFyIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJ1dHRvbiB3aXRoIGRyb3Bkb3duIGFycm93IG9ubHlcbiAgICAmLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgICAgIHRvcDogLTAuMWVtO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIH1cbiAgfVxuXG4gIGEuYnV0dG9uIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRm9udCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIG9mIHBsYWNlaG9sZGVyIHRleHQgd2l0aGluIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEZvbnRcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBmb2N1c2VkIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGZvY3VzZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBpbnNpZGUgdGV4dCBpbnB1dHMgd2hlbiBub3QgZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgb3V0c2lkZSB0ZXh0IGlucHV0cyB3aGVuIGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEN1cnNvciB0byB1c2Ugd2hlbiBob3ZlcmluZyBvdmVyIGEgZGlzYWJsZWQgdGV4dCBpbnB1dC5cbi8vLyBAdHlwZSBDdXJzb3JcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG4vLy8gUHJvcGVydGllcyB0byB0cmFuc2l0aW9uIG9uIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgdGhlIHVwL2Rvd24gYnV0dG9ucyB0aGF0IENocm9tZSBhbmQgRmlyZWZveCBhZGQgdG8gYDxpbnB1dCB0eXBlPSdudW1iZXInPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFJhZGl1cyBmb3IgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGZvcm0gYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tZWxlbWVudCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkaW5wdXQtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdztcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXRleHQge1xuICAvLyBUZXh0IGlucHV0c1xuICAje3RleHQtaW5wdXRzKCl9LFxuICB0ZXh0YXJlYSB7XG4gICAgQGluY2x1ZGUgZm9ybS1lbGVtZW50O1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyBUZXh0IGFyZWFzXG4gIHRleHRhcmVhIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAmW3Jvd3NdIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICBpbnB1dCxcbiAgdGV4dGFyZWEge1xuICAgIC8vIERpc2FibGVkL3JlYWRvbmx5IHN0YXRlXG4gICAgJjpkaXNhYmxlZCxcbiAgICAmW3JlYWRvbmx5XSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb24gYnV0dG9uLWxpa2UgaW5wdXRzXG4gIFt0eXBlPSdzdWJtaXQnXSxcbiAgW3R5cGU9J2J1dHRvbiddIHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLWJ1dHRvbi1yYWRpdXM7XG4gIH1cblxuICAvLyBSZXNldCBOb3JtYWxpemUgc2V0dGluZyBjb250ZW50LWJveCB0byBzZWFyY2ggZWxlbWVudHNcbiAgaW5wdXRbdHlwZT0nc2VhcmNoJ10geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLy8gTnVtYmVyIGlucHV0IHN0eWxlc1xuICBbdHlwZT0nbnVtYmVyJ10ge1xuICAgIEBpZiBub3QgJGlucHV0LW51bWJlci1zcGlubmVycyB7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcblxuICAgICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICAgICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQbGFjZWhvbGRlciB0ZXh0XG4gIDo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWNoZWNrYm94IHtcbiAgW3R5cGU9J2ZpbGUnXSxcbiAgW3R5cGU9J2NoZWNrYm94J10sXG4gIFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dC9sYWJlbCBzaWJsaW5nc1xuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgJltmb3JdIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0cyBpbnNpZGUgbGFiZWxzXG4gIGxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG4gIGxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLy8gTm9ybWFsaXplIGZpbGUgaW5wdXQgd2lkdGhcbiAgW3R5cGU9J2ZpbGUnXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3IgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgZm9ybSBsYWJlbHMuIFRoZSBoaWdoZXIgdGhlIG51bWJlciwgdGhlIG1vcmUgc3BhY2UgYmV0d2VlbiB0aGUgbGFiZWwgYW5kIGl0cyBpbnB1dCBmaWVsZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjggIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcblxuICBmb250LXNpemU6ICRmb3JtLWxhYmVsLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvcjtcbn1cblxuQG1peGluIGZvcm0tbGFiZWwtbWlkZGxlIHtcbiAgJGlucHV0LWJvcmRlci13aWR0aDogZ2V0LWJvcmRlci12YWx1ZSgkaW5wdXQtYm9yZGVyLCB3aWR0aCk7XG5cbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgLyAyICsgcmVtLWNhbGMoJGlucHV0LWJvcmRlci13aWR0aCkpIDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tbGFiZWwge1xuICBsYWJlbCB7XG4gICAgQGluY2x1ZGUgZm9ybS1sYWJlbDtcblxuICAgICYubWlkZGxlIHtcbiAgICAgIEBpbmNsdWRlIGZvcm0tbGFiZWwtbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzdHlsZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0taGVscHRleHQge1xuICAuaGVscC10ZXh0IHtcbiAgICAkbWFyZ2luLXRvcDogKCRmb3JtLXNwYWNpbmcgKiAwLjUpICogLTE7XG5cbiAgICBtYXJnaW4tdG9wOiAkbWFyZ2luLXRvcDtcbiAgICBmb250LXNpemU6ICRoZWxwdGV4dC1mb250LXNpemU7XG4gICAgZm9udC1zdHlsZTogJGhlbHB0ZXh0LWZvbnQtc3R5bGU7XG4gICAgY29sb3I6ICRoZWxwdGV4dC1jb2xvcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExlZnQvcmlnaHQgcGFkZGluZyBvZiBhbiBwcmUvcG9zdGZpeGVkIGlucHV0IGxhYmVsXG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tcHJlcG9zdGZpeCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogJGlucHV0LWxpbmUtaGVpZ2h0KSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgdGFibGUpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIH1cblxuICAgID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgICYsICYuaW5wdXQtZ3JvdXAtYnV0dG9uID4gKiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgICYsICYuaW5wdXQtZ3JvdXAtYnV0dG9uID4gKiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAlaW5wdXQtZ3JvdXAtY2hpbGQge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nOiAwICRpbnB1dC1wcmVmaXgtcGFkZGluZztcbiAgICBib3JkZXI6ICRpbnB1dC1wcmVmaXgtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDtcblxuICAgIGNvbG9yOiAkaW5wdXQtcHJlZml4LWNvbG9yO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtcHJlZml4LWJvcmRlcikge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIGEsXG4gICAgaW5wdXQsXG4gICAgYnV0dG9uLFxuICAgIGxhYmVsIHtcbiAgICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuXG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgICB9XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNwZWNpZmljaXR5IGJ1bXAgbmVlZGVkIHRvIHByZXZlbnQgb3ZlcnJpZGUgYnkgYnV0dG9uc1xuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgLmlucHV0LWdyb3VwIHtcbiAgICAgIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBiZXR3ZWVuIHRoZSBsZWdlbmQgdGV4dCBhbmQgZmllbGRzZXQgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpICFkZWZhdWx0O1xuXG5AbWl4aW4gZmllbGRzZXQge1xuICBtYXJnaW46ICRmaWVsZHNldC1tYXJnaW47XG4gIHBhZGRpbmc6ICRmaWVsZHNldC1wYWRkaW5nO1xuICBib3JkZXI6ICRmaWVsZHNldC1ib3JkZXI7XG5cbiAgbGVnZW5kIHtcbiAgICAvLyBDb3ZlcnMgdXAgdGhlIGZpZWxkc2V0J3MgYm9yZGVyIHRvIGNyZWF0ZSBhcnRpZmljaWFsIHBhZGRpbmdcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogcmVtLWNhbGMoLTMpO1xuICAgIHBhZGRpbmc6ICRsZWdlbmQtcGFkZGluZztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWZpZWxkc2V0IHtcbiAgZmllbGRzZXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIGxlZ2VuZCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAuZmllbGRzZXQge1xuICAgIEBpbmNsdWRlIGZpZWxkc2V0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZHJvcGRvd24gdHJpYW5nbGUgaW5zaWRlIHNlbGVjdCBtZW51cy4gU2V0IHRvIGB0cmFuc3BhcmVudGAgdG8gcmVtb3ZlIGl0IGVudGlyZWx5LlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1zZWxlY3Qge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqIHVuaXRsZXNzLWNhbGMoJGlucHV0LWxpbmUtaGVpZ2h0KSkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcblxuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRzZWxlY3QtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWJhY2tncm91bmQ7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiAkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yICE9IHRyYW5zcGFyZW50IHtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRzZWxlY3QtdHJpYW5nbGUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkZ2xvYmFsLXJpZ2h0ICgtJGZvcm0tc3BhY2luZykgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuXG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAoJGZvcm0tc3BhY2luZyAqIDEuNSk7XG4gIH1cblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gSGlkZSB0aGUgZHJvcGRvd24gYXJyb3cgc2hvd24gaW4gbmV3ZXIgSUUgdmVyc2lvbnNcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICZbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxuICAmOm5vdChbbXVsdGlwbGVdKSB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1zZWxlY3Qge1xuICBzZWxlY3Qge1xuICAgIEBpbmNsdWRlIGZvcm0tc2VsZWN0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWJpZGVcbi8vLy9cblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBpbnB1dHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWlucHV0czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBsYWJlbHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWxhYmVsczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgdG8gdXNlIGZvciBpbnZhbGlkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdG8gdXNlIGZvciBsYWJlbHMgb2YgaW52YWxpZCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlciBvZiBhbiBpbnB1dCBmaWVsZCB0byBoYXZlIGFuIGVycm9yIHN0YXRlLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRhbGVydC1jb2xvcl0gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYWNrZ3JvdW5kLWxpZ2h0ZW4gWzEwJV0gLSBMaWdodG5lc3MgbGV2ZWwgb2YgdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gZm9ybS1pbnB1dC1lcnJvcihcbiAgJGJhY2tncm91bmQ6ICRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQsXG4gICRiYWNrZ3JvdW5kLWxpZ2h0ZW46IDEwJVxuKSB7XG4gICY6bm90KDpmb2N1cykge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWl4KCRiYWNrZ3JvdW5kLCAkd2hpdGUsICRiYWNrZ3JvdW5kLWxpZ2h0ZW4pO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBlcnJvciBzdHlsZXMgdG8gYSBmb3JtIGVsZW1lbnQsIHVzaW5nIHRoZSB2YWx1ZXMgaW4gdGhlIHNldHRpbmdzIGZpbGUuXG5AbWl4aW4gZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6ICRmb3JtLXNwYWNpbmcgKiAtMC41O1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gIGZvbnQtc2l6ZTogJGlucHV0LWVycm9yLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1lcnJvci1mb250LXdlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1lcnJvci1jb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1lcnJvciB7XG4gIEBpZiAkYWJpZGUtaW5wdXRzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgaW52YWxpZCBpbnB1dHNcbiAgICAuaXMtaW52YWxpZC1pbnB1dCB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWlucHV0LWVycm9yO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkYWJpZGUtbGFiZWxzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgbGFiZWxzIG9mIGludmFsaWQgb3V0cHV0c1xuICAgIC5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZvcm0gZXJyb3IgZWxlbWVudFxuICAuZm9ybS1lcnJvciB7XG4gICAgQGluY2x1ZGUgZm9ybS1lcnJvcjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjYWxsb3V0XG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmFkZSB2YWx1ZSBmb3IgY2FsbG91dCBiYWNrZ3JvdW5kcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgc3R5bGUgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIExpc3RcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgQ2FsbG91dCBwYWRkaW5ncy5cbi8vLyBAdHlwZSBNYXBcbiRjYWxsb3V0LXNpemVzOiAoXG4gIHNtYWxsOiAwLjVyZW0sXG4gIGRlZmF1bHQ6IDFyZW0sXG4gIGxhcmdlOiAzcmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLCBpZiB0aGUgY2FsbG91dCBoYXMgYSBkYXJrIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFtb3VudCB0byB0aW50IGxpbmtzIHVzZWQgd2l0aGluIGNvbG9yZWQgcGFuZWxzLiBTZXQgdG8gYGZhbHNlYCB0byBkaXNhYmxlIHRoaXMgZmVhdHVyZS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBCb29sZWFuXG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhIGNhbGxvdXQsIGluY2x1ZGluZyBwYWRkaW5nIGFuZCBtYXJnaW4uXG5AbWl4aW4gY2FsbG91dC1iYXNlKCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogJGNhbGxvdXQtbWFyZ2luO1xuICBwYWRkaW5nOiBtYXAtZ2V0KCRjYWxsb3V0LXNpemVzLCBkZWZhdWx0KTtcblxuICBib3JkZXI6ICRjYWxsb3V0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGNhbGxvdXQtcmFkaXVzO1xuXG4gIC8vIFJlc3BlY3QgdGhlIHBhZGRpbmcsIGZvb2wuXG4gID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgcXVpY2sgc3R5bGVzIGZvciBhIGNhbGxvdXQgdXNpbmcgYSBzaW5nbGUgY29sb3IgYXMgYSBiYXNlbGluZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQtc3R5bGUoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gICRiYWNrZ3JvdW5kOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRjYWxsb3V0LWJhY2tncm91bmQtZmFkZSk7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGNhbGxvdXQtZm9udC1jb2xvciwgJGNhbGxvdXQtZm9udC1jb2xvci1hbHQpKTtcbn1cblxuQG1peGluIGNhbGxvdXQtc2l6ZSgkcGFkZGluZykge1xuICBwYWRkaW5nLXRvcDogJHBhZGRpbmc7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XG4gIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG59XG5cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhbGxvdXQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0KCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICBAaW5jbHVkZSBjYWxsb3V0LWJhc2U7XG4gIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FsbG91dCB7XG4gIC5jYWxsb3V0IHtcbiAgICBAaW5jbHVkZSBjYWxsb3V0O1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVhY2ggJHNpemUsICRwYWRkaW5nIGluIG1hcC1yZW1vdmUoJGNhbGxvdXQtc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoJHBhZGRpbmcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJlc3BvbnNpdmUtZW1iZWRcbi8vLy9cblxuLy8vIE1hcmdpbiBiZWxvdyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gQXNwZWN0IHJhdGlvcyB1c2VkIHRvIGRldGVybWluZSBwYWRkaW5nLWJvdHRvbSBvZiByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lcnMuXG4vLy8gQHR5cGUgTWFwXG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcbiAgZGVmYXVsdDogNCBieSAzLFxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxuKSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ3xMaXN0fSAkcmF0aW8gW2RlZmF1bHRdIC0gUmF0aW8gb2YgdGhlIGNvbnRhaW5lci4gQ2FuIGJlIGEga2V5IGZyb20gdGhlIGAkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3NgIG1hcCBvciBhIGxpc3QgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuQG1peGluIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KSB7XG4gIEBpZiB0eXBlLW9mKCRyYXRpbykgPT0gJ3N0cmluZycge1xuICAgICRyYXRpbzogbWFwLWdldCgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsICRyYXRpbyk7XG4gIH1cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b207XG4gIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgaWZyYW1lLFxuICBvYmplY3QsXG4gIGVtYmVkLFxuICB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQge1xuICAucmVzcG9uc2l2ZS1lbWJlZCxcbiAgLmZsZXgtdmlkZW8ge1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KTtcblxuICAgICRyYXRpb3M6IG1hcC1yZW1vdmUoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLGRlZmF1bHQpO1xuXG4gICAgQGVhY2ggJG5hbWUsICRyYXRpbyBpbiAkcmF0aW9zIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFibGVcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIHRhYmxlIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSBzdHJpcGVkIHRhYmxlIHJvd3MgYW5kIHRoZSB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtY29sb3Itc2NhbGU6IDUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzdHlsZSBmb3IgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFibGUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtaG92ZXItc2NhbGU6IDIlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdGFuZGFyZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RyaXBlZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIHRhYmxlcyBhcmUgc3RyaXBlZCBieSBkZWZhdWx0IGFuZCBhbiAudW5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuIElmIGBmYWxzZWAsIGEgLnN0cmlwZWQgY2xhc3MgaXMgY3JlYXRlZC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3Igc3RyaXBlZCByb3dzLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIHN0cmlwZSBvbiByb3dzIG9mIHRoZSB0YWJsZXMsIGV4Y2x1ZGluZyB0aGUgaGVhZGVyIGFuZCBmb290ZXIuIElmIGV2ZW4sIHRoZSBldmVuIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgb2RkLCB0aGUgb2RkIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgZW1wdHksIG9yIGFueSBvdGhlciB2YWx1ZSwgdGhlIHRhYmxlIHJvd3Mgd2lsbCBoYXZlIG5vIHN0cmlwaW5nLlxuLy8vIEB0eXBlIEtleXdvcmRcbiR0YWJsZS1zdHJpcGU6IGV2ZW4gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWFkZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBoZWFkZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgZm9vdGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBmb290ZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBoZWFkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvb3Rlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIGhlYWRlciB3aGVuIHVzaW5nIHN0YWNrZWQgdGFibGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCcmVha3BvaW50IGF0IHdoaWNoIHN0YWNrZWQgdGFibGUgc3dpdGNoZXMgZnJvbSBtb2JpbGUgdG8gZGVza3RvcCB2aWV3LlxuLy8vIEB0eXBlIEJyZWFrcG9pbnRcbiR0YWJsZS1zdGFjay1icmVha3BvaW50OiBtZWRpdW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUpIHtcbiAgdHIge1xuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gZXZlbiwgZGFya2VuIHRoZSBldmVuIHJvd3MuXG4gICAgQGlmICRzdHJpcGUgPT0gZXZlbiB7XG4gICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBvZGQsIGRhcmtlbiB0aGUgb2RkIHJvd3MuXG4gICAgQGVsc2UgaWYgJHN0cmlwZSA9PSBvZGQge1xuICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtdW5zdHJpcGUoKSB7XG4gIHRyIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJvcmRlci1ib3R0b206ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cbn1cblxuQG1peGluIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSwgJGlzLXN0cmlwZWQ6ICR0YWJsZS1pcy1zdHJpcGVkKSB7XG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3Qge1xuICAgIGJvcmRlcjogJHRhYmxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENhcHRpb25cbiAgY2FwdGlvbiB7XG4gICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkXG4gIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtaGVhZC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGFibGUtaGVhZC1mb250LWNvbG9yO1xuICB9XG5cbiAgLy8gVGFibGUgZm9vdFxuICB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWZvb3QtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWZvb3QtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGhlYWQgYW5kIGZvb3RcbiAgdGhlYWQsXG4gIHRmb290IHtcbiAgICAvLyBSb3dzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdHIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLy8gQ2VsbHMgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgdGV4dC1hbGlnbjogI3skZ2xvYmFsLWxlZnR9O1xuICAgIH1cbiAgfVxuXG4gIC8vIFRhYmxlIHJvd3NcbiAgdGJvZHkge1xuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRhYmxlcyBhcmUgc3RyaXBlZFxuICBAaWYgJGlzLXN0cmlwZWQgPT0gdHJ1ZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICB9XG5cbiAgICAmLnVuc3RyaXBlZCB7XG4gICAgICB0Ym9keSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS11bnN0cmlwZSgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIG5vdCBzdHJpcGVkXG4gIEBlbHNlIGlmICRpcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICB0Ym9keSB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICB9XG5cbiAgICAmLnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRhYmxlcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHJpcGUgWyR0YWJsZS1zdHJpcGVdIC0gVXNlcyBrZXl3b3JkcyBldmVuLCBvZGQsIG9yIG5vbmUgdG8gZGFya2VuIHJvd3Mgb2YgdGhlIHRhYmxlLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBldmVuLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lc3QgW2ZhbHNlXSAtIE5lZWRlZCBpZiB5b3Ugb25seSB3YW50IHRvIGFwcGx5IHRoaXMgdG8gYSBzcGVjaWZpYyB0YWJsZS5cbkBtaXhpbiB0YWJsZShcbiAgJHN0cmlwZTogJHRhYmxlLXN0cmlwZSxcbiAgJG5lc3Q6IGZhbHNlXG4pIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuICBAaWYgJG5lc3Qge1xuICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBhdC1yb290IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBhYmlsaXR5IHRvIGhvcml6b250YWxseSBzY3JvbGwgdGhlIHRhYmxlIHdoZW4gdGhlIGNvbnRlbnQgb3ZlcmZsb3dzIGhvcml6b250YWxseS5cbkBtaXhpbiB0YWJsZS1zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG59XG5cbi8vLyBTbGlnaHRseSBkYXJrZW5zIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuQG1peGluIHRhYmxlLWhvdmVyIHtcbiAgdGhlYWQgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaGVhZC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGZvb3QgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZm9vdC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGJvZHkgdHIge1xuICAgIC8vRGFya2VucyB0aGUgbm9uLXN0cmlwZWQgdGFibGUgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgQGlmICR0YWJsZS1pcy1zdHJpcGVkID09IHRydWUge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZSBpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICR0YWJsZS1pcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEYXJrZW5zIHRoZSBvZGQgc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBlbHNlIGlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhY2tlZCB0YWJsZS4gVXNlZnVsIGZvciBzbWFsbC1zY3JlZW4gbGF5b3V0cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRoZWFkZXIgWyRzaG93LWhlYWRlci1mb3Itc3RhY2tlZF0gLSBTaG93IHRoZSBmaXJzdCB0aCBvZiBoZWFkZXIgd2hlbiBzdGFja2VkLlxuQG1peGluIHRhYmxlLXN0YWNrKCRoZWFkZXI6ICRzaG93LWhlYWRlci1mb3Itc3RhY2tlZCkge1xuICBAaWYgJGhlYWRlciB7XG4gICAgdGhlYWQge1xuICAgICAgdGgge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICB0cixcbiAgdGgsXG4gIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIHRkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYmxlKCRuZXN0OiBmYWxzZSkge1xuICB0YWJsZSB7XG4gICAgQGluY2x1ZGUgdGFibGUoJG5lc3Q6ICRuZXN0KTtcbiAgfVxuXG4gIHRhYmxlLnN0YWNrIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZS1zdGFjay1icmVha3BvaW50IGRvd24pIHtcbiAgICAgIEBpbmNsdWRlIHRhYmxlLXN0YWNrO1xuICAgIH1cbiAgfVxuXG4gIHRhYmxlLnNjcm9sbCB7XG4gICAgQGluY2x1ZGUgdGFibGUtc2Nyb2xsO1xuICB9XG5cbiAgdGFibGUuaG92ZXIge1xuICAgIEBpbmNsdWRlIHRhYmxlLWhvdmVyO1xuICB9XG5cbiAgLnRhYmxlLXNjcm9sbCB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ21hdGgnO1xuXG4kY29udHJhc3Qtd2FybmluZ3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIGNoZWNrIHRoZSBsdW1pbmFuY2Ugb2YuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuQGZ1bmN0aW9uIGNvbG9yLWx1bWluYW5jZSgkY29sb3IpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI3JlbGF0aXZlbHVtaW5hbmNlZGVmXG4gICRyZ2JhOiByZWQoJGNvbG9yKSwgZ3JlZW4oJGNvbG9yKSwgYmx1ZSgkY29sb3IpO1xuICAkcmdiYTI6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMyB7XG4gICAgJHJnYjogbnRoKCRyZ2JhLCAkaSk7XG4gICAgJHJnYjogJHJnYiAvIDI1NTtcblxuICAgICRyZ2I6IGlmKCRyZ2IgPCAwLjAzOTI4LCAkcmdiIC8gMTIuOTIsIHBvdygoJHJnYiArIDAuMDU1KSAvIDEuMDU1LCAyLjQpKTtcblxuICAgICRyZ2JhMjogYXBwZW5kKCRyZ2JhMiwgJHJnYik7XG4gIH1cblxuICBAcmV0dXJuIDAuMjEyNiAqIG50aCgkcmdiYTIsIDEpICsgMC43MTUyICogbnRoKCRyZ2JhMiwgMikgKyAwLjA3MjIgKiBudGgoJHJnYmEyLCAzKTtcbn1cblxuLy8vIENoZWNrcyB0aGUgY29udHJhc3QgcmF0aW8gb2YgdHdvIGNvbG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjEgLSBGaXJzdCBjb2xvciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjIgLSBTZWNvbmQgY29sb3IgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBjb250cmFzdCByYXRpbyBvZiB0aGUgY29tcGFyZWQgY29sb3JzLlxuQGZ1bmN0aW9uIGNvbG9yLWNvbnRyYXN0KCRjb2xvcjEsICRjb2xvcjIpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI2NvbnRyYXN0LXJhdGlvZGVmXG4gICRsdW1pbmFuY2UxOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMSkgKyAwLjA1O1xuICAkbHVtaW5hbmNlMjogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjIpICsgMC4wNTtcbiAgJHJhdGlvOiAkbHVtaW5hbmNlMSAvICRsdW1pbmFuY2UyO1xuXG4gIEBpZiAkbHVtaW5hbmNlMiA+ICRsdW1pbmFuY2UxIHtcbiAgICAkcmF0aW86IDEgLyAkcmF0aW87XG4gIH1cblxuICAkcmF0aW86IHJvdW5kKCRyYXRpbyAqIDEwKSAvIDEwO1xuXG4gIEByZXR1cm4gJHJhdGlvO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRiYXNlYCwgYW5kIHJldHVybnMgdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFzZSAtIENvbG9yIHRvIGNoZWNrIGx1bWluYW5jZS5cbi8vLyBAcGFyYW0ge0xpc3R9ICRjb2xvcnMgWygkd2hpdGUsICRibGFjayldIC0gQ29sb3JzIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b2xlcmFuY2UgWyRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2VdIC0gQ29udHJhc3QgdG9sZXJhbmNlLlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbkBmdW5jdGlvbiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYXNlLCAkY29sb3JzOiAoJHdoaXRlLCAkYmxhY2spLCAkdG9sZXJhbmNlOiAkZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlKSB7XG4gICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAxKSk7XG4gICRiZXN0OiBudGgoJGNvbG9ycywgMSk7XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCBsZW5ndGgoJGNvbG9ycykge1xuICAgICRjdXJyZW50LWNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgQGlmICgkY3VycmVudC1jb250cmFzdCAtICRjb250cmFzdCA+ICR0b2xlcmFuY2UpIHtcbiAgICAgICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgICAgJGJlc3Q6IG50aCgkY29sb3JzLCAkaSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkY29udHJhc3Qtd2FybmluZ3MgYW5kICRjb250cmFzdCA8IDMpIHtcbiAgICBAd2FybiBcIkNvbnRyYXN0IHJhdGlvIG9mICN7JGJlc3R9IG9uICN7JGJhc2V9IGlzIHByZXR0eSBiYWQsIGp1c3QgI3skY29udHJhc3R9XCI7XG4gIH1cblxuICBAcmV0dXJuICRiZXN0O1xufVxuXG4vLy8gU2NhbGVzIGEgY29sb3IgdG8gYmUgZGFya2VyIGlmIGl0J3MgbGlnaHQsIG9yIGxpZ2h0ZXIgaWYgaXQncyBkYXJrLiBVc2UgdGhpcyBmdW5jdGlvbiB0byB0aW50IGEgY29sb3IgYXBwcm9wcmlhdGUgdG8gaXRzIGxpZ2h0bmVzcy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIHNjYWxlLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHNjYWxlIFs1JV0gLSBBbW91bnQgdG8gc2NhbGUgdXAgb3IgZG93bi5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICR0aHJlc2hvbGQgWzQwJV0gLSBUaHJlc2hvbGQgb2YgbGlnaHRuZXNzIHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IEEgc2NhbGVkIGNvbG9yLlxuQGZ1bmN0aW9uIHNtYXJ0LXNjYWxlKCRjb2xvciwgJHNjYWxlOiA1JSwgJHRocmVzaG9sZDogNDAlKSB7XG4gIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA+ICR0aHJlc2hvbGQge1xuICAgICRzY2FsZTogLSRzY2FsZTtcbiAgfVxuICBAcmV0dXJuIHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJHNjYWxlKTtcbn1cblxuLy8vIEdldCBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHBhcmFtIHtrZXl9IGNvbG9yIGtleSBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuQGZ1bmN0aW9uIGdldC1jb2xvcigka2V5KSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ2dpdmVuICRrZXkgaXMgbm90IGF2YWlsYWJsZSBpbiAkZm91bmRhdGlvbi1wYWxldHRlJztcbiAgfVxufVxuXG4vLy8gVHJhbnNmZXJzIHRoZSBjb2xvcnMgaW4gdGhlIGAkZm91bmRhdGlvbi1wYWxldHRlYCBtYXAgaW50byB2YXJpYWJsZXMsIHN1Y2ggYXMgYCRwcmltYXJ5LWNvbG9yYCBhbmQgYCRzZWNvbmRhcnktY29sb3JgLiBDYWxsIHRoaXMgbWl4aW4gYmVsb3cgdGhlIEdsb2JhbCBzZWN0aW9uIG9mIHlvdXIgc2V0dGluZ3MgZmlsZSB0byBwcm9wZXJseSBtaWdyYXRlIHlvdXIgY29kZWJhc2UuXG5AbWl4aW4gYWRkLWZvdW5kYXRpb24tY29sb3JzKCkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICAgICRwcmltYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRwcmltYXJ5LWNvbG9yOiAjMTc3OWJhICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkge1xuICAgICRzZWNvbmRhcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiAjNzY3Njc2ICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogIzNhZGI3NiAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSB7XG4gICAgJHdhcm5pbmctY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHdhcm5pbmctY29sb3I6ICNmZmFlMDAgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpIHtcbiAgICAkYWxlcnQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRhbGVydC1jb2xvcjogI2NjNGIzNyAhZ2xvYmFsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgRmxleGJveCBVdGlsaXRpZXNcbi8vLy9cbi8vXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgdGhlIGNvdW50IG9mIHNvdXJjZSBvcmRlcmluZ2Bcbi8vLyBAdHlwZSBOdW1iZXJcbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNiAhZGVmYXVsdDtcblxuLy8vIFF1aWNrbHkgZGlzYWJsZS9lbmFibGUgUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgVmFuaWxsYSBGbGV4IEhlbHBlcnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZSAhZGVmYXVsdDtcblxuQG1peGluIGZsZXgtaGVscGVycyB7XG4gIC5mbGV4LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleDtcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG5cbiAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgLmZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY29udGFpbmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtYXV0byB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1ncm93IHtcbiAgICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LWNsYXNzZXMge1xuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCB1c2luZyBqdXN0aWZ5LWNvbnRlbnRcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluICQtemYtZmxleC1qdXN0aWZ5IHtcbiAgICAuYWxpZ24tI3skaGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xuICAgIH1cbiAgfVxuICBcbiAgLy8gSG9yaXpvbnRhbCBhbGlnbm1lbnQgU3BlY2lmaWNhbGx5IGZvciBWZXJ0aWNhbCBNZW51XG4gIEBlYWNoICRoZGlyLCAkcHJvcCBpbiBtYXAtcmVtb3ZlKCQtemYtZmxleC1qdXN0aWZ5LCAnanVzdGlmeScsICdzcGFjZWQnKSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgICYudmVydGljYWwge1xuICAgICAgICAmLm1lbnUgPiBsaSA+IGEge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGFsaWdubWVudCB1c2luZyBhbGlnbi1pdGVtcyBhbmQgYWxpZ24tc2VsZlxuICBAZWFjaCAkdmRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWFsaWduIHtcbiAgICAuYWxpZ24tI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeTogJHZkaXIpO1xuICAgIH1cblxuICAgIC5hbGlnbi1zZWxmLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZigkeTogJHZkaXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENlbnRyYWwgYWxpZ25tZW50IG9mIGNvbnRlbnRcbiAgLmFsaWduLWNlbnRlci1taWRkbGUge1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6IGNlbnRlciwgJHk6IG1pZGRsZSk7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgLy8gU291cmNlIG9yZGVyaW5nXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tb3JkZXItI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LW9yZGVyKCRpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWYW5pbGxhIEZsZXhib3ggSGVscGVyc1xuICBAaW5jbHVkZSBmbGV4LWhlbHBlcnM7XG59XG4iLCJAZnVuY3Rpb24gLXpmLWZsZXgtanVzdGlmeSgkdGV4dC1kaXJlY3Rpb24pe1xuICAkLXpmLWZsZXgtanVzdGlmeTogKFxuICAgICdsZWZ0JzogaWYoJHRleHQtZGlyZWN0aW9uID09IHJ0bCwgZmxleC1lbmQsIGZsZXgtc3RhcnQpLFxuICAgICdyaWdodCc6IGlmKCR0ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGZsZXgtc3RhcnQsIGZsZXgtZW5kKSxcbiAgICAnY2VudGVyJzogY2VudGVyLFxuICAgICdqdXN0aWZ5Jzogc3BhY2UtYmV0d2VlbixcbiAgICAnc3BhY2VkJzogc3BhY2UtYXJvdW5kLFxuICApO1xuXG4gIEByZXR1cm4gJC16Zi1mbGV4LWp1c3RpZnk7XG59XG5cblxuJC16Zi1mbGV4LWFsaWduOiAoXG4gICd0b3AnOiBmbGV4LXN0YXJ0LFxuICAnYm90dG9tJzogZmxleC1lbmQsXG4gICdtaWRkbGUnOiBjZW50ZXIsXG4gICdzdHJldGNoJzogc3RyZXRjaCxcbik7XG5cbiQtemYtZmxleC1kaXJlY3Rpb246IChcbiAgJ3Jvdyc6IHJvdyxcbiAgJ3Jvdy1yZXZlcnNlJzogcm93LXJldmVyc2UsXG4gICdjb2x1bW4nOiBjb2x1bW4sXG4gICdjb2x1bW4tcmV2ZXJzZSc6IGNvbHVtbi1yZXZlcnNlLFxuKTtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBieSBhZGRpbmcgYGRpc3BsYXk6IGZsZXhgIHRvIHRoZSBlbGVtZW50LlxuQG1peGluIGZsZXgge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkgYWxpZ25zIHRoZSBpdGVtcyB3aXRoaW4gYSBmbGV4IGNvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHggW251bGxdIC0gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYGxlZnRgLCBgcmlnaHRgLCBgY2VudGVyYCwgYGp1c3RpZnlgLCBvciBgc3BhY2VkYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IGhvcml6b250YWwgYWxpZ25tZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduKCR4OiBudWxsLCAkeTogbnVsbCkge1xuICBAaWYgJHgge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtanVzdGlmeSwgJHgpIHtcbiAgICAgICR4OiBtYXAtZ2V0KCQtemYtZmxleC1qdXN0aWZ5LCAkeCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHh9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBob3Jpem9udGFsIGFsaWdubWVudC4gVXNlIGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnksIG9yIHNwYWNlZC4nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgdmVydGljYWwgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nO1xuICAgIH1cbiAgfVxuXG4gIGp1c3RpZnktY29udGVudDogJHg7XG4gIGFsaWduLWl0ZW1zOiAkeTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgYWxpZ24gYSBzaW5nbGUgY29sdW1uIHdpdGhpbiBhIGZsZXggcm93LiBBcHBseSB0aGlzIG1peGluIHRvIGEgZmxleCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR5OiBudWxsKSB7XG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLWNvbHVtbi1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nO1xuICAgIH1cbiAgfVxuXG4gIGFsaWduLXNlbGY6ICR5O1xufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc291cmNlIG9yZGVyIG9mIGEgZmxleCBjaGlsZC4gQ2hpbGRyZW4gd2l0aCBsb3dlciBudW1iZXJzIGFwcGVhciBmaXJzdCBpbiB0aGUgbGF5b3V0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb3JkZXIgWzBdIC0gT3JkZXIgbnVtYmVyIHRvIGFwcGx5LlxuQG1peGluIGZsZXgtb3JkZXIoJG9yZGVyOiAwKSB7XG4gIG9yZGVyOiAkb3JkZXI7XG59XG5cbi8vLyBDaGFuZ2UgZmxleC1kaXJlY3Rpb25cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW3Jvd10gLSBGbGV4IGRpcmVjdGlvbiB0byB1c2UuIENhbiBiZVxuLy8vICAgLSByb3cgKGRlZmF1bHQpOiBzYW1lIGFzIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIHJvdy1yZXZlcnNlOiBvcHBvc2l0ZSB0byB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSBjb2x1bW46IHNhbWUgYXMgcm93IGJ1dCB0b3AgdG8gYm90dG9tXG4vLy8gICAtIGNvbHVtbi1yZXZlcnNlOiBzYW1lIGFzIHJvdy1yZXZlcnNlIHRvcCB0byBib3R0b21cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkZGlyZWN0aW9uOiByb3cpIHtcbiAgZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG59XG4iLCIldS1zY3JlZW4tcmVhZGVyLFxuLnUtc2NyZWVuLXJlYWRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xufVxuXG4ldS1jbGVhcmZpeCxcbi51LWNsZWFyZml4IHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG59XG5cbiV1LWV4dGVybmFsLWxpbmssXG4udS1leHRlcm5hbC1saW5rIHtcbiAgJjphZnRlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiA4cHg7XG4gICAgaGVpZ2h0OiA4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgIG1hcmdpbi1sZWZ0OiAzcHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvZXh0ZXJuYWwtbGluay5zdmcnKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDhweDtcbiAgICBjb250ZW50OiAnJztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG59XG5cbiV1LWJnLWNvdmVyLFxuLnUtYmctY292ZXIge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG5cbiV1LWJnLWNvbnRhaW4sXG4udS1iZy1jb250YWluIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG59XG5cbiV1LWJnLTEwMCxcbi51LWJnLTEwMCB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xufVxuXG4udS1zdmctY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwO1xuXG4gIGltZyxcbiAgc3ZnIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgJi0tbG9nbyB7XG4gICAgcGFkZGluZy1ib3R0b206IHBlcmNlbnRhZ2UoOTkuMS8xODEuMSk7XG4gIH1cbn1cblxuJXUtcGhvdG8tYmcsXG4udS1waG90by1iZyB7XG4gIEBleHRlbmQgJXUtYmctY292ZXI7XG4gIHBhZGRpbmctYm90dG9tOiBwZXJjZW50YWdlKDkvMTYpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgcGFkZGluZy1ib3R0b206IHBlcmNlbnRhZ2UoMi8zKTtcbiAgfVxuXG4gICYtLWV4dGVuZC1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygtMTAwdncgKyAxMDAlICsgMS41cmVtKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICBtYXJnaW4tbGVmdDogY2FsYygtNTB2dyArIDEwMCUgKyAxLjVyZW0pO1xuICAgIH1cbiAgfVxuXG4gICYtLWV4dGVuZC1yaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0xMDB2dyArIDEwMCUgKyAxLjVyZW0pO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogY2FsYygtNTB2dyArIDEwMCUgKyAxLjVyZW0pO1xuICAgIH1cbiAgfVxufVxuIiwiaHRtbCB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQod2lkZSkge1xuICAgIGZvbnQtc2l6ZTogMTEyLjUlO1xuICB9XG59XG5cbmJvZHkge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgJi5hZG1pbi1iYXIge1xuICAgIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSA0NnB4KTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gMzJweCk7XG4gICAgfVxuICB9XG59XG5cbmEge1xuICB0cmFuc2l0aW9uOiAkdHJhbnM7XG4gIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xufVxuXG5hZGRyZXNzIHtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5sYWJlbCB7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcblxuICAmW2Zvcj0ndXNlcl9sb2dpbiddLFxuICAmW2Zvcj0ndXNlcl9wYXNzJ10ge1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICB9XG59XG5cbmlucHV0W3R5cGU9J3JhZGlvJ10sXG5pbnB1dFt0eXBlPSdjaGVja2JveCddIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xufVxuXG50YWJsZSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICB9XG5cbiAgdGgge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuXG4gIHRmb290IHtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cbiAgICB0aCB7XG4gICAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG5cbiAgICB0ZCB7XG4gICAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXI7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIH1cbiAgfVxufVxuXG4udGFibGUtc2Nyb2xsIHtcbiAgdGFibGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICArIC50YWJsZS1zY3JvbGwge1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgfVxufVxuIiwiJHRyYW5zOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiRjdWJpYzogYWxsIDAuMjVzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuJGJ1dHRvbi1ib3gtc2hhZG93OiAwIDRweCA2cHggcmdiYSgkYmxhY2ssIC4xMSksIDAgMXB4IDNweCByZ2JhKCRibGFjaywgLjA4KTtcbiRidXR0b24tYm94LXNoYWRvdy1ob3ZlcjogMCA3cHggMTRweCByZ2JhKCRibGFjaywgLjEpLCAwIDNweCA2cHggcmdiYSgkYmxhY2ssIC4wOCk7XG4kYm94LXNoYWRvdzogMCAxOHB4IDM1cHggcmdiYSgkYmxhY2ssIDAuMjUpLCAwIDVweCAxNXB4IHJnYmEoJGJsYWNrLCAwLjE1KTtcbiRib3gtc2hhZG93LWhvdmVyOiAwIDE4cHggMzVweCByZ2JhKCRibGFjaywgMC4yNSksIDAgNXB4IDE1cHggcmdiYSgkYmxhY2ssIDAuMTUpO1xuJGJveC1zaGFkb3ctbGFyZ2U6IDAgMThweCAxNDBweCByZ2JhKCRibGFjaywgMC4yNSksIDAgNXB4IDE1cHggcmdiYSgkYmxhY2ssIDAuMTUpO1xuJGZvb3Rlci1vZmZzZXQ6IDhyZW07XG4kbW9iaWxlLWhlYWRlci1oZWlnaHQ6IGNhbGMoMzZweCArIDNyZW0pO1xuJG1vYmlsZS1oZWFkZXItYWRtaW4tYmFyLWhlaWdodC1zbWFsbDogY2FsYygzNnB4ICsgMzJweCArIDNyZW0pO1xuJG1vYmlsZS1oZWFkZXItYWRtaW4tYmFyLWhlaWdodC1tZWRpdW06IGNhbGMoMzZweCArIDQ2cHggKyAzcmVtKTtcbiIsIkBrZXlmcmFtZXMgemlwUmlnaHQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSBzY2FsZSgxLCAxKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApIHNjYWxlKDEuMywgMSk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDUxJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCkgc2NhbGUoMS4zLCAxKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSBzY2FsZSgxLCAxKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgemlwTGVmdCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApIHNjYWxlKDEsIDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApIHNjYWxlKDEuMywgMSk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDUxJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKSBzY2FsZSgxLjMsIDEpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApIHNjYWxlKDEsIDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbiIsIi8qIFNsaWRlciAqL1xuXG4uc2xpY2stc2xpZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnNsaWNrLWxpc3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5kcmFnZ2luZyB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgY3Vyc29yOiBoYW5kO1xuICAgIH1cbn1cbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxuLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi5zbGljay10cmFjayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG59XG4uc2xpY2stc2xpZGUge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgJi5zbGljay1sb2FkaW5nIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICYuZHJhZ2dpbmcgaW1nIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLnNsaWNrLWluaXRpYWxpemVkICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuICAgIC5zbGljay12ZXJ0aWNhbCAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgfVxufVxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbiIsImh0bWwgI3dwYWRtaW5iYXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG59XG4iLCJidXR0b24sXG4uYnV0dG9uIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBib3JkZXI6IDA7XG4gIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAyLjVlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gIGltZyB7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogLTRweDtcblxuICAgICsgc3BhbiB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogMXB4O1xuICAgIH1cbiAgfVxuXG4gIHNwYW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG5cbiAgJjpub3QoLmJ1dHRvbi0tcGx1Zyk6bm90KC5qcy1zZWFyY2gtdG9nZ2xlKTpub3QoLnNpdGUtc2VhcmNoX19zdWJtaXQpIHtcbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIge1xuICAgICAgLmhueS1zdmcge1xuICAgICAgICBhbmltYXRpb246IHppcFJpZ2h0IDAuNHMgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gICYtLXBsdWcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJveC1zaGFkb3c6ICRidXR0b24tYm94LXNoYWRvdztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB3aWR0aDogMi41ZW07XG4gICAgICBoZWlnaHQ6IDIuNWVtO1xuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zO1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcjtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHdpZHRoOiAyLjVlbTtcbiAgICAgIGhlaWdodDogMi41ZW07XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9qYWNrLXBsdWcuc3ZnJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEuNWVtIDEuNWVtO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgIHNwYW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzLjVlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMWVtO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJjpob3ZlciB7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gICAgICB9XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgYW5pbWF0aW9uOiB6aXBSaWdodCAwLjRzIGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tcmV2ZXJzZSB7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgIH1cblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvamFjay1wbHVnLXJldmVyc2Uuc3ZnJyk7XG4gICAgICB9XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMy41ZW07XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMsXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGFuaW1hdGlvbjogemlwTGVmdCAwLjRzIGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLS1maWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3gtc2hhZG93OiAkYnV0dG9uLWJveC1zaGFkb3c7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMi41ZW07XG4gICAgICBoZWlnaHQ6IDIuNWVtO1xuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJHByaW1hcnktY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXI7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgJi5zZWNvbmRhcnkge1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZDogc2NhbGUtY29sb3IoJHNlY29uZGFyeS1jb2xvciwgJGxpZ2h0bmVzczogMjUlKTtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyxcbiAgICAgICY6aG92ZXIge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAyLjVlbTtcbiAgICAgIGhlaWdodDogMi41ZW07XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEuNWVtIDEuNWVtICFpbXBvcnRhbnQ7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDFlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMy41ZW07XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyIHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBhbmltYXRpb246IHppcExlZnQgMC40cyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLWV4Y2VsIHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMveGwucG5nJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tcGRmIHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvcGRmLnBuZycpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYud2hpdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICR3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgJjphZnRlciB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgfVxuICB9XG59XG4iLCIuY2FsbG91dCB7XG4gIGJvcmRlci1sZWZ0OiA0cHggc29saWQgY3VycmVudENvbG9yO1xuICBib3gtc2hhZG93OiAkYnV0dG9uLWJveC1zaGFkb3c7XG5cbiAgLmdmaWVsZF9kZXNjcmlwdGlvbiAmIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cblxuICAmLmFsZXJ0IHtcbiAgICBjb2xvcjogJGFsZXJ0LWNvbG9yO1xuICB9XG5cbiAgJi5zdWNjZXNzIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogJHN1Y2Nlc3MtY29sb3I7XG4gIH1cblxuICAmLndhcm5pbmcge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkd2FybmluZy1jb2xvcjtcbiAgfVxufVxuIiwic2VsZWN0IHtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogYXV0bztcbiAgbWF4LWhlaWdodDogbm9uZSAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwLjVyZW0gM3JlbSAwLjVyZW0gMC41cmVtICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2NoZXZyb24tZG93bi5zdmcnKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMXJlbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMTZweCAxNnB4O1xuICBiYWNrZ3JvdW5kLW9yaWdpbjogYm9yZGVyLWJveDtcbn1cblxuLmZvcm0tcGFuZWwge1xuICBwYWRkaW5nOiAxLjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xuICBib3gtc2hhZG93OiAkYnV0dG9uLWJveC1zaGFkb3c7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XG4gICAgcGFkZGluZzogM3JlbTtcbiAgfVxuXG4gIHAge1xuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuXG4uaG55IHtcbiAgLmdmX2Jyb3dzZXJfaWUge1xuICAgICYuZ2Zvcm1fd3JhcHBlciB7XG4gICAgICAuZ2Zvcm1fZm9vdGVyIHtcbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgICYuYnV0dG9uIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRidXR0b24tcGFkZGluZztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ2Zvcm1fbGVnYWN5X21hcmt1cF93cmFwcGVyIHtcbiAgICAuZGVzY3JpcHRpb24sXG4gICAgLmdmaWVsZF9kZXNjcmlwdGlvbixcbiAgICAuZ3NlY3Rpb25fZGVzY3JpcHRpb24ge1xuICAgICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC52YWxpZGF0aW9uX21lc3NhZ2Uge1xuICAgICAgY29sb3I6ICRhbGVydC1jb2xvcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgfVxuICB9XG5cbiAgLmdmb3JtX3dyYXBwZXIge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIGgyIHtcbiAgICAgICYuZ3NlY3Rpb25fdGl0bGUge1xuICAgICAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgJi5nZm9ybV9maWVsZHMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KDY0MSkge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogLTE2cHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmdmaWVsZF9yYWRpbyB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgIGlucHV0W3R5cGU9J3JhZGlvJ10ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICArIGxhYmVsIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5maWVsZF9zdWJsYWJlbF9iZWxvdyB7XG4gICAgICAuZ2lucHV0X2NvbXBsZXgge1xuICAgICAgICAmLmdpbnB1dF9jb250YWluZXIge1xuICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbWVkaXVtLWdyYXk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmdmaWVsZF9lcnJvciAuZ2ZpZWxkX2xhYmVsLFxuICAgIC5nZmllbGRfcmVxdWlyZWQge1xuICAgICAgY29sb3I6ICRhbGVydC1jb2xvcjtcbiAgICB9XG5cbiAgICAuZ2ZpZWxkX3JlcXVpcmVkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBpbnB1dDpub3QoW3R5cGU9cmFkaW9dKTpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW3R5cGU9c3VibWl0XSk6bm90KFt0eXBlPWJ1dHRvbl0pOm5vdChbdHlwZT1pbWFnZV0pOm5vdChbdHlwZT1maWxlXSkge1xuICAgICAgcGFkZGluZzogMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmdmaWVsZF9yYWRpbyxcbiAgICAuZ2ZpZWxkX2NoZWNrYm94IHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgIG1heC13aWR0aDogOTUlO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXRbdHlwZT0ncmFkaW8nXSxcbiAgICAgICAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogNnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgZmxleDogMCAxIGF1dG87XG5cbiAgICAgICAgICArIGxhYmVsIHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZ2lucHV0X2NvbnRhaW5lcl9jb25zZW50IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgbWF4LXdpZHRoOiA5NSU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xuICAgICAgfVxuXG4gICAgICBpbnB1dFt0eXBlPSdjaGVja2JveCddIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuXG4gICAgICAgICsgbGFiZWwge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgZmxleDogMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5nZmllbGRfbGlzdCB7XG4gICAgICB0ZCB7XG4gICAgICAgICYuZ2ZpZWxkX2xpc3RfY2VsbCB7XG4gICAgICAgICAgaW5wdXQsXG4gICAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRvcF9sYWJlbCB7XG4gICAgICBkaXYuZ2lucHV0X2NvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgbGkge1xuICAgICAgICB1bCB7XG4gICAgICAgICAgJi5nZmllbGRfcmFkaW8sXG4gICAgICAgICAgJi5nZmllbGRfY2hlY2tib3gge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgZGl2IHtcbiAgICAgICYudmFsaWRhdGlvbl9lcnJvciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICYuZ2lucHV0X2NvbnRhaW5lcl9maWxldXBsb2FkIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG5cbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgICYubWVkaXVtIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuZ2lucHV0X2NvbnRhaW5lcl9kYXRlIHtcbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICAmLmdmaWVsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6ZW1wdHkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dFt0eXBlPSdjaGVja2JveCddIHtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICB9XG5cbiAgICAgICAgc2VsZWN0LFxuICAgICAgICB0ZXh0YXJlYSxcbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcblxuICAgICAgICAgICsgbGFiZWwge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRleHRhcmVhIHtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiAxNTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuZ2ZpZWxkX2Vycm9yIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b20gIWltcG9ydGFudDtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuICAgICAgICAgIHNlbGVjdCxcbiAgICAgICAgICB0ZXh0YXJlYSxcbiAgICAgICAgICBpbnB1dDpub3QoW3R5cGU9cmFkaW9dKTpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW3R5cGU9c3VibWl0XSk6bm90KFt0eXBlPWJ1dHRvbl0pOm5vdChbdHlwZT1pbWFnZV0pOm5vdChbdHlwZT1maWxlXSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgkYWxlcnQtY29sb3IsIDAuMik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5nZmllbGRfY29udGFpbnNfcmVxdWlyZWQge1xuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAmLmdmaWVsZF9sYWJlbCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5maWVsZF9kZXNjcmlwdGlvbl9hYm92ZSB7XG4gICAgICAuZ2ZpZWxkX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDAuMjVyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93IHtcbiAgICAgIC5nZmllbGRfZGVzY3JpcHRpb24ge1xuICAgICAgICBwYWRkaW5nLXRvcDogMC4yNXJlbTtcblxuICAgICAgICAmLnZhbGlkYXRpb25fbWVzc2FnZSB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICBjb2xvcjogJGFsZXJ0LWNvbG9yO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmluc3RydWN0aW9uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZ2Zvcm1fZm9vdGVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5nZm9ybV9wYWdlX2Zvb3RlciAuYnV0dG9uLFxuICAgIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uLFxuICAgIC5nZm9ybV9mb290ZXIgaW5wdXRbdHlwZT0nc3VibWl0J10ge1xuICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDFweCkge1xuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmX2xpc3RfaW5saW5lIHVsLmdmaWVsZF9jaGVja2JveCBsaSwgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZfbGlzdF9pbmxpbmUgdWwuZ2ZpZWxkX3JhZGlvIGxpIHtcbiAgICAgIG1hcmdpbjogMCAxcmVtIDEwcHggMDtcbiAgICB9XG4gIH1cbn1cblxuaHRtbCB7XG4gIC5nZm9ybV93cmFwcGVyIHtcbiAgICAmLmdyYXZpdHktdGhlbWUge1xuICAgICAgLmdmb3JtX3JlcXVpcmVkX2xlZ2VuZCB7XG4gICAgICAgIEBleHRlbmQgJXUtc2NyZWVuLXJlYWRlcjtcbiAgICAgIH1cblxuICAgICAgLmZvcm1fc2F2ZWRfbWVzc2FnZSB7XG4gICAgICAgIGlucHV0W25hbWU9XCJnZm9ybV9zZW5kX3Jlc3VtZV9saW5rX2J1dHRvblwiXSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uO1xuICAgICAgICB9XG5cbiAgICAgICAgLnJlc3VtZV9mb3JtX2xpbmtfd3JhcHBlciB7XG4gICAgICAgICAgZm9udC1zaXplOiAkbGVhZC1mb250LXNpemU7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRjb2RlLWZvbnQtZmFtaWx5O1xuXG4gICAgICAgICAgfiBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZ2Zvcm1fc2F2ZV9saW5rIHtcbiAgICAgICAgJi5idXR0b24ge1xuICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogc2NhbGUtY29sb3IoJHByaW1hcnktY29sb3IsICRsaWdodG5lc3M6ICRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3MpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZ2Zvcm1fc2F2ZV9saW5rIHtcbiAgICAgICAgJixcbiAgICAgICAgJi5idXR0b24ge1xuICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICBtYXJnaW46IDAgMCAwIGF1dG87XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgICAgICBvcmRlcjogMTAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW46IDAuNXJlbSAwIDA7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmdmaWVsZF9zaWduYXR1cmVfY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDEwMHZ3ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgKyBkaXYge1xuICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5nZm9ybV92YWxpZGF0aW9uX2Vycm9ycyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgIHBhZGRpbmc6IDFyZW07XG5cbiAgICAgICAgPiBoMiB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIGNvbG9yOiAkYWxlcnQtY29sb3I7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiBpbmhlcml0O1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4gICAgICAgICAgLmdmb3JtLWljb24ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC52YWxpZGF0aW9uX21lc3NhZ2UsXG4gICAgICAuaW5zdHJ1Y3Rpb24sXG4gICAgICAuZ2ZpZWxkX3ZhbGlkYXRpb25fbWVzc2FnZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICAgICAgcGFkZGluZzogMC41cmVtO1xuICAgICAgfVxuXG4gICAgICAuZ2Zvcm1fdmFsaWRhdGlvbl9lcnJvcnMsXG4gICAgICAudmFsaWRhdGlvbl9tZXNzYWdlLFxuICAgICAgLmluc3RydWN0aW9uLFxuICAgICAgLmdmaWVsZF92YWxpZGF0aW9uX21lc3NhZ2Uge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1yYWRpdXM7XG4gICAgICAgIGJhY2tncm91bmQ6IHNjYWxlLWNvbG9yKCRhbGVydC1jb2xvciwgJGxpZ2h0bmVzczogOTIlKTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgY29sb3I6ICRhbGVydC1jb2xvcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IGluaGVyaXQ7XG4gICAgICB9XG5cbiAgICAgIC52YWxpZGF0aW9uX21lc3NhZ2UsXG4gICAgICAuZ2ZpZWxkX3ZhbGlkYXRpb25fbWVzc2FnZSxcbiAgICAgIC5kZXNjcmlwdGlvbixcbiAgICAgIC5nZmllbGRfZGVzY3JpcHRpb24sXG4gICAgICAuaW5zdHJ1Y3Rpb24ge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgIH1cblxuICAgICAgLmdmaWVsZF9lcnJvciB7XG4gICAgICAgIC5nZmllbGRfcmVwZWF0ZXJfY2VsbCBsYWJlbCxcbiAgICAgICAgbGFiZWwsXG4gICAgICAgIGxlZ2VuZCB7XG4gICAgICAgICAgY29sb3I6ICRhbGVydC1jb2xvclxuICAgICAgICB9XG5cbiAgICAgICAgW2FyaWEtaW52YWxpZD10cnVlXSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYWxlcnQtY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgW2FyaWEtaW52YWxpZD1cInRydWVcIl0gKyBsYWJlbCxcbiAgICAgIGxhYmVsICsgW2FyaWEtaW52YWxpZD1cInRydWVcIl0ge1xuICAgICAgICBjb2xvcjogJGFsZXJ0LWNvbG9yO1xuICAgICAgfVxuXG4gICAgICAuZ2ZpZWxkIHtcbiAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLmZpZWxkX3N1YmxhYmVsX2Fib3ZlIHtcbiAgICAgICAgICAuZ2lucHV0X2NvbXBsZXgge1xuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDAuMjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmdpbnB1dF9jb21wbGV4IHtcbiAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMC4yNXJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZ2ZpZWxkX2xhYmVsIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nICogMC4yNTtcbiAgICAgICAgICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3I7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICAgICAgICAgIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICAgICAgICB9XG5cbiAgICAgICAgLmdpbnB1dF9jb250YWluZXJfY29uc2VudCxcbiAgICAgICAgLmdjaG9pY2Uge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuXG4gICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAuNWVtIDAgMDtcblxuICAgICAgICAgICAgKyBsYWJlbCB7XG4gICAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9ybS1sYWJlbC1mb250LXNpemU7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmdmb3JtX2Zvb3RlcixcbiAgICAgIC5nZm9ybV9wYWdlX2Zvb3RlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAmLmdmb3JtX25leHRfYnV0dG9uIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpub3QoLmdmb3JtX3NhdmVfbGluaykge1xuICAgICAgICAgICAgZmxleDogMSAxO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLmdmb3JtX2J1dHRvbixcbiAgICAgICAgICAmLmdmb3JtX25leHRfYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICAgICAgb3JkZXI6IDM7XG5cbiAgICAgICAgICAgICsgLmdmb3JtX3NhdmVfbGluayB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLmdmb3JtX25leHRfYnV0dG9uIHtcbiAgICAgICAgICAgIG9yZGVyOiAyO1xuXG4gICAgICAgICAgICArIC5nZm9ybV9zYXZlX2xpbmsge1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLmdmb3JtX3ByZXZpb3VzX2J1dHRvbiB7XG4gICAgICAgICAgICBvcmRlcjogLTE7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICAgICB+IC5nZm9ybV9uZXh0X2J1dHRvbiB7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH4gLmdmb3JtX3NhdmVfbGluayB7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZ2Zvcm0tbG9hZGVyIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmhueSB7XG4gIC5nZm9ybV93cmFwcGVyIHtcbiAgICAuZ2ZfcGFnZV9zdGVwcyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIH1cblxuICAgIC5nZl9zdGVwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZsZXg6IDE7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICB9XG5cbiAgICAgICYuZ2Zfc3RlcF9sYXN0IHtcbiAgICAgICAgLmdmX3N0ZXBfbGFiZWwge1xuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5nZl9zdGVwX2FjdGl2ZSxcbiAgICAgICYuZ2Zfc3RlcF9jb21wbGV0ZWQge1xuICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIH1cblxuICAgICAgJi5nZl9zdGVwX2NvbXBsZXRlZCB7XG4gICAgICAgIGNvbG9yOiAkc3VjY2Vzcy1jb2xvcjtcblxuICAgICAgICAuZ2Zfc3RlcF9sYWJlbCB7XG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkc3VjY2Vzcy1jb2xvcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZ2Zfc3RlcF9udW1iZXIge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJHN1Y2Nlc3MtY29sb3I7XG4gICAgICAgICAgYmFja2dyb3VuZDogJHN1Y2Nlc3MtY29sb3I7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuZ2Zfc3RlcF9wcmV2aW91cyB7XG4gICAgICAgICAgLmdmX3N0ZXBfbGFiZWwge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN1Y2Nlc3MtY29sb3IgMCUsICRzZWNvbmRhcnktY29sb3IgMTAwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5nZl9zdGVwX251bWJlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHdpZHRoOiA0OHB4O1xuICAgICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYm9yZGVyOiA0cHggc29saWQgY3VycmVudENvbG9yO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgLmdmX3N0ZXBfbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG9yZGVyOiAxO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDQ3cHg7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogNHB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmdmX3N0ZXBfYWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuZ3JpZC1jb250YWluZXIge1xuICAmLS13aWRlIHtcbiAgICBtYXgtd2lkdGg6IDE1MDBweDtcbiAgfVxuXG4gICYtLW5hcnJvdyB7XG4gICAgbWF4LXdpZHRoOiA3NTBweDtcbiAgfVxuXG4gICYtLWZ1bGwtd2lkdGgge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLmdyaWQtcGFkZGluZy14IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xLjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0xLjVyZW07XG5cbiAgICAmLS1zbWFsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjc1cmVtO1xuXG4gICAgICA+IC5jZWxsIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC43NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjc1cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uY2VsbCB7XG4gICYtLWZsZXgge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbn1cbiIsImgxIHtcbiAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuaDQsXG5oNSxcbmg2IHtcbiAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbn1cblxuLnNlY3Rpb24taGVhZGluZyB7XG4gIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblxuICAmLS1yaWdodCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIGgxIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDQwKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg0OCk7XG4gICAgfVxuICB9XG59XG4iLCIuaG55LXN2ZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDAuOGVtO1xuICBoZWlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZmlsbDogY3VycmVudENvbG9yO1xuXG4gIHBhdGgge1xuICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgfVxufVxuIiwiLmwtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB0cmFuc2l0aW9uOiAkdHJhbnM7XG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctbGFyZ2U7XG4gIHotaW5kZXg6IDUwMDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAuYWRtaW4tYmFyICYge1xuICAgIHRvcDogNDZweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNzgyKSB7XG4gICAgICB0b3A6IDMycHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgdG9wOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pcy1tb2JpbGUtbmF2LW9wZW4gJiB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy10b3A6IDEuNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMi41cmVtO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuICB9XG5cbiAgJjphZnRlciB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gICAgICBjb250ZW50OiAnJztcbiAgICB9XG4gIH1cbn1cblxuLmwtaGVybyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5sLW1haW4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tdG9wOiAkbW9iaWxlLWhlYWRlci1oZWlnaHQ7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXg6IDEgMCBhdXRvO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG4ubC1jb250YWluZXIge1xuICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgcGFkZGluZy1ib3R0b206IDNyZW07XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIHBhZGRpbmctdG9wOiA1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiA1cmVtO1xuICB9XG59XG5cbi5sLWZvb3RlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogYXV0bztcbiAgei1pbmRleDogNTtcbn1cbiIsIi5wYWdpbmF0aW9uIHtcbiAgJl9fd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgIH1cbiAgfVxuXG4gIHVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbjogM3JlbSAwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgIGEsXG4gICAgICBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDAgMTJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcblxuICAgICAgICAmLm5leHQsXG4gICAgICAgICYucHJldiB7XG4gICAgICAgICAgLmhueS1zdmcge1xuICAgICAgICAgICAgZmlsbDogJGJvZHktZm9udC1jb2xvcjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgLmhueS1zdmcge1xuICAgICAgICAgICAgICBmaWxsOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5wYWdpbmF0aW9uLXByZXZpb3VzLFxuICAgICAgJi5wYWdpbmF0aW9uLW5leHQge1xuICAgICAgICA+IGEge1xuICAgICAgICAgIG1hcmdpbjogMCAxLjVyZW07XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnNsaWNrLXNsaWRlciB7XG4gICYsXG4gICoge1xuICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5bZGF0YS1zbGljay1zbGlkZXJdIHtcbiAgW2RhdGEtc2xpY2stc2xpZGVdIHtcbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJi5zbGljay1pbml0aWFsaXplZCB7XG4gICAgW2RhdGEtc2xpY2stc2xpZGVdIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICsgLmxvYWRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4uc2xpY2stYXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBtYXJnaW4tdG9wOiAtMTJweDtcbiAgdHJhbnNpdGlvbjogJHRyYW5zO1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuXG4gICYsXG4gICY6Zm9jdXMsXG4gICY6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cblxuICBzdmcge1xuICAgIGZpbGw6ICRwcmltYXJ5LWNvbG9yO1xuICB9XG5cbiAgJi5zbGljay1kaXNhYmxlZCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxufVxuXG4uc2xpY2stcHJldiB7XG4gIGxlZnQ6IC0wLjI1cmVtO1xufVxuXG4uc2xpY2stbmV4dCB7XG4gIHJpZ2h0OiAtMC4yNXJlbTtcbn1cbiIsIi53eXNpd3lnIHtcbiAgLyogVGhlc2UgYXJlIHRlY2huaWNhbGx5IHRoZSBzYW1lLCBidXQgdXNlIGJvdGggKi9cbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuXG4gIC1tcy13b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gIC8qIFRoaXMgaXMgdGhlIGRhbmdlcm91cyBvbmUgaW4gV2ViS2l0LCBhcyBpdCBicmVha3MgdGhpbmdzIHdoZXJldmVyICovXG4gIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgLyogSW5zdGVhZCB1c2UgdGhpcyBub24tc3RhbmRhcmQgb25lOiAqL1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuXG4gIC8qIEFkZHMgYSBoeXBoZW4gd2hlcmUgdGhlIHdvcmQgYnJlYWtzLCBpZiBzdXBwb3J0ZWQgKE5vIEJsaW5rKSAqL1xuICAtbXMtaHlwaGVuczogYXV0bztcbiAgLW1vei1oeXBoZW5zOiBhdXRvO1xuICAtd2Via2l0LWh5cGhlbnM6IGF1dG87XG4gIGh5cGhlbnM6IGF1dG87XG5cbiAgYSB7XG4gICAgJlt0YXJnZXQ9J19ibGFuayddOm5vdChbaHJlZiQ9XCIucGRmXCJdKSB7XG4gICAgICBAZXh0ZW5kICV1LWV4dGVybmFsLWxpbms7XG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG5cbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cblxuICAuYWxpZ25sZWZ0IHtcbiAgICBtYXJnaW46IDAuNXJlbSAxcmVtIDAuNXJlbSAwO1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG5cbiAgLmFsaWduY2VudGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDEwcHggYXV0bztcbiAgfVxuXG4gIC5hbGlnbnJpZ2h0IHtcbiAgICBtYXJnaW46IDAuNXJlbSAwIDAuNXJlbSAxcmVtO1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxuXG4gIC5hbGlnbm5vbmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMC41cmVtIDA7XG4gIH1cblxuICAuZ2FsbGVyeSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgd2lkdGg6IDAuMTY2NjY2NjY3JTtcbiAgICAgIG1hcmdpbjogMCAwIDIlO1xuXG4gICAgICBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC53cC1jYXB0aW9uIHtcbiAgICA+IGZpZ2NhcHRpb24ge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMC4yNXJlbSAwO1xuICAgICAgY29sb3I6ICRkYXJrLWdyYXk7XG4gICAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICB9XG4gIH1cblxuICB1bDpub3QoLmNoZWNrbGlzdCk6bm90KC5nZm9ybV9maWVsZHMpOm5vdCguY29udGFjdC1saXN0KTpub3QoLmdmaWVsZF9jaGVja2JveCk6bm90KC5nZmllbGRfcmFkaW8pIHtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmUgIWltcG9ydGFudDtcblxuICAgIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDZweDtcbiAgICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG5cbiAgICAgIGxpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDExcHg7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB3aWR0aDogMXJlbTtcbiAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHAge1xuICAgICYud3AtY2FwdGlvbi10ZXh0IHtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwKSAwO1xuICAgICAgY29sb3I6ICRkYXJrLWdyYXk7XG4gICAgICBmb250LXNpemU6IDkwJTtcbiAgICB9XG4gIH1cbn1cbiIsIi5lcnJvcjQwNCB7XG4gIC5wYWdlLWNvbnRlbnQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuIiwiLmJhY2stdG8tdG9wIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwLjVyZW07XG4gIGJvdHRvbTogMC41cmVtO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gIHRyYW5zaXRpb246ICR0cmFucztcbiAgYm9yZGVyOiAycHggc29saWQgJHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICBjb2xvcjogJHdoaXRlO1xuICBsaW5lLWhlaWdodDogNDVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBib3gtc2hhZG93OiAkYm94LXNoYWRvdy1ob3ZlcjtcbiAgb3BhY2l0eTogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiA5OTk3O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICByaWdodDogMXJlbTtcbiAgICBib3R0b206IDFyZW07XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cbiAgICAuaG55LXN2ZyB7XG4gICAgICBmaWxsOiAkcHJpbWFyeS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAuaG55LXN2ZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogMjZweDtcbiAgICBoZWlnaHQ6IDI2cHg7XG4gICAgbWFyZ2luOiAtMTRweCAwIDAgLTEzcHg7XG4gICAgZmlsbDogJHdoaXRlO1xuICB9XG5cbiAgJi5pcy12aXNpYmxlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG59XG4iLCIuZ2ZpZWxkX2h0bWwsXG4uY2hlY2staW4ge1xuICA+IHRhYmxlIHtcbiAgICAqIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhaW1wb3J0YW50O1xuICAgICAgZm9udC1zaXplOiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgc3Ryb25nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICpbYmdjb2xvcj0nI0VBRjJGQSddIHtcbiAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgID4gdGJvZHkge1xuICAgICAgPiB0ciB7XG4gICAgICAgID4gdGQge1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdGFibGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuXG4gICAgICB0Ym9keSB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB0ZFt3aWR0aD0nMjAnXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLmNoZWNrbGlzdCB7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAmLS10d28tY29sdW1uIHtcbiAgICBjb2x1bW4tZ2FwOiAxLjVyZW07XG4gICAgY29sdW1uLWNvdW50OiAyO1xuXG4gICAgbGkge1xuICAgICAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICAgIGJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICAgIH1cbiAgfVxuXG4gIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKDIwcHggKyAwLjVyZW0pO1xuXG4gICAgKyBsaSB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjc1cmVtO1xuICAgIH1cblxuICAgIC5obnktc3ZnIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIGZpbGw6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgICAmLS13YXJuaW5nIHtcbiAgICAgICAgZmlsbDogJHdhcm5pbmctY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuY29udGFjdC1saXN0IHtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICArIGxpIHtcbiAgICAgIG1hcmdpbi10b3A6IDAuMjVyZW07XG4gICAgfVxuICB9XG5cbiAgLmhueS1zdmcge1xuICAgIHdpZHRoOiAzMnB4O1xuICAgIGhlaWdodDogMzJweDtcbiAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gIH1cbn0iLCIuY29udGVudC1ibG9jayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmLS1kZWZhdWx0IHtcbiAgICAmOm5vdCguY29udGVudC1ibG9jay0tbm8tc3BhY2luZykge1xuICAgICAgKyAuY29udGVudC1ibG9jay0tZGVmYXVsdCB7XG4gICAgICAgICY6bm90KC5jb250ZW50LWJsb2NrLS1uby1zcGFjaW5nKSB7XG4gICAgICAgICAgLmwtY29udGFpbmVyIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLWNlbnRlcmVkIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAmX19jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gICZfX3dyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleDogMCAwIDEwMCU7XG4gIH1cblxuICAmX19jb250ZW50IHtcbiAgICAtbXMtZmxleC1uZWdhdGl2ZTogMDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgfVxuXG4gICZfX2xheW91dCB7XG4gICAgJi0tdHdvLWNvbHVtbixcbiAgICAmLS10aHJlZS1jb2x1bW4sXG4gICAgJi0tZm91ci1jb2x1bW4sXG4gICAgJi0tZml2ZS1jb2x1bW4ge1xuICAgICAgLmNlbGwge1xuICAgICAgICArIC5jZWxsIHtcbiAgICAgICAgICAuY29udGVudC1ibG9ja19fY29sdW1uIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDNyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS10aHJlZS1jb2x1bW4sXG4gICAgJi0tZm91ci1jb2x1bW4sXG4gICAgJi0tZml2ZS1jb2x1bW4ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAuZ3JpZC14IHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtLXR3by1jb2x1bW4ge1xuICAgICAgLmNlbGwge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgJjpudGgtY2hpbGQoMm4rMyksXG4gICAgICAgICAgJjpudGgtY2hpbGQoMm4rNCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS10aHJlZS1jb2x1bW4ge1xuICAgICAgLmNlbGwge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgJjpudGgtY2hpbGQoNm4rNCksXG4gICAgICAgICAgJjpudGgtY2hpbGQoNm4rNSksXG4gICAgICAgICAgJjpudGgtY2hpbGQoNm4rNikge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1mb3VyLWNvbHVtbiB7XG4gICAgICAuY2VsbCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAmOm50aC1jaGlsZCg4bis1KSxcbiAgICAgICAgICAmOm50aC1jaGlsZCg4bis2KSxcbiAgICAgICAgICAmOm50aC1jaGlsZCg4bis3KSxcbiAgICAgICAgICAmOm50aC1jaGlsZCg4bis4KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzcmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtLWZpdmUtY29sdW1uIHtcbiAgICAgIC5jZWxsIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICY6bnRoLWNoaWxkKDEwbis2KSxcbiAgICAgICAgICAmOm50aC1jaGlsZCgxMG4rNyksXG4gICAgICAgICAgJjpudGgtY2hpbGQoMTBuKzgpLFxuICAgICAgICAgICY6bnRoLWNoaWxkKDEwbis5KSxcbiAgICAgICAgICAmOm50aC1jaGlsZCgxMG4rMTApIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDNyZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fY29sdW1uIHtcbiAgICAuY29udGVudC1ibG9jay0tY2VudGVyZWQgLmNvbnRlbnQtYmxvY2tfX2xheW91dC0tdHdvLWNvbHVtbiAmIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xuICAgICAgICBtYXgtd2lkdGg6IDc1JTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fbW9kdWxlOm5vdCguY29udGVudC1ibG9ja19fbW9kdWxlLS1oZWFkaW5nKSB7XG4gICAgKyAuY29udGVudC1ibG9ja19fbW9kdWxlIHtcbiAgICAgIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gICAgfVxuICB9XG5cbiAgJl9fbW9kdWxlIHtcbiAgICAtbXMtZmxleC1uZWdhdGl2ZTogMDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgfVxuXG4gICZfX2NvbHVtbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuXG4gICZfX21vZHVsZXMge1xuICAgIC1tcy1mbGV4LW5lZ2F0aXZlOiAwO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuXG4gICAgLmNvbnRlbnQtYmxvY2tfX21vZHVsZSB7XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAmLmNvbnRlbnQtYmxvY2tfX21vZHVsZS0tYnV0dG9uIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuZGF0ZS11dGlsaXR5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW46IDAgLTAuMjVyZW07XG5cbiAgbGFiZWwge1xuICAgIGZsZXg6IDEgMTtcbiAgICBwYWRkaW5nOiAwIDAuMjVyZW07XG4gIH1cbn1cbiIsIi5lbnRyeS1saXN0IHtcbiAgJl9fbGVnZW5kIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgPiBkaXYge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgID4gKiB7XG4gICAgICAgICsgKiB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDEuNXJlbSAwIDA7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEwKTtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgb3JkZXI6IDI7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgIG9yZGVyOiAtMTtcbiAgICAgIH1cblxuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuaG55LXN2ZyB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ3JvdyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLmJ1dHRvbiB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuXG4gIC5obnktc3ZnIHtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgcGFkZGluZzogM3B4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4gICAgb3BhY2l0eTogMC43NTtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBmaWxsOiAkd2hpdGU7XG5cbiAgICAmLS1xdWVzdGlvbi1tYXJrIHtcbiAgICAgIGJhY2tncm91bmQ6ICRhbGVydC1jb2xvcjtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgJi0tY2hlY2sge1xuICAgICAgYmFja2dyb3VuZDogJHN1Y2Nlc3MtY29sb3I7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgICYtLW5vdC1ub3RpZmllZCB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBmaWxsOiAkbWVkaXVtLWdyYXk7XG4gICAgfVxuXG4gICAgJi0td2FybiB7XG4gICAgICBiYWNrZ3JvdW5kOiAkd2FybmluZy1jb2xvcjtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5cbiAgdGQge1xuICAgIHNtYWxsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICB9XG4gIH1cblxuICB0aCB7XG4gICAgYmFja2dyb3VuZDogJHNlY29uZGFyeS1jb2xvcjtcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG5cbiAgLmhhcy1mYWtlLWxpbmsge1xuICAgICY6aG92ZXIge1xuICAgICAgdGQge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLW9wZW4ge1xuICAgICAgdGQge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgKyB0ciB7XG4gICAgICAgIHRkIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhaW1wb3J0YW50O1xuICAgICAgICAgIHBhZGRpbmc6IDEuNXJlbTtcblxuICAgICAgICAgIGg2IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB1bCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgKyBsaSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDNweDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB0ZCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItbGVmdC13aWR0aDogM3B4O1xuICAgICAgfVxuXG4gICAgICA+IGJ1dHRvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5oaWdobGlnaHQge1xuICAgIHRyIHtcbiAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcblxuICAgICAgdGQge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkd2FybmluZy1jb2xvciwgMC4xKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmZhcS1saXN0IHtcbiAgJl9fYmxvY2sge1xuICAgICsgLmZhcS1saXN0X19ibG9jayB7XG4gICAgICBtYXJnaW4tdG9wOiAzcmVtO1xuICAgICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgICBib3JkZXItdG9wOiAycHggc29saWQgJGRhcmstZ3JheTtcbiAgICB9XG4gIH1cblxuICAmX19pdGVtIHtcbiAgICArIC5mYXEtbGlzdF9faXRlbSB7XG4gICAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgICBwYWRkaW5nLXRvcDogMS41cmVtO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuICAgIH1cblxuICAgIGg2IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgc3BhbiB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIC5obnktc3ZnIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gICAgICAgIGZpbGw6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5oZWFkZXItdXRpbGl0eSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIH1cblxuICBhIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG5cbiAgPiAqIHtcbiAgICArICoge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKCR3aGl0ZSwgMC41KTtcbiAgICB9XG4gIH1cbn1cbiIsIi5oZXJvIHtcbiAgYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG59XG4iLCIubGVnYWwtbmF2IHtcbiAgJl9faXRlbXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgfVxuXG4gICZfX2l0ZW0ge1xuICAgICsgLmxlZ2FsLW5hdl9faXRlbSB7XG4gICAgICBtYXJnaW4tbGVmdDogMC43NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC43NXJlbTtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgkd2hpdGUsIDAuNSk7XG4gICAgfVxuICB9XG59XG4iLCIubGlzdGluZyB7XG4gICZfX2l0ZW0ge1xuICAgICsgLmxpc3RpbmdfX2l0ZW0ge1xuICAgICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICB9XG4gIH1cbn1cbiIsIi5sb2dpbi1mb3JtIHtcbiAgLmxvZ2luLXN1Ym1pdCB7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW07XG5cbiAgICAuYnV0dG9uIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgfVxuXG4gICZfX2xvc3QtcGFzc3dvcmQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gICZfX2RpdmlkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgei1pbmRleDogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogMC43NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xuXG4gICAgJjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjVweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG4gICAgfVxuICB9XG5cbiAgJl9fc2lnbnVwIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cbiIsIi5sb2dvLWxpc3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luOiAwIC0xcmVtO1xuICBmbGV4OiAxO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIG1hcmdpbjogMCAtMnJlbTtcbiAgfVxuXG4gIC5zaXRlLWZvb3RlciAmIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIG9ubHkpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gIC5jb250ZW50LWJsb2NrLS1oYXMtbG9nb3MgJiB7XG4gICAgcGFkZGluZy10b3A6IDFyZW07XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgfVxuXG4gIC5zaXRlLWZvb3RlciAmIHtcbiAgICBtYXJnaW46IDAgLTAuNXJlbTtcbiAgfVxuXG4gICZfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBmbGV4OiAxO1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Ugb25seSkge1xuICAgICAgLnNpdGUtZm9vdGVyICYge1xuICAgICAgICBmbGV4OiAwIDAgcGVyY2VudGFnZSgxLzMpO1xuICAgICAgICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UoMS8zKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXg6IDE7XG4gICAgcGFkZGluZzogMCAxcmVtO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHBhZGRpbmc6IDAgMnJlbTtcbiAgICB9XG5cbiAgICAuc2l0ZS1mb290ZXIgJiB7XG4gICAgICBwYWRkaW5nOiAwIDAuNXJlbTtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59IiwiJGxvZ28tcmF0aW86IDEyMC81ODA7XG5cbi5sb2dvIHtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgJi0tbGFyZ2Uge1xuICAgIHN2ZyB7XG4gICAgICB3aWR0aDogMjAwcHg7XG4gICAgICBoZWlnaHQ6ICN7MjAwcHggKiAkbG9nby1yYXRpb307XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoMzIwIGRvd24pIHtcbiAgICAgICAgd2lkdGg6IDE5MHB4O1xuICAgICAgICBoZWlnaHQ6ICN7MTkwcHggKiAkbG9nby1yYXRpb307XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHdpZHRoOiAyNTBweDtcbiAgICAgICAgaGVpZ2h0OiAjezI1MHB4ICogJGxvZ28tcmF0aW99O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHdpZHRoOiAzNTBweDtcbiAgICAgICAgaGVpZ2h0OiAjezM1MHB4ICogJGxvZ28tcmF0aW99O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcbiAgICAgICAgd2lkdGg6IDUwMHB4O1xuICAgICAgICBoZWlnaHQ6ICN7NTAwcHggKiAkbG9nby1yYXRpb307XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIubWFzdGhlYWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbjogMCAtMS41cmVtO1xuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIG1hcmdpbjogMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gICZfX2xvZ28ge1xuICAgIGZsZXg6IDE7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG5cbiAgICAubG9nbyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgJl9fbmF2IHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAzcmVtO1xuICAgIH1cbiAgfVxufVxuIiwiLm1vYmlsZS1uYXYge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7XG4gIGJvdHRvbTogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IC0xO1xuICB0cmFuc2l0aW9uOiAkdHJhbnM7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuaXMtbW9iaWxlLW5hdi1vcGVuICYge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuXG4gICZfX3dyYXBwZXIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBwYWRkaW5nOiAkbW9iaWxlLWhlYWRlci1oZWlnaHQgMS41cmVtIDEuNXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgIC5hZG1pbi1iYXIgJiB7XG4gICAgICBwYWRkaW5nOiAkbW9iaWxlLWhlYWRlci1hZG1pbi1iYXItaGVpZ2h0LXNtYWxsIDEuNXJlbSAxLjVyZW07XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNzgyKSB7XG4gICAgICAgIHBhZGRpbmc6ICRtb2JpbGUtaGVhZGVyLWFkbWluLWJhci1oZWlnaHQtbWVkaXVtIDEuNXJlbSAxLjVyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9faXRlbXMsXG4gICZfX3V0aWxpdHkge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlLWluLW91dCwgb3BhY2l0eSAwLjc1cyBlYXNlLWluLW91dDtcblxuICAgIC5pcy1tb2JpbGUtbmF2LW9wZW4gJiB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxuXG4gIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICB9XG5cbiAgJl9faXRlbXMge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgbGkge1xuICAgICAgPiBhIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiAgICAgICAgcGFkZGluZy10b3A6IDEycHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMnB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG5cbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAuaG55LXN2ZyB7XG4gICAgICAgICAgZmlsbDogY3VycmVudENvbG9yO1xuICAgICAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgPiBhIHtcbiAgICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgPiBhIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9faXRlbXMge1xuICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgzNjAgZG93bikge1xuICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KDc4Mikge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuICB9XG5cbiAgLmNvbnRhY3QtbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIG1hcmdpbjogMCAtMS41cmVtIC0xLjVyZW07XG5cbiAgICBsaSB7XG4gICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgbWF4LXdpZHRoOiA1MCU7XG5cbiAgICAgIGEge1xuICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoMzYwIGRvd24pIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblxuICAgICAgICAgIC5obnktc3ZnIHtcbiAgICAgICAgICAgIHdpZHRoOiAxcmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAxcmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICArIGxpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkd2hpdGU7XG4gICAgICB9XG5cbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLm5hdmJ1cmdlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGhlaWdodDogJG1vYmlsZS1oZWFkZXItaGVpZ2h0O1xuICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgdHJhbnNpdGlvbjogLjRzO1xuXG4gIC5pcy1tb2JpbGUtbmF2LW9wZW4gJiB7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmX19pY29uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgaGVpZ2h0OiAzcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAzMnB4O1xuICAgIHRyYW5zaXRpb246IGluaGVyaXQ7XG5cbiAgICAuaXMtbW9iaWxlLW5hdi1vcGVuICYge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIH1cblxuICAgICY6YWZ0ZXIsXG4gICAgJjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogM3B4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdHJhbnNpdGlvbjogaW5oZXJpdDtcbiAgICAgIHdpZHRoOiAzMnB4O1xuXG4gICAgICAuaXMtbW9iaWxlLW5hdi1vcGVuICYge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIHRvcDogMTBweDtcblxuICAgICAgLmlzLW1vYmlsZS1uYXYtb3BlbiAmIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIHRvcDogLTEwcHg7XG5cbiAgICAgIC5pcy1tb2JpbGUtbmF2LW9wZW4gJiB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnBob3RvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIGZpZ3VyZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBib3gtc2hhZG93OiAkYm94LXNoYWRvdztcblxuICAgICYudS1waG90by1iZy0tZXh0ZW5kLXJpZ2h0IHtcbiAgICAgICsgLnBob3RvX19jYXB0aW9uIHtcbiAgICAgICAgcmlnaHQ6IC0zcmVtO1xuICAgICAgICBsZWZ0OiAzcmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICByaWdodDogLTEuNXJlbTtcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDNyZW07XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogM3JlbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5wcmltYXJ5LW5hdiB7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICB9XG5cbiAgJl9faXRlbXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB9XG5cbiAgJl9faXRlbSB7XG4gICAgKyBsaSB7XG4gICAgICBtYXJnaW4tbGVmdDogMS41cmVtO1xuICAgIH1cblxuICAgID4gYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZzogMC41cmVtIDA7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseS1jb25kZW5zZWQ7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjUpO1xuICAgICAgfVxuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDApO1xuICAgICAgICB0cmFuc2l0aW9uOiAkdHJhbnM7XG4gICAgICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzLFxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1hY3RpdmUge1xuICAgICAgPiBhIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19zdWJtZW51IHtcbiAgICB3aWR0aDogMjQwcHg7XG4gIH1cbn1cbiIsIi5wd2EtcG9wdXAge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogY2FsYygyMHB4ICsgMC41cmVtKTtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgei1pbmRleDogMjE0NzQ4MzY0NztcblxuICAmLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJl9fYnViYmxlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC45NSk7XG4gICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDVweCAxMHB4IHJnYmEoMTEsIDI3LCAzOCwgMC41KSk7XG5cbiAgICBidXR0b24ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLThweDtcbiAgICAgIHJpZ2h0OiAtOHB4O1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgIC5obnktc3ZnIHtcbiAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgZmlsbDogJHdoaXRlO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxMDAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gICAgICBib3JkZXItd2lkdGg6IDIwcHggMjBweCAwIDIwcHg7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKCR3aGl0ZSwgMC45NSkgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb250ZW50OiAnJztcbiAgICB9XG4gIH1cblxuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcblxuICAgIC5obnktc3ZnIHtcbiAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cbn1cbiIsIi5zZWFyY2gtdXRpbGl0eSB7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luOiAwIC0wLjI1cmVtIDEuNXJlbTtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIGxhYmVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgPiAqIHtcbiAgICArICoge1xuICAgICAgbWFyZ2luLXRvcDogMC41cmVtO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICBwYWRkaW5nOiAwIDAuMjVyZW07XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgfVxuICB9XG5cbiAgc2VsZWN0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAmX19sb2FkZXIge1xuICAgICsgLmJ1dHRvbiB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIC5hcmNoaXZlLWNoZWNrYm94IHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG5cbiAgICBpbnB1dCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiJGNvbHVtbi13aWR0aDogNjc1cHg7XG5cbi5zaXRlLWZvb3RlciB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJl9fY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuXG4gICAgJi0tdG9wIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICRmb290ZXItb2Zmc2V0O1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLWJvdHRvbSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCBkb3duKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3Bob3RvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB6LWluZGV4OiAtMTtcblxuICAgIGZpZ3VyZSB7XG4gICAgICBAZXh0ZW5kICV1LWJnLWNvdmVyO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgbGVmdDogLTEuNXJlbTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBsZWZ0OiBjYWxjKCN7JGNvbHVtbi13aWR0aCAvIDJ9IC0gM3JlbSk7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwdncgKyA3MjZweCAtICgjeyRjb2x1bW4td2lkdGggLyAyfSAtIDNyZW0pKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19jb250ZW50IHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXRvcDogMS41cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW07XG4gICAgZmxleDogMSAwIGF1dG87XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwICRjb2x1bW4td2lkdGg7XG4gICAgICBtYXgtd2lkdGg6ICRjb2x1bW4td2lkdGg7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgJjpmb2N1cyxcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogLTEuNXJlbTtcbiAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgdG9wOiAwO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cblxuICAgICAgLnNpdGUtZm9vdGVyX19jb250YWluZXItLXRvcCAmIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBAc3VwcG9ydHMgKG1peC1ibGVuZC1tb2RlOiBtdWx0aXBseSkge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgIG1peC1ibGVuZC1tb2RlOiBtdWx0aXBseTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19jb2x1bW5zIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICBtYXJnaW46IDAgLTNyZW07XG4gICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIG1hcmdpbjogMCAwIDAgLTNyZW07XG4gICAgfVxuICB9XG5cbiAgJl9fY29sdW1uIHtcbiAgICArIC5zaXRlLWZvb3Rlcl9fY29sdW1uIHtcbiAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICBwYWRkaW5nOiAzcmVtO1xuICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgZmxleDogMCAwICN7JGNvbHVtbi13aWR0aCAvIDJ9O1xuICAgICAgbWF4LXdpZHRoOiAjeyRjb2x1bW4td2lkdGggLyAyfTtcbiAgICB9XG5cbiAgICA+IGRpdiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgIH1cblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIC5zaXRlLWZvb3Rlcl9fY29udGFpbmVyLS10b3AgJiB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIHotaW5kZXg6IC0xO1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG5cbiAgICAgICAgICAgIEBzdXBwb3J0cyAobWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5KSB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgIG1heC13aWR0aDogY2FsYygjeyRjb2x1bW4td2lkdGggLyAyfSArIDNyZW0pO1xuICAgICAgfVxuXG4gICAgICAuc2l0ZS1mb290ZXJfX2NvbnRhaW5lci0tdG9wICYge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KTtcblxuICAgICAgICAgIEBzdXBwb3J0cyAobWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5KSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5obnktc3ZnIHtcbiAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gICAgfVxuICB9XG5cbiAgJl9fbG9nb3Mge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMTtcbiAgICBwYWRkaW5nOiAxLjVyZW0gMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICBwYWRkaW5nOiAxLjVyZW0gMCAxLjVyZW0gMS41cmVtO1xuICAgICAgb3JkZXI6IDI7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgICAgei1pbmRleDogLTE7XG4gICAgfVxuICB9XG5cbiAgJl9fY29sb3Bob24ge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW07XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuICAgIH1cblxuICAgIHAsXG4gICAgdWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKCR3aGl0ZSwgMC41KTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMC43NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjc1cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNzVyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNzVyZW07XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoJHdoaXRlLCAwLjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2xlZ2FsIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuICB9XG5cbiAgJl9fbGVnYWxlc2Uge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICB9XG4gIH1cblxuICAmX19jcmVkaXQge1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLnNpdGUtaGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDA7XG4gIGZsZXg6IDEgMCBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG4iLCIuc2l0ZS1zZWFyY2gge1xuICAmX19mb3JtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAubC1tYWluICYge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICBiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgID4gZGl2IHtcbiAgICAgICAgZmxleDogMSAwIGF1dG87XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2lucHV0IHtcbiAgICBsYWJlbCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIC5obnktc3ZnIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTEycHg7XG4gICAgICAgIGZpbGw6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgICAgIC5zZWFyY2gtb3ZlcmxheSAmIHtcbiAgICAgICAgICB3aWR0aDogNDhweDtcbiAgICAgICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLTI0cHg7XG4gICAgICAgICAgZmlsbDogcmdiYSgkd2hpdGUsIDAuMik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPSd0ZXh0J10ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgLmwtbWFpbiAmIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgY2FsYygyNHB4ICsgMXJlbSk7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuXG4gICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICBjb2xvcjogcmdiYSgkYm9keS1mb250LWNvbG9yLCAwLjIpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5zZWFyY2gtb3ZlcmxheSAmIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCBjYWxjKDQ4cHggKyAxcmVtKTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICR3aGl0ZTtcbiAgICAgICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMyKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMyKTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDY0KTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNjQpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgIGNvbG9yOiByZ2JhKCR3aGl0ZSwgMC4yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3N1Ym1pdCB7XG4gICAgLnNlYXJjaC1vdmVybGF5ICYge1xuICAgICAgQGV4dGVuZCAldS1zY3JlZW4tcmVhZGVyO1xuICAgIH1cbiAgfVxufVxuIiwiLnRhYnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCAwIDEuNXJlbTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuXG4gICY6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IC01MHZ3O1xuICAgIHdpZHRoOiAxNTB2dztcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIGxpIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcblxuICAgIGJ1dHRvbiB7XG4gICAgICBwYWRkaW5nOiAwLjVyZW0gMS41cmVtO1xuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zO1xuICAgICAgYm9yZGVyLXRvcDogM3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuICAgICAgfVxuICAgIH1cblxuICAgICsgbGkge1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgYnV0dG9uIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi50d28tY29sdW1uLWxpc3Qge1xuICBtYXJnaW46IDA7XG4gIGNvbHVtbi1nYXA6IDEuNXJlbTtcbiAgY29sdW1uLWNvdW50OiAyO1xufVxuIiwiQG1lZGlhIHByaW50IHtcbiAgKiB7XG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApICFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXJcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgYSB7XG4gICAgJltocmVmXSB7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEb24ndCBzaG93IGxpbmtzIGZvciBmcmFnbWVudCBpZGVudGlmaWVycywgb3IgOnRlbCBsaW5rc1xuICAgICZbaHJlZl49J3RlbCddLFxuICAgIFtocmVmXj0nIyddIHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOnZpc2l0ZWQge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG5cbiAgYWJiciB7XG4gICAgJlt0aXRsZV0ge1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcgKCcgYXR0cih0aXRsZSkgJyknO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJsYWNrO1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgfVxuXG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7XG4gIH1cblxuICB0cixcbiAgaW1nIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIH1cblxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyAvLyBBdm9pZCBpbWFnZXMgYmxlZWRpbmcgb2ZmIHRoZSBlZGdlcyBvZiB0aGUgcGFnZVxuICB9XG5cbiAgLmhueS1zdmcge1xuICAgIGZpbGw6ICRibGFjayAhaW1wb3J0YW50O1xuICB9XG5cbiAgcCxcbiAgaDIsXG4gIGgzIHtcbiAgICBvcnBoYW5zOiAzO1xuICAgIHdpZG93czogMztcbiAgfVxuXG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7XG4gIH1cbn1cbiJdfQ== */
