@charset "UTF-8";
/*!
 * -------------------------------------------
 * AWESEM starter theme CSS output file
 * -------------------------------------------
 *
 * ----------------- CAUTION -----------------
 * This file is compiled from the .scss source
 * DON'T MAKE ANY MANUAL CHANGES TO THAT FILE!
 * They can be overwritten and lost forever
 * -------------------------------------------
 *
 */
/* Theme variables */
/* Global settings */
/**
 * Foundation for Sites
 * Version 6.6.3
 * https://get.foundation
 * Licensed under MIT Open Source
 */
@media print, screen and (min-width: 40em) {
  .reveal, .reveal.tiny, .reveal.small, .reveal.large {
    right: auto;
    left: auto;
    margin: 0 auto; } }

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

body {
  margin: 0; }

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

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

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

a {
  background-color: transparent; }

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

b,
strong {
  font-weight: bolder; }

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

small {
  font-size: 80%; }

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

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

img {
  border-style: none; }

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

button,
input {
  overflow: visible; }

button,
select {
  text-transform: none; }

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

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

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

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

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

progress {
  vertical-align: baseline; }

textarea {
  overflow: auto; }

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

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

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

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

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

details {
  display: block; }

summary {
  display: list-item; }

template {
  display: none; }

[hidden] {
  display: none; }

.foundation-mq {
  font-family: "small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em"; }

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

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

body {
  margin: 0;
  padding: 0;
  background: #fefefe;
  font-family: "Mulish", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 300;
  line-height: 1.5;
  color: #393939;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

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

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

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

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

button {
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  border-radius: 2px;
  background: transparent;
  line-height: 1;
  cursor: auto; }
  [data-whatinput='mouse'] button {
    outline: 0; }

pre {
  overflow: auto; }

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

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

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

.grid-container {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 81.25rem;
  margin-left: auto;
  margin-right: auto; }
  @media print, screen and (min-width: 40em) {
    .grid-container {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .grid-container.fluid {
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto; }
    @media print, screen and (min-width: 40em) {
      .grid-container.fluid {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  .grid-container.full {
    padding-right: 0;
    padding-left: 0;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media print, screen and (min-width: 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: 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%; } }

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

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

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

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

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

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

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

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

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

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

.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: 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%; } }

.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: 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 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: 64em) {
  .large-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .large-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.grid-y {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-flow: column nowrap;
      -ms-flex-flow: column nowrap;
          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 {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            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 {
      -webkit-flex-basis: auto;
          -ms-flex-preferred-size: auto;
              flex-basis: auto; } }
  @media print, screen and (min-width: 64em) {
    .grid-y > .large-shrink, .grid-y > .large-full, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 {
      -webkit-flex-basis: auto;
          -ms-flex-preferred-size: auto;
              flex-basis: auto; } }
  .grid-y > .small-1, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
  .grid-y > .small-1 {
    height: 8.33333%; }
  .grid-y > .small-2 {
    height: 16.66667%; }
  .grid-y > .small-3 {
    height: 25%; }
  .grid-y > .small-4 {
    height: 33.33333%; }
  .grid-y > .small-5 {
    height: 41.66667%; }
  .grid-y > .small-6 {
    height: 50%; }
  .grid-y > .small-7 {
    height: 58.33333%; }
  .grid-y > .small-8 {
    height: 66.66667%; }
  .grid-y > .small-9 {
    height: 75%; }
  .grid-y > .small-10 {
    height: 83.33333%; }
  .grid-y > .small-11 {
    height: 91.66667%; }
  .grid-y > .small-12 {
    height: 100%; }
  @media print, screen and (min-width: 40em) {
    .grid-y > .medium-auto {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      height: auto; }
    .grid-y > .medium-shrink, .grid-y > .medium-1, .grid-y > .medium-2, .grid-y > .medium-3, .grid-y > .medium-4, .grid-y > .medium-5, .grid-y > .medium-6, .grid-y > .medium-7, .grid-y > .medium-8, .grid-y > .medium-9, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12 {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 auto;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto; }
    .grid-y > .medium-shrink {
      height: auto; }
    .grid-y > .medium-1 {
      height: 8.33333%; }
    .grid-y > .medium-2 {
      height: 16.66667%; }
    .grid-y > .medium-3 {
      height: 25%; }
    .grid-y > .medium-4 {
      height: 33.33333%; }
    .grid-y > .medium-5 {
      height: 41.66667%; }
    .grid-y > .medium-6 {
      height: 50%; }
    .grid-y > .medium-7 {
      height: 58.33333%; }
    .grid-y > .medium-8 {
      height: 66.66667%; }
    .grid-y > .medium-9 {
      height: 75%; }
    .grid-y > .medium-10 {
      height: 83.33333%; }
    .grid-y > .medium-11 {
      height: 91.66667%; }
    .grid-y > .medium-12 {
      height: 100%; } }
  @media print, screen and (min-width: 64em) {
    .grid-y > .large-auto {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      height: auto; }
    .grid-y > .large-shrink, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 auto;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto; }
    .grid-y > .large-shrink {
      height: auto; }
    .grid-y > .large-1 {
      height: 8.33333%; }
    .grid-y > .large-2 {
      height: 16.66667%; }
    .grid-y > .large-3 {
      height: 25%; }
    .grid-y > .large-4 {
      height: 33.33333%; }
    .grid-y > .large-5 {
      height: 41.66667%; }
    .grid-y > .large-6 {
      height: 50%; }
    .grid-y > .large-7 {
      height: 58.33333%; }
    .grid-y > .large-8 {
      height: 66.66667%; }
    .grid-y > .large-9 {
      height: 75%; }
    .grid-y > .large-10 {
      height: 83.33333%; }
    .grid-y > .large-11 {
      height: 91.66667%; }
    .grid-y > .large-12 {
      height: 100%; } }

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

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

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

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

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

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

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

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

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

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

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

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

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

.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: 64em) {
  .cell .grid-y.large-grid-frame {
    height: 100%; } }

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

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

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

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

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

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

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

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

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

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  font-family: "Newsreader", serif;
  font-style: normal;
  font-weight: 300;
  color: inherit;
  text-rendering: optimizeLegibility; }
  h1 small, .h1 small,
  h2 small, .h2 small,
  h3 small, .h3 small,
  h4 small, .h4 small,
  h5 small, .h5 small,
  h6 small, .h6 small {
    line-height: 0;
    color: #cacaca; }

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

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

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

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

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

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

@media print, screen and (min-width: 40em) {
  h1, .h1 {
    font-size: 2rem; }
  h2, .h2 {
    font-size: 1.5rem; }
  h3, .h3 {
    font-size: 1.375rem; }
  h4, .h4 {
    font-size: 1.25rem; }
  h5, .h5 {
    font-size: 1.1875rem; }
  h6, .h6 {
    font-size: 1rem; } }

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

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

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

li {
  font-size: inherit; }

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

ol {
  margin-left: 1.25rem; }

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

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

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

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

figure {
  margin: 0; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media print {
  * {
    background: transparent !important;
    color: black !important;
    -webkit-print-color-adjust: economy;
            color-adjust: economy;
    -webkit-box-shadow: none !important;
            box-shadow: none !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 {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  padding: 0.907em 1em;
  border: 1px solid transparent;
  border-radius: 9999px;
  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-family: inherit;
  font-size: 1rem;
  -webkit-appearance: none;
  line-height: 1;
  text-align: center;
  cursor: pointer; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button.tiny {
    font-size: 0.6rem; }
  .button.small {
    font-size: 0.75rem; }
  .button.large {
    font-size: 1.25rem; }
  .button.expanded {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0; }
  .button, .button.disabled, .button[disabled], .button.disabled:hover, .button[disabled]:hover, .button.disabled:focus, .button[disabled]:focus {
    background-color: #ee0018;
    color: #fefefe; }
  .button:hover, .button:focus {
    background-color: #ff0720;
    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: #ee0018;
    color: #fefefe; }
  .button.primary:hover, .button.primary:focus {
    background-color: #be0013;
    color: #fefefe; }
  .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: #4B4B4B;
    color: #fefefe; }
  .button.secondary:hover, .button.secondary:focus {
    background-color: #3c3c3c;
    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: #7bc84a;
    color: #0a0a0a; }
  .button.success:hover, .button.success:focus {
    background-color: #61a833;
    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: #cc4b37;
    color: #fefefe; }
  .button.alert:hover, .button.alert:focus {
    background-color: #a53b2a;
    color: #fefefe; }
  .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 #ee0018;
    color: #ee0018; }
  .button.hollow:hover, .button.hollow:focus {
    border-color: #77000c;
    color: #77000c; }
  .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 #ee0018;
    color: #ee0018; }
  .button.hollow.primary:hover, .button.hollow.primary:focus {
    border-color: #77000c;
    color: #77000c; }
  .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 #4B4B4B;
    color: #4B4B4B; }
  .button.hollow.secondary:hover, .button.hollow.secondary:focus {
    border-color: #262626;
    color: #262626; }
  .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 #7bc84a;
    color: #7bc84a; }
  .button.hollow.success:hover, .button.hollow.success:focus {
    border-color: #3c6920;
    color: #3c6920; }
  .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 #cc4b37;
    color: #cc4b37; }
  .button.hollow.alert:hover, .button.hollow.alert:focus {
    border-color: #67251a;
    color: #67251a; }
  .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: #ee0018; }
  .button.clear:hover, .button.clear:focus {
    color: #77000c; }
  .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: #ee0018; }
  .button.clear.primary:hover, .button.clear.primary:focus {
    color: #77000c; }
  .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: #4B4B4B; }
  .button.clear.secondary:hover, .button.clear.secondary:focus {
    color: #262626; }
  .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: #7bc84a; }
  .button.clear.success:hover, .button.clear.success:focus {
    color: #3c6920; }
  .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: #cc4b37; }
  .button.clear.alert:hover, .button.clear.alert:focus {
    color: #67251a; }
  .button.disabled, .button[disabled] {
    opacity: 0.25;
    cursor: not-allowed; }
  .button.dropdown::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4em;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #fefefe transparent transparent;
    position: relative;
    top: 0.4em;
    display: inline-block;
    float: right;
    margin-left: 1em; }
  .button.dropdown.hollow::after, .button.dropdown.clear::after {
    border-top-color: #ee0018; }
  .button.dropdown.hollow.primary::after, .button.dropdown.clear.primary::after {
    border-top-color: #ee0018; }
  .button.dropdown.hollow.secondary::after, .button.dropdown.clear.secondary::after {
    border-top-color: #4B4B4B; }
  .button.dropdown.hollow.success::after, .button.dropdown.clear.success::after {
    border-top-color: #7bc84a; }
  .button.dropdown.hollow.warning::after, .button.dropdown.clear.warning::after {
    border-top-color: #ffae00; }
  .button.dropdown.hollow.alert::after, .button.dropdown.clear.alert::after {
    border-top-color: #cc4b37; }
  .button.arrow-only::after {
    top: -0.1em;
    float: none;
    margin-left: 0; }

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

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

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

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

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

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

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

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

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

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

::placeholder {
  color: #cacaca; }

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

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

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

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

label {
  display: block;
  margin: 0;
  font-size: 0.875rem;
  font-weight: 300;
  line-height: 1.8;
  color: #0a0a0a; }
  label.middle {
    margin: 0 0 1.5rem;
    padding: 0.8125rem 0; }

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

.input-group {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin-bottom: 1.5rem;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }
  .input-group > :first-child, .input-group > :first-child.input-group-button > * {
    border-radius: 2px 0 0 2px; }
  .input-group > :last-child, .input-group > :last-child.input-group-button > * {
    border-radius: 0 2px 2px 0; }

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

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

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

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

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

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

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

select {
  height: 2.9375rem;
  margin: 0 0 1.5rem;
  padding: 0.75rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid #cacaca;
  border-radius: 2px;
  background-color: #fefefe;
  font-family: inherit;
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.5;
  color: #0a0a0a;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>");
  background-origin: content-box;
  background-position: right -1.5rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 2.25rem;
  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; }
  @media screen and (min-width: 0\0) {
    select {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
  select:focus {
    outline: none;
    border: 1px solid #8a8a8a;
    background-color: #fefefe;
    -webkit-box-shadow: 0 0 5px #cacaca;
            box-shadow: 0 0 5px #cacaca;
    -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; }
  select:disabled {
    background-color: #f4f4f4;
    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: #cc4b37;
  background-color: #f9ecea; }
  .is-invalid-input:not(:focus)::-webkit-input-placeholder {
    color: #cc4b37; }
  .is-invalid-input:not(:focus)::-moz-placeholder {
    color: #cc4b37; }
  .is-invalid-input:not(:focus):-ms-input-placeholder {
    color: #cc4b37; }
  .is-invalid-input:not(:focus)::-ms-input-placeholder {
    color: #cc4b37; }
  .is-invalid-input:not(:focus)::placeholder {
    color: #cc4b37; }

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

.form-error {
  display: none;
  margin-top: -0.75rem;
  margin-bottom: 1.5rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: #cc4b37; }
  .form-error.is-visible {
    display: block; }

.accordion {
  margin-left: 0;
  background: #FDFDFD;
  list-style-type: none; }
  .accordion[disabled] .accordion-title {
    cursor: not-allowed; }

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

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

.accordion-title {
  position: relative;
  display: block;
  padding: 1.25rem 0;
  border: 0;
  border-bottom: 0;
  font-size: 1rem;
  line-height: 1;
  color: #4B4B4B; }
  :last-child:not(.is-active) > .accordion-title {
    border-bottom: 0;
    border-radius: 0 0 2px 2px; }
  .accordion-title:hover, .accordion-title:focus {
    background-color: #FDFDFD; }
  .accordion-title::before {
    position: absolute;
    top: 50%;
    right: 1rem;
    margin-top: -0.5rem;
    content: "+"; }
  .is-active > .accordion-title::before {
    content: "–"; }

.accordion-content {
  display: none;
  padding: 0 0 1rem;
  border: 0;
  border-bottom: 0;
  background-color: #FDFDFD;
  color: #393939; }
  :last-child > .accordion-content:last-child {
    border-bottom: 0; }

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

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

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

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

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

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

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

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

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

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

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

.submenu-toggle {
  position: absolute;
  top: 0;
  right: 0;
  width: 40px;
  height: 40px;
  cursor: pointer; }
  .submenu-toggle::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #ee0018 transparent transparent;
    top: 0;
    bottom: 0;
    margin: auto; }

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

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

.close-button {
  position: absolute;
  z-index: 10;
  color: #8a8a8a;
  cursor: pointer; }
  [data-whatinput='mouse'] .close-button {
    outline: 0; }
  .close-button:hover, .close-button:focus {
    color: #0a0a0a; }
  .close-button.small {
    right: 0.66rem;
    top: 0.33em;
    font-size: 1.5em;
    line-height: 1; }
  .close-button.medium, .close-button {
    right: 1rem;
    top: 0.5rem;
    font-size: 2em;
    line-height: 1; }

.menu {
  padding: 0;
  margin: 0;
  list-style: none;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  [data-whatinput='mouse'] .menu li {
    outline: 0; }
  .menu a,
  .menu .button {
    line-height: 1;
    text-decoration: none;
    display: block;
    padding: AWESEM-HACK; }
  .menu input,
  .menu select,
  .menu a,
  .menu button {
    margin-bottom: 0; }
  .menu input {
    display: inline-block; }
  .menu, .menu.horizontal {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
  .menu.vertical {
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  .menu.expanded li {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .menu.simple {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
    .menu.simple li + li {
      margin-left: 1rem; }
    .menu.simple a {
      padding: 0; }
  @media print, screen and (min-width: 40em) {
    .menu.medium-horizontal {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; }
    .menu.medium-vertical {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.medium-expanded li {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.medium-simple li {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  @media print, screen and (min-width: 64em) {
    .menu.large-horizontal {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; }
    .menu.large-vertical {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.large-expanded li {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.large-simple li {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  .menu.nested {
    margin-right: 0;
    margin-left: 1rem; }
  .menu.icons a {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .menu.icon-top a, .menu.icon-right a, .menu.icon-bottom a, .menu.icon-left a {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .menu.icon-left li a {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-flow: row nowrap;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap; }
    .menu.icon-left li a img,
    .menu.icon-left li a i,
    .menu.icon-left li a svg {
      margin-right: 0.25rem; }
  .menu.icon-right li a {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-flow: row nowrap;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap; }
    .menu.icon-right li a img,
    .menu.icon-right li a i,
    .menu.icon-right li a svg {
      margin-left: 0.25rem; }
  .menu.icon-top li a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-flow: column nowrap;
        -ms-flex-flow: column nowrap;
            flex-flow: column nowrap; }
    .menu.icon-top li a img,
    .menu.icon-top li a i,
    .menu.icon-top li a svg {
      -webkit-align-self: stretch;
          -ms-flex-item-align: stretch;
              align-self: stretch;
      margin-bottom: 0.25rem;
      text-align: center; }
  .menu.icon-bottom li a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-flow: column nowrap;
        -ms-flex-flow: column nowrap;
            flex-flow: column nowrap; }
    .menu.icon-bottom li a img,
    .menu.icon-bottom li a i,
    .menu.icon-bottom li a svg {
      -webkit-align-self: stretch;
          -ms-flex-item-align: stretch;
              align-self: stretch;
      margin-bottom: 0.25rem;
      text-align: center; }
  .menu .is-active > a {
    background: #ee0018;
    color: #fefefe; }
  .menu .active > a {
    background: #ee0018;
    color: #fefefe; }
  .menu.align-left {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
  .menu.align-right li {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
    .menu.align-right li .submenu li {
      -webkit-box-pack: start;
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  .menu.align-right.vertical li {
    display: block;
    text-align: right; }
    .menu.align-right.vertical li .submenu li {
      text-align: right; }
  .menu.align-right .nested {
    margin-right: 1rem;
    margin-left: 0; }
  .menu.align-center li {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .menu.align-center li .submenu li {
      -webkit-box-pack: start;
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  .menu .menu-text {
    padding: 0.7rem 1rem;
    font-weight: bold;
    line-height: 1;
    color: inherit; }

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

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

.dropdown-pane {
  position: absolute;
  z-index: 10;
  display: none;
  width: 250px;
  padding: 0;
  visibility: hidden;
  border: 1px solid #2D2D2D;
  border-radius: 2px;
  background-color: #2D2D2D;
  font-size: 1rem; }
  .dropdown-pane.is-opening {
    display: block; }
  .dropdown-pane.is-open {
    display: block;
    visibility: visible; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.is-dropdown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: 1;
  display: none;
  min-width: 200px;
  border: 1px solid #cacaca;
  background: transparent; }
  .dropdown .is-dropdown-submenu a {
    padding: 0.7rem 1rem; }
  .is-dropdown-submenu .is-dropdown-submenu-parent > a::after {
    right: 14px; }
  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #ee0018 transparent transparent;
    right: auto;
    left: 5px; }
  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #ee0018; }
  .is-dropdown-submenu .is-dropdown-submenu {
    margin-top: -1px; }
  .is-dropdown-submenu > li {
    width: 100%; }
  .is-dropdown-submenu.js-dropdown-active {
    display: block; }

.sticky-container {
  position: relative; }

.sticky {
  position: relative;
  z-index: 0;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0); }

.sticky.is-stuck {
  position: fixed;
  z-index: 5;
  width: 100%; }
  .sticky.is-stuck.is-at-top {
    top: 0; }
  .sticky.is-stuck.is-at-bottom {
    bottom: 0; }

.sticky.is-anchored {
  position: relative;
  right: auto;
  left: auto; }
  .sticky.is-anchored.is-at-bottom {
    bottom: 0; }

html.is-reveal-open {
  position: fixed;
  width: 100%;
  overflow-y: hidden; }
  html.is-reveal-open.zf-has-scroll {
    overflow-y: scroll; }
  html.is-reveal-open body {
    overflow-y: hidden; }

.reveal-overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1005;
  display: none;
  background-color: rgba(10, 10, 10, 0.45);
  overflow-y: auto; }

.reveal {
  z-index: 1006;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  display: none;
  padding: 1rem;
  border: 1px solid #cacaca;
  border-radius: 2px;
  background-color: #fefefe;
  position: relative;
  top: 100px;
  margin-right: auto;
  margin-left: auto;
  overflow-y: auto; }
  [data-whatinput='mouse'] .reveal {
    outline: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal {
      min-height: 0; } }
  .reveal .column {
    min-width: 0; }
  .reveal > :last-child {
    margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal {
      width: 600px;
      max-width: 81.25rem; } }
  .reveal.collapse {
    padding: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal.tiny {
      width: 30%;
      max-width: 81.25rem; } }
  @media print, screen and (min-width: 40em) {
    .reveal.small {
      width: 50%;
      max-width: 81.25rem; } }
  @media print, screen and (min-width: 40em) {
    .reveal.large {
      width: 90%;
      max-width: 81.25rem; } }
  .reveal.full {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    min-height: 100%;
    margin-left: 0;
    border: 0;
    border-radius: 0; }
  @media print, screen and (max-width: 39.99875em) {
    .reveal {
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      width: 100%;
      max-width: none;
      height: 100%;
      min-height: 100%;
      margin-left: 0;
      border: 0;
      border-radius: 0; } }
  .reveal.without-overlay {
    position: fixed; }

table {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 2px; }
  thead,
  tbody,
  tfoot {
    border: 0;
    background-color: #fefefe; }
  caption {
    padding: 0.75rem 0.3125rem;
    font-weight: 700; }
  thead {
    background: #fefefe;
    color: #393939; }
  tfoot {
    background: #f1f1f1;
    color: #393939; }
  thead tr,
  tfoot tr {
    background: transparent; }
  thead th,
  thead td,
  tfoot th,
  tfoot td {
    padding: 0.75rem 0.3125rem;
    font-weight: 700;
    text-align: left; }
  tbody th,
  tbody td {
    padding: 0.75rem 0.3125rem; }
  tbody tr {
    border-bottom: 0;
    border-bottom: 0;
    background-color: #fefefe; }
  table.striped tbody tr:nth-child(even) {
    border-bottom: 0;
    background-color: #f1f1f1; }

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

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

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

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

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

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

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

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

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

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

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

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

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

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

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

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

@media print, screen and (min-width: 64em) and (max-width: 74.99875em) {
  .hide-for-large-only {
    display: none !important; } }

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

.show-for-sr,
.show-on-focus {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important; }

.show-on-focus:active, .show-on-focus:focus {
  position: static !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
  clip: auto !important;
  white-space: normal !important; }

.show-for-landscape,
.hide-for-portrait {
  display: block !important; }
  @media screen and (orientation: landscape) {
    .show-for-landscape,
    .hide-for-portrait {
      display: block !important; } }
  @media screen and (orientation: portrait) {
    .show-for-landscape,
    .hide-for-portrait {
      display: none !important; } }

.hide-for-landscape,
.show-for-portrait {
  display: none !important; }
  @media screen and (orientation: landscape) {
    .hide-for-landscape,
    .show-for-portrait {
      display: none !important; } }
  @media screen and (orientation: portrait) {
    .hide-for-landscape,
    .show-for-portrait {
      display: block !important; } }

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

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

.align-center {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

.align-justify {
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between; }

.align-spaced {
  -webkit-justify-content: space-around;
      -ms-flex-pack: distribute;
          justify-content: space-around; }

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

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

.align-center.vertical.menu > li > a {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

.align-top {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start; }

.align-self-top {
  -webkit-align-self: flex-start;
      -ms-flex-item-align: start;
          align-self: flex-start; }

.align-bottom {
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end; }

.align-self-bottom {
  -webkit-align-self: flex-end;
      -ms-flex-item-align: end;
          align-self: flex-end; }

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

.align-self-middle {
  -webkit-align-self: center;
      -ms-flex-item-align: center;
          align-self: center; }

.align-stretch {
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }

.align-self-stretch {
  -webkit-align-self: stretch;
      -ms-flex-item-align: stretch;
          align-self: stretch; }

.align-center-middle {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center; }

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

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

.small-order-3 {
  -webkit-box-ordinal-group: 4;
  -webkit-order: 3;
      -ms-flex-order: 3;
          order: 3; }

.small-order-4 {
  -webkit-box-ordinal-group: 5;
  -webkit-order: 4;
      -ms-flex-order: 4;
          order: 4; }

.small-order-5 {
  -webkit-box-ordinal-group: 6;
  -webkit-order: 5;
      -ms-flex-order: 5;
          order: 5; }

.small-order-6 {
  -webkit-box-ordinal-group: 7;
  -webkit-order: 6;
      -ms-flex-order: 6;
          order: 6; }

@media print, screen and (min-width: 40em) {
  .medium-order-1 {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .medium-order-2 {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .medium-order-3 {
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .medium-order-4 {
    -webkit-box-ordinal-group: 5;
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .medium-order-5 {
    -webkit-box-ordinal-group: 6;
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .medium-order-6 {
    -webkit-box-ordinal-group: 7;
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; } }

@media print, screen and (min-width: 64em) {
  .large-order-1 {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .large-order-2 {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .large-order-3 {
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .large-order-4 {
    -webkit-box-ordinal-group: 5;
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .large-order-5 {
    -webkit-box-ordinal-group: 6;
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .large-order-6 {
    -webkit-box-ordinal-group: 7;
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; } }

.flex-container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

.flex-child-auto {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto; }

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

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

.flex-dir-row {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row; }

.flex-dir-row-reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse; }

.flex-dir-column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }

.flex-dir-column-reverse {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: column-reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse; }

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

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

/*
 REMEMBER ABOUT ADDING: font-display: swap;
 */
/* mulish-300 - latin */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/mulish-v3-latin-300.eot");
  /* IE9 Compat Modes */
  src: local(""), url("../fonts/mulish-v3-latin-300.eot?#iefix") format("embedded-opentype"), url("../fonts/mulish-v3-latin-300.woff2") format("woff2"), url("../fonts/mulish-v3-latin-300.woff") format("woff"), url("../fonts/mulish-v3-latin-300.ttf") format("truetype"), url("../fonts/mulish-v3-latin-300.svg#Mulish") format("svg");
  /* Legacy iOS */ }

/* mulish-700 - latin */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/mulish-v3-latin-700.eot");
  /* IE9 Compat Modes */
  src: local(""), url("../fonts/mulish-v3-latin-700.eot?#iefix") format("embedded-opentype"), url("../fonts/mulish-v3-latin-700.woff2") format("woff2"), url("../fonts/mulish-v3-latin-700.woff") format("woff"), url("../fonts/mulish-v3-latin-700.ttf") format("truetype"), url("../fonts/mulish-v3-latin-700.svg#Mulish") format("svg");
  /* Legacy iOS */ }

/* newsreader-regular - latin */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/newsreader-v2-latin-regular.eot");
  /* IE9 Compat Modes */
  src: local(""), url("../fonts/newsreader-v2-latin-regular.eot?#iefix") format("embedded-opentype"), url("../fonts/newsreader-v2-latin-regular.woff2") format("woff2"), url("../fonts/newsreader-v2-latin-regular.woff") format("woff"), url("../fonts/newsreader-v2-latin-regular.ttf") format("truetype"), url("../fonts/newsreader-v2-latin-regular.svg#Newsreader") format("svg");
  /* Legacy iOS */ }

/*
This mixin can be used to set the object-fit:
@include object-fit(contain);
or object-fit and object-position:
@include object-fit(cover, top);
*/
@font-face {
  font-family: 'fontello';
  src: url("../fonts/fontello.eot?9744899");
  src: url("../fonts/fontello.eot?9744899#iefix") format("embedded-opentype"), url("../fonts/fontello.woff2?9744899") format("woff2"), url("../fonts/fontello.woff?9744899") format("woff"), url("../fonts/fontello.ttf?9744899") format("truetype"), url("../fonts/fontello.svg?9744899#fontello") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: swap; }

/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
/*
@media screen and (-webkit-min-device-pixel-ratio:0) {
  @font-face {
    font-family: 'fontello';
    src: url('../font/fontello.svg?9744899#fontello') format('svg');
  }
}
*/
.wpml__language--current::before, .dropdown.menu > li.is-dropdown-submenu-parent > a::after, .submenu-toggle::after, .breadcrumbs__separator, .pagination__icon, .sidebar a[href*='facebook.com']::before,
.footer a[href*='facebook.com']::before, .sidebar a[href*='twitter.com']::before,
.footer a[href*='twitter.com']::before, .sidebar a[href*='linkedin.com']::before,
.footer a[href*='linkedin.com']::before, .sidebar a[href*='pinterest.com']::before,
.footer a[href*='pinterest.com']::before, .sidebar a[href*='youtube.com']::before,
.footer a[href*='youtube.com']::before, .sidebar a[href*='plus.google.com']::before,
.footer a[href*='plus.google.com']::before, .sidebar a[href*='stumbleupon.com']::before,
.footer a[href*='stumbleupon.com']::before, .sidebar a[href*='instagram.com']::before,
.footer a[href*='instagram.com']::before, .sidebar a[href*='reddit.com']::before,
.footer a[href*='reddit.com']::before {
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  margin-right: .2em;
  text-align: center;
  /* opacity: .8; */
  /* For safety - reset parent styles, that can break glyph codes*/
  font-variant: normal;
  text-transform: none;
  /* fix buttons height, for twitter bootstrap */
  line-height: 1em;
  /* Animation center compensation - margins should be symmetric */
  /* remove if not needed */
  margin-left: .2em;
  /* you can be more comfortable with increased icons size */
  /* font-size: 120%; */
  /* Font smoothing. That was taken from TWBS */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  /* Uncomment for 3D effect */
  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */ }

.pagination__icon--previous::before {
  content: '\f104'; }

.breadcrumbs__separator::before, .pagination__icon--next::before {
  content: '\f105'; }

.wpml__language--current::before, .dropdown.menu > li.is-dropdown-submenu-parent > a::after, .submenu-toggle::after {
  content: '\f107'; }

.pagination__icon--first::before {
  content: '\f100'; }

.pagination__icon--last::before {
  content: '\f101'; }

.sidebar a[href*='twitter.com']::before,
.footer a[href*='twitter.com']::before {
  content: '\f099'; }

.sidebar a[href*='facebook.com']::before,
.footer a[href*='facebook.com']::before {
  content: '\f09a'; }

.sidebar a[href*='plus.google.com']::before,
.footer a[href*='plus.google.com']::before {
  content: '\f0d5'; }

.sidebar a[href*='linkedin.com']::before,
.footer a[href*='linkedin.com']::before {
  content: '\f0e1'; }

.sidebar a[href*='youtube.com']::before,
.footer a[href*='youtube.com']::before {
  content: '\f167'; }

.sidebar a[href*='instagram.com']::before,
.footer a[href*='instagram.com']::before {
  content: '\f16d'; }

.sidebar a[href*='pinterest.com']::before,
.footer a[href*='pinterest.com']::before {
  content: '\f231'; }

.sidebar a[href*='stumbleupon.com']::before,
.footer a[href*='stumbleupon.com']::before {
  content: '\f1a4'; }

.sidebar a[href*='reddit.com']::before,
.footer a[href*='reddit.com']::before {
  content: '\f281'; }

body[data-aos-duration='50'] [data-aos], [data-aos][data-aos][data-aos-duration='50'] {
  -webkit-transition-duration: 50ms;
          transition-duration: 50ms; }

body[data-aos-delay='50'] [data-aos], [data-aos][data-aos][data-aos-delay='50'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='50'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='50'].aos-animate {
    -webkit-transition-delay: 50ms;
            transition-delay: 50ms; }

body[data-aos-duration='100'] [data-aos], [data-aos][data-aos][data-aos-duration='100'] {
  -webkit-transition-duration: 100ms;
          transition-duration: 100ms; }

body[data-aos-delay='100'] [data-aos], [data-aos][data-aos][data-aos-delay='100'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='100'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='100'].aos-animate {
    -webkit-transition-delay: 100ms;
            transition-delay: 100ms; }

body[data-aos-duration='150'] [data-aos], [data-aos][data-aos][data-aos-duration='150'] {
  -webkit-transition-duration: 150ms;
          transition-duration: 150ms; }

body[data-aos-delay='150'] [data-aos], [data-aos][data-aos][data-aos-delay='150'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='150'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='150'].aos-animate {
    -webkit-transition-delay: 150ms;
            transition-delay: 150ms; }

body[data-aos-duration='200'] [data-aos], [data-aos][data-aos][data-aos-duration='200'] {
  -webkit-transition-duration: 200ms;
          transition-duration: 200ms; }

body[data-aos-delay='200'] [data-aos], [data-aos][data-aos][data-aos-delay='200'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='200'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='200'].aos-animate {
    -webkit-transition-delay: 200ms;
            transition-delay: 200ms; }

body[data-aos-duration='250'] [data-aos], [data-aos][data-aos][data-aos-duration='250'] {
  -webkit-transition-duration: 250ms;
          transition-duration: 250ms; }

body[data-aos-delay='250'] [data-aos], [data-aos][data-aos][data-aos-delay='250'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='250'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='250'].aos-animate {
    -webkit-transition-delay: 250ms;
            transition-delay: 250ms; }

body[data-aos-duration='300'] [data-aos], [data-aos][data-aos][data-aos-duration='300'] {
  -webkit-transition-duration: 300ms;
          transition-duration: 300ms; }

body[data-aos-delay='300'] [data-aos], [data-aos][data-aos][data-aos-delay='300'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='300'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='300'].aos-animate {
    -webkit-transition-delay: 300ms;
            transition-delay: 300ms; }

body[data-aos-duration='350'] [data-aos], [data-aos][data-aos][data-aos-duration='350'] {
  -webkit-transition-duration: 350ms;
          transition-duration: 350ms; }

body[data-aos-delay='350'] [data-aos], [data-aos][data-aos][data-aos-delay='350'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='350'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='350'].aos-animate {
    -webkit-transition-delay: 350ms;
            transition-delay: 350ms; }

body[data-aos-duration='400'] [data-aos], [data-aos][data-aos][data-aos-duration='400'] {
  -webkit-transition-duration: 400ms;
          transition-duration: 400ms; }

body[data-aos-delay='400'] [data-aos], [data-aos][data-aos][data-aos-delay='400'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='400'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='400'].aos-animate {
    -webkit-transition-delay: 400ms;
            transition-delay: 400ms; }

body[data-aos-duration='450'] [data-aos], [data-aos][data-aos][data-aos-duration='450'] {
  -webkit-transition-duration: 450ms;
          transition-duration: 450ms; }

body[data-aos-delay='450'] [data-aos], [data-aos][data-aos][data-aos-delay='450'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='450'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='450'].aos-animate {
    -webkit-transition-delay: 450ms;
            transition-delay: 450ms; }

body[data-aos-duration='500'] [data-aos], [data-aos][data-aos][data-aos-duration='500'] {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms; }

body[data-aos-delay='500'] [data-aos], [data-aos][data-aos][data-aos-delay='500'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='500'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='500'].aos-animate {
    -webkit-transition-delay: 500ms;
            transition-delay: 500ms; }

body[data-aos-duration='550'] [data-aos], [data-aos][data-aos][data-aos-duration='550'] {
  -webkit-transition-duration: 550ms;
          transition-duration: 550ms; }

body[data-aos-delay='550'] [data-aos], [data-aos][data-aos][data-aos-delay='550'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='550'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='550'].aos-animate {
    -webkit-transition-delay: 550ms;
            transition-delay: 550ms; }

body[data-aos-duration='600'] [data-aos], [data-aos][data-aos][data-aos-duration='600'] {
  -webkit-transition-duration: 600ms;
          transition-duration: 600ms; }

body[data-aos-delay='600'] [data-aos], [data-aos][data-aos][data-aos-delay='600'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='600'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='600'].aos-animate {
    -webkit-transition-delay: 600ms;
            transition-delay: 600ms; }

body[data-aos-duration='650'] [data-aos], [data-aos][data-aos][data-aos-duration='650'] {
  -webkit-transition-duration: 650ms;
          transition-duration: 650ms; }

body[data-aos-delay='650'] [data-aos], [data-aos][data-aos][data-aos-delay='650'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='650'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='650'].aos-animate {
    -webkit-transition-delay: 650ms;
            transition-delay: 650ms; }

body[data-aos-duration='700'] [data-aos], [data-aos][data-aos][data-aos-duration='700'] {
  -webkit-transition-duration: 700ms;
          transition-duration: 700ms; }

body[data-aos-delay='700'] [data-aos], [data-aos][data-aos][data-aos-delay='700'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='700'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='700'].aos-animate {
    -webkit-transition-delay: 700ms;
            transition-delay: 700ms; }

body[data-aos-duration='750'] [data-aos], [data-aos][data-aos][data-aos-duration='750'] {
  -webkit-transition-duration: 750ms;
          transition-duration: 750ms; }

body[data-aos-delay='750'] [data-aos], [data-aos][data-aos][data-aos-delay='750'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='750'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='750'].aos-animate {
    -webkit-transition-delay: 750ms;
            transition-delay: 750ms; }

body[data-aos-duration='800'] [data-aos], [data-aos][data-aos][data-aos-duration='800'] {
  -webkit-transition-duration: 800ms;
          transition-duration: 800ms; }

body[data-aos-delay='800'] [data-aos], [data-aos][data-aos][data-aos-delay='800'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='800'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='800'].aos-animate {
    -webkit-transition-delay: 800ms;
            transition-delay: 800ms; }

body[data-aos-duration='850'] [data-aos], [data-aos][data-aos][data-aos-duration='850'] {
  -webkit-transition-duration: 850ms;
          transition-duration: 850ms; }

body[data-aos-delay='850'] [data-aos], [data-aos][data-aos][data-aos-delay='850'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='850'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='850'].aos-animate {
    -webkit-transition-delay: 850ms;
            transition-delay: 850ms; }

body[data-aos-duration='900'] [data-aos], [data-aos][data-aos][data-aos-duration='900'] {
  -webkit-transition-duration: 900ms;
          transition-duration: 900ms; }

body[data-aos-delay='900'] [data-aos], [data-aos][data-aos][data-aos-delay='900'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='900'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='900'].aos-animate {
    -webkit-transition-delay: 900ms;
            transition-delay: 900ms; }

body[data-aos-duration='950'] [data-aos], [data-aos][data-aos][data-aos-duration='950'] {
  -webkit-transition-duration: 950ms;
          transition-duration: 950ms; }

body[data-aos-delay='950'] [data-aos], [data-aos][data-aos][data-aos-delay='950'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='950'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='950'].aos-animate {
    -webkit-transition-delay: 950ms;
            transition-delay: 950ms; }

body[data-aos-duration='1000'] [data-aos], [data-aos][data-aos][data-aos-duration='1000'] {
  -webkit-transition-duration: 1000ms;
          transition-duration: 1000ms; }

body[data-aos-delay='1000'] [data-aos], [data-aos][data-aos][data-aos-delay='1000'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='1000'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1000'].aos-animate {
    -webkit-transition-delay: 1000ms;
            transition-delay: 1000ms; }

body[data-aos-duration='1050'] [data-aos], [data-aos][data-aos][data-aos-duration='1050'] {
  -webkit-transition-duration: 1050ms;
          transition-duration: 1050ms; }

body[data-aos-delay='1050'] [data-aos], [data-aos][data-aos][data-aos-delay='1050'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='1050'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1050'].aos-animate {
    -webkit-transition-delay: 1050ms;
            transition-delay: 1050ms; }

body[data-aos-duration='1100'] [data-aos], [data-aos][data-aos][data-aos-duration='1100'] {
  -webkit-transition-duration: 1100ms;
          transition-duration: 1100ms; }

body[data-aos-delay='1100'] [data-aos], [data-aos][data-aos][data-aos-delay='1100'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='1100'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1100'].aos-animate {
    -webkit-transition-delay: 1100ms;
            transition-delay: 1100ms; }

body[data-aos-duration='1150'] [data-aos], [data-aos][data-aos][data-aos-duration='1150'] {
  -webkit-transition-duration: 1150ms;
          transition-duration: 1150ms; }

body[data-aos-delay='1150'] [data-aos], [data-aos][data-aos][data-aos-delay='1150'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='1150'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1150'].aos-animate {
    -webkit-transition-delay: 1150ms;
            transition-delay: 1150ms; }

body[data-aos-duration='1200'] [data-aos], [data-aos][data-aos][data-aos-duration='1200'] {
  -webkit-transition-duration: 1200ms;
          transition-duration: 1200ms; }

body[data-aos-delay='1200'] [data-aos], [data-aos][data-aos][data-aos-delay='1200'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='1200'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1200'].aos-animate {
    -webkit-transition-delay: 1200ms;
            transition-delay: 1200ms; }

body[data-aos-duration='1250'] [data-aos], [data-aos][data-aos][data-aos-duration='1250'] {
  -webkit-transition-duration: 1250ms;
          transition-duration: 1250ms; }

body[data-aos-delay='1250'] [data-aos], [data-aos][data-aos][data-aos-delay='1250'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='1250'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1250'].aos-animate {
    -webkit-transition-delay: 1250ms;
            transition-delay: 1250ms; }

body[data-aos-duration='1300'] [data-aos], [data-aos][data-aos][data-aos-duration='1300'] {
  -webkit-transition-duration: 1300ms;
          transition-duration: 1300ms; }

body[data-aos-delay='1300'] [data-aos], [data-aos][data-aos][data-aos-delay='1300'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='1300'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1300'].aos-animate {
    -webkit-transition-delay: 1300ms;
            transition-delay: 1300ms; }

body[data-aos-duration='1350'] [data-aos], [data-aos][data-aos][data-aos-duration='1350'] {
  -webkit-transition-duration: 1350ms;
          transition-duration: 1350ms; }

body[data-aos-delay='1350'] [data-aos], [data-aos][data-aos][data-aos-delay='1350'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='1350'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1350'].aos-animate {
    -webkit-transition-delay: 1350ms;
            transition-delay: 1350ms; }

body[data-aos-duration='1400'] [data-aos], [data-aos][data-aos][data-aos-duration='1400'] {
  -webkit-transition-duration: 1400ms;
          transition-duration: 1400ms; }

body[data-aos-delay='1400'] [data-aos], [data-aos][data-aos][data-aos-delay='1400'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='1400'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1400'].aos-animate {
    -webkit-transition-delay: 1400ms;
            transition-delay: 1400ms; }

body[data-aos-duration='1450'] [data-aos], [data-aos][data-aos][data-aos-duration='1450'] {
  -webkit-transition-duration: 1450ms;
          transition-duration: 1450ms; }

body[data-aos-delay='1450'] [data-aos], [data-aos][data-aos][data-aos-delay='1450'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='1450'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1450'].aos-animate {
    -webkit-transition-delay: 1450ms;
            transition-delay: 1450ms; }

body[data-aos-duration='1500'] [data-aos], [data-aos][data-aos][data-aos-duration='1500'] {
  -webkit-transition-duration: 1500ms;
          transition-duration: 1500ms; }

body[data-aos-delay='1500'] [data-aos], [data-aos][data-aos][data-aos-delay='1500'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='1500'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1500'].aos-animate {
    -webkit-transition-delay: 1500ms;
            transition-delay: 1500ms; }

body[data-aos-duration='1550'] [data-aos], [data-aos][data-aos][data-aos-duration='1550'] {
  -webkit-transition-duration: 1550ms;
          transition-duration: 1550ms; }

body[data-aos-delay='1550'] [data-aos], [data-aos][data-aos][data-aos-delay='1550'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='1550'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1550'].aos-animate {
    -webkit-transition-delay: 1550ms;
            transition-delay: 1550ms; }

body[data-aos-duration='1600'] [data-aos], [data-aos][data-aos][data-aos-duration='1600'] {
  -webkit-transition-duration: 1600ms;
          transition-duration: 1600ms; }

body[data-aos-delay='1600'] [data-aos], [data-aos][data-aos][data-aos-delay='1600'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='1600'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1600'].aos-animate {
    -webkit-transition-delay: 1600ms;
            transition-delay: 1600ms; }

body[data-aos-duration='1650'] [data-aos], [data-aos][data-aos][data-aos-duration='1650'] {
  -webkit-transition-duration: 1650ms;
          transition-duration: 1650ms; }

body[data-aos-delay='1650'] [data-aos], [data-aos][data-aos][data-aos-delay='1650'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='1650'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1650'].aos-animate {
    -webkit-transition-delay: 1650ms;
            transition-delay: 1650ms; }

body[data-aos-duration='1700'] [data-aos], [data-aos][data-aos][data-aos-duration='1700'] {
  -webkit-transition-duration: 1700ms;
          transition-duration: 1700ms; }

body[data-aos-delay='1700'] [data-aos], [data-aos][data-aos][data-aos-delay='1700'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='1700'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1700'].aos-animate {
    -webkit-transition-delay: 1700ms;
            transition-delay: 1700ms; }

body[data-aos-duration='1750'] [data-aos], [data-aos][data-aos][data-aos-duration='1750'] {
  -webkit-transition-duration: 1750ms;
          transition-duration: 1750ms; }

body[data-aos-delay='1750'] [data-aos], [data-aos][data-aos][data-aos-delay='1750'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='1750'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1750'].aos-animate {
    -webkit-transition-delay: 1750ms;
            transition-delay: 1750ms; }

body[data-aos-duration='1800'] [data-aos], [data-aos][data-aos][data-aos-duration='1800'] {
  -webkit-transition-duration: 1800ms;
          transition-duration: 1800ms; }

body[data-aos-delay='1800'] [data-aos], [data-aos][data-aos][data-aos-delay='1800'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='1800'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1800'].aos-animate {
    -webkit-transition-delay: 1800ms;
            transition-delay: 1800ms; }

body[data-aos-duration='1850'] [data-aos], [data-aos][data-aos][data-aos-duration='1850'] {
  -webkit-transition-duration: 1850ms;
          transition-duration: 1850ms; }

body[data-aos-delay='1850'] [data-aos], [data-aos][data-aos][data-aos-delay='1850'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='1850'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1850'].aos-animate {
    -webkit-transition-delay: 1850ms;
            transition-delay: 1850ms; }

body[data-aos-duration='1900'] [data-aos], [data-aos][data-aos][data-aos-duration='1900'] {
  -webkit-transition-duration: 1900ms;
          transition-duration: 1900ms; }

body[data-aos-delay='1900'] [data-aos], [data-aos][data-aos][data-aos-delay='1900'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='1900'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1900'].aos-animate {
    -webkit-transition-delay: 1900ms;
            transition-delay: 1900ms; }

body[data-aos-duration='1950'] [data-aos], [data-aos][data-aos][data-aos-duration='1950'] {
  -webkit-transition-duration: 1950ms;
          transition-duration: 1950ms; }

body[data-aos-delay='1950'] [data-aos], [data-aos][data-aos][data-aos-delay='1950'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='1950'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1950'].aos-animate {
    -webkit-transition-delay: 1950ms;
            transition-delay: 1950ms; }

body[data-aos-duration='2000'] [data-aos], [data-aos][data-aos][data-aos-duration='2000'] {
  -webkit-transition-duration: 2000ms;
          transition-duration: 2000ms; }

body[data-aos-delay='2000'] [data-aos], [data-aos][data-aos][data-aos-delay='2000'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='2000'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2000'].aos-animate {
    -webkit-transition-delay: 2000ms;
            transition-delay: 2000ms; }

body[data-aos-duration='2050'] [data-aos], [data-aos][data-aos][data-aos-duration='2050'] {
  -webkit-transition-duration: 2050ms;
          transition-duration: 2050ms; }

body[data-aos-delay='2050'] [data-aos], [data-aos][data-aos][data-aos-delay='2050'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='2050'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2050'].aos-animate {
    -webkit-transition-delay: 2050ms;
            transition-delay: 2050ms; }

body[data-aos-duration='2100'] [data-aos], [data-aos][data-aos][data-aos-duration='2100'] {
  -webkit-transition-duration: 2100ms;
          transition-duration: 2100ms; }

body[data-aos-delay='2100'] [data-aos], [data-aos][data-aos][data-aos-delay='2100'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='2100'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2100'].aos-animate {
    -webkit-transition-delay: 2100ms;
            transition-delay: 2100ms; }

body[data-aos-duration='2150'] [data-aos], [data-aos][data-aos][data-aos-duration='2150'] {
  -webkit-transition-duration: 2150ms;
          transition-duration: 2150ms; }

body[data-aos-delay='2150'] [data-aos], [data-aos][data-aos][data-aos-delay='2150'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='2150'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2150'].aos-animate {
    -webkit-transition-delay: 2150ms;
            transition-delay: 2150ms; }

body[data-aos-duration='2200'] [data-aos], [data-aos][data-aos][data-aos-duration='2200'] {
  -webkit-transition-duration: 2200ms;
          transition-duration: 2200ms; }

body[data-aos-delay='2200'] [data-aos], [data-aos][data-aos][data-aos-delay='2200'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='2200'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2200'].aos-animate {
    -webkit-transition-delay: 2200ms;
            transition-delay: 2200ms; }

body[data-aos-duration='2250'] [data-aos], [data-aos][data-aos][data-aos-duration='2250'] {
  -webkit-transition-duration: 2250ms;
          transition-duration: 2250ms; }

body[data-aos-delay='2250'] [data-aos], [data-aos][data-aos][data-aos-delay='2250'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='2250'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2250'].aos-animate {
    -webkit-transition-delay: 2250ms;
            transition-delay: 2250ms; }

body[data-aos-duration='2300'] [data-aos], [data-aos][data-aos][data-aos-duration='2300'] {
  -webkit-transition-duration: 2300ms;
          transition-duration: 2300ms; }

body[data-aos-delay='2300'] [data-aos], [data-aos][data-aos][data-aos-delay='2300'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='2300'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2300'].aos-animate {
    -webkit-transition-delay: 2300ms;
            transition-delay: 2300ms; }

body[data-aos-duration='2350'] [data-aos], [data-aos][data-aos][data-aos-duration='2350'] {
  -webkit-transition-duration: 2350ms;
          transition-duration: 2350ms; }

body[data-aos-delay='2350'] [data-aos], [data-aos][data-aos][data-aos-delay='2350'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='2350'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2350'].aos-animate {
    -webkit-transition-delay: 2350ms;
            transition-delay: 2350ms; }

body[data-aos-duration='2400'] [data-aos], [data-aos][data-aos][data-aos-duration='2400'] {
  -webkit-transition-duration: 2400ms;
          transition-duration: 2400ms; }

body[data-aos-delay='2400'] [data-aos], [data-aos][data-aos][data-aos-delay='2400'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='2400'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2400'].aos-animate {
    -webkit-transition-delay: 2400ms;
            transition-delay: 2400ms; }

body[data-aos-duration='2450'] [data-aos], [data-aos][data-aos][data-aos-duration='2450'] {
  -webkit-transition-duration: 2450ms;
          transition-duration: 2450ms; }

body[data-aos-delay='2450'] [data-aos], [data-aos][data-aos][data-aos-delay='2450'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='2450'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2450'].aos-animate {
    -webkit-transition-delay: 2450ms;
            transition-delay: 2450ms; }

body[data-aos-duration='2500'] [data-aos], [data-aos][data-aos][data-aos-duration='2500'] {
  -webkit-transition-duration: 2500ms;
          transition-duration: 2500ms; }

body[data-aos-delay='2500'] [data-aos], [data-aos][data-aos][data-aos-delay='2500'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='2500'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2500'].aos-animate {
    -webkit-transition-delay: 2500ms;
            transition-delay: 2500ms; }

body[data-aos-duration='2550'] [data-aos], [data-aos][data-aos][data-aos-duration='2550'] {
  -webkit-transition-duration: 2550ms;
          transition-duration: 2550ms; }

body[data-aos-delay='2550'] [data-aos], [data-aos][data-aos][data-aos-delay='2550'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='2550'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2550'].aos-animate {
    -webkit-transition-delay: 2550ms;
            transition-delay: 2550ms; }

body[data-aos-duration='2600'] [data-aos], [data-aos][data-aos][data-aos-duration='2600'] {
  -webkit-transition-duration: 2600ms;
          transition-duration: 2600ms; }

body[data-aos-delay='2600'] [data-aos], [data-aos][data-aos][data-aos-delay='2600'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='2600'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2600'].aos-animate {
    -webkit-transition-delay: 2600ms;
            transition-delay: 2600ms; }

body[data-aos-duration='2650'] [data-aos], [data-aos][data-aos][data-aos-duration='2650'] {
  -webkit-transition-duration: 2650ms;
          transition-duration: 2650ms; }

body[data-aos-delay='2650'] [data-aos], [data-aos][data-aos][data-aos-delay='2650'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='2650'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2650'].aos-animate {
    -webkit-transition-delay: 2650ms;
            transition-delay: 2650ms; }

body[data-aos-duration='2700'] [data-aos], [data-aos][data-aos][data-aos-duration='2700'] {
  -webkit-transition-duration: 2700ms;
          transition-duration: 2700ms; }

body[data-aos-delay='2700'] [data-aos], [data-aos][data-aos][data-aos-delay='2700'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='2700'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2700'].aos-animate {
    -webkit-transition-delay: 2700ms;
            transition-delay: 2700ms; }

body[data-aos-duration='2750'] [data-aos], [data-aos][data-aos][data-aos-duration='2750'] {
  -webkit-transition-duration: 2750ms;
          transition-duration: 2750ms; }

body[data-aos-delay='2750'] [data-aos], [data-aos][data-aos][data-aos-delay='2750'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='2750'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2750'].aos-animate {
    -webkit-transition-delay: 2750ms;
            transition-delay: 2750ms; }

body[data-aos-duration='2800'] [data-aos], [data-aos][data-aos][data-aos-duration='2800'] {
  -webkit-transition-duration: 2800ms;
          transition-duration: 2800ms; }

body[data-aos-delay='2800'] [data-aos], [data-aos][data-aos][data-aos-delay='2800'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='2800'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2800'].aos-animate {
    -webkit-transition-delay: 2800ms;
            transition-delay: 2800ms; }

body[data-aos-duration='2850'] [data-aos], [data-aos][data-aos][data-aos-duration='2850'] {
  -webkit-transition-duration: 2850ms;
          transition-duration: 2850ms; }

body[data-aos-delay='2850'] [data-aos], [data-aos][data-aos][data-aos-delay='2850'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='2850'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2850'].aos-animate {
    -webkit-transition-delay: 2850ms;
            transition-delay: 2850ms; }

body[data-aos-duration='2900'] [data-aos], [data-aos][data-aos][data-aos-duration='2900'] {
  -webkit-transition-duration: 2900ms;
          transition-duration: 2900ms; }

body[data-aos-delay='2900'] [data-aos], [data-aos][data-aos][data-aos-delay='2900'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='2900'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2900'].aos-animate {
    -webkit-transition-delay: 2900ms;
            transition-delay: 2900ms; }

body[data-aos-duration='2950'] [data-aos], [data-aos][data-aos][data-aos-duration='2950'] {
  -webkit-transition-duration: 2950ms;
          transition-duration: 2950ms; }

body[data-aos-delay='2950'] [data-aos], [data-aos][data-aos][data-aos-delay='2950'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='2950'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2950'].aos-animate {
    -webkit-transition-delay: 2950ms;
            transition-delay: 2950ms; }

body[data-aos-duration='3000'] [data-aos], [data-aos][data-aos][data-aos-duration='3000'] {
  -webkit-transition-duration: 3000ms;
          transition-duration: 3000ms; }

body[data-aos-delay='3000'] [data-aos], [data-aos][data-aos][data-aos-delay='3000'] {
  -webkit-transition-delay: 0;
          transition-delay: 0; }
  body[data-aos-delay='3000'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='3000'].aos-animate {
    -webkit-transition-delay: 3000ms;
            transition-delay: 3000ms; }

body[data-aos-easing="linear"] [data-aos], [data-aos][data-aos][data-aos-easing="linear"] {
  -webkit-transition-timing-function: cubic-bezier(0.25, 0.25, 0.75, 0.75);
          transition-timing-function: cubic-bezier(0.25, 0.25, 0.75, 0.75); }

body[data-aos-easing="ease"] [data-aos], [data-aos][data-aos][data-aos-easing="ease"] {
  -webkit-transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);
          transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1); }

body[data-aos-easing="ease-in"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in"] {
  -webkit-transition-timing-function: cubic-bezier(0.42, 0, 1, 1);
          transition-timing-function: cubic-bezier(0.42, 0, 1, 1); }

body[data-aos-easing="ease-out"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-out"] {
  -webkit-transition-timing-function: cubic-bezier(0, 0, 0.58, 1);
          transition-timing-function: cubic-bezier(0, 0, 0.58, 1); }

body[data-aos-easing="ease-in-out"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-out"] {
  -webkit-transition-timing-function: cubic-bezier(0.42, 0, 0.58, 1);
          transition-timing-function: cubic-bezier(0.42, 0, 0.58, 1); }

body[data-aos-easing="ease-in-back"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-back"] {
  -webkit-transition-timing-function: cubic-bezier(0.6, -0.28, 0.735, 0.045);
          transition-timing-function: cubic-bezier(0.6, -0.28, 0.735, 0.045); }

body[data-aos-easing="ease-out-back"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-out-back"] {
  -webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
          transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275); }

body[data-aos-easing="ease-in-out-back"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-out-back"] {
  -webkit-transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
          transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); }

body[data-aos-easing="ease-in-sine"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-sine"] {
  -webkit-transition-timing-function: cubic-bezier(0.47, 0, 0.745, 0.715);
          transition-timing-function: cubic-bezier(0.47, 0, 0.745, 0.715); }

body[data-aos-easing="ease-out-sine"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-out-sine"] {
  -webkit-transition-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1);
          transition-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1); }

body[data-aos-easing="ease-in-out-sine"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-out-sine"] {
  -webkit-transition-timing-function: cubic-bezier(0.445, 0.05, 0.55, 0.95);
          transition-timing-function: cubic-bezier(0.445, 0.05, 0.55, 0.95); }

body[data-aos-easing="ease-in-quad"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-quad"] {
  -webkit-transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
          transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53); }

body[data-aos-easing="ease-out-quad"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-out-quad"] {
  -webkit-transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
          transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

body[data-aos-easing="ease-in-out-quad"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-out-quad"] {
  -webkit-transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
          transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955); }

body[data-aos-easing="ease-in-cubic"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-cubic"] {
  -webkit-transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
          transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53); }

body[data-aos-easing="ease-out-cubic"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-out-cubic"] {
  -webkit-transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
          transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

body[data-aos-easing="ease-in-out-cubic"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-out-cubic"] {
  -webkit-transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
          transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955); }

body[data-aos-easing="ease-in-quart"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-quart"] {
  -webkit-transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
          transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53); }

body[data-aos-easing="ease-out-quart"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-out-quart"] {
  -webkit-transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
          transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

body[data-aos-easing="ease-in-out-quart"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-out-quart"] {
  -webkit-transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
          transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955); }

/**
 * Fade animations:
 * fade
 * fade-up, fade-down, fade-left, fade-right
 * fade-up-right, fade-up-left, fade-down-right, fade-down-left
 */
[data-aos^='fade'][data-aos^='fade'] {
  opacity: 0;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform; }
  [data-aos^='fade'][data-aos^='fade'].aos-animate {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); }

[data-aos='fade-up'] {
  -webkit-transform: translate3d(0, 50px, 0);
          transform: translate3d(0, 50px, 0); }

[data-aos='fade-down'] {
  -webkit-transform: translate3d(0, -50px, 0);
          transform: translate3d(0, -50px, 0); }

[data-aos='fade-right'] {
  -webkit-transform: translate3d(-50px, 0, 0);
          transform: translate3d(-50px, 0, 0); }

[data-aos='fade-left'] {
  -webkit-transform: translate3d(50px, 0, 0);
          transform: translate3d(50px, 0, 0); }

[data-aos='fade-up-right'] {
  -webkit-transform: translate3d(-50px, 50px, 0);
          transform: translate3d(-50px, 50px, 0); }

[data-aos='fade-up-left'] {
  -webkit-transform: translate3d(50px, 50px, 0);
          transform: translate3d(50px, 50px, 0); }

[data-aos='fade-down-right'] {
  -webkit-transform: translate3d(-50px, -50px, 0);
          transform: translate3d(-50px, -50px, 0); }

[data-aos='fade-down-left'] {
  -webkit-transform: translate3d(50px, -50px, 0);
          transform: translate3d(50px, -50px, 0); }

/**
 * Zoom animations:
 * zoom-in, zoom-in-up, zoom-in-down, zoom-in-left, zoom-in-right
 * zoom-out, zoom-out-up, zoom-out-down, zoom-out-left, zoom-out-right
 */
[data-aos^='zoom'][data-aos^='zoom'] {
  opacity: 0;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform; }
  [data-aos^='zoom'][data-aos^='zoom'].aos-animate {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0) scale(1);
            transform: translate3d(0, 0, 0) scale(1); }

[data-aos='zoom-in'] {
  -webkit-transform: scale(0.6);
      -ms-transform: scale(0.6);
          transform: scale(0.6); }

[data-aos='zoom-in-up'] {
  -webkit-transform: translate3d(0, 50px, 0) scale(0.6);
          transform: translate3d(0, 50px, 0) scale(0.6); }

[data-aos='zoom-in-down'] {
  -webkit-transform: translate3d(0, -50px, 0) scale(0.6);
          transform: translate3d(0, -50px, 0) scale(0.6); }

[data-aos='zoom-in-right'] {
  -webkit-transform: translate3d(-50px, 0, 0) scale(0.6);
          transform: translate3d(-50px, 0, 0) scale(0.6); }

[data-aos='zoom-in-left'] {
  -webkit-transform: translate3d(50px, 0, 0) scale(0.6);
          transform: translate3d(50px, 0, 0) scale(0.6); }

[data-aos='zoom-out'] {
  -webkit-transform: scale(1.2);
      -ms-transform: scale(1.2);
          transform: scale(1.2); }

[data-aos='zoom-out-up'] {
  -webkit-transform: translate3d(0, 50px, 0) scale(1.2);
          transform: translate3d(0, 50px, 0) scale(1.2); }

[data-aos='zoom-out-down'] {
  -webkit-transform: translate3d(0, -50px, 0) scale(1.2);
          transform: translate3d(0, -50px, 0) scale(1.2); }

[data-aos='zoom-out-right'] {
  -webkit-transform: translate3d(-50px, 0, 0) scale(1.2);
          transform: translate3d(-50px, 0, 0) scale(1.2); }

[data-aos='zoom-out-left'] {
  -webkit-transform: translate3d(50px, 0, 0) scale(1.2);
          transform: translate3d(50px, 0, 0) scale(1.2); }

/**
 * Slide animations
 */
[data-aos^='slide'][data-aos^='slide'] {
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform; }
  [data-aos^='slide'][data-aos^='slide'].aos-animate {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); }

[data-aos='slide-up'] {
  -webkit-transform: translate3d(0, 100%, 0);
          transform: translate3d(0, 100%, 0); }

[data-aos='slide-down'] {
  -webkit-transform: translate3d(0, -100%, 0);
          transform: translate3d(0, -100%, 0); }

[data-aos='slide-right'] {
  -webkit-transform: translate3d(-100%, 0, 0);
          transform: translate3d(-100%, 0, 0); }

[data-aos='slide-left'] {
  -webkit-transform: translate3d(100%, 0, 0);
          transform: translate3d(100%, 0, 0); }

/**
 * Flip animations:
 * flip-left, flip-right, flip-up, flip-down
 */
[data-aos^='flip'][data-aos^='flip'] {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform; }

[data-aos='flip-left'] {
  -webkit-transform: perspective(2500px) rotateY(-100deg);
          transform: perspective(2500px) rotateY(-100deg); }
  [data-aos='flip-left'].aos-animate {
    -webkit-transform: perspective(2500px) rotateY(0);
            transform: perspective(2500px) rotateY(0); }

[data-aos='flip-right'] {
  -webkit-transform: perspective(2500px) rotateY(100deg);
          transform: perspective(2500px) rotateY(100deg); }
  [data-aos='flip-right'].aos-animate {
    -webkit-transform: perspective(2500px) rotateY(0);
            transform: perspective(2500px) rotateY(0); }

[data-aos='flip-up'] {
  -webkit-transform: perspective(2500px) rotateX(-100deg);
          transform: perspective(2500px) rotateX(-100deg); }
  [data-aos='flip-up'].aos-animate {
    -webkit-transform: perspective(2500px) rotateX(0);
            transform: perspective(2500px) rotateX(0); }

[data-aos='flip-down'] {
  -webkit-transform: perspective(2500px) rotateX(100deg);
          transform: perspective(2500px) rotateX(100deg); }
  [data-aos='flip-down'].aos-animate {
    -webkit-transform: perspective(2500px) rotateX(0);
            transform: perspective(2500px) rotateX(0); }

.wpml__list {
  list-style-type: none;
  margin: 0; }
  .wpml__list--submenu {
    left: auto !important;
    right: 0 !important;
    top: 100% !important;
    min-width: 9.375rem;
    border: 0;
    border-radius: 2px;
    text-align: right; }

.wpml__language {
  background: transparent;
  color: #fefefe;
  display: block;
  padding: 0.625rem 1.875rem 0.625rem 0.625rem;
  position: relative;
  cursor: pointer; }
  .wpml__language--black-glass {
    background: rgba(0, 0, 0, 0.3);
    -webkit-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.8);
            box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.8); }
  .wpml__language--r17 {
    background: #2D2D2D;
    color: #fefefe;
    border: 0; }
  .wpml__language--current::before {
    position: absolute;
    right: 4px;
    top: 50%;
    margin-top: -8px; }

.wpml__flag {
  margin-right: 0.3125rem;
  vertical-align: middle;
  position: relative;
  top: -2px; }

.wpml__dropdown-pane {
  width: 140px; }

.flag-icon-background, .flag-icon {
  background-size: contain;
  background-position: 50%;
  background-repeat: no-repeat; }

.flag-icon {
  position: relative;
  display: inline-block;
  width: 1.6em;
  line-height: 1.2em; }
  .flag-icon:before {
    content: '\00a0'; }
  .flag-icon.flag-icon-squared {
    width: 1em; }

.flag-icon-de {
  background-image: url(../img/flags/4x3/de.svg); }
  .flag-icon-de.flag-icon-squared {
    background-image: url(../img/flags/1x1/de.svg); }

.flag-icon-es {
  background-image: url(../img/flags/4x3/es.svg); }
  .flag-icon-es.flag-icon-squared {
    background-image: url(../img/flags/1x1/es.svg); }

.flag-icon-fr {
  background-image: url(../img/flags/4x3/fr.svg); }
  .flag-icon-fr.flag-icon-squared {
    background-image: url(../img/flags/1x1/fr.svg); }

.flag-icon-us {
  background-image: url(../img/flags/4x3/us.svg); }
  .flag-icon-us.flag-icon-squared {
    background-image: url(../img/flags/1x1/us.svg); }

.flag-icon-eu {
  background-image: url(../img/flags/4x3/eu.svg); }
  .flag-icon-eu.flag-icon-squared {
    background-image: url(../img/flags/1x1/eu.svg); }

.gform_wrapper .confirmation_error, .gform_confirmation_message {
  text-align: center;
  font-weight: 700;
  padding: 0.625rem 1.25rem;
  margin-bottom: 1.25rem;
  border-width: 2px 0;
  border-style: solid; }

.gform_wrapper {
  /* GF classess */ }
  .gform_wrapper [type='text'],
  .gform_wrapper [type='password'],
  .gform_wrapper [type='date'],
  .gform_wrapper [type='datetime'],
  .gform_wrapper [type='datetime-local'],
  .gform_wrapper [type='month'],
  .gform_wrapper [type='week'],
  .gform_wrapper [type='email'],
  .gform_wrapper [type='number'],
  .gform_wrapper [type='search'],
  .gform_wrapper [type='tel'],
  .gform_wrapper [type='time'],
  .gform_wrapper [type='url'],
  .gform_wrapper [type='color'],
  .gform_wrapper textarea,
  .gform_wrapper select {
    margin-bottom: 0; }
  .gform_wrapper [type='file'],
  .gform_wrapper [type='checkbox'],
  .gform_wrapper [type='radio'] {
    margin-bottom: 0.625rem; }
  .gform_wrapper [type='checkbox'] + label {
    margin-left: 0.3125rem; }
  .gform_wrapper [type='radio'] + label {
    margin-left: 0.5rem; }
  .gform_wrapper .gfield {
    margin-bottom: 1.25rem; }
  .gform_wrapper .gfield_label {
    font-weight: 700;
    font-size: 0.9375rem; }
  .gform_wrapper .gform_fields,
  .gform_wrapper .gfield_checkbox,
  .gform_wrapper .gfield_radio {
    margin: 0;
    list-style-type: none; }
  .gform_wrapper .gfield_date_day,
  .gform_wrapper .gfield_date_month,
  .gform_wrapper .gfield_date_year,
  .gform_wrapper .gfield_time_hour,
  .gform_wrapper .gfield_time_minute {
    width: 75px; }
  .gform_wrapper .ginput_container_time {
    display: inline-block;
    vertical-align: top; }
  .gform_wrapper .gfield_time_hour i {
    float: right; }
  .gform_wrapper .gfield_description {
    margin-top: 0.125rem;
    font-size: 90%; }
  .gform_wrapper .validation_message {
    font-size: 0.8125rem;
    color: #cc4b37;
    font-weight: 700; }
  .gform_wrapper .gfield_required {
    color: #cc4b37;
    font-weight: bold;
    margin-left: .1em; }
  .gform_wrapper .gfield_error input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type='file']),
  .gform_wrapper .gfield_error textarea {
    border-color: #cc4b37; }
  .gform_wrapper .confirmation_error {
    border-color: #cc4b37;
    background: rgba(204, 75, 55, 0.25); }
  .gform_wrapper .gform_footer {
    position: relative;
    padding-bottom: 3.125rem !important; }
    .gform_wrapper .gform_footer .gform_ajax_spinner {
      position: absolute;
      bottom: 0;
      left: 50%;
      -webkit-transform: translateX(-50%);
          -ms-transform: translateX(-50%);
              transform: translateX(-50%); }
  .gform_wrapper .gform_fields {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
  .gform_wrapper .gfield {
    width: 100%; }
  @media print, screen and (min-width: 40em) {
    .gform_wrapper .gf_left_half {
      display: block;
      width: calc(50% - 15px); }
    .gform_wrapper .gf_right_half {
      display: block;
      width: calc(50% - 15px); } }

.gform_confirmation_message {
  border-color: #7bc84a;
  background: rgba(123, 200, 74, 0.25); }

/*! Tablesaw - v3.0.9 - 2018-02-14
* https://github.com/filamentgroup/tablesaw
* Copyright (c) 2018 Filament Group; Licensed MIT */
.tablesaw {
  width: 100%;
  max-width: 100%;
  empty-cells: show;
  border-collapse: collapse;
  border: 0;
  padding: 0; }

.tablesaw * {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.tablesaw-btn {
  border: 1px solid #ccc;
  border-radius: .25em;
  background: none;
  -webkit-box-shadow: 0 1px 0 white;
          box-shadow: 0 1px 0 white;
  color: #4a4a4a;
  cursor: pointer;
  display: inline-block;
  margin: 0;
  padding: .5em .85em .4em .85em;
  position: relative;
  text-align: center;
  text-decoration: none;
  text-transform: capitalize;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

a.tablesaw-btn {
  color: #1c95d4; }

.tablesaw-btn:hover {
  text-decoration: none; }

/* Default radio/checkbox styling horizonal controlgroups. */
.tablesaw-btn:active {
  background-color: #ddd; }

@supports (box-shadow: none) {
  .tablesaw-btn:focus {
    background-color: #fff;
    outline: none; }
  .tablesaw-btn:focus {
    -webkit-box-shadow: 0 0 .35em #4faeef !important;
            box-shadow: 0 0 .35em #4faeef !important; } }

.tablesaw-btn-select select {
  background: none;
  border: none;
  display: inline-block;
  position: absolute;
  left: 0;
  top: 0;
  margin: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  min-height: 1em;
  opacity: 0;
  color: transparent; }

.tablesaw-btn select option {
  background: #fff;
  color: #000; }

.tablesaw-btn {
  display: inline-block;
  width: auto;
  height: auto;
  position: relative;
  top: 0; }

.tablesaw-btn.btn-small {
  font-size: 1.0625em;
  line-height: 19px;
  padding: .3em 1em .3em 1em; }

.tablesaw-btn.btn-micro {
  font-size: .8125em;
  padding: .4em .7em .25em .7em; }

.tablesaw-btn-select {
  padding-right: 1.5em;
  text-align: left;
  display: inline-block;
  color: #4d4d4d;
  padding-right: 2.5em;
  min-width: 7.25em; }

.tablesaw-btn-select:after {
  content: " ";
  position: absolute;
  background: none;
  background-repeat: no-repeat;
  background-position: .25em .45em;
  content: "\25bc";
  font-size: .55em;
  padding-top: 1.2em;
  padding-left: 1em;
  left: auto;
  right: 0;
  margin: 0;
  top: 0;
  bottom: 0;
  width: 1.8em; }

.tablesaw-btn-select.btn-small:after,
.tablesaw-btn-select.btn-micro:after {
  width: 1.2em;
  font-size: .5em;
  padding-top: 1em;
  padding-right: .5em;
  line-height: 1.65;
  background: none;
  -webkit-box-shadow: none;
          box-shadow: none;
  border-left-width: 0; }

/* Column navigation buttons for swipe and columntoggle tables */
.tablesaw-advance .tablesaw-btn {
  -webkit-appearance: none;
  -moz-appearance: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  text-shadow: 0 1px 0 #fff;
  border-radius: .25em; }

.tablesaw-advance .tablesaw-btn.btn-micro {
  font-size: .8125em;
  padding: .3em .7em .25em .7em; }

.tablesaw-advance a.tablesaw-nav-btn:first-child {
  margin-left: 0; }

.tablesaw-advance a.tablesaw-nav-btn:last-child {
  margin-right: 0; }

.tablesaw-advance a.tablesaw-nav-btn {
  display: inline-block;
  overflow: hidden;
  width: 1.8em;
  height: 1.8em;
  background-position: 50% 50%;
  margin-left: .25em;
  margin-right: .25em;
  position: relative;
  text-indent: -9999px; }

.tablesaw-advance a.tablesaw-nav-btn.left:before,
.tablesaw-advance a.tablesaw-nav-btn.right:before,
.tablesaw-advance a.tablesaw-nav-btn.down:before,
.tablesaw-advance a.tablesaw-nav-btn.up:before {
  content: "\0020";
  overflow: hidden;
  width: 0;
  height: 0;
  position: absolute; }

.tablesaw-advance a.tablesaw-nav-btn.down:before {
  left: .5em;
  top: .65em;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 5px solid #808080; }

.tablesaw-advance a.tablesaw-nav-btn.up:before {
  left: .5em;
  top: .65em;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-bottom: 5px solid #808080; }

.tablesaw-advance a.tablesaw-nav-btn.left:before,
.tablesaw-advance a.tablesaw-nav-btn.right:before {
  top: .45em;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent; }

.tablesaw-advance a.tablesaw-nav-btn.left:before {
  left: .6em;
  border-right: 5px solid #808080; }

.tablesaw-advance a.tablesaw-nav-btn.right:before {
  left: .7em;
  border-left: 5px solid #808080; }

.tablesaw-advance a.tablesaw-nav-btn.disabled {
  opacity: .25;
  cursor: default;
  pointer-events: none; }

/* Table Toolbar */
.tablesaw-bar {
  clear: both; }

.tablesaw-bar * {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.tablesaw-bar-section {
  float: left; }

.tablesaw-bar-section label {
  font-size: .875em;
  padding: .5em 0;
  clear: both;
  display: block;
  color: #888;
  margin-right: .5em;
  text-transform: uppercase; }

.tablesaw-btn,
.tablesaw-enhanced .tablesaw-btn {
  margin-top: .5em;
  margin-bottom: .5em; }

.tablesaw-btn-select,
.tablesaw-enhanced .tablesaw-btn-select {
  margin-bottom: 0; }

/* TODO */
.tablesaw-bar .tablesaw-bar-section .tablesaw-btn {
  margin-left: .4em;
  margin-top: 0;
  text-transform: uppercase;
  border: none;
  -webkit-box-shadow: none;
          box-shadow: none;
  background: transparent;
  font-size: 1em;
  padding-left: .3em; }

.tablesaw-bar .tablesaw-bar-section .btn-select {
  min-width: 0; }

.tablesaw-bar .tablesaw-bar-section .btn-select:after {
  padding-top: .9em; }

.tablesaw-bar .tablesaw-bar-section select {
  color: #888;
  text-transform: none;
  background: transparent; }

.tablesaw-bar-section ~ table {
  clear: both; }

.tablesaw-bar-section .abbreviated {
  display: inline; }

.tablesaw-bar-section .longform {
  display: none; }

@media (min-width: 24em) {
  .tablesaw-bar-section .abbreviated {
    display: none; }
  .tablesaw-bar-section .longform {
    display: inline; } }

.tablesaw th,
.tablesaw td {
  padding: .5em .7em;
  text-align: left;
  vertical-align: middle; }

.tablesaw-sortable-btn {
  /* same as cell padding above */
  padding: .5em .7em; }

.tablesaw thead th {
  text-align: left; }

/* Table rows have a gray bottom stroke by default */
.tablesaw-row-border tr {
  border-bottom: 1px solid #dfdfdf; }

/* Zebra striping */
.tablesaw-row-zebra tr:nth-child(2n) {
  background-color: #f8f8f8; }

.tablesaw caption {
  text-align: left;
  margin: .59375em 0; }

.tablesaw-swipe .tablesaw-swipe-cellpersist {
  border-right: 2px solid #e4e1de; }

.tablesaw-swipe-shadow .tablesaw-swipe-cellpersist {
  border-right-width: 1px; }

.tablesaw-swipe-shadow .tablesaw-swipe-cellpersist {
  -webkit-box-shadow: 3px 0 4px -1px #e4e1de;
          box-shadow: 3px 0 4px -1px #e4e1de; }

.tablesaw-stack td .tablesaw-cell-label,
.tablesaw-stack th .tablesaw-cell-label {
  display: none; }

/* Mobile first styles: Begin with the stacked presentation at narrow widths */
/* Support note IE9+: @media only all */
@media only all {
  /* Show the table cells as a block level element */
  .tablesaw-stack {
    clear: both; }
  .tablesaw-stack td,
  .tablesaw-stack th {
    text-align: left;
    display: block; }
  .tablesaw-stack tr {
    clear: both;
    display: table-row; }
  /* Make the label elements a percentage width */
  .tablesaw-stack td .tablesaw-cell-label,
  .tablesaw-stack th .tablesaw-cell-label {
    display: inline-block;
    padding: 0 .6em 0 0;
    width: 30%; }
  /* For grouped headers, have a different style to visually separate the levels by classing the first label in each col group */
  .tablesaw-stack th .tablesaw-cell-label-top,
  .tablesaw-stack td .tablesaw-cell-label-top {
    display: block;
    padding: .4em 0;
    margin: .4em 0; }
  .tablesaw-cell-label {
    display: block; }
  /* Avoid double strokes when stacked */
  .tablesaw-stack tbody th.group {
    margin-top: -1px; }
  /* Avoid double strokes when stacked */
  .tablesaw-stack th.group b.tablesaw-cell-label {
    display: none !important; } }

@media (max-width: 39.9375em) {
  /* Table rows have a gray bottom stroke by default */
  .tablesaw-stack tbody tr {
    display: block;
    width: 100%;
    border-bottom: 1px solid #dfdfdf; }
  .tablesaw-stack thead td,
  .tablesaw-stack thead th {
    display: none; }
  .tablesaw-stack tbody td,
  .tablesaw-stack tbody th {
    display: block;
    float: left;
    clear: left;
    width: 100%; }
  .tablesaw-cell-label {
    vertical-align: top; }
  .tablesaw-cell-content {
    display: inline-block;
    max-width: 67%; }
  .tablesaw-stack .tablesaw-stack-block .tablesaw-cell-label,
  .tablesaw-stack .tablesaw-stack-block .tablesaw-cell-content {
    display: block;
    width: 100%;
    max-width: 100%;
    padding: 0; }
  .tablesaw-stack td:empty,
  .tablesaw-stack th:empty {
    display: none; } }

/* Media query to show as a standard table at 560px (35em x 16px) or wider */
@media (min-width: 40em) {
  .tablesaw-stack tr {
    display: table-row; }
  /* Show the table header rows */
  .tablesaw-stack td,
  .tablesaw-stack th,
  .tablesaw-stack thead td,
  .tablesaw-stack thead th {
    display: table-cell;
    margin: 0; }
  /* Hide the labels in each cell */
  .tablesaw-stack td .tablesaw-cell-label,
  .tablesaw-stack th .tablesaw-cell-label {
    display: none !important; } }

.tablesaw-fix-persist {
  table-layout: fixed; }

@media only all {
  /* Unchecked manually: Always hide */
  .tablesaw-swipe th.tablesaw-swipe-cellhidden,
  .tablesaw-swipe td.tablesaw-swipe-cellhidden {
    display: none; } }

.tablesaw-overflow {
  position: relative;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  /* More in skin.css */ }

.tablesaw-overflow > .tablesaw {
  margin-top: 2px;
  /* sortable focus rings are clipped */ }

/* Used for a11y text on button: "Columns" */
.tablesaw-columntoggle-btn span {
  text-indent: -9999px;
  display: inline-block; }

.tablesaw-columntoggle-btnwrap {
  position: relative;
  /* for dialog positioning */ }

.tablesaw-columntoggle-btnwrap .dialog-content {
  padding: .5em; }

.tablesaw-columntoggle tbody td {
  line-height: 1.5; }

/* Remove top/bottom margins around the fieldcontain on check list */
.tablesaw-columntoggle-popup {
  display: none; }

.tablesaw-columntoggle-btnwrap.visible .tablesaw-columntoggle-popup {
  display: block;
  position: absolute;
  top: 2em;
  right: 0;
  background-color: #fff;
  padding: .5em .8em;
  border: 1px solid #ccc;
  -webkit-box-shadow: 0 1px 2px #ccc;
          box-shadow: 0 1px 2px #ccc;
  border-radius: .2em;
  z-index: 1; }

.tablesaw-columntoggle-popup fieldset {
  margin: 0; }

/* Hide all prioritized columns by default */
@media only all {
  .tablesaw-columntoggle th.tablesaw-priority-6,
  .tablesaw-columntoggle td.tablesaw-priority-6,
  .tablesaw-columntoggle th.tablesaw-priority-5,
  .tablesaw-columntoggle td.tablesaw-priority-5,
  .tablesaw-columntoggle th.tablesaw-priority-4,
  .tablesaw-columntoggle td.tablesaw-priority-4,
  .tablesaw-columntoggle th.tablesaw-priority-3,
  .tablesaw-columntoggle td.tablesaw-priority-3,
  .tablesaw-columntoggle th.tablesaw-priority-2,
  .tablesaw-columntoggle td.tablesaw-priority-2,
  .tablesaw-columntoggle th.tablesaw-priority-1,
  .tablesaw-columntoggle td.tablesaw-priority-1,
  .tablesaw-columntoggle th.tablesaw-priority-0,
  .tablesaw-columntoggle td.tablesaw-priority-0 {
    display: none; } }

.tablesaw-columntoggle-btnwrap .dialog-content {
  top: 0 !important;
  right: 1em;
  left: auto !important;
  width: 12em;
  max-width: 18em;
  margin: -.5em auto 0; }

.tablesaw-columntoggle-btnwrap .dialog-content:focus {
  outline-style: none; }

/* Preset breakpoints if "" class added to table */
/* Show priority 1 at 320px (20em x 16px) */
@media (min-width: 20em) {
  .tablesaw-columntoggle th.tablesaw-priority-1,
  .tablesaw-columntoggle td.tablesaw-priority-1 {
    display: table-cell; } }

/* Show priority 2 at 480px (30em x 16px) */
@media (min-width: 30em) {
  .tablesaw-columntoggle th.tablesaw-priority-2,
  .tablesaw-columntoggle td.tablesaw-priority-2 {
    display: table-cell; } }

/* Show priority 3 at 640px (40em x 16px) */
@media (min-width: 40em) {
  .tablesaw-columntoggle th.tablesaw-priority-3,
  .tablesaw-columntoggle td.tablesaw-priority-3 {
    display: table-cell; }
  .tablesaw-columntoggle tbody td {
    line-height: 2; } }

/* Show priority 4 at 800px (50em x 16px) */
@media (min-width: 50em) {
  .tablesaw-columntoggle th.tablesaw-priority-4,
  .tablesaw-columntoggle td.tablesaw-priority-4 {
    display: table-cell; } }

/* Show priority 5 at 960px (60em x 16px) */
@media (min-width: 60em) {
  .tablesaw-columntoggle th.tablesaw-priority-5,
  .tablesaw-columntoggle td.tablesaw-priority-5 {
    display: table-cell; } }

/* Show priority 6 at 1,120px (70em x 16px) */
@media (min-width: 70em) {
  .tablesaw-columntoggle th.tablesaw-priority-6,
  .tablesaw-columntoggle td.tablesaw-priority-6 {
    display: table-cell; } }

@media only all {
  /* Unchecked manually: Always hide */
  .tablesaw-columntoggle th.tablesaw-toggle-cellhidden,
  .tablesaw-columntoggle td.tablesaw-toggle-cellhidden {
    display: none; }
  /* Checked manually: Always show */
  .tablesaw-columntoggle th.tablesaw-toggle-cellvisible,
  .tablesaw-columntoggle td.tablesaw-toggle-cellvisible {
    display: table-cell; } }

.tablesaw-columntoggle-popup .btn-group > label {
  display: block;
  padding: .2em 0;
  white-space: nowrap;
  cursor: default; }

.tablesaw-columntoggle-popup .btn-group > label input {
  margin-right: .8em; }

.tablesaw-sortable-head {
  position: relative;
  vertical-align: top; }

/* Override */
.tablesaw .tablesaw-sortable-head {
  padding: 0; }

.tablesaw-sortable-btn {
  min-width: 100%;
  color: inherit;
  background: transparent;
  border: 0;
  text-align: inherit;
  font: inherit;
  text-transform: inherit; }

.tablesaw-sortable-arrow:after {
  display: inline-block;
  width: 10px;
  height: 14px;
  content: " ";
  margin-left: .3125em; }

.tablesaw-sortable-ascending .tablesaw-sortable-arrow:after,
.tablesaw-sortable-descending .tablesaw-sortable-arrow:after {
  content: "\0020"; }

.tablesaw-sortable-ascending .tablesaw-sortable-arrow:after {
  content: "\2191"; }

.tablesaw-sortable-descending .tablesaw-sortable-arrow:after {
  content: "\2193"; }

.tablesaw-advance {
  float: right; }

.tablesaw-advance.minimap {
  margin-right: .4em; }

.tablesaw-advance-dots {
  float: left;
  margin: 0;
  padding: 0;
  list-style: none; }

.tablesaw-advance-dots li {
  display: table-cell;
  margin: 0;
  padding: .4em .2em; }

.tablesaw-advance-dots li i {
  width: .25em;
  height: .25em;
  background: #555;
  border-radius: 100%;
  display: inline-block; }

.tablesaw-advance-dots-hide {
  opacity: .25;
  cursor: default;
  pointer-events: none; }

.wsp-container ul {
  list-style-type: none;
  margin: 0 0 2.5rem; }
  @media print, screen and (min-width: 40em) {
    .wsp-container ul {
      -webkit-column-count: 2;
         -moz-column-count: 2;
              column-count: 2;
      -webkit-column-gap: 1.875rem;
         -moz-column-gap: 1.875rem;
              column-gap: 1.875rem; } }

.wsp-container li {
  margin-bottom: 0.625rem; }

.wsp-container a {
  display: inline !important; }

.wsp-container h2 {
  margin-bottom: 0.625rem; }
  @media print, screen and (min-width: 64em) {
    .wsp-container h2 {
      margin-bottom: 1.25rem; } }

.kk-star-ratings {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-bottom: 0.125rem; }
  .kk-star-ratings.kksr-valign-top {
    display: none !important; }
    .kk-star-ratings.kksr-valign-top + h2,
    .kk-star-ratings.kksr-valign-top + h3,
    .kk-star-ratings.kksr-valign-top + h4 {
      margin-top: 0; }
  .kk-star-ratings .kksr-legend {
    margin: 0.625rem 0 0;
    font-size: 1rem;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100%; }
    .kk-star-ratings .kksr-legend > * {
      display: none; }
    .kk-star-ratings .kksr-legend > .kksr-score {
      display: inline-block; }
      .kk-star-ratings .kksr-legend > .kksr-score + .kksr-muted {
        display: inline-block;
        opacity: 1; }
        .kk-star-ratings .kksr-legend > .kksr-score + .kksr-muted + strong {
          display: inline-block; }
  .kk-star-ratings .kksr-stars .kksr-star .kksr-icon,
  .kk-star-ratings:not(.kksr-disabled) .kksr-stars .kksr-star:hover ~ .kksr-star .kksr-icon {
    background-image: url("../img/rate-inactive.svg"); }
  .kk-star-ratings .kksr-stars .kksr-stars-active .kksr-star .kksr-icon {
    background-image: url("../img/rate-active.svg"); }
  .kk-star-ratings.kksr-disabled .kksr-stars .kksr-stars-active .kksr-star .kksr-icon,
  .kk-star-ratings:not(.kksr-disabled) .kksr-stars:hover .kksr-star .kksr-icon {
    background-image: url("../img/rate-active.svg"); }

.kksr-breadcrumbs {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin: -0.0625rem 0; }
  @media print, screen and (max-width: 63.99875em) {
    .kksr-breadcrumbs {
      padding-top: 0.625rem;
      border-top: 1px solid #eee;
      margin-top: 0.625rem; } }
  .kksr-breadcrumbs .kksr-rate-text {
    margin: 0 0.625rem 0 0; }
  .kksr-breadcrumbs .kk-star-ratings {
    display: -webkit-box !important;
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    margin-bottom: 0; }
    .kksr-breadcrumbs .kk-star-ratings .kksr-legend {
      margin: 0 0 0 0.625rem; }

.roulette-in-numbers .centered, .roulette-in-numbers .roulette,
.roulette-in-numbers .roulette-image, .roulette-in-numbers .fact .fact-wrap, .roulette-in-numbers .fact .fact-wrap .fact-number span, .roulette-in-numbers .overlay, .roulette-in-numbers .middle {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%); }

.roulette-in-numbers .grey-bg {
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#4f4f4f+0,272727+100 */
  background: #4f4f4f;
  /* Old browsers */
  /* FF3.6+ */
  /* Chrome,Safari4+ */
  /* Chrome10+,Safari5.1+ */
  /* Opera 12+ */
  /* IE10+ */
  background: radial-gradient(ellipse at center, #4f4f4f 0%, #272727 100%);
  /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#4f4f4f', endColorstr='#272727',GradientType=1 );
  /* IE6-9 fallback on horizontal gradient */ }

.roulette-in-numbers .red {
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#f6594d+0,da1608+100 */
  background: #f6594d;
  /* Old browsers */
  /* FF3.6+ */
  /* Chrome,Safari4+ */
  /* Chrome10+,Safari5.1+ */
  /* Opera 12+ */
  /* IE10+ */
  background: radial-gradient(ellipse at center, #f6594d 0%, #da1608 100%);
  /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f6594d', endColorstr='#da1608',GradientType=1 );
  /* IE6-9 fallback on horizontal gradient */ }

.roulette-in-numbers .grey {
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#696969+0,3c3c3c+100 */
  background: #696969;
  /* Old browsers */
  /* FF3.6+ */
  /* Chrome,Safari4+ */
  /* Chrome10+,Safari5.1+ */
  /* Opera 12+ */
  /* IE10+ */
  background: radial-gradient(ellipse at center, #696969 0%, #3c3c3c 100%);
  /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#696969', endColorstr='#3c3c3c',GradientType=1 );
  /* IE6-9 fallback on horizontal gradient */ }

.roulette-in-numbers .green {
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#4bc40f+0,277500+100 */
  background: #4bc40f;
  /* Old browsers */
  /* FF3.6+ */
  /* Chrome,Safari4+ */
  /* Chrome10+,Safari5.1+ */
  /* Opera 12+ */
  /* IE10+ */
  background: radial-gradient(ellipse at center, #4bc40f 0%, #277500 100%);
  /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#4bc40f', endColorstr='#277500',GradientType=1 );
  /* IE6-9 fallback on horizontal gradient */ }

.roulette-in-numbers .ball, .roulette-in-numbers .number .click-number:before {
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#feffff+0,d5e6ed+100 */
  background: #feffff;
  /* Old browsers */
  /* FF3.6+ */
  /* Chrome,Safari4+ */
  /* Chrome10+,Safari5.1+ */
  /* Opera 12+ */
  /* IE10+ */
  background: radial-gradient(ellipse at center, #feffff 0%, #d5e6ed 100%);
  /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#feffff', endColorstr='#d5e6ed',GradientType=1 );
  /* IE6-9 fallback on horizontal gradient */ }

@font-face {
  .roulette-in-numbers {
    font-family: 'Arimo';
    src: url("../fonts/arimo-bold.eot");
    /* IE9 Compat Modes */
    src: url("../fonts/arimo-bold.woff2") format("woff2"), url("../fonts/arimo-bold.woff") format("woff"), url("../fonts/arimo-bold.ttf") format("truetype"), url("../fonts/arimo-bold.svg") format("svg");
    /* Legacy iOS */ } }

.roulette-in-numbers .centered, .roulette-in-numbers .roulette,
.roulette-in-numbers .roulette-image, .roulette-in-numbers .fact .fact-wrap, .roulette-in-numbers .fact .fact-wrap .fact-number span, .roulette-in-numbers .overlay, .roulette-in-numbers .middle {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%); }

.roulette-in-numbers .grey-bg {
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#4f4f4f+0,272727+100 */
  background: #4f4f4f;
  /* Old browsers */
  /* FF3.6+ */
  /* Chrome,Safari4+ */
  /* Chrome10+,Safari5.1+ */
  /* Opera 12+ */
  /* IE10+ */
  background: radial-gradient(ellipse at center, #4f4f4f 0%, #272727 100%);
  /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#4f4f4f', endColorstr='#272727',GradientType=1 );
  /* IE6-9 fallback on horizontal gradient */ }

.roulette-in-numbers .red {
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#f6594d+0,da1608+100 */
  background: #f6594d;
  /* Old browsers */
  /* FF3.6+ */
  /* Chrome,Safari4+ */
  /* Chrome10+,Safari5.1+ */
  /* Opera 12+ */
  /* IE10+ */
  background: radial-gradient(ellipse at center, #f6594d 0%, #da1608 100%);
  /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f6594d', endColorstr='#da1608',GradientType=1 );
  /* IE6-9 fallback on horizontal gradient */ }

.roulette-in-numbers .grey {
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#696969+0,3c3c3c+100 */
  background: #696969;
  /* Old browsers */
  /* FF3.6+ */
  /* Chrome,Safari4+ */
  /* Chrome10+,Safari5.1+ */
  /* Opera 12+ */
  /* IE10+ */
  background: radial-gradient(ellipse at center, #696969 0%, #3c3c3c 100%);
  /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#696969', endColorstr='#3c3c3c',GradientType=1 );
  /* IE6-9 fallback on horizontal gradient */ }

.roulette-in-numbers .green {
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#4bc40f+0,277500+100 */
  background: #4bc40f;
  /* Old browsers */
  /* FF3.6+ */
  /* Chrome,Safari4+ */
  /* Chrome10+,Safari5.1+ */
  /* Opera 12+ */
  /* IE10+ */
  background: radial-gradient(ellipse at center, #4bc40f 0%, #277500 100%);
  /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#4bc40f', endColorstr='#277500',GradientType=1 );
  /* IE6-9 fallback on horizontal gradient */ }

.roulette-in-numbers .ball, .roulette-in-numbers .number .click-number:before {
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#feffff+0,d5e6ed+100 */
  background: #feffff;
  /* Old browsers */
  /* FF3.6+ */
  /* Chrome,Safari4+ */
  /* Chrome10+,Safari5.1+ */
  /* Opera 12+ */
  /* IE10+ */
  background: radial-gradient(ellipse at center, #feffff 0%, #d5e6ed 100%);
  /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#feffff', endColorstr='#d5e6ed',GradientType=1 );
  /* IE6-9 fallback on horizontal gradient */ }

.roulette-in-numbers * {
  text-rendering: optimizeLegibility;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-font-smoothing: antialiased; }

.roulette-in-numbers body, .roulette-in-numbers html {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  max-width: 785px;
  font-size: 16px;
  font-family: 'Times New Roman'; }

.roulette-in-numbers * {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

.roulette-in-numbers a {
  text-decoration: none; }

.roulette-in-numbers ul {
  margin: 0;
  list-style: none;
  padding-left: 0; }

.roulette-in-numbers h1, .roulette-in-numbers h2, .roulette-in-numbers h3, .roulette-in-numbers h4, .roulette-in-numbers h5, .roulette-in-numbers h6 {
  margin: 0px 0px;
  line-height: 1em; }

.roulette-in-numbers .centered, .roulette-in-numbers .roulette,
.roulette-in-numbers .roulette-image, .roulette-in-numbers .fact .fact-wrap, .roulette-in-numbers .fact .fact-wrap .fact-number span, .roulette-in-numbers .overlay, .roulette-in-numbers .middle {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%); }

.roulette-in-numbers .grey-bg {
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#4f4f4f+0,272727+100 */
  background: #4f4f4f;
  /* Old browsers */
  /* FF3.6+ */
  /* Chrome,Safari4+ */
  /* Chrome10+,Safari5.1+ */
  /* Opera 12+ */
  /* IE10+ */
  background: radial-gradient(ellipse at center, #4f4f4f 0%, #272727 100%);
  /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#4f4f4f', endColorstr='#272727',GradientType=1 );
  /* IE6-9 fallback on horizontal gradient */ }

.roulette-in-numbers .red {
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#f6594d+0,da1608+100 */
  background: #f6594d;
  /* Old browsers */
  /* FF3.6+ */
  /* Chrome,Safari4+ */
  /* Chrome10+,Safari5.1+ */
  /* Opera 12+ */
  /* IE10+ */
  background: radial-gradient(ellipse at center, #f6594d 0%, #da1608 100%);
  /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f6594d', endColorstr='#da1608',GradientType=1 );
  /* IE6-9 fallback on horizontal gradient */ }

.roulette-in-numbers .grey {
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#696969+0,3c3c3c+100 */
  background: #696969;
  /* Old browsers */
  /* FF3.6+ */
  /* Chrome,Safari4+ */
  /* Chrome10+,Safari5.1+ */
  /* Opera 12+ */
  /* IE10+ */
  background: radial-gradient(ellipse at center, #696969 0%, #3c3c3c 100%);
  /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#696969', endColorstr='#3c3c3c',GradientType=1 );
  /* IE6-9 fallback on horizontal gradient */ }

.roulette-in-numbers .green {
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#4bc40f+0,277500+100 */
  background: #4bc40f;
  /* Old browsers */
  /* FF3.6+ */
  /* Chrome,Safari4+ */
  /* Chrome10+,Safari5.1+ */
  /* Opera 12+ */
  /* IE10+ */
  background: radial-gradient(ellipse at center, #4bc40f 0%, #277500 100%);
  /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#4bc40f', endColorstr='#277500',GradientType=1 );
  /* IE6-9 fallback on horizontal gradient */ }

.roulette-in-numbers .ball, .roulette-in-numbers .number .click-number:before {
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#feffff+0,d5e6ed+100 */
  background: #feffff;
  /* Old browsers */
  /* FF3.6+ */
  /* Chrome,Safari4+ */
  /* Chrome10+,Safari5.1+ */
  /* Opera 12+ */
  /* IE10+ */
  background: radial-gradient(ellipse at center, #feffff 0%, #d5e6ed 100%);
  /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#feffff', endColorstr='#d5e6ed',GradientType=1 );
  /* IE6-9 fallback on horizontal gradient */ }

@keyframes marker {
  0% {
    width: 95%;
    padding-top: 95%;
    opacity: 1; }
  100% {
    width: 200%;
    padding-top: 200%;
    opacity: 0; } }

@-webkit-keyframes marker {
  0% {
    width: 95%;
    padding-top: 95%;
    opacity: 1; }
  100% {
    width: 200%;
    padding-top: 200%;
    opacity: 0; } }

.roulette-in-numbers .content {
  display: block;
  position: relative;
  width: 100%;
  padding-top: 83%;
  -webkit-background: -webkit-gradient(linear, left top, left bottom, from(#000), to(#00582c));
  -webkit-background: linear-gradient(to bottom, #000, #00582c);
  background: -webkit-gradient(linear, left top, left bottom, from(#000), to(#00582c));
  background: linear-gradient(to bottom, #000, #00582c);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  border: 30px solid #3a1d19;
  border-top: 26px solid #3a1d19;
  -webkit-box-shadow: inset 0px 0px 15px 6px rgba(0, 0, 0, 0.45);
  box-shadow: inset 0px 0px 15px 6px rgba(0, 0, 0, 0.45);
  overflow: hidden; }

@media screen and (max-width: 499px) {
  .roulette-in-numbers .content {
    padding-top: 128%; } }

.roulette-in-numbers .roulette {
  opacity: 0;
  padding-top: 65%;
  width: 65%;
  background: url(../img/roulette-in-numbers/base.png);
  background-size: cover;
  -webkit-transform: translate(-50%, -75%);
  -ms-transform: translate(-50%, -75%);
      transform: translate(-50%, -75%); }

@media screen and (max-width: 499px) {
  .roulette-in-numbers .roulette {
    padding-top: 95%;
    width: 95%; } }

.roulette-in-numbers .roulette-image {
  width: 100%;
  border-radius: 50%;
  -webkit-box-shadow: 0 0 10px 16px rgba(0, 0, 0, 0.35);
          box-shadow: 0 0 10px 16px rgba(0, 0, 0, 0.35);
  -webkit-transition: none;
  transition: none;
  -webkit-transform-origin: 50% 50%;
  -ms-transform-origin: 50% 50%;
      transform-origin: 50% 50%;
  -webkit-transform: translate(-50%, -50%) rotate(0deg);
  -ms-transform: translate(-50%, -50%) rotate(0deg);
      transform: translate(-50%, -50%) rotate(0deg); }

.roulette-in-numbers .roulette-image.spin {
  -webkit-transform: translate(-50%, -50%) rotate(360deg);
  -ms-transform: translate(-50%, -50%) rotate(360deg);
      transform: translate(-50%, -50%) rotate(360deg);
  -webkit-transition: all 2s ease;
  transition: all 2s ease; }

.roulette-in-numbers .numbers {
  display: block;
  width: 100%;
  height: 100%; }

.roulette-in-numbers .number .click-number {
  display: block;
  position: absolute;
  -webkit-transform-origin: center bottom;
  -ms-transform-origin: center bottom;
      transform-origin: center bottom;
  -webkit-transform: translate(-50%, 0%) rotate(auto);
  -ms-transform: translate(-50%, 0%) rotate(auto);
      transform: translate(-50%, 0%) rotate(auto);
  top: 16%;
  left: 50%;
  width: 6%;
  height: 34%;
  cursor: pointer; }

.roulette-in-numbers .number .click-number.disable {
  pointer-events: none; }

.roulette-in-numbers .number .click-number:before {
  content: "";
  display: block;
  position: absolute;
  width: 60%;
  padding-top: 60%;
  -webkit-box-shadow: 0 0 20px black;
          box-shadow: 0 0 20px black;
  border-radius: 50%;
  top: 5%;
  left: 250%;
  pointer-events: none;
  -webkit-transform: translate(-50%, 0);
  -ms-transform: translate(-50%, 0);
      transform: translate(-50%, 0);
  opacity: 0;
  -webkit-transition: none;
  transition: none; }

.roulette-in-numbers .number .click-number.show_ball {
  -webkit-transition: transform 2s ease;
  -webkit-transition: -webkit-transform 2s ease;
  transition: -webkit-transform 2s ease;
  transition: transform 2s ease;
  transition: transform 2s ease, -webkit-transform 2s ease; }

.roulette-in-numbers .number .click-number.show_ball:before {
  width: 50%;
  padding-top: 50%;
  opacity: 1;
  left: 50%;
  -webkit-transition: all 0s ease-in;
  transition: all 0s ease-in; }

.roulette-in-numbers .number .click-number.drop:before {
  top: 27%;
  -webkit-transition: all 0.2s ease-in;
  transition: all 0.2s ease-in; }

.roulette-in-numbers .fact {
  display: none;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
  width: 79%;
  height: 79%;
  z-index: 1; }

.roulette-in-numbers .fact .fact-wrap {
  text-align: center;
  width: 100%; }

.roulette-in-numbers .fact .fact-wrap .fact-number {
  display: block;
  position: relative;
  width: 18%;
  padding-top: 17%;
  border-radius: 50%;
  border: 2px solid #dfdfdf;
  margin: 0 auto; }

.roulette-in-numbers .fact .fact-wrap .fact-number span {
  color: #fff;
  font-size: 2.5em; }
  @media print, screen and (max-width: 39.99875em) {
    .roulette-in-numbers .fact .fact-wrap .fact-number span {
      font-size: 14px; } }

.roulette-in-numbers .fact .fact-wrap p {
  font-style: italic;
  color: #fff;
  font-size: 1.1em;
  display: block;
  width: 65%;
  margin: 5% auto; }
  @media print, screen and (max-width: 39.99875em) {
    .roulette-in-numbers .fact .fact-wrap p {
      font-size: 12px; } }

.roulette-in-numbers .fact .fact-wrap .close {
  display: block;
  width: 10%;
  padding-top: 10%;
  background: #fff;
  border-radius: 50%;
  margin: 0 auto;
  cursor: pointer;
  position: relative; }

.roulette-in-numbers .fact .fact-wrap .close:before, .roulette-in-numbers .fact .fact-wrap .close:after {
  content: "";
  display: block;
  position: absolute;
  width: 50%;
  height: 2px;
  background: #909090;
  top: 50%;
  left: 50%; }

.roulette-in-numbers .fact .fact-wrap .close:before {
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
  -ms-transform: translate(-50%, -50%) rotate(45deg);
      transform: translate(-50%, -50%) rotate(45deg); }

.roulette-in-numbers .fact .fact-wrap .close:after {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
  -ms-transform: translate(-50%, -50%) rotate(-45deg);
      transform: translate(-50%, -50%) rotate(-45deg); }

@media screen and (max-width: 420px) {
  .roulette-in-numbers .fact {
    width: 100%;
    height: 100%;
    border-radius: 10px;
    background-color: #fff; }
  .roulette-in-numbers .fact .fact-wrap p {
    color: #333333; }
  .roulette-in-numbers .fact .fact-wrap .close {
    background: #333333;
    width: 7%;
    padding-top: 7%; } }

.roulette-in-numbers .overlay {
  width: 39%;
  height: 39%;
  border-radius: 50%; }

.roulette-in-numbers .middle {
  opacity: 0;
  width: 39%;
  height: 39%;
  border-radius: 50%;
  border: 5px solid #dfdfdf;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease; }

.roulette-in-numbers .middle span {
  display: block;
  position: absolute;
  width: 90%;
  text-align: center;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
  font-style: italic;
  font-size: 1.5em;
  color: #fff;
  opacity: 1;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease; }

.roulette-in-numbers .middle.expand {
  width: 79%;
  height: 79%;
  opacity: .85; }

.roulette-in-numbers .middle.expand span {
  opacity: 0; }

.roulette-in-numbers .social-buttons {
  display: block;
  position: absolute;
  bottom: 2%;
  right: 2%;
  z-index: 2; }

@media all and (max-width: 550px) {
  .roulette-in-numbers .social-buttons {
    bottom: 1%; } }

.roulette-in-numbers .social-buttons a {
  opacity: .5;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease; }

.roulette-in-numbers .social-buttons a:hover {
  opacity: 1; }

.roulette-in-numbers footer span {
  display: block;
  position: absolute;
  bottom: 2%;
  left: 2%;
  color: rgba(255, 255, 255, 0.5);
  font-family: 'Arimo';
  text-transform: uppercase;
  z-index: 2; }

.roulette-in-numbers .splash .splash-img {
  width: 100%;
  max-width: 615px;
  display: block;
  position: absolute;
  bottom: -55px;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 1; }

.roulette-in-numbers .logo {
  display: block;
  position: absolute;
  width: 50%;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  text-align: center;
  color: #303030; }

.roulette-in-numbers .logo title {
  cursor: pointer; }

.roulette-in-numbers .logo img {
  display: block;
  width: 50%;
  max-width: 150px;
  position: relative;
  margin: 0 auto;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
  padding-bottom: 10px; }

.roulette-in-numbers .logo .ribbon-black {
  opacity: 1; }

.roulette-in-numbers .logo .ribbon-white {
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, 0%);
  -ms-transform: translate(-50%, 0%);
      transform: translate(-50%, 0%);
  opacity: 0; }

.roulette-in-numbers .logo h2 {
  font-style: italic;
  font-weight: normal;
  font-size: 2em;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
  text-shadow: -1px 1px 8px #fff1b6; }

.roulette-in-numbers .logo h1 {
  text-transform: uppercase;
  font-size: 3em;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
  text-shadow: -1px 1px 8px rgba(255, 241, 182, 0.5); }

.roulette-in-numbers .logo h1, .roulette-in-numbers .logo h2 {
  -webkit-background: -webkit-gradient(linear, left bottom, left top, from(#d8bb89), to(#9a794f));
  -webkit-background: linear-gradient(to top, #d8bb89, #9a794f);
  background: -webkit-gradient(linear, left bottom, left top, from(#d8bb89), to(#9a794f));
  background: linear-gradient(to top, #d8bb89, #9a794f);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent; }

.roulette-in-numbers .logo span {
  color: rgba(255, 255, 255, 0.6);
  font-style: italic;
  display: none;
  font-size: 24px; }
  @media print, screen and (max-width: 39.99875em) {
    .roulette-in-numbers .logo span {
      font-size: 11px; } }

.roulette-in-numbers .logo p {
  font-style: italic;
  display: block;
  margin: 55px 0;
  color: #cbae7e;
  font-size: 24px; }
  @media print, screen and (max-width: 39.99875em) {
    .roulette-in-numbers .logo p {
      font-size: 11px; } }

.roulette-in-numbers .logo .start {
  display: block;
  margin: 0 auto;
  padding: 20px;
  color: #fff;
  background: -webkit-gradient(linear, left bottom, left top, from(#6a0000), to(#f13b3b));
  background: linear-gradient(to top, #6a0000, #f13b3b);
  font-style: italic;
  font-weight: bold;
  font-size: 2em;
  width: 175px;
  cursor: pointer;
  border: 4px solid #ceb080;
  border-radius: 10px;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
  -webkit-box-shadow: 0px 0px 35px 0px rgba(206, 176, 128, 0.35);
  box-shadow: 0px 0px 35px 0px rgba(206, 176, 128, 0.35); }

.roulette-in-numbers .logo .start:hover {
  background-color: #AB1111; }

@media screen and (max-width: 499px) {
  .roulette-in-numbers .logo {
    width: 90%; }
  .roulette-in-numbers .logo p {
    font-size: .8em; }
  .roulette-in-numbers .logo h2 {
    font-size: 3vw; }
  .roulette-in-numbers .logo h1 {
    font-size: 6vw; }
  .roulette-in-numbers .logo .start {
    font-size: 4vw;
    width: 120px; } }

@media screen and (min-width: 500px) and (max-width: 785px) {
  .roulette-in-numbers .logo h2 {
    font-size: 4vw; }
  .roulette-in-numbers .logo h1 {
    font-size: 7vw; }
  .roulette-in-numbers .logo .start {
    font-size: 4vw; } }

.roulette-in-numbers .logo.top {
  top: 2%;
  left: 50%;
  -webkit-transform: translate(-50%, 0%);
  -ms-transform: translate(-50%, 0%);
      transform: translate(-50%, 0%);
  color: #fff; }

.roulette-in-numbers .logo.top img {
  max-width: 120px; }

.roulette-in-numbers .logo.top h2 {
  font-size: 1.2em; }

.roulette-in-numbers .logo.top h1 {
  font-size: 2.2em; }

.roulette-in-numbers .logo.top .ribbon-black {
  opacity: 0; }

.roulette-in-numbers .logo.top .ribbon-white {
  opacity: 1; }

@media screen and (max-width: 785px) {
  .roulette-in-numbers .logo.top h2 {
    font-size: 3vw; }
  .roulette-in-numbers .logo.top h1 {
    font-size: 6vw; } }

.roulette-in-numbers .table {
  opacity: 0;
  width: 100%;
  position: relative;
  text-align: right; }

@media screen and (max-width: 499px) {
  .roulette-in-numbers .table {
    top: -60px; } }

.roulette-in-numbers .table img, .roulette-in-numbers .table .table-numbers {
  width: 95%;
  height: 100%;
  max-width: 696px; }

.roulette-in-numbers .table .chips {
  width: 7%;
  position: absolute;
  top: 18%;
  left: 4%; }

.roulette-in-numbers .table .chips .chip {
  width: 100%;
  max-width: 46px;
  height: auto;
  margin-top: 15%; }

.roulette-in-numbers .table .chips .chip:first-child {
  margin-top: 25%; }

.roulette-in-numbers .table .table-numbers {
  position: absolute;
  top: 0;
  right: 0; }

.roulette-in-numbers .table .table-numbers .num-0 {
  position: absolute;
  top: 18.5%;
  width: 5%;
  height: 43.5%;
  left: 11%;
  cursor: pointer; }

.roulette-in-numbers .table .table-numbers .num-0.disable {
  pointer-events: none; }

.roulette-in-numbers .table .table-numbers .row {
  width: 100%;
  height: 14.5%;
  left: 16%;
  top: 18.5%;
  position: relative; }

.roulette-in-numbers .table .table-numbers .row .table-number {
  width: 5.5%;
  height: 100%;
  float: left;
  margin-left: .2%;
  cursor: pointer;
  position: relative; }

.roulette-in-numbers .table .table-numbers .row .table-number:before {
  display: none;
  content: "";
  position: absolute;
  background: url(../img/roulette-in-numbers/chip-blue.png);
  width: 116%;
  height: 0;
  left: 50%;
  background-size: cover;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  padding-top: 120%; }

.roulette-in-numbers .table .table-numbers .row .table-number.selected-table-number:before {
  display: block; }

.roulette-in-numbers .table .table-numbers .row .table-number.disable {
  pointer-events: none; }

.roulette-in-numbers .table .table-numbers .row .table-number:first-child {
  margin-left: 0; }

.roulette-in-numbers .num-1 .click-number {
  -webkit-transform: translate(-50%, 0%) rotate(9.72973deg);
  -ms-transform: translate(-50%, 0%) rotate(9.72973deg);
      transform: translate(-50%, 0%) rotate(9.72973deg); }

.roulette-in-numbers .num-1 .click-number.show_ball {
  -webkit-transform: translate(-50%, 0%) rotate(-349.27027deg);
  -ms-transform: translate(-50%, 0%) rotate(-349.27027deg);
      transform: translate(-50%, 0%) rotate(-349.27027deg); }

.roulette-in-numbers .num-2 .click-number {
  -webkit-transform: translate(-50%, 0%) rotate(19.45946deg);
  -ms-transform: translate(-50%, 0%) rotate(19.45946deg);
      transform: translate(-50%, 0%) rotate(19.45946deg); }

.roulette-in-numbers .num-2 .click-number.show_ball {
  -webkit-transform: translate(-50%, 0%) rotate(-339.54054deg);
  -ms-transform: translate(-50%, 0%) rotate(-339.54054deg);
      transform: translate(-50%, 0%) rotate(-339.54054deg); }

.roulette-in-numbers .num-3 .click-number {
  -webkit-transform: translate(-50%, 0%) rotate(29.18919deg);
  -ms-transform: translate(-50%, 0%) rotate(29.18919deg);
      transform: translate(-50%, 0%) rotate(29.18919deg); }

.roulette-in-numbers .num-3 .click-number.show_ball {
  -webkit-transform: translate(-50%, 0%) rotate(-329.81081deg);
  -ms-transform: translate(-50%, 0%) rotate(-329.81081deg);
      transform: translate(-50%, 0%) rotate(-329.81081deg); }

.roulette-in-numbers .num-4 .click-number {
  -webkit-transform: translate(-50%, 0%) rotate(38.91892deg);
  -ms-transform: translate(-50%, 0%) rotate(38.91892deg);
      transform: translate(-50%, 0%) rotate(38.91892deg); }

.roulette-in-numbers .num-4 .click-number.show_ball {
  -webkit-transform: translate(-50%, 0%) rotate(-320.08108deg);
  -ms-transform: translate(-50%, 0%) rotate(-320.08108deg);
      transform: translate(-50%, 0%) rotate(-320.08108deg); }

.roulette-in-numbers .num-5 .click-number {
  -webkit-transform: translate(-50%, 0%) rotate(48.64865deg);
  -ms-transform: translate(-50%, 0%) rotate(48.64865deg);
      transform: translate(-50%, 0%) rotate(48.64865deg); }

.roulette-in-numbers .num-5 .click-number.show_ball {
  -webkit-transform: translate(-50%, 0%) rotate(-310.35135deg);
  -ms-transform: translate(-50%, 0%) rotate(-310.35135deg);
      transform: translate(-50%, 0%) rotate(-310.35135deg); }

.roulette-in-numbers .num-6 .click-number {
  -webkit-transform: translate(-50%, 0%) rotate(58.37838deg);
  -ms-transform: translate(-50%, 0%) rotate(58.37838deg);
      transform: translate(-50%, 0%) rotate(58.37838deg); }

.roulette-in-numbers .num-6 .click-number.show_ball {
  -webkit-transform: translate(-50%, 0%) rotate(-300.62162deg);
  -ms-transform: translate(-50%, 0%) rotate(-300.62162deg);
      transform: translate(-50%, 0%) rotate(-300.62162deg); }

.roulette-in-numbers .num-7 .click-number {
  -webkit-transform: translate(-50%, 0%) rotate(68.10811deg);
  -ms-transform: translate(-50%, 0%) rotate(68.10811deg);
      transform: translate(-50%, 0%) rotate(68.10811deg); }

.roulette-in-numbers .num-7 .click-number.show_ball {
  -webkit-transform: translate(-50%, 0%) rotate(-290.89189deg);
  -ms-transform: translate(-50%, 0%) rotate(-290.89189deg);
      transform: translate(-50%, 0%) rotate(-290.89189deg); }

.roulette-in-numbers .num-8 .click-number {
  -webkit-transform: translate(-50%, 0%) rotate(77.83784deg);
  -ms-transform: translate(-50%, 0%) rotate(77.83784deg);
      transform: translate(-50%, 0%) rotate(77.83784deg); }

.roulette-in-numbers .num-8 .click-number.show_ball {
  -webkit-transform: translate(-50%, 0%) rotate(-281.16216deg);
  -ms-transform: translate(-50%, 0%) rotate(-281.16216deg);
      transform: translate(-50%, 0%) rotate(-281.16216deg); }

.roulette-in-numbers .num-9 .click-number {
  -webkit-transform: translate(-50%, 0%) rotate(87.56757deg);
  -ms-transform: translate(-50%, 0%) rotate(87.56757deg);
      transform: translate(-50%, 0%) rotate(87.56757deg); }

.roulette-in-numbers .num-9 .click-number.show_ball {
  -webkit-transform: translate(-50%, 0%) rotate(-271.43243deg);
  -ms-transform: translate(-50%, 0%) rotate(-271.43243deg);
      transform: translate(-50%, 0%) rotate(-271.43243deg); }

.roulette-in-numbers .num-10 .click-number {
  -webkit-transform: translate(-50%, 0%) rotate(97.2973deg);
  -ms-transform: translate(-50%, 0%) rotate(97.2973deg);
      transform: translate(-50%, 0%) rotate(97.2973deg); }

.roulette-in-numbers .num-10 .click-number.show_ball {
  -webkit-transform: translate(-50%, 0%) rotate(-261.7027deg);
  -ms-transform: translate(-50%, 0%) rotate(-261.7027deg);
      transform: translate(-50%, 0%) rotate(-261.7027deg); }

.roulette-in-numbers .num-11 .click-number {
  -webkit-transform: translate(-50%, 0%) rotate(107.02703deg);
  -ms-transform: translate(-50%, 0%) rotate(107.02703deg);
      transform: translate(-50%, 0%) rotate(107.02703deg); }

.roulette-in-numbers .num-11 .click-number.show_ball {
  -webkit-transform: translate(-50%, 0%) rotate(-251.97297deg);
  -ms-transform: translate(-50%, 0%) rotate(-251.97297deg);
      transform: translate(-50%, 0%) rotate(-251.97297deg); }

.roulette-in-numbers .num-12 .click-number {
  -webkit-transform: translate(-50%, 0%) rotate(116.75676deg);
  -ms-transform: translate(-50%, 0%) rotate(116.75676deg);
      transform: translate(-50%, 0%) rotate(116.75676deg); }

.roulette-in-numbers .num-12 .click-number.show_ball {
  -webkit-transform: translate(-50%, 0%) rotate(-242.24324deg);
  -ms-transform: translate(-50%, 0%) rotate(-242.24324deg);
      transform: translate(-50%, 0%) rotate(-242.24324deg); }

.roulette-in-numbers .num-13 .click-number {
  -webkit-transform: translate(-50%, 0%) rotate(126.48649deg);
  -ms-transform: translate(-50%, 0%) rotate(126.48649deg);
      transform: translate(-50%, 0%) rotate(126.48649deg); }

.roulette-in-numbers .num-13 .click-number.show_ball {
  -webkit-transform: translate(-50%, 0%) rotate(-232.51351deg);
  -ms-transform: translate(-50%, 0%) rotate(-232.51351deg);
      transform: translate(-50%, 0%) rotate(-232.51351deg); }

.roulette-in-numbers .num-14 .click-number {
  -webkit-transform: translate(-50%, 0%) rotate(136.21622deg);
  -ms-transform: translate(-50%, 0%) rotate(136.21622deg);
      transform: translate(-50%, 0%) rotate(136.21622deg); }

.roulette-in-numbers .num-14 .click-number.show_ball {
  -webkit-transform: translate(-50%, 0%) rotate(-222.78378deg);
  -ms-transform: translate(-50%, 0%) rotate(-222.78378deg);
      transform: translate(-50%, 0%) rotate(-222.78378deg); }

.roulette-in-numbers .num-15 .click-number {
  -webkit-transform: translate(-50%, 0%) rotate(145.94595deg);
  -ms-transform: translate(-50%, 0%) rotate(145.94595deg);
      transform: translate(-50%, 0%) rotate(145.94595deg); }

.roulette-in-numbers .num-15 .click-number.show_ball {
  -webkit-transform: translate(-50%, 0%) rotate(-213.05405deg);
  -ms-transform: translate(-50%, 0%) rotate(-213.05405deg);
      transform: translate(-50%, 0%) rotate(-213.05405deg); }

.roulette-in-numbers .num-16 .click-number {
  -webkit-transform: translate(-50%, 0%) rotate(155.67568deg);
  -ms-transform: translate(-50%, 0%) rotate(155.67568deg);
      transform: translate(-50%, 0%) rotate(155.67568deg); }

.roulette-in-numbers .num-16 .click-number.show_ball {
  -webkit-transform: translate(-50%, 0%) rotate(-203.32432deg);
  -ms-transform: translate(-50%, 0%) rotate(-203.32432deg);
      transform: translate(-50%, 0%) rotate(-203.32432deg); }

.roulette-in-numbers .num-17 .click-number {
  -webkit-transform: translate(-50%, 0%) rotate(165.40541deg);
  -ms-transform: translate(-50%, 0%) rotate(165.40541deg);
      transform: translate(-50%, 0%) rotate(165.40541deg); }

.roulette-in-numbers .num-17 .click-number.show_ball {
  -webkit-transform: translate(-50%, 0%) rotate(-193.59459deg);
  -ms-transform: translate(-50%, 0%) rotate(-193.59459deg);
      transform: translate(-50%, 0%) rotate(-193.59459deg); }

.roulette-in-numbers .num-18 .click-number {
  -webkit-transform: translate(-50%, 0%) rotate(175.13514deg);
  -ms-transform: translate(-50%, 0%) rotate(175.13514deg);
      transform: translate(-50%, 0%) rotate(175.13514deg); }

.roulette-in-numbers .num-18 .click-number.show_ball {
  -webkit-transform: translate(-50%, 0%) rotate(-183.86486deg);
  -ms-transform: translate(-50%, 0%) rotate(-183.86486deg);
      transform: translate(-50%, 0%) rotate(-183.86486deg); }

.roulette-in-numbers .num-19 .click-number {
  -webkit-transform: translate(-50%, 0%) rotate(184.86486deg);
  -ms-transform: translate(-50%, 0%) rotate(184.86486deg);
      transform: translate(-50%, 0%) rotate(184.86486deg); }

.roulette-in-numbers .num-19 .click-number.show_ball {
  -webkit-transform: translate(-50%, 0%) rotate(-174.13514deg);
  -ms-transform: translate(-50%, 0%) rotate(-174.13514deg);
      transform: translate(-50%, 0%) rotate(-174.13514deg); }

.roulette-in-numbers .num-20 .click-number {
  -webkit-transform: translate(-50%, 0%) rotate(194.59459deg);
  -ms-transform: translate(-50%, 0%) rotate(194.59459deg);
      transform: translate(-50%, 0%) rotate(194.59459deg); }

.roulette-in-numbers .num-20 .click-number.show_ball {
  -webkit-transform: translate(-50%, 0%) rotate(-164.40541deg);
  -ms-transform: translate(-50%, 0%) rotate(-164.40541deg);
      transform: translate(-50%, 0%) rotate(-164.40541deg); }

.roulette-in-numbers .num-21 .click-number {
  -webkit-transform: translate(-50%, 0%) rotate(204.32432deg);
  -ms-transform: translate(-50%, 0%) rotate(204.32432deg);
      transform: translate(-50%, 0%) rotate(204.32432deg); }

.roulette-in-numbers .num-21 .click-number.show_ball {
  -webkit-transform: translate(-50%, 0%) rotate(-154.67568deg);
  -ms-transform: translate(-50%, 0%) rotate(-154.67568deg);
      transform: translate(-50%, 0%) rotate(-154.67568deg); }

.roulette-in-numbers .num-22 .click-number {
  -webkit-transform: translate(-50%, 0%) rotate(214.05405deg);
  -ms-transform: translate(-50%, 0%) rotate(214.05405deg);
      transform: translate(-50%, 0%) rotate(214.05405deg); }

.roulette-in-numbers .num-22 .click-number.show_ball {
  -webkit-transform: translate(-50%, 0%) rotate(-144.94595deg);
  -ms-transform: translate(-50%, 0%) rotate(-144.94595deg);
      transform: translate(-50%, 0%) rotate(-144.94595deg); }

.roulette-in-numbers .num-23 .click-number {
  -webkit-transform: translate(-50%, 0%) rotate(223.78378deg);
  -ms-transform: translate(-50%, 0%) rotate(223.78378deg);
      transform: translate(-50%, 0%) rotate(223.78378deg); }

.roulette-in-numbers .num-23 .click-number.show_ball {
  -webkit-transform: translate(-50%, 0%) rotate(-135.21622deg);
  -ms-transform: translate(-50%, 0%) rotate(-135.21622deg);
      transform: translate(-50%, 0%) rotate(-135.21622deg); }

.roulette-in-numbers .num-24 .click-number {
  -webkit-transform: translate(-50%, 0%) rotate(233.51351deg);
  -ms-transform: translate(-50%, 0%) rotate(233.51351deg);
      transform: translate(-50%, 0%) rotate(233.51351deg); }

.roulette-in-numbers .num-24 .click-number.show_ball {
  -webkit-transform: translate(-50%, 0%) rotate(-125.48649deg);
  -ms-transform: translate(-50%, 0%) rotate(-125.48649deg);
      transform: translate(-50%, 0%) rotate(-125.48649deg); }

.roulette-in-numbers .num-25 .click-number {
  -webkit-transform: translate(-50%, 0%) rotate(243.24324deg);
  -ms-transform: translate(-50%, 0%) rotate(243.24324deg);
      transform: translate(-50%, 0%) rotate(243.24324deg); }

.roulette-in-numbers .num-25 .click-number.show_ball {
  -webkit-transform: translate(-50%, 0%) rotate(-115.75676deg);
  -ms-transform: translate(-50%, 0%) rotate(-115.75676deg);
      transform: translate(-50%, 0%) rotate(-115.75676deg); }

.roulette-in-numbers .num-26 .click-number {
  -webkit-transform: translate(-50%, 0%) rotate(252.97297deg);
  -ms-transform: translate(-50%, 0%) rotate(252.97297deg);
      transform: translate(-50%, 0%) rotate(252.97297deg); }

.roulette-in-numbers .num-26 .click-number.show_ball {
  -webkit-transform: translate(-50%, 0%) rotate(-106.02703deg);
  -ms-transform: translate(-50%, 0%) rotate(-106.02703deg);
      transform: translate(-50%, 0%) rotate(-106.02703deg); }

.roulette-in-numbers .num-27 .click-number {
  -webkit-transform: translate(-50%, 0%) rotate(262.7027deg);
  -ms-transform: translate(-50%, 0%) rotate(262.7027deg);
      transform: translate(-50%, 0%) rotate(262.7027deg); }

.roulette-in-numbers .num-27 .click-number.show_ball {
  -webkit-transform: translate(-50%, 0%) rotate(-96.2973deg);
  -ms-transform: translate(-50%, 0%) rotate(-96.2973deg);
      transform: translate(-50%, 0%) rotate(-96.2973deg); }

.roulette-in-numbers .num-28 .click-number {
  -webkit-transform: translate(-50%, 0%) rotate(272.43243deg);
  -ms-transform: translate(-50%, 0%) rotate(272.43243deg);
      transform: translate(-50%, 0%) rotate(272.43243deg); }

.roulette-in-numbers .num-28 .click-number.show_ball {
  -webkit-transform: translate(-50%, 0%) rotate(-86.56757deg);
  -ms-transform: translate(-50%, 0%) rotate(-86.56757deg);
      transform: translate(-50%, 0%) rotate(-86.56757deg); }

.roulette-in-numbers .num-29 .click-number {
  -webkit-transform: translate(-50%, 0%) rotate(282.16216deg);
  -ms-transform: translate(-50%, 0%) rotate(282.16216deg);
      transform: translate(-50%, 0%) rotate(282.16216deg); }

.roulette-in-numbers .num-29 .click-number.show_ball {
  -webkit-transform: translate(-50%, 0%) rotate(-76.83784deg);
  -ms-transform: translate(-50%, 0%) rotate(-76.83784deg);
      transform: translate(-50%, 0%) rotate(-76.83784deg); }

.roulette-in-numbers .num-30 .click-number {
  -webkit-transform: translate(-50%, 0%) rotate(291.89189deg);
  -ms-transform: translate(-50%, 0%) rotate(291.89189deg);
      transform: translate(-50%, 0%) rotate(291.89189deg); }

.roulette-in-numbers .num-30 .click-number.show_ball {
  -webkit-transform: translate(-50%, 0%) rotate(-67.10811deg);
  -ms-transform: translate(-50%, 0%) rotate(-67.10811deg);
      transform: translate(-50%, 0%) rotate(-67.10811deg); }

.roulette-in-numbers .num-31 .click-number {
  -webkit-transform: translate(-50%, 0%) rotate(301.62162deg);
  -ms-transform: translate(-50%, 0%) rotate(301.62162deg);
      transform: translate(-50%, 0%) rotate(301.62162deg); }

.roulette-in-numbers .num-31 .click-number.show_ball {
  -webkit-transform: translate(-50%, 0%) rotate(-57.37838deg);
  -ms-transform: translate(-50%, 0%) rotate(-57.37838deg);
      transform: translate(-50%, 0%) rotate(-57.37838deg); }

.roulette-in-numbers .num-32 .click-number {
  -webkit-transform: translate(-50%, 0%) rotate(311.35135deg);
  -ms-transform: translate(-50%, 0%) rotate(311.35135deg);
      transform: translate(-50%, 0%) rotate(311.35135deg); }

.roulette-in-numbers .num-32 .click-number.show_ball {
  -webkit-transform: translate(-50%, 0%) rotate(-47.64865deg);
  -ms-transform: translate(-50%, 0%) rotate(-47.64865deg);
      transform: translate(-50%, 0%) rotate(-47.64865deg); }

.roulette-in-numbers .num-33 .click-number {
  -webkit-transform: translate(-50%, 0%) rotate(321.08108deg);
  -ms-transform: translate(-50%, 0%) rotate(321.08108deg);
      transform: translate(-50%, 0%) rotate(321.08108deg); }

.roulette-in-numbers .num-33 .click-number.show_ball {
  -webkit-transform: translate(-50%, 0%) rotate(-37.91892deg);
  -ms-transform: translate(-50%, 0%) rotate(-37.91892deg);
      transform: translate(-50%, 0%) rotate(-37.91892deg); }

.roulette-in-numbers .num-34 .click-number {
  -webkit-transform: translate(-50%, 0%) rotate(330.81081deg);
  -ms-transform: translate(-50%, 0%) rotate(330.81081deg);
      transform: translate(-50%, 0%) rotate(330.81081deg); }

.roulette-in-numbers .num-34 .click-number.show_ball {
  -webkit-transform: translate(-50%, 0%) rotate(-28.18919deg);
  -ms-transform: translate(-50%, 0%) rotate(-28.18919deg);
      transform: translate(-50%, 0%) rotate(-28.18919deg); }

.roulette-in-numbers .num-35 .click-number {
  -webkit-transform: translate(-50%, 0%) rotate(340.54054deg);
  -ms-transform: translate(-50%, 0%) rotate(340.54054deg);
      transform: translate(-50%, 0%) rotate(340.54054deg); }

.roulette-in-numbers .num-35 .click-number.show_ball {
  -webkit-transform: translate(-50%, 0%) rotate(-18.45946deg);
  -ms-transform: translate(-50%, 0%) rotate(-18.45946deg);
      transform: translate(-50%, 0%) rotate(-18.45946deg); }

.roulette-in-numbers .num-36 .click-number {
  -webkit-transform: translate(-50%, 0%) rotate(350.27027deg);
  -ms-transform: translate(-50%, 0%) rotate(350.27027deg);
      transform: translate(-50%, 0%) rotate(350.27027deg); }

.roulette-in-numbers .num-36 .click-number.show_ball {
  -webkit-transform: translate(-50%, 0%) rotate(-8.72973deg);
  -ms-transform: translate(-50%, 0%) rotate(-8.72973deg);
      transform: translate(-50%, 0%) rotate(-8.72973deg); }

.roulette-in-numbers .num-37 .click-number {
  -webkit-transform: translate(-50%, 0%) rotate(360deg);
  -ms-transform: translate(-50%, 0%) rotate(360deg);
      transform: translate(-50%, 0%) rotate(360deg); }

.roulette-in-numbers .num-37 .click-number.show_ball {
  -webkit-transform: translate(-50%, 0%) rotate(1deg);
  -ms-transform: translate(-50%, 0%) rotate(1deg);
      transform: translate(-50%, 0%) rotate(1deg); }

.roulette-in-numbers #num-0 .click-number {
  -webkit-transform: translate(-50%, 0%) rotate(0deg);
  -ms-transform: translate(-50%, 0%) rotate(0deg);
      transform: translate(-50%, 0%) rotate(0deg); }

.roulette-in-numbers #num-0 .click-number.show_ball {
  -webkit-transform: translate(-50%, 0%) rotate(-360deg);
  -ms-transform: translate(-50%, 0%) rotate(-360deg);
      transform: translate(-50%, 0%) rotate(-360deg); }

.wp-block-image a:hover, .wp-block-image a:focus {
  text-decoration: none !important; }

.alignleft {
  margin-right: 1rem;
  margin-bottom: 1rem;
  float: left; }

.alignright {
  margin-left: 1rem;
  margin-bottom: 1rem;
  float: right; }

a,
button,
.button {
  cursor: pointer; }
  [data-whatinput='mouse'] a,
  [data-whatinput='touch'] a, [data-whatinput='mouse']
  button,
  [data-whatinput='touch']
  button, [data-whatinput='mouse']
  .button,
  [data-whatinput='touch']
  .button {
    outline: 0; }

.button:not(.main-nav-mobile-activator):not(.hollow) {
  position: relative;
  font-weight: 700; }
  @media print, screen and (max-width: 39.99875em) {
    .button:not(.main-nav-mobile-activator):not(.hollow) {
      font-size: 0.875rem; } }
  @media print, screen and (min-width: 64em) {
    .button:not(.main-nav-mobile-activator):not(.hollow) {
      font-size: 1.125rem; } }

.button.hollow.black {
  position: relative;
  font-weight: 700;
  background: transparent;
  color: #393939;
  border-color: currentColor; }

.button.hollow.white {
  position: relative;
  font-weight: 700;
  background: transparent;
  color: #fefefe;
  border-color: currentColor; }

.pos-r {
  position: relative; }

a {
  -webkit-transition: 0.25s color;
  transition: 0.25s color; }

.screen-reader-shortcut {
  position: absolute;
  top: -1000em; }
  .screen-reader-shortcut:focus {
    -webkit-box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
            box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    left: 6px;
    top: 7px;
    height: auto;
    width: auto;
    display: block;
    font-size: 14px;
    font-weight: 700;
    padding: 15px 23px 14px;
    background: #f1f1f1;
    color: #ee0018;
    z-index: 100000;
    line-height: normal;
    text-decoration: none; }

.screen-reader-text, .dev-share-buttons__text,
.dev-share-buttons-link__text {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute !important;
  width: 1px; }

.cover {
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover; }

.grid-center-x {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

.d-f {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

.grid-center-y {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }

.dropdown.menu > li.is-dropdown-submenu-parent > a::after {
  border: 0;
  height: auto;
  width: auto;
  margin: 0;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%); }

.submenu-toggle::after {
  border: 0;
  height: auto; }

.w100 {
  width: 100%; }

.dropdown-pane {
  color: #fefefe; }

@media print, screen and (min-width: 40em) {
  .medium-order-1 {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; } }

@media print, screen and (min-width: 40em) {
  .medium-order-2 {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; } }

@media print, screen and (min-width: 64em) {
  .large-order-1 {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; } }

@media print, screen and (min-width: 64em) {
  .large-order-2 {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; } }

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

@media print, screen and (max-width: 63.99875em) {
  .hide-for-medium-down {
    display: none; } }

.section-title {
  padding-left: 35px;
  background: url("../img/master-content-coin.svg") no-repeat 0 1px;
  margin-bottom: 1rem; }
  @media print, screen and (min-width: 40em) {
    .section-title {
      margin-bottom: 1.25rem; } }

.breadcrumbs {
  padding: 0.9375rem 0;
  color: rgba(10, 10, 10, 0.4);
  background: #ddcaaf;
  font-size: 0.75rem;
  text-transform: uppercase;
  color: #535353;
  letter-spacing: 1.35px;
  border-bottom: 1px solid #baa68c; }
  .breadcrumbs a {
    color: inherit; }
    .breadcrumbs a:hover, .breadcrumbs a:focus {
      color: #ee0018; }
  .breadcrumbs__separator {
    margin: 0; }

.button {
  font-weight: 700;
  background: linear-gradient(225deg, #C41517 0%, #F2393B 100%);
  -webkit-box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.3);
          box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.3); }
  @media print, screen and (min-width: 40em) {
    .button {
      min-width: 13.125rem; } }
  .button:hover, .button:focus {
    background: linear-gradient(225deg, #E43537 0%, #F2494B 100%); }
  .button--radius {
    border-radius: 9999px; }

.error-404 {
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
  background: #242424;
  color: #fefefe;
  text-align: center;
  padding: 2.5rem 0; }
  @media print, screen and (min-width: 40em) {
    .error-404 {
      padding: 3.75rem 0; } }
  @media print, screen and (min-width: 64em) {
    .error-404 {
      padding: 5rem 0; } }
  @media print, screen and (min-width: 40em) {
    .error-404__title {
      margin-bottom: 1.5625rem; } }
  .error-404__text {
    margin-bottom: 1.875rem; }
    @media print, screen and (min-width: 40em) {
      .error-404__text {
        font-size: 1.25rem;
        margin-bottom: 3.5rem; } }

.footer-widget {
  margin-bottom: 1.25rem; }
  .footer-widget__title {
    color: #fefefe;
    font-weight: 700;
    font-size: 0.75rem;
    margin-bottom: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .footer-widget__title {
        margin-bottom: 1.25rem;
        font-size: 1rem; } }
  .footer-widget.widget_nav_menu li {
    width: 100%; }
  .footer-widget.widget_nav_menu a {
    padding: 0.375rem 0;
    margin-bottom: 0.125rem; }
    @media print, screen and (min-width: 40em) {
      .footer-widget.widget_nav_menu a {
        padding: 0.3125rem 0;
        margin-bottom: 0.1875rem; } }
    @media print, screen and (min-width: 64em) {
      .footer-widget.widget_nav_menu a {
        font-size: 1.125rem;
        padding: 0.25rem 0;
        margin-bottom: 0.125rem; } }
  .footer-widget.widget_text .textwidget p:first-child {
    margin-top: -0.125rem; }
  @media print, screen and (max-width: 39.99875em) {
    .footer-widget .menu {
      font-size: 0.875rem; } }

.footer {
  color: #fefefe;
  background: #363636;
  padding: 3.125rem 0;
  font-size: 0.875rem;
  position: relative;
  z-index: 100; }
  .footer--landing {
    color: #DACBB2;
    background: #42382A; }
  @media print, screen and (min-width: 64em) {
    .footer {
      padding: 5rem 0; } }
  .footer a:not(.button):not(.footer-social__link) {
    color: #fefefe;
    border-bottom: 1px solid transparent;
    -webkit-transition: 0.25s border;
    transition: 0.25s border;
    display: inline-block; }
    .footer a:not(.button):not(.footer-social__link):hover, .footer a:not(.button):not(.footer-social__link):focus {
      color: #fefefe;
      border-bottom: 1px solid #c37f2b; }
  .footer__bottom {
    padding: 1.25rem 0 0; }
    @media print, screen and (max-width: 39.99875em) {
      .footer__bottom {
        font-size: 0.75rem; } }
  .footer__18-cell {
    background: url("../img/18@2x.png") no-repeat;
    background-size: 44px 44px;
    min-height: 44px;
    padding-left: 60px;
    background-position: 0 0; }
  @media print, screen and (max-width: 39.99875em) {
    .footer__copyright {
      font-size: 0.75rem; } }

.footer-pros {
  color: #fefefe;
  width: 100%; }
  @media print, screen and (min-width: 40em) {
    .footer-pros {
      font-size: 1.125rem; } }
  .footer-pros__title {
    display: inline-block;
    margin-right: 1.5rem; }
    @media print, screen and (max-width: 39.99875em) {
      .footer-pros__title {
        display: block;
        text-align: center; } }
  .footer-pros__list {
    list-style-type: none;
    margin: 0;
    display: inline-block; }
    @media print, screen and (max-width: 39.99875em) {
      .footer-pros__list {
        display: block;
        text-align: center; } }
  .footer-pros__item {
    display: inline-block;
    margin-right: 1.5rem;
    margin-bottom: 0.625rem;
    font-weight: 700; }
    @media print, screen and (max-width: 39.99875em) {
      .footer-pros__item {
        display: block;
        margin-bottom: 1rem; } }
  .footer-pros__icon {
    margin-right: 0.25rem;
    vertical-align: middle; }
  .footer-pros__label {
    vertical-align: middle; }

.header {
  position: fixed;
  z-index: 10101;
  width: 100%;
  background: #363636;
  -webkit-transition: 0.25s all;
  transition: 0.25s all;
  border-bottom: 1px solid #3f3f3f; }
  .header--top {
    background: transparent;
    border-bottom: 1px solid transparent; }
  .header--sticky {
    position: fixed;
    top: 0; }
    @media screen and (min-width: 601px) {
      .admin-bar .header--sticky {
        top: 46px; } }
    @media screen and (min-width: 783px) {
      .admin-bar .header--sticky {
        top: 32px; } }
  .header--disable-shrinking {
    position: -webkit-sticky;
    position: sticky;
    top: 0; }
  .header__buttons-cell {
    display: none; }
    @media print, screen and (min-width: 64em) {
      .header__buttons-cell {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center; } }

.header-main {
  padding: 0.625rem 0;
  position: relative;
  z-index: 9999;
  -webkit-transition: 0.25s padding 0.25s;
  transition: 0.25s padding 0.25s; }
  @media print, screen and (min-width: 40em) {
    .header-main {
      padding: 1.5625rem 0; } }
  @media print, screen and (min-width: 64em) {
    .header-main {
      padding: 2.1875rem 0; } }
  @media screen and (min-width: 87.5em) {
    .header-main {
      padding-left: 2.1875rem;
      padding-right: 2.1875rem; } }
  .header--sticky .header-main {
    padding-top: 0.3125rem;
    padding-bottom: 0.3125rem; }
    @media print, screen and (min-width: 40em) {
      .header--sticky .header-main {
        padding-top: 0.5rem;
        padding-bottom: 0.5rem; } }
  .header-main__logo-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
  .header-main__logo {
    display: block;
    margin-right: 0;
    width: 11.8125rem;
    height: 3.875rem;
    -webkit-transition: .25s all .25s;
    transition: .25s all .25s; }
    @media screen and (min-width: 73.75em) {
      .header-main__logo {
        width: 13.875rem;
        height: 4.5625rem; } }
    .header--sticky .header-main__logo {
      width: 11.8125rem;
      height: 3.875rem; }
    @media print, screen and (max-width: 63.99875em) {
      .header-main__logo {
        width: 11.8125rem;
        height: 3.875rem; }
        .header--sticky .header-main__logo {
          width: 9.125rem;
          height: 3rem; } }
    @media screen and (max-width: 400px) {
      .header-main__logo {
        width: 9.125rem;
        height: 3rem;
        margin-right: 5px; }
        .header--sticky .header-main__logo {
          width: 8rem;
          height: 2.625rem; } }
  .header-main__content {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
    @media print, screen and (min-width: 64em) {
      .header-main__content {
        -webkit-box-pack: center;
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center; } }

.list-view-item {
  padding-bottom: 1.25rem; }
  .list-view-item + .list-view-item {
    border-top: 1px solid #ececec;
    padding-top: 2.5rem; }
  .list-view-item__title {
    font-size: 1.625rem;
    margin-bottom: 1rem; }
    @media print, screen and (max-width: 63.99875em) {
      .list-view-item__title {
        font-size: 1.25rem; } }
  .list-view-item__date {
    color: #727272;
    margin-bottom: 1rem;
    display: block; }
  .list-view-item__image-link {
    display: block;
    -webkit-transition: 0.25s opacity;
    transition: 0.25s opacity; }
    .list-view-item__image-link:hover, .list-view-item__image-link:focus {
      opacity: .85; }
  .list-view-item__link {
    color: inherit; }
  .list-view-item__image-wrapper {
    display: block;
    position: relative;
    margin-bottom: 1.25rem; }
  .list-view-item__image {
    width: 100%;
    height: auto;
    display: block;
    will-change: opacity;
    -webkit-transition: 0.25s opacity;
    transition: 0.25s opacity; }
  .list-view-item__image-placeholder {
    display: block;
    background: #D8D8D8;
    height: 0;
    padding-bottom: 73.0679156909%;
    will-change: opacity;
    -webkit-transition: 0.25s opacity;
    transition: 0.25s opacity; }
    .list-view-item__image-placeholder--min-width {
      min-width: 13.75rem; }

.main-nav-desktop {
  display: none; }
  @media print, screen and (min-width: 64em) {
    .main-nav-desktop {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center; }
      .main-nav-desktop__list {
        font-size: 1rem; }
      .main-nav-desktop ul {
        list-style-type: none;
        margin: 0; }
      .main-nav-desktop li {
        float: left; }
      .main-nav-desktop > .menu > li > a {
        color: #fefefe;
        padding: 0.25rem 0;
        margin: 0.5rem 0.75rem;
        font-weight: 700;
        border-bottom: 1px solid transparent;
        -webkit-transition: 0.25s border;
        transition: 0.25s border; } }
    @media screen and (min-width: 64em) and (min-width: 71.25em) {
      .main-nav-desktop > .menu > li > a {
        padding: 0.375rem 0;
        margin: 0.625rem 1rem; } }
  @media print, screen and (min-width: 64em) {
        .main-nav-desktop > .menu > li > a:hover, .main-nav-desktop > .menu > li > a:focus {
          color: #fefefe;
          border-bottom: 1px solid #c37f2b; }
      .main-nav-desktop > .menu > li:last-child:not(.menu-item-has-children) > a {
        padding-right: 0; }
      .main-nav-desktop > .menu > li.is-active > a, .main-nav-desktop > .menu > li.current-menu-item > a, .main-nav-desktop > .menu > li.current-menu-ancestor > a {
        color: #fefefe; } }
  .main-nav-desktop .dropdown.menu:not(.vertical) .is-dropdown-submenu {
    min-width: 310px; }

.main-nav-desktop .dropdown.menu > li.is-dropdown-submenu-parent {
  padding-right: 1rem; }
  .main-nav-desktop .dropdown.menu > li.is-dropdown-submenu-parent > a::after {
    border-color: currentColor transparent transparent; }

.dropdown.menu:not(.vertical) .is-dropdown-submenu {
  padding: 0.3125rem 1.0625rem;
  text-align: center;
  background: #333;
  border: 0;
  min-width: 380px;
  font-size: 1rem; }
  .dropdown.menu:not(.vertical) .is-dropdown-submenu.js-dropdown-active {
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    left: 50%; }
    .dropdown.menu:not(.vertical) .is-dropdown-submenu.js-dropdown-active::before {
      content: "";
      display: inline-block;
      position: absolute;
      top: -12px;
      left: 50%;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 6px;
      border-color: transparent transparent #333 transparent;
      -webkit-transform: translateX(-50%);
          -ms-transform: translateX(-50%);
              transform: translateX(-50%); }
  .dropdown.menu:not(.vertical) .is-dropdown-submenu a {
    color: #fefefe; }
    .dropdown.menu:not(.vertical) .is-dropdown-submenu a:hover, .dropdown.menu:not(.vertical) .is-dropdown-submenu a:focus {
      color: #c37f2b; }
  .dropdown.menu:not(.vertical) .is-dropdown-submenu li + li a {
    border-top: 1px solid #5c5c5c; }
  .dropdown.menu:not(.vertical) .is-dropdown-submenu li.current-menu-item > a, .dropdown.menu:not(.vertical) .is-dropdown-submenu li.current_page_ancestor > a {
    color: #fefefe; }

.main-nav-mobile-activator {
  cursor: pointer;
  margin-bottom: 0;
  padding: 0.5625rem;
  min-width: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  background: transparent;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-shadow: none;
          box-shadow: none; }
  [data-whatinput='mouse'] .main-nav-mobile-activator {
    outline: 0; }
  .main-nav-mobile-activator:hover, .main-nav-mobile-activator:focus, .main-nav-mobile-activator.active {
    background: transparent; }
  [data-whatinput='mouse'] .main-nav-mobile-activator:not(.active):focus {
    background: transparent; }
    [data-whatinput='mouse'] .main-nav-mobile-activator:not(.active):focus:hover {
      background: transparent; }
  .main-nav-mobile-activator__icon {
    display: inline-block;
    position: relative;
    margin-top: 6px;
    margin-bottom: 6px;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none; }
    .main-nav-mobile-activator__icon, .main-nav-mobile-activator__icon::before, .main-nav-mobile-activator__icon::after {
      display: block;
      width: 20px;
      height: 2px;
      background-color: #fefefe;
      -webkit-transition-property: background-color, -webkit-transform;
      transition-property: background-color, -webkit-transform;
      transition-property: background-color, transform;
      transition-property: background-color, transform, -webkit-transform;
      -webkit-transition-duration: 0.3s;
              transition-duration: 0.3s; }
    .main-nav-mobile-activator__icon::before, .main-nav-mobile-activator__icon::after {
      position: absolute;
      content: ""; }
    .main-nav-mobile-activator__icon::before {
      top: -6px; }
    .main-nav-mobile-activator__icon::after {
      top: 6px; }
    .main-nav-mobile-activator.active .main-nav-mobile-activator__icon {
      background-color: transparent; }
    .main-nav-mobile-activator.active .main-nav-mobile-activator__icon::before {
      -webkit-transform: translateY(6px) rotate(45deg);
          -ms-transform: translateY(6px) rotate(45deg);
              transform: translateY(6px) rotate(45deg); }
    .main-nav-mobile-activator.active .main-nav-mobile-activator__icon::after {
      -webkit-transform: translateY(-6px) rotate(-45deg);
          -ms-transform: translateY(-6px) rotate(-45deg);
              transform: translateY(-6px) rotate(-45deg); }
  @media print, screen and (min-width: 64em) {
    .main-nav-mobile-activator {
      display: none; } }
  .main-nav-mobile-activator__label {
    margin-right: 10px; }

.main-nav-mobile {
  background: #eee;
  display: none;
  padding: 0.625rem 0;
  position: absolute;
  width: 100%;
  z-index: 999;
  top: 100%;
  overflow-y: auto; }
  .main-nav-mobile__link {
    display: inline-block !important;
    margin: 0 1rem;
    padding: 0.6875rem 0 0.25rem;
    color: #0a0a0a;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 1.575px;
    font-size: 0.875rem;
    border-bottom: 1px solid transparent;
    -webkit-transition: 0.25s border;
    transition: 0.25s border; }
    .main-nav-mobile__link:hover, .main-nav-mobile__link:focus {
      color: #0a0a0a;
      border-bottom: 1px solid #c37f2b; }
  .main-nav-mobile__list + .main-nav-mobile__list {
    border-top: 1px solid #ddd;
    margin-top: 0.625rem; }
  .main-nav-mobile .submenu {
    background: rgba(10, 10, 10, 0.1);
    margin-left: 0; }
  .main-nav-mobile .submenu-toggle {
    background: transparent;
    height: 2.375rem; }
    .main-nav-mobile .submenu-toggle:after {
      border-color: #0a0a0a transparent transparent; }
    [data-whatinput="keyboard"] .main-nav-mobile .submenu-toggle:focus {
      background: transparent; }
      [data-whatinput="keyboard"] .main-nav-mobile .submenu-toggle:focus:after {
        border-color: #ee0018 transparent transparent; }
    .main-nav-mobile .submenu-toggle:hover {
      background: transparent; }
      .main-nav-mobile .submenu-toggle:hover:after {
        border-color: #ee0018 transparent transparent; }
  .main-nav-mobile.scale-in-up.mui-enter {
    -webkit-transition-duration: 500ms;
            transition-duration: 500ms;
    -webkit-transition-timing-function: linear;
            transition-timing-function: linear;
    -webkit-transition-duration: 0.1s;
            transition-duration: 0.1s;
    -webkit-transform: scale(0.9);
        -ms-transform: scale(0.9);
            transform: scale(0.9);
    -webkit-transition-property: opacity, -webkit-transform;
    transition-property: opacity, -webkit-transform;
    transition-property: transform, opacity;
    transition-property: transform, opacity, -webkit-transform;
    opacity: 0; }
  .main-nav-mobile.scale-in-up.mui-enter.mui-enter-active {
    -webkit-transform: scale(1);
        -ms-transform: scale(1);
            transform: scale(1);
    opacity: 1; }
  .main-nav-mobile.scale-out-down.mui-leave {
    -webkit-transition-duration: 500ms;
            transition-duration: 500ms;
    -webkit-transition-timing-function: linear;
            transition-timing-function: linear;
    -webkit-transition-duration: 0.1s;
            transition-duration: 0.1s;
    -webkit-transform: scale(1);
        -ms-transform: scale(1);
            transform: scale(1);
    -webkit-transition-property: opacity, -webkit-transform;
    transition-property: opacity, -webkit-transform;
    transition-property: transform, opacity;
    transition-property: transform, opacity, -webkit-transform;
    opacity: 1; }
  .main-nav-mobile.scale-out-down.mui-leave.mui-leave-active {
    -webkit-transform: scale(0.9);
        -ms-transform: scale(0.9);
            transform: scale(0.9);
    opacity: 0; }
  @media print, screen and (min-width: 64em) {
    .main-nav-mobile {
      display: none !important; } }
  .main-nav-mobile__overlay {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.8);
    z-index: 9999; }
    @media print, screen and (min-width: 64em) {
      .main-nav-mobile__overlay {
        display: none; } }

.master-content {
  padding: 2.5rem 0 0.625rem;
  background: #f6f6f6;
  position: relative;
  z-index: 10; }
  .page-template-template-landing-page-listing .master-content {
    background: #ddcaaf; }
  .master-content__column {
    margin-bottom: 1.875rem; }

.pagination {
  list-style-type: none;
  margin: 1.25rem -0.1875rem 0; }
  .pagination--with-separator {
    border-top: 1px solid #ececec;
    padding-top: 2.4375rem;
    padding-bottom: 1.1875rem; }
    @media print, screen and (min-width: 40em) {
      .pagination--with-separator {
        padding-top: 3.0625rem;
        padding-bottom: 3.0625rem; } }
  @media print, screen and (max-width: 39.99875em) {
    .pagination {
      text-align: center; } }
  .pagination__item {
    display: inline-block;
    margin: 0 0.1875rem 0.375rem; }
  .pagination__link {
    background: #fefefe;
    border-radius: 0.125rem;
    border: 1px solid #C4C4C4;
    color: #0a0a0a;
    display: inline-block;
    font-size: 1rem;
    line-height: 1;
    min-width: 2.5rem;
    padding: 0.6875rem 0.25rem;
    text-align: center;
    text-transform: uppercase;
    -webkit-transition: 0.25s all;
    transition: 0.25s all; }
    @media print, screen and (min-width: 64em) {
      .pagination__link {
        min-width: 3rem;
        padding: 0.9375rem 0.25rem; } }
    .pagination__link:hover, .pagination__link:focus {
      background: #4F4F4F;
      border-color: #4F4F4F;
      color: #fefefe; }
    .pagination__link--current {
      background: #4F4F4F;
      border-color: #4F4F4F;
      color: #fefefe;
      cursor: default; }

.post-content__meta {
  margin-bottom: 1.25rem;
  margin-top: 1.1875rem; }
  @media print, screen and (min-width: 40em) {
    .post-content__meta {
      margin-bottom: 2.8125rem;
      margin-top: 1.1875rem; } }

.post-content__title {
  margin-top: -.25em;
  margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .post-content__title--smaller {
      font-size: 2rem; } }

.post-content__header {
  padding-bottom: 1.1875rem; }
  @media print, screen and (min-width: 40em) {
    .post-content__header {
      padding-bottom: 1.6875rem; } }
  @media print, screen and (min-width: 64em) {
    .post-content__header {
      padding-bottom: 2.3125rem; } }
  .post-content__header--mixed-with-body {
    padding-bottom: 1.1875rem; }
    @media print, screen and (min-width: 40em) {
      .post-content__header--mixed-with-body {
        padding-bottom: 1.5625rem; } }
  .post-content__header--has-line {
    border-bottom: 1px solid #DFDFDF;
    margin-bottom: 1.1875rem; }
    @media print, screen and (min-width: 40em) {
      .post-content__header--has-line {
        margin-bottom: 1.6875rem; } }
    @media print, screen and (min-width: 64em) {
      .post-content__header--has-line {
        margin-bottom: 2.3125rem; } }

.post-content__description {
  margin-top: 1.1875rem; }
  @media print, screen and (min-width: 40em) {
    .post-content__description {
      margin-top: 1.6875rem; } }
  .post-content__description p {
    margin-top: -0.25rem; }
    .post-content__description p:last-of-type {
      margin-bottom: 0; }

.post-content__featured-image-wrapper {
  margin-bottom: 1.5625rem;
  display: block; }
  @media print, screen and (min-width: 40em) {
    .post-content__featured-image-wrapper {
      margin-bottom: 2.5rem; } }
  @media print, screen and (min-width: 64em) {
    .post-content__featured-image-wrapper {
      margin-bottom: 3.75rem; } }
  @media print, screen and (min-width: 64em) {
    .post-content__featured-image-wrapper--out-of-grid {
      width: calc(100% + 3.75rem);
      margin-left: -1.875rem;
      margin-right: -1.875rem; } }
  .post-content__featured-image-wrapper--mt {
    margin-top: 1.875rem; }

.post-content__intro {
  font-size: 1.1875rem; }
  @media print, screen and (min-width: 40em) {
    .post-content__intro {
      font-size: 1.375rem; } }
  @media print, screen and (min-width: 64em) {
    .post-content__intro {
      font-size: 1.5rem; } }

.post-content__body {
  margin-bottom: 2.5rem; }
  .post-content__body--limit-width {
    max-width: 50.9375rem; }
  @media print, screen and (min-width: 40em) {
    .post-content__body--larger-font {
      font-size: 1.125rem; }
      .post-content__body--larger-font p {
        margin-bottom: 1.5rem; } }
  @media print, screen and (min-width: 64em) {
    .post-content__body p {
      margin-bottom: 1.25rem; } }

.search-form {
  max-width: 20.625rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  .main-nav-mobile .search-form {
    max-width: none;
    padding: 0 1rem;
    margin-top: 0.625rem; }
  .search-form__input-wrapper {
    display: block;
    width: calc(100% - 2.8125rem); }
  .search-form__input {
    height: 2.5rem;
    padding: 0.75rem 0.625rem;
    width: 100%;
    margin: 0;
    border-right: 0;
    border-radius: 2px 0 0 2px; }
    .search-form__input::-webkit-input-placeholder {
      color: #cacaca; }
    .search-form__input::-moz-placeholder {
      color: #cacaca; }
    .search-form__input:-ms-input-placeholder {
      color: #cacaca; }
    .search-form__input::-ms-input-placeholder {
      color: #cacaca; }
    .search-form__input::placeholder {
      color: #cacaca; }
    .search-form__input:focus {
      -webkit-box-shadow: none;
              box-shadow: none;
      border-right: 0;
      border-color: #ee0018; }
  .search-form__button {
    display: inline-block;
    vertical-align: middle;
    margin: 0 0 1rem 0;
    padding: 0.907em 1em;
    border: 1px solid transparent;
    border-radius: 9999px;
    -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
    transition: background-color 0.25s ease-out, color 0.25s ease-out;
    font-family: inherit;
    font-size: 1rem;
    -webkit-appearance: none;
    line-height: 1;
    text-align: center;
    cursor: pointer;
    background: #ee0018;
    padding: 0.625rem;
    -webkit-box-shadow: none;
            box-shadow: none;
    height: 2.5rem;
    width: 2.8125rem;
    margin: 0;
    border-radius: 0 2px 2px 0; }
    [data-whatinput='mouse'] .search-form__button {
      outline: 0; }
    .search-form__button, .search-form__button.disabled, .search-form__button[disabled], .search-form__button.disabled:hover, .search-form__button[disabled]:hover, .search-form__button.disabled:focus, .search-form__button[disabled]:focus {
      background-color: #ee0018;
      color: #fefefe; }
    .search-form__button:hover, .search-form__button:focus {
      background-color: #ff0720;
      color: #fefefe; }
    .search-form__button:hover, .search-form__button:focus {
      background-color: #ff0720; }
  .search-form__icon {
    max-width: 22px;
    height: auto; }
    .search-form__icon circle {
      stroke: #fefefe; }
    .search-form__icon path {
      fill: #fefefe; }

.search-widget {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  .search-widget__activator {
    display: none; }
    @media print, screen and (min-width: 64em) {
      .search-widget__activator {
        padding-left: 2rem;
        cursor: pointer;
        display: block; }
        .search-widget__activator:hover .search-widget__icon circle, .search-widget__activator:focus .search-widget__icon circle {
          stroke: #c37f2b; }
        .search-widget__activator:hover .search-widget__icon path, .search-widget__activator:focus .search-widget__icon path {
          fill: #c37f2b; } }
  .search-widget__icon * {
    -webkit-transition: 0.25s all;
    transition: 0.25s all; }
  .search-widget__dropdown {
    position: absolute;
    z-index: 10;
    display: none;
    width: 250px;
    padding: 0;
    visibility: hidden;
    border: 1px solid #2D2D2D;
    border-radius: 2px;
    background-color: #2D2D2D;
    font-size: 1rem;
    border: 0; }
    .search-widget__dropdown.is-opening {
      display: block; }
    .search-widget__dropdown.is-open {
      display: block;
      visibility: visible; }

.sidebar-widget + .sidebar-widget {
  margin-top: 1.875rem; }

.sidebar-widget__title {
  font-size: 1.375rem; }

.sidebar-widget.widget_nav_menu {
  background: #fdfdfd;
  border: 1px solid #e0e0e0;
  -webkit-box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  padding: 1.25rem 1.5625rem 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .sidebar-widget.widget_nav_menu {
      padding: 1.875rem 2.5rem 1.25rem; } }
  @media print, screen and (max-width: 39.99875em) {
    .sidebar-widget.widget_nav_menu {
      font-size: 0.875rem; } }
  .sidebar-widget.widget_nav_menu .sidebar-widget__title {
    color: #535353;
    font-weight: 700;
    font-size: 1rem;
    margin-bottom: 0.4375rem; }
  .sidebar-widget.widget_nav_menu .menu:not(#menu-social) {
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: 0;
    list-style-type: none; }
    .sidebar-widget.widget_nav_menu .menu:not(#menu-social) li.current-cat a,
    .sidebar-widget.widget_nav_menu .menu:not(#menu-social) li.current-menu-item a {
      color: #0a0a0a;
      background: url("../img/side-nav-coin.svg") no-repeat 100% 50%;
      background-position: left !important;
      padding-left: 2rem !important;
      width: 18rem; }
    .sidebar-widget.widget_nav_menu .menu:not(#menu-social) li + li {
      border-top: 1px solid #E1E5EA; }
    .sidebar-widget.widget_nav_menu .menu:not(#menu-social) li.menu-more {
      color: inherit;
      display: block;
      padding: 0.625rem 0;
      cursor: pointer; }
      .sidebar-widget.widget_nav_menu .menu:not(#menu-social) li.menu-more button {
        color: #ee0018;
        border-bottom: 1px solid currentColor;
        border-radius: 0;
        padding-bottom: 3px; }
    .sidebar-widget.widget_nav_menu .menu:not(#menu-social) a {
      color: inherit;
      display: block;
      padding: 0.625rem 0;
      line-height: inherit; }
      .sidebar-widget.widget_nav_menu .menu:not(#menu-social) a:hover, .sidebar-widget.widget_nav_menu .menu:not(#menu-social) a:focus {
        color: #c37f2b; }

.sidebar-widget.widget_text {
  background: #fdfdfd;
  border: 1px solid #e0e0e0;
  -webkit-box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  padding: 1.25rem 1.5625rem 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .sidebar-widget.widget_text {
      padding: 1.875rem 2.5rem 1.25rem; } }

.sidebar-widget.widget_nav_menu .menu:not(#menu-social) a {
  padding-left: 2rem !important; }

.sidebar a[href*='facebook.com'],
.footer a[href*='facebook.com'], .sidebar a[href*='twitter.com'],
.footer a[href*='twitter.com'], .sidebar a[href*='linkedin.com'],
.footer a[href*='linkedin.com'], .sidebar a[href*='pinterest.com'],
.footer a[href*='pinterest.com'], .sidebar a[href*='youtube.com'],
.footer a[href*='youtube.com'], .sidebar a[href*='plus.google.com'],
.footer a[href*='plus.google.com'], .sidebar a[href*='stumbleupon.com'],
.footer a[href*='stumbleupon.com'], .sidebar a[href*='instagram.com'],
.footer a[href*='instagram.com'], .sidebar a[href*='reddit.com'],
.footer a[href*='reddit.com'] {
  display: inline-block;
  width: 40px;
  height: 40px;
  padding: 0;
  text-decoration: none !important;
  margin-bottom: 0.25rem; }
  .sidebar a[href*='facebook.com']::before,
  .footer a[href*='facebook.com']::before, .sidebar a[href*='twitter.com']::before,
  .footer a[href*='twitter.com']::before, .sidebar a[href*='linkedin.com']::before,
  .footer a[href*='linkedin.com']::before, .sidebar a[href*='pinterest.com']::before,
  .footer a[href*='pinterest.com']::before, .sidebar a[href*='youtube.com']::before,
  .footer a[href*='youtube.com']::before, .sidebar a[href*='plus.google.com']::before,
  .footer a[href*='plus.google.com']::before, .sidebar a[href*='stumbleupon.com']::before,
  .footer a[href*='stumbleupon.com']::before, .sidebar a[href*='instagram.com']::before,
  .footer a[href*='instagram.com']::before, .sidebar a[href*='reddit.com']::before,
  .footer a[href*='reddit.com']::before {
    margin: 0;
    width: 40px;
    height: 40px;
    color: #363636;
    line-height: 40px;
    border-radius: 9999px;
    font-size: 22px;
    -webkit-transition: 0.25s color linear;
    transition: 0.25s color linear;
    background: linear-gradient(230.59deg, #BB8830 0%, #E3B753 48.81%, #BB8830 91.91%); }
  .sidebar a[href*='facebook.com']:hover::before,
  .footer a[href*='facebook.com']:hover::before, .sidebar a[href*='twitter.com']:hover::before,
  .footer a[href*='twitter.com']:hover::before, .sidebar a[href*='linkedin.com']:hover::before,
  .footer a[href*='linkedin.com']:hover::before, .sidebar a[href*='pinterest.com']:hover::before,
  .footer a[href*='pinterest.com']:hover::before, .sidebar a[href*='youtube.com']:hover::before,
  .footer a[href*='youtube.com']:hover::before, .sidebar a[href*='plus.google.com']:hover::before,
  .footer a[href*='plus.google.com']:hover::before, .sidebar a[href*='stumbleupon.com']:hover::before,
  .footer a[href*='stumbleupon.com']:hover::before, .sidebar a[href*='instagram.com']:hover::before,
  .footer a[href*='instagram.com']:hover::before, .sidebar a[href*='reddit.com']:hover::before,
  .footer a[href*='reddit.com']:hover::before, .sidebar a[href*='facebook.com']:focus::before,
  .footer a[href*='facebook.com']:focus::before, .sidebar a[href*='twitter.com']:focus::before,
  .footer a[href*='twitter.com']:focus::before, .sidebar a[href*='linkedin.com']:focus::before,
  .footer a[href*='linkedin.com']:focus::before, .sidebar a[href*='pinterest.com']:focus::before,
  .footer a[href*='pinterest.com']:focus::before, .sidebar a[href*='youtube.com']:focus::before,
  .footer a[href*='youtube.com']:focus::before, .sidebar a[href*='plus.google.com']:focus::before,
  .footer a[href*='plus.google.com']:focus::before, .sidebar a[href*='stumbleupon.com']:focus::before,
  .footer a[href*='stumbleupon.com']:focus::before, .sidebar a[href*='instagram.com']:focus::before,
  .footer a[href*='instagram.com']:focus::before, .sidebar a[href*='reddit.com']:focus::before,
  .footer a[href*='reddit.com']:focus::before {
    color: #fefefe; }

.share-post {
  display: inline-block; }
  .sidebar .share-post {
    display: block; }
  .share-post__title {
    display: inline-block;
    color: inherit;
    text-transform: uppercase;
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 0;
    margin-right: 0.875rem; }
  .share-post .dev-share-buttons {
    display: inline-block; }
  .share-post a {
    color: inherit; }

.page-hero-v2 {
  position: relative;
  color: #fefefe; }
  .page-hero-v2__bg-image-container {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;
    background-color: #45536a; }
    @media print, screen and (min-width: 40em) {
      .page-hero-v2__bg-image-container {
        top: -80px;
        bottom: -80px; } }
    .page-hero-v2__bg-image-container--with-overlay::before {
      background-color: rgba(8, 8, 31, 0.45);
      background-position: 0 0;
      position: absolute;
      content: "";
      display: block;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: 2; }
    .page-hero-v2__bg-image-container--with-gradient::after {
      content: '';
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 21.875rem;
      background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0.0001)));
      background: linear-gradient(180deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
      mix-blend-mode: normal;
      z-index: 3; }
  .page-hero-v2__bg-image {
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: 50% 50%;
       object-position: 50% 50%;
    font-family: "object-fit: cover; object-position: 50% 50%";
    height: 100%;
    width: 100%; }
  .page-hero-v2__content-container {
    position: relative;
    z-index: 4; }
    .page-hero-v2__content-container--pb {
      padding-bottom: 3.125rem; }
      @media print, screen and (min-width: 40em) {
        .page-hero-v2__content-container--pb {
          padding-bottom: 4.375rem; } }
  .page-hero-v2__content {
    margin: 5.625rem 0 3.75rem; }
    @media print, screen and (min-width: 40em) {
      .page-hero-v2__content {
        margin: 7.5rem 0 5.625rem; } }
    @media print, screen and (min-width: 64em) {
      .page-hero-v2__content {
        margin: 10rem 0 6.875rem; } }
    .page-template-template-landing-page-listing .page-hero-v2__content {
      margin: 5.625rem 0 0.625rem; }
      @media print, screen and (min-width: 40em) {
        .page-template-template-landing-page-listing .page-hero-v2__content {
          margin: 6.875rem 0 0.625rem; } }
      @media print, screen and (min-width: 64em) {
        .page-template-template-landing-page-listing .page-hero-v2__content {
          margin: 8.75rem 0 0.625rem; } }
  .page-hero-v2__title {
    font-size: 1rem;
    background: rgba(10, 10, 10, 0.4);
    display: inline-block;
    margin: 0 -0.625rem;
    padding-left: 0.625rem;
    padding-right: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .page-hero-v2__title {
        font-size: 1.5rem; } }
    @media print, screen and (min-width: 64em) {
      .page-hero-v2__title {
        font-size: 2rem; } }
  .page-hero-v2__subtitle {
    color: inherit;
    font-size: 1.125rem;
    background: rgba(10, 10, 10, 0.4);
    display: inline-block;
    padding-left: 0.625rem;
    padding-right: 0.625rem;
    margin: 0 -0.625rem 1.25rem; }
    @media print, screen and (min-width: 40em) {
      .page-hero-v2__subtitle {
        font-size: 1.375rem; } }
  .page-hero-v2__text {
    margin: 0 -0.625rem;
    padding-left: 0.625rem;
    padding-right: 0.625rem;
    font-size: 0.875rem; }
    .page-hero-v2__text p {
      display: inline;
      background: rgba(10, 10, 10, 0.4); }
    @media print, screen and (min-width: 40em) {
      .page-hero-v2__text,
      .page-hero-v2__text p {
        font-size: 1rem; } }
    @media print, screen and (min-width: 64em) {
      .page-hero-v2__text,
      .page-hero-v2__text p {
        font-size: 1.125rem; } }
    .page-hero-v2__text p:last-of-type {
      margin-bottom: 0; }
    .page-hero-v2__title + .page-hero-v2__text {
      margin-top: 0.875rem; }
  .page-hero-v2__button {
    margin: 0; }
    .page-hero-v2__title + .page-hero-v2__button {
      margin-top: 1.5rem; }
      @media print, screen and (min-width: 64em) {
        .page-hero-v2__title + .page-hero-v2__button {
          margin-top: 2.125rem; } }
    .page-hero-v2__text + .page-hero-v2__button {
      margin-top: 1.5rem; }
      @media print, screen and (min-width: 64em) {
        .page-hero-v2__text + .page-hero-v2__button {
          margin-top: 2.125rem; } }
  .page-hero-v2__disclaimer-text {
    display: none;
    background: rgba(10, 10, 10, 0.4);
    padding: 0.9375rem; }
    .page-hero-v2__disclaimer-text p {
      margin-bottom: 0.375rem; }
    .page-hero-v2__disclaimer-text a {
      color: #fefefe;
      text-decoration: underline; }
      .page-hero-v2__disclaimer-text a:hover, .page-hero-v2__disclaimer-text a:focus {
        color: #fefefe;
        text-decoration: none; }
    .page-hero-v2__disclaimer-text > *:last-child {
      margin-bottom: 0; }
  .page-hero-v2__disclaimer-button {
    color: #fefefe;
    text-decoration: underline;
    padding: 0.625rem 0;
    display: block;
    margin-left: auto; }

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

@media print, screen and (min-width: 40em) {
  .footer-nav__list {
    margin-top: -0.3125rem; } }

.footer-nav__item + .footer-nav__item::before {
  display: inline-block;
  content: "|";
  color: #fefefe;
  padding: 0 0.3125rem;
  color: #858585; }

.footer-nav__link {
  padding: 0.3125rem 0;
  display: inline-block; }

.footer-social__list {
  margin-left: -4px;
  margin-right: -4px; }
  @media print, screen and (min-width: 64em) {
    .footer-social__list {
      -webkit-box-pack: end;
      -webkit-justify-content: flex-end;
          -ms-flex-pack: end;
              justify-content: flex-end; } }

.footer-social__item {
  margin-left: 4px;
  margin-right: 4px; }

.additional-menu__button {
  margin-left: 1.25rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  color: #fefefe; }
  @media print, screen and (min-width: 40em) {
    .additional-menu__button {
      margin-left: 1.875rem; } }
  @media print, screen and (min-width: 64em) {
    .additional-menu__button {
      margin-left: 2.5rem; } }
  .additional-menu__button:hover .additional-menu__icon *, .additional-menu__button:focus .additional-menu__icon * {
    fill: #c37f2b; }

.additional-menu .additional-menu__icon * {
  -webkit-transition: 0.25s fill;
  transition: 0.25s fill; }

@media print, screen and (min-width: 64em) {
  .additional-menu__item {
    text-align: right; } }

.additional-menu__item:first-child > a {
  padding-top: 1.25rem; }

@media print, screen and (min-width: 64em) {
  .additional-menu__item:last-child > a {
    margin-bottom: 0.625rem; } }

.additional-menu__link {
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 1.575px;
  font-size: 0.875rem;
  margin: 0 1rem;
  padding: 0.6875rem 0 0.25rem;
  color: #0a0a0a;
  border-bottom: 1px solid transparent;
  -webkit-transition: 0.25s border;
  transition: 0.25s border;
  display: inline-block !important; }
  @media print, screen and (min-width: 64em) {
    .additional-menu__link {
      padding: 0.4375rem 0;
      margin: 0 0.4375rem;
      color: #fefefe; } }
  .additional-menu__link:hover, .additional-menu__link:focus {
    color: #0a0a0a;
    border-bottom: 1px solid #c37f2b; }
    @media print, screen and (min-width: 64em) {
      .additional-menu__link:hover, .additional-menu__link:focus {
        color: #fefefe; } }

.listing__cell-number, .listing__cell-logo, .listing__cell-bonus, .listing__cell-review, .listing__cell-pros, .listing__cell-cta, .listing__cell-title, .listing__cell-text {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .listing__cell-number > div, .listing__cell-logo > div, .listing__cell-bonus > div, .listing__cell-review > div, .listing__cell-pros > div, .listing__cell-cta > div, .listing__cell-title > div, .listing__cell-text > div {
    width: 100%; }
  @media print, screen and (max-width: 39.99875em) {
    .listing__cell-number, .listing__cell-logo, .listing__cell-bonus, .listing__cell-review, .listing__cell-pros, .listing__cell-cta, .listing__cell-title, .listing__cell-text {
      width: 100%;
      padding: 0.3125rem 0.625rem; } }
  @media print, screen and (min-width: 40em) {
    .listing__cell-number, .listing__cell-logo, .listing__cell-bonus, .listing__cell-review, .listing__cell-pros, .listing__cell-cta, .listing__cell-title, .listing__cell-text {
      padding: 0.625rem; } }
  @media print, screen and (min-width: 64em) {
    .listing__cell-number, .listing__cell-logo, .listing__cell-bonus, .listing__cell-review, .listing__cell-pros, .listing__cell-cta, .listing__cell-title, .listing__cell-text {
      padding: 1.5625rem 1.875rem; } }

.listing--push-top {
  margin-top: -5rem; }
  @media print, screen and (min-width: 40em) {
    .listing--push-top {
      margin-top: -6.25rem; } }

.listing__item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  color: #2D2D2D;
  -webkit-box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1);
  border-radius: 1px;
  background: #fff; }
  @media print, screen and (max-width: 39.99875em) {
    .listing__item {
      padding: 0.625rem 0.3125rem 0.3125rem; } }
  .listing__item + .listing__item {
    margin-top: 0.625rem; }
  @media print, screen and (min-width: 40em) and (max-width: 63.99875em) {
    .listing__item {
      font-size: 0.875rem; } }
  @media print, screen and (max-width: 63.99875em) {
    .listing__item {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; } }

.listing :not(.listing__dropdown) > p {
  font-weight: 700;
  margin-bottom: 0; }

@media print, screen and (max-width: 39.99875em) {
  .listing__cell-number {
    display: none; } }

@media print, screen and (min-width: 40em) {
  .listing__cell-number {
    background: #fbfbfd;
    color: #34312B;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 0.25rem; } }

@media print, screen and (min-width: 40em) and (max-width: 63.99875em) {
  .listing__cell-number {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .listing__cell-number {
    width: 40px; } }

.listing__cell-logo {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  @media print, screen and (min-width: 40em) and (max-width: 63.99875em) {
    .listing__cell-logo {
      width: 100%;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center; } }
  @media print, screen and (min-width: 40em) {
    .listing__cell-logo {
      text-align: center; } }
  @media print, screen and (min-width: 64em) {
    .listing__cell-logo {
      border-right: 1px solid #ECEEF1;
      width: calc(20% - 8px); } }

@media print, screen and (max-width: 39.99875em) {
  .listing__cell-bonus p {
    display: inline-block;
    font-size: 0.875rem; } }

@media print, screen and (min-width: 40em) and (max-width: 63.99875em) {
  .listing__cell-bonus {
    width: 24%; } }

@media print, screen and (min-width: 64em) {
  .listing__cell-bonus {
    width: calc(17.5% - 8px); } }

@media print, screen and (max-width: 39.99875em) {
  .listing__cell-review p {
    display: inline-block; } }

@media print, screen and (min-width: 40em) and (max-width: 63.99875em) {
  .listing__cell-review {
    width: 18%; } }

@media print, screen and (min-width: 64em) {
  .listing__cell-review {
    width: calc(15.5% - 8px); } }

@media print, screen and (min-width: 40em) and (max-width: 63.99875em) {
  .listing__cell-pros {
    width: 30%; } }

@media print, screen and (min-width: 64em) {
  .listing__cell-pros {
    width: calc(23% - 8px); } }

.listing__cell-cta {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  @media print, screen and (min-width: 40em) and (max-width: 63.99875em) {
    .listing__cell-cta {
      width: 28%; } }
  @media print, screen and (min-width: 64em) {
    .listing__cell-cta {
      width: calc(24% - 8px); } }

.listing__cell-title {
  font-size: 1.5rem;
  font-weight: 700;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  @media print, screen and (min-width: 40em) and (max-width: 63.99875em) {
    .listing__cell-title {
      width: 42%; } }
  @media print, screen and (min-width: 64em) {
    .listing__cell-title {
      width: calc(35% - 8px); } }

.listing__cell-text {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  @media print, screen and (min-width: 40em) and (max-width: 63.99875em) {
    .listing__cell-text {
      width: 44%; } }
  @media print, screen and (min-width: 64em) {
    .listing__cell-text {
      width: calc(37% - 8px); } }
  .listing__cell-text > p {
    font-weight: normal !important; }

@media print, screen and (max-width: 39.99875em) {
  .listing__logo-link {
    display: block;
    width: 100%; } }

.listing__title {
  font-weight: 700;
  color: #393939;
  border-bottom: 1px solid transparent;
  -webkit-transition: 0.25s border;
  transition: 0.25s border; }
  a:hover .listing__title {
    border-bottom-color: #c37f2b; }
  @media print, screen and (min-width: 40em) {
    .listing__title {
      display: inline; }
      .listing__title + .listing__image {
        margin-top: 0.5rem;
        padding: 0; } }

.listing__image {
  display: block;
  max-height: 6.25rem;
  max-width: 12.5rem;
  width: auto;
  margin: 0 auto; }
  @media print, screen and (max-width: 39.99875em) {
    .listing__image {
      margin-left: 0;
      margin-top: 0.3125rem; } }
  @media print, screen and (min-width: 40em) {
    .listing__image {
      padding: 0 1.25rem; } }

.listing__bonus-text strong {
  font-size: 0.875rem;
  line-height: 1.1;
  color: #ee0018;
  display: inline-block;
  font-weight: bold;
  margin-top: 0.125rem;
  margin-bottom: 0.125rem; }
  @media print, screen and (min-width: 40em) {
    .listing__bonus-text strong {
      display: block;
      font-size: 1.125rem; } }
  @media print, screen and (min-width: 64em) {
    .listing__bonus-text strong {
      font-size: 1.5rem; } }

@media print, screen and (max-width: 39.99875em) {
  .listing__rate-numbers {
    display: none !important; } }

.listing__list {
  width: 100%; }
  @media print, screen and (max-width: 39.99875em) {
    .listing__list {
      margin: 0;
      font-size: 0.75rem;
      list-style-type: none; }
      .listing__list li {
        display: block;
        padding-left: 10px;
        position: relative; }
        .listing__list li::before {
          content: "";
          display: inline-block;
          width: 2px;
          height: 2px;
          border-radius: 9999px;
          background: #393939;
          vertical-align: middle;
          position: absolute;
          top: .7em;
          left: 2px; } }
  @media print, screen and (min-width: 40em) {
    .listing__list {
      line-height: 1.4;
      margin-bottom: 0; }
      .listing__list li + li {
        margin-top: 0.375rem; } }

.listing__bonus-container:focus-within .listing__dropdown {
  display: block; }

.listing__link {
  font-size: 12px;
  color: #727272;
  display: block;
  margin-top: 0.5rem;
  padding-bottom: 0.25rem; }
  .listing__link:hover, .listing__link:focus {
    text-decoration: none; }
    .listing__link:hover + .listing__dropdown, .listing__link:focus + .listing__dropdown {
      display: block; }
  @media print, screen and (max-width: 39.99875em) {
    .listing__link {
      display: inline-block;
      width: auto; } }

.listing__link-wrapper {
  display: block; }
  @media print, screen and (min-width: 40em) {
    .listing__link-wrapper {
      text-align: center; } }

.listing__button {
  margin: 0 0 0.375rem;
  width: 100%;
  display: block;
  min-width: 0; }
  @media print, screen and (max-width: 39.99875em) {
    .listing__button {
      width: auto;
      display: inline-block;
      margin-right: 0.625rem; } }

.listing__dropdown {
  display: none;
  padding: 1.25rem;
  background: #42382A;
  border: 1px solid #E7CD98;
  -webkit-box-shadow: 0px 1px 5px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 1px 5px rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  color: #fefefe;
  font-size: 0.75rem;
  width: 17.0625rem;
  position: absolute;
  z-index: 900; }
  .listing__dropdown p {
    margin-bottom: 1em; }
  .listing__dropdown:hover, .listing__dropdown:focus {
    display: block; }
  .listing__dropdown a:not(.button) {
    color: #fefefe;
    text-decoration: underline; }
    .listing__dropdown a:not(.button):hover, .listing__dropdown a:not(.button):focus {
      color: #fefefe;
      text-decoration: none; }
  .listing__dropdown .button:hover, .listing__dropdown .button:focus {
    background: rgba(254, 254, 254, 0.2); }

.listing__dropdown-title {
  font-size: 0.875rem;
  color: #fefefe;
  margin-bottom: 0.9375rem;
  font-weight: 700;
  line-height: 1.1; }

.listing__dropdown-button {
  font-size: 0.875rem; }

.listing .load-more {
  color: #ee0018;
  border-bottom: 1px solid currentColor;
  line-height: 4; }

.side-navigator {
  background: #fdfdfd;
  border: 1px solid #e0e0e0;
  -webkit-box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  padding: 1.25rem 1.5625rem 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .side-navigator {
      padding: 1.875rem 2.5rem 1.25rem; } }
  .side-navigator__heading {
    color: #535353;
    font-weight: 700;
    font-size: 1rem;
    margin-bottom: 0.4375rem; }
  .side-navigator__list {
    margin: 0;
    list-style-type: none; }
    .side-navigator__list li.current-cat a {
      color: #0a0a0a;
      background: url("../img/side-nav-coin.svg") no-repeat 100% 50%; }
    .side-navigator__list li + li {
      border-top: 1px solid #E1E5EA; }
    .side-navigator__list a {
      color: inherit;
      display: block;
      padding: 0.625rem 0;
      color: #727272; }
  .side-navigator__item + .side-navigator__item {
    border-top: 1px solid #E1E5EA; }
  .side-navigator__link {
    color: inherit;
    display: block;
    padding: 0.625rem 0; }
    .side-navigator__link:hover, .side-navigator__link:focus {
      color: #c37f2b; }
    .side-navigator__link.is-active {
      color: #0a0a0a;
      background: url("../img/side-nav-coin.svg") no-repeat 100% 50%; }

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

.content--heading-color h1,
.content--heading-color h2,
.content--heading-color h3,
.content--heading-color h4,
.content--heading-color h5,
.content--heading-color h6 {
  color: #2D2D2D; }

.content--coin > h2,
.content--coin > h3,
.content--coin > h4 {
  padding-left: 35px;
  background: url("../img/master-content-coin.svg") no-repeat 0 1px; }

@media print, screen and (min-width: 64em) {
  .content--large > p,
  .content--large > ul,
  .content--large > ol,
  .content--large > dl,
  .content--large .pros-cons,
  .content--large .wp-block-column > p,
  .content--large .wp-block-column > ul,
  .content--large .wp-block-column > ol,
  .content--large .wp-block-column > dl,
  .content--large .wp-block-column .pros-cons {
    font-size: 1.125rem; } }

.content--large > h2,
.content--large > h3,
.content--large > h4,
.content--large .wp-block-column > h2,
.content--large .wp-block-column > h3,
.content--large .wp-block-column > h4 {
  margin-top: 1.875rem;
  margin-bottom: 1rem; }
  @media print, screen and (min-width: 40em) {
    .content--large > h2,
    .content--large > h3,
    .content--large > h4,
    .content--large .wp-block-column > h2,
    .content--large .wp-block-column > h3,
    .content--large .wp-block-column > h4 {
      margin-top: 2.5rem;
      margin-bottom: 1.25rem; } }

.content--remove-last-margin > *:last-child {
  margin-bottom: 0; }

.content--underline-links a:not(.button):not(.accordion-title):not(.pagination__link):not(.featured-game__image-link):not(.list-view-item__image-link) {
  border-bottom: 1px solid transparent;
  display: inline;
  -webkit-transition: 0.25s border, 0.25s color;
  transition: 0.25s border, 0.25s color; }
  .content--underline-links a:not(.button):not(.accordion-title):not(.pagination__link):not(.featured-game__image-link):not(.list-view-item__image-link):hover, .content--underline-links a:not(.button):not(.accordion-title):not(.pagination__link):not(.featured-game__image-link):not(.list-view-item__image-link):focus {
    border-bottom-color: #c37f2b; }

.Contact--padded {
  padding-left: 2rem;
  padding-right: 2rem; }

.blog-listing__title {
  font-size: 1.125rem;
  color: #2D2D2D;
  -webkit-transition: 0.25s border;
  transition: 0.25s border;
  border-bottom: 1px solid transparent;
  display: inline; }
  @media print, screen and (min-width: 40em) {
    .blog-listing__title {
      font-size: 1.25rem; } }
  @media print, screen and (min-width: 64em) {
    .blog-listing__title {
      font-size: 1.5rem;
      border-width: 2px; } }

.blog-listing__date {
  font-size: 0.875rem;
  color: #393939;
  display: block;
  margin-top: 0.1875rem; }
  @media print, screen and (min-width: 40em) {
    .blog-listing__date {
      font-size: 1rem; } }
  @media print, screen and (min-width: 64em) {
    .blog-listing__date {
      font-size: 1.125rem;
      margin-top: 0.625rem; } }

a.blog-listing {
  border-bottom: 0 !important;
  padding-bottom: 0.875rem; }
  @media print, screen and (min-width: 40em) {
    a.blog-listing {
      padding-bottom: 1.25rem; } }
  @media print, screen and (min-width: 64em) {
    a.blog-listing {
      padding-bottom: 1.875rem; } }
  a.blog-listing:hover .blog-listing__title, a.blog-listing:focus .blog-listing__title {
    border-bottom-color: #c37f2b; }
  a.blog-listing + a.blog-listing {
    border-top: 1px solid #E1E5EA;
    padding-top: 0.875rem; }
    @media print, screen and (min-width: 40em) {
      a.blog-listing + a.blog-listing {
        padding-top: 1.25rem; } }
    @media print, screen and (min-width: 64em) {
      a.blog-listing + a.blog-listing {
        padding-top: 1.875rem; } }

.wp-block-table {
  background: #fdfdfd;
  border: 1px solid #e0e0e0;
  -webkit-box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  padding: 1.25rem 1.5625rem 0.625rem;
  margin: 1.875rem 0;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
  background: #FDFDFD;
  border: 1px solid #FFFFFF;
  box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.1);
  border-radius: 4px; }
  @media print, screen and (min-width: 40em) {
    .wp-block-table {
      padding: 1.875rem 2.5rem 1.25rem; } }
  @media print, screen and (min-width: 40em) {
    .wp-block-table {
      padding-top: 0.875rem;
      padding-bottom: 0.875rem; } }
  .wp-block-table table {
    margin: 0;
    line-height: 1.3; }
    @media print, screen and (max-width: 39.99875em) {
      .wp-block-table table {
        font-size: 0.875rem; } }
  .wp-block-table thead {
    font-size: 0.875rem;
    border-bottom: 1px solid #E1E5EA; }
  .wp-block-table tr + tr {
    border-top: 1px solid #E1E5EA; }
  .wp-block-table tr > td:first-child,
  .wp-block-table tr > th:first-child {
    padding-left: 0; }
  .wp-block-table tr > td:last-child,
  .wp-block-table tr > th:last-child {
    padding-right: 0; }

.filtering {
  text-transform: uppercase;
  font-size: 14px;
  letter-spacing: 1.575px;
  list-style-type: none;
  margin-left: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }
  @media print, screen and (max-width: 39.99875em) {
    .filtering {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; } }
  @media print, screen and (max-width: 39.99875em) {
    .filtering__item {
      width: 100%;
      margin-bottom: 0.625rem; } }
  @media print, screen and (min-width: 40em) {
    .filtering__item {
      margin-right: 2.5rem; } }
  .filtering__link {
    color: #393939;
    padding: 0.25rem 0;
    display: inline-block; }
    .filtering__link--active {
      font-weight: 700;
      color: #4B4B4B;
      border-bottom: 2px solid currentColor;
      margin-bottom: 0.125rem; }

.filters-games {
  text-transform: uppercase;
  font-size: 14px;
  letter-spacing: 1.575px;
  list-style-type: none;
  margin-left: 0; }
  .filters-games__item {
    display: inline-block;
    margin-bottom: 0.625rem; }
    @media print, screen and (max-width: 39.99875em) {
      .filters-games__item {
        width: 100%;
        margin-bottom: 0.625rem; } }
    @media print, screen and (min-width: 40em) {
      .filters-games__item {
        margin-right: 2.5rem; } }
    .filters-games__item.current-menu-item a {
      font-weight: 700;
      color: #4B4B4B;
      border-bottom: 2px solid currentColor;
      margin-bottom: 0.125rem; }
  .filters-games__link {
    color: #393939;
    padding: 0.25rem 0;
    display: inline-block; }
    .filters-games__link--active {
      font-weight: 700;
      color: #4B4B4B;
      border-bottom: 2px solid currentColor;
      margin-bottom: 0.125rem; }

.filters-casinos {
  text-transform: uppercase;
  font-size: 14px;
  letter-spacing: 1.575px;
  list-style-type: none;
  margin-left: 0; }
  .filters-casinos__item {
    display: inline-block;
    margin-bottom: 0.625rem; }
    @media print, screen and (max-width: 39.99875em) {
      .filters-casinos__item {
        width: 100%;
        margin-bottom: 0.625rem; } }
    @media print, screen and (min-width: 40em) {
      .filters-casinos__item {
        margin-right: 2.5rem; } }
    .filters-casinos__item.current-menu-item a {
      font-weight: 700;
      color: #4B4B4B;
      border-bottom: 2px solid currentColor;
      margin-bottom: 0.125rem; }
  .filters-casinos__link {
    color: #393939;
    padding: 0.25rem 0;
    display: inline-block; }
    .filters-casinos__link--active {
      font-weight: 700;
      color: #4B4B4B;
      border-bottom: 2px solid currentColor;
      margin-bottom: 0.125rem; }

.listing-rating__star-wrapper {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

.listing-rating__star {
  position: relative;
  width: 20px;
  height: 20px;
  background-image: url("../img/rate-inactive.svg");
  background-size: 20px 20px;
  margin-right: 4px; }

.listing-rating__active {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  z-index: 1;
  height: 20px;
  width: 100%;
  margin-right: 4px;
  background-image: url("../img/rate-active.svg"); }

.listing-rating__scores {
  margin-top: 5px; }

.filters-dropdown {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }
  .filters-dropdown__select {
    width: calc( 100% - 120px);
    margin-right: 20px;
    display: block;
    margin-bottom: 5px; }
  .filters-dropdown__button {
    width: 100px;
    margin-bottom: 5px; }

.browserupgrade {
  background: #cc4b37;
  color: #fefefe;
  padding: 0.4em 0;
  text-align: center; }
  .browserupgrade a {
    color: inherit;
    text-decoration: underline;
    font-weight: 700; }

main {
  display: block; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCJjb3JlL19maWxlLWNvbW1lbnRzLnNjc3MiLCJfc2V0dGluZ3Muc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm91bmRhdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3JldmVhbC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy92ZW5kb3Ivbm9ybWFsaXplLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWl4aW5zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3V0dGVycy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19ncmlkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3VuaXQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2VsbC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19tYXRoLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2xheW91dC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19wb3NpdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19mcmFtZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19iYXNlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2hlbHBlcnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYWxpZ25tZW50LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX3ByaW50LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fdGV4dC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fY2hlY2tib3guc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2xhYmVsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19oZWxwLXRleHQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2lucHV0LWdyb3VwLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19maWVsZHNldC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fc2VsZWN0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19lcnJvci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLW1lbnUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jbG9zZS1idXR0b24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24tbWVudS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zdGlja3kuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFibGUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fY29sb3Iuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2ZsZXguc2NzcyIsImhlbHBlcnMvX3dlYmZvbnRzLnNjc3MiLCJoZWxwZXJzL19taXhpbnMuc2NzcyIsImhlbHBlcnMvX2ZvbnRlbGxvLnNjc3MiLCJ2ZW5kb3IvYW9zL19jb3JlLnNjc3MiLCJ2ZW5kb3IvYW9zL19lYXNpbmcuc2NzcyIsInZlbmRvci9hb3MvX2FuaW1hdGlvbnMuc2NzcyIsInZlbmRvci9fd3BtbC5zY3NzIiwidmVuZG9yL2ZsYWctaWNvbi9fZmxhZy1pY29uLWJhc2Uuc2NzcyIsInZlbmRvci9fZ3Jhdml0eS1mb3Jtcy5zY3NzIiwidmVuZG9yL190YWJsZXNhdy5zY3NzIiwidmVuZG9yL193c3Auc2NzcyIsInZlbmRvci9fa2tzci5zY3NzIiwidmVuZG9yL19yb3VsZXR0ZS1pbi1udW1iZXJzLnNjc3MiLCJjb3JlL193b3JkcHJlc3Muc2NzcyIsImNvcmUvX3NoYXJlZC5zY3NzIiwiY29tcG9uZW50cy9fYnJlYWRjcnVtYnMuc2NzcyIsImNvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiY29tcG9uZW50cy9fZXJyb3ItNDA0LnNjc3MiLCJjb21wb25lbnRzL19mb290ZXItd2lkZ2V0LnNjc3MiLCJjb21wb25lbnRzL19mb290ZXIuc2NzcyIsImNvbXBvbmVudHMvX2Zvb3Rlci1wcm9zLnNjc3MiLCJjb21wb25lbnRzL19oZWFkZXIuc2NzcyIsImNvbXBvbmVudHMvX2hlYWRlci1tYWluLnNjc3MiLCJjb21wb25lbnRzL19saXN0LXZpZXctaXRlbS5zY3NzIiwiY29tcG9uZW50cy9fbWFpbi1uYXYtZGVza3RvcC5zY3NzIiwiY29tcG9uZW50cy9fbWFpbi1uYXYtbW9iaWxlLWFjdGl2YXRvci5zY3NzIiwidmVuZG9yL19idXJnZXIuc2NzcyIsImNvbXBvbmVudHMvX21haW4tbmF2LW1vYmlsZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdXRpbC9fdHJhbnNpdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvX2NsYXNzZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL19zZXR0aW5ncy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdXRpbC9fa2V5ZnJhbWUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL196b29tLnNjc3MiLCJjb21wb25lbnRzL19tYXN0ZXItY29udGVudC5zY3NzIiwiY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwiY29tcG9uZW50cy9fcG9zdC1jb250ZW50LnNjc3MiLCJjb21wb25lbnRzL19zZWFyY2gtZm9ybS5zY3NzIiwiY29tcG9uZW50cy9fc2VhcmNoLXdpZGdldC5zY3NzIiwiY29tcG9uZW50cy9fc2lkZWJhci13aWRnZXQuc2NzcyIsImNvbXBvbmVudHMvX3NvY2lhbC1pY29ucy5zY3NzIiwiY29tcG9uZW50cy9fcGFnZS1oZXJvLXYyLnNjc3MiLCJjb21wb25lbnRzL19mb290ZXItbmF2LnNjc3MiLCJjb21wb25lbnRzL19mb290ZXItc29jaWFsLnNjc3MiLCJjb21wb25lbnRzL19hZGRpdGlvbmFsLW1lbnUuc2NzcyIsImNvbXBvbmVudHMvX2xpc3Rpbmcuc2NzcyIsImNvbXBvbmVudHMvX3NpZGUtbmF2aWdhdG9yLnNjc3MiLCJjb21wb25lbnRzL19jb250ZW50LnNjc3MiLCJjb21wb25lbnRzL19ibG9nLWxpc3Rpbmcuc2NzcyIsImNvbXBvbmVudHMvX3dwLWJsb2NrLXRhYmxlLnNjc3MiLCJjb21wb25lbnRzL19maWx0ZXJpbmcuc2NzcyIsImNvbXBvbmVudHMvX2xpc3RpbmctcmF0aW5nLnNjc3MiLCJjb21wb25lbnRzL19maWx0ZXJzLWRyb3Bkb3duLnNjc3MiLCJjb3JlL19zaGFtZS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQ0FoQjs7Ozs7Ozs7Ozs7RURZRTtBRXNGRixvQkFBQTtBQTRIQSxvQkFBQTtBQzlOQTs7Ozs7RUhvQkU7QUk0Sk07RUNuSU47SUFDRSxXQUFXO0lBQ1gsVUFBVTtJQUNWLGNBQWMsRUFBQSxFQUNmOztBQ2hERCwyRUFBQTtBQVFBO0VBQ0UsaUJBQWlCO0VBQ2pCLDhCQUE4QixFQUFBOztBQVFoQztFQUNFLFNBQVMsRUFBQTs7QUFNWDtFQUNFLGNBQWM7RUFDZCxnQkFBZ0IsRUFBQTs7QUFTbEI7RUFDRSwrQkFBdUI7VUFBdkIsdUJBQXVCO0VBQ3ZCLFNBQVM7RUFDVCxpQkFBaUIsRUFBQTs7QUFNbkI7RUFDRSxpQ0FBaUM7RUFDakMsY0FBYyxFQUFBOztBQVFoQjtFQUNFLDZCQUE2QixFQUFBOztBQU0vQjtFQUNFLG1CQUFtQjtFQUNuQiwwQkFBMEI7RUFDMUIseUNBQWlDO1VBQWpDLGlDQUFpQyxFQUFBOztBQUtuQzs7RUFFRSxtQkFBbUIsRUFBQTs7QUFNckI7OztFQUdFLGlDQUFpQztFQUNqQyxjQUFjLEVBQUE7O0FBS2hCO0VBQ0UsY0FBYyxFQUFBOztBQU1oQjs7RUFFRSxjQUFjO0VBQ2QsY0FBYztFQUNkLGtCQUFrQjtFQUNsQix3QkFBd0IsRUFBQTs7QUFHMUI7RUFDRSxlQUFlLEVBQUE7O0FBR2pCO0VBQ0UsV0FBVyxFQUFBOztBQVFiO0VBQ0Usa0JBQWtCLEVBQUE7O0FBU3BCOzs7OztFQUtFLG9CQUFvQjtFQUNwQixlQUFlO0VBQ2YsaUJBQWlCO0VBQ2pCLFNBQVMsRUFBQTs7QUFNWDs7RUFFRSxpQkFBaUIsRUFBQTs7QUFNbkI7O0VBRUUsb0JBQW9CLEVBQUE7O0FBS3RCOzs7O0VBSUUsMEJBQTBCLEVBQUE7O0FBSzVCOzs7O0VBSUUsa0JBQWtCO0VBQ2xCLFVBQVUsRUFBQTs7QUFLWjs7OztFQUlFLDhCQUE4QixFQUFBOztBQUtoQztFQUNFLDhCQUE4QixFQUFBOztBQVFoQztFQUNFLDhCQUFzQjtVQUF0QixzQkFBc0I7RUFDdEIsY0FBYztFQUNkLGNBQWM7RUFDZCxlQUFlO0VBQ2YsVUFBVTtFQUNWLG1CQUFtQixFQUFBOztBQUtyQjtFQUNFLHdCQUF3QixFQUFBOztBQUsxQjtFQUNFLGNBQWMsRUFBQTs7QU52RWxCOztFTStFSSw4QkFBc0I7VUFBdEIsc0JBQXNCO0VBQ3RCLFVBQVUsRUFBQTs7QU4zRWQ7O0VNa0ZJLFlBQVksRUFBQTs7QU45RWhCO0VNcUZJLDZCQUE2QjtFQUM3QixvQkFBb0IsRUFBQTs7QU5sRnhCO0VNd0ZJLHdCQUF3QixFQUFBOztBQU0xQjtFQUNFLDBCQUEwQjtFQUMxQixhQUFhLEVBQUE7O0FBUWY7RUFDRSxjQUFjLEVBQUE7O0FBS2hCO0VBQ0Usa0JBQWtCLEVBQUE7O0FBUXBCO0VBQ0UsYUFBYSxFQUFBOztBTnhHakI7RU04R0ksYUFBYSxFQUFBOztBQzNJZjtFQUNFLHdFQUFnRCxFQUFBOztBRG5JbEQ7RUN1SUUsOEJBQXNCO1VBQXRCLHNCQUFzQjtFQUN0QixlTHZFbUIsRUFBQTs7QUsyRXJCOzs7RUFHRSwyQkFBbUI7VUFBbkIsbUJBQW1CLEVBQUE7O0FEcklyQjtFQzBJRSxTQUFTO0VBQ1QsVUFBVTtFQUVWLG1CTHhFVztFSzBFWCxxRUw2RHVFO0VLNUR2RSxnQkxpRXNCO0VLaEV0QixnQkx4Rm1CO0VLeUZuQixjTDNFcUI7RUs4RW5CLG1DQUFtQztFQUNuQyxrQ0FBa0MsRUFBQTs7QURyRHRDO0VDMkRFLHFCQUFxQjtFQUNyQixzQkFBc0I7RUFHdEIsZUFBZTtFQUNmLFlBQVk7RUFDWiwrQkFBK0IsRUFBQTs7QUQ0QmpDO0VDdkJFLFlBQVk7RUFDWixnQkFBZ0I7RUFDaEIsa0JMMENlLEVBQUE7O0FLdENqQjtFQUNFLDhCQUFzQjtVQUF0QixzQkFBc0I7RUFDdEIsV0FBVztFQUNYLGtCTG1DZSxFQUFBOztBSzlCakI7Ozs7OztFQUtJLDBCQUEwQixFQUFBOztBQUs5QjtFQUVFLFVBQVU7RUFDVix3QkFBZ0I7S0FBaEIscUJBQWdCO1VBQWhCLGdCQUFnQjtFQUNoQixTQUFTO0VBQ1Qsa0JMZWU7RUtkZix1QkFBdUI7RUFDdkIsY0FBYztFQUNkLFlMa0J1QixFQUFBO0VGVHpCO0lRekJFLFVBQVUsRUFBQTs7QUY1Slo7RUNpTEUsY0FBYyxFQUFBOztBRGpHaEI7Ozs7O0VDMEdFLG9CQUFvQixFQUFBOztBQUl0QjtFQUNFLHlCQUF5QixFQUFBOztBQUczQjtFQUNFLHdCQUF3QixFQUFBOztBRXJPMUI7RUNvQk0sdUJBQTZEO0VBQTdELHNCQUE2RDtFQ2RuRSxtQkNzRXVEO0VEckV2RCxpQkFBaUI7RUFDakIsa0JBQWtCLEVBQUE7RVA0Slo7SUtwS047TUNvQk0sd0JBQTZEO01BQTdELHVCQUE2RCxFQUFBLEVEVmxFO0VBVkQ7SUNvQk0sdUJBQTZEO0lBQTdELHNCQUE2RDtJQ2RuRSxlRkZtQztJRUduQyxpQkFBaUI7SUFDakIsa0JBQWtCLEVBQUE7SVA0Slo7TUtwS047UUNvQk0sd0JBQTZEO1FBQTdELHVCQUE2RCxFQUFBLEVEZmhFO0VBTEg7SUM2QkksZ0JBQTZEO0lBQTdELGVBQTZEO0lDdkJqRSxlRkVtQztJRURuQyxpQkFBaUI7SUFDakIsa0JBQWtCLEVBQUE7O0FGS2xCO0VFU0Esb0JBQWE7RUFBYixxQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLDhCQUhxQjtFQUdyQiw2QkFIcUI7RUFHckIsMkJBSHFCO01BR3JCLHVCQUhxQjtVQUdyQixtQkFIcUIsRUFBQTs7QUZIckI7RUk0RkEsbUJBQU07RUFBTixzQkFBTTtNQUFOLGtCQUFNO1VBQU4sY0FBTTtFQUlKLGVBQWU7RUFDZixjQUFjO0VBc0NkLFdBdEVpQyxFQUFBO0VKakVuQztJSTRGQSxtQkFBTTtJQUFOLHFCQUFNO1FBQU4saUJBQU07WUFBTixhQUFNLEVBQUE7RUo1Rk47SUk0RkEsbUJBQU07SUFBTixzQkFBTTtRQUFOLGtCQUFNO1lBQU4sY0FBTSxFQUFBOztBSmhGTjtFSTJIRSxXQWxGWSxFQUFBOztBSnpDZDtFSTJIRSxXQWxGWSxFQUFBOztBSnpCWjtFQU1JLHdCQUFnQjtNQUFoQiw2QkFBZ0I7VUFBaEIsZ0JBQWdCLEVBQUE7O0FMaUhoQjtFS3ZISjtJQU1JLHdCQUFnQjtRQUFoQiw2QkFBZ0I7WUFBaEIsZ0JBQWdCLEVBQUEsRUFDakI7O0FMZ0hDO0VLdkhKO0lBTUksd0JBQWdCO1FBQWhCLDZCQUFnQjtZQUFoQixnQkFBZ0IsRUFBQSxFQUNqQjs7QUFZSDtFSTZDRixtQkFBTTtFQUFOLHNCQUFNO01BQU4sa0JBQU07VUFBTixjQUFNLEVBQUE7O0FKOUJGO0VJeUVGLGVDbkJ5RCxFQUFBOztBTHREdkQ7RUl5RUYsZ0JDbkJ5RCxFQUFBOztBTHREdkQ7RUl5RUYsVUNuQnlELEVBQUE7O0FMdER2RDtFSXlFRixnQkNuQnlELEVBQUE7O0FMdER2RDtFSXlFRixnQkNuQnlELEVBQUE7O0FMdER2RDtFSXlFRixVQ25CeUQsRUFBQTs7QUx0RHZEO0VJeUVGLGdCQ25CeUQsRUFBQTs7QUx0RHZEO0VJeUVGLGdCQ25CeUQsRUFBQTs7QUx0RHZEO0VJeUVGLFVDbkJ5RCxFQUFBOztBTHREdkQ7RUl5RUYsZ0JDbkJ5RCxFQUFBOztBTHREdkQ7RUl5RUYsZ0JDbkJ5RCxFQUFBOztBTHREdkQ7RUl5RUYsV0NuQnlELEVBQUE7O0FWK0JyRDtFS3pHRjtJSWtESixtQkFBTTtJQUFOLHFCQUFNO1FBQU4saUJBQU07WUFBTixhQUFNO0lBMkNKLFdBbEZZLEVBQUE7RUpOWjtJSTZDRixtQkFBTTtJQUFOLHNCQUFNO1FBQU4sa0JBQU07WUFBTixjQUFNLEVBQUE7RUp2Q0Y7SUlrRkYsV0FsRlksRUFBQTtFSlNWO0lJeUVGLGVDbkJ5RCxFQUFBO0VMdER2RDtJSXlFRixnQkNuQnlELEVBQUE7RUx0RHZEO0lJeUVGLFVDbkJ5RCxFQUFBO0VMdER2RDtJSXlFRixnQkNuQnlELEVBQUE7RUx0RHZEO0lJeUVGLGdCQ25CeUQsRUFBQTtFTHREdkQ7SUl5RUYsVUNuQnlELEVBQUE7RUx0RHZEO0lJeUVGLGdCQ25CeUQsRUFBQTtFTHREdkQ7SUl5RUYsZ0JDbkJ5RCxFQUFBO0VMdER2RDtJSXlFRixVQ25CeUQsRUFBQTtFTHREdkQ7SUl5RUYsZ0JDbkJ5RCxFQUFBO0VMdER2RDtJSXlFRixnQkNuQnlELEVBQUE7RUx0RHZEO0lJeUVGLFdDbkJ5RCxFQUFBLEVMbkR0RDs7QUxrRkM7RUt6R0Y7SUlrREosbUJBQU07SUFBTixxQkFBTTtRQUFOLGlCQUFNO1lBQU4sYUFBTTtJQTJDSixXQWxGWSxFQUFBO0VKTlo7SUk2Q0YsbUJBQU07SUFBTixzQkFBTTtRQUFOLGtCQUFNO1lBQU4sY0FBTSxFQUFBO0VKdkNGO0lJa0ZGLFdBbEZZLEVBQUE7RUpTVjtJSXlFRixlQ25CeUQsRUFBQTtFTHREdkQ7SUl5RUYsZ0JDbkJ5RCxFQUFBO0VMdER2RDtJSXlFRixVQ25CeUQsRUFBQTtFTHREdkQ7SUl5RUYsZ0JDbkJ5RCxFQUFBO0VMdER2RDtJSXlFRixnQkNuQnlELEVBQUE7RUx0RHZEO0lJeUVGLFVDbkJ5RCxFQUFBO0VMdER2RDtJSXlFRixnQkNuQnlELEVBQUE7RUx0RHZEO0lJeUVGLGdCQ25CeUQsRUFBQTtFTHREdkQ7SUl5RUYsVUNuQnlELEVBQUE7RUx0RHZEO0lJeUVGLGdCQ25CeUQsRUFBQTtFTHREdkQ7SUl5RUYsZ0JDbkJ5RCxFQUFBO0VMdER2RDtJSXlFRixXQ25CeUQsRUFBQSxFTG5EdEQ7O0FBS0w7RUFDRSxXQUFXLEVBQUE7O0FBSWI7RUFDRSxZQUFZLEVBQUE7O0FBOEJkO0VDdkdNLHNCQUE2RDtFQUE3RCx1QkFBNkQsRUFBQTtFTmdKN0Q7SUt6Q047TUN2R00sdUJBQTZEO01BQTdELHdCQUE2RCxFQUFBLEVEc0lsRTtFQS9CRDtJSTZCRSwyQkF0RDhGO0lIckU1RixxQkFBNkQ7SUFBN0Qsc0JBQTZELEVBQUE7RU51STNEO0lLekNOO01JNkJFLDRCQXREOEY7TUhyRTVGLHNCQUE2RDtNQUE3RCx1QkFBNkQsRUFBQSxFRDJHMUQ7RUFyQ1A7SUlxREUsV0FsRlksRUFBQTtFSmlDZDtJSWlERSxXQWxGWSxFQUFBO0VKeUNaO0lJeUNBLCtCQXREOEYsRUFBQTtFSmE5RjtJSXlDQSxnQ0F0RDhGLEVBQUE7RUphOUY7SUl5Q0EsMEJBdEQ4RixFQUFBO0VKYTlGO0lJeUNBLGdDQXREOEYsRUFBQTtFSmE5RjtJSXlDQSxnQ0F0RDhGLEVBQUE7RUphOUY7SUl5Q0EsMEJBdEQ4RixFQUFBO0VKYTlGO0lJeUNBLGdDQXREOEYsRUFBQTtFSmE5RjtJSXlDQSxnQ0F0RDhGLEVBQUE7RUphOUY7SUl5Q0EsMEJBdEQ4RixFQUFBO0VKYTlGO0lJeUNBLGdDQXREOEYsRUFBQTtFSmE5RjtJSXlDQSxnQ0F0RDhGLEVBQUE7RUphOUY7SUl5Q0EsMkJBdEQ4RixFQUFBO0VUa0UxRjtJS2pFTjtNSXFERSxXQWxGWSxFQUFBO0lKaUNkO01JaURFLFdBbEZZLEVBQUE7SUp5Q1o7TUl5Q0EsZ0NBdEQ4RixFQUFBO0lKYTlGO01JeUNBLGlDQXREOEYsRUFBQTtJSmE5RjtNSXlDQSwyQkF0RDhGLEVBQUE7SUphOUY7TUl5Q0EsaUNBdEQ4RixFQUFBO0lKYTlGO01JeUNBLGlDQXREOEYsRUFBQTtJSmE5RjtNSXlDQSwyQkF0RDhGLEVBQUE7SUphOUY7TUl5Q0EsaUNBdEQ4RixFQUFBO0lKYTlGO01JeUNBLGlDQXREOEYsRUFBQTtJSmE5RjtNSXlDQSwyQkF0RDhGLEVBQUE7SUphOUY7TUl5Q0EsaUNBdEQ4RixFQUFBO0lKYTlGO01JeUNBLGlDQXREOEYsRUFBQTtJSmE5RjtNSXlDQSw0QkF0RDhGLEVBQUE7SUpDaEc7TUlxREUsV0FsRlksRUFBQTtJSmlDZDtNSWlERSxXQWxGWSxFQUFBO0lKeUNaO01JeUNBLGdDQXREOEYsRUFBQTtJSmE5RjtNSXlDQSxpQ0F0RDhGLEVBQUE7SUphOUY7TUl5Q0EsMkJBdEQ4RixFQUFBO0lKYTlGO01JeUNBLGlDQXREOEYsRUFBQTtJSmE5RjtNSXlDQSxpQ0F0RDhGLEVBQUE7SUphOUY7TUl5Q0EsMkJBdEQ4RixFQUFBO0lKYTlGO01JeUNBLGlDQXREOEYsRUFBQTtJSmE5RjtNSXlDQSxpQ0F0RDhGLEVBQUE7SUphOUY7TUl5Q0EsMkJBdEQ4RixFQUFBO0lKYTlGO01JeUNBLGlDQXREOEYsRUFBQTtJSmE5RjtNSXlDQSxpQ0F0RDhGLEVBQUE7SUphOUY7TUl5Q0EsNEJBdEQ4RixFQUFBLEVKZTdGO0VMbURHO0lLakVOO01JcURFLFdBbEZZLEVBQUE7SUppQ2Q7TUlpREUsV0FsRlksRUFBQTtJSnlDWjtNSXlDQSxnQ0F0RDhGLEVBQUE7SUphOUY7TUl5Q0EsaUNBdEQ4RixFQUFBO0lKYTlGO01JeUNBLDJCQXREOEYsRUFBQTtJSmE5RjtNSXlDQSxpQ0F0RDhGLEVBQUE7SUphOUY7TUl5Q0EsaUNBdEQ4RixFQUFBO0lKYTlGO01JeUNBLDJCQXREOEYsRUFBQTtJSmE5RjtNSXlDQSxpQ0F0RDhGLEVBQUE7SUphOUY7TUl5Q0EsaUNBdEQ4RixFQUFBO0lKYTlGO01JeUNBLDJCQXREOEYsRUFBQTtJSmE5RjtNSXlDQSxpQ0F0RDhGLEVBQUE7SUphOUY7TUl5Q0EsaUNBdEQ4RixFQUFBO0lKYTlGO01JeUNBLDRCQXREOEYsRUFBQSxFSmU3Rjs7QUE4Q0g7RUMzSU0sdUJBQTZEO0VBQTdELHNCQUE2RCxFQUFBO0VOZ0o3RDtJS0xOO01DM0lNLHdCQUE2RDtNQUE3RCx1QkFBNkQsRUFBQSxFRGdKaEU7O0FBSUQ7RUNwSkksdUJBQTZEO0VBQTdELHNCQUE2RCxFQUFBO0VOZ0o3RDtJS0lKO01DcEpJLHdCQUE2RDtNQUE3RCx1QkFBNkQsRUFBQSxFRHNKaEU7O0FBWEg7RUMzSU0sdUJBQTZEO0VBQTdELHNCQUE2RCxFQUFBO0VOZ0o3RDtJS0xOO01DM0lNLHdCQUE2RDtNQUE3RCx1QkFBNkQsRUFBQSxFRDJKaEU7O0FNM0pIO0VGb0lFLFdDbkJ5RCxFQUFBOztBQ2pIM0Q7RUZvSUUsVUNuQnlELEVBQUE7O0FDakgzRDtFRm9JRSxnQkNuQnlELEVBQUE7O0FDakgzRDtFRm9JRSxVQ25CeUQsRUFBQTs7QUNqSDNEO0VGb0lFLFVDbkJ5RCxFQUFBOztBQ2pIM0Q7RUZvSUUsZ0JDbkJ5RCxFQUFBOztBQ2pIM0Q7RUZvSUUsZ0JDbkJ5RCxFQUFBOztBQ2pIM0Q7RUZvSUUsWUNuQnlELEVBQUE7O0FWK0JyRDtFV2hKTjtJRm9JRSxXQ25CeUQsRUFBQTtFQ2pIM0Q7SUZvSUUsVUNuQnlELEVBQUE7RUNqSDNEO0lGb0lFLGdCQ25CeUQsRUFBQTtFQ2pIM0Q7SUZvSUUsVUNuQnlELEVBQUE7RUNqSDNEO0lGb0lFLFVDbkJ5RCxFQUFBO0VDakgzRDtJRm9JRSxnQkNuQnlELEVBQUE7RUNqSDNEO0lGb0lFLGdCQ25CeUQsRUFBQTtFQ2pIM0Q7SUZvSUUsWUNuQnlELEVBQUEsRUMvRzFEOztBWDhJSztFV2hKTjtJRm9JRSxXQ25CeUQsRUFBQTtFQ2pIM0Q7SUZvSUUsVUNuQnlELEVBQUE7RUNqSDNEO0lGb0lFLGdCQ25CeUQsRUFBQTtFQ2pIM0Q7SUZvSUUsVUNuQnlELEVBQUE7RUNqSDNEO0lGb0lFLFVDbkJ5RCxFQUFBO0VDakgzRDtJRm9JRSxnQkNuQnlELEVBQUE7RUNqSDNEO0lGb0lFLGdCQ25CeUQsRUFBQTtFQ2pIM0Q7SUZvSUUsWUNuQnlELEVBQUEsRUMvRzFEOztBQUZEO0VGb0lFLDJCQXREOEYsRUFBQTs7QUU5RWhHO0VGb0lFLDBCQXREOEYsRUFBQTs7QUU5RWhHO0VGb0lFLGdDQXREOEYsRUFBQTs7QUU5RWhHO0VGb0lFLDBCQXREOEYsRUFBQTs7QUU5RWhHO0VGb0lFLDBCQXREOEYsRUFBQTs7QUU5RWhHO0VGb0lFLGdDQXREOEYsRUFBQTs7QUU5RWhHO0VGb0lFLGdDQXREOEYsRUFBQTs7QUU5RWhHO0VGb0lFLDRCQXREOEYsRUFBQTs7QVRrRTFGO0VXaEpOO0lGb0lFLDRCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsMkJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSxpQ0F0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLDJCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsMkJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSxpQ0F0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLGlDQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsNkJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSw0QkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLDJCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsaUNBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSwyQkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLDJCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsaUNBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSxpQ0F0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLDZCQXREOEYsRUFBQSxFRTVFL0Y7O0FYOElLO0VXaEpOO0lGb0lFLDRCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsMkJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSxpQ0F0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLDJCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsMkJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSxpQ0F0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLGlDQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsNkJBdEQ4RixFQUFBLEVFNUUvRjs7QU5xTUc7RU85TUUsZUFBMEI7RUFBMUIsY0FBMEIsRUFBQTtFQUc1QjtJQUVJLGVBQTBCO0lBQTFCLGNBQTBCLEVBQUE7RUFzQnhCO0lIZ0hSLGVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFdDbkJ5RCxFQUFBO0VWK0JyRDtJWTVISTtNSGdIUixlQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsZ0JDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixVQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsZ0JDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixnQkNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLFVDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixnQkNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLGdCQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsVUNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLGdCQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsZ0JDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixXQ25CeUQsRUFBQSxFRTNGaEQ7RVowSEw7SVk1SEk7TUhnSFIsZUNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLGdCQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsVUNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLGdCQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsZ0JDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixVQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsZ0JDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixnQkNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLFVDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixnQkNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLGdCQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsV0NuQnlELEVBQUEsRUUzRmhEOztBUHVMUDtFTzdLRSxlQUEwQjtFQUExQixjQUEwQixFQUFBO0VBRzVCO0lBRUksZ0JBQTRCO0lBQTVCLGVBQTRCLEVBQUE7O0FaMkc5QjtFS3VERjtJTzlNRSxlQUEwQjtJQUExQixjQUEwQixFQUFBO0lBRzVCO01BRUksZUFBMEI7TUFBMUIsY0FBMEIsRUFBQSxFQUU3Qjs7QVpnSkM7RVlySUk7SUh5SFIsZUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsVUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixVQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsV0NuQnlELEVBQUEsRUVwR2hEOztBWm1JTDtFWTVISTtJSGdIUixlQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixXQ25CeUQsRUFBQSxFRTNGaEQ7O0FaMEhMO0VZNUhJO0lIZ0hSLGVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFdDbkJ5RCxFQUFBLEVFM0ZoRDs7QVowSEw7RUs2REY7SU83S0UsZUFBMEI7SUFBMUIsY0FBMEIsRUFBQTtJQUc1QjtNQUVJLGdCQUE0QjtNQUE1QixlQUE0QixFQUFBLEVBRS9COztBWnlHQztFS3VERjtJTzlNRSxlQUEwQjtJQUExQixjQUEwQixFQUFBO0lBRzVCO01BRUksZUFBMEI7TUFBMUIsY0FBMEIsRUFBQSxFQUU3Qjs7QVpnSkM7RVlySUk7SUh5SFIsZUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsVUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixVQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsV0NuQnlELEVBQUEsRUVwR2hEOztBWm1JTDtFWXJJSTtJSHlIUixlQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixVQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsVUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixXQ25CeUQsRUFBQSxFRXBHaEQ7O0FabUlMO0VZNUhJO0lIZ0hSLGVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFdDbkJ5RCxFQUFBLEVFM0ZoRDs7QVowSEw7RUs2REY7SU83S0UsZUFBMEI7SUFBMUIsY0FBMEIsRUFBQTtJQUc1QjtNQUVJLGdCQUE0QjtNQUE1QixlQUE0QixFQUFBLEVBRS9COztBUG9MRDtFUXZNRixlQUE2QixFQUFBOztBUjJNM0I7RVEzTUYsZ0NBQTZCLEVBQUE7O0FSdU0zQjtFUXZNRixxQkFBNkIsRUFBQTs7QVIyTTNCO0VRM01GLHNDQUE2QixFQUFBOztBUnVNM0I7RVF2TUYsc0JBQTZCLEVBQUE7O0FSMk0zQjtFUTNNRix1Q0FBNkIsRUFBQTs7QVJ1TTNCO0VRdk1GLGdCQUE2QixFQUFBOztBUjJNM0I7RVEzTUYsaUNBQTZCLEVBQUE7O0FSdU0zQjtFUXZNRixzQkFBNkIsRUFBQTs7QVIyTTNCO0VRM01GLHVDQUE2QixFQUFBOztBUnVNM0I7RVF2TUYsc0JBQTZCLEVBQUE7O0FSMk0zQjtFUTNNRix1Q0FBNkIsRUFBQTs7QVJ1TTNCO0VRdk1GLGdCQUE2QixFQUFBOztBUjJNM0I7RVEzTUYsaUNBQTZCLEVBQUE7O0FSdU0zQjtFUXZNRixzQkFBNkIsRUFBQTs7QVIyTTNCO0VRM01GLHVDQUE2QixFQUFBOztBUnVNM0I7RVF2TUYsc0JBQTZCLEVBQUE7O0FSMk0zQjtFUTNNRix1Q0FBNkIsRUFBQTs7QVJ1TTNCO0VRdk1GLGdCQUE2QixFQUFBOztBUjJNM0I7RVEzTUYsaUNBQTZCLEVBQUE7O0FSdU0zQjtFUXZNRixzQkFBNkIsRUFBQTs7QVIyTTNCO0VRM01GLHVDQUE2QixFQUFBOztBUnVNM0I7RVF2TUYsc0JBQTZCLEVBQUE7O0FSMk0zQjtFUTNNRix1Q0FBNkIsRUFBQTs7QWI0SHpCO0VLMkVGO0lRdk1GLGVBQTZCLEVBQUE7RVIyTTNCO0lRM01GLGlDQUE2QixFQUFBO0VSdU0zQjtJUXZNRixxQkFBNkIsRUFBQTtFUjJNM0I7SVEzTUYsdUNBQTZCLEVBQUE7RVJ1TTNCO0lRdk1GLHNCQUE2QixFQUFBO0VSMk0zQjtJUTNNRix3Q0FBNkIsRUFBQTtFUnVNM0I7SVF2TUYsZ0JBQTZCLEVBQUE7RVIyTTNCO0lRM01GLGtDQUE2QixFQUFBO0VSdU0zQjtJUXZNRixzQkFBNkIsRUFBQTtFUjJNM0I7SVEzTUYsd0NBQTZCLEVBQUE7RVJ1TTNCO0lRdk1GLHNCQUE2QixFQUFBO0VSMk0zQjtJUTNNRix3Q0FBNkIsRUFBQTtFUnVNM0I7SVF2TUYsZ0JBQTZCLEVBQUE7RVIyTTNCO0lRM01GLGtDQUE2QixFQUFBO0VSdU0zQjtJUXZNRixzQkFBNkIsRUFBQTtFUjJNM0I7SVEzTUYsd0NBQTZCLEVBQUE7RVJ1TTNCO0lRdk1GLHNCQUE2QixFQUFBO0VSMk0zQjtJUTNNRix3Q0FBNkIsRUFBQTtFUnVNM0I7SVF2TUYsZ0JBQTZCLEVBQUE7RVIyTTNCO0lRM01GLGtDQUE2QixFQUFBO0VSdU0zQjtJUXZNRixzQkFBNkIsRUFBQTtFUjJNM0I7SVEzTUYsd0NBQTZCLEVBQUE7RVJ1TTNCO0lRdk1GLHNCQUE2QixFQUFBO0VSMk0zQjtJUTNNRix3Q0FBNkIsRUFBQSxFUjZNMUI7O0FMakZDO0VLMkVGO0lRdk1GLGVBQTZCLEVBQUE7RVIyTTNCO0lRM01GLGlDQUE2QixFQUFBO0VSdU0zQjtJUXZNRixxQkFBNkIsRUFBQTtFUjJNM0I7SVEzTUYsdUNBQTZCLEVBQUE7RVJ1TTNCO0lRdk1GLHNCQUE2QixFQUFBO0VSMk0zQjtJUTNNRix3Q0FBNkIsRUFBQTtFUnVNM0I7SVF2TUYsZ0JBQTZCLEVBQUE7RVIyTTNCO0lRM01GLGtDQUE2QixFQUFBO0VSdU0zQjtJUXZNRixzQkFBNkIsRUFBQTtFUjJNM0I7SVEzTUYsd0NBQTZCLEVBQUE7RVJ1TTNCO0lRdk1GLHNCQUE2QixFQUFBO0VSMk0zQjtJUTNNRix3Q0FBNkIsRUFBQTtFUnVNM0I7SVF2TUYsZ0JBQTZCLEVBQUE7RVIyTTNCO0lRM01GLGtDQUE2QixFQUFBO0VSdU0zQjtJUXZNRixzQkFBNkIsRUFBQTtFUjJNM0I7SVEzTUYsd0NBQTZCLEVBQUE7RVJ1TTNCO0lRdk1GLHNCQUE2QixFQUFBO0VSMk0zQjtJUTNNRix3Q0FBNkIsRUFBQTtFUnVNM0I7SVF2TUYsZ0JBQTZCLEVBQUE7RVIyTTNCO0lRM01GLGtDQUE2QixFQUFBO0VSdU0zQjtJUXZNRixzQkFBNkIsRUFBQTtFUjJNM0I7SVEzTUYsd0NBQTZCLEVBQUE7RVJ1TTNCO0lRdk1GLHNCQUE2QixFQUFBO0VSMk0zQjtJUTNNRix3Q0FBNkIsRUFBQSxFUjZNMUI7O0FBekpTO0VFdEVkLG9CQUFhO0VBQWIscUJBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYiw0QkFINkI7RUFHN0IsNkJBSDZCO0VBRzdCLGdDQUg2QjtNQUc3Qiw0QkFINkI7VUFHN0Isd0JBSDZCLEVBQUE7RUZpUDdCO0lJMUlBLFlBQW1CO0lBQ25CLGdCQUEyQixFQUFBO0VKeUkzQjtJSTdHRSxZQWxGWSxFQUFBO0VKK0xkO0lJN0dFLFlBbEZZLEVBQUE7RUorTGQ7SUEyQk0sd0JBQWdCO1FBQWhCLDZCQUFnQjtZQUFoQixnQkFBZ0IsRUFBQTtFTDVIaEI7SUtpR047TUEyQk0sd0JBQWdCO1VBQWhCLDZCQUFnQjtjQUFoQixnQkFBZ0IsRUFBQSxFQUNqQjtFTDdIQztJS2lHTjtNQTJCTSx3QkFBZ0I7VUFBaEIsNkJBQWdCO2NBQWhCLGdCQUFnQixFQUFBLEVBQ2pCO0VBNUJMO0lJeEpBLG1CQUFNO0lBQU4sc0JBQU07UUFBTixrQkFBTTtZQUFOLGNBQU0sRUFBQTtFSndKTjtJSTdHRSxnQkNuQnlELEVBQUE7RUxnSTNEO0lJN0dFLGlCQ25CeUQsRUFBQTtFTGdJM0Q7SUk3R0UsV0NuQnlELEVBQUE7RUxnSTNEO0lJN0dFLGlCQ25CeUQsRUFBQTtFTGdJM0Q7SUk3R0UsaUJDbkJ5RCxFQUFBO0VMZ0kzRDtJSTdHRSxXQ25CeUQsRUFBQTtFTGdJM0Q7SUk3R0UsaUJDbkJ5RCxFQUFBO0VMZ0kzRDtJSTdHRSxpQkNuQnlELEVBQUE7RUxnSTNEO0lJN0dFLFdDbkJ5RCxFQUFBO0VMZ0kzRDtJSTdHRSxpQkNuQnlELEVBQUE7RUxnSTNEO0lJN0dFLGlCQ25CeUQsRUFBQTtFTGdJM0Q7SUk3R0UsWUNuQnlELEVBQUE7RVYrQnJEO0lLaUdOO01JeEpBLG1CQUFNO01BQU4scUJBQU07VUFBTixpQkFBTTtjQUFOLGFBQU07TUEyQ0osWUFsRlksRUFBQTtJSitMZDtNSXhKQSxtQkFBTTtNQUFOLHNCQUFNO1VBQU4sa0JBQU07Y0FBTixjQUFNLEVBQUE7SUp3Sk47TUk3R0UsWUFsRlksRUFBQTtJSitMZDtNSTdHRSxnQkNuQnlELEVBQUE7SUxnSTNEO01JN0dFLGlCQ25CeUQsRUFBQTtJTGdJM0Q7TUk3R0UsV0NuQnlELEVBQUE7SUxnSTNEO01JN0dFLGlCQ25CeUQsRUFBQTtJTGdJM0Q7TUk3R0UsaUJDbkJ5RCxFQUFBO0lMZ0kzRDtNSTdHRSxXQ25CeUQsRUFBQTtJTGdJM0Q7TUk3R0UsaUJDbkJ5RCxFQUFBO0lMZ0kzRDtNSTdHRSxpQkNuQnlELEVBQUE7SUxnSTNEO01JN0dFLFdDbkJ5RCxFQUFBO0lMZ0kzRDtNSTdHRSxpQkNuQnlELEVBQUE7SUxnSTNEO01JN0dFLGlCQ25CeUQsRUFBQTtJTGdJM0Q7TUk3R0UsWUNuQnlELEVBQUEsRUx5THBEO0VMMUpEO0lLaUdOO01JeEpBLG1CQUFNO01BQU4scUJBQU07VUFBTixpQkFBTTtjQUFOLGFBQU07TUEyQ0osWUFsRlksRUFBQTtJSitMZDtNSXhKQSxtQkFBTTtNQUFOLHNCQUFNO1VBQU4sa0JBQU07Y0FBTixjQUFNLEVBQUE7SUp3Sk47TUk3R0UsWUFsRlksRUFBQTtJSitMZDtNSTdHRSxnQkNuQnlELEVBQUE7SUxnSTNEO01JN0dFLGlCQ25CeUQsRUFBQTtJTGdJM0Q7TUk3R0UsV0NuQnlELEVBQUE7SUxnSTNEO01JN0dFLGlCQ25CeUQsRUFBQTtJTGdJM0Q7TUk3R0UsaUJDbkJ5RCxFQUFBO0lMZ0kzRDtNSTdHRSxXQ25CeUQsRUFBQTtJTGdJM0Q7TUk3R0UsaUJDbkJ5RCxFQUFBO0lMZ0kzRDtNSTdHRSxpQkNuQnlELEVBQUE7SUxnSTNEO01JN0dFLFdDbkJ5RCxFQUFBO0lMZ0kzRDtNSTdHRSxpQkNuQnlELEVBQUE7SUxnSTNEO01JN0dFLGlCQ25CeUQsRUFBQTtJTGdJM0Q7TUk3R0UsWUNuQnlELEVBQUEsRUx5THBEOztBQU9MO0VDalRJLHFCQUE2RDtFQUE3RCx3QkFBNkQsRUFBQTtFTmdKN0Q7SUtpS0o7TUNqVEks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LEVBQUE7SUphOUY7TUl5Q0Esa0NBdEQ4RixFQUFBO0lKYTlGO01JeUNBLGtDQXREOEYsRUFBQTtJSmE5RjtNSXlDQSw0QkF0RDhGLEVBQUE7SUphOUY7TUl5Q0Esa0NBdEQ4RixFQUFBO0lKYTlGO01JeUNBLGtDQXREOEYsRUFBQTtJSmE5RjtNSXlDQSw0QkF0RDhGLEVBQUE7SUphOUY7TUl5Q0Esa0NBdEQ4RixFQUFBO0lKYTlGO01JeUNBLGtDQXREOEYsRUFBQTtJSmE5RjtNSXlDQSw2QkF0RDhGLEVBQUE7SUpDaEc7TUlxREUsWUFsRlksRUFBQTtJSmlDZDtNSWlERSxZQWxGWSxFQUFBO0lKeUNaO01JeUNBLGlDQXREOEYsRUFBQTtJSmE5RjtNSXlDQSxrQ0F0RDhGLEVBQUE7SUphOUY7TUl5Q0EsNEJBdEQ4RixFQUFBO0lKYTlGO01JeUNBLGtDQXREOEYsRUFBQTtJSmE5RjtNSXlDQSxrQ0F0RDhGLEVBQUE7SUphOUY7TUl5Q0EsNEJBdEQ4RixFQUFBO0lKYTlGO01JeUNBLGtDQXREOEYsRUFBQTtJSmE5RjtNSXlDQSxrQ0F0RDhGLEVBQUE7SUphOUY7TUl5Q0EsNEJBdEQ4RixFQUFBO0lKYTlGO01JeUNBLGtDQXREOEYsRUFBQTtJSmE5RjtNSXlDQSxrQ0F0RDhGLEVBQUE7SUphOUY7TUl5Q0EsNkJBdEQ4RixFQUFBLEVKZTdGO0VMbURHO0lLakVOO01JcURFLFlBbEZZLEVBQUE7SUppQ2Q7TUlpREUsWUFsRlksRUFBQTtJSnlDWjtNSXlDQSxpQ0F0RDhGLEVBQUE7SUphOUY7TUl5Q0Esa0NBdEQ4RixFQUFBO0lKYTlGO01JeUNBLDRCQXREOEYsRUFBQTtJSmE5RjtNSXlDQSxrQ0F0RDhGLEVBQUE7SUphOUY7TUl5Q0Esa0NBdEQ4RixFQUFBO0lKYTlGO01JeUNBLDRCQXREOEYsRUFBQTtJSmE5RjtNSXlDQSxrQ0F0RDhGLEVBQUE7SUphOUY7TUl5Q0Esa0NBdEQ4RixFQUFBO0lKYTlGO01JeUNBLDRCQXREOEYsRUFBQTtJSmE5RjtNSXlDQSxrQ0F0RDhGLEVBQUE7SUphOUY7TUl5Q0Esa0NBdEQ4RixFQUFBO0lKYTlGO01JeUNBLDZCQXREOEYsRUFBQSxFSmU3Rjs7QUFrVEQ7RVM1WUksNkJBQW1DLEVBQUE7RWQ2SW5DO0lLK1BKO01TNVlJLDhCQUFtQyxFQUFBLEVUOFl0QztFTGpRRztJSytQSjtNUzVZSSw4QkFBbUMsRUFBQSxFVDhZdEM7O0FMalFHO0VLbVFGO0lTaFpFLDhCQUFtQyxFQUFBLEVUa1pwQzs7QUxyUUM7RUttUUY7SVNoWkUsOEJBQW1DLEVBQUEsRVRrWnBDOztBVWxOTDs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQW1CRSxTQUFTO0VBQ1QsVUFBVSxFQUFBOztBQUlaO0VBQ0UsbUJqQmdEMEI7RWlCOUMxQixrQkFBa0I7RUFDbEIsZ0JqQjRDc0I7RWlCM0N0QixrQ2pCNkN5QyxFQUFBOztBaUJ6QzNDOztFQUVFLGtCQUFrQjtFQUNsQixvQkFBb0IsRUFBQTs7QUFJdEI7O0VBRUUsZ0JqQnhDb0I7RWlCeUNwQixvQkFBb0IsRUFBQTs7QWJ0THRCO0VhMkxFLGNqQnNCaUI7RWlCckJqQixvQkFBb0IsRUFBQTs7QUFJdEI7Ozs7OztFQU1FLGdDakJmb0M7RWlCZ0JwQyxrQmpCZHNCO0VpQmV0QixnQmpCaEJvQjtFaUJpQnBCLGNqQmRrQjtFaUJlbEIsa0NqQk1zQyxFQUFBO0VpQmhCeEM7Ozs7OztJQWFJLGNBQWM7SUFDZCxjakJqTmUsRUFBQTs7QWlCME5iO0VBSUksbUJQM042QztFT3VPN0MsaUJqQjNDWTtFaUJtRFosYUFBYTtFQU9iLHFCakJ6RGlCLEVBQUE7O0FpQjBCckI7RUFJSSxrQlAzTjZDO0VPdU83QyxpQmpCM0NZO0VpQm1EWixhQUFhO0VBT2IscUJqQnpEaUIsRUFBQTs7QWlCMEJyQjtFQUlJLG9CUDNONkM7RU91TzdDLGlCakIzQ1k7RWlCbURaLGFBQWE7RUFPYixxQmpCekRpQixFQUFBOztBaUIwQnJCO0VBSUksbUJQM042QztFT3VPN0MsaUJqQjNDWTtFaUJtRFosYUFBYTtFQU9iLHFCakJ6RGlCLEVBQUE7O0FpQjBCckI7RUFJSSxvQlAzTjZDO0VPdU83QyxpQmpCM0NZO0VpQm1EWixhQUFhO0VBT2IscUJqQnpEaUIsRUFBQTs7QWlCMEJyQjtFQUlJLGVQM042QztFT3VPN0MsaUJqQjNDWTtFaUJtRFosYUFBYTtFQU9iLHFCakJ6RGlCLEVBQUE7O0FFckdyQjtFZStIQTtJQUlJLGVQM042QyxFQUFBO0VPdU5qRDtJQUlJLGlCUDNONkMsRUFBQTtFT3VOakQ7SUFJSSxtQlAzTjZDLEVBQUE7RU91TmpEO0lBSUksa0JQM042QyxFQUFBO0VPdU5qRDtJQUlJLG9CUDNONkMsRUFBQTtFT3VOakQ7SUFJSSxlUDNONkMsRUFBQSxFT3dQaEQ7O0FieFJQO0VhK1JFLG9CQUFvQjtFQUNwQixjakIxUVk7RWlCMlFaLHFCakJuQ3lCO0VpQnFDekIsZUFBZSxFQUFBO0VBTGpCO0lBU0ksY2pCMVJRLEVBQUE7RWlCaVJaO0lBZ0JJLFNBQVMsRUFBQTs7QWJqVWI7RWF1VUUsV0FBVztFQUVYLG1CUHRScUQ7RU91UnJELFNBQVM7RUFDVCxvQmpCdER5QjtFaUJ3RHpCLGFBQWE7RUFDYixlQUFlO0VBQ2YsZ0NqQi9SaUI7RWlCZ1NqQixjQUFjLEVBQUE7O0FBSWhCOzs7RUFHRSxtQmpCaEYwQjtFaUJpRjFCLDRCakIvRHlCO0VpQmdFekIsZ0JqQm5Gc0IsRUFBQTs7QWlCdUZ4QjtFQUNFLGtCQUFrQixFQUFBOztBQUlwQjtFQUNFLG9CakJ6RXNCO0VpQjBFdEIscUJqQjVFa0IsRUFBQTs7QWlCZ0ZwQjtFQUNFLG9CakIvRXNCLEVBQUE7O0FpQm1GeEI7RUFFSSxvQmpCcEYyQjtFaUJxRjNCLGdCQUFnQixFQUFBOztBQUtwQjtFQUNFLG1CakIxRnlCLEVBQUE7RWlCeUYzQjtJQUlJLHFCakIzRjhCO0lpQjRGOUIsZ0JqQjFMa0IsRUFBQTs7QWlCK0x0QjtFQUNFLGdCakJ6SDBCO0VpQjBIMUIsc0NQOVVxRDtFTytVckQsOEJqQmxWaUIsRUFBQTtFaUIrVW5CO0lBTUksZ0JqQi9Ib0I7SWlCZ0lwQixjakJyVmEsRUFBQTs7QWlCbVdqQjtFQUNFLGlDakJuV1c7RWlCb1dYLFlBQVk7RUFD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RUFBQTtFcUI0UGQ7SUEwRVkseUJyQnJVRSxFQUFBO0VxQjJQZDtJQTBFWSx5QnJCcFVBLEVBQUE7RXFCMFBaO0lBbUZJLFdBQVc7SUFDWCxXQUFXO0lBQ1gsY0FBZ0MsRUFBQTs7QUFJcEM7RUFHSSxxQkFBcUIsRUFBQTs7QXZCc3REM0I7O0V3QnZpRUUsY0FBYztFQUNkLDhCQUFzQjtVQUF0QixzQkFBc0I7RUFDdEIsV0FBVztFQUNYLGlCQUxzSjtFQU10SixrQlpIdUQ7RVlJdkQsZ0J0QndlK0I7RXNCdGUvQix5QnRCVG1CO0VzQlVuQixrQnRCdUlpQjtFc0J0SWpCLHlCdEJSYTtFc0JTYix3QnRCb2VpQjtVc0JwZWpCLGdCdEJvZWlCO0VzQmxlakIsb0J0QndkeUI7RXNCdmR6QixlWlp1RDtFWWF2RCxnQnRCK0h3QjtFc0I5SHhCLGdCdEIxQnFCO0VzQjJCckIsY3RCaEJhO0VzQm1CWCwyRXRCOGQ4RDtFc0I5ZDlELG1FdEI4ZDhEO0VzQjlkOUQsMkR0QjhkOEQ7RXNCOWQ5RCxvRnRCOGQ4RDtFc0J6YzlELHdCQUFnQjtLQUFoQixxQkFBZ0I7VUFBaEIsZ0JBQWdCLEVBQUE7RXhCa2hFbEI7O0l3QmxpRUUsYUFBYTtJQUNiLHlCdEIxQmU7SXNCMkJmLHlCdEJ6Qlc7SXNCMEJYLG1DdEI3QmlCO1lzQjZCakIsMkJ0QjdCaUI7SXNCZ0NmLDJFdEJtZDREO0lzQm5kNUQsbUV0Qm1kNEQ7SXNCbmQ1RCwyRHRCbWQ0RDtJc0JuZDVELG9GdEJtZDRELEVBQUE7O0FJdlhoRTtFa0I3RUUsZUFBZSxFQUFBO0VBRGpCO0lBSUksWUFBWSxFQUFBOztBQUloQjs7O0VBS0kseUJ0QjVEYztFc0I2RGQsbUJ0QnNiNkIsRUFBQTs7QUY2bERuQzs7RXdCNWdFSSx3QkFBZ0I7S0FBaEIscUJBQWdCO1VBQWhCLGdCQUFnQjtFQUNoQixrQnRCNkVlLEVBQUE7O0FzQnpFakI7RUFDRSw4QkFBc0I7VUFBdEIsc0JBQXNCLEVBQUE7O0FBaUJ4QjtFQUNFLGN0QjNGaUIsRUFBQTs7QXNCMEZuQjtFQUNFLGN0QjNGaUIsRUFB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QmhCLGlCRCtCZ0I7VUMvQmhCLFFEK0JnQixFQUFBOztBQUNaO0VDaENKLDRCRCtCZ0I7RUMvQmhCLGdCRCtCZ0I7TUMvQmhCLGlCRCtCZ0I7VUMvQmhCLFFEK0JnQixFQUFBOztBQUNaO0VDaENKLDRCRCtCZ0I7RUMvQmhCLGdCRCtCZ0I7TUMvQmhCLGlCRCtCZ0I7VUMvQmhCLFFEK0JnQixFQUFBOztBQUNaO0VDaENKLDRCRCtCZ0I7RUMvQmhCLGdCRCtCZ0I7TUMvQmhCLGlCRCtCZ0I7VUMvQmhCLFFEK0JnQixFQUFBOztBQUNaO0VDaENKLDRCRCtCZ0I7RUMvQmhCLGdCRCtCZ0I7TUMvQmhCLGlCRCtCZ0I7VUMvQmhCLFFEK0JnQixFQUFBOztBQUNaO0VDaENKLDRCRCtCZ0I7RUMvQmhCLGdCRCtCZ0I7TUMvQmhCLGlCRCtCZ0I7VUMvQmhCLFFEK0JnQixFQUFBOztBdENtRVY7RXNDbEVGO0lDaENKLDRCRCtCZ0I7SUMvQmhCLGdCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtJQy9CaEIsZ0JEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO0lDL0JoQixnQkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7SUMvQmhCLGdCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtJQy9CaEIsZ0JEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO0lDL0JoQixnQkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQSxFQUdYOztBdENnRUM7RXNDbEVGO0lDaENKLDRCRCtCZ0I7SUMvQmhCLGdCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtJQy9C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bkIsa0IvQ29Gd0Q7RStDbkZ4RCx5QkFBeUI7RUFDekIsY0FBYztFQUNkLHNCQUFzQjtFQUN0QixnQ0FBZ0MsRUFBQTtFQVJqQztJQVdFLGN6RHlGMEIsRUFBQTtJeURwRzVCO01BZUcsY3pEK0RhLEVBQUE7RXlEM0RmO0lBRUMsU0FBUyxFQUFBOztBcEN1VFQ7RXFDM1VELGdCMURvT3VCO0UwRG5PdkIsNkRBQTZEO0VBQzdELGtEQUEwQztVQUExQywwQ0FBMEMsRUFBQTtFeEQ2S25DO0ltQjRKTjtNcUN0VUMsb0JoRGtGc0QsRUFBQSxFZ0R2RXhEO0VyQzRMQztJcUNsTUEsNkRBQTZELEVBQUE7RUFHOUQ7SUFDQyxxQkFBcUIsRUFBQTs7QUNmdkI7RWhCQ0MsNEJBRGlDO0VBRWpDLDRCQUE0QjtFQUM1QixzQkFBc0I7RWdCRHRCLG1CM0QrR3FCO0UyRDlHckIsYzNEcUZjO0UyRHBGZCxrQkFBa0I7RUFDbEIsaUJqRHdGWSxFQUFBO0VSbUZMO0l5RGhMUjtNQVFHLGtCakRxRlUsRUFBQSxFaUQ5RFo7RXpEaUpPO0l5RGhMUjtNQVlHLGVqRGlGVSxFQUFBLEVpRDlEWjtFekRpSk87SXlEaktQO01BSUUsd0JqRHFFc0QsRUFBQSxFaURuRXZEO0VBRUQ7SUFDQyx1QmpEZ0V1RCxFQUFBO0lSd0ZqRDtNeUR6SlA7UUFJRSxrQmpENkRzRDtRaUQ1RHRELHFCakQ0RHNELEVBQUEsRWlEMUR2RDs7QUM5QkY7RUFDQyxzQmxEdUZ3RCxFQUFBO0VrRHJGeEQ7SUFDQyxjNURvRmE7STREbkZiLGdCNURnT3NCO0k0RC9OdEIsa0JsRGtGdUQ7SWtEakZ2RCx1QmxEaUZ1RCxFQUFBO0lSd0ZqRDtNMEQ3S1A7UUFPRyxzQmxEOEVxRDtRa0Q3RXRELGVsRDZFc0QsRUFBQSxFa0QzRXZEO0VBYkY7SUFpQkcsV0FBVyxFQUFBO0VBakJkO0lBcUJHLG1CbER3RVU7SWtEdkVWLHVCbERrRXNELEVBQUE7SVJ3RmpEO00wRGhMUjtRQXlCSSxvQmxEb0VTO1FrRG5FVCx3QmxEOERxRCxFQUFBLEVrRHREdEQ7STFEOElLO00wRGhM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RXNELEVBQUEsRWtFM0V2RDtFMUVtS007STBFaExSO01BZ0JHLGtCQUFrQixFQUFBLEVBcUVwQjtFQWxFQTtJQUNDLHFCQUFxQjtJQUNyQiw0QmxFbUV1RCxFQUFBO0VrRWhFeEQ7SUFDQyxtQjVFK0RhO0k0RTlEYix1QmxFOER1RDtJa0U3RHZELHlCNUVtSmtDO0k0RWxKbEMsYzVFMkRhO0k0RTFEYixxQkFBcUI7SUFDckIsZWxFMER1RDtJa0V6RHZELGNBQWM7SUFDZCxpQmxFd0R1RDtJa0V2RHZELDBCbEV1RHVEO0lrRXREdkQsa0JBQWtCO0lBQ2xCLHlCQUF5QjtJQUN6Qiw2QkFBb0M7SUFBcEMscUJBQW9DLEVBQUE7STFFNEk5QjtNMEV4SlA7UUFlRyxlbEVpRHFEO1FrRWhEdEQsMEJsRWdEc0QsRUFBQSxFa0VoQ3ZEO0lBaENBO01BcUJDLG1CNUU0SDJCO000RTNIM0IscUI1RTJIMkI7TTRFMUgzQixjNUV5Q1ksRUFBQTtJNEV0Q2I7TUFDQyxtQjVFc0gyQjtNNEVySDNCLHFCNUVxSDJCO000RXBIM0IsYzVFbUNZO000RWxDWixlQUFlLEVBQUE7O0FDckRqQjtFQUNDLHNCbkVzRnVEO0VtRXJGdkQscUJuRXFGdUQsRUFBQTtFUndGakQ7STJFL0tQO01BS0csd0JuRWtGcUQ7TW1FakZ0RCxxQm5FaUZzRCxFQUFBLEVtRS9FdkQ7O0FBRUQ7RUFDQyxrQkFBa0I7RUFDbEIsZ0JBQWdCLEVBQUE7RTNFbUtWO0kyRTNJTjtNQUVHLGVuRWlEb0QsRUFBQSxFbUUvQ3REOztBQUdGO0VBQ0MseUJuRTJDdUQsRUFBQTtFUndGakQ7STJFcElQO01BSUcseUJuRXdDcUQsRUFBQSxFbUVidkQ7RTNFcUdNO0kyRXBJUDtNQVFFLHlCbkVvQ3NELEVBQUEsRW1FYnZEO0VBcEJBO0lBQ0MseUJuRWdDc0QsRUFBQTtJUndGakQ7TTJFekhOO1FBSUUseUJuRTZCcUQsRUFBQSxFbUUzQnREO0VBRUQ7SUFDQyxnQzdFa0h3QjtJNkVqSHhCLHdCbkV1QnNELEVBQUE7SVJ3RmpEO00yRWpITjtRQUtFLHdCbkVvQnFELEVB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QnZELHNCeEVuQnVEO0l3RW9CdkQsdUJ4RXBCdUQsRUFBQTtJUndGakQ7TWdGMUVQO1FBU0csaUJ4RXZCcUQsRUFBQSxFd0U2QnZEO0loRjJETTtNZ0YxRVA7UUFhRyxleEUzQnFELEVBQUEsRXdFNkJ2RDtFQUVEO0lBQ0MsY0FBYztJQUNkLG1CeEVqQ3VEO0l3RWtDdkQsaUNsRm5DYTtJa0ZvQ2IscUJBQXFCO0lBQ3JCLHNCeEVwQ3VEO0l3RXFDdkQsdUJ4RXJDdUQ7SXdFc0N2RCwyQnhFdEN1RCxFQUFBO0lSd0ZqRDtNZ0Z6RFA7UUFVRyxtQnhFekNxRCxFQUFBLEV3RTJDdkQ7RUFFRDtJQUNDLG1CeEU5Q3VEO0l3RStDdkQsc0J4RS9DdUQ7SXdFZ0R2RCx1QnhFaER1RDtJd0VpRHZELG1CeEVqRHVELEVBQUE7SXdFNkN2RDtNQU9DLGVBQWU7TUFDZixpQ2xGdERZLEVBQUE7SUV5RlA7TWdGM0NOOztRQWNFLGV4RTNEcUQsRUFBQSxFd0VpRXREO0loRnVCSztNZ0YzQ047O1FBa0JHLG1CeEUvRG9ELEVBQUEsRXdFaUV0RDtJQXBCRDtNQW9DQyxnQkFBZ0IsRUFBQTtJQUdUO01BQ1Asb0J4RXJGc0QsRUFBQTtFd0V5RnhEO0lBQ0MsU0FBUyxFQUFBO0lBRUQ7TUFDUCxrQnhFN0ZzRCxFQUFBO01Sd0ZqRDtRZ0ZJRTtVQUlMLG9CeEVoR29ELEVBQUEsRXdFa0d0RDtJQUVPO01BQ1Asa0J4RXJHc0QsRUFBQTtNUndGakQ7UWdGWUU7VUFJTCxvQnhFeEdvRCxFQUFBLEV3RTBHdEQ7RUFXRjtJQUNDLGFBQWE7SUFDYixpQ2xGeEhhO0lrRnlIYixrQnhFeEh1RCxFQUFBO0l3RXFIdkQ7TUFNQyx1QnhFM0hzRCxFQUFBO0l3RXFIdkQ7TUFVQyxjbEYvSFk7TWtGZ0laLDBCQUEwQixFQUFBO01BWDNCO1FBZUUsY2xGcElXO1FrRnFJWCxxQkFBcUIsRUFBQTtJQWhCdkI7TUFxQkMsZ0JBQWdCLEVBQUE7RUFJbEI7SUFDQyxjbEYvSWE7SWtGZ0piLDBCQUEwQjtJQUMxQixtQnhFNUlXO0l3RTZJWCxjQUFjO0lB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b0JBQWE7RUFBYixhQUFhLEVBQUE7O0FBR2Q7RUFDQyxrQkFBa0I7RUFDbEIsV0FBVztFQUNYLFlBQVk7RUFDWixpREFBc0Q7RUFDdEQsMEJBQTBCO0VBQzFCLGlCQUFpQixFQUFBOztBQUdsQjtFQUNDLGtCQUFrQjtFQUNsQixPQUFPO0VBQ1AsTUFBTTtFQUNOLFNBQVM7RUFDVCxVQUFVO0VBQ1YsWUFBWTtFQUNaLFdBQVc7RUFDWCxpQkFBaUI7RUFDakIsK0NBQW9ELEVBQUE7O0FBR3JEO0VBQ0MsZUFBZSxFQUFBOztBQzVCakI7RUFDQyxvQkFBYTtFQUFiLHFCQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhLEVBQUE7RUFFYjtJQUNDLDBCQUEwQjtJQUMxQixrQkFBa0I7SUFDbEIsY0FBYztJQUNkLGtCQUFrQixFQUFBO0VBR25CO0lBQ0MsWUFBWTtJQUNaLGtCQUFrQixFQUFBOztBQ1RwQjtFQUNJLG1COUY4RVU7RThGN0VWLGM5Rm1GVztFOEZsRlgsZ0JBQWdCO0VBQ2hCLGtCQUFrQixFQUFBO0VBSnRCO0lBT0ssY0FBYztJQUNkLDBCQUEwQjtJQUMxQixnQjlGeU5tQixFQUFBOztBOEZqTnhCO0VBQ0MsY0FBYyxFQUFBIiwiZmlsZSI6ImFwcC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKiFcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIEFXRVNFTSBzdGFydGVyIHRoZW1lIENTUyBvdXRwdXQgZmlsZVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICpcbiAqIC0tLS0tLS0tLS0tLS0tLS0tIENBVVRJT04gLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFRoaXMgZmlsZSBpcyBjb21waWxlZCBmcm9tIHRoZSAuc2NzcyBzb3VyY2VcbiAqIERPTidUIE1BS0UgQU5ZIE1BTlVBTCBDSEFOR0VTIFRPIFRIQVQgRklMRSFcbiAqIFRoZXkgY2FuIGJlIG92ZXJ3cml0dGVuIGFuZCBsb3N0IGZvcmV2ZXJcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqXG4gKi9cbi8qIFRoZW1lIHZhcmlhYmxlcyAqL1xuLyogR2xvYmFsIHNldHRpbmdzICovXG4vKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4gKiBWZXJzaW9uIDYuNi4zXG4gKiBodHRwczovL2dldC5mb3VuZGF0aW9uXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnJldmVhbCwgLnJldmVhbC50aW55LCAucmV2ZWFsLnNtYWxsLCAucmV2ZWFsLmxhcmdlIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9IH1cblxuLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IH1cblxuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwOyB9XG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTsgfVxuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyB9XG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyOyB9XG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTsgfVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgfVxuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgbWFyZ2luOiAwOyB9XG5cbmJ1dHRvbixcbmlucHV0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgfVxuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDsgfVxuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDsgfVxuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTsgfVxuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZGlzcGxheTogdGFibGU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgfVxuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogMDsgfVxuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyB9XG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgZm9udDogaW5oZXJpdDsgfVxuXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgfVxuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5mb3VuZGF0aW9uLW1xIHtcbiAgZm9udC1mYW1pbHk6IFwic21hbGw9MGVtJm1lZGl1bT00MGVtJmxhcmdlPTY0ZW0meGxhcmdlPTc1ZW0meHhsYXJnZT05MGVtXCI7IH1cblxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQtc2l6ZTogMTAwJTsgfVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGZvbnQtZmFtaWx5OiBcIk11bGlzaFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMzkzOTM5O1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG5pbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljOyB9XG5cbnRleHRhcmVhIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4taGVpZ2h0OiA1MHB4O1xuICBib3JkZXItcmFkaXVzOiAycHg7IH1cblxuc2VsZWN0IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDJweDsgfVxuXG4ubWFwX2NhbnZhcyBpbWcsXG4ubWFwX2NhbnZhcyBlbWJlZCxcbi5tYXBfY2FudmFzIG9iamVjdCxcbi5tcWEtZGlzcGxheSBpbWcsXG4ubXFhLWRpc3BsYXkgZW1iZWQsXG4ubXFhLWRpc3BsYXkgb2JqZWN0IHtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7IH1cblxuYnV0dG9uIHtcbiAgcGFkZGluZzogMDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBsaW5lLWhlaWdodDogMTtcbiAgY3Vyc29yOiBhdXRvOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSBidXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IH1cblxuLmlzLXZpc2libGUge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG5cbi5pcy1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmdyaWQtY29udGFpbmVyIHtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIG1heC13aWR0aDogODEuMjVyZW07XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1jb250YWluZXIge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1jb250YWluZXIuZmx1aWQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZ3JpZC1jb250YWluZXIuZmx1aWQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmdyaWQtY29udGFpbmVyLmZ1bGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLmdyaWQteCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cblxuLmNlbGwge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWluLWhlaWdodDogMHB4O1xuICBtaW4td2lkdGg6IDBweDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmNlbGwuYXV0byB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuICAuY2VsbC5zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvOyB9XG5cbi5ncmlkLXggPiAuYXV0byB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5ncmlkLXggPiAuc2hyaW5rIHtcbiAgd2lkdGg6IGF1dG87IH1cblxuLmdyaWQteCA+IC5zbWFsbC1zaHJpbmssIC5ncmlkLXggPiAuc21hbGwtZnVsbCwgLmdyaWQteCA+IC5zbWFsbC0xLCAuZ3JpZC14ID4gLnNtYWxsLTIsIC5ncmlkLXggPiAuc21hbGwtMywgLmdyaWQteCA+IC5zbWFsbC00LCAuZ3JpZC14ID4gLnNtYWxsLTUsIC5ncmlkLXggPiAuc21hbGwtNiwgLmdyaWQteCA+IC5zbWFsbC03LCAuZ3JpZC14ID4gLnNtYWxsLTgsIC5ncmlkLXggPiAuc21hbGwtOSwgLmdyaWQteCA+IC5zbWFsbC0xMCwgLmdyaWQteCA+IC5zbWFsbC0xMSwgLmdyaWQteCA+IC5zbWFsbC0xMiB7XG4gIGZsZXgtYmFzaXM6IGF1dG87IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQteCA+IC5tZWRpdW0tc2hyaW5rLCAuZ3JpZC14ID4gLm1lZGl1bS1mdWxsLCAuZ3JpZC14ID4gLm1lZGl1bS0xLCAuZ3JpZC14ID4gLm1lZGl1bS0yLCAuZ3JpZC14ID4gLm1lZGl1bS0zLCAuZ3JpZC14ID4gLm1lZGl1bS00LCAuZ3JpZC14ID4gLm1lZGl1bS01LCAuZ3JpZC14ID4gLm1lZGl1bS02LCAuZ3JpZC14ID4gLm1lZGl1bS03LCAuZ3JpZC14ID4gLm1lZGl1bS04LCAuZ3JpZC14ID4gLm1lZGl1bS05LCAuZ3JpZC14ID4gLm1lZGl1bS0xMCwgLmdyaWQteCA+IC5tZWRpdW0tMTEsIC5ncmlkLXggPiAubWVkaXVtLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQteCA+IC5sYXJnZS1zaHJpbmssIC5ncmlkLXggPiAubGFyZ2UtZnVsbCwgLmdyaWQteCA+IC5sYXJnZS0xLCAuZ3JpZC14ID4gLmxhcmdlLTIsIC5ncmlkLXggPiAubGFyZ2UtMywgLmdyaWQteCA+IC5sYXJnZS00LCAuZ3JpZC14ID4gLmxhcmdlLTUsIC5ncmlkLXggPiAubGFyZ2UtNiwgLmdyaWQteCA+IC5sYXJnZS03LCAuZ3JpZC14ID4gLmxhcmdlLTgsIC5ncmlkLXggPiAubGFyZ2UtOSwgLmdyaWQteCA+IC5sYXJnZS0xMCwgLmdyaWQteCA+IC5sYXJnZS0xMSwgLmdyaWQteCA+IC5sYXJnZS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG5cbi5ncmlkLXggPiAuc21hbGwtMSwgLmdyaWQteCA+IC5zbWFsbC0yLCAuZ3JpZC14ID4gLnNtYWxsLTMsIC5ncmlkLXggPiAuc21hbGwtNCwgLmdyaWQteCA+IC5zbWFsbC01LCAuZ3JpZC14ID4gLnNtYWxsLTYsIC5ncmlkLXggPiAuc21hbGwtNywgLmdyaWQteCA+IC5zbWFsbC04LCAuZ3JpZC14ID4gLnNtYWxsLTksIC5ncmlkLXggPiAuc21hbGwtMTAsIC5ncmlkLXggPiAuc21hbGwtMTEsIC5ncmlkLXggPiAuc21hbGwtMTIge1xuICBmbGV4OiAwIDAgYXV0bzsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEge1xuICB3aWR0aDogOC4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0yIHtcbiAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTMge1xuICB3aWR0aDogMjUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNCB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC01IHtcbiAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTYge1xuICB3aWR0aDogNTAlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNyB7XG4gIHdpZHRoOiA1OC4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC04IHtcbiAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTkge1xuICB3aWR0aDogNzUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTAge1xuICB3aWR0aDogODMuMzMzMzMlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTEge1xuICB3aWR0aDogOTEuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTIge1xuICB3aWR0aDogMTAwJTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC14ID4gLm1lZGl1bS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLXNocmluaywgLmdyaWQteCA+IC5tZWRpdW0tMSwgLmdyaWQteCA+IC5tZWRpdW0tMiwgLmdyaWQteCA+IC5tZWRpdW0tMywgLmdyaWQteCA+IC5tZWRpdW0tNCwgLmdyaWQteCA+IC5tZWRpdW0tNSwgLmdyaWQteCA+IC5tZWRpdW0tNiwgLmdyaWQteCA+IC5tZWRpdW0tNywgLmdyaWQteCA+IC5tZWRpdW0tOCwgLmdyaWQteCA+IC5tZWRpdW0tOSwgLmdyaWQteCA+IC5tZWRpdW0tMTAsIC5ncmlkLXggPiAubWVkaXVtLTExLCAuZ3JpZC14ID4gLm1lZGl1bS0xMiB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLXggPiAubGFyZ2UtYXV0byB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLXNocmluaywgLmdyaWQteCA+IC5sYXJnZS0xLCAuZ3JpZC14ID4gLmxhcmdlLTIsIC5ncmlkLXggPiAubGFyZ2UtMywgLmdyaWQteCA+IC5sYXJnZS00LCAuZ3JpZC14ID4gLmxhcmdlLTUsIC5ncmlkLXggPiAubGFyZ2UtNiwgLmdyaWQteCA+IC5sYXJnZS03LCAuZ3JpZC14ID4gLmxhcmdlLTgsIC5ncmlkLXggPiAubGFyZ2UtOSwgLmdyaWQteCA+IC5sYXJnZS0xMCwgLmdyaWQteCA+IC5sYXJnZS0xMSwgLmdyaWQteCA+IC5sYXJnZS0xMiB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgLmdyaWQteCA+IC5sYXJnZS1zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICB3aWR0aDogYXV0bzsgfVxuXG4uZ3JpZC1tYXJnaW4teTpub3QoLmdyaWQteSkgPiAuY2VsbCB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uZ3JpZC1tYXJnaW4teCB7XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXgge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5jZWxsIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5hdXRvIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IGNhbGMoNzUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTUge1xuICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteCAuZ3JpZC1wYWRkaW5nLXgge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteCAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuXG4uZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+IC5ncmlkLXBhZGRpbmcteCB7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXggPiAuY2VsbCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy14ID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuXG4uc21hbGwtdXAtMSA+IC5jZWxsIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gIHdpZHRoOiA1MCU7IH1cblxuLnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gIHdpZHRoOiAyNSU7IH1cblxuLnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gIHdpZHRoOiAyMCU7IH1cblxuLnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gIHdpZHRoOiAxNC4yODU3MSU7IH1cblxuLnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gIHdpZHRoOiAxMi41JTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLm1lZGl1bS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLm1lZGl1bS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLmxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC5sYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0yID4gLmNlbGwge1xuICB3aWR0aDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0zID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC00ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC01ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygyMCUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC02ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC03ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC04ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxMi41JSAtIDEuMjVyZW0pOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjg3NXJlbSk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDEuODc1cmVtKTsgfSB9XG5cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2Uge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uc21hbGwtcGFkZGluZy1jb2xsYXBzZSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnNtYWxsLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5tZWRpdW0tcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLmxhcmdlLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuLnNtYWxsLW9mZnNldC0wIHtcbiAgbWFyZ2luLWxlZnQ6IDAlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0wIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogNzUlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAwLjYyNXJlbSk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDAuOTM3NXJlbSk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMC45Mzc1cmVtKTsgfSB9XG5cbi5ncmlkLXkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cbiAgLmdyaWQteSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWF4LWhlaWdodDogbm9uZTsgfVxuICAuZ3JpZC15ID4gLmF1dG8ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC15ID4gLnNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtc2hyaW5rLCAuZ3JpZC15ID4gLnNtYWxsLWZ1bGwsIC5ncmlkLXkgPiAuc21hbGwtMSwgLmdyaWQteSA+IC5zbWFsbC0yLCAuZ3JpZC15ID4gLnNtYWxsLTMsIC5ncmlkLXkgPiAuc21hbGwtNCwgLmdyaWQteSA+IC5zbWFsbC01LCAuZ3JpZC15ID4gLnNtYWxsLTYsIC5ncmlkLXkgPiAuc21hbGwtNywgLmdyaWQteSA+IC5zbWFsbC04LCAuZ3JpZC15ID4gLnNtYWxsLTksIC5ncmlkLXkgPiAuc21hbGwtMTAsIC5ncmlkLXkgPiAuc21hbGwtMTEsIC5ncmlkLXkgPiAuc21hbGwtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC15ID4gLm1lZGl1bS1zaHJpbmssIC5ncmlkLXkgPiAubWVkaXVtLWZ1bGwsIC5ncmlkLXkgPiAubWVkaXVtLTEsIC5ncmlkLXkgPiAubWVkaXVtLTIsIC5ncmlkLXkgPiAubWVkaXVtLTMsIC5ncmlkLXkgPiAubWVkaXVtLTQsIC5ncmlkLXkgPiAubWVkaXVtLTUsIC5ncmlkLXkgPiAubWVkaXVtLTYsIC5ncmlkLXkgPiAubWVkaXVtLTcsIC5ncmlkLXkgPiAubWVkaXVtLTgsIC5ncmlkLXkgPiAubWVkaXVtLTksIC5ncmlkLXkgPiAubWVkaXVtLTEwLCAuZ3JpZC15ID4gLm1lZGl1bS0xMSwgLmdyaWQteSA+IC5tZWRpdW0tMTIge1xuICAgICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQteSA+IC5sYXJnZS1zaHJpbmssIC5ncmlkLXkgPiAubGFyZ2UtZnVsbCwgLmdyaWQteSA+IC5sYXJnZS0xLCAuZ3JpZC15ID4gLmxhcmdlLTIsIC5ncmlkLXkgPiAubGFyZ2UtMywgLmdyaWQteSA+IC5sYXJnZS00LCAuZ3JpZC15ID4gLmxhcmdlLTUsIC5ncmlkLXkgPiAubGFyZ2UtNiwgLmdyaWQteSA+IC5sYXJnZS03LCAuZ3JpZC15ID4gLmxhcmdlLTgsIC5ncmlkLXkgPiAubGFyZ2UtOSwgLmdyaWQteSA+IC5sYXJnZS0xMCwgLmdyaWQteSA+IC5sYXJnZS0xMSwgLmdyaWQteSA+IC5sYXJnZS0xMiB7XG4gICAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xLCAuZ3JpZC15ID4gLnNtYWxsLTIsIC5ncmlkLXkgPiAuc21hbGwtMywgLmdyaWQteSA+IC5zbWFsbC00LCAuZ3JpZC15ID4gLnNtYWxsLTUsIC5ncmlkLXkgPiAuc21hbGwtNiwgLmdyaWQteSA+IC5zbWFsbC03LCAuZ3JpZC15ID4gLnNtYWxsLTgsIC5ncmlkLXkgPiAuc21hbGwtOSwgLmdyaWQteSA+IC5zbWFsbC0xMCwgLmdyaWQteSA+IC5zbWFsbC0xMSwgLmdyaWQteSA+IC5zbWFsbC0xMiB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMiB7XG4gICAgaGVpZ2h0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0zIHtcbiAgICBoZWlnaHQ6IDI1JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTQge1xuICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtNSB7XG4gICAgaGVpZ2h0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC02IHtcbiAgICBoZWlnaHQ6IDUwJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTcge1xuICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtOCB7XG4gICAgaGVpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC05IHtcbiAgICBoZWlnaHQ6IDc1JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTExIHtcbiAgICBoZWlnaHQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTEyIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS1zaHJpbmssIC5ncmlkLXkgPiAubWVkaXVtLTEsIC5ncmlkLXkgPiAubWVkaXVtLTIsIC5ncmlkLXkgPiAubWVkaXVtLTMsIC5ncmlkLXkgPiAubWVkaXVtLTQsIC5ncmlkLXkgPiAubWVkaXVtLTUsIC5ncmlkLXkgPiAubWVkaXVtLTYsIC5ncmlkLXkgPiAubWVkaXVtLTcsIC5ncmlkLXkgPiAubWVkaXVtLTgsIC5ncmlkLXkgPiAubWVkaXVtLTksIC5ncmlkLXkgPiAubWVkaXVtLTEwLCAuZ3JpZC15ID4gLm1lZGl1bS0xMSwgLmdyaWQteSA+IC5tZWRpdW0tMTIge1xuICAgICAgZmxleDogMCAwIGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMSB7XG4gICAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMiB7XG4gICAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTMge1xuICAgICAgaGVpZ2h0OiAyNSU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS00IHtcbiAgICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNSB7XG4gICAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTYge1xuICAgICAgaGVpZ2h0OiA1MCU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS03IHtcbiAgICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tOCB7XG4gICAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTkge1xuICAgICAgaGVpZ2h0OiA3NSU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xMCB7XG4gICAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTExIHtcbiAgICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMTIge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC15ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLmxhcmdlLTEsIC5ncmlkLXkgPiAubGFyZ2UtMiwgLmdyaWQteSA+IC5sYXJnZS0zLCAuZ3JpZC15ID4gLmxhcmdlLTQsIC5ncmlkLXkgPiAubGFyZ2UtNSwgLmdyaWQteSA+IC5sYXJnZS02LCAuZ3JpZC15ID4gLmxhcmdlLTcsIC5ncmlkLXkgPiAubGFyZ2UtOCwgLmdyaWQteSA+IC5sYXJnZS05LCAuZ3JpZC15ID4gLmxhcmdlLTEwLCAuZ3JpZC15ID4gLmxhcmdlLTExLCAuZ3JpZC15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xIHtcbiAgICAgIGhlaWdodDogOC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiAxNi42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiAyNSU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiA0MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiA1MCU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiA1OC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiA3NSU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogODMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IDkxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuLmdyaWQtcGFkZGluZy15IC5ncmlkLXBhZGRpbmcteSB7XG4gIG1hcmdpbi10b3A6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy15IC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTAuOTM3NXJlbTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteSA+IC5jZWxsIHtcbiAgcGFkZGluZy10b3A6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXRvcDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuOTM3NXJlbTsgfSB9XG5cbi5ncmlkLW1hcmdpbi15IHtcbiAgbWFyZ2luLXRvcDogLTAuNjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTAuOTM3NXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG5cbi5ncmlkLWZyYW1lIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIHdpZHRoOiAxMDB2dzsgfVxuXG4uY2VsbCAuZ3JpZC1mcmFtZSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5jZWxsLWJsb2NrIHtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG5cbi5jZWxsLWJsb2NrLXkge1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG5cbi5jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgLmNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiAxMDB2dzsgfVxuICAuY2VsbCAubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gICAgLm1lZGl1bS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3OyB9XG4gIC5jZWxsIC5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubGFyZ2UtY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgICAubGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAubGFyZ2UtY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH0gfVxuXG4uZ3JpZC15LmdyaWQtZnJhbWUge1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGhlaWdodDogMTAwdmg7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQteS5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiAxMDB2aDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLXkubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiAxMDB2aDsgfSB9XG5cbi5jZWxsIC5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gIGhlaWdodDogMTAwJTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuY2VsbCAuZ3JpZC15Lm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuY2VsbCAuZ3JpZC15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbi5ncmlkLW1hcmdpbi15IHtcbiAgbWFyZ2luLXRvcDogLTAuNjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTAuOTM3NXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG5cbi5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjI1cmVtKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuODc1cmVtKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15Lm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjg3NXJlbSk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1tYXJnaW4teS5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjg3NXJlbSk7IH0gfVxuXG5kaXYsXG5kbCxcbmR0LFxuZGQsXG51bCxcbm9sLFxubGksXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG5wcmUsXG5mb3JtLFxucCxcbmJsb2NrcXVvdGUsXG50aCxcbnRkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbnAge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cblxuZW0sXG5pIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zdHJvbmcsXG5iIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuaDEsIC5oMSxcbmgyLCAuaDIsXG5oMywgLmgzLFxuaDQsIC5oNCxcbmg1LCAuaDUsXG5oNiwgLmg2IHtcbiAgZm9udC1mYW1pbHk6IFwiTmV3c3JlYWRlclwiLCBzZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogMzAwO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuICBoMSBzbWFsbCwgLmgxIHNtYWxsLFxuICBoMiBzbWFsbCwgLmgyIHNtYWxsLFxuICBoMyBzbWFsbCwgLmgzIHNtYWxsLFxuICBoNCBzbWFsbCwgLmg0IHNtYWxsLFxuICBoNSBzbWFsbCwgLmg1IHNtYWxsLFxuICBoNiBzbWFsbCwgLmg2IHNtYWxsIHtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBjb2xvcjogI2NhY2FjYTsgfVxuXG5oMSwgLmgxIHtcbiAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oMiwgLmgyIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmgzLCAuaDMge1xuICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oNCwgLmg0IHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oNSwgLmg1IHtcbiAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDYsIC5oNiB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICBoMSwgLmgxIHtcbiAgICBmb250LXNpemU6IDJyZW07IH1cbiAgaDIsIC5oMiB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07IH1cbiAgaDMsIC5oMyB7XG4gICAgZm9udC1zaXplOiAxLjM3NXJlbTsgfVxuICBoNCwgLmg0IHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgaDUsIC5oNSB7XG4gICAgZm9udC1zaXplOiAxLjE4NzVyZW07IH1cbiAgaDYsIC5oNiB7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9IH1cblxuYSB7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogI2VlMDAxODtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgYTpob3ZlciwgYTpmb2N1cyB7XG4gICAgY29sb3I6ICNjMzdmMmI7IH1cbiAgYSBpbWcge1xuICAgIGJvcmRlcjogMDsgfVxuXG5ociB7XG4gIGNsZWFyOiBib3RoO1xuICBtYXgtd2lkdGg6IDgxLjI1cmVtO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogMS4yNXJlbSBhdXRvO1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItbGVmdDogMDsgfVxuXG51bCxcbm9sLFxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG5cbmxpIHtcbiAgZm9udC1zaXplOiBpbmhlcml0OyB9XG5cbnVsIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYzsgfVxuXG5vbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9XG5cbnVsIHVsLCBvbCB1bCwgdWwgb2wsIG9sIG9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIGRsIGR0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjNyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41NjI1cmVtIDEuMjVyZW0gMCAxLjE4NzVyZW07XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2NhY2FjYTsgfVxuICBibG9ja3F1b3RlLCBibG9ja3F1b3RlIHAge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgY29sb3I6ICM4YThhOGE7IH1cblxuYWJiciwgYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICMwYTBhMGE7XG4gIGN1cnNvcjogaGVscDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDsgfVxuXG5rYmQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuMjVyZW0gMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNDtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBib3JkZXItcmFkaXVzOiAycHg7IH1cblxuLnN1YmhlYWRlciB7XG4gIG1hcmdpbi10b3A6IDAuMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBmb250LXdlaWdodDogMzAwO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogIzhhOGE4YTsgfVxuXG4ubGVhZCB7XG4gIGZvbnQtc2l6ZTogMTI1JTtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG4uc3RhdCB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBsaW5lLWhlaWdodDogMTsgfVxuICBwICsgLnN0YXQge1xuICAgIG1hcmdpbi10b3A6IC0xcmVtOyB9XG5cbnVsLm5vLWJ1bGxldCwgb2wubm8tYnVsbGV0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLmNpdGUtYmxvY2ssIGNpdGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICM4YThhOGE7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG4gIC5jaXRlLWJsb2NrOmJlZm9yZSwgY2l0ZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi4oCUIFwiOyB9XG5cbi5jb2RlLWlubGluZSwgY29kZSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNGY0ZjQ7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBmb250LXdlaWdodDogMzAwO1xuICBjb2xvcjogIzBhMGEwYTtcbiAgZGlzcGxheTogaW5saW5lO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4zMTI1cmVtIDAuMDYyNXJlbTsgfVxuXG4uY29kZS1ibG9jayB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNGY0ZjQ7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBmb250LXdlaWdodDogMzAwO1xuICBjb2xvcjogIzBhMGEwYTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogcHJlO1xuICBwYWRkaW5nOiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cblxuLnRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnRleHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLm1lZGl1bS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubWVkaXVtLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lZGl1bS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5sYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubGFyZ2UtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubGFyZ2UtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuLnNob3ctZm9yLXByaW50IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBwcmludCB7XG4gICoge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgY29sb3ItYWRqdXN0OiBlY29ub215O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAuaGlkZS1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICB0YWJsZS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0aGVhZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdGJvZHkuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRyLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0ZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIHRoLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgYSxcbiAgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBhW2hyZWZdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjsgfVxuICAuaXIgYTphZnRlcixcbiAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgYVtocmVmXj0nIyddOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJzsgfVxuICBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiOyB9XG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuICB0cixcbiAgaW1nIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICBAcGFnZSB7XG4gICAgbWFyZ2luOiAwLjVjbTsgfVxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzOyB9XG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cbiAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87IH0gfVxuXG4uYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIHBhZGRpbmc6IDAuOTA3ZW0gMWVtO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogOTk5OXB4O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5idXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmJ1dHRvbi50aW55IHtcbiAgICBmb250LXNpemU6IDAuNnJlbTsgfVxuICAuYnV0dG9uLnNtYWxsIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLmJ1dHRvbi5sYXJnZSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIC5idXR0b24uZXhwYW5kZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuYnV0dG9uLCAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWUwMDE4O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b246aG92ZXIsIC5idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjA3MjA7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5wcmltYXJ5LCAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQsIC5idXR0b24ucHJpbWFyeVtkaXNhYmxlZF0sIC5idXR0b24ucHJpbWFyeS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWUwMDE4O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5wcmltYXJ5OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmUwMDEzO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uc2Vjb25kYXJ5LCAuYnV0dG9uLnNlY29uZGFyeS5kaXNhYmxlZCwgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdLCAuYnV0dG9uLnNlY29uZGFyeS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLnNlY29uZGFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNEI0QjRCO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNjM2MzYztcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLnN1Y2Nlc3MsIC5idXR0b24uc3VjY2Vzcy5kaXNhYmxlZCwgLmJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXSwgLmJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3YmM4NGE7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2MWE4MzM7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi53YXJuaW5nLCAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQsIC5idXR0b24ud2FybmluZ1tkaXNhYmxlZF0sIC5idXR0b24ud2FybmluZy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi53YXJuaW5nLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5idXR0b24ud2FybmluZzpob3ZlciwgLmJ1dHRvbi53YXJuaW5nOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M4YjAwO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5idXR0b24uYWxlcnQsIC5idXR0b24uYWxlcnQuZGlzYWJsZWQsIC5idXR0b24uYWxlcnRbZGlzYWJsZWRdLCAuYnV0dG9uLmFsZXJ0LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5hbGVydFtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzRiMzc7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5hbGVydDpob3ZlciwgLmJ1dHRvbi5hbGVydDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2E1M2IyYTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLmhvbGxvdywgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYnV0dG9uLmhvbGxvdywgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2VlMDAxODtcbiAgICBjb2xvcjogI2VlMDAxODsgfVxuICAuYnV0dG9uLmhvbGxvdzpob3ZlciwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzc3MDAwYztcbiAgICBjb2xvcjogIzc3MDAwYzsgfVxuICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5LCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5LmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93LnByaW1hcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG9sbG93LnByaW1hcnlbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWUwMDE4O1xuICAgIGNvbG9yOiAjZWUwMDE4OyB9XG4gIC5idXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXIsIC5idXR0b24uaG9sbG93LnByaW1hcnk6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzc3MDAwYztcbiAgICBjb2xvcjogIzc3MDAwYzsgfVxuICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnksIC5idXR0b24uaG9sbG93LnNlY29uZGFyeS5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM0QjRCNEI7XG4gICAgY29sb3I6ICM0QjRCNEI7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzI2MjYyNjtcbiAgICBjb2xvcjogIzI2MjYyNjsgfVxuICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzcy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzc1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3NbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjN2JjODRhO1xuICAgIGNvbG9yOiAjN2JjODRhOyB9XG4gIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzNjNjkyMDtcbiAgICBjb2xvcjogIzNjNjkyMDsgfVxuICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cud2FybmluZy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cud2FybmluZ1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93Lndhcm5pbmcuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG9sbG93Lndhcm5pbmdbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZhZTAwO1xuICAgIGNvbG9yOiAjZmZhZTAwOyB9XG4gIC5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXIsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzgwNTcwMDtcbiAgICBjb2xvcjogIzgwNTcwMDsgfVxuICAuYnV0dG9uLmhvbGxvdy5hbGVydCwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmFsZXJ0W2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmFsZXJ0W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG9sbG93LmFsZXJ0W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjNGIzNztcbiAgICBjb2xvcjogI2NjNGIzNzsgfVxuICAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzY3MjUxYTtcbiAgICBjb2xvcjogIzY3MjUxYTsgfVxuICAuYnV0dG9uLmNsZWFyLCAuYnV0dG9uLmNsZWFyOmhvdmVyLCAuYnV0dG9uLmNsZWFyOmZvY3VzLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idXR0b24uY2xlYXIsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjZWUwMDE4OyB9XG4gIC5idXR0b24uY2xlYXI6aG92ZXIsIC5idXR0b24uY2xlYXI6Zm9jdXMge1xuICAgIGNvbG9yOiAjNzcwMDBjOyB9XG4gIC5idXR0b24uY2xlYXIucHJpbWFyeSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5LmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnlbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXIucHJpbWFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXIucHJpbWFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5jbGVhci5wcmltYXJ5W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICNlZTAwMTg7IH1cbiAgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMge1xuICAgIGNvbG9yOiAjNzcwMDBjOyB9XG4gIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeS5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnlbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnlbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogIzRCNEI0QjsgfVxuICAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMge1xuICAgIGNvbG9yOiAjMjYyNjI2OyB9XG4gIC5idXR0b24uY2xlYXIuc3VjY2VzcywgLmJ1dHRvbi5jbGVhci5zdWNjZXNzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3NbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXIuc3VjY2Vzc1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXIuc3VjY2Vzcy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5jbGVhci5zdWNjZXNzW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICM3YmM4NGE7IH1cbiAgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMge1xuICAgIGNvbG9yOiAjM2M2OTIwOyB9XG4gIC5idXR0b24uY2xlYXIud2FybmluZywgLmJ1dHRvbi5jbGVhci53YXJuaW5nLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmdbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmcuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXIud2FybmluZ1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXIud2FybmluZy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5jbGVhci53YXJuaW5nW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMge1xuICAgIGNvbG9yOiAjODA1NzAwOyB9XG4gIC5idXR0b24uY2xlYXIuYWxlcnQsIC5idXR0b24uY2xlYXIuYWxlcnQuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnRbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmFsZXJ0LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmFsZXJ0W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhci5hbGVydC5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5jbGVhci5hbGVydFtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjY2M0YjM3OyB9XG4gIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIsIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXMge1xuICAgIGNvbG9yOiAjNjcyNTFhOyB9XG4gIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b25bZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjI1O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNGVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmVmZWZlIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6IDFlbTsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdzo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXI6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjZWUwMDE4OyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnByaW1hcnk6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLnByaW1hcnk6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjZWUwMDE4OyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnNlY29uZGFyeTo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIuc2Vjb25kYXJ5OjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzRCNEI0QjsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5zdWNjZXNzOjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci5zdWNjZXNzOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzdiYzg0YTsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy53YXJuaW5nOjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci53YXJuaW5nOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmYWUwMDsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5hbGVydDo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIuYWxlcnQ6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjY2M0YjM3OyB9XG4gIC5idXR0b24uYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgIHRvcDogLTAuMWVtO1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbmEuYnV0dG9uOmhvdmVyLCBhLmJ1dHRvbjpmb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG5bdHlwZT0ndGV4dCddLCBbdHlwZT0ncGFzc3dvcmQnXSwgW3R5cGU9J2RhdGUnXSwgW3R5cGU9J2RhdGV0aW1lJ10sIFt0eXBlPSdkYXRldGltZS1sb2NhbCddLCBbdHlwZT0nbW9udGgnXSwgW3R5cGU9J3dlZWsnXSwgW3R5cGU9J2VtYWlsJ10sIFt0eXBlPSdudW1iZXInXSwgW3R5cGU9J3NlYXJjaCddLCBbdHlwZT0ndGVsJ10sIFt0eXBlPSd0aW1lJ10sIFt0eXBlPSd1cmwnXSwgW3R5cGU9J2NvbG9yJ10sXG50ZXh0YXJlYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyLjkzNzVyZW07XG4gIG1hcmdpbjogMCAwIDEuNXJlbTtcbiAgcGFkZGluZzogMC43NXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBib3gtc2hhZG93OiBub25lO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogMzAwO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzBhMGEwYTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4gIGFwcGVhcmFuY2U6IG5vbmU7IH1cbiAgW3R5cGU9J3RleHQnXTpmb2N1cywgW3R5cGU9J3Bhc3N3b3JkJ106Zm9jdXMsIFt0eXBlPSdkYXRlJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXTpmb2N1cywgW3R5cGU9J21vbnRoJ106Zm9jdXMsIFt0eXBlPSd3ZWVrJ106Zm9jdXMsIFt0eXBlPSdlbWFpbCddOmZvY3VzLCBbdHlwZT0nbnVtYmVyJ106Zm9jdXMsIFt0eXBlPSdzZWFyY2gnXTpmb2N1cywgW3R5cGU9J3RlbCddOmZvY3VzLCBbdHlwZT0ndGltZSddOmZvY3VzLCBbdHlwZT0ndXJsJ106Zm9jdXMsIFt0eXBlPSdjb2xvciddOmZvY3VzLFxuICB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOGE4YThhO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgYm94LXNoYWRvdzogMCAwIDVweCAjY2FjYWNhO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG5cbnRleHRhcmVhIHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIHRleHRhcmVhW3Jvd3NdIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cblxuaW5wdXQ6ZGlzYWJsZWQsIGlucHV0W3JlYWRvbmx5XSxcbnRleHRhcmVhOmRpc2FibGVkLFxudGV4dGFyZWFbcmVhZG9ubHldIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG5bdHlwZT0nc3VibWl0J10sXG5bdHlwZT0nYnV0dG9uJ10ge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAycHg7IH1cblxuaW5wdXRbdHlwZT0nc2VhcmNoJ10ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbjo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2NhY2FjYTsgfVxuXG5bdHlwZT0nZmlsZSddLFxuW3R5cGU9J2NoZWNrYm94J10sXG5bdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbjogMCAwIDEuNXJlbTsgfVxuXG5bdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBtYXJnaW4tbGVmdDogMC43NXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbFtmb3JdLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsW2Zvcl0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5sYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxubGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbi1yaWdodDogMC43NXJlbTsgfVxuXG5bdHlwZT0nZmlsZSddIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogMzAwO1xuICBsaW5lLWhlaWdodDogMS44O1xuICBjb2xvcjogIzBhMGEwYTsgfVxuICBsYWJlbC5taWRkbGUge1xuICAgIG1hcmdpbjogMCAwIDEuNXJlbTtcbiAgICBwYWRkaW5nOiAwLjgxMjVyZW0gMDsgfVxuXG4uaGVscC10ZXh0IHtcbiAgbWFyZ2luLXRvcDogLTAuNzVyZW07XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG5cbi5pbnB1dC1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4gIC5pbnB1dC1ncm91cCA+IDpmaXJzdC1jaGlsZCwgLmlucHV0LWdyb3VwID4gOmZpcnN0LWNoaWxkLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICoge1xuICAgIGJvcmRlci1yYWRpdXM6IDJweCAwIDAgMnB4OyB9XG4gIC5pbnB1dC1ncm91cCA+IDpsYXN0LWNoaWxkLCAuaW5wdXQtZ3JvdXAgPiA6bGFzdC1jaGlsZC5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDJweCAycHggMDsgfVxuXG4uaW5wdXQtZ3JvdXAtbGFiZWwsIC5pbnB1dC1ncm91cC1maWVsZCwgLmlucHV0LWdyb3VwLWJ1dHRvbiwgLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCxcbi5pbnB1dC1ncm91cC1idXR0b24gYnV0dG9uLFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCB7XG4gIG1hcmdpbjogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4uaW5wdXQtZ3JvdXAtbGFiZWwge1xuICBwYWRkaW5nOiAwIDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJhY2tncm91bmQ6ICNmNGY0ZjQ7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5pbnB1dC1ncm91cC1sYWJlbDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJpZ2h0OiAwOyB9XG4gIC5pbnB1dC1ncm91cC1sYWJlbDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItbGVmdDogMDsgfVxuXG4uaW5wdXQtZ3JvdXAtZmllbGQge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBmbGV4OiAxIDEgMHB4O1xuICBtaW4td2lkdGg6IDA7IH1cblxuLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDAgYXV0bzsgfVxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4gIC5pbnB1dC1ncm91cC1idXR0b24gaW5wdXQsXG4gIC5pbnB1dC1ncm91cC1idXR0b24gYnV0dG9uLFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGxhYmVsIHtcbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBmb250LXNpemU6IDFyZW07IH1cblxuZmllbGRzZXQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDsgfVxuXG5sZWdlbmQge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDAuNzVyZW07IH1cblxuLmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAxLjEyNXJlbSAwO1xuICBwYWRkaW5nOiAxLjI1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhOyB9XG4gIC5maWVsZHNldCBsZWdlbmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tbGVmdDogLTAuMTg3NXJlbTtcbiAgICBwYWRkaW5nOiAwIDAuMTg3NXJlbTsgfVxuXG5zZWxlY3Qge1xuICBoZWlnaHQ6IDIuOTM3NXJlbTtcbiAgbWFyZ2luOiAwIDAgMS41cmVtO1xuICBwYWRkaW5nOiAwLjc1cmVtO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6IHJnYiUyODEzOCwgMTM4LCAxMzglMjknPjwvcG9seWdvbj48L3N2Zz5cIik7XG4gIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgLTEuNXJlbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcbiAgcGFkZGluZy1yaWdodDogMi4yNXJlbTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkge1xuICAgIHNlbGVjdCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09XCIpOyB9IH1cbiAgc2VsZWN0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4ICNjYWNhY2E7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cbiAgc2VsZWN0OmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHNlbGVjdFttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9XG4gIHNlbGVjdDpub3QoW211bHRpcGxlXSkge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG5cbi5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpIHtcbiAgYm9yZGVyLWNvbG9yOiAjY2M0YjM3O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjllY2VhOyB9XG4gIC5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICNjYzRiMzc7IH1cblxuLmlzLWludmFsaWQtbGFiZWwge1xuICBjb2xvcjogI2NjNGIzNzsgfVxuXG4uZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6IC0wLjc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICNjYzRiMzc7IH1cbiAgLmZvcm0tZXJyb3IuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmFjY29yZGlvbiB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiAjRkRGREZEO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgLmFjY29yZGlvbltkaXNhYmxlZF0gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uYWNjb3JkaW9uLWl0ZW06Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAycHggMnB4IDAgMDsgfVxuXG4uYWNjb3JkaW9uLWl0ZW06bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDJweCAycHg7IH1cblxuLmFjY29yZGlvbi10aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogIzRCNEI0QjsgfVxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAycHggMnB4OyB9XG4gIC5hY2NvcmRpb24tdGl0bGU6aG92ZXIsIC5hY2NvcmRpb24tdGl0bGU6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGREZERkQ7IH1cbiAgLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICBjb250ZW50OiBcIitcIjsgfVxuICAuaXMtYWN0aXZlID4gLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIuKAk1wiOyB9XG5cbi5hY2NvcmRpb24tY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDAgMCAxcmVtO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGREZERkQ7XG4gIGNvbG9yOiAjMzkzOTM5OyB9XG4gIDpsYXN0LWNoaWxkID4gLmFjY29yZGlvbi1jb250ZW50Omxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IDA7IH1cblxuLmFjY29yZGlvbi1tZW51IGxpIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmFjY29yZGlvbi1tZW51IGEge1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51IGEge1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51LmFsaWduLXJpZ2h0IC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Om5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQ6bm90KC5oYXMtc3VibWVudS10b2dnbGUpID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI2VlMDAxOCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTNweDtcbiAgICByaWdodDogMXJlbTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUuYWxpZ24tbGVmdCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICByaWdodDogMXJlbTtcbiAgbGVmdDogYXV0bzsgfVxuXG4uYWNjb3JkaW9uLW1lbnUuYWxpZ24tcmlnaHQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD0ndHJ1ZSddID4gYTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlOyB9XG5cbi5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmhhcy1zdWJtZW51LXRvZ2dsZSA+IGEge1xuICBtYXJnaW4tcmlnaHQ6IDQwcHg7IH1cblxuLnN1Ym1lbnUtdG9nZ2xlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLnN1Ym1lbnUtdG9nZ2xlOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZWUwMDE4IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG5cbi5zdWJtZW51LXRvZ2dsZVthcmlhLWV4cGFuZGVkPSd0cnVlJ106OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlOyB9XG5cbi5zdWJtZW51LXRvZ2dsZS10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCkgIWltcG9ydGFudDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAgIWltcG9ydGFudDsgfVxuXG4uY2xvc2UtYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcbiAgY29sb3I6ICM4YThhOGE7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmNsb3NlLWJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuY2xvc2UtYnV0dG9uOmhvdmVyLCAuY2xvc2UtYnV0dG9uOmZvY3VzIHtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuY2xvc2UtYnV0dG9uLnNtYWxsIHtcbiAgICByaWdodDogMC42NnJlbTtcbiAgICB0b3A6IDAuMzNlbTtcbiAgICBmb250LXNpemU6IDEuNWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5jbG9zZS1idXR0b24ubWVkaXVtLCAuY2xvc2UtYnV0dG9uIHtcbiAgICByaWdodDogMXJlbTtcbiAgICB0b3A6IDAuNXJlbTtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuXG4ubWVudSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5tZW51IGxpIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5tZW51IGEsXG4gIC5tZW51IC5idXR0b24ge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiBBV0VTRU0tSEFDSzsgfVxuICAubWVudSBpbnB1dCxcbiAgLm1lbnUgc2VsZWN0LFxuICAubWVudSBhLFxuICAubWVudSBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm1lbnUgaW5wdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAubWVudSwgLm1lbnUuaG9yaXpvbnRhbCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLm1lbnUudmVydGljYWwge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLm1lbnUuZXhwYW5kZWQgbGkge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgLm1lbnUuc2ltcGxlIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLm1lbnUuc2ltcGxlIGxpICsgbGkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgICAubWVudS5zaW1wbGUgYSB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1lbnUubWVkaXVtLWhvcml6b250YWwge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIC5tZW51Lm1lZGl1bS12ZXJ0aWNhbCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAubWVudS5tZWRpdW0tZXhwYW5kZWQgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfVxuICAgIC5tZW51Lm1lZGl1bS1zaW1wbGUgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgLm1lbnUubGFyZ2UtdmVydGljYWwge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLm1lbnUubGFyZ2UtZXhwYW5kZWQgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfVxuICAgIC5tZW51LmxhcmdlLXNpbXBsZSBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cbiAgLm1lbnUubmVzdGVkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgLm1lbnUuaWNvbnMgYSB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubWVudS5pY29uLXRvcCBhLCAubWVudS5pY29uLXJpZ2h0IGEsIC5tZW51Lmljb24tYm90dG9tIGEsIC5tZW51Lmljb24tbGVmdCBhIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5tZW51Lmljb24tbGVmdCBsaSBhIHtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLWxlZnQgbGkgYSBpbWcsXG4gICAgLm1lbnUuaWNvbi1sZWZ0IGxpIGEgaSxcbiAgICAubWVudS5pY29uLWxlZnQgbGkgYSBzdmcge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtOyB9XG4gIC5tZW51Lmljb24tcmlnaHQgbGkgYSB7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwOyB9XG4gICAgLm1lbnUuaWNvbi1yaWdodCBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLXJpZ2h0IGxpIGEgaSxcbiAgICAubWVudS5pY29uLXJpZ2h0IGxpIGEgc3ZnIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtOyB9XG4gIC5tZW51Lmljb24tdG9wIGxpIGEge1xuICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxuICAgIC5tZW51Lmljb24tdG9wIGxpIGEgaW1nLFxuICAgIC5tZW51Lmljb24tdG9wIGxpIGEgaSxcbiAgICAubWVudS5pY29uLXRvcCBsaSBhIHN2ZyB7XG4gICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVudS5pY29uLWJvdHRvbSBsaSBhIHtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLWJvdHRvbSBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLWJvdHRvbSBsaSBhIGksXG4gICAgLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBzdmcge1xuICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lbnUgLmlzLWFjdGl2ZSA+IGEge1xuICAgIGJhY2tncm91bmQ6ICNlZTAwMTg7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLm1lbnUgLmFjdGl2ZSA+IGEge1xuICAgIGJhY2tncm91bmQ6ICNlZTAwMTg7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLm1lbnUuYWxpZ24tbGVmdCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0IGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAubWVudS5hbGlnbi1yaWdodCBsaSAuc3VibWVudSBsaSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQudmVydGljYWwgbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgLm1lbnUuYWxpZ24tcmlnaHQudmVydGljYWwgbGkgLnN1Ym1lbnUgbGkge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQgLm5lc3RlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5tZW51LmFsaWduLWNlbnRlciBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5tZW51LmFsaWduLWNlbnRlciBsaSAuc3VibWVudSBsaSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLm1lbnUgLm1lbnUtdGV4dCB7XG4gICAgcGFkZGluZzogMC43cmVtIDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cblxuLm1lbnUtY2VudGVyZWQgPiAubWVudSB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5tZW51LWNlbnRlcmVkID4gLm1lbnUgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAubWVudS1jZW50ZXJlZCA+IC5tZW51IGxpIC5zdWJtZW51IGxpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuXG4ubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmRyb3Bkb3duLXBhbmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMjUwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYm9yZGVyOiAxcHggc29saWQgIzJEMkQyRDtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkQyRDJEO1xuICBmb250LXNpemU6IDFyZW07IH1cbiAgLmRyb3Bkb3duLXBhbmUuaXMtb3BlbmluZyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmRyb3Bkb3duLXBhbmUuaXMtb3BlbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuXG4uZHJvcGRvd24tcGFuZS50aW55IHtcbiAgd2lkdGg6IDEwMHB4OyB9XG5cbi5kcm9wZG93bi1wYW5lLnNtYWxsIHtcbiAgd2lkdGg6IDIwMHB4OyB9XG5cbi5kcm9wZG93bi1wYW5lLmxhcmdlIHtcbiAgd2lkdGg6IDQwMHB4OyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bzsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAwOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogI2VlMDAxOCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgcmlnaHQ6IDVweDtcbiAgbGVmdDogYXV0bztcbiAgbWFyZ2luLXRvcDogLTNweDsgfVxuXG5bZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmRyb3Bkb3duLm1lbnUgYSB7XG4gIG91dGxpbmU6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaSA+IGEge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1hY3RpdmUgPiBhIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjZWUwMDE4OyB9XG5cbi5uby1qcyAuZHJvcGRvd24ubWVudSB1bCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmRyb3Bkb3duLm1lbnUgLm5lc3RlZC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAwOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAwO1xuICByaWdodDogMTAwJTtcbiAgbGVmdDogYXV0bzsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMTAwJTsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICByaWdodDogMTRweDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNlZTAwMTggdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiA1cHg7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2VlMDAxODsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI2VlMDAxOCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogNXB4O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogLTNweDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI2VlMDAxOCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZWUwMDE4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI2VlMDAxOCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogNXB4O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogLTNweDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4OyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNlZTAwMTggdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4OyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZWUwMDE4OyB9IH1cblxuLmRyb3Bkb3duLm1lbnUuYWxpZ24tcmlnaHQgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bzsgfVxuXG4uaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCB7XG4gIHdpZHRoOiAxMDBweDsgfVxuICAuaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbC5hbGlnbi1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgYTo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogNXB4O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogLTZweDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtaW5uZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBub25lO1xuICBtaW4td2lkdGg6IDIwMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAuZHJvcGRvd24gLmlzLWRyb3Bkb3duLXN1Ym1lbnUgYSB7XG4gICAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI2VlMDAxOCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2VlMDAxODsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgbWFyZ2luLXRvcDogLTFweDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSA+IGxpIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5zdGlja3ktY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5zdGlja3kge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuLnN0aWNreS5pcy1zdHVjayB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogNTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnN0aWNreS5pcy1zdHVjay5pcy1hdC10b3Age1xuICAgIHRvcDogMDsgfVxuICAuc3RpY2t5LmlzLXN0dWNrLmlzLWF0LWJvdHRvbSB7XG4gICAgYm90dG9tOiAwOyB9XG5cbi5zdGlja3kuaXMtYW5jaG9yZWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiBhdXRvOyB9XG4gIC5zdGlja3kuaXMtYW5jaG9yZWQuaXMtYXQtYm90dG9tIHtcbiAgICBib3R0b206IDA7IH1cblxuaHRtbC5pcy1yZXZlYWwtb3BlbiB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjsgfVxuICBodG1sLmlzLXJldmVhbC1vcGVuLnpmLWhhcy1zY3JvbGwge1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuICBodG1sLmlzLXJldmVhbC1vcGVuIGJvZHkge1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjsgfVxuXG4ucmV2ZWFsLW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAwNTtcbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMCwgMTAsIDEwLCAwLjQ1KTtcbiAgb3ZlcmZsb3cteTogYXV0bzsgfVxuXG4ucmV2ZWFsIHtcbiAgei1pbmRleDogMTAwNjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAxMDBweDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnJldmVhbCB7XG4gICAgb3V0bGluZTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgbWluLWhlaWdodDogMDsgfSB9XG4gIC5yZXZlYWwgLmNvbHVtbiB7XG4gICAgbWluLXdpZHRoOiAwOyB9XG4gIC5yZXZlYWwgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgd2lkdGg6IDYwMHB4O1xuICAgICAgbWF4LXdpZHRoOiA4MS4yNXJlbTsgfSB9XG4gIC5yZXZlYWwuY29sbGFwc2Uge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsLnRpbnkge1xuICAgICAgd2lkdGg6IDMwJTtcbiAgICAgIG1heC13aWR0aDogODEuMjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwuc21hbGwge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIG1heC13aWR0aDogODEuMjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwubGFyZ2Uge1xuICAgICAgd2lkdGg6IDkwJTtcbiAgICAgIG1heC13aWR0aDogODEuMjVyZW07IH0gfVxuICAucmV2ZWFsLmZ1bGwge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfSB9XG4gIC5yZXZlYWwud2l0aG91dC1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMnB4OyB9XG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3Qge1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG4gIGNhcHRpb24ge1xuICAgIHBhZGRpbmc6IDAuNzVyZW0gMC4zMTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgY29sb3I6ICMzOTM5Mzk7IH1cbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICNmMWYxZjE7XG4gICAgY29sb3I6ICMzOTM5Mzk7IH1cbiAgdGhlYWQgdHIsXG4gIHRmb290IHRyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICB0aGVhZCB0aCxcbiAgdGhlYWQgdGQsXG4gIHRmb290IHRoLFxuICB0Zm9vdCB0ZCB7XG4gICAgcGFkZGluZzogMC43NXJlbSAwLjMxMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIHRib2R5IHRoLFxuICB0Ym9keSB0ZCB7XG4gICAgcGFkZGluZzogMC43NXJlbSAwLjMxMjVyZW07IH1cbiAgdGJvZHkgdHIge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG4gIHRhYmxlLnN0cmlwZWQgdGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgdGFibGUuc3RhY2sgdGhlYWQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgdGFibGUuc3RhY2sgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgdGFibGUuc3RhY2sgdHIsXG4gIHRhYmxlLnN0YWNrIHRoLFxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgdGFibGUuc3RhY2sgdGQge1xuICAgIGJvcmRlci10b3A6IDA7IH0gfVxuXG50YWJsZS5zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87IH1cblxudGFibGUuaG92ZXIgdGhlYWQgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5OyB9XG5cbnRhYmxlLmhvdmVyIHRmb290IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VjZWNlYzsgfVxuXG50YWJsZS5ob3ZlciB0Ym9keSB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7IH1cblxudGFibGUuaG92ZXIuc3RyaXBlZCB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZWM7IH1cblxuLnRhYmxlLXNjcm9sbCB7XG4gIG92ZXJmbG93LXg6IGF1dG87IH1cblxuLmhpZGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAuaGlkZS1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMGVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5zaG93LWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gIC5zaG93LWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDc0Ljk5ODc1ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5zaG93LWZvci1zcixcbi5zaG93LW9uLWZvY3VzIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCkgIWltcG9ydGFudDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAgIWltcG9ydGFudDsgfVxuXG4uc2hvdy1vbi1mb2N1czphY3RpdmUsIC5zaG93LW9uLWZvY3VzOmZvY3VzIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbiAgY2xpcDogYXV0byAhaW1wb3J0YW50O1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsICFpbXBvcnRhbnQ7IH1cblxuLnNob3ctZm9yLWxhbmRzY2FwZSxcbi5oaWRlLWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5oaWRlLWZvci1sYW5kc2NhcGUsXG4uc2hvdy1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG5cbi5hbGlnbi1sZWZ0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1yaWdodCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmFsaWduLWNlbnRlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5hbGlnbi1qdXN0aWZ5IHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi5hbGlnbi1zcGFjZWQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG4uYWxpZ24tbGVmdC52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1yaWdodC52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tY2VudGVyLnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uYWxpZ24tdG9wIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLXNlbGYtdG9wIHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuXG4uYWxpZ24tYm90dG9tIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1zZWxmLWJvdHRvbSB7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1taWRkbGUge1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5hbGlnbi1zZWxmLW1pZGRsZSB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjsgfVxuXG4uYWxpZ24tc3RyZXRjaCB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG5cbi5hbGlnbi1zZWxmLXN0cmV0Y2gge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoOyB9XG5cbi5hbGlnbi1jZW50ZXItbWlkZGxlIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uc21hbGwtb3JkZXItMSB7XG4gIG9yZGVyOiAxOyB9XG5cbi5zbWFsbC1vcmRlci0yIHtcbiAgb3JkZXI6IDI7IH1cblxuLnNtYWxsLW9yZGVyLTMge1xuICBvcmRlcjogMzsgfVxuXG4uc21hbGwtb3JkZXItNCB7XG4gIG9yZGVyOiA0OyB9XG5cbi5zbWFsbC1vcmRlci01IHtcbiAgb3JkZXI6IDU7IH1cblxuLnNtYWxsLW9yZGVyLTYge1xuICBvcmRlcjogNjsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5tZWRpdW0tb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLm1lZGl1bS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAubWVkaXVtLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC5tZWRpdW0tb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLm1lZGl1bS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAubGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLmxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5sYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAubGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLmxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuLmZsZXgtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4uZmxleC1jaGlsZC1hdXRvIHtcbiAgZmxleDogMSAxIGF1dG87IH1cblxuLmZsZXgtY2hpbGQtZ3JvdyB7XG4gIGZsZXg6IDEgMCBhdXRvOyB9XG5cbi5mbGV4LWNoaWxkLXNocmluayB7XG4gIGZsZXg6IDAgMSBhdXRvOyB9XG5cbi5mbGV4LWRpci1yb3cge1xuICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG5cbi5mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuXG4uZmxleC1kaXItY29sdW1uIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4uZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87IH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC5tZWRpdW0tZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5tZWRpdW0tZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAubWVkaXVtLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAubWVkaXVtLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87IH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAubGFyZ2UtZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5sYXJnZS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC5sYXJnZS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLmxhcmdlLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuXG4vKlxuIFJFTUVNQkVSIEFCT1VUIEFERElORzogZm9udC1kaXNwbGF5OiBzd2FwO1xuICovXG4vKiBtdWxpc2gtMzAwIC0gbGF0aW4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ011bGlzaCc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL211bGlzaC12My1sYXRpbi0zMDAuZW90XCIpO1xuICAvKiBJRTkgQ29tcGF0IE1vZGVzICovXG4gIHNyYzogbG9jYWwoXCJcIiksIHVybChcIi4uL2ZvbnRzL211bGlzaC12My1sYXRpbi0zMDAuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvbXVsaXNoLXYzLWxhdGluLTMwMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvbXVsaXNoLXYzLWxhdGluLTMwMC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL211bGlzaC12My1sYXRpbi0zMDAudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9tdWxpc2gtdjMtbGF0aW4tMzAwLnN2ZyNNdWxpc2hcIikgZm9ybWF0KFwic3ZnXCIpO1xuICAvKiBMZWdhY3kgaU9TICovIH1cblxuLyogbXVsaXNoLTcwMCAtIGxhdGluICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdNdWxpc2gnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9tdWxpc2gtdjMtbGF0aW4tNzAwLmVvdFwiKTtcbiAgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xuICBzcmM6IGxvY2FsKFwiXCIpLCB1cmwoXCIuLi9mb250cy9tdWxpc2gtdjMtbGF0aW4tNzAwLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL211bGlzaC12My1sYXRpbi03MDAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL211bGlzaC12My1sYXRpbi03MDAud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9tdWxpc2gtdjMtbGF0aW4tNzAwLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvbXVsaXNoLXYzLWxhdGluLTcwMC5zdmcjTXVsaXNoXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgLyogTGVnYWN5IGlPUyAqLyB9XG5cbi8qIG5ld3NyZWFkZXItcmVndWxhciAtIGxhdGluICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdOZXdzcmVhZGVyJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvbmV3c3JlYWRlci12Mi1sYXRpbi1yZWd1bGFyLmVvdFwiKTtcbiAgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xuICBzcmM6IGxvY2FsKFwiXCIpLCB1cmwoXCIuLi9mb250cy9uZXdzcmVhZGVyLXYyLWxhdGluLXJlZ3VsYXIuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvbmV3c3JlYWRlci12Mi1sYXRpbi1yZWd1bGFyLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9uZXdzcmVhZGVyLXYyLWxhdGluLXJlZ3VsYXIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9uZXdzcmVhZGVyLXYyLWxhdGluLXJlZ3VsYXIudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9uZXdzcmVhZGVyLXYyLWxhdGluLXJlZ3VsYXIuc3ZnI05ld3NyZWFkZXJcIikgZm9ybWF0KFwic3ZnXCIpO1xuICAvKiBMZWdhY3kgaU9TICovIH1cblxuLypcblRoaXMgbWl4aW4gY2FuIGJlIHVzZWQgdG8gc2V0IHRoZSBvYmplY3QtZml0OlxuQGluY2x1ZGUgb2JqZWN0LWZpdChjb250YWluKTtcbm9yIG9iamVjdC1maXQgYW5kIG9iamVjdC1wb3NpdGlvbjpcbkBpbmNsdWRlIG9iamVjdC1maXQoY292ZXIsIHRvcCk7XG4qL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnZm9udGVsbG8nO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2ZvbnRlbGxvLmVvdD85NzQ0ODk5XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2ZvbnRlbGxvLmVvdD85NzQ0ODk5I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9mb250ZWxsby53b2ZmMj85NzQ0ODk5XCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9mb250ZWxsby53b2ZmPzk3NDQ4OTlcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvZm9udGVsbG8udHRmPzk3NDQ4OTlcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL2ZvbnRlbGxvLnN2Zz85NzQ0ODk5I2ZvbnRlbGxvXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7IH1cblxuLyogQ2hyb21lIGhhY2s6IFNWRyBpcyByZW5kZXJlZCBtb3JlIHNtb290aCBpbiBXaW5kb3p6ZS4gMTAwJSBtYWdpYywgdW5jb21tZW50IGlmIHlvdSBuZWVkIGl0LiAqL1xuLyogTm90ZSwgdGhhdCB3aWxsIGJyZWFrIGhpbnRpbmchIEluIG90aGVyIE9TLWVzIGZvbnQgd2lsbCBiZSBub3QgYXMgc2hhcnAgYXMgaXQgY291bGQgYmUgKi9cbi8qXG5AbWVkaWEgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOjApIHtcbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdmb250ZWxsbyc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnQvZm9udGVsbG8uc3ZnPzk3NDQ4OTkjZm9udGVsbG8nKSBmb3JtYXQoJ3N2ZycpO1xuICB9XG59XG4qL1xuLndwbWxfX2xhbmd1YWdlLS1jdXJyZW50OjpiZWZvcmUsIC5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciwgLnN1Ym1lbnUtdG9nZ2xlOjphZnRlciwgLmJyZWFkY3J1bWJzX19zZXBhcmF0b3IsIC5wYWdpbmF0aW9uX19pY29uLCAuc2lkZWJhciBhW2hyZWYqPSdmYWNlYm9vay5jb20nXTo6YmVmb3JlLFxuLmZvb3RlciBhW2hyZWYqPSdmYWNlYm9vay5jb20nXTo6YmVmb3JlLCAuc2lkZWJhciBhW2hyZWYqPSd0d2l0dGVyLmNvbSddOjpiZWZvcmUsXG4uZm9vdGVyIGFbaHJlZio9J3R3aXR0ZXIuY29tJ106OmJlZm9yZSwgLnNpZGViYXIgYVtocmVmKj0nbGlua2VkaW4uY29tJ106OmJlZm9yZSxcbi5mb290ZXIgYVtocmVmKj0nbGlua2VkaW4uY29tJ106OmJlZm9yZSwgLnNpZGViYXIgYVtocmVmKj0ncGludGVyZXN0LmNvbSddOjpiZWZvcmUsXG4uZm9vdGVyIGFbaHJlZio9J3BpbnRlcmVzdC5jb20nXTo6YmVmb3JlLCAuc2lkZWJhciBhW2hyZWYqPSd5b3V0dWJlLmNvbSddOjpiZWZvcmUsXG4uZm9vdGVyIGFbaHJlZio9J3lvdXR1YmUuY29tJ106OmJlZm9yZSwgLnNpZGViYXIgYVtocmVmKj0ncGx1cy5nb29nbGUuY29tJ106OmJlZm9yZSxcbi5mb290ZXIgYVtocmVmKj0ncGx1cy5nb29nbGUuY29tJ106OmJlZm9yZSwgLnNpZGViYXIgYVtocmVmKj0nc3R1bWJsZXVwb24uY29tJ106OmJlZm9yZSxcbi5mb290ZXIgYVtocmVmKj0nc3R1bWJsZXVwb24uY29tJ106OmJlZm9yZSwgLnNpZGViYXIgYVtocmVmKj0naW5zdGFncmFtLmNvbSddOjpiZWZvcmUsXG4uZm9vdGVyIGFbaHJlZio9J2luc3RhZ3JhbS5jb20nXTo6YmVmb3JlLCAuc2lkZWJhciBhW2hyZWYqPSdyZWRkaXQuY29tJ106OmJlZm9yZSxcbi5mb290ZXIgYVtocmVmKj0ncmVkZGl0LmNvbSddOjpiZWZvcmUge1xuICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHNwZWFrOiBub25lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgd2lkdGg6IDFlbTtcbiAgbWFyZ2luLXJpZ2h0OiAuMmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC8qIG9wYWNpdHk6IC44OyAqL1xuICAvKiBGb3Igc2FmZXR5IC0gcmVzZXQgcGFyZW50IHN0eWxlcywgdGhhdCBjYW4gYnJlYWsgZ2x5cGggY29kZXMqL1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIC8qIGZpeCBidXR0b25zIGhlaWdodCwgZm9yIHR3aXR0ZXIgYm9vdHN0cmFwICovXG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIC8qIEFuaW1hdGlvbiBjZW50ZXIgY29tcGVuc2F0aW9uIC0gbWFyZ2lucyBzaG91bGQgYmUgc3ltbWV0cmljICovXG4gIC8qIHJlbW92ZSBpZiBub3QgbmVlZGVkICovXG4gIG1hcmdpbi1sZWZ0OiAuMmVtO1xuICAvKiB5b3UgY2FuIGJlIG1vcmUgY29tZm9ydGFibGUgd2l0aCBpbmNyZWFzZWQgaWNvbnMgc2l6ZSAqL1xuICAvKiBmb250LXNpemU6IDEyMCU7ICovXG4gIC8qIEZvbnQgc21vb3RoaW5nLiBUaGF0IHdhcyB0YWtlbiBmcm9tIFRXQlMgKi9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC8qIFVuY29tbWVudCBmb3IgM0QgZWZmZWN0ICovXG4gIC8qIHRleHQtc2hhZG93OiAxcHggMXB4IDFweCByZ2JhKDEyNywgMTI3LCAxMjcsIDAuMyk7ICovIH1cblxuLnBhZ2luYXRpb25fX2ljb24tLXByZXZpb3VzOjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxmMTA0JzsgfVxuXG4uYnJlYWRjcnVtYnNfX3NlcGFyYXRvcjo6YmVmb3JlLCAucGFnaW5hdGlvbl9faWNvbi0tbmV4dDo6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZjEwNSc7IH1cblxuLndwbWxfX2xhbmd1YWdlLS1jdXJyZW50OjpiZWZvcmUsIC5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciwgLnN1Ym1lbnUtdG9nZ2xlOjphZnRlciB7XG4gIGNvbnRlbnQ6ICdcXGYxMDcnOyB9XG5cbi5wYWdpbmF0aW9uX19pY29uLS1maXJzdDo6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZjEwMCc7IH1cblxuLnBhZ2luYXRpb25fX2ljb24tLWxhc3Q6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGYxMDEnOyB9XG5cbi5zaWRlYmFyIGFbaHJlZio9J3R3aXR0ZXIuY29tJ106OmJlZm9yZSxcbi5mb290ZXIgYVtocmVmKj0ndHdpdHRlci5jb20nXTo6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZjA5OSc7IH1cblxuLnNpZGViYXIgYVtocmVmKj0nZmFjZWJvb2suY29tJ106OmJlZm9yZSxcbi5mb290ZXIgYVtocmVmKj0nZmFjZWJvb2suY29tJ106OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGYwOWEnOyB9XG5cbi5zaWRlYmFyIGFbaHJlZio9J3BsdXMuZ29vZ2xlLmNvbSddOjpiZWZvcmUsXG4uZm9vdGVyIGFbaHJlZio9J3BsdXMuZ29vZ2xlLmNvbSddOjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxmMGQ1JzsgfVxuXG4uc2lkZWJhciBhW2hyZWYqPSdsaW5rZWRpbi5jb20nXTo6YmVmb3JlLFxuLmZvb3RlciBhW2hyZWYqPSdsaW5rZWRpbi5jb20nXTo6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZjBlMSc7IH1cblxuLnNpZGViYXIgYVtocmVmKj0neW91dHViZS5jb20nXTo6YmVmb3JlLFxuLmZvb3RlciBhW2hyZWYqPSd5b3V0dWJlLmNvbSddOjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxmMTY3JzsgfVxuXG4uc2lkZWJhciBhW2hyZWYqPSdpbnN0YWdyYW0uY29tJ106OmJlZm9yZSxcbi5mb290ZXIgYVtocmVmKj0naW5zdGFncmFtLmNvbSddOjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxmMTZkJzsgfVxuXG4uc2lkZWJhciBhW2hyZWYqPSdwaW50ZXJlc3QuY29tJ106OmJlZm9yZSxcbi5mb290ZXIgYVtocmVmKj0ncGludGVyZXN0LmNvbSddOjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxmMjMxJzsgfVxuXG4uc2lkZWJhciBhW2hyZWYqPSdzdHVtYmxldXBvbi5jb20nXTo6YmVmb3JlLFxuLmZvb3RlciBhW2hyZWYqPSdzdHVtYmxldXBvbi5jb20nXTo6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZjFhNCc7IH1cblxuLnNpZGViYXIgYVtocmVmKj0ncmVkZGl0LmNvbSddOjpiZWZvcmUsXG4uZm9vdGVyIGFbaHJlZio9J3JlZGRpdC5jb20nXTo6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZjI4MSc7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nNTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nNTAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nNTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nNTAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nNTAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nNTAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogNTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScxMDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nMTAwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxMDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScxMDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMTAwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzEwMCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxMDAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMTAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nMTUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzE1MCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nMTUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzE1MCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PScxNTAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMTUwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDE1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzIwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPScyMDAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDIwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzIwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyMDAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMjAwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzIwMCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAyMDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScyNTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nMjUwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScyNTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMjUwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzI1MCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyNTAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMjUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nMzAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzMwMCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMzAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nMzAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzMwMCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PSczMDAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMzAwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDMwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzM1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPSczNTAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDM1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzM1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSczNTAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMzUwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzM1MCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAzNTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPSc0MDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nNDAwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA0MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PSc0MDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nNDAwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzQwMCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSc0MDAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogNDAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nNDUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzQ1MCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNDUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nNDUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzQ1MCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PSc0NTAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nNDUwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDQ1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzUwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPSc1MDAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzUwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSc1MDAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nNTAwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzUwMCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiA1MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPSc1NTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nNTUwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PSc1NTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nNTUwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzU1MCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSc1NTAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogNTUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nNjAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzYwMCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNjAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nNjAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzYwMCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PSc2MDAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nNjAwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDYwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzY1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPSc2NTAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDY1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzY1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSc2NTAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nNjUwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzY1MCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiA2NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPSc3MDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nNzAwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PSc3MDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nNzAwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzcwMCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSc3MDAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogNzAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nNzUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249Jzc1MCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nNzUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9Jzc1MCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PSc3NTAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nNzUwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDc1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzgwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPSc4MDAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDgwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzgwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSc4MDAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nODAwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzgwMCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiA4MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPSc4NTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nODUwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA4NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PSc4NTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nODUwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9Jzg1MCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSc4NTAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogODUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nOTAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzkwMCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogOTAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nOTAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzkwMCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PSc5MDAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nOTAwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDkwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249Jzk1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPSc5NTAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDk1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9Jzk1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSc5NTAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nOTUwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9Jzk1MCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiA5NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScxMDAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzEwMDAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDEwMDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScxMDAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzEwMDAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMTAwMCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxMDAwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDEwMDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScxMDUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzEwNTAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDEwNTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScxMDUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzEwNTAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMTA1MCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxMDUwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDEwNTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScxMTAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzExMDAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDExMDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScxMTAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzExMDAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMTEwMCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxMTAwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDExMDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScxMTUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzExNTAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDExNTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScxMTUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzExNTAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMTE1MCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxMTUwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDExNTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScxMjAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzEyMDAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDEyMDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScxMjAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzEyMDAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMTIwMCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxMjAwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDEyMDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScxMjUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzEyNTAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDEyNTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScxMjUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzEyNTAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMTI1MCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxMjUwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDEyNTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScxMzAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzEzMDAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDEzMDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScxMzAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzEzMDAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMTMwMCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxMzAwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDEzMDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScxMzUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzEzNTAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDEzNTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScxMzUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzEzNTAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMTM1MCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxMzUwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDEzNTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScxNDAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzE0MDAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDE0MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScxNDAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzE0MDAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMTQwMCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxNDAwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDE0MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScxNDUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzE0NTAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDE0NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScxNDUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzE0NTAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMTQ1MCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxNDUwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDE0NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScxNTAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzE1MDAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDE1MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScxNTAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzE1MDAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMTUwMCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxNTAwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDE1MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScxNTUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzE1NTAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDE1NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScxNTUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzE1NTAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMTU1MCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxNTUwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDE1NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScxNjAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzE2MDAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDE2MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScxNjAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzE2MDAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMTYwMCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxNjAwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDE2MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScxNjUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzE2NTAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDE2NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScxNjUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzE2NTAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMTY1MCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxNjUwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDE2NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScxNzAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzE3MDAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDE3MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScxNzAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzE3MDAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMTcwMCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxNzAwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDE3MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScxNzUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzE3NTAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDE3NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScxNzUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzE3NTAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMTc1MCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxNzUwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDE3NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScxODAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzE4MDAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDE4MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScxODAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzE4MDAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMTgwMCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxODAwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDE4MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScxODUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzE4NTAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDE4NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScxODUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzE4NTAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMTg1MCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxODUwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDE4NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScxOTAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzE5MDAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDE5MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScxOTAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzE5MDAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMTkwMCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxOTAwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDE5MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScxOTUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzE5NTAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDE5NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScxOTUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzE5NTAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMTk1MCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxOTUwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDE5NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScyMDAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzIwMDAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDIwMDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScyMDAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzIwMDAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMjAwMCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyMDAwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDIwMDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScyMDUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzIwNTAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDIwNTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScyMDUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzIwNTAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMjA1MCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyMDUwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDIwNTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScyMTAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzIxMDAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDIxMDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScyMTAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzIxMDAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMjEwMCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyMTAwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDIxMDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScyMTUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzIxNTAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDIxNTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScyMTUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzIxNTAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMjE1MCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyMTUwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDIxNTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScyMjAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzIyMDAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDIyMDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScyMjAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzIyMDAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMjIwMCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyMjAwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDIyMDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScyMjUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzIyNTAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDIyNTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScyMjUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzIyNTAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMjI1MCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyMjUwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDIyNTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScyMzAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzIzMDAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDIzMDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScyMzAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzIzMDAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMjMwMCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyMzAwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDIzMDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScyMzUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzIzNTAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDIzNTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScyMzUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzIzNTAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMjM1MCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyMzUwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDIzNTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScyNDAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzI0MDAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI0MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScyNDAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzI0MDAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMjQwMCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyNDAwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDI0MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScyNDUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzI0NTAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI0NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScyNDUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzI0NTAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMjQ1MCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyNDUwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDI0NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScyNTAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzI1MDAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI1MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScyNTAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzI1MDAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMjUwMCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyNTAwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDI1MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScyNTUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzI1NTAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI1NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScyNTUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzI1NTAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMjU1MCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyNTUwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDI1NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScyNjAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzI2MDAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI2MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScyNjAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzI2MDAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMjYwMCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyNjAwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDI2MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScyNjUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzI2NTAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI2NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScyNjUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzI2NTAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMjY1MCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyNjUwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDI2NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScyNzAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzI3MDAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI3MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScyNzAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzI3MDAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMjcwMCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyNzAwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDI3MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScyNzUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzI3NTAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI3NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScyNzUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzI3NTAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMjc1MCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyNzUwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDI3NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScyODAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzI4MDAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI4MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScyODAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzI4MDAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMjgwMCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyODAwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDI4MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScyODUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzI4NTAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI4NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScyODUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzI4NTAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMjg1MCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyODUwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDI4NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScyOTAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzI5MDAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI5MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScyOTAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzI5MDAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMjkwMCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyOTAwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDI5MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScyOTUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzI5NTAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI5NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScyOTUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzI5NTAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMjk1MCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyOTUwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDI5NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPSczMDAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzMwMDAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDMwMDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PSczMDAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzMwMDAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMzAwMCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSczMDAwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDMwMDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWVhc2luZz1cImxpbmVhclwiXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1lYXNpbmc9XCJsaW5lYXJcIl0ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuMjUsIDAuNzUsIDAuNzUpOyB9XG5cbmJvZHlbZGF0YS1hb3MtZWFzaW5nPVwiZWFzZVwiXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1lYXNpbmc9XCJlYXNlXCJdIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjEsIDAuMjUsIDEpOyB9XG5cbmJvZHlbZGF0YS1hb3MtZWFzaW5nPVwiZWFzZS1pblwiXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1lYXNpbmc9XCJlYXNlLWluXCJdIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQyLCAwLCAxLCAxKTsgfVxuXG5ib2R5W2RhdGEtYW9zLWVhc2luZz1cImVhc2Utb3V0XCJdIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWVhc2luZz1cImVhc2Utb3V0XCJdIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLCAwLCAwLjU4LCAxKTsgfVxuXG5ib2R5W2RhdGEtYW9zLWVhc2luZz1cImVhc2UtaW4tb3V0XCJdIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWVhc2luZz1cImVhc2UtaW4tb3V0XCJdIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKTsgfVxuXG5ib2R5W2RhdGEtYW9zLWVhc2luZz1cImVhc2UtaW4tYmFja1wiXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1lYXNpbmc9XCJlYXNlLWluLWJhY2tcIl0ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNiwgLTAuMjgsIDAuNzM1LCAwLjA0NSk7IH1cblxuYm9keVtkYXRhLWFvcy1lYXNpbmc9XCJlYXNlLW91dC1iYWNrXCJdIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWVhc2luZz1cImVhc2Utb3V0LWJhY2tcIl0ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMS4yNzUpOyB9XG5cbmJvZHlbZGF0YS1hb3MtZWFzaW5nPVwiZWFzZS1pbi1vdXQtYmFja1wiXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1lYXNpbmc9XCJlYXNlLWluLW91dC1iYWNrXCJdIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjY4LCAtMC41NSwgMC4yNjUsIDEuNTUpOyB9XG5cbmJvZHlbZGF0YS1hb3MtZWFzaW5nPVwiZWFzZS1pbi1zaW5lXCJdIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWVhc2luZz1cImVhc2UtaW4tc2luZVwiXSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40NywgMCwgMC43NDUsIDAuNzE1KTsgfVxuXG5ib2R5W2RhdGEtYW9zLWVhc2luZz1cImVhc2Utb3V0LXNpbmVcIl0gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZWFzaW5nPVwiZWFzZS1vdXQtc2luZVwiXSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4zOSwgMC41NzUsIDAuNTY1LCAxKTsgfVxuXG5ib2R5W2RhdGEtYW9zLWVhc2luZz1cImVhc2UtaW4tb3V0LXNpbmVcIl0gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZWFzaW5nPVwiZWFzZS1pbi1vdXQtc2luZVwiXSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40NDUsIDAuMDUsIDAuNTUsIDAuOTUpOyB9XG5cbmJvZHlbZGF0YS1hb3MtZWFzaW5nPVwiZWFzZS1pbi1xdWFkXCJdIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWVhc2luZz1cImVhc2UtaW4tcXVhZFwiXSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wODUsIDAuNjgsIDAuNTMpOyB9XG5cbmJvZHlbZGF0YS1hb3MtZWFzaW5nPVwiZWFzZS1vdXQtcXVhZFwiXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1lYXNpbmc9XCJlYXNlLW91dC1xdWFkXCJdIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuXG5ib2R5W2RhdGEtYW9zLWVhc2luZz1cImVhc2UtaW4tb3V0LXF1YWRcIl0gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZWFzaW5nPVwiZWFzZS1pbi1vdXQtcXVhZFwiXSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40NTUsIDAuMDMsIDAuNTE1LCAwLjk1NSk7IH1cblxuYm9keVtkYXRhLWFvcy1lYXNpbmc9XCJlYXNlLWluLWN1YmljXCJdIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWVhc2luZz1cImVhc2UtaW4tY3ViaWNcIl0ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDg1LCAwLjY4LCAwLjUzKTsgfVxuXG5ib2R5W2RhdGEtYW9zLWVhc2luZz1cImVhc2Utb3V0LWN1YmljXCJdIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWVhc2luZz1cImVhc2Utb3V0LWN1YmljXCJdIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuXG5ib2R5W2RhdGEtYW9zLWVhc2luZz1cImVhc2UtaW4tb3V0LWN1YmljXCJdIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWVhc2luZz1cImVhc2UtaW4tb3V0LWN1YmljXCJdIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ1NSwgMC4wMywgMC41MTUsIDAuOTU1KTsgfVxuXG5ib2R5W2RhdGEtYW9zLWVhc2luZz1cImVhc2UtaW4tcXVhcnRcIl0gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZWFzaW5nPVwiZWFzZS1pbi1xdWFydFwiXSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wODUsIDAuNjgsIDAuNTMpOyB9XG5cbmJvZHlbZGF0YS1hb3MtZWFzaW5nPVwiZWFzZS1vdXQtcXVhcnRcIl0gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZWFzaW5nPVwiZWFzZS1vdXQtcXVhcnRcIl0ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG5cbmJvZHlbZGF0YS1hb3MtZWFzaW5nPVwiZWFzZS1pbi1vdXQtcXVhcnRcIl0gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZWFzaW5nPVwiZWFzZS1pbi1vdXQtcXVhcnRcIl0ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDU1LCAwLjAzLCAwLjUxNSwgMC45NTUpOyB9XG5cbi8qKlxuICogRmFkZSBhbmltYXRpb25zOlxuICogZmFkZVxuICogZmFkZS11cCwgZmFkZS1kb3duLCBmYWRlLWxlZnQsIGZhZGUtcmlnaHRcbiAqIGZhZGUtdXAtcmlnaHQsIGZhZGUtdXAtbGVmdCwgZmFkZS1kb3duLXJpZ2h0LCBmYWRlLWRvd24tbGVmdFxuICovXG5bZGF0YS1hb3NePSdmYWRlJ11bZGF0YS1hb3NePSdmYWRlJ10ge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07IH1cbiAgW2RhdGEtYW9zXj0nZmFkZSddW2RhdGEtYW9zXj0nZmFkZSddLmFvcy1hbmltYXRlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuW2RhdGEtYW9zPSdmYWRlLXVwJ10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDUwcHgsIDApOyB9XG5cbltkYXRhLWFvcz0nZmFkZS1kb3duJ10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MHB4LCAwKTsgfVxuXG5bZGF0YS1hb3M9J2ZhZGUtcmlnaHQnXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwcHgsIDAsIDApOyB9XG5cbltkYXRhLWFvcz0nZmFkZS1sZWZ0J10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDUwcHgsIDAsIDApOyB9XG5cbltkYXRhLWFvcz0nZmFkZS11cC1yaWdodCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTBweCwgNTBweCwgMCk7IH1cblxuW2RhdGEtYW9zPSdmYWRlLXVwLWxlZnQnXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNTBweCwgNTBweCwgMCk7IH1cblxuW2RhdGEtYW9zPSdmYWRlLWRvd24tcmlnaHQnXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwcHgsIC01MHB4LCAwKTsgfVxuXG5bZGF0YS1hb3M9J2ZhZGUtZG93bi1sZWZ0J10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDUwcHgsIC01MHB4LCAwKTsgfVxuXG4vKipcbiAqIFpvb20gYW5pbWF0aW9uczpcbiAqIHpvb20taW4sIHpvb20taW4tdXAsIHpvb20taW4tZG93biwgem9vbS1pbi1sZWZ0LCB6b29tLWluLXJpZ2h0XG4gKiB6b29tLW91dCwgem9vbS1vdXQtdXAsIHpvb20tb3V0LWRvd24sIHpvb20tb3V0LWxlZnQsIHpvb20tb3V0LXJpZ2h0XG4gKi9cbltkYXRhLWFvc149J3pvb20nXVtkYXRhLWFvc149J3pvb20nXSB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTsgfVxuICBbZGF0YS1hb3NePSd6b29tJ11bZGF0YS1hb3NePSd6b29tJ10uYW9zLWFuaW1hdGUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSBzY2FsZSgxKTsgfVxuXG5bZGF0YS1hb3M9J3pvb20taW4nXSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC42KTsgfVxuXG5bZGF0YS1hb3M9J3pvb20taW4tdXAnXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNTBweCwgMCkgc2NhbGUoMC42KTsgfVxuXG5bZGF0YS1hb3M9J3pvb20taW4tZG93biddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTBweCwgMCkgc2NhbGUoMC42KTsgfVxuXG5bZGF0YS1hb3M9J3pvb20taW4tcmlnaHQnXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwcHgsIDAsIDApIHNjYWxlKDAuNik7IH1cblxuW2RhdGEtYW9zPSd6b29tLWluLWxlZnQnXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNTBweCwgMCwgMCkgc2NhbGUoMC42KTsgfVxuXG5bZGF0YS1hb3M9J3pvb20tb3V0J10ge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7IH1cblxuW2RhdGEtYW9zPSd6b29tLW91dC11cCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1MHB4LCAwKSBzY2FsZSgxLjIpOyB9XG5cbltkYXRhLWFvcz0nem9vbS1vdXQtZG93biddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTBweCwgMCkgc2NhbGUoMS4yKTsgfVxuXG5bZGF0YS1hb3M9J3pvb20tb3V0LXJpZ2h0J10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MHB4LCAwLCAwKSBzY2FsZSgxLjIpOyB9XG5cbltkYXRhLWFvcz0nem9vbS1vdXQtbGVmdCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1MHB4LCAwLCAwKSBzY2FsZSgxLjIpOyB9XG5cbi8qKlxuICogU2xpZGUgYW5pbWF0aW9uc1xuICovXG5bZGF0YS1hb3NePSdzbGlkZSddW2RhdGEtYW9zXj0nc2xpZGUnXSB7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsgfVxuICBbZGF0YS1hb3NePSdzbGlkZSddW2RhdGEtYW9zXj0nc2xpZGUnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuXG5bZGF0YS1hb3M9J3NsaWRlLXVwJ10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApOyB9XG5cbltkYXRhLWFvcz0nc2xpZGUtZG93biddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7IH1cblxuW2RhdGEtYW9zPSdzbGlkZS1yaWdodCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7IH1cblxuW2RhdGEtYW9zPSdzbGlkZS1sZWZ0J10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOyB9XG5cbi8qKlxuICogRmxpcCBhbmltYXRpb25zOlxuICogZmxpcC1sZWZ0LCBmbGlwLXJpZ2h0LCBmbGlwLXVwLCBmbGlwLWRvd25cbiAqL1xuW2RhdGEtYW9zXj0nZmxpcCddW2RhdGEtYW9zXj0nZmxpcCddIHtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07IH1cblxuW2RhdGEtYW9zPSdmbGlwLWxlZnQnXSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjUwMHB4KSByb3RhdGVZKC0xMDBkZWcpOyB9XG4gIFtkYXRhLWFvcz0nZmxpcC1sZWZ0J10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjUwMHB4KSByb3RhdGVZKDApOyB9XG5cbltkYXRhLWFvcz0nZmxpcC1yaWdodCddIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyNTAwcHgpIHJvdGF0ZVkoMTAwZGVnKTsgfVxuICBbZGF0YS1hb3M9J2ZsaXAtcmlnaHQnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyNTAwcHgpIHJvdGF0ZVkoMCk7IH1cblxuW2RhdGEtYW9zPSdmbGlwLXVwJ10ge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDI1MDBweCkgcm90YXRlWCgtMTAwZGVnKTsgfVxuICBbZGF0YS1hb3M9J2ZsaXAtdXAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyNTAwcHgpIHJvdGF0ZVgoMCk7IH1cblxuW2RhdGEtYW9zPSdmbGlwLWRvd24nXSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjUwMHB4KSByb3RhdGVYKDEwMGRlZyk7IH1cbiAgW2RhdGEtYW9zPSdmbGlwLWRvd24nXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyNTAwcHgpIHJvdGF0ZVgoMCk7IH1cblxuLndwbWxfX2xpc3Qge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbjogMDsgfVxuICAud3BtbF9fbGlzdC0tc3VibWVudSB7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgdG9wOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWluLXdpZHRoOiA5LjM3NXJlbTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi53cG1sX19sYW5ndWFnZSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAuNjI1cmVtIDEuODc1cmVtIDAuNjI1cmVtIDAuNjI1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAud3BtbF9fbGFuZ3VhZ2UtLWJsYWNrLWdsYXNzIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDNweCByZ2JhKDAsIDAsIDAsIDAuOCk7IH1cbiAgLndwbWxfX2xhbmd1YWdlLS1yMTcge1xuICAgIGJhY2tncm91bmQ6ICMyRDJEMkQ7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgYm9yZGVyOiAwOyB9XG4gIC53cG1sX19sYW5ndWFnZS0tY3VycmVudDo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDRweDtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtOHB4OyB9XG5cbi53cG1sX19mbGFnIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjMxMjVyZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMnB4OyB9XG5cbi53cG1sX19kcm9wZG93bi1wYW5lIHtcbiAgd2lkdGg6IDE0MHB4OyB9XG5cbi5mbGFnLWljb24tYmFja2dyb3VuZCwgLmZsYWctaWNvbiB7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi5mbGFnLWljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEuNmVtO1xuICBsaW5lLWhlaWdodDogMS4yZW07IH1cbiAgLmZsYWctaWNvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdcXDAwYTAnOyB9XG4gIC5mbGFnLWljb24uZmxhZy1pY29uLXNxdWFyZWQge1xuICAgIHdpZHRoOiAxZW07IH1cblxuLmZsYWctaWNvbi1kZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvZmxhZ3MvNHgzL2RlLnN2Zyk7IH1cbiAgLmZsYWctaWNvbi1kZS5mbGFnLWljb24tc3F1YXJlZCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9mbGFncy8xeDEvZGUuc3ZnKTsgfVxuXG4uZmxhZy1pY29uLWVzIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9mbGFncy80eDMvZXMuc3ZnKTsgfVxuICAuZmxhZy1pY29uLWVzLmZsYWctaWNvbi1zcXVhcmVkIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2ZsYWdzLzF4MS9lcy5zdmcpOyB9XG5cbi5mbGFnLWljb24tZnIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2ZsYWdzLzR4My9mci5zdmcpOyB9XG4gIC5mbGFnLWljb24tZnIuZmxhZy1pY29uLXNxdWFyZWQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvZmxhZ3MvMXgxL2ZyLnN2Zyk7IH1cblxuLmZsYWctaWNvbi11cyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvZmxhZ3MvNHgzL3VzLnN2Zyk7IH1cbiAgLmZsYWctaWNvbi11cy5mbGFnLWljb24tc3F1YXJlZCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9mbGFncy8xeDEvdXMuc3ZnKTsgfVxuXG4uZmxhZy1pY29uLWV1IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9mbGFncy80eDMvZXUuc3ZnKTsgfVxuICAuZmxhZy1pY29uLWV1LmZsYWctaWNvbi1zcXVhcmVkIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2ZsYWdzLzF4MS9ldS5zdmcpOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5jb25maXJtYXRpb25fZXJyb3IsIC5nZm9ybV9jb25maXJtYXRpb25fbWVzc2FnZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgcGFkZGluZzogMC42MjVyZW0gMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgYm9yZGVyLXdpZHRoOiAycHggMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciB7XG4gIC8qIEdGIGNsYXNzZXNzICovIH1cbiAgLmdmb3JtX3dyYXBwZXIgW3R5cGU9J3RleHQnXSxcbiAgLmdmb3JtX3dyYXBwZXIgW3R5cGU9J3Bhc3N3b3JkJ10sXG4gIC5nZm9ybV93cmFwcGVyIFt0eXBlPSdkYXRlJ10sXG4gIC5nZm9ybV93cmFwcGVyIFt0eXBlPSdkYXRldGltZSddLFxuICAuZ2Zvcm1fd3JhcHBlciBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSxcbiAgLmdmb3JtX3dyYXBwZXIgW3R5cGU9J21vbnRoJ10sXG4gIC5nZm9ybV93cmFwcGVyIFt0eXBlPSd3ZWVrJ10sXG4gIC5nZm9ybV93cmFwcGVyIFt0eXBlPSdlbWFpbCddLFxuICAuZ2Zvcm1fd3JhcHBlciBbdHlwZT0nbnVtYmVyJ10sXG4gIC5nZm9ybV93cmFwcGVyIFt0eXBlPSdzZWFyY2gnXSxcbiAgLmdmb3JtX3dyYXBwZXIgW3R5cGU9J3RlbCddLFxuICAuZ2Zvcm1fd3JhcHBlciBbdHlwZT0ndGltZSddLFxuICAuZ2Zvcm1fd3JhcHBlciBbdHlwZT0ndXJsJ10sXG4gIC5nZm9ybV93cmFwcGVyIFt0eXBlPSdjb2xvciddLFxuICAuZ2Zvcm1fd3JhcHBlciB0ZXh0YXJlYSxcbiAgLmdmb3JtX3dyYXBwZXIgc2VsZWN0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5nZm9ybV93cmFwcGVyIFt0eXBlPSdmaWxlJ10sXG4gIC5nZm9ybV93cmFwcGVyIFt0eXBlPSdjaGVja2JveCddLFxuICAuZ2Zvcm1fd3JhcHBlciBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgLmdmb3JtX3dyYXBwZXIgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMzEyNXJlbTsgfVxuICAuZ2Zvcm1fd3JhcHBlciBbdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG4gIC5nZm9ybV93cmFwcGVyIC5nZmllbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9sYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZmllbGRzLFxuICAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX2NoZWNrYm94LFxuICAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX3JhZGlvIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gIC5nZm9ybV93cmFwcGVyIC5nZmllbGRfZGF0ZV9kYXksXG4gIC5nZm9ybV93cmFwcGVyIC5nZmllbGRfZGF0ZV9tb250aCxcbiAgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9kYXRlX3llYXIsXG4gIC5nZm9ybV93cmFwcGVyIC5nZmllbGRfdGltZV9ob3VyLFxuICAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX3RpbWVfbWludXRlIHtcbiAgICB3aWR0aDogNzVweDsgfVxuICAuZ2Zvcm1fd3JhcHBlciAuZ2lucHV0X2NvbnRhaW5lcl90aW1lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX3RpbWVfaG91ciBpIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9kZXNjcmlwdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogMC4xMjVyZW07XG4gICAgZm9udC1zaXplOiA5MCU7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLnZhbGlkYXRpb25fbWVzc2FnZSB7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgY29sb3I6ICNjYzRiMzc7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX3JlcXVpcmVkIHtcbiAgICBjb2xvcjogI2NjNGIzNztcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW4tbGVmdDogLjFlbTsgfVxuICAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX2Vycm9yIGlucHV0Om5vdChbdHlwZT1yYWRpb10pOm5vdChbdHlwZT1jaGVja2JveF0pOm5vdChbdHlwZT1zdWJtaXRdKTpub3QoW3R5cGU9YnV0dG9uXSk6bm90KFt0eXBlPWltYWdlXSk6bm90KFt0eXBlPSdmaWxlJ10pLFxuICAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX2Vycm9yIHRleHRhcmVhIHtcbiAgICBib3JkZXItY29sb3I6ICNjYzRiMzc7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLmNvbmZpcm1hdGlvbl9lcnJvciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjY2M0YjM3O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjA0LCA3NSwgNTUsIDAuMjUpOyB9XG4gIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMy4xMjVyZW0gIWltcG9ydGFudDsgfVxuICAgIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgLmdmb3JtX2FqYXhfc3Bpbm5lciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2ZpZWxkcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5nZm9ybV93cmFwcGVyIC5nZmllbGQge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdmb3JtX3dyYXBwZXIgLmdmX2xlZnRfaGFsZiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDE1cHgpOyB9XG4gICAgLmdmb3JtX3dyYXBwZXIgLmdmX3JpZ2h0X2hhbGYge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAxNXB4KTsgfSB9XG5cbi5nZm9ybV9jb25maXJtYXRpb25fbWVzc2FnZSB7XG4gIGJvcmRlci1jb2xvcjogIzdiYzg0YTtcbiAgYmFja2dyb3VuZDogcmdiYSgxMjMsIDIwMCwgNzQsIDAuMjUpOyB9XG5cbi8qISBUYWJsZXNhdyAtIHYzLjAuOSAtIDIwMTgtMDItMTRcbiogaHR0cHM6Ly9naXRodWIuY29tL2ZpbGFtZW50Z3JvdXAvdGFibGVzYXdcbiogQ29weXJpZ2h0IChjKSAyMDE4IEZpbGFtZW50IEdyb3VwOyBMaWNlbnNlZCBNSVQgKi9cbi50YWJsZXNhdyB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGVtcHR5LWNlbGxzOiBzaG93O1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLnRhYmxlc2F3ICoge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi50YWJsZXNhdy1idG4ge1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBib3JkZXItcmFkaXVzOiAuMjVlbTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm94LXNoYWRvdzogMCAxcHggMCB3aGl0ZTtcbiAgY29sb3I6ICM0YTRhNGE7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IC41ZW0gLjg1ZW0gLjRlbSAuODVlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lOyB9XG5cbmEudGFibGVzYXctYnRuIHtcbiAgY29sb3I6ICMxYzk1ZDQ7IH1cblxuLnRhYmxlc2F3LWJ0bjpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4vKiBEZWZhdWx0IHJhZGlvL2NoZWNrYm94IHN0eWxpbmcgaG9yaXpvbmFsIGNvbnRyb2xncm91cHMuICovXG4udGFibGVzYXctYnRuOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZGQ7IH1cblxuQHN1cHBvcnRzIChib3gtc2hhZG93OiBub25lKSB7XG4gIC50YWJsZXNhdy1idG46Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICAudGFibGVzYXctYnRuOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDAgLjM1ZW0gIzRmYWVlZiAhaW1wb3J0YW50OyB9IH1cblxuLnRhYmxlc2F3LWJ0bi1zZWxlY3Qgc2VsZWN0IHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDI7XG4gIG1pbi1oZWlnaHQ6IDFlbTtcbiAgb3BhY2l0eTogMDtcbiAgY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi50YWJsZXNhdy1idG4gc2VsZWN0IG9wdGlvbiB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbi50YWJsZXNhdy1idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAwOyB9XG5cbi50YWJsZXNhdy1idG4uYnRuLXNtYWxsIHtcbiAgZm9udC1zaXplOiAxLjA2MjVlbTtcbiAgbGluZS1oZWlnaHQ6IDE5cHg7XG4gIHBhZGRpbmc6IC4zZW0gMWVtIC4zZW0gMWVtOyB9XG5cbi50YWJsZXNhdy1idG4uYnRuLW1pY3JvIHtcbiAgZm9udC1zaXplOiAuODEyNWVtO1xuICBwYWRkaW5nOiAuNGVtIC43ZW0gLjI1ZW0gLjdlbTsgfVxuXG4udGFibGVzYXctYnRuLXNlbGVjdCB7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNWVtO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGNvbG9yOiAjNGQ0ZDRkO1xuICBwYWRkaW5nLXJpZ2h0OiAyLjVlbTtcbiAgbWluLXdpZHRoOiA3LjI1ZW07IH1cblxuLnRhYmxlc2F3LWJ0bi1zZWxlY3Q6YWZ0ZXIge1xuICBjb250ZW50OiBcIiBcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAuMjVlbSAuNDVlbTtcbiAgY29udGVudDogXCJcXDI1YmNcIjtcbiAgZm9udC1zaXplOiAuNTVlbTtcbiAgcGFkZGluZy10b3A6IDEuMmVtO1xuICBwYWRkaW5nLWxlZnQ6IDFlbTtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7XG4gIG1hcmdpbjogMDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxLjhlbTsgfVxuXG4udGFibGVzYXctYnRuLXNlbGVjdC5idG4tc21hbGw6YWZ0ZXIsXG4udGFibGVzYXctYnRuLXNlbGVjdC5idG4tbWljcm86YWZ0ZXIge1xuICB3aWR0aDogMS4yZW07XG4gIGZvbnQtc2l6ZTogLjVlbTtcbiAgcGFkZGluZy10b3A6IDFlbTtcbiAgcGFkZGluZy1yaWdodDogLjVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwOyB9XG5cbi8qIENvbHVtbiBuYXZpZ2F0aW9uIGJ1dHRvbnMgZm9yIHN3aXBlIGFuZCBjb2x1bW50b2dnbGUgdGFibGVzICovXG4udGFibGVzYXctYWR2YW5jZSAudGFibGVzYXctYnRuIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHRleHQtc2hhZG93OiAwIDFweCAwICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IC4yNWVtOyB9XG5cbi50YWJsZXNhdy1hZHZhbmNlIC50YWJsZXNhdy1idG4uYnRuLW1pY3JvIHtcbiAgZm9udC1zaXplOiAuODEyNWVtO1xuICBwYWRkaW5nOiAuM2VtIC43ZW0gLjI1ZW0gLjdlbTsgfVxuXG4udGFibGVzYXctYWR2YW5jZSBhLnRhYmxlc2F3LW5hdi1idG46Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4udGFibGVzYXctYWR2YW5jZSBhLnRhYmxlc2F3LW5hdi1idG46bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1yaWdodDogMDsgfVxuXG4udGFibGVzYXctYWR2YW5jZSBhLnRhYmxlc2F3LW5hdi1idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAxLjhlbTtcbiAgaGVpZ2h0OiAxLjhlbTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC4yNWVtO1xuICBtYXJnaW4tcmlnaHQ6IC4yNWVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtaW5kZW50OiAtOTk5OXB4OyB9XG5cbi50YWJsZXNhdy1hZHZhbmNlIGEudGFibGVzYXctbmF2LWJ0bi5sZWZ0OmJlZm9yZSxcbi50YWJsZXNhdy1hZHZhbmNlIGEudGFibGVzYXctbmF2LWJ0bi5yaWdodDpiZWZvcmUsXG4udGFibGVzYXctYWR2YW5jZSBhLnRhYmxlc2F3LW5hdi1idG4uZG93bjpiZWZvcmUsXG4udGFibGVzYXctYWR2YW5jZSBhLnRhYmxlc2F3LW5hdi1idG4udXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDAwMjBcIjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlOyB9XG5cbi50YWJsZXNhdy1hZHZhbmNlIGEudGFibGVzYXctbmF2LWJ0bi5kb3duOmJlZm9yZSB7XG4gIGxlZnQ6IC41ZW07XG4gIHRvcDogLjY1ZW07XG4gIGJvcmRlci1sZWZ0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wOiA1cHggc29saWQgIzgwODA4MDsgfVxuXG4udGFibGVzYXctYWR2YW5jZSBhLnRhYmxlc2F3LW5hdi1idG4udXA6YmVmb3JlIHtcbiAgbGVmdDogLjVlbTtcbiAgdG9wOiAuNjVlbTtcbiAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCAjODA4MDgwOyB9XG5cbi50YWJsZXNhdy1hZHZhbmNlIGEudGFibGVzYXctbmF2LWJ0bi5sZWZ0OmJlZm9yZSxcbi50YWJsZXNhdy1hZHZhbmNlIGEudGFibGVzYXctbmF2LWJ0bi5yaWdodDpiZWZvcmUge1xuICB0b3A6IC40NWVtO1xuICBib3JkZXItdG9wOiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuXG4udGFibGVzYXctYWR2YW5jZSBhLnRhYmxlc2F3LW5hdi1idG4ubGVmdDpiZWZvcmUge1xuICBsZWZ0OiAuNmVtO1xuICBib3JkZXItcmlnaHQ6IDVweCBzb2xpZCAjODA4MDgwOyB9XG5cbi50YWJsZXNhdy1hZHZhbmNlIGEudGFibGVzYXctbmF2LWJ0bi5yaWdodDpiZWZvcmUge1xuICBsZWZ0OiAuN2VtO1xuICBib3JkZXItbGVmdDogNXB4IHNvbGlkICM4MDgwODA7IH1cblxuLnRhYmxlc2F3LWFkdmFuY2UgYS50YWJsZXNhdy1uYXYtYnRuLmRpc2FibGVkIHtcbiAgb3BhY2l0eTogLjI1O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi8qIFRhYmxlIFRvb2xiYXIgKi9cbi50YWJsZXNhdy1iYXIge1xuICBjbGVhcjogYm90aDsgfVxuXG4udGFibGVzYXctYmFyICoge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi50YWJsZXNhdy1iYXItc2VjdGlvbiB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi50YWJsZXNhdy1iYXItc2VjdGlvbiBsYWJlbCB7XG4gIGZvbnQtc2l6ZTogLjg3NWVtO1xuICBwYWRkaW5nOiAuNWVtIDA7XG4gIGNsZWFyOiBib3RoO1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICM4ODg7XG4gIG1hcmdpbi1yaWdodDogLjVlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4udGFibGVzYXctYnRuLFxuLnRhYmxlc2F3LWVuaGFuY2VkIC50YWJsZXNhdy1idG4ge1xuICBtYXJnaW4tdG9wOiAuNWVtO1xuICBtYXJnaW4tYm90dG9tOiAuNWVtOyB9XG5cbi50YWJsZXNhdy1idG4tc2VsZWN0LFxuLnRhYmxlc2F3LWVuaGFuY2VkIC50YWJsZXNhdy1idG4tc2VsZWN0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4vKiBUT0RPICovXG4udGFibGVzYXctYmFyIC50YWJsZXNhdy1iYXItc2VjdGlvbiAudGFibGVzYXctYnRuIHtcbiAgbWFyZ2luLWxlZnQ6IC40ZW07XG4gIG1hcmdpbi10b3A6IDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBwYWRkaW5nLWxlZnQ6IC4zZW07IH1cblxuLnRhYmxlc2F3LWJhciAudGFibGVzYXctYmFyLXNlY3Rpb24gLmJ0bi1zZWxlY3Qge1xuICBtaW4td2lkdGg6IDA7IH1cblxuLnRhYmxlc2F3LWJhciAudGFibGVzYXctYmFyLXNlY3Rpb24gLmJ0bi1zZWxlY3Q6YWZ0ZXIge1xuICBwYWRkaW5nLXRvcDogLjllbTsgfVxuXG4udGFibGVzYXctYmFyIC50YWJsZXNhdy1iYXItc2VjdGlvbiBzZWxlY3Qge1xuICBjb2xvcjogIzg4ODtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG5cbi50YWJsZXNhdy1iYXItc2VjdGlvbiB+IHRhYmxlIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLnRhYmxlc2F3LWJhci1zZWN0aW9uIC5hYmJyZXZpYXRlZCB7XG4gIGRpc3BsYXk6IGlubGluZTsgfVxuXG4udGFibGVzYXctYmFyLXNlY3Rpb24gLmxvbmdmb3JtIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMjRlbSkge1xuICAudGFibGVzYXctYmFyLXNlY3Rpb24gLmFiYnJldmlhdGVkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC50YWJsZXNhdy1iYXItc2VjdGlvbiAubG9uZ2Zvcm0ge1xuICAgIGRpc3BsYXk6IGlubGluZTsgfSB9XG5cbi50YWJsZXNhdyB0aCxcbi50YWJsZXNhdyB0ZCB7XG4gIHBhZGRpbmc6IC41ZW0gLjdlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4udGFibGVzYXctc29ydGFibGUtYnRuIHtcbiAgLyogc2FtZSBhcyBjZWxsIHBhZGRpbmcgYWJvdmUgKi9cbiAgcGFkZGluZzogLjVlbSAuN2VtOyB9XG5cbi50YWJsZXNhdyB0aGVhZCB0aCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLyogVGFibGUgcm93cyBoYXZlIGEgZ3JheSBib3R0b20gc3Ryb2tlIGJ5IGRlZmF1bHQgKi9cbi50YWJsZXNhdy1yb3ctYm9yZGVyIHRyIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZmRmZGY7IH1cblxuLyogWmVicmEgc3RyaXBpbmcgKi9cbi50YWJsZXNhdy1yb3ctemVicmEgdHI6bnRoLWNoaWxkKDJuKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7IH1cblxuLnRhYmxlc2F3IGNhcHRpb24ge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBtYXJnaW46IC41OTM3NWVtIDA7IH1cblxuLnRhYmxlc2F3LXN3aXBlIC50YWJsZXNhdy1zd2lwZS1jZWxscGVyc2lzdCB7XG4gIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICNlNGUxZGU7IH1cblxuLnRhYmxlc2F3LXN3aXBlLXNoYWRvdyAudGFibGVzYXctc3dpcGUtY2VsbHBlcnNpc3Qge1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDFweDsgfVxuXG4udGFibGVzYXctc3dpcGUtc2hhZG93IC50YWJsZXNhdy1zd2lwZS1jZWxscGVyc2lzdCB7XG4gIGJveC1zaGFkb3c6IDNweCAwIDRweCAtMXB4ICNlNGUxZGU7IH1cblxuLnRhYmxlc2F3LXN0YWNrIHRkIC50YWJsZXNhdy1jZWxsLWxhYmVsLFxuLnRhYmxlc2F3LXN0YWNrIHRoIC50YWJsZXNhdy1jZWxsLWxhYmVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBNb2JpbGUgZmlyc3Qgc3R5bGVzOiBCZWdpbiB3aXRoIHRoZSBzdGFja2VkIHByZXNlbnRhdGlvbiBhdCBuYXJyb3cgd2lkdGhzICovXG4vKiBTdXBwb3J0IG5vdGUgSUU5KzogQG1lZGlhIG9ubHkgYWxsICovXG5AbWVkaWEgb25seSBhbGwge1xuICAvKiBTaG93IHRoZSB0YWJsZSBjZWxscyBhcyBhIGJsb2NrIGxldmVsIGVsZW1lbnQgKi9cbiAgLnRhYmxlc2F3LXN0YWNrIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAudGFibGVzYXctc3RhY2sgdGQsXG4gIC50YWJsZXNhdy1zdGFjayB0aCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAudGFibGVzYXctc3RhY2sgdHIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdzsgfVxuICAvKiBNYWtlIHRoZSBsYWJlbCBlbGVtZW50cyBhIHBlcmNlbnRhZ2Ugd2lkdGggKi9cbiAgLnRhYmxlc2F3LXN0YWNrIHRkIC50YWJsZXNhdy1jZWxsLWxhYmVsLFxuICAudGFibGVzYXctc3RhY2sgdGggLnRhYmxlc2F3LWNlbGwtbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAwIC42ZW0gMCAwO1xuICAgIHdpZHRoOiAzMCU7IH1cbiAgLyogRm9yIGdyb3VwZWQgaGVhZGVycywgaGF2ZSBhIGRpZmZlcmVudCBzdHlsZSB0byB2aXN1YWxseSBzZXBhcmF0ZSB0aGUgbGV2ZWxzIGJ5IGNsYXNzaW5nIHRoZSBmaXJzdCBsYWJlbCBpbiBlYWNoIGNvbCBncm91cCAqL1xuICAudGFibGVzYXctc3RhY2sgdGggLnRhYmxlc2F3LWNlbGwtbGFiZWwtdG9wLFxuICAudGFibGVzYXctc3RhY2sgdGQgLnRhYmxlc2F3LWNlbGwtbGFiZWwtdG9wIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAuNGVtIDA7XG4gICAgbWFyZ2luOiAuNGVtIDA7IH1cbiAgLnRhYmxlc2F3LWNlbGwtbGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC8qIEF2b2lkIGRvdWJsZSBzdHJva2VzIHdoZW4gc3RhY2tlZCAqL1xuICAudGFibGVzYXctc3RhY2sgdGJvZHkgdGguZ3JvdXAge1xuICAgIG1hcmdpbi10b3A6IC0xcHg7IH1cbiAgLyogQXZvaWQgZG91YmxlIHN0cm9rZXMgd2hlbiBzdGFja2VkICovXG4gIC50YWJsZXNhdy1zdGFjayB0aC5ncm91cCBiLnRhYmxlc2F3LWNlbGwtbGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLyogVGFibGUgcm93cyBoYXZlIGEgZ3JheSBib3R0b20gc3Ryb2tlIGJ5IGRlZmF1bHQgKi9cbiAgLnRhYmxlc2F3LXN0YWNrIHRib2R5IHRyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RmZGZkZjsgfVxuICAudGFibGVzYXctc3RhY2sgdGhlYWQgdGQsXG4gIC50YWJsZXNhdy1zdGFjayB0aGVhZCB0aCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAudGFibGVzYXctc3RhY2sgdGJvZHkgdGQsXG4gIC50YWJsZXNhdy1zdGFjayB0Ym9keSB0aCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgY2xlYXI6IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnRhYmxlc2F3LWNlbGwtbGFiZWwge1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgLnRhYmxlc2F3LWNlbGwtY29udGVudCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1heC13aWR0aDogNjclOyB9XG4gIC50YWJsZXNhdy1zdGFjayAudGFibGVzYXctc3RhY2stYmxvY2sgLnRhYmxlc2F3LWNlbGwtbGFiZWwsXG4gIC50YWJsZXNhdy1zdGFjayAudGFibGVzYXctc3RhY2stYmxvY2sgLnRhYmxlc2F3LWNlbGwtY29udGVudCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLnRhYmxlc2F3LXN0YWNrIHRkOmVtcHR5LFxuICAudGFibGVzYXctc3RhY2sgdGg6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4vKiBNZWRpYSBxdWVyeSB0byBzaG93IGFzIGEgc3RhbmRhcmQgdGFibGUgYXQgNTYwcHggKDM1ZW0geCAxNnB4KSBvciB3aWRlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnRhYmxlc2F3LXN0YWNrIHRyIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3c7IH1cbiAgLyogU2hvdyB0aGUgdGFibGUgaGVhZGVyIHJvd3MgKi9cbiAgLnRhYmxlc2F3LXN0YWNrIHRkLFxuICAudGFibGVzYXctc3RhY2sgdGgsXG4gIC50YWJsZXNhdy1zdGFjayB0aGVhZCB0ZCxcbiAgLnRhYmxlc2F3LXN0YWNrIHRoZWFkIHRoIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIG1hcmdpbjogMDsgfVxuICAvKiBIaWRlIHRoZSBsYWJlbHMgaW4gZWFjaCBjZWxsICovXG4gIC50YWJsZXNhdy1zdGFjayB0ZCAudGFibGVzYXctY2VsbC1sYWJlbCxcbiAgLnRhYmxlc2F3LXN0YWNrIHRoIC50YWJsZXNhdy1jZWxsLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4udGFibGVzYXctZml4LXBlcnNpc3Qge1xuICB0YWJsZS1sYXlvdXQ6IGZpeGVkOyB9XG5cbkBtZWRpYSBvbmx5IGFsbCB7XG4gIC8qIFVuY2hlY2tlZCBtYW51YWxseTogQWx3YXlzIGhpZGUgKi9cbiAgLnRhYmxlc2F3LXN3aXBlIHRoLnRhYmxlc2F3LXN3aXBlLWNlbGxoaWRkZW4sXG4gIC50YWJsZXNhdy1zd2lwZSB0ZC50YWJsZXNhdy1zd2lwZS1jZWxsaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLnRhYmxlc2F3LW92ZXJmbG93IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAvKiBNb3JlIGluIHNraW4uY3NzICovIH1cblxuLnRhYmxlc2F3LW92ZXJmbG93ID4gLnRhYmxlc2F3IHtcbiAgbWFyZ2luLXRvcDogMnB4O1xuICAvKiBzb3J0YWJsZSBmb2N1cyByaW5ncyBhcmUgY2xpcHBlZCAqLyB9XG5cbi8qIFVzZWQgZm9yIGExMXkgdGV4dCBvbiBidXR0b246IFwiQ29sdW1uc1wiICovXG4udGFibGVzYXctY29sdW1udG9nZ2xlLWJ0biBzcGFuIHtcbiAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4udGFibGVzYXctY29sdW1udG9nZ2xlLWJ0bndyYXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8qIGZvciBkaWFsb2cgcG9zaXRpb25pbmcgKi8gfVxuXG4udGFibGVzYXctY29sdW1udG9nZ2xlLWJ0bndyYXAgLmRpYWxvZy1jb250ZW50IHtcbiAgcGFkZGluZzogLjVlbTsgfVxuXG4udGFibGVzYXctY29sdW1udG9nZ2xlIHRib2R5IHRkIHtcbiAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuXG4vKiBSZW1vdmUgdG9wL2JvdHRvbSBtYXJnaW5zIGFyb3VuZCB0aGUgZmllbGRjb250YWluIG9uIGNoZWNrIGxpc3QgKi9cbi50YWJsZXNhdy1jb2x1bW50b2dnbGUtcG9wdXAge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi50YWJsZXNhdy1jb2x1bW50b2dnbGUtYnRud3JhcC52aXNpYmxlIC50YWJsZXNhdy1jb2x1bW50b2dnbGUtcG9wdXAge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDJlbTtcbiAgcmlnaHQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIHBhZGRpbmc6IC41ZW0gLjhlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgYm94LXNoYWRvdzogMCAxcHggMnB4ICNjY2M7XG4gIGJvcmRlci1yYWRpdXM6IC4yZW07XG4gIHotaW5kZXg6IDE7IH1cblxuLnRhYmxlc2F3LWNvbHVtbnRvZ2dsZS1wb3B1cCBmaWVsZHNldCB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKiBIaWRlIGFsbCBwcmlvcml0aXplZCBjb2x1bW5zIGJ5IGRlZmF1bHQgKi9cbkBtZWRpYSBvbmx5IGFsbCB7XG4gIC50YWJsZXNhdy1jb2x1bW50b2dnbGUgdGgudGFibGVzYXctcHJpb3JpdHktNixcbiAgLnRhYmxlc2F3LWNvbHVtbnRvZ2dsZSB0ZC50YWJsZXNhdy1wcmlvcml0eS02LFxuICAudGFibGVzYXctY29sdW1udG9nZ2xlIHRoLnRhYmxlc2F3LXByaW9yaXR5LTUsXG4gIC50YWJsZXNhdy1jb2x1bW50b2dnbGUgdGQudGFibGVzYXctcHJpb3JpdHktNSxcbiAgLnRhYmxlc2F3LWNvbHVtbnRvZ2dsZSB0aC50YWJsZXNhdy1wcmlvcml0eS00LFxuICAudGFibGVzYXctY29sdW1udG9nZ2xlIHRkLnRhYmxlc2F3LXByaW9yaXR5LTQsXG4gIC50YWJsZXNhdy1jb2x1bW50b2dnbGUgdGgudGFibGVzYXctcHJpb3JpdHktMyxcbiAgLnRhYmxlc2F3LWNvbHVtbnRvZ2dsZSB0ZC50YWJsZXNhdy1wcmlvcml0eS0zLFxuICAudGFibGVzYXctY29sdW1udG9nZ2xlIHRoLnRhYmxlc2F3LXByaW9yaXR5LTIsXG4gIC50YWJsZXNhdy1jb2x1bW50b2dnbGUgdGQudGFibGVzYXctcHJpb3JpdHktMixcbiAgLnRhYmxlc2F3LWNvbHVtbnRvZ2dsZSB0aC50YWJsZXNhdy1wcmlvcml0eS0xLFxuICAudGFibGVzYXctY29sdW1udG9nZ2xlIHRkLnRhYmxlc2F3LXByaW9yaXR5LTEsXG4gIC50YWJsZXNhdy1jb2x1bW50b2dnbGUgdGgudGFibGVzYXctcHJpb3JpdHktMCxcbiAgLnRhYmxlc2F3LWNvbHVtbnRvZ2dsZSB0ZC50YWJsZXNhdy1wcmlvcml0eS0wIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLnRhYmxlc2F3LWNvbHVtbnRvZ2dsZS1idG53cmFwIC5kaWFsb2ctY29udGVudCB7XG4gIHRvcDogMCAhaW1wb3J0YW50O1xuICByaWdodDogMWVtO1xuICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMmVtO1xuICBtYXgtd2lkdGg6IDE4ZW07XG4gIG1hcmdpbjogLS41ZW0gYXV0byAwOyB9XG5cbi50YWJsZXNhdy1jb2x1bW50b2dnbGUtYnRud3JhcCAuZGlhbG9nLWNvbnRlbnQ6Zm9jdXMge1xuICBvdXRsaW5lLXN0eWxlOiBub25lOyB9XG5cbi8qIFByZXNldCBicmVha3BvaW50cyBpZiBcIlwiIGNsYXNzIGFkZGVkIHRvIHRhYmxlICovXG4vKiBTaG93IHByaW9yaXR5IDEgYXQgMzIwcHggKDIwZW0geCAxNnB4KSAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDIwZW0pIHtcbiAgLnRhYmxlc2F3LWNvbHVtbnRvZ2dsZSB0aC50YWJsZXNhdy1wcmlvcml0eS0xLFxuICAudGFibGVzYXctY29sdW1udG9nZ2xlIHRkLnRhYmxlc2F3LXByaW9yaXR5LTEge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH0gfVxuXG4vKiBTaG93IHByaW9yaXR5IDIgYXQgNDgwcHggKDMwZW0geCAxNnB4KSAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgLnRhYmxlc2F3LWNvbHVtbnRvZ2dsZSB0aC50YWJsZXNhdy1wcmlvcml0eS0yLFxuICAudGFibGVzYXctY29sdW1udG9nZ2xlIHRkLnRhYmxlc2F3LXByaW9yaXR5LTIge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH0gfVxuXG4vKiBTaG93IHByaW9yaXR5IDMgYXQgNjQwcHggKDQwZW0geCAxNnB4KSAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnRhYmxlc2F3LWNvbHVtbnRvZ2dsZSB0aC50YWJsZXNhdy1wcmlvcml0eS0zLFxuICAudGFibGVzYXctY29sdW1udG9nZ2xlIHRkLnRhYmxlc2F3LXByaW9yaXR5LTMge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH1cbiAgLnRhYmxlc2F3LWNvbHVtbnRvZ2dsZSB0Ym9keSB0ZCB7XG4gICAgbGluZS1oZWlnaHQ6IDI7IH0gfVxuXG4vKiBTaG93IHByaW9yaXR5IDQgYXQgODAwcHggKDUwZW0geCAxNnB4KSAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgLnRhYmxlc2F3LWNvbHVtbnRvZ2dsZSB0aC50YWJsZXNhdy1wcmlvcml0eS00LFxuICAudGFibGVzYXctY29sdW1udG9nZ2xlIHRkLnRhYmxlc2F3LXByaW9yaXR5LTQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH0gfVxuXG4vKiBTaG93IHByaW9yaXR5IDUgYXQgOTYwcHggKDYwZW0geCAxNnB4KSAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgLnRhYmxlc2F3LWNvbHVtbnRvZ2dsZSB0aC50YWJsZXNhdy1wcmlvcml0eS01LFxuICAudGFibGVzYXctY29sdW1udG9nZ2xlIHRkLnRhYmxlc2F3LXByaW9yaXR5LTUge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH0gfVxuXG4vKiBTaG93IHByaW9yaXR5IDYgYXQgMSwxMjBweCAoNzBlbSB4IDE2cHgpICovXG5AbWVkaWEgKG1pbi13aWR0aDogNzBlbSkge1xuICAudGFibGVzYXctY29sdW1udG9nZ2xlIHRoLnRhYmxlc2F3LXByaW9yaXR5LTYsXG4gIC50YWJsZXNhdy1jb2x1bW50b2dnbGUgdGQudGFibGVzYXctcHJpb3JpdHktNiB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDsgfSB9XG5cbkBtZWRpYSBvbmx5IGFsbCB7XG4gIC8qIFVuY2hlY2tlZCBtYW51YWxseTogQWx3YXlzIGhpZGUgKi9cbiAgLnRhYmxlc2F3LWNvbHVtbnRvZ2dsZSB0aC50YWJsZXNhdy10b2dnbGUtY2VsbGhpZGRlbixcbiAgLnRhYmxlc2F3LWNvbHVtbnRvZ2dsZSB0ZC50YWJsZXNhdy10b2dnbGUtY2VsbGhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAvKiBDaGVja2VkIG1hbnVhbGx5OiBBbHdheXMgc2hvdyAqL1xuICAudGFibGVzYXctY29sdW1udG9nZ2xlIHRoLnRhYmxlc2F3LXRvZ2dsZS1jZWxsdmlzaWJsZSxcbiAgLnRhYmxlc2F3LWNvbHVtbnRvZ2dsZSB0ZC50YWJsZXNhdy10b2dnbGUtY2VsbHZpc2libGUge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH0gfVxuXG4udGFibGVzYXctY29sdW1udG9nZ2xlLXBvcHVwIC5idG4tZ3JvdXAgPiBsYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAuMmVtIDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDsgfVxuXG4udGFibGVzYXctY29sdW1udG9nZ2xlLXBvcHVwIC5idG4tZ3JvdXAgPiBsYWJlbCBpbnB1dCB7XG4gIG1hcmdpbi1yaWdodDogLjhlbTsgfVxuXG4udGFibGVzYXctc29ydGFibGUtaGVhZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuXG4vKiBPdmVycmlkZSAqL1xuLnRhYmxlc2F3IC50YWJsZXNhdy1zb3J0YWJsZS1oZWFkIHtcbiAgcGFkZGluZzogMDsgfVxuXG4udGFibGVzYXctc29ydGFibGUtYnRuIHtcbiAgbWluLXdpZHRoOiAxMDAlO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgZm9udDogaW5oZXJpdDtcbiAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7IH1cblxuLnRhYmxlc2F3LXNvcnRhYmxlLWFycm93OmFmdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTBweDtcbiAgaGVpZ2h0OiAxNHB4O1xuICBjb250ZW50OiBcIiBcIjtcbiAgbWFyZ2luLWxlZnQ6IC4zMTI1ZW07IH1cblxuLnRhYmxlc2F3LXNvcnRhYmxlLWFzY2VuZGluZyAudGFibGVzYXctc29ydGFibGUtYXJyb3c6YWZ0ZXIsXG4udGFibGVzYXctc29ydGFibGUtZGVzY2VuZGluZyAudGFibGVzYXctc29ydGFibGUtYXJyb3c6YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcMDAyMFwiOyB9XG5cbi50YWJsZXNhdy1zb3J0YWJsZS1hc2NlbmRpbmcgLnRhYmxlc2F3LXNvcnRhYmxlLWFycm93OmFmdGVyIHtcbiAgY29udGVudDogXCJcXDIxOTFcIjsgfVxuXG4udGFibGVzYXctc29ydGFibGUtZGVzY2VuZGluZyAudGFibGVzYXctc29ydGFibGUtYXJyb3c6YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcMjE5M1wiOyB9XG5cbi50YWJsZXNhdy1hZHZhbmNlIHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi50YWJsZXNhdy1hZHZhbmNlLm1pbmltYXAge1xuICBtYXJnaW4tcmlnaHQ6IC40ZW07IH1cblxuLnRhYmxlc2F3LWFkdmFuY2UtZG90cyB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLnRhYmxlc2F3LWFkdmFuY2UtZG90cyBsaSB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogLjRlbSAuMmVtOyB9XG5cbi50YWJsZXNhdy1hZHZhbmNlLWRvdHMgbGkgaSB7XG4gIHdpZHRoOiAuMjVlbTtcbiAgaGVpZ2h0OiAuMjVlbTtcbiAgYmFja2dyb3VuZDogIzU1NTtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi50YWJsZXNhdy1hZHZhbmNlLWRvdHMtaGlkZSB7XG4gIG9wYWNpdHk6IC4yNTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4ud3NwLWNvbnRhaW5lciB1bCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luOiAwIDAgMi41cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLndzcC1jb250YWluZXIgdWwge1xuICAgICAgY29sdW1uLWNvdW50OiAyO1xuICAgICAgY29sdW1uLWdhcDogMS44NzVyZW07IH0gfVxuXG4ud3NwLWNvbnRhaW5lciBsaSB7XG4gIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG5cbi53c3AtY29udGFpbmVyIGEge1xuICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsgfVxuXG4ud3NwLWNvbnRhaW5lciBoMiB7XG4gIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLndzcC1jb250YWluZXIgaDIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfSB9XG5cbi5ray1zdGFyLXJhdGluZ3Mge1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1ib3R0b206IDAuMTI1cmVtOyB9XG4gIC5ray1zdGFyLXJhdGluZ3Mua2tzci12YWxpZ24tdG9wIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICAua2stc3Rhci1yYXRpbmdzLmtrc3ItdmFsaWduLXRvcCArIGgyLFxuICAgIC5ray1zdGFyLXJhdGluZ3Mua2tzci12YWxpZ24tdG9wICsgaDMsXG4gICAgLmtrLXN0YXItcmF0aW5ncy5ra3NyLXZhbGlnbi10b3AgKyBoNCB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5ray1zdGFyLXJhdGluZ3MgLmtrc3ItbGVnZW5kIHtcbiAgICBtYXJnaW46IDAuNjI1cmVtIDAgMDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5ray1zdGFyLXJhdGluZ3MgLmtrc3ItbGVnZW5kID4gKiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmtrLXN0YXItcmF0aW5ncyAua2tzci1sZWdlbmQgPiAua2tzci1zY29yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgIC5ray1zdGFyLXJhdGluZ3MgLmtrc3ItbGVnZW5kID4gLmtrc3Itc2NvcmUgKyAua2tzci1tdXRlZCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgICAua2stc3Rhci1yYXRpbmdzIC5ra3NyLWxlZ2VuZCA+IC5ra3NyLXNjb3JlICsgLmtrc3ItbXV0ZWQgKyBzdHJvbmcge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAua2stc3Rhci1yYXRpbmdzIC5ra3NyLXN0YXJzIC5ra3NyLXN0YXIgLmtrc3ItaWNvbixcbiAgLmtrLXN0YXItcmF0aW5nczpub3QoLmtrc3ItZGlzYWJsZWQpIC5ra3NyLXN0YXJzIC5ra3NyLXN0YXI6aG92ZXIgfiAua2tzci1zdGFyIC5ra3NyLWljb24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9yYXRlLWluYWN0aXZlLnN2Z1wiKTsgfVxuICAua2stc3Rhci1yYXRpbmdzIC5ra3NyLXN0YXJzIC5ra3NyLXN0YXJzLWFjdGl2ZSAua2tzci1zdGFyIC5ra3NyLWljb24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9yYXRlLWFjdGl2ZS5zdmdcIik7IH1cbiAgLmtrLXN0YXItcmF0aW5ncy5ra3NyLWRpc2FibGVkIC5ra3NyLXN0YXJzIC5ra3NyLXN0YXJzLWFjdGl2ZSAua2tzci1zdGFyIC5ra3NyLWljb24sXG4gIC5ray1zdGFyLXJhdGluZ3M6bm90KC5ra3NyLWRpc2FibGVkKSAua2tzci1zdGFyczpob3ZlciAua2tzci1zdGFyIC5ra3NyLWljb24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9yYXRlLWFjdGl2ZS5zdmdcIik7IH1cblxuLmtrc3ItYnJlYWRjcnVtYnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luOiAtMC4wNjI1cmVtIDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICAua2tzci1icmVhZGNydW1icyB7XG4gICAgICBwYWRkaW5nLXRvcDogMC42MjVyZW07XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2VlZTtcbiAgICAgIG1hcmdpbi10b3A6IDAuNjI1cmVtOyB9IH1cbiAgLmtrc3ItYnJlYWRjcnVtYnMgLmtrc3ItcmF0ZS10ZXh0IHtcbiAgICBtYXJnaW46IDAgMC42MjVyZW0gMCAwOyB9XG4gIC5ra3NyLWJyZWFkY3J1bWJzIC5ray1zdGFyLXJhdGluZ3Mge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmtrc3ItYnJlYWRjcnVtYnMgLmtrLXN0YXItcmF0aW5ncyAua2tzci1sZWdlbmQge1xuICAgICAgbWFyZ2luOiAwIDAgMCAwLjYyNXJlbTsgfVxuXG4ucm91bGV0dGUtaW4tbnVtYmVycyAuY2VudGVyZWQsIC5yb3VsZXR0ZS1pbi1udW1iZXJzIC5yb3VsZXR0ZSxcbi5yb3VsZXR0ZS1pbi1udW1iZXJzIC5yb3VsZXR0ZS1pbWFnZSwgLnJvdWxldHRlLWluLW51bWJlcnMgLmZhY3QgLmZhY3Qtd3JhcCwgLnJvdWxldHRlLWluLW51bWJlcnMgLmZhY3QgLmZhY3Qtd3JhcCAuZmFjdC1udW1iZXIgc3BhbiwgLnJvdWxldHRlLWluLW51bWJlcnMgLm92ZXJsYXksIC5yb3VsZXR0ZS1pbi1udW1iZXJzIC5taWRkbGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuXG4ucm91bGV0dGUtaW4tbnVtYmVycyAuZ3JleS1iZyB7XG4gIC8qIFBlcm1hbGluayAtIHVzZSB0byBlZGl0IGFuZCBzaGFyZSB0aGlzIGdyYWRpZW50OiBodHRwOi8vY29sb3J6aWxsYS5jb20vZ3JhZGllbnQtZWRpdG9yLyM0ZjRmNGYrMCwyNzI3MjcrMTAwICovXG4gIGJhY2tncm91bmQ6ICM0ZjRmNGY7XG4gIC8qIE9sZCBicm93c2VycyAqL1xuICBiYWNrZ3JvdW5kOiAtbW96LXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICM0ZjRmNGYgMCUsICMyNzI3MjcgMTAwJSk7XG4gIC8qIEZGMy42KyAqL1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KHJhZGlhbCwgY2VudGVyIGNlbnRlciwgMHB4LCBjZW50ZXIgY2VudGVyLCAxMDAlLCBjb2xvci1zdG9wKDAlLCAjNGY0ZjRmKSwgY29sb3Itc3RvcCgxMDAlLCAjMjcyNzI3KSk7XG4gIC8qIENocm9tZSxTYWZhcmk0KyAqL1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICM0ZjRmNGYgMCUsICMyNzI3MjcgMTAwJSk7XG4gIC8qIENocm9tZTEwKyxTYWZhcmk1LjErICovXG4gIGJhY2tncm91bmQ6IC1vLXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICM0ZjRmNGYgMCUsICMyNzI3MjcgMTAwJSk7XG4gIC8qIE9wZXJhIDEyKyAqL1xuICBiYWNrZ3JvdW5kOiAtbXMtcmFkaWFsLWdyYWRpZW50KGNlbnRlciwgZWxsaXBzZSBjb3ZlciwgIzRmNGY0ZiAwJSwgIzI3MjcyNyAxMDAlKTtcbiAgLyogSUUxMCsgKi9cbiAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgY2VudGVyLCAjNGY0ZjRmIDAlLCAjMjcyNzI3IDEwMCUpO1xuICAvKiBXM0MgKi9cbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyM0ZjRmNGYnLCBlbmRDb2xvcnN0cj0nIzI3MjcyNycsR3JhZGllbnRUeXBlPTEgKTtcbiAgLyogSUU2LTkgZmFsbGJhY2sgb24gaG9yaXpvbnRhbCBncmFkaWVudCAqLyB9XG5cbi5yb3VsZXR0ZS1pbi1udW1iZXJzIC5yZWQge1xuICAvKiBQZXJtYWxpbmsgLSB1c2UgdG8gZWRpdCBhbmQgc2hhcmUgdGhpcyBncmFkaWVudDogaHR0cDovL2NvbG9yemlsbGEuY29tL2dyYWRpZW50LWVkaXRvci8jZjY1OTRkKzAsZGExNjA4KzEwMCAqL1xuICBiYWNrZ3JvdW5kOiAjZjY1OTRkO1xuICAvKiBPbGQgYnJvd3NlcnMgKi9cbiAgYmFja2dyb3VuZDogLW1vei1yYWRpYWwtZ3JhZGllbnQoY2VudGVyLCBlbGxpcHNlIGNvdmVyLCAjZjY1OTRkIDAlLCAjZGExNjA4IDEwMCUpO1xuICAvKiBGRjMuNisgKi9cbiAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChyYWRpYWwsIGNlbnRlciBjZW50ZXIsIDBweCwgY2VudGVyIGNlbnRlciwgMTAwJSwgY29sb3Itc3RvcCgwJSwgI2Y2NTk0ZCksIGNvbG9yLXN0b3AoMTAwJSwgI2RhMTYwOCkpO1xuICAvKiBDaHJvbWUsU2FmYXJpNCsgKi9cbiAgYmFja2dyb3VuZDogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoY2VudGVyLCBlbGxpcHNlIGNvdmVyLCAjZjY1OTRkIDAlLCAjZGExNjA4IDEwMCUpO1xuICAvKiBDaHJvbWUxMCssU2FmYXJpNS4xKyAqL1xuICBiYWNrZ3JvdW5kOiAtby1yYWRpYWwtZ3JhZGllbnQoY2VudGVyLCBlbGxpcHNlIGNvdmVyLCAjZjY1OTRkIDAlLCAjZGExNjA4IDEwMCUpO1xuICAvKiBPcGVyYSAxMisgKi9cbiAgYmFja2dyb3VuZDogLW1zLXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICNmNjU5NGQgMCUsICNkYTE2MDggMTAwJSk7XG4gIC8qIElFMTArICovXG4gIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IGNlbnRlciwgI2Y2NTk0ZCAwJSwgI2RhMTYwOCAxMDAlKTtcbiAgLyogVzNDICovXG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjZjY1OTRkJywgZW5kQ29sb3JzdHI9JyNkYTE2MDgnLEdyYWRpZW50VHlwZT0xICk7XG4gIC8qIElFNi05IGZhbGxiYWNrIG9uIGhvcml6b250YWwgZ3JhZGllbnQgKi8gfVxuXG4ucm91bGV0dGUtaW4tbnVtYmVycyAuZ3JleSB7XG4gIC8qIFBlcm1hbGluayAtIHVzZSB0byBlZGl0IGFuZCBzaGFyZSB0aGlzIGdyYWRpZW50OiBodHRwOi8vY29sb3J6aWxsYS5jb20vZ3JhZGllbnQtZWRpdG9yLyM2OTY5NjkrMCwzYzNjM2MrMTAwICovXG4gIGJhY2tncm91bmQ6ICM2OTY5Njk7XG4gIC8qIE9sZCBicm93c2VycyAqL1xuICBiYWNrZ3JvdW5kOiAtbW96LXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICM2OTY5NjkgMCUsICMzYzNjM2MgMTAwJSk7XG4gIC8qIEZGMy42KyAqL1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KHJhZGlhbCwgY2VudGVyIGNlbnRlciwgMHB4LCBjZW50ZXIgY2VudGVyLCAxMDAlLCBjb2xvci1zdG9wKDAlLCAjNjk2OTY5KSwgY29sb3Itc3RvcCgxMDAlLCAjM2MzYzNjKSk7XG4gIC8qIENocm9tZSxTYWZhcmk0KyAqL1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICM2OTY5NjkgMCUsICMzYzNjM2MgMTAwJSk7XG4gIC8qIENocm9tZTEwKyxTYWZhcmk1LjErICovXG4gIGJhY2tncm91bmQ6IC1vLXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICM2OTY5NjkgMCUsICMzYzNjM2MgMTAwJSk7XG4gIC8qIE9wZXJhIDEyKyAqL1xuICBiYWNrZ3JvdW5kOiAtbXMtcmFkaWFsLWdyYWRpZW50KGNlbnRlciwgZWxsaXBzZSBjb3ZlciwgIzY5Njk2OSAwJSwgIzNjM2MzYyAxMDAlKTtcbiAgLyogSUUxMCsgKi9cbiAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgY2VudGVyLCAjNjk2OTY5IDAlLCAjM2MzYzNjIDEwMCUpO1xuICAvKiBXM0MgKi9cbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyM2OTY5NjknLCBlbmRDb2xvcnN0cj0nIzNjM2MzYycsR3JhZGllbnRUeXBlPTEgKTtcbiAgLyogSUU2LTkgZmFsbGJhY2sgb24gaG9yaXpvbnRhbCBncmFkaWVudCAqLyB9XG5cbi5yb3VsZXR0ZS1pbi1udW1iZXJzIC5ncmVlbiB7XG4gIC8qIFBlcm1hbGluayAtIHVzZSB0byBlZGl0IGFuZCBzaGFyZSB0aGlzIGdyYWRpZW50OiBodHRwOi8vY29sb3J6aWxsYS5jb20vZ3JhZGllbnQtZWRpdG9yLyM0YmM0MGYrMCwyNzc1MDArMTAwICovXG4gIGJhY2tncm91bmQ6ICM0YmM0MGY7XG4gIC8qIE9sZCBicm93c2VycyAqL1xuICBiYWNrZ3JvdW5kOiAtbW96LXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICM0YmM0MGYgMCUsICMyNzc1MDAgMTAwJSk7XG4gIC8qIEZGMy42KyAqL1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KHJhZGlhbCwgY2VudGVyIGNlbnRlciwgMHB4LCBjZW50ZXIgY2VudGVyLCAxMDAlLCBjb2xvci1zdG9wKDAlLCAjNGJjNDBmKSwgY29sb3Itc3RvcCgxMDAlLCAjMjc3NTAwKSk7XG4gIC8qIENocm9tZSxTYWZhcmk0KyAqL1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICM0YmM0MGYgMCUsICMyNzc1MDAgMTAwJSk7XG4gIC8qIENocm9tZTEwKyxTYWZhcmk1LjErICovXG4gIGJhY2tncm91bmQ6IC1vLXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICM0YmM0MGYgMCUsICMyNzc1MDAgMTAwJSk7XG4gIC8qIE9wZXJhIDEyKyAqL1xuICBiYWNrZ3JvdW5kOiAtbXMtcmFkaWFsLWdyYWRpZW50KGNlbnRlciwgZWxsaXBzZSBjb3ZlciwgIzRiYzQwZiAwJSwgIzI3NzUwMCAxMDAlKTtcbiAgLyogSUUxMCsgKi9cbiAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgY2VudGVyLCAjNGJjNDBmIDAlLCAjMjc3NTAwIDEwMCUpO1xuICAvKiBXM0MgKi9cbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyM0YmM0MGYnLCBlbmRDb2xvcnN0cj0nIzI3NzUwMCcsR3JhZGllbnRUeXBlPTEgKTtcbiAgLyogSUU2LTkgZmFsbGJhY2sgb24gaG9yaXpvbnRhbCBncmFkaWVudCAqLyB9XG5cbi5yb3VsZXR0ZS1pbi1udW1iZXJzIC5iYWxsLCAucm91bGV0dGUtaW4tbnVtYmVycyAubnVtYmVyIC5jbGljay1udW1iZXI6YmVmb3JlIHtcbiAgLyogUGVybWFsaW5rIC0gdXNlIHRvIGVkaXQgYW5kIHNoYXJlIHRoaXMgZ3JhZGllbnQ6IGh0dHA6Ly9jb2xvcnppbGxhLmNvbS9ncmFkaWVudC1lZGl0b3IvI2ZlZmZmZiswLGQ1ZTZlZCsxMDAgKi9cbiAgYmFja2dyb3VuZDogI2ZlZmZmZjtcbiAgLyogT2xkIGJyb3dzZXJzICovXG4gIGJhY2tncm91bmQ6IC1tb3otcmFkaWFsLWdyYWRpZW50KGNlbnRlciwgZWxsaXBzZSBjb3ZlciwgI2ZlZmZmZiAwJSwgI2Q1ZTZlZCAxMDAlKTtcbiAgLyogRkYzLjYrICovXG4gIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQocmFkaWFsLCBjZW50ZXIgY2VudGVyLCAwcHgsIGNlbnRlciBjZW50ZXIsIDEwMCUsIGNvbG9yLXN0b3AoMCUsICNmZWZmZmYpLCBjb2xvci1zdG9wKDEwMCUsICNkNWU2ZWQpKTtcbiAgLyogQ2hyb21lLFNhZmFyaTQrICovXG4gIGJhY2tncm91bmQ6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KGNlbnRlciwgZWxsaXBzZSBjb3ZlciwgI2ZlZmZmZiAwJSwgI2Q1ZTZlZCAxMDAlKTtcbiAgLyogQ2hyb21lMTArLFNhZmFyaTUuMSsgKi9cbiAgYmFja2dyb3VuZDogLW8tcmFkaWFsLWdyYWRpZW50KGNlbnRlciwgZWxsaXBzZSBjb3ZlciwgI2ZlZmZmZiAwJSwgI2Q1ZTZlZCAxMDAlKTtcbiAgLyogT3BlcmEgMTIrICovXG4gIGJhY2tncm91bmQ6IC1tcy1yYWRpYWwtZ3JhZGllbnQoY2VudGVyLCBlbGxpcHNlIGNvdmVyLCAjZmVmZmZmIDAlLCAjZDVlNmVkIDEwMCUpO1xuICAvKiBJRTEwKyAqL1xuICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCBjZW50ZXIsICNmZWZmZmYgMCUsICNkNWU2ZWQgMTAwJSk7XG4gIC8qIFczQyAqL1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nI2ZlZmZmZicsIGVuZENvbG9yc3RyPScjZDVlNmVkJyxHcmFkaWVudFR5cGU9MSApO1xuICAvKiBJRTYtOSBmYWxsYmFjayBvbiBob3Jpem9udGFsIGdyYWRpZW50ICovIH1cblxuQGZvbnQtZmFjZSB7XG4gIC5yb3VsZXR0ZS1pbi1udW1iZXJzIHtcbiAgICBmb250LWZhbWlseTogJ0FyaW1vJztcbiAgICBzcmM6IHVybChcIi4uL2ZvbnRzL2FyaW1vLWJvbGQuZW90XCIpO1xuICAgIC8qIElFOSBDb21wYXQgTW9kZXMgKi9cbiAgICBzcmM6IHVybChcIi4uL2ZvbnRzL2FyaW1vLWJvbGQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL2FyaW1vLWJvbGQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9hcmltby1ib2xkLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvYXJpbW8tYm9sZC5zdmdcIikgZm9ybWF0KFwic3ZnXCIpO1xuICAgIC8qIExlZ2FjeSBpT1MgKi8gfSB9XG5cbi5yb3VsZXR0ZS1pbi1udW1iZXJzIC5jZW50ZXJlZCwgLnJvdWxldHRlLWluLW51bWJlcnMgLnJvdWxldHRlLFxuLnJvdWxldHRlLWluLW51bWJlcnMgLnJvdWxldHRlLWltYWdlLCAucm91bGV0dGUtaW4tbnVtYmVycyAuZmFjdCAuZmFjdC13cmFwLCAucm91bGV0dGUtaW4tbnVtYmVycyAuZmFjdCAuZmFjdC13cmFwIC5mYWN0LW51bWJlciBzcGFuLCAucm91bGV0dGUtaW4tbnVtYmVycyAub3ZlcmxheSwgLnJvdWxldHRlLWluLW51bWJlcnMgLm1pZGRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG5cbi5yb3VsZXR0ZS1pbi1udW1iZXJzIC5ncmV5LWJnIHtcbiAgLyogUGVybWFsaW5rIC0gdXNlIHRvIGVkaXQgYW5kIHNoYXJlIHRoaXMgZ3JhZGllbnQ6IGh0dHA6Ly9jb2xvcnppbGxhLmNvbS9ncmFkaWVudC1lZGl0b3IvIzRmNGY0ZiswLDI3MjcyNysxMDAgKi9cbiAgYmFja2dyb3VuZDogIzRmNGY0ZjtcbiAgLyogT2xkIGJyb3dzZXJzICovXG4gIGJhY2tncm91bmQ6IC1tb3otcmFkaWFsLWdyYWRpZW50KGNlbnRlciwgZWxsaXBzZSBjb3ZlciwgIzRmNGY0ZiAwJSwgIzI3MjcyNyAxMDAlKTtcbiAgLyogRkYzLjYrICovXG4gIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQocmFkaWFsLCBjZW50ZXIgY2VudGVyLCAwcHgsIGNlbnRlciBjZW50ZXIsIDEwMCUsIGNvbG9yLXN0b3AoMCUsICM0ZjRmNGYpLCBjb2xvci1zdG9wKDEwMCUsICMyNzI3MjcpKTtcbiAgLyogQ2hyb21lLFNhZmFyaTQrICovXG4gIGJhY2tncm91bmQ6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KGNlbnRlciwgZWxsaXBzZSBjb3ZlciwgIzRmNGY0ZiAwJSwgIzI3MjcyNyAxMDAlKTtcbiAgLyogQ2hyb21lMTArLFNhZmFyaTUuMSsgKi9cbiAgYmFja2dyb3VuZDogLW8tcmFkaWFsLWdyYWRpZW50KGNlbnRlciwgZWxsaXBzZSBjb3ZlciwgIzRmNGY0ZiAwJSwgIzI3MjcyNyAxMDAlKTtcbiAgLyogT3BlcmEgMTIrICovXG4gIGJhY2tncm91bmQ6IC1tcy1yYWRpYWwtZ3JhZGllbnQoY2VudGVyLCBlbGxpcHNlIGNvdmVyLCAjNGY0ZjRmIDAlLCAjMjcyNzI3IDEwMCUpO1xuICAvKiBJRTEwKyAqL1xuICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCBjZW50ZXIsICM0ZjRmNGYgMCUsICMyNzI3MjcgMTAwJSk7XG4gIC8qIFczQyAqL1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzRmNGY0ZicsIGVuZENvbG9yc3RyPScjMjcyNzI3JyxHcmFkaWVudFR5cGU9MSApO1xuICAvKiBJRTYtOSBmYWxsYmFjayBvbiBob3Jpem9udGFsIGdyYWRpZW50ICovIH1cblxuLnJvdWxldHRlLWluLW51bWJlcnMgLnJlZCB7XG4gIC8qIFBlcm1hbGluayAtIHVzZSB0byBlZGl0IGFuZCBzaGFyZSB0aGlzIGdyYWRpZW50OiBodHRwOi8vY29sb3J6aWxsYS5jb20vZ3JhZGllbnQtZWRpdG9yLyNmNjU5NGQrMCxkYTE2MDgrMTAwICovXG4gIGJhY2tncm91bmQ6ICNmNjU5NGQ7XG4gIC8qIE9sZCBicm93c2VycyAqL1xuICBiYWNrZ3JvdW5kOiAtbW96LXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICNmNjU5NGQgMCUsICNkYTE2MDggMTAwJSk7XG4gIC8qIEZGMy42KyAqL1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KHJhZGlhbCwgY2VudGVyIGNlbnRlciwgMHB4LCBjZW50ZXIgY2VudGVyLCAxMDAlLCBjb2xvci1zdG9wKDAlLCAjZjY1OTRkKSwgY29sb3Itc3RvcCgxMDAlLCAjZGExNjA4KSk7XG4gIC8qIENocm9tZSxTYWZhcmk0KyAqL1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICNmNjU5NGQgMCUsICNkYTE2MDggMTAwJSk7XG4gIC8qIENocm9tZTEwKyxTYWZhcmk1LjErICovXG4gIGJhY2tncm91bmQ6IC1vLXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICNmNjU5NGQgMCUsICNkYTE2MDggMTAwJSk7XG4gIC8qIE9wZXJhIDEyKyAqL1xuICBiYWNrZ3JvdW5kOiAtbXMtcmFkaWFsLWdyYWRpZW50KGNlbnRlciwgZWxsaXBzZSBjb3ZlciwgI2Y2NTk0ZCAwJSwgI2RhMTYwOCAxMDAlKTtcbiAgLyogSUUxMCsgKi9cbiAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgY2VudGVyLCAjZjY1OTRkIDAlLCAjZGExNjA4IDEwMCUpO1xuICAvKiBXM0MgKi9cbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyNmNjU5NGQnLCBlbmRDb2xvcnN0cj0nI2RhMTYwOCcsR3JhZGllbnRUeXBlPTEgKTtcbiAgLyogSUU2LTkgZmFsbGJhY2sgb24gaG9yaXpvbnRhbCBncmFkaWVudCAqLyB9XG5cbi5yb3VsZXR0ZS1pbi1udW1iZXJzIC5ncmV5IHtcbiAgLyogUGVybWFsaW5rIC0gdXNlIHRvIGVkaXQgYW5kIHNoYXJlIHRoaXMgZ3JhZGllbnQ6IGh0dHA6Ly9jb2xvcnppbGxhLmNvbS9ncmFkaWVudC1lZGl0b3IvIzY5Njk2OSswLDNjM2MzYysxMDAgKi9cbiAgYmFja2dyb3VuZDogIzY5Njk2OTtcbiAgLyogT2xkIGJyb3dzZXJzICovXG4gIGJhY2tncm91bmQ6IC1tb3otcmFkaWFsLWdyYWRpZW50KGNlbnRlciwgZWxsaXBzZSBjb3ZlciwgIzY5Njk2OSAwJSwgIzNjM2MzYyAxMDAlKTtcbiAgLyogRkYzLjYrICovXG4gIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQocmFkaWFsLCBjZW50ZXIgY2VudGVyLCAwcHgsIGNlbnRlciBjZW50ZXIsIDEwMCUsIGNvbG9yLXN0b3AoMCUsICM2OTY5NjkpLCBjb2xvci1zdG9wKDEwMCUsICMzYzNjM2MpKTtcbiAgLyogQ2hyb21lLFNhZmFyaTQrICovXG4gIGJhY2tncm91bmQ6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KGNlbnRlciwgZWxsaXBzZSBjb3ZlciwgIzY5Njk2OSAwJSwgIzNjM2MzYyAxMDAlKTtcbiAgLyogQ2hyb21lMTArLFNhZmFyaTUuMSsgKi9cbiAgYmFja2dyb3VuZDogLW8tcmFkaWFsLWdyYWRpZW50KGNlbnRlciwgZWxsaXBzZSBjb3ZlciwgIzY5Njk2OSAwJSwgIzNjM2MzYyAxMDAlKTtcbiAgLyogT3BlcmEgMTIrICovXG4gIGJhY2tncm91bmQ6IC1tcy1yYWRpYWwtZ3JhZGllbnQoY2VudGVyLCBlbGxpcHNlIGNvdmVyLCAjNjk2OTY5IDAlLCAjM2MzYzNjIDEwMCUpO1xuICAvKiBJRTEwKyAqL1xuICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCBjZW50ZXIsICM2OTY5NjkgMCUsICMzYzNjM2MgMTAwJSk7XG4gIC8qIFczQyAqL1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzY5Njk2OScsIGVuZENvbG9yc3RyPScjM2MzYzNjJyxHcmFkaWVudFR5cGU9MSApO1xuICAvKiBJRTYtOSBmYWxsYmFjayBvbiBob3Jpem9udGFsIGdyYWRpZW50ICovIH1cblxuLnJvdWxldHRlLWluLW51bWJlcnMgLmdyZWVuIHtcbiAgLyogUGVybWFsaW5rIC0gdXNlIHRvIGVkaXQgYW5kIHNoYXJlIHRoaXMgZ3JhZGllbnQ6IGh0dHA6Ly9jb2xvcnppbGxhLmNvbS9ncmFkaWVudC1lZGl0b3IvIzRiYzQwZiswLDI3NzUwMCsxMDAgKi9cbiAgYmFja2dyb3VuZDogIzRiYzQwZjtcbiAgLyogT2xkIGJyb3dzZXJzICovXG4gIGJhY2tncm91bmQ6IC1tb3otcmFkaWFsLWdyYWRpZW50KGNlbnRlciwgZWxsaXBzZSBjb3ZlciwgIzRiYzQwZiAwJSwgIzI3NzUwMCAxMDAlKTtcbiAgLyogRkYzLjYrICovXG4gIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQocmFkaWFsLCBjZW50ZXIgY2VudGVyLCAwcHgsIGNlbnRlciBjZW50ZXIsIDEwMCUsIGNvbG9yLXN0b3AoMCUsICM0YmM0MGYpLCBjb2xvci1zdG9wKDEwMCUsICMyNzc1MDApKTtcbiAgLyogQ2hyb21lLFNhZmFyaTQrICovXG4gIGJhY2tncm91bmQ6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KGNlbnRlciwgZWxsaXBzZSBjb3ZlciwgIzRiYzQwZiAwJSwgIzI3NzUwMCAxMDAlKTtcbiAgLyogQ2hyb21lMTArLFNhZmFyaTUuMSsgKi9cbiAgYmFja2dyb3VuZDogLW8tcmFkaWFsLWdyYWRpZW50KGNlbnRlciwgZWxsaXBzZSBjb3ZlciwgIzRiYzQwZiAwJSwgIzI3NzUwMCAxMDAlKTtcbiAgLyogT3BlcmEgMTIrICovXG4gIGJhY2tncm91bmQ6IC1tcy1yYWRpYWwtZ3JhZGllbnQoY2VudGVyLCBlbGxpcHNlIGNvdmVyLCAjNGJjNDBmIDAlLCAjMjc3NTAwIDEwMCUpO1xuICAvKiBJRTEwKyAqL1xuICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCBjZW50ZXIsICM0YmM0MGYgMCUsICMyNzc1MDAgMTAwJSk7XG4gIC8qIFczQyAqL1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzRiYzQwZicsIGVuZENvbG9yc3RyPScjMjc3NTAwJyxHcmFkaWVudFR5cGU9MSApO1xuICAvKiBJRTYtOSBmYWxsYmFjayBvbiBob3Jpem9udGFsIGdyYWRpZW50ICovIH1cblxuLnJvdWxldHRlLWluLW51bWJlcnMgLmJhbGwsIC5yb3VsZXR0ZS1pbi1udW1iZXJzIC5udW1iZXIgLmNsaWNrLW51bWJlcjpiZWZvcmUge1xuICAvKiBQZXJtYWxpbmsgLSB1c2UgdG8gZWRpdCBhbmQgc2hhcmUgdGhpcyBncmFkaWVudDogaHR0cDovL2NvbG9yemlsbGEuY29tL2dyYWRpZW50LWVkaXRvci8jZmVmZmZmKzAsZDVlNmVkKzEwMCAqL1xuICBiYWNrZ3JvdW5kOiAjZmVmZmZmO1xuICAvKiBPbGQgYnJvd3NlcnMgKi9cbiAgYmFja2dyb3VuZDogLW1vei1yYWRpYWwtZ3JhZGllbnQoY2VudGVyLCBlbGxpcHNlIGNvdmVyLCAjZmVmZmZmIDAlLCAjZDVlNmVkIDEwMCUpO1xuICAvKiBGRjMuNisgKi9cbiAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChyYWRpYWwsIGNlbnRlciBjZW50ZXIsIDBweCwgY2VudGVyIGNlbnRlciwgMTAwJSwgY29sb3Itc3RvcCgwJSwgI2ZlZmZmZiksIGNvbG9yLXN0b3AoMTAwJSwgI2Q1ZTZlZCkpO1xuICAvKiBDaHJvbWUsU2FmYXJpNCsgKi9cbiAgYmFja2dyb3VuZDogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoY2VudGVyLCBlbGxpcHNlIGNvdmVyLCAjZmVmZmZmIDAlLCAjZDVlNmVkIDEwMCUpO1xuICAvKiBDaHJvbWUxMCssU2FmYXJpNS4xKyAqL1xuICBiYWNrZ3JvdW5kOiAtby1yYWRpYWwtZ3JhZGllbnQoY2VudGVyLCBlbGxpcHNlIGNvdmVyLCAjZmVmZmZmIDAlLCAjZDVlNmVkIDEwMCUpO1xuICAvKiBPcGVyYSAxMisgKi9cbiAgYmFja2dyb3VuZDogLW1zLXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICNmZWZmZmYgMCUsICNkNWU2ZWQgMTAwJSk7XG4gIC8qIElFMTArICovXG4gIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IGNlbnRlciwgI2ZlZmZmZiAwJSwgI2Q1ZTZlZCAxMDAlKTtcbiAgLyogVzNDICovXG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjZmVmZmZmJywgZW5kQ29sb3JzdHI9JyNkNWU2ZWQnLEdyYWRpZW50VHlwZT0xICk7XG4gIC8qIElFNi05IGZhbGxiYWNrIG9uIGhvcml6b250YWwgZ3JhZGllbnQgKi8gfVxuXG4ucm91bGV0dGUtaW4tbnVtYmVycyAqIHtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IH1cblxuLnJvdWxldHRlLWluLW51bWJlcnMgYm9keSwgLnJvdWxldHRlLWluLW51bWJlcnMgaHRtbCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWF4LXdpZHRoOiA3ODVweDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LWZhbWlseTogJ1RpbWVzIE5ldyBSb21hbic7IH1cblxuLnJvdWxldHRlLWluLW51bWJlcnMgKiB7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4ucm91bGV0dGUtaW4tbnVtYmVycyBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5yb3VsZXR0ZS1pbi1udW1iZXJzIHVsIHtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLnJvdWxldHRlLWluLW51bWJlcnMgaDEsIC5yb3VsZXR0ZS1pbi1udW1iZXJzIGgyLCAucm91bGV0dGUtaW4tbnVtYmVycyBoMywgLnJvdWxldHRlLWluLW51bWJlcnMgaDQsIC5yb3VsZXR0ZS1pbi1udW1iZXJzIGg1LCAucm91bGV0dGUtaW4tbnVtYmVycyBoNiB7XG4gIG1hcmdpbjogMHB4IDBweDtcbiAgbGluZS1oZWlnaHQ6IDFlbTsgfVxuXG4ucm91bGV0dGUtaW4tbnVtYmVycyAuY2VudGVyZWQsIC5yb3VsZXR0ZS1pbi1udW1iZXJzIC5yb3VsZXR0ZSxcbi5yb3VsZXR0ZS1pbi1udW1iZXJzIC5yb3VsZXR0ZS1pbWFnZSwgLnJvdWxldHRlLWluLW51bWJlcnMgLmZhY3QgLmZhY3Qtd3JhcCwgLnJvdWxldHRlLWluLW51bWJlcnMgLmZhY3QgLmZhY3Qtd3JhcCAuZmFjdC1udW1iZXIgc3BhbiwgLnJvdWxldHRlLWluLW51bWJlcnMgLm92ZXJsYXksIC5yb3VsZXR0ZS1pbi1udW1iZXJzIC5taWRkbGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuXG4ucm91bGV0dGUtaW4tbnVtYmVycyAuZ3JleS1iZyB7XG4gIC8qIFBlcm1hbGluayAtIHVzZSB0byBlZGl0IGFuZCBzaGFyZSB0aGlzIGdyYWRpZW50OiBodHRwOi8vY29sb3J6aWxsYS5jb20vZ3JhZGllbnQtZWRpdG9yLyM0ZjRmNGYrMCwyNzI3MjcrMTAwICovXG4gIGJhY2tncm91bmQ6ICM0ZjRmNGY7XG4gIC8qIE9sZCBicm93c2VycyAqL1xuICBiYWNrZ3JvdW5kOiAtbW96LXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICM0ZjRmNGYgMCUsICMyNzI3MjcgMTAwJSk7XG4gIC8qIEZGMy42KyAqL1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KHJhZGlhbCwgY2VudGVyIGNlbnRlciwgMHB4LCBjZW50ZXIgY2VudGVyLCAxMDAlLCBjb2xvci1zdG9wKDAlLCAjNGY0ZjRmKSwgY29sb3Itc3RvcCgxMDAlLCAjMjcyNzI3KSk7XG4gIC8qIENocm9tZSxTYWZhcmk0KyAqL1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICM0ZjRmNGYgMCUsICMyNzI3MjcgMTAwJSk7XG4gIC8qIENocm9tZTEwKyxTYWZhcmk1LjErICovXG4gIGJhY2tncm91bmQ6IC1vLXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICM0ZjRmNGYgMCUsICMyNzI3MjcgMTAwJSk7XG4gIC8qIE9wZXJhIDEyKyAqL1xuICBiYWNrZ3JvdW5kOiAtbXMtcmFkaWFsLWdyYWRpZW50KGNlbnRlciwgZWxsaXBzZSBjb3ZlciwgIzRmNGY0ZiAwJSwgIzI3MjcyNyAxMDAlKTtcbiAgLyogSUUxMCsgKi9cbiAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgY2VudGVyLCAjNGY0ZjRmIDAlLCAjMjcyNzI3IDEwMCUpO1xuICAvKiBXM0MgKi9cbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyM0ZjRmNGYnLCBlbmRDb2xvcnN0cj0nIzI3MjcyNycsR3JhZGllbnRUeXBlPTEgKTtcbiAgLyogSUU2LTkgZmFsbGJhY2sgb24gaG9yaXpvbnRhbCBncmFkaWVudCAqLyB9XG5cbi5yb3VsZXR0ZS1pbi1udW1iZXJzIC5yZWQge1xuICAvKiBQZXJtYWxpbmsgLSB1c2UgdG8gZWRpdCBhbmQgc2hhcmUgdGhpcyBncmFkaWVudDogaHR0cDovL2NvbG9yemlsbGEuY29tL2dyYWRpZW50LWVkaXRvci8jZjY1OTRkKzAsZGExNjA4KzEwMCAqL1xuICBiYWNrZ3JvdW5kOiAjZjY1OTRkO1xuICAvKiBPbGQgYnJvd3NlcnMgKi9cbiAgYmFja2dyb3VuZDogLW1vei1yYWRpYWwtZ3JhZGllbnQoY2VudGVyLCBlbGxpcHNlIGNvdmVyLCAjZjY1OTRkIDAlLCAjZGExNjA4IDEwMCUpO1xuICAvKiBGRjMuNisgKi9cbiAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChyYWRpYWwsIGNlbnRlciBjZW50ZXIsIDBweCwgY2VudGVyIGNlbnRlciwgMTAwJSwgY29sb3Itc3RvcCgwJSwgI2Y2NTk0ZCksIGNvbG9yLXN0b3AoMTAwJSwgI2RhMTYwOCkpO1xuICAvKiBDaHJvbWUsU2FmYXJpNCsgKi9cbiAgYmFja2dyb3VuZDogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoY2VudGVyLCBlbGxpcHNlIGNvdmVyLCAjZjY1OTRkIDAlLCAjZGExNjA4IDEwMCUpO1xuICAvKiBDaHJvbWUxMCssU2FmYXJpNS4xKyAqL1xuICBiYWNrZ3JvdW5kOiAtby1yYWRpYWwtZ3JhZGllbnQoY2VudGVyLCBlbGxpcHNlIGNvdmVyLCAjZjY1OTRkIDAlLCAjZGExNjA4IDEwMCUpO1xuICAvKiBPcGVyYSAxMisgKi9cbiAgYmFja2dyb3VuZDogLW1zLXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICNmNjU5NGQgMCUsICNkYTE2MDggMTAwJSk7XG4gIC8qIElFMTArICovXG4gIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IGNlbnRlciwgI2Y2NTk0ZCAwJSwgI2RhMTYwOCAxMDAlKTtcbiAgLyogVzNDICovXG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjZjY1OTRkJywgZW5kQ29sb3JzdHI9JyNkYTE2MDgnLEdyYWRpZW50VHlwZT0xICk7XG4gIC8qIElFNi05IGZhbGxiYWNrIG9uIGhvcml6b250YWwgZ3JhZGllbnQgKi8gfVxuXG4ucm91bGV0dGUtaW4tbnVtYmVycyAuZ3JleSB7XG4gIC8qIFBlcm1hbGluayAtIHVzZSB0byBlZGl0IGFuZCBzaGFyZSB0aGlzIGdyYWRpZW50OiBodHRwOi8vY29sb3J6aWxsYS5jb20vZ3JhZGllbnQtZWRpdG9yLyM2OTY5NjkrMCwzYzNjM2MrMTAwICovXG4gIGJhY2tncm91bmQ6ICM2OTY5Njk7XG4gIC8qIE9sZCBicm93c2VycyAqL1xuICBiYWNrZ3JvdW5kOiAtbW96LXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICM2OTY5NjkgMCUsICMzYzNjM2MgMTAwJSk7XG4gIC8qIEZGMy42KyAqL1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KHJhZGlhbCwgY2VudGVyIGNlbnRlciwgMHB4LCBjZW50ZXIgY2VudGVyLCAxMDAlLCBjb2xvci1zdG9wKDAlLCAjNjk2OTY5KSwgY29sb3Itc3RvcCgxMDAlLCAjM2MzYzNjKSk7XG4gIC8qIENocm9tZSxTYWZhcmk0KyAqL1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICM2OTY5NjkgMCUsICMzYzNjM2MgMTAwJSk7XG4gIC8qIENocm9tZTEwKyxTYWZhcmk1LjErICovXG4gIGJhY2tncm91bmQ6IC1vLXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICM2OTY5NjkgMCUsICMzYzNjM2MgMTAwJSk7XG4gIC8qIE9wZXJhIDEyKyAqL1xuICBiYWNrZ3JvdW5kOiAtbXMtcmFkaWFsLWdyYWRpZW50KGNlbnRlciwgZWxsaXBzZSBjb3ZlciwgIzY5Njk2OSAwJSwgIzNjM2MzYyAxMDAlKTtcbiAgLyogSUUxMCsgKi9cbiAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgY2VudGVyLCAjNjk2OTY5IDAlLCAjM2MzYzNjIDEwMCUpO1xuICAvKiBXM0MgKi9cbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyM2OTY5NjknLCBlbmRDb2xvcnN0cj0nIzNjM2MzYycsR3JhZGllbnRUeXBlPTEgKTtcbiAgLyogSUU2LTkgZmFsbGJhY2sgb24gaG9yaXpvbnRhbCBncmFkaWVudCAqLyB9XG5cbi5yb3VsZXR0ZS1pbi1udW1iZXJzIC5ncmVlbiB7XG4gIC8qIFBlcm1hbGluayAtIHVzZSB0byBlZGl0IGFuZCBzaGFyZSB0aGlzIGdyYWRpZW50OiBodHRwOi8vY29sb3J6aWxsYS5jb20vZ3JhZGllbnQtZWRpdG9yLyM0YmM0MGYrMCwyNzc1MDArMTAwICovXG4gIGJhY2tncm91bmQ6ICM0YmM0MGY7XG4gIC8qIE9sZCBicm93c2VycyAqL1xuICBiYWNrZ3JvdW5kOiAtbW96LXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICM0YmM0MGYgMCUsICMyNzc1MDAgMTAwJSk7XG4gIC8qIEZGMy42KyAqL1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KHJhZGlhbCwgY2VudGVyIGNlbnRlciwgMHB4LCBjZW50ZXIgY2VudGVyLCAxMDAlLCBjb2xvci1zdG9wKDAlLCAjNGJjNDBmKSwgY29sb3Itc3RvcCgxMDAlLCAjMjc3NTAwKSk7XG4gIC8qIENocm9tZSxTYWZhcmk0KyAqL1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICM0YmM0MGYgMCUsICMyNzc1MDAgMTAwJSk7XG4gIC8qIENocm9tZTEwKyxTYWZhcmk1LjErICovXG4gIGJhY2tncm91bmQ6IC1vLXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICM0YmM0MGYgMCUsICMyNzc1MDAgMTAwJSk7XG4gIC8qIE9wZXJhIDEyKyAqL1xuICBiYWNrZ3JvdW5kOiAtbXMtcmFkaWFsLWdyYWRpZW50KGNlbnRlciwgZWxsaXBzZSBjb3ZlciwgIzRiYzQwZiAwJSwgIzI3NzUwMCAxMDAlKTtcbiAgLyogSUUxMCsgKi9cbiAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgY2VudGVyLCAjNGJjNDBmIDAlLCAjMjc3NTAwIDEwMCUpO1xuICAvKiBXM0MgKi9cbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyM0YmM0MGYnLCBlbmRDb2xvcnN0cj0nIzI3NzUwMCcsR3JhZGllbnRUeXBlPTEgKTtcbiAgLyogSUU2LTkgZmFsbGJhY2sgb24gaG9yaXpvbnRhbCBncmFkaWVudCAqLyB9XG5cbi5yb3VsZXR0ZS1pbi1udW1iZXJzIC5iYWxsLCAucm91bGV0dGUtaW4tbnVtYmVycyAubnVtYmVyIC5jbGljay1udW1iZXI6YmVmb3JlIHtcbiAgLyogUGVybWFsaW5rIC0gdXNlIHRvIGVkaXQgYW5kIHNoYXJlIHRoaXMgZ3JhZGllbnQ6IGh0dHA6Ly9jb2xvcnppbGxhLmNvbS9ncmFkaWVudC1lZGl0b3IvI2ZlZmZmZiswLGQ1ZTZlZCsxMDAgKi9cbiAgYmFja2dyb3VuZDogI2ZlZmZmZjtcbiAgLyogT2xkIGJyb3dzZXJzICovXG4gIGJhY2tncm91bmQ6IC1tb3otcmFkaWFsLWdyYWRpZW50KGNlbnRlciwgZWxsaXBzZSBjb3ZlciwgI2ZlZmZmZiAwJSwgI2Q1ZTZlZCAxMDAlKTtcbiAgLyogRkYzLjYrICovXG4gIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQocmFkaWFsLCBjZW50ZXIgY2VudGVyLCAwcHgsIGNlbnRlciBjZW50ZXIsIDEwMCUsIGNvbG9yLXN0b3AoMCUsICNmZWZmZmYpLCBjb2xvci1zdG9wKDEwMCUsICNkNWU2ZWQpKTtcbiAgLyogQ2hyb21lLFNhZmFyaTQrICovXG4gIGJhY2tncm91bmQ6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KGNlbnRlciwgZWxsaXBzZSBjb3ZlciwgI2ZlZmZmZiAwJSwgI2Q1ZTZlZCAxMDAlKTtcbiAgLyogQ2hyb21lMTArLFNhZmFyaTUuMSsgKi9cbiAgYmFja2dyb3VuZDogLW8tcmFkaWFsLWdyYWRpZW50KGNlbnRlciwgZWxsaXBzZSBjb3ZlciwgI2ZlZmZmZiAwJSwgI2Q1ZTZlZCAxMDAlKTtcbiAgLyogT3BlcmEgMTIrICovXG4gIGJhY2tncm91bmQ6IC1tcy1yYWRpYWwtZ3JhZGllbnQoY2VudGVyLCBlbGxpcHNlIGNvdmVyLCAjZmVmZmZmIDAlLCAjZDVlNmVkIDEwMCUpO1xuICAvKiBJRTEwKyAqL1xuICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCBjZW50ZXIsICNmZWZmZmYgMCUsICNkNWU2ZWQgMTAwJSk7XG4gIC8qIFczQyAqL1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nI2ZlZmZmZicsIGVuZENvbG9yc3RyPScjZDVlNmVkJyxHcmFkaWVudFR5cGU9MSApO1xuICAvKiBJRTYtOSBmYWxsYmFjayBvbiBob3Jpem9udGFsIGdyYWRpZW50ICovIH1cblxuQGtleWZyYW1lcyBtYXJrZXIge1xuICAwJSB7XG4gICAgd2lkdGg6IDk1JTtcbiAgICBwYWRkaW5nLXRvcDogOTUlO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgd2lkdGg6IDIwMCU7XG4gICAgcGFkZGluZy10b3A6IDIwMCU7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBtYXJrZXIge1xuICAwJSB7XG4gICAgd2lkdGg6IDk1JTtcbiAgICBwYWRkaW5nLXRvcDogOTUlO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgd2lkdGg6IDIwMCU7XG4gICAgcGFkZGluZy10b3A6IDIwMCU7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5yb3VsZXR0ZS1pbi1udW1iZXJzIC5jb250ZW50IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctdG9wOiA4MyU7XG4gIC13ZWJraXQtYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzAwMCwgIzAwNTgyYyk7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICMwMDAsICMwMDU4MmMpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJvcmRlcjogMzBweCBzb2xpZCAjM2ExZDE5O1xuICBib3JkZXItdG9wOiAyNnB4IHNvbGlkICMzYTFkMTk7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMHB4IDBweCAxNXB4IDZweCByZ2JhKDAsIDAsIDAsIDAuNDUpO1xuICAtbW96LWJveC1zaGFkb3c6IGluc2V0IDBweCAwcHggMTVweCA2cHggcmdiYSgwLCAwLCAwLCAwLjQ1KTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMHB4IDBweCAxNXB4IDZweCByZ2JhKDAsIDAsIDAsIDAuNDUpO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ5OXB4KSB7XG4gIC5yb3VsZXR0ZS1pbi1udW1iZXJzIC5jb250ZW50IHtcbiAgICBwYWRkaW5nLXRvcDogMTI4JTsgfSB9XG5cbi5yb3VsZXR0ZS1pbi1udW1iZXJzIC5yb3VsZXR0ZSB7XG4gIG9wYWNpdHk6IDA7XG4gIHBhZGRpbmctdG9wOiA2NSU7XG4gIHdpZHRoOiA2NSU7XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWcvcm91bGV0dGUtaW4tbnVtYmVycy9iYXNlLnBuZyk7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTc1JSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC03NSUpOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ5OXB4KSB7XG4gIC5yb3VsZXR0ZS1pbi1udW1iZXJzIC5yb3VsZXR0ZSB7XG4gICAgcGFkZGluZy10b3A6IDk1JTtcbiAgICB3aWR0aDogOTUlOyB9IH1cblxuLnJvdWxldHRlLWluLW51bWJlcnMgLnJvdWxldHRlLWltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm94LXNoYWRvdzogMCAwIDEwcHggMTZweCByZ2JhKDAsIDAsIDAsIDAuMzUpO1xuICAtd2Via2l0LXRyYW5zaXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IG5vbmU7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSgwZGVnKTsgfVxuXG4ucm91bGV0dGUtaW4tbnVtYmVycyAucm91bGV0dGUtaW1hZ2Uuc3BpbiB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKDM2MGRlZyk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSgzNjBkZWcpO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAycyBlYXNlO1xuICB0cmFuc2l0aW9uOiBhbGwgMnMgZWFzZTsgfVxuXG4ucm91bGV0dGUtaW4tbnVtYmVycyAubnVtYmVycyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5yb3VsZXR0ZS1pbi1udW1iZXJzIC5udW1iZXIgLmNsaWNrLW51bWJlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKGF1dG8pO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKGF1dG8pO1xuICB0b3A6IDE2JTtcbiAgbGVmdDogNTAlO1xuICB3aWR0aDogNiU7XG4gIGhlaWdodDogMzQlO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLnJvdWxldHRlLWluLW51bWJlcnMgLm51bWJlciAuY2xpY2stbnVtYmVyLmRpc2FibGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4ucm91bGV0dGUtaW4tbnVtYmVycyAubnVtYmVyIC5jbGljay1udW1iZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDYwJTtcbiAgcGFkZGluZy10b3A6IDYwJTtcbiAgYm94LXNoYWRvdzogMCAwIDIwcHggYmxhY2s7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgdG9wOiA1JTtcbiAgbGVmdDogMjUwJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zaXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IG5vbmU7IH1cblxuLnJvdWxldHRlLWluLW51bWJlcnMgLm51bWJlciAuY2xpY2stbnVtYmVyLnNob3dfYmFsbCB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogdHJhbnNmb3JtIDJzIGVhc2U7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAycyBlYXNlOyB9XG5cbi5yb3VsZXR0ZS1pbi1udW1iZXJzIC5udW1iZXIgLmNsaWNrLW51bWJlci5zaG93X2JhbGw6YmVmb3JlIHtcbiAgd2lkdGg6IDUwJTtcbiAgcGFkZGluZy10b3A6IDUwJTtcbiAgb3BhY2l0eTogMTtcbiAgbGVmdDogNTAlO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwcyBlYXNlLWluO1xuICB0cmFuc2l0aW9uOiBhbGwgMHMgZWFzZS1pbjsgfVxuXG4ucm91bGV0dGUtaW4tbnVtYmVycyAubnVtYmVyIC5jbGljay1udW1iZXIuZHJvcDpiZWZvcmUge1xuICB0b3A6IDI3JTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluOyB9XG5cbi5yb3VsZXR0ZS1pbi1udW1iZXJzIC5mYWN0IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgd2lkdGg6IDc5JTtcbiAgaGVpZ2h0OiA3OSU7XG4gIHotaW5kZXg6IDE7IH1cblxuLnJvdWxldHRlLWluLW51bWJlcnMgLmZhY3QgLmZhY3Qtd3JhcCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnJvdWxldHRlLWluLW51bWJlcnMgLmZhY3QgLmZhY3Qtd3JhcCAuZmFjdC1udW1iZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTglO1xuICBwYWRkaW5nLXRvcDogMTclO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNkZmRmZGY7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5yb3VsZXR0ZS1pbi1udW1iZXJzIC5mYWN0IC5mYWN0LXdyYXAgLmZhY3QtbnVtYmVyIHNwYW4ge1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAyLjVlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIC5yb3VsZXR0ZS1pbi1udW1iZXJzIC5mYWN0IC5mYWN0LXdyYXAgLmZhY3QtbnVtYmVyIHNwYW4ge1xuICAgICAgZm9udC1zaXplOiAxNHB4OyB9IH1cblxuLnJvdWxldHRlLWluLW51bWJlcnMgLmZhY3QgLmZhY3Qtd3JhcCBwIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxLjFlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiA2NSU7XG4gIG1hcmdpbjogNSUgYXV0bzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIC5yb3VsZXR0ZS1pbi1udW1iZXJzIC5mYWN0IC5mYWN0LXdyYXAgcCB7XG4gICAgICBmb250LXNpemU6IDEycHg7IH0gfVxuXG4ucm91bGV0dGUtaW4tbnVtYmVycyAuZmFjdCAuZmFjdC13cmFwIC5jbG9zZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAlO1xuICBwYWRkaW5nLXRvcDogMTAlO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ucm91bGV0dGUtaW4tbnVtYmVycyAuZmFjdCAuZmFjdC13cmFwIC5jbG9zZTpiZWZvcmUsIC5yb3VsZXR0ZS1pbi1udW1iZXJzIC5mYWN0IC5mYWN0LXdyYXAgLmNsb3NlOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDUwJTtcbiAgaGVpZ2h0OiAycHg7XG4gIGJhY2tncm91bmQ6ICM5MDkwOTA7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7IH1cblxuLnJvdWxldHRlLWluLW51bWJlcnMgLmZhY3QgLmZhY3Qtd3JhcCAuY2xvc2U6YmVmb3JlIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoNDVkZWcpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoNDVkZWcpOyB9XG5cbi5yb3VsZXR0ZS1pbi1udW1iZXJzIC5mYWN0IC5mYWN0LXdyYXAgLmNsb3NlOmFmdGVyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoLTQ1ZGVnKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKC00NWRlZyk7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDIwcHgpIHtcbiAgLnJvdWxldHRlLWluLW51bWJlcnMgLmZhY3Qge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgLnJvdWxldHRlLWluLW51bWJlcnMgLmZhY3QgLmZhY3Qtd3JhcCBwIHtcbiAgICBjb2xvcjogIzMzMzMzMzsgfVxuICAucm91bGV0dGUtaW4tbnVtYmVycyAuZmFjdCAuZmFjdC13cmFwIC5jbG9zZSB7XG4gICAgYmFja2dyb3VuZDogIzMzMzMzMztcbiAgICB3aWR0aDogNyU7XG4gICAgcGFkZGluZy10b3A6IDclOyB9IH1cblxuLnJvdWxldHRlLWluLW51bWJlcnMgLm92ZXJsYXkge1xuICB3aWR0aDogMzklO1xuICBoZWlnaHQ6IDM5JTtcbiAgYm9yZGVyLXJhZGl1czogNTAlOyB9XG5cbi5yb3VsZXR0ZS1pbi1udW1iZXJzIC5taWRkbGUge1xuICBvcGFjaXR5OiAwO1xuICB3aWR0aDogMzklO1xuICBoZWlnaHQ6IDM5JTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXI6IDVweCBzb2xpZCAjZGZkZmRmO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7IH1cblxuLnJvdWxldHRlLWluLW51bWJlcnMgLm1pZGRsZSBzcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDkwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXNpemU6IDEuNWVtO1xuICBjb2xvcjogI2ZmZjtcbiAgb3BhY2l0eTogMTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOyB9XG5cbi5yb3VsZXR0ZS1pbi1udW1iZXJzIC5taWRkbGUuZXhwYW5kIHtcbiAgd2lkdGg6IDc5JTtcbiAgaGVpZ2h0OiA3OSU7XG4gIG9wYWNpdHk6IC44NTsgfVxuXG4ucm91bGV0dGUtaW4tbnVtYmVycyAubWlkZGxlLmV4cGFuZCBzcGFuIHtcbiAgb3BhY2l0eTogMDsgfVxuXG4ucm91bGV0dGUtaW4tbnVtYmVycyAuc29jaWFsLWJ1dHRvbnMge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDIlO1xuICByaWdodDogMiU7XG4gIHotaW5kZXg6IDI7IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNTUwcHgpIHtcbiAgLnJvdWxldHRlLWluLW51bWJlcnMgLnNvY2lhbC1idXR0b25zIHtcbiAgICBib3R0b206IDElOyB9IH1cblxuLnJvdWxldHRlLWluLW51bWJlcnMgLnNvY2lhbC1idXR0b25zIGEge1xuICBvcGFjaXR5OiAuNTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsgfVxuXG4ucm91bGV0dGUtaW4tbnVtYmVycyAuc29jaWFsLWJ1dHRvbnMgYTpob3ZlciB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnJvdWxldHRlLWluLW51bWJlcnMgZm9vdGVyIHNwYW4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDIlO1xuICBsZWZ0OiAyJTtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgZm9udC1mYW1pbHk6ICdBcmltbyc7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHotaW5kZXg6IDI7IH1cblxuLnJvdWxldHRlLWluLW51bWJlcnMgLnNwbGFzaCAuc3BsYXNoLWltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDYxNXB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC01NXB4O1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgei1pbmRleDogMTsgfVxuXG4ucm91bGV0dGUtaW4tbnVtYmVycyAubG9nbyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiA1MCU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjMzAzMDMwOyB9XG5cbi5yb3VsZXR0ZS1pbi1udW1iZXJzIC5sb2dvIHRpdGxlIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5yb3VsZXR0ZS1pbi1udW1iZXJzIC5sb2dvIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogNTAlO1xuICBtYXgtd2lkdGg6IDE1MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7XG4gIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4OyB9XG5cbi5yb3VsZXR0ZS1pbi1udW1iZXJzIC5sb2dvIC5yaWJib24tYmxhY2sge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5yb3VsZXR0ZS1pbi1udW1iZXJzIC5sb2dvIC5yaWJib24td2hpdGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5yb3VsZXR0ZS1pbi1udW1iZXJzIC5sb2dvIGgyIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXNpemU6IDJlbTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlO1xuICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlO1xuICB0ZXh0LXNoYWRvdzogLTFweCAxcHggOHB4ICNmZmYxYjY7IH1cblxuLnJvdWxldHRlLWluLW51bWJlcnMgLmxvZ28gaDEge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDNlbTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlO1xuICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlO1xuICB0ZXh0LXNoYWRvdzogLTFweCAxcHggOHB4IHJnYmEoMjU1LCAyNDEsIDE4MiwgMC41KTsgfVxuXG4ucm91bGV0dGUtaW4tbnVtYmVycyAubG9nbyBoMSwgLnJvdWxldHRlLWluLW51bWJlcnMgLmxvZ28gaDIge1xuICAtd2Via2l0LWJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsICNkOGJiODksICM5YTc5NGYpO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAjZDhiYjg5LCAjOWE3OTRmKTtcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4ucm91bGV0dGUtaW4tbnVtYmVycyAubG9nbyBzcGFuIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBkaXNwbGF5OiBub25lO1xuICBmb250LXNpemU6IDI0cHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAucm91bGV0dGUtaW4tbnVtYmVycyAubG9nbyBzcGFuIHtcbiAgICAgIGZvbnQtc2l6ZTogMTFweDsgfSB9XG5cbi5yb3VsZXR0ZS1pbi1udW1iZXJzIC5sb2dvIHAge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDU1cHggMDtcbiAgY29sb3I6ICNjYmFlN2U7XG4gIGZvbnQtc2l6ZTogMjRweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIC5yb3VsZXR0ZS1pbi1udW1iZXJzIC5sb2dvIHAge1xuICAgICAgZm9udC1zaXplOiAxMXB4OyB9IH1cblxuLnJvdWxldHRlLWluLW51bWJlcnMgLmxvZ28gLnN0YXJ0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAyMHB4O1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgIzZhMDAwMCwgI2YxM2IzYik7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICB3aWR0aDogMTc1cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyOiA0cHggc29saWQgI2NlYjA4MDtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzIGVhc2U7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAzNXB4IDBweCByZ2JhKDIwNiwgMTc2LCAxMjgsIDAuMzUpO1xuICAtbW96LWJveC1zaGFkb3c6IDBweCAwcHggMzVweCAwcHggcmdiYSgyMDYsIDE3NiwgMTI4LCAwLjM1KTtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAzNXB4IDBweCByZ2JhKDIwNiwgMTc2LCAxMjgsIDAuMzUpOyB9XG5cbi5yb3VsZXR0ZS1pbi1udW1iZXJzIC5sb2dvIC5zdGFydDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNBQjExMTE7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDk5cHgpIHtcbiAgLnJvdWxldHRlLWluLW51bWJlcnMgLmxvZ28ge1xuICAgIHdpZHRoOiA5MCU7IH1cbiAgLnJvdWxldHRlLWluLW51bWJlcnMgLmxvZ28gcCB7XG4gICAgZm9udC1zaXplOiAuOGVtOyB9XG4gIC5yb3VsZXR0ZS1pbi1udW1iZXJzIC5sb2dvIGgyIHtcbiAgICBmb250LXNpemU6IDN2dzsgfVxuICAucm91bGV0dGUtaW4tbnVtYmVycyAubG9nbyBoMSB7XG4gICAgZm9udC1zaXplOiA2dnc7IH1cbiAgLnJvdWxldHRlLWluLW51bWJlcnMgLmxvZ28gLnN0YXJ0IHtcbiAgICBmb250LXNpemU6IDR2dztcbiAgICB3aWR0aDogMTIwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MDBweCkgYW5kIChtYXgtd2lkdGg6IDc4NXB4KSB7XG4gIC5yb3VsZXR0ZS1pbi1udW1iZXJzIC5sb2dvIGgyIHtcbiAgICBmb250LXNpemU6IDR2dzsgfVxuICAucm91bGV0dGUtaW4tbnVtYmVycyAubG9nbyBoMSB7XG4gICAgZm9udC1zaXplOiA3dnc7IH1cbiAgLnJvdWxldHRlLWluLW51bWJlcnMgLmxvZ28gLnN0YXJ0IHtcbiAgICBmb250LXNpemU6IDR2dzsgfSB9XG5cbi5yb3VsZXR0ZS1pbi1udW1iZXJzIC5sb2dvLnRvcCB7XG4gIHRvcDogMiU7XG4gIGxlZnQ6IDUwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKTtcbiAgY29sb3I6ICNmZmY7IH1cblxuLnJvdWxldHRlLWluLW51bWJlcnMgLmxvZ28udG9wIGltZyB7XG4gIG1heC13aWR0aDogMTIwcHg7IH1cblxuLnJvdWxldHRlLWluLW51bWJlcnMgLmxvZ28udG9wIGgyIHtcbiAgZm9udC1zaXplOiAxLjJlbTsgfVxuXG4ucm91bGV0dGUtaW4tbnVtYmVycyAubG9nby50b3AgaDEge1xuICBmb250LXNpemU6IDIuMmVtOyB9XG5cbi5yb3VsZXR0ZS1pbi1udW1iZXJzIC5sb2dvLnRvcCAucmliYm9uLWJsYWNrIHtcbiAgb3BhY2l0eTogMDsgfVxuXG4ucm91bGV0dGUtaW4tbnVtYmVycyAubG9nby50b3AgLnJpYmJvbi13aGl0ZSB7XG4gIG9wYWNpdHk6IDE7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzg1cHgpIHtcbiAgLnJvdWxldHRlLWluLW51bWJlcnMgLmxvZ28udG9wIGgyIHtcbiAgICBmb250LXNpemU6IDN2dzsgfVxuICAucm91bGV0dGUtaW4tbnVtYmVycyAubG9nby50b3AgaDEge1xuICAgIGZvbnQtc2l6ZTogNnZ3OyB9IH1cblxuLnJvdWxldHRlLWluLW51bWJlcnMgLnRhYmxlIHtcbiAgb3BhY2l0eTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDk5cHgpIHtcbiAgLnJvdWxldHRlLWluLW51bWJlcnMgLnRhYmxlIHtcbiAgICB0b3A6IC02MHB4OyB9IH1cblxuLnJvdWxldHRlLWluLW51bWJlcnMgLnRhYmxlIGltZywgLnJvdWxldHRlLWluLW51bWJlcnMgLnRhYmxlIC50YWJsZS1udW1iZXJzIHtcbiAgd2lkdGg6IDk1JTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXgtd2lkdGg6IDY5NnB4OyB9XG5cbi5yb3VsZXR0ZS1pbi1udW1iZXJzIC50YWJsZSAuY2hpcHMge1xuICB3aWR0aDogNyU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxOCU7XG4gIGxlZnQ6IDQlOyB9XG5cbi5yb3VsZXR0ZS1pbi1udW1iZXJzIC50YWJsZSAuY2hpcHMgLmNoaXAge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA0NnB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbi10b3A6IDE1JTsgfVxuXG4ucm91bGV0dGUtaW4tbnVtYmVycyAudGFibGUgLmNoaXBzIC5jaGlwOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMjUlOyB9XG5cbi5yb3VsZXR0ZS1pbi1udW1iZXJzIC50YWJsZSAudGFibGUtbnVtYmVycyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDsgfVxuXG4ucm91bGV0dGUtaW4tbnVtYmVycyAudGFibGUgLnRhYmxlLW51bWJlcnMgLm51bS0wIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDE4LjUlO1xuICB3aWR0aDogNSU7XG4gIGhlaWdodDogNDMuNSU7XG4gIGxlZnQ6IDExJTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5yb3VsZXR0ZS1pbi1udW1iZXJzIC50YWJsZSAudGFibGUtbnVtYmVycyAubnVtLTAuZGlzYWJsZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5yb3VsZXR0ZS1pbi1udW1iZXJzIC50YWJsZSAudGFibGUtbnVtYmVycyAucm93IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTQuNSU7XG4gIGxlZnQ6IDE2JTtcbiAgdG9wOiAxOC41JTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5yb3VsZXR0ZS1pbi1udW1iZXJzIC50YWJsZSAudGFibGUtbnVtYmVycyAucm93IC50YWJsZS1udW1iZXIge1xuICB3aWR0aDogNS41JTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLWxlZnQ6IC4yJTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnJvdWxldHRlLWluLW51bWJlcnMgLnRhYmxlIC50YWJsZS1udW1iZXJzIC5yb3cgLnRhYmxlLW51bWJlcjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWcvcm91bGV0dGUtaW4tbnVtYmVycy9jaGlwLWJsdWUucG5nKTtcbiAgd2lkdGg6IDExNiU7XG4gIGhlaWdodDogMDtcbiAgbGVmdDogNTAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHBhZGRpbmctdG9wOiAxMjAlOyB9XG5cbi5yb3VsZXR0ZS1pbi1udW1iZXJzIC50YWJsZSAudGFibGUtbnVtYmVycyAucm93IC50YWJsZS1udW1iZXIuc2VsZWN0ZWQtdGFibGUtbnVtYmVyOmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5yb3VsZXR0ZS1pbi1udW1iZXJzIC50YWJsZSAudGFibGUtbnVtYmVycyAucm93IC50YWJsZS1udW1iZXIuZGlzYWJsZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5yb3VsZXR0ZS1pbi1udW1iZXJzIC50YWJsZSAudGFibGUtbnVtYmVycyAucm93IC50YWJsZS1udW1iZXI6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4ucm91bGV0dGUtaW4tbnVtYmVycyAubnVtLTEgLmNsaWNrLW51bWJlciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSg5LjcyOTczZGVnKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSg5LjcyOTczZGVnKTsgfVxuXG4ucm91bGV0dGUtaW4tbnVtYmVycyAubnVtLTEgLmNsaWNrLW51bWJlci5zaG93X2JhbGwge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoLTM0OS4yNzAyN2RlZyk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoLTM0OS4yNzAyN2RlZyk7IH1cblxuLnJvdWxldHRlLWluLW51bWJlcnMgLm51bS0yIC5jbGljay1udW1iZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoMTkuNDU5NDZkZWcpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDE5LjQ1OTQ2ZGVnKTsgfVxuXG4ucm91bGV0dGUtaW4tbnVtYmVycyAubnVtLTIgLmNsaWNrLW51bWJlci5zaG93X2JhbGwge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoLTMzOS41NDA1NGRlZyk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoLTMzOS41NDA1NGRlZyk7IH1cblxuLnJvdWxldHRlLWluLW51bWJlcnMgLm51bS0zIC5jbGljay1udW1iZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoMjkuMTg5MTlkZWcpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDI5LjE4OTE5ZGVnKTsgfVxuXG4ucm91bGV0dGUtaW4tbnVtYmVycyAubnVtLTMgLmNsaWNrLW51bWJlci5zaG93X2JhbGwge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoLTMyOS44MTA4MWRlZyk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoLTMyOS44MTA4MWRlZyk7IH1cblxuLnJvdWxldHRlLWluLW51bWJlcnMgLm51bS00IC5jbGljay1udW1iZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoMzguOTE4OTJkZWcpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDM4LjkxODkyZGVnKTsgfVxuXG4ucm91bGV0dGUtaW4tbnVtYmVycyAubnVtLTQgLmNsaWNrLW51bWJlci5zaG93X2JhbGwge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoLTMyMC4wODEwOGRlZyk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoLTMyMC4wODEwOGRlZyk7IH1cblxuLnJvdWxldHRlLWluLW51bWJlcnMgLm51bS01IC5jbGljay1udW1iZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoNDguNjQ4NjVkZWcpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDQ4LjY0ODY1ZGVnKTsgfVxuXG4ucm91bGV0dGUtaW4tbnVtYmVycyAubnVtLTUgLmNsaWNrLW51bWJlci5zaG93X2JhbGwge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoLTMxMC4zNTEzNWRlZyk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoLTMxMC4zNTEzNWRlZyk7IH1cblxuLnJvdWxldHRlLWluLW51bWJlcnMgLm51bS02IC5jbGljay1udW1iZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoNTguMzc4MzhkZWcpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDU4LjM3ODM4ZGVnKTsgfVxuXG4ucm91bGV0dGUtaW4tbnVtYmVycyAubnVtLTYgLmNsaWNrLW51bWJlci5zaG93X2JhbGwge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoLTMwMC42MjE2MmRlZyk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoLTMwMC42MjE2MmRlZyk7IH1cblxuLnJvdWxldHRlLWluLW51bWJlcnMgLm51bS03IC5jbGljay1udW1iZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoNjguMTA4MTFkZWcpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDY4LjEwODExZGVnKTsgfVxuXG4ucm91bGV0dGUtaW4tbnVtYmVycyAubnVtLTcgLmNsaWNrLW51bWJlci5zaG93X2JhbGwge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoLTI5MC44OTE4OWRlZyk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoLTI5MC44OTE4OWRlZyk7IH1cblxuLnJvdWxldHRlLWluLW51bWJlcnMgLm51bS04IC5jbGljay1udW1iZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoNzcuODM3ODRkZWcpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDc3LjgzNzg0ZGVnKTsgfVxuXG4ucm91bGV0dGUtaW4tbnVtYmVycyAubnVtLTggLmNsaWNrLW51bWJlci5zaG93X2JhbGwge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoLTI4MS4xNjIxNmRlZyk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoLTI4MS4xNjIxNmRlZyk7IH1cblxuLnJvdWxldHRlLWluLW51bWJlcnMgLm51bS05IC5jbGljay1udW1iZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoODcuNTY3NTdkZWcpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDg3LjU2NzU3ZGVnKTsgfVxuXG4ucm91bGV0dGUtaW4tbnVtYmVycyAubnVtLTkgLmNsaWNrLW51bWJlci5zaG93X2JhbGwge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoLTI3MS40MzI0M2RlZyk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoLTI3MS40MzI0M2RlZyk7IH1cblxuLnJvdWxldHRlLWluLW51bWJlcnMgLm51bS0xMCAuY2xpY2stbnVtYmVyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDk3LjI5NzNkZWcpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDk3LjI5NzNkZWcpOyB9XG5cbi5yb3VsZXR0ZS1pbi1udW1iZXJzIC5udW0tMTAgLmNsaWNrLW51bWJlci5zaG93X2JhbGwge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoLTI2MS43MDI3ZGVnKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgtMjYxLjcwMjdkZWcpOyB9XG5cbi5yb3VsZXR0ZS1pbi1udW1iZXJzIC5udW0tMTEgLmNsaWNrLW51bWJlciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgxMDcuMDI3MDNkZWcpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDEwNy4wMjcwM2RlZyk7IH1cblxuLnJvdWxldHRlLWluLW51bWJlcnMgLm51bS0xMSAuY2xpY2stbnVtYmVyLnNob3dfYmFsbCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgtMjUxLjk3Mjk3ZGVnKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgtMjUxLjk3Mjk3ZGVnKTsgfVxuXG4ucm91bGV0dGUtaW4tbnVtYmVycyAubnVtLTEyIC5jbGljay1udW1iZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoMTE2Ljc1Njc2ZGVnKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgxMTYuNzU2NzZkZWcpOyB9XG5cbi5yb3VsZXR0ZS1pbi1udW1iZXJzIC5udW0tMTIgLmNsaWNrLW51bWJlci5zaG93X2JhbGwge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoLTI0Mi4yNDMyNGRlZyk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoLTI0Mi4yNDMyNGRlZyk7IH1cblxuLnJvdWxldHRlLWluLW51bWJlcnMgLm51bS0xMyAuY2xpY2stbnVtYmVyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDEyNi40ODY0OWRlZyk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoMTI2LjQ4NjQ5ZGVnKTsgfVxuXG4ucm91bGV0dGUtaW4tbnVtYmVycyAubnVtLTEzIC5jbGljay1udW1iZXIuc2hvd19iYWxsIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKC0yMzIuNTEzNTFkZWcpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKC0yMzIuNTEzNTFkZWcpOyB9XG5cbi5yb3VsZXR0ZS1pbi1udW1iZXJzIC5udW0tMTQgLmNsaWNrLW51bWJlciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgxMzYuMjE2MjJkZWcpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDEzNi4yMTYyMmRlZyk7IH1cblxuLnJvdWxldHRlLWluLW51bWJlcnMgLm51bS0xNCAuY2xpY2stbnVtYmVyLnNob3dfYmFsbCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgtMjIyLjc4Mzc4ZGVnKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgtMjIyLjc4Mzc4ZGVnKTsgfVxuXG4ucm91bGV0dGUtaW4tbnVtYmVycyAubnVtLTE1IC5jbGljay1udW1iZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoMTQ1Ljk0NTk1ZGVnKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgxNDUuOTQ1OTVkZWcpOyB9XG5cbi5yb3VsZXR0ZS1pbi1udW1iZXJzIC5udW0tMTUgLmNsaWNrLW51bWJlci5zaG93X2JhbGwge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoLTIxMy4wNTQwNWRlZyk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoLTIxMy4wNTQwNWRlZyk7IH1cblxuLnJvdWxldHRlLWluLW51bWJlcnMgLm51bS0xNiAuY2xpY2stbnVtYmVyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDE1NS42NzU2OGRlZyk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoMTU1LjY3NTY4ZGVnKTsgfVxuXG4ucm91bGV0dGUtaW4tbnVtYmVycyAubnVtLTE2IC5jbGljay1udW1iZXIuc2hvd19iYWxsIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKC0yMDMuMzI0MzJkZWcpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKC0yMDMuMzI0MzJkZWcpOyB9XG5cbi5yb3VsZXR0ZS1pbi1udW1iZXJzIC5udW0tMTcgLmNsaWNrLW51bWJlciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgxNjUuNDA1NDFkZWcpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDE2NS40MDU0MWRlZyk7IH1cblxuLnJvdWxldHRlLWluLW51bWJlcnMgLm51bS0xNyAuY2xpY2stbnVtYmVyLnNob3dfYmFsbCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgtMTkzLjU5NDU5ZGVnKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgtMTkzLjU5NDU5ZGVnKTsgfVxuXG4ucm91bGV0dGUtaW4tbnVtYmVycyAubnVtLTE4IC5jbGljay1udW1iZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoMTc1LjEzNTE0ZGVnKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgxNzUuMTM1MTRkZWcpOyB9XG5cbi5yb3VsZXR0ZS1pbi1udW1iZXJzIC5udW0tMTggLmNsaWNrLW51bWJlci5zaG93X2JhbGwge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoLTE4My44NjQ4NmRlZyk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoLTE4My44NjQ4NmRlZyk7IH1cblxuLnJvdWxldHRlLWluLW51bWJlcnMgLm51bS0xOSAuY2xpY2stbnVtYmVyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDE4NC44NjQ4NmRlZyk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoMTg0Ljg2NDg2ZGVnKTsgfVxuXG4ucm91bGV0dGUtaW4tbnVtYmVycyAubnVtLTE5IC5jbGljay1udW1iZXIuc2hvd19iYWxsIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKC0xNzQuMTM1MTRkZWcpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKC0xNzQuMTM1MTRkZWcpOyB9XG5cbi5yb3VsZXR0ZS1pbi1udW1iZXJzIC5udW0tMjAgLmNsaWNrLW51bWJlciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgxOTQuNTk0NTlkZWcpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDE5NC41OTQ1OWRlZyk7IH1cblxuLnJvdWxldHRlLWluLW51bWJlcnMgLm51bS0yMCAuY2xpY2stbnVtYmVyLnNob3dfYmFsbCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgtMTY0LjQwNTQxZGVnKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgtMTY0LjQwNTQxZGVnKTsgfVxuXG4ucm91bGV0dGUtaW4tbnVtYmVycyAubnVtLTIxIC5jbGljay1udW1iZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoMjA0LjMyNDMyZGVnKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgyMDQuMzI0MzJkZWcpOyB9XG5cbi5yb3VsZXR0ZS1pbi1udW1iZXJzIC5udW0tMjEgLmNsaWNrLW51bWJlci5zaG93X2JhbGwge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoLTE1NC42NzU2OGRlZyk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoLTE1NC42NzU2OGRlZyk7IH1cblxuLnJvdWxldHRlLWluLW51bWJlcnMgLm51bS0yMiAuY2xpY2stbnVtYmVyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDIxNC4wNTQwNWRlZyk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoMjE0LjA1NDA1ZGVnKTsgfVxuXG4ucm91bGV0dGUtaW4tbnVtYmVycyAubnVtLTIyIC5jbGljay1udW1iZXIuc2hvd19iYWxsIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKC0xNDQuOTQ1OTVkZWcpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKC0xNDQuOTQ1OTVkZWcpOyB9XG5cbi5yb3VsZXR0ZS1pbi1udW1iZXJzIC5udW0tMjMgLmNsaWNrLW51bWJlciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgyMjMuNzgzNzhkZWcpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDIyMy43ODM3OGRlZyk7IH1cblxuLnJvdWxldHRlLWluLW51bWJlcnMgLm51bS0yMyAuY2xpY2stbnVtYmVyLnNob3dfYmFsbCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgtMTM1LjIxNjIyZGVnKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgtMTM1LjIxNjIyZGVnKTsgfVxuXG4ucm91bGV0dGUtaW4tbnVtYmVycyAubnVtLTI0IC5jbGljay1udW1iZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoMjMzLjUxMzUxZGVnKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgyMzMuNTEzNTFkZWcpOyB9XG5cbi5yb3VsZXR0ZS1pbi1udW1iZXJzIC5udW0tMjQgLmNsaWNrLW51bWJlci5zaG93X2JhbGwge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoLTEyNS40ODY0OWRlZyk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoLTEyNS40ODY0OWRlZyk7IH1cblxuLnJvdWxldHRlLWluLW51bWJlcnMgLm51bS0yNSAuY2xpY2stbnVtYmVyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDI0My4yNDMyNGRlZyk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoMjQzLjI0MzI0ZGVnKTsgfVxuXG4ucm91bGV0dGUtaW4tbnVtYmVycyAubnVtLTI1IC5jbGljay1udW1iZXIuc2hvd19iYWxsIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKC0xMTUuNzU2NzZkZWcpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKC0xMTUuNzU2NzZkZWcpOyB9XG5cbi5yb3VsZXR0ZS1pbi1udW1iZXJzIC5udW0tMjYgLmNsaWNrLW51bWJlciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgyNTIuOTcyOTdkZWcpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDI1Mi45NzI5N2RlZyk7IH1cblxuLnJvdWxldHRlLWluLW51bWJlcnMgLm51bS0yNiAuY2xpY2stbnVtYmVyLnNob3dfYmFsbCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgtMTA2LjAyNzAzZGVnKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgtMTA2LjAyNzAzZGVnKTsgfVxuXG4ucm91bGV0dGUtaW4tbnVtYmVycyAubnVtLTI3IC5jbGljay1udW1iZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoMjYyLjcwMjdkZWcpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDI2Mi43MDI3ZGVnKTsgfVxuXG4ucm91bGV0dGUtaW4tbnVtYmVycyAubnVtLTI3IC5jbGljay1udW1iZXIuc2hvd19iYWxsIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKC05Ni4yOTczZGVnKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgtOTYuMjk3M2RlZyk7IH1cblxuLnJvdWxldHRlLWluLW51bWJlcnMgLm51bS0yOCAuY2xpY2stbnVtYmVyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDI3Mi40MzI0M2RlZyk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoMjcyLjQzMjQzZGVnKTsgfVxuXG4ucm91bGV0dGUtaW4tbnVtYmVycyAubnVtLTI4IC5jbGljay1udW1iZXIuc2hvd19iYWxsIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKC04Ni41Njc1N2RlZyk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoLTg2LjU2NzU3ZGVnKTsgfVxuXG4ucm91bGV0dGUtaW4tbnVtYmVycyAubnVtLTI5IC5jbGljay1udW1iZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoMjgyLjE2MjE2ZGVnKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgyODIuMTYyMTZkZWcpOyB9XG5cbi5yb3VsZXR0ZS1pbi1udW1iZXJzIC5udW0tMjkgLmNsaWNrLW51bWJlci5zaG93X2JhbGwge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoLTc2LjgzNzg0ZGVnKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgtNzYuODM3ODRkZWcpOyB9XG5cbi5yb3VsZXR0ZS1pbi1udW1iZXJzIC5udW0tMzAgLmNsaWNrLW51bWJlciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgyOTEuODkxODlkZWcpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDI5MS44OTE4OWRlZyk7IH1cblxuLnJvdWxldHRlLWluLW51bWJlcnMgLm51bS0zMCAuY2xpY2stbnVtYmVyLnNob3dfYmFsbCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgtNjcuMTA4MTFkZWcpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKC02Ny4xMDgxMWRlZyk7IH1cblxuLnJvdWxldHRlLWluLW51bWJlcnMgLm51bS0zMSAuY2xpY2stbnVtYmVyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDMwMS42MjE2MmRlZyk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoMzAxLjYyMTYyZGVnKTsgfVxuXG4ucm91bGV0dGUtaW4tbnVtYmVycyAubnVtLTMxIC5jbGljay1udW1iZXIuc2hvd19iYWxsIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKC01Ny4zNzgzOGRlZyk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoLTU3LjM3ODM4ZGVnKTsgfVxuXG4ucm91bGV0dGUtaW4tbnVtYmVycyAubnVtLTMyIC5jbGljay1udW1iZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoMzExLjM1MTM1ZGVnKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgzMTEuMzUxMzVkZWcpOyB9XG5cbi5yb3VsZXR0ZS1pbi1udW1iZXJzIC5udW0tMzIgLmNsaWNrLW51bWJlci5zaG93X2JhbGwge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoLTQ3LjY0ODY1ZGVnKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgtNDcuNjQ4NjVkZWcpOyB9XG5cbi5yb3VsZXR0ZS1pbi1udW1iZXJzIC5udW0tMzMgLmNsaWNrLW51bWJlciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgzMjEuMDgxMDhkZWcpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDMyMS4wODEwOGRlZyk7IH1cblxuLnJvdWxldHRlLWluLW51bWJlcnMgLm51bS0zMyAuY2xpY2stbnVtYmVyLnNob3dfYmFsbCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgtMzcuOTE4OTJkZWcpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKC0zNy45MTg5MmRlZyk7IH1cblxuLnJvdWxldHRlLWluLW51bWJlcnMgLm51bS0zNCAuY2xpY2stbnVtYmVyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDMzMC44MTA4MWRlZyk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoMzMwLjgxMDgxZGVnKTsgfVxuXG4ucm91bGV0dGUtaW4tbnVtYmVycyAubnVtLTM0IC5jbGljay1udW1iZXIuc2hvd19iYWxsIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKC0yOC4xODkxOWRlZyk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoLTI4LjE4OTE5ZGVnKTsgfVxuXG4ucm91bGV0dGUtaW4tbnVtYmVycyAubnVtLTM1IC5jbGljay1udW1iZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoMzQwLjU0MDU0ZGVnKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgzNDAuNTQwNTRkZWcpOyB9XG5cbi5yb3VsZXR0ZS1pbi1udW1iZXJzIC5udW0tMzUgLmNsaWNrLW51bWJlci5zaG93X2JhbGwge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoLTE4LjQ1OTQ2ZGVnKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgtMTguNDU5NDZkZWcpOyB9XG5cbi5yb3VsZXR0ZS1pbi1udW1iZXJzIC5udW0tMzYgLmNsaWNrLW51bWJlciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgzNTAuMjcwMjdkZWcpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDM1MC4yNzAyN2RlZyk7IH1cblxuLnJvdWxldHRlLWluLW51bWJlcnMgLm51bS0zNiAuY2xpY2stbnVtYmVyLnNob3dfYmFsbCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgtOC43Mjk3M2RlZyk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoLTguNzI5NzNkZWcpOyB9XG5cbi5yb3VsZXR0ZS1pbi1udW1iZXJzIC5udW0tMzcgLmNsaWNrLW51bWJlciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgzNjBkZWcpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDM2MGRlZyk7IH1cblxuLnJvdWxldHRlLWluLW51bWJlcnMgLm51bS0zNyAuY2xpY2stbnVtYmVyLnNob3dfYmFsbCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgxZGVnKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgxZGVnKTsgfVxuXG4ucm91bGV0dGUtaW4tbnVtYmVycyAjbnVtLTAgLmNsaWNrLW51bWJlciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgwZGVnKTsgfVxuXG4ucm91bGV0dGUtaW4tbnVtYmVycyAjbnVtLTAgLmNsaWNrLW51bWJlci5zaG93X2JhbGwge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoLTM2MGRlZyk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoLTM2MGRlZyk7IH1cblxuLndwLWJsb2NrLWltYWdlIGE6aG92ZXIsIC53cC1ibG9jay1pbWFnZSBhOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmFsaWdubGVmdCB7XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLmFsaWducmlnaHQge1xuICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbmEsXG5idXR0b24sXG4uYnV0dG9uIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSBhLFxuICBbZGF0YS13aGF0aW5wdXQ9J3RvdWNoJ10gYSwgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddXG4gIGJ1dHRvbixcbiAgW2RhdGEtd2hhdGlucHV0PSd0b3VjaCddXG4gIGJ1dHRvbiwgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddXG4gIC5idXR0b24sXG4gIFtkYXRhLXdoYXRpbnB1dD0ndG91Y2gnXVxuICAuYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbi5idXR0b246bm90KC5tYWluLW5hdi1tb2JpbGUtYWN0aXZhdG9yKTpub3QoLmhvbGxvdykge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAuYnV0dG9uOm5vdCgubWFpbi1uYXYtbW9iaWxlLWFjdGl2YXRvcik6bm90KC5ob2xsb3cpIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5idXR0b246bm90KC5tYWluLW5hdi1tb2JpbGUtYWN0aXZhdG9yKTpub3QoLmhvbGxvdykge1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfSB9XG5cbi5idXR0b24uaG9sbG93LmJsYWNrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXdlaWdodDogNzAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICMzOTM5Mzk7XG4gIGJvcmRlci1jb2xvcjogY3VycmVudENvbG9yOyB9XG5cbi5idXR0b24uaG9sbG93LndoaXRlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXdlaWdodDogNzAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGJvcmRlci1jb2xvcjogY3VycmVudENvbG9yOyB9XG5cbi5wb3MtciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG5hIHtcbiAgdHJhbnNpdGlvbjogMC4yNXMgY29sb3I7IH1cblxuLnNjcmVlbi1yZWFkZXItc2hvcnRjdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTEwMDBlbTsgfVxuICAuc2NyZWVuLXJlYWRlci1zaG9ydGN1dDpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogMCAwIDJweCAycHggcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgIGxlZnQ6IDZweDtcbiAgICB0b3A6IDdweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgcGFkZGluZzogMTVweCAyM3B4IDE0cHg7XG4gICAgYmFja2dyb3VuZDogI2YxZjFmMTtcbiAgICBjb2xvcjogI2VlMDAxODtcbiAgICB6LWluZGV4OiAxMDAwMDA7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLnNjcmVlbi1yZWFkZXItdGV4dCwgLmRldi1zaGFyZS1idXR0b25zX190ZXh0LFxuLmRldi1zaGFyZS1idXR0b25zLWxpbmtfX3RleHQge1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDsgfVxuXG4uY292ZXIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG5cbi5ncmlkLWNlbnRlci14IHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmQtZiB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLmdyaWQtY2VudGVyLXkge1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIGJvcmRlcjogMDtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cblxuLnN1Ym1lbnUtdG9nZ2xlOjphZnRlciB7XG4gIGJvcmRlcjogMDtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi53MTAwIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmRyb3Bkb3duLXBhbmUge1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtLWRvd24ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uc2VjdGlvbi10aXRsZSB7XG4gIHBhZGRpbmctbGVmdDogMzVweDtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL21hc3Rlci1jb250ZW50LWNvaW4uc3ZnXCIpIG5vLXJlcGVhdCAwIDFweDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH0gfVxuXG4uYnJlYWRjcnVtYnMge1xuICBwYWRkaW5nOiAwLjkzNzVyZW0gMDtcbiAgY29sb3I6IHJnYmEoMTAsIDEwLCAxMCwgMC40KTtcbiAgYmFja2dyb3VuZDogI2RkY2FhZjtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogIzUzNTM1MztcbiAgbGV0dGVyLXNwYWNpbmc6IDEuMzVweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNiYWE2OGM7IH1cbiAgLmJyZWFkY3J1bWJzIGEge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gICAgLmJyZWFkY3J1bWJzIGE6aG92ZXIsIC5icmVhZGNydW1icyBhOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZWUwMDE4OyB9XG4gIC5icmVhZGNydW1ic19fc2VwYXJhdG9yIHtcbiAgICBtYXJnaW46IDA7IH1cblxuLmJ1dHRvbiB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgyMjVkZWcsICNDNDE1MTcgMCUsICNGMjM5M0IgMTAwJSk7XG4gIGJveC1zaGFkb3c6IDBweCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5idXR0b24ge1xuICAgICAgbWluLXdpZHRoOiAxMy4xMjVyZW07IH0gfVxuICAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMjI1ZGVnLCAjRTQzNTM3IDAlLCAjRjI0OTRCIDEwMCUpOyB9XG4gIC5idXR0b24tLXJhZGl1cyB7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5OXB4OyB9XG5cbi5lcnJvci00MDQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kOiAjMjQyNDI0O1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAyLjVyZW0gMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5lcnJvci00MDQge1xuICAgICAgcGFkZGluZzogMy43NXJlbSAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZXJyb3ItNDA0IHtcbiAgICAgIHBhZGRpbmc6IDVyZW0gMDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmVycm9yLTQwNF9fdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS41NjI1cmVtOyB9IH1cbiAgLmVycm9yLTQwNF9fdGV4dCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmVycm9yLTQwNF9fdGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMy41cmVtOyB9IH1cblxuLmZvb3Rlci13aWRnZXQge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIC5mb290ZXItd2lkZ2V0X190aXRsZSB7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZvb3Rlci13aWRnZXRfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cbiAgLmZvb3Rlci13aWRnZXQud2lkZ2V0X25hdl9tZW51IGxpIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuZm9vdGVyLXdpZGdldC53aWRnZXRfbmF2X21lbnUgYSB7XG4gICAgcGFkZGluZzogMC4zNzVyZW0gMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjEyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZm9vdGVyLXdpZGdldC53aWRnZXRfbmF2X21lbnUgYSB7XG4gICAgICAgIHBhZGRpbmc6IDAuMzEyNXJlbSAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjE4NzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZm9vdGVyLXdpZGdldC53aWRnZXRfbmF2X21lbnUgYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgIHBhZGRpbmc6IDAuMjVyZW0gMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC4xMjVyZW07IH0gfVxuICAuZm9vdGVyLXdpZGdldC53aWRnZXRfdGV4dCAudGV4dHdpZGdldCBwOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAtMC4xMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAuZm9vdGVyLXdpZGdldCAubWVudSB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9IH1cblxuLmZvb3RlciB7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBiYWNrZ3JvdW5kOiAjMzYzNjM2O1xuICBwYWRkaW5nOiAzLjEyNXJlbSAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwMDsgfVxuICAuZm9vdGVyLS1sYW5kaW5nIHtcbiAgICBjb2xvcjogI0RBQ0JCMjtcbiAgICBiYWNrZ3JvdW5kOiAjNDIzODJBOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmZvb3RlciB7XG4gICAgICBwYWRkaW5nOiA1cmVtIDA7IH0gfVxuICAuZm9vdGVyIGE6bm90KC5idXR0b24pOm5vdCguZm9vdGVyLXNvY2lhbF9fbGluaykge1xuICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB0cmFuc2l0aW9uOiAwLjI1cyBib3JkZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgLmZvb3RlciBhOm5vdCguYnV0dG9uKTpub3QoLmZvb3Rlci1zb2NpYWxfX2xpbmspOmhvdmVyLCAuZm9vdGVyIGE6bm90KC5idXR0b24pOm5vdCguZm9vdGVyLXNvY2lhbF9fbGluayk6Zm9jdXMge1xuICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2MzN2YyYjsgfVxuICAuZm9vdGVyX19ib3R0b20ge1xuICAgIHBhZGRpbmc6IDEuMjVyZW0gMCAwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgIC5mb290ZXJfX2JvdHRvbSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfSB9XG4gIC5mb290ZXJfXzE4LWNlbGwge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy8xOEAyeC5wbmdcIikgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogNDRweCA0NHB4O1xuICAgIG1pbi1oZWlnaHQ6IDQ0cHg7XG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIC5mb290ZXJfX2NvcHlyaWdodCB7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07IH0gfVxuXG4uZm9vdGVyLXByb3Mge1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZm9vdGVyLXByb3Mge1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfSB9XG4gIC5mb290ZXItcHJvc19fdGl0bGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAuZm9vdGVyLXByb3NfX3RpdGxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gIC5mb290ZXItcHJvc19fbGlzdCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgLmZvb3Rlci1wcm9zX19saXN0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gIC5mb290ZXItcHJvc19faXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMS41cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgLmZvb3Rlci1wcm9zX19pdGVtIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH0gfVxuICAuZm9vdGVyLXByb3NfX2ljb24ge1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5mb290ZXItcHJvc19fbGFiZWwge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLmhlYWRlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTAxMDE7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjMzYzNjM2O1xuICB0cmFuc2l0aW9uOiAwLjI1cyBhbGw7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjM2YzZjNmOyB9XG4gIC5oZWFkZXItLXRvcCB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gIC5oZWFkZXItLXN0aWNreSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMXB4KSB7XG4gICAgICAuYWRtaW4tYmFyIC5oZWFkZXItLXN0aWNreSB7XG4gICAgICAgIHRvcDogNDZweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzgzcHgpIHtcbiAgICAgIC5hZG1pbi1iYXIgLmhlYWRlci0tc3RpY2t5IHtcbiAgICAgICAgdG9wOiAzMnB4OyB9IH1cbiAgLmhlYWRlci0tZGlzYWJsZS1zaHJpbmtpbmcge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiAwOyB9XG4gIC5oZWFkZXJfX2J1dHRvbnMtY2VsbCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuaGVhZGVyX19idXR0b25zLWNlbGwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cblxuLmhlYWRlci1tYWluIHtcbiAgcGFkZGluZzogMC42MjVyZW0gMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA5OTk5O1xuICB0cmFuc2l0aW9uOiAwLjI1cyBwYWRkaW5nIDAuMjVzOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmhlYWRlci1tYWluIHtcbiAgICAgIHBhZGRpbmc6IDEuNTYyNXJlbSAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuaGVhZGVyLW1haW4ge1xuICAgICAgcGFkZGluZzogMi4xODc1cmVtIDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4Ny41ZW0pIHtcbiAgICAuaGVhZGVyLW1haW4ge1xuICAgICAgcGFkZGluZy1sZWZ0OiAyLjE4NzVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyLjE4NzVyZW07IH0gfVxuICAuaGVhZGVyLS1zdGlja3kgLmhlYWRlci1tYWluIHtcbiAgICBwYWRkaW5nLXRvcDogMC4zMTI1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjMxMjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmhlYWRlci0tc3RpY2t5IC5oZWFkZXItbWFpbiB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07IH0gfVxuICAuaGVhZGVyLW1haW5fX2xvZ28tY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmhlYWRlci1tYWluX19sb2dvIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDExLjgxMjVyZW07XG4gICAgaGVpZ2h0OiAzLjg3NXJlbTtcbiAgICB0cmFuc2l0aW9uOiAuMjVzIGFsbCAuMjVzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzMuNzVlbSkge1xuICAgICAgLmhlYWRlci1tYWluX19sb2dvIHtcbiAgICAgICAgd2lkdGg6IDEzLjg3NXJlbTtcbiAgICAgICAgaGVpZ2h0OiA0LjU2MjVyZW07IH0gfVxuICAgIC5oZWFkZXItLXN0aWNreSAuaGVhZGVyLW1haW5fX2xvZ28ge1xuICAgICAgd2lkdGg6IDExLjgxMjVyZW07XG4gICAgICBoZWlnaHQ6IDMuODc1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICAgIC5oZWFkZXItbWFpbl9fbG9nbyB7XG4gICAgICAgIHdpZHRoOiAxMS44MTI1cmVtO1xuICAgICAgICBoZWlnaHQ6IDMuODc1cmVtOyB9XG4gICAgICAgIC5oZWFkZXItLXN0aWNreSAuaGVhZGVyLW1haW5fX2xvZ28ge1xuICAgICAgICAgIHdpZHRoOiA5LjEyNXJlbTtcbiAgICAgICAgICBoZWlnaHQ6IDNyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwMHB4KSB7XG4gICAgICAuaGVhZGVyLW1haW5fX2xvZ28ge1xuICAgICAgICB3aWR0aDogOS4xMjVyZW07XG4gICAgICAgIGhlaWdodDogM3JlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cbiAgICAgICAgLmhlYWRlci0tc3RpY2t5IC5oZWFkZXItbWFpbl9fbG9nbyB7XG4gICAgICAgICAgd2lkdGg6IDhyZW07XG4gICAgICAgICAgaGVpZ2h0OiAyLjYyNXJlbTsgfSB9XG4gIC5oZWFkZXItbWFpbl9fY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuaGVhZGVyLW1haW5fX2NvbnRlbnQge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG5cbi5saXN0LXZpZXctaXRlbSB7XG4gIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtOyB9XG4gIC5saXN0LXZpZXctaXRlbSArIC5saXN0LXZpZXctaXRlbSB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlY2VjZWM7XG4gICAgcGFkZGluZy10b3A6IDIuNXJlbTsgfVxuICAubGlzdC12aWV3LWl0ZW1fX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDEuNjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgICAgLmxpc3Qtdmlldy1pdGVtX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfSB9XG4gIC5saXN0LXZpZXctaXRlbV9fZGF0ZSB7XG4gICAgY29sb3I6ICM3MjcyNzI7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAubGlzdC12aWV3LWl0ZW1fX2ltYWdlLWxpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRyYW5zaXRpb246IDAuMjVzIG9wYWNpdHk7IH1cbiAgICAubGlzdC12aWV3LWl0ZW1fX2ltYWdlLWxpbms6aG92ZXIsIC5saXN0LXZpZXctaXRlbV9faW1hZ2UtbGluazpmb2N1cyB7XG4gICAgICBvcGFjaXR5OiAuODU7IH1cbiAgLmxpc3Qtdmlldy1pdGVtX19saW5rIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAubGlzdC12aWV3LWl0ZW1fX2ltYWdlLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIC5saXN0LXZpZXctaXRlbV9faW1hZ2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWxsLWNoYW5nZTogb3BhY2l0eTtcbiAgICB0cmFuc2l0aW9uOiAwLjI1cyBvcGFjaXR5OyB9XG4gIC5saXN0LXZpZXctaXRlbV9faW1hZ2UtcGxhY2Vob2xkZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQ6ICNEOEQ4RDg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiA3My4wNjc5MTU2OTA5JTtcbiAgICB3aWxsLWNoYW5nZTogb3BhY2l0eTtcbiAgICB0cmFuc2l0aW9uOiAwLjI1cyBvcGFjaXR5OyB9XG4gICAgLmxpc3Qtdmlldy1pdGVtX19pbWFnZS1wbGFjZWhvbGRlci0tbWluLXdpZHRoIHtcbiAgICAgIG1pbi13aWR0aDogMTMuNzVyZW07IH1cblxuLm1haW4tbmF2LWRlc2t0b3Age1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm1haW4tbmF2LWRlc2t0b3Age1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgIC5tYWluLW5hdi1kZXNrdG9wX19saXN0IHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9XG4gICAgICAubWFpbi1uYXYtZGVza3RvcCB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAubWFpbi1uYXYtZGVza3RvcCBsaSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgICAubWFpbi1uYXYtZGVza3RvcCA+IC5tZW51ID4gbGkgPiBhIHtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICAgIHBhZGRpbmc6IDAuMjVyZW0gMDtcbiAgICAgICAgbWFyZ2luOiAwLjVyZW0gMC43NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjI1cyBib3JkZXI7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA3MS4yNWVtKSB7XG4gICAgICAubWFpbi1uYXYtZGVza3RvcCA+IC5tZW51ID4gbGkgPiBhIHtcbiAgICAgICAgcGFkZGluZzogMC4zNzVyZW0gMDtcbiAgICAgICAgbWFyZ2luOiAwLjYyNXJlbSAxcmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLm1haW4tbmF2LWRlc2t0b3AgPiAubWVudSA+IGxpID4gYTpob3ZlciwgLm1haW4tbmF2LWRlc2t0b3AgPiAubWVudSA+IGxpID4gYTpmb2N1cyB7XG4gICAgICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjMzdmMmI7IH1cbiAgICAgIC5tYWluLW5hdi1kZXNrdG9wID4gLm1lbnUgPiBsaTpsYXN0LWNoaWxkOm5vdCgubWVudS1pdGVtLWhhcy1jaGlsZHJlbikgPiBhIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAgICAgLm1haW4tbmF2LWRlc2t0b3AgPiAubWVudSA+IGxpLmlzLWFjdGl2ZSA+IGEsIC5tYWluLW5hdi1kZXNrdG9wID4gLm1lbnUgPiBsaS5jdXJyZW50LW1lbnUtaXRlbSA+IGEsIC5tYWluLW5hdi1kZXNrdG9wID4gLm1lbnUgPiBsaS5jdXJyZW50LW1lbnUtYW5jZXN0b3IgPiBhIHtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7IH0gfVxuICAubWFpbi1uYXYtZGVza3RvcCAuZHJvcGRvd24ubWVudTpub3QoLnZlcnRpY2FsKSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgbWluLXdpZHRoOiAzMTBweDsgfVxuXG4ubWFpbi1uYXYtZGVza3RvcCAuZHJvcGRvd24ubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgcGFkZGluZy1yaWdodDogMXJlbTsgfVxuICAubWFpbi1uYXYtZGVza3RvcCAuZHJvcGRvd24ubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGJvcmRlci1jb2xvcjogY3VycmVudENvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG5cbi5kcm9wZG93bi5tZW51Om5vdCgudmVydGljYWwpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgcGFkZGluZzogMC4zMTI1cmVtIDEuMDYyNXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiAjMzMzO1xuICBib3JkZXI6IDA7XG4gIG1pbi13aWR0aDogMzgwcHg7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuZHJvcGRvd24ubWVudTpub3QoLnZlcnRpY2FsKSAuaXMtZHJvcGRvd24tc3VibWVudS5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICBsZWZ0OiA1MCU7IH1cbiAgICAuZHJvcGRvd24ubWVudTpub3QoLnZlcnRpY2FsKSAuaXMtZHJvcGRvd24tc3VibWVudS5qcy1kcm9wZG93bi1hY3RpdmU6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtMTJweDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci13aWR0aDogNnB4O1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMzMzIHRyYW5zcGFyZW50O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG4gIC5kcm9wZG93bi5tZW51Om5vdCgudmVydGljYWwpIC5pcy1kcm9wZG93bi1zdWJtZW51IGEge1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmRyb3Bkb3duLm1lbnU6bm90KC52ZXJ0aWNhbCkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgYTpob3ZlciwgLmRyb3Bkb3duLm1lbnU6bm90KC52ZXJ0aWNhbCkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgYTpmb2N1cyB7XG4gICAgICBjb2xvcjogI2MzN2YyYjsgfVxuICAuZHJvcGRvd24ubWVudTpub3QoLnZlcnRpY2FsKSAuaXMtZHJvcGRvd24tc3VibWVudSBsaSArIGxpIGEge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjNWM1YzVjOyB9XG4gIC5kcm9wZG93bi5tZW51Om5vdCgudmVydGljYWwpIC5pcy1kcm9wZG93bi1zdWJtZW51IGxpLmN1cnJlbnQtbWVudS1pdGVtID4gYSwgLmRyb3Bkb3duLm1lbnU6bm90KC52ZXJ0aWNhbCkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgbGkuY3VycmVudF9wYWdlX2FuY2VzdG9yID4gYSB7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cblxuLm1haW4tbmF2LW1vYmlsZS1hY3RpdmF0b3Ige1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmc6IDAuNTYyNXJlbTtcbiAgbWluLXdpZHRoOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm94LXNoYWRvdzogbm9uZTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm1haW4tbmF2LW1vYmlsZS1hY3RpdmF0b3Ige1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm1haW4tbmF2LW1vYmlsZS1hY3RpdmF0b3I6aG92ZXIsIC5tYWluLW5hdi1tb2JpbGUtYWN0aXZhdG9yOmZvY3VzLCAubWFpbi1uYXYtbW9iaWxlLWFjdGl2YXRvci5hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAubWFpbi1uYXYtbW9iaWxlLWFjdGl2YXRvcjpub3QoLmFjdGl2ZSk6Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gICAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5tYWluLW5hdi1tb2JpbGUtYWN0aXZhdG9yOm5vdCguYWN0aXZlKTpmb2N1czpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAubWFpbi1uYXYtbW9iaWxlLWFjdGl2YXRvcl9faWNvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tdG9wOiA2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNnB4O1xuICAgIHVzZXItc2VsZWN0OiBub25lOyB9XG4gICAgLm1haW4tbmF2LW1vYmlsZS1hY3RpdmF0b3JfX2ljb24sIC5tYWluLW5hdi1tb2JpbGUtYWN0aXZhdG9yX19pY29uOjpiZWZvcmUsIC5tYWluLW5hdi1tb2JpbGUtYWN0aXZhdG9yX19pY29uOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgdHJhbnNmb3JtO1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsgfVxuICAgIC5tYWluLW5hdi1tb2JpbGUtYWN0aXZhdG9yX19pY29uOjpiZWZvcmUsIC5tYWluLW5hdi1tb2JpbGUtYWN0aXZhdG9yX19pY29uOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb250ZW50OiBcIlwiOyB9XG4gICAgLm1haW4tbmF2LW1vYmlsZS1hY3RpdmF0b3JfX2ljb246OmJlZm9yZSB7XG4gICAgICB0b3A6IC02cHg7IH1cbiAgICAubWFpbi1uYXYtbW9iaWxlLWFjdGl2YXRvcl9faWNvbjo6YWZ0ZXIge1xuICAgICAgdG9wOiA2cHg7IH1cbiAgICAubWFpbi1uYXYtbW9iaWxlLWFjdGl2YXRvci5hY3RpdmUgLm1haW4tbmF2LW1vYmlsZS1hY3RpdmF0b3JfX2ljb24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAubWFpbi1uYXYtbW9iaWxlLWFjdGl2YXRvci5hY3RpdmUgLm1haW4tbmF2LW1vYmlsZS1hY3RpdmF0b3JfX2ljb246OmJlZm9yZSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KSByb3RhdGUoNDVkZWcpOyB9XG4gICAgLm1haW4tbmF2LW1vYmlsZS1hY3RpdmF0b3IuYWN0aXZlIC5tYWluLW5hdi1tb2JpbGUtYWN0aXZhdG9yX19pY29uOjphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTZweCkgcm90YXRlKC00NWRlZyk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubWFpbi1uYXYtbW9iaWxlLWFjdGl2YXRvciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLm1haW4tbmF2LW1vYmlsZS1hY3RpdmF0b3JfX2xhYmVsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cblxuLm1haW4tbmF2LW1vYmlsZSB7XG4gIGJhY2tncm91bmQ6ICNlZWU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDAuNjI1cmVtIDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDk5OTtcbiAgdG9wOiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gIC5tYWluLW5hdi1tb2JpbGVfX2xpbmsge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCAxcmVtO1xuICAgIHBhZGRpbmc6IDAuNjg3NXJlbSAwIDAuMjVyZW07XG4gICAgY29sb3I6ICMwYTBhMGE7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAxLjU3NXB4O1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIHRyYW5zaXRpb246IDAuMjVzIGJvcmRlcjsgfVxuICAgIC5tYWluLW5hdi1tb2JpbGVfX2xpbms6aG92ZXIsIC5tYWluLW5hdi1tb2JpbGVfX2xpbms6Zm9jdXMge1xuICAgICAgY29sb3I6ICMwYTBhMGE7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2MzN2YyYjsgfVxuICAubWFpbi1uYXYtbW9iaWxlX19saXN0ICsgLm1haW4tbmF2LW1vYmlsZV9fbGlzdCB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGQ7XG4gICAgbWFyZ2luLXRvcDogMC42MjVyZW07IH1cbiAgLm1haW4tbmF2LW1vYmlsZSAuc3VibWVudSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMCwgMTAsIDEwLCAwLjEpO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5tYWluLW5hdi1tb2JpbGUgLnN1Ym1lbnUtdG9nZ2xlIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBoZWlnaHQ6IDIuMzc1cmVtOyB9XG4gICAgLm1haW4tbmF2LW1vYmlsZSAuc3VibWVudS10b2dnbGU6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMGEwYTBhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gICAgW2RhdGEtd2hhdGlucHV0PVwia2V5Ym9hcmRcIl0gLm1haW4tbmF2LW1vYmlsZSAuc3VibWVudS10b2dnbGU6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIFtkYXRhLXdoYXRpbnB1dD1cImtleWJvYXJkXCJdIC5tYWluLW5hdi1tb2JpbGUgLnN1Ym1lbnUtdG9nZ2xlOmZvY3VzOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZWUwMDE4IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gICAgLm1haW4tbmF2LW1vYmlsZSAuc3VibWVudS10b2dnbGU6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5tYWluLW5hdi1tb2JpbGUgLnN1Ym1lbnUtdG9nZ2xlOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZWUwMDE4IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gIC5tYWluLW5hdi1tb2JpbGUuc2NhbGUtaW4tdXAubXVpLWVudGVyIHtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMXM7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIC5tYWluLW5hdi1tb2JpbGUuc2NhbGUtaW4tdXAubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAubWFpbi1uYXYtbW9iaWxlLnNjYWxlLW91dC1kb3duLm11aS1sZWF2ZSB7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjFzO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLm1haW4tbmF2LW1vYmlsZS5zY2FsZS1vdXQtZG93bi5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubWFpbi1uYXYtbW9iaWxlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gIC5tYWluLW5hdi1tb2JpbGVfX292ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjgpO1xuICAgIHotaW5kZXg6IDk5OTk7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLm1haW4tbmF2LW1vYmlsZV9fb3ZlcmxheSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4ubWFzdGVyLWNvbnRlbnQge1xuICBwYWRkaW5nOiAyLjVyZW0gMCAwLjYyNXJlbTtcbiAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDsgfVxuICAucGFnZS10ZW1wbGF0ZS10ZW1wbGF0ZS1sYW5kaW5nLXBhZ2UtbGlzdGluZyAubWFzdGVyLWNvbnRlbnQge1xuICAgIGJhY2tncm91bmQ6ICNkZGNhYWY7IH1cbiAgLm1hc3Rlci1jb250ZW50X19jb2x1bW4ge1xuICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG5cbi5wYWdpbmF0aW9uIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW46IDEuMjVyZW0gLTAuMTg3NXJlbSAwOyB9XG4gIC5wYWdpbmF0aW9uLS13aXRoLXNlcGFyYXRvciB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlY2VjZWM7XG4gICAgcGFkZGluZy10b3A6IDIuNDM3NXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS4xODc1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wYWdpbmF0aW9uLS13aXRoLXNlcGFyYXRvciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzLjA2MjVyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzLjA2MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIC5wYWdpbmF0aW9uIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gIC5wYWdpbmF0aW9uX19pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwIDAuMTg3NXJlbSAwLjM3NXJlbTsgfVxuICAucGFnaW5hdGlvbl9fbGluayB7XG4gICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjEyNXJlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQzRDNEM0O1xuICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWluLXdpZHRoOiAyLjVyZW07XG4gICAgcGFkZGluZzogMC42ODc1cmVtIDAuMjVyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdHJhbnNpdGlvbjogMC4yNXMgYWxsOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5wYWdpbmF0aW9uX19saW5rIHtcbiAgICAgICAgbWluLXdpZHRoOiAzcmVtO1xuICAgICAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMC4yNXJlbTsgfSB9XG4gICAgLnBhZ2luYXRpb25fX2xpbms6aG92ZXIsIC5wYWdpbmF0aW9uX19saW5rOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICM0RjRGNEY7XG4gICAgICBib3JkZXItY29sb3I6ICM0RjRGNEY7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5wYWdpbmF0aW9uX19saW5rLS1jdXJyZW50IHtcbiAgICAgIGJhY2tncm91bmQ6ICM0RjRGNEY7XG4gICAgICBib3JkZXItY29sb3I6ICM0RjRGNEY7XG4gICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuXG4ucG9zdC1jb250ZW50X19tZXRhIHtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgbWFyZ2luLXRvcDogMS4xODc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBvc3QtY29udGVudF9fbWV0YSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjgxMjVyZW07XG4gICAgICBtYXJnaW4tdG9wOiAxLjE4NzVyZW07IH0gfVxuXG4ucG9zdC1jb250ZW50X190aXRsZSB7XG4gIG1hcmdpbi10b3A6IC0uMjVlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wb3N0LWNvbnRlbnRfX3RpdGxlLS1zbWFsbGVyIHtcbiAgICAgIGZvbnQtc2l6ZTogMnJlbTsgfSB9XG5cbi5wb3N0LWNvbnRlbnRfX2hlYWRlciB7XG4gIHBhZGRpbmctYm90dG9tOiAxLjE4NzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucG9zdC1jb250ZW50X19oZWFkZXIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuNjg3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnBvc3QtY29udGVudF9faGVhZGVyIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyLjMxMjVyZW07IH0gfVxuICAucG9zdC1jb250ZW50X19oZWFkZXItLW1peGVkLXdpdGgtYm9keSB7XG4gICAgcGFkZGluZy1ib3R0b206IDEuMTg3NXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucG9zdC1jb250ZW50X19oZWFkZXItLW1peGVkLXdpdGgtYm9keSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjU2MjVyZW07IH0gfVxuICAucG9zdC1jb250ZW50X19oZWFkZXItLWhhcy1saW5lIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0RGREZERjtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjE4NzVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBvc3QtY29udGVudF9faGVhZGVyLS1oYXMtbGluZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNjg3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5wb3N0LWNvbnRlbnRfX2hlYWRlci0taGFzLWxpbmUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjMxMjVyZW07IH0gfVxuXG4ucG9zdC1jb250ZW50X19kZXNjcmlwdGlvbiB7XG4gIG1hcmdpbi10b3A6IDEuMTg3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wb3N0LWNvbnRlbnRfX2Rlc2NyaXB0aW9uIHtcbiAgICAgIG1hcmdpbi10b3A6IDEuNjg3NXJlbTsgfSB9XG4gIC5wb3N0LWNvbnRlbnRfX2Rlc2NyaXB0aW9uIHAge1xuICAgIG1hcmdpbi10b3A6IC0wLjI1cmVtOyB9XG4gICAgLnBvc3QtY29udGVudF9fZGVzY3JpcHRpb24gcDpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ucG9zdC1jb250ZW50X19mZWF0dXJlZC1pbWFnZS13cmFwcGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMS41NjI1cmVtO1xuICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wb3N0LWNvbnRlbnRfX2ZlYXR1cmVkLWltYWdlLXdyYXBwZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucG9zdC1jb250ZW50X19mZWF0dXJlZC1pbWFnZS13cmFwcGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMuNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wb3N0LWNvbnRlbnRfX2ZlYXR1cmVkLWltYWdlLXdyYXBwZXItLW91dC1vZi1ncmlkIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAzLjc1cmVtKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMS44NzVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xLjg3NXJlbTsgfSB9XG4gIC5wb3N0LWNvbnRlbnRfX2ZlYXR1cmVkLWltYWdlLXdyYXBwZXItLW10IHtcbiAgICBtYXJnaW4tdG9wOiAxLjg3NXJlbTsgfVxuXG4ucG9zdC1jb250ZW50X19pbnRybyB7XG4gIGZvbnQtc2l6ZTogMS4xODc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBvc3QtY29udGVudF9faW50cm8ge1xuICAgICAgZm9udC1zaXplOiAxLjM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnBvc3QtY29udGVudF9faW50cm8ge1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07IH0gfVxuXG4ucG9zdC1jb250ZW50X19ib2R5IHtcbiAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9XG4gIC5wb3N0LWNvbnRlbnRfX2JvZHktLWxpbWl0LXdpZHRoIHtcbiAgICBtYXgtd2lkdGg6IDUwLjkzNzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucG9zdC1jb250ZW50X19ib2R5LS1sYXJnZXItZm9udCB7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gICAgICAucG9zdC1jb250ZW50X19ib2R5LS1sYXJnZXItZm9udCBwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucG9zdC1jb250ZW50X19ib2R5IHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfSB9XG5cbi5zZWFyY2gtZm9ybSB7XG4gIG1heC13aWR0aDogMjAuNjI1cmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gIC5tYWluLW5hdi1tb2JpbGUgLnNlYXJjaC1mb3JtIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgcGFkZGluZzogMCAxcmVtO1xuICAgIG1hcmdpbi10b3A6IDAuNjI1cmVtOyB9XG4gIC5zZWFyY2gtZm9ybV9faW5wdXQtd3JhcHBlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIuODEyNXJlbSk7IH1cbiAgLnNlYXJjaC1mb3JtX19pbnB1dCB7XG4gICAgaGVpZ2h0OiAyLjVyZW07XG4gICAgcGFkZGluZzogMC43NXJlbSAwLjYyNXJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweCAwIDAgMnB4OyB9XG4gICAgLnNlYXJjaC1mb3JtX19pbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICNjYWNhY2E7IH1cbiAgICAuc2VhcmNoLWZvcm1fX2lucHV0OmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICBib3JkZXItY29sb3I6ICNlZTAwMTg7IH1cbiAgLnNlYXJjaC1mb3JtX19idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgICBwYWRkaW5nOiAwLjkwN2VtIDFlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQ6ICNlZTAwMTg7XG4gICAgcGFkZGluZzogMC42MjVyZW07XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICB3aWR0aDogMi44MTI1cmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwIDJweCAycHggMDsgfVxuICAgIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuc2VhcmNoLWZvcm1fX2J1dHRvbiB7XG4gICAgICBvdXRsaW5lOiAwOyB9XG4gICAgLnNlYXJjaC1mb3JtX19idXR0b24sIC5zZWFyY2gtZm9ybV9fYnV0dG9uLmRpc2FibGVkLCAuc2VhcmNoLWZvcm1fX2J1dHRvbltkaXNhYmxlZF0sIC5zZWFyY2gtZm9ybV9fYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuc2VhcmNoLWZvcm1fX2J1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5zZWFyY2gtZm9ybV9fYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuc2VhcmNoLWZvcm1fX2J1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlMDAxODtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLnNlYXJjaC1mb3JtX19idXR0b246aG92ZXIsIC5zZWFyY2gtZm9ybV9fYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjA3MjA7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5zZWFyY2gtZm9ybV9fYnV0dG9uOmhvdmVyLCAuc2VhcmNoLWZvcm1fX2J1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwNzIwOyB9XG4gIC5zZWFyY2gtZm9ybV9faWNvbiB7XG4gICAgbWF4LXdpZHRoOiAyMnB4O1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5zZWFyY2gtZm9ybV9faWNvbiBjaXJjbGUge1xuICAgICAgc3Ryb2tlOiAjZmVmZWZlOyB9XG4gICAgLnNlYXJjaC1mb3JtX19pY29uIHBhdGgge1xuICAgICAgZmlsbDogI2ZlZmVmZTsgfVxuXG4uc2VhcmNoLXdpZGdldCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLnNlYXJjaC13aWRnZXRfX2FjdGl2YXRvciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc2VhcmNoLXdpZGdldF9fYWN0aXZhdG9yIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIC5zZWFyY2gtd2lkZ2V0X19hY3RpdmF0b3I6aG92ZXIgLnNlYXJjaC13aWRnZXRfX2ljb24gY2lyY2xlLCAuc2VhcmNoLXdpZGdldF9fYWN0aXZhdG9yOmZvY3VzIC5zZWFyY2gtd2lkZ2V0X19pY29uIGNpcmNsZSB7XG4gICAgICAgICAgc3Ryb2tlOiAjYzM3ZjJiOyB9XG4gICAgICAgIC5zZWFyY2gtd2lkZ2V0X19hY3RpdmF0b3I6aG92ZXIgLnNlYXJjaC13aWRnZXRfX2ljb24gcGF0aCwgLnNlYXJjaC13aWRnZXRfX2FjdGl2YXRvcjpmb2N1cyAuc2VhcmNoLXdpZGdldF9faWNvbiBwYXRoIHtcbiAgICAgICAgICBmaWxsOiAjYzM3ZjJiOyB9IH1cbiAgLnNlYXJjaC13aWRnZXRfX2ljb24gKiB7XG4gICAgdHJhbnNpdGlvbjogMC4yNXMgYWxsOyB9XG4gIC5zZWFyY2gtd2lkZ2V0X19kcm9wZG93biB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgd2lkdGg6IDI1MHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMyRDJEMkQ7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyRDJEMkQ7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGJvcmRlcjogMDsgfVxuICAgIC5zZWFyY2gtd2lkZ2V0X19kcm9wZG93bi5pcy1vcGVuaW5nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLnNlYXJjaC13aWRnZXRfX2Ryb3Bkb3duLmlzLW9wZW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi5zaWRlYmFyLXdpZGdldCArIC5zaWRlYmFyLXdpZGdldCB7XG4gIG1hcmdpbi10b3A6IDEuODc1cmVtOyB9XG5cbi5zaWRlYmFyLXdpZGdldF9fdGl0bGUge1xuICBmb250LXNpemU6IDEuMzc1cmVtOyB9XG5cbi5zaWRlYmFyLXdpZGdldC53aWRnZXRfbmF2X21lbnUge1xuICBiYWNrZ3JvdW5kOiAjZmRmZGZkO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTBlMGUwO1xuICBib3gtc2hhZG93OiAwcHggMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgcGFkZGluZzogMS4yNXJlbSAxLjU2MjVyZW0gMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc2lkZWJhci13aWRnZXQud2lkZ2V0X25hdl9tZW51IHtcbiAgICAgIHBhZGRpbmc6IDEuODc1cmVtIDIuNXJlbSAxLjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAuc2lkZWJhci13aWRnZXQud2lkZ2V0X25hdl9tZW51IHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH0gfVxuICAuc2lkZWJhci13aWRnZXQud2lkZ2V0X25hdl9tZW51IC5zaWRlYmFyLXdpZGdldF9fdGl0bGUge1xuICAgIGNvbG9yOiAjNTM1MzUzO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNDM3NXJlbTsgfVxuICAuc2lkZWJhci13aWRnZXQud2lkZ2V0X25hdl9tZW51IC5tZW51Om5vdCgjbWVudS1zb2NpYWwpIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgICAuc2lkZWJhci13aWRnZXQud2lkZ2V0X25hdl9tZW51IC5tZW51Om5vdCgjbWVudS1zb2NpYWwpIGxpLmN1cnJlbnQtY2F0IGEsXG4gICAgLnNpZGViYXItd2lkZ2V0LndpZGdldF9uYXZfbWVudSAubWVudTpub3QoI21lbnUtc29jaWFsKSBsaS5jdXJyZW50LW1lbnUtaXRlbSBhIHtcbiAgICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL3NpZGUtbmF2LWNvaW4uc3ZnXCIpIG5vLXJlcGVhdCAxMDAlIDUwJTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmctbGVmdDogMnJlbSAhaW1wb3J0YW50O1xuICAgICAgd2lkdGg6IDE4cmVtOyB9XG4gICAgLnNpZGViYXItd2lkZ2V0LndpZGdldF9uYXZfbWVudSAubWVudTpub3QoI21lbnUtc29jaWFsKSBsaSArIGxpIHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjRTFFNUVBOyB9XG4gICAgLnNpZGViYXItd2lkZ2V0LndpZGdldF9uYXZfbWVudSAubWVudTpub3QoI21lbnUtc29jaWFsKSBsaS5tZW51LW1vcmUge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDAuNjI1cmVtIDA7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAgIC5zaWRlYmFyLXdpZGdldC53aWRnZXRfbmF2X21lbnUgLm1lbnU6bm90KCNtZW51LXNvY2lhbCkgbGkubWVudS1tb3JlIGJ1dHRvbiB7XG4gICAgICAgIGNvbG9yOiAjZWUwMDE4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgY3VycmVudENvbG9yO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogM3B4OyB9XG4gICAgLnNpZGViYXItd2lkZ2V0LndpZGdldF9uYXZfbWVudSAubWVudTpub3QoI21lbnUtc29jaWFsKSBhIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwLjYyNXJlbSAwO1xuICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cbiAgICAgIC5zaWRlYmFyLXdpZGdldC53aWRnZXRfbmF2X21lbnUgLm1lbnU6bm90KCNtZW51LXNvY2lhbCkgYTpob3ZlciwgLnNpZGViYXItd2lkZ2V0LndpZGdldF9uYXZfbWVudSAubWVudTpub3QoI21lbnUtc29jaWFsKSBhOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICNjMzdmMmI7IH1cblxuLnNpZGViYXItd2lkZ2V0LndpZGdldF90ZXh0IHtcbiAgYmFja2dyb3VuZDogI2ZkZmRmZDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2UwZTBlMDtcbiAgYm94LXNoYWRvdzogMHB4IDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMS41NjI1cmVtIDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNpZGViYXItd2lkZ2V0LndpZGdldF90ZXh0IHtcbiAgICAgIHBhZGRpbmc6IDEuODc1cmVtIDIuNXJlbSAxLjI1cmVtOyB9IH1cblxuLnNpZGViYXItd2lkZ2V0LndpZGdldF9uYXZfbWVudSAubWVudTpub3QoI21lbnUtc29jaWFsKSBhIHtcbiAgcGFkZGluZy1sZWZ0OiAycmVtICFpbXBvcnRhbnQ7IH1cblxuLnNpZGViYXIgYVtocmVmKj0nZmFjZWJvb2suY29tJ10sXG4uZm9vdGVyIGFbaHJlZio9J2ZhY2Vib29rLmNvbSddLCAuc2lkZWJhciBhW2hyZWYqPSd0d2l0dGVyLmNvbSddLFxuLmZvb3RlciBhW2hyZWYqPSd0d2l0dGVyLmNvbSddLCAuc2lkZWJhciBhW2hyZWYqPSdsaW5rZWRpbi5jb20nXSxcbi5mb290ZXIgYVtocmVmKj0nbGlua2VkaW4uY29tJ10sIC5zaWRlYmFyIGFbaHJlZio9J3BpbnRlcmVzdC5jb20nXSxcbi5mb290ZXIgYVtocmVmKj0ncGludGVyZXN0LmNvbSddLCAuc2lkZWJhciBhW2hyZWYqPSd5b3V0dWJlLmNvbSddLFxuLmZvb3RlciBhW2hyZWYqPSd5b3V0dWJlLmNvbSddLCAuc2lkZWJhciBhW2hyZWYqPSdwbHVzLmdvb2dsZS5jb20nXSxcbi5mb290ZXIgYVtocmVmKj0ncGx1cy5nb29nbGUuY29tJ10sIC5zaWRlYmFyIGFbaHJlZio9J3N0dW1ibGV1cG9uLmNvbSddLFxuLmZvb3RlciBhW2hyZWYqPSdzdHVtYmxldXBvbi5jb20nXSwgLnNpZGViYXIgYVtocmVmKj0naW5zdGFncmFtLmNvbSddLFxuLmZvb3RlciBhW2hyZWYqPSdpbnN0YWdyYW0uY29tJ10sIC5zaWRlYmFyIGFbaHJlZio9J3JlZGRpdC5jb20nXSxcbi5mb290ZXIgYVtocmVmKj0ncmVkZGl0LmNvbSddIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTsgfVxuICAuc2lkZWJhciBhW2hyZWYqPSdmYWNlYm9vay5jb20nXTo6YmVmb3JlLFxuICAuZm9vdGVyIGFbaHJlZio9J2ZhY2Vib29rLmNvbSddOjpiZWZvcmUsIC5zaWRlYmFyIGFbaHJlZio9J3R3aXR0ZXIuY29tJ106OmJlZm9yZSxcbiAgLmZvb3RlciBhW2hyZWYqPSd0d2l0dGVyLmNvbSddOjpiZWZvcmUsIC5zaWRlYmFyIGFbaHJlZio9J2xpbmtlZGluLmNvbSddOjpiZWZvcmUsXG4gIC5mb290ZXIgYVtocmVmKj0nbGlua2VkaW4uY29tJ106OmJlZm9yZSwgLnNpZGViYXIgYVtocmVmKj0ncGludGVyZXN0LmNvbSddOjpiZWZvcmUsXG4gIC5mb290ZXIgYVtocmVmKj0ncGludGVyZXN0LmNvbSddOjpiZWZvcmUsIC5zaWRlYmFyIGFbaHJlZio9J3lvdXR1YmUuY29tJ106OmJlZm9yZSxcbiAgLmZvb3RlciBhW2hyZWYqPSd5b3V0dWJlLmNvbSddOjpiZWZvcmUsIC5zaWRlYmFyIGFbaHJlZio9J3BsdXMuZ29vZ2xlLmNvbSddOjpiZWZvcmUsXG4gIC5mb290ZXIgYVtocmVmKj0ncGx1cy5nb29nbGUuY29tJ106OmJlZm9yZSwgLnNpZGViYXIgYVtocmVmKj0nc3R1bWJsZXVwb24uY29tJ106OmJlZm9yZSxcbiAgLmZvb3RlciBhW2hyZWYqPSdzdHVtYmxldXBvbi5jb20nXTo6YmVmb3JlLCAuc2lkZWJhciBhW2hyZWYqPSdpbnN0YWdyYW0uY29tJ106OmJlZm9yZSxcbiAgLmZvb3RlciBhW2hyZWYqPSdpbnN0YWdyYW0uY29tJ106OmJlZm9yZSwgLnNpZGViYXIgYVtocmVmKj0ncmVkZGl0LmNvbSddOjpiZWZvcmUsXG4gIC5mb290ZXIgYVtocmVmKj0ncmVkZGl0LmNvbSddOjpiZWZvcmUge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgY29sb3I6ICMzNjM2MzY7XG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5OXB4O1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICB0cmFuc2l0aW9uOiAwLjI1cyBjb2xvciBsaW5lYXI7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDIzMC41OWRlZywgI0JCODgzMCAwJSwgI0UzQjc1MyA0OC44MSUsICNCQjg4MzAgOTEuOTElKTsgfVxuICAuc2lkZWJhciBhW2hyZWYqPSdmYWNlYm9vay5jb20nXTpob3Zlcjo6YmVmb3JlLFxuICAuZm9vdGVyIGFbaHJlZio9J2ZhY2Vib29rLmNvbSddOmhvdmVyOjpiZWZvcmUsIC5zaWRlYmFyIGFbaHJlZio9J3R3aXR0ZXIuY29tJ106aG92ZXI6OmJlZm9yZSxcbiAgLmZvb3RlciBhW2hyZWYqPSd0d2l0dGVyLmNvbSddOmhvdmVyOjpiZWZvcmUsIC5zaWRlYmFyIGFbaHJlZio9J2xpbmtlZGluLmNvbSddOmhvdmVyOjpiZWZvcmUsXG4gIC5mb290ZXIgYVtocmVmKj0nbGlua2VkaW4uY29tJ106aG92ZXI6OmJlZm9yZSwgLnNpZGViYXIgYVtocmVmKj0ncGludGVyZXN0LmNvbSddOmhvdmVyOjpiZWZvcmUsXG4gIC5mb290ZXIgYVtocmVmKj0ncGludGVyZXN0LmNvbSddOmhvdmVyOjpiZWZvcmUsIC5zaWRlYmFyIGFbaHJlZio9J3lvdXR1YmUuY29tJ106aG92ZXI6OmJlZm9yZSxcbiAgLmZvb3RlciBhW2hyZWYqPSd5b3V0dWJlLmNvbSddOmhvdmVyOjpiZWZvcmUsIC5zaWRlYmFyIGFbaHJlZio9J3BsdXMuZ29vZ2xlLmNvbSddOmhvdmVyOjpiZWZvcmUsXG4gIC5mb290ZXIgYVtocmVmKj0ncGx1cy5nb29nbGUuY29tJ106aG92ZXI6OmJlZm9yZSwgLnNpZGViYXIgYVtocmVmKj0nc3R1bWJsZXVwb24uY29tJ106aG92ZXI6OmJlZm9yZSxcbiAgLmZvb3RlciBhW2hyZWYqPSdzdHVtYmxldXBvbi5jb20nXTpob3Zlcjo6YmVmb3JlLCAuc2lkZWJhciBhW2hyZWYqPSdpbnN0YWdyYW0uY29tJ106aG92ZXI6OmJlZm9yZSxcbiAgLmZvb3RlciBhW2hyZWYqPSdpbnN0YWdyYW0uY29tJ106aG92ZXI6OmJlZm9yZSwgLnNpZGViYXIgYVtocmVmKj0ncmVkZGl0LmNvbSddOmhvdmVyOjpiZWZvcmUsXG4gIC5mb290ZXIgYVtocmVmKj0ncmVkZGl0LmNvbSddOmhvdmVyOjpiZWZvcmUsIC5zaWRlYmFyIGFbaHJlZio9J2ZhY2Vib29rLmNvbSddOmZvY3VzOjpiZWZvcmUsXG4gIC5mb290ZXIgYVtocmVmKj0nZmFjZWJvb2suY29tJ106Zm9jdXM6OmJlZm9yZSwgLnNpZGViYXIgYVtocmVmKj0ndHdpdHRlci5jb20nXTpmb2N1czo6YmVmb3JlLFxuICAuZm9vdGVyIGFbaHJlZio9J3R3aXR0ZXIuY29tJ106Zm9jdXM6OmJlZm9yZSwgLnNpZGViYXIgYVtocmVmKj0nbGlua2VkaW4uY29tJ106Zm9jdXM6OmJlZm9yZSxcbiAgLmZvb3RlciBhW2hyZWYqPSdsaW5rZWRpbi5jb20nXTpmb2N1czo6YmVmb3JlLCAuc2lkZWJhciBhW2hyZWYqPSdwaW50ZXJlc3QuY29tJ106Zm9jdXM6OmJlZm9yZSxcbiAgLmZvb3RlciBhW2hyZWYqPSdwaW50ZXJlc3QuY29tJ106Zm9jdXM6OmJlZm9yZSwgLnNpZGViYXIgYVtocmVmKj0neW91dHViZS5jb20nXTpmb2N1czo6YmVmb3JlLFxuICAuZm9vdGVyIGFbaHJlZio9J3lvdXR1YmUuY29tJ106Zm9jdXM6OmJlZm9yZSwgLnNpZGViYXIgYVtocmVmKj0ncGx1cy5nb29nbGUuY29tJ106Zm9jdXM6OmJlZm9yZSxcbiAgLmZvb3RlciBhW2hyZWYqPSdwbHVzLmdvb2dsZS5jb20nXTpmb2N1czo6YmVmb3JlLCAuc2lkZWJhciBhW2hyZWYqPSdzdHVtYmxldXBvbi5jb20nXTpmb2N1czo6YmVmb3JlLFxuICAuZm9vdGVyIGFbaHJlZio9J3N0dW1ibGV1cG9uLmNvbSddOmZvY3VzOjpiZWZvcmUsIC5zaWRlYmFyIGFbaHJlZio9J2luc3RhZ3JhbS5jb20nXTpmb2N1czo6YmVmb3JlLFxuICAuZm9vdGVyIGFbaHJlZio9J2luc3RhZ3JhbS5jb20nXTpmb2N1czo6YmVmb3JlLCAuc2lkZWJhciBhW2hyZWYqPSdyZWRkaXQuY29tJ106Zm9jdXM6OmJlZm9yZSxcbiAgLmZvb3RlciBhW2hyZWYqPSdyZWRkaXQuY29tJ106Zm9jdXM6OmJlZm9yZSB7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cblxuLnNoYXJlLXBvc3Qge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLnNpZGViYXIgLnNoYXJlLXBvc3Qge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zaGFyZS1wb3N0X190aXRsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuODc1cmVtOyB9XG4gIC5zaGFyZS1wb3N0IC5kZXYtc2hhcmUtYnV0dG9ucyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5zaGFyZS1wb3N0IGEge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG5cbi5wYWdlLWhlcm8tdjIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5wYWdlLWhlcm8tdjJfX2JnLWltYWdlLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0NTUzNmE7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBhZ2UtaGVyby12Ml9fYmctaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgICAgdG9wOiAtODBweDtcbiAgICAgICAgYm90dG9tOiAtODBweDsgfSB9XG4gICAgLnBhZ2UtaGVyby12Ml9fYmctaW1hZ2UtY29udGFpbmVyLS13aXRoLW92ZXJsYXk6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDgsIDgsIDMxLCAwLjQ1KTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHotaW5kZXg6IDI7IH1cbiAgICAucGFnZS1oZXJvLXYyX19iZy1pbWFnZS1jb250YWluZXItLXdpdGgtZ3JhZGllbnQ6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBoZWlnaHQ6IDIxLjg3NXJlbTtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMCwgMCwgMCwgMC41KSAwJSwgcmdiYSgwLCAwLCAwLCAwLjAwMDEpIDEwMCUpO1xuICAgICAgbWl4LWJsZW5kLW1vZGU6IG5vcm1hbDtcbiAgICAgIHotaW5kZXg6IDM7IH1cbiAgLnBhZ2UtaGVyby12Ml9fYmctaW1hZ2Uge1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIG9iamVjdC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICBmb250LWZhbWlseTogXCJvYmplY3QtZml0OiBjb3Zlcjsgb2JqZWN0LXBvc2l0aW9uOiA1MCUgNTAlXCI7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5wYWdlLWhlcm8tdjJfX2NvbnRlbnQtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogNDsgfVxuICAgIC5wYWdlLWhlcm8tdjJfX2NvbnRlbnQtY29udGFpbmVyLS1wYiB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMy4xMjVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5wYWdlLWhlcm8tdjJfX2NvbnRlbnQtY29udGFpbmVyLS1wYiB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDQuMzc1cmVtOyB9IH1cbiAgLnBhZ2UtaGVyby12Ml9fY29udGVudCB7XG4gICAgbWFyZ2luOiA1LjYyNXJlbSAwIDMuNzVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBhZ2UtaGVyby12Ml9fY29udGVudCB7XG4gICAgICAgIG1hcmdpbjogNy41cmVtIDAgNS42MjVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucGFnZS1oZXJvLXYyX19jb250ZW50IHtcbiAgICAgICAgbWFyZ2luOiAxMHJlbSAwIDYuODc1cmVtOyB9IH1cbiAgICAucGFnZS10ZW1wbGF0ZS10ZW1wbGF0ZS1sYW5kaW5nLXBhZ2UtbGlzdGluZyAucGFnZS1oZXJvLXYyX19jb250ZW50IHtcbiAgICAgIG1hcmdpbjogNS42MjVyZW0gMCAwLjYyNXJlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnBhZ2UtdGVtcGxhdGUtdGVtcGxhdGUtbGFuZGluZy1wYWdlLWxpc3RpbmcgLnBhZ2UtaGVyby12Ml9fY29udGVudCB7XG4gICAgICAgICAgbWFyZ2luOiA2Ljg3NXJlbSAwIDAuNjI1cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5wYWdlLXRlbXBsYXRlLXRlbXBsYXRlLWxhbmRpbmctcGFnZS1saXN0aW5nIC5wYWdlLWhlcm8tdjJfX2NvbnRlbnQge1xuICAgICAgICAgIG1hcmdpbjogOC43NXJlbSAwIDAuNjI1cmVtOyB9IH1cbiAgLnBhZ2UtaGVyby12Ml9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEwLCAxMCwgMTAsIDAuNCk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCAtMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucGFnZS1oZXJvLXYyX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnBhZ2UtaGVyby12Ml9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDJyZW07IH0gfVxuICAucGFnZS1oZXJvLXYyX19zdWJ0aXRsZSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEwLCAxMCwgMTAsIDAuNCk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgbWFyZ2luOiAwIC0wLjYyNXJlbSAxLjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wYWdlLWhlcm8tdjJfX3N1YnRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjM3NXJlbTsgfSB9XG4gIC5wYWdlLWhlcm8tdjJfX3RleHQge1xuICAgIG1hcmdpbjogMCAtMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgLnBhZ2UtaGVyby12Ml9fdGV4dCBwIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTAsIDEwLCAxMCwgMC40KTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucGFnZS1oZXJvLXYyX190ZXh0LFxuICAgICAgLnBhZ2UtaGVyby12Ml9fdGV4dCBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnBhZ2UtaGVyby12Ml9fdGV4dCxcbiAgICAgIC5wYWdlLWhlcm8tdjJfX3RleHQgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH0gfVxuICAgIC5wYWdlLWhlcm8tdjJfX3RleHQgcDpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5wYWdlLWhlcm8tdjJfX3RpdGxlICsgLnBhZ2UtaGVyby12Ml9fdGV4dCB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjg3NXJlbTsgfVxuICAucGFnZS1oZXJvLXYyX19idXR0b24ge1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5wYWdlLWhlcm8tdjJfX3RpdGxlICsgLnBhZ2UtaGVyby12Ml9fYnV0dG9uIHtcbiAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLnBhZ2UtaGVyby12Ml9fdGl0bGUgKyAucGFnZS1oZXJvLXYyX19idXR0b24ge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDIuMTI1cmVtOyB9IH1cbiAgICAucGFnZS1oZXJvLXYyX190ZXh0ICsgLnBhZ2UtaGVyby12Ml9fYnV0dG9uIHtcbiAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLnBhZ2UtaGVyby12Ml9fdGV4dCArIC5wYWdlLWhlcm8tdjJfX2J1dHRvbiB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMi4xMjVyZW07IH0gfVxuICAucGFnZS1oZXJvLXYyX19kaXNjbGFpbWVyLXRleHQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMCwgMTAsIDEwLCAwLjQpO1xuICAgIHBhZGRpbmc6IDAuOTM3NXJlbTsgfVxuICAgIC5wYWdlLWhlcm8tdjJfX2Rpc2NsYWltZXItdGV4dCBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMzc1cmVtOyB9XG4gICAgLnBhZ2UtaGVyby12Ml9fZGlzY2xhaW1lci10ZXh0IGEge1xuICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgLnBhZ2UtaGVyby12Ml9fZGlzY2xhaW1lci10ZXh0IGE6aG92ZXIsIC5wYWdlLWhlcm8tdjJfX2Rpc2NsYWltZXItdGV4dCBhOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5wYWdlLWhlcm8tdjJfX2Rpc2NsYWltZXItdGV4dCA+ICo6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5wYWdlLWhlcm8tdjJfX2Rpc2NsYWltZXItYnV0dG9uIHtcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbSAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gIC5mb290ZXItbmF2IHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZm9vdGVyLW5hdl9fbGlzdCB7XG4gICAgbWFyZ2luLXRvcDogLTAuMzEyNXJlbTsgfSB9XG5cbi5mb290ZXItbmF2X19pdGVtICsgLmZvb3Rlci1uYXZfX2l0ZW06OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY29udGVudDogXCJ8XCI7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBwYWRkaW5nOiAwIDAuMzEyNXJlbTtcbiAgY29sb3I6ICM4NTg1ODU7IH1cblxuLmZvb3Rlci1uYXZfX2xpbmsge1xuICBwYWRkaW5nOiAwLjMxMjVyZW0gMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5mb290ZXItc29jaWFsX19saXN0IHtcbiAgbWFyZ2luLWxlZnQ6IC00cHg7XG4gIG1hcmdpbi1yaWdodDogLTRweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5mb290ZXItc29jaWFsX19saXN0IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH0gfVxuXG4uZm9vdGVyLXNvY2lhbF9faXRlbSB7XG4gIG1hcmdpbi1sZWZ0OiA0cHg7XG4gIG1hcmdpbi1yaWdodDogNHB4OyB9XG5cbi5hZGRpdGlvbmFsLW1lbnVfX2J1dHRvbiB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5hZGRpdGlvbmFsLW1lbnVfX2J1dHRvbiB7XG4gICAgICBtYXJnaW4tbGVmdDogMS44NzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5hZGRpdGlvbmFsLW1lbnVfX2J1dHRvbiB7XG4gICAgICBtYXJnaW4tbGVmdDogMi41cmVtOyB9IH1cbiAgLmFkZGl0aW9uYWwtbWVudV9fYnV0dG9uOmhvdmVyIC5hZGRpdGlvbmFsLW1lbnVfX2ljb24gKiwgLmFkZGl0aW9uYWwtbWVudV9fYnV0dG9uOmZvY3VzIC5hZGRpdGlvbmFsLW1lbnVfX2ljb24gKiB7XG4gICAgZmlsbDogI2MzN2YyYjsgfVxuXG4uYWRkaXRpb25hbC1tZW51IC5hZGRpdGlvbmFsLW1lbnVfX2ljb24gKiB7XG4gIHRyYW5zaXRpb246IDAuMjVzIGZpbGw7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmFkZGl0aW9uYWwtbWVudV9faXRlbSB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuXG4uYWRkaXRpb25hbC1tZW51X19pdGVtOmZpcnN0LWNoaWxkID4gYSB7XG4gIHBhZGRpbmctdG9wOiAxLjI1cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5hZGRpdGlvbmFsLW1lbnVfX2l0ZW06bGFzdC1jaGlsZCA+IGEge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9IH1cblxuLmFkZGl0aW9uYWwtbWVudV9fbGluayB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxldHRlci1zcGFjaW5nOiAxLjU3NXB4O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBtYXJnaW46IDAgMXJlbTtcbiAgcGFkZGluZzogMC42ODc1cmVtIDAgMC4yNXJlbTtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgdHJhbnNpdGlvbjogMC4yNXMgYm9yZGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5hZGRpdGlvbmFsLW1lbnVfX2xpbmsge1xuICAgICAgcGFkZGluZzogMC40Mzc1cmVtIDA7XG4gICAgICBtYXJnaW46IDAgMC40Mzc1cmVtO1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH0gfVxuICAuYWRkaXRpb25hbC1tZW51X19saW5rOmhvdmVyLCAuYWRkaXRpb25hbC1tZW51X19saW5rOmZvY3VzIHtcbiAgICBjb2xvcjogIzBhMGEwYTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2MzN2YyYjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuYWRkaXRpb25hbC1tZW51X19saW5rOmhvdmVyLCAuYWRkaXRpb25hbC1tZW51X19saW5rOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7IH0gfVxuXG4ubGlzdGluZ19fY2VsbC1udW1iZXIsIC5saXN0aW5nX19jZWxsLWxvZ28sIC5saXN0aW5nX19jZWxsLWJvbnVzLCAubGlzdGluZ19fY2VsbC1yZXZpZXcsIC5saXN0aW5nX19jZWxsLXByb3MsIC5saXN0aW5nX19jZWxsLWN0YSwgLmxpc3RpbmdfX2NlbGwtdGl0bGUsIC5saXN0aW5nX19jZWxsLXRleHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5saXN0aW5nX19jZWxsLW51bWJlciA+IGRpdiwgLmxpc3RpbmdfX2NlbGwtbG9nbyA+IGRpdiwgLmxpc3RpbmdfX2NlbGwtYm9udXMgPiBkaXYsIC5saXN0aW5nX19jZWxsLXJldmlldyA+IGRpdiwgLmxpc3RpbmdfX2NlbGwtcHJvcyA+IGRpdiwgLmxpc3RpbmdfX2NlbGwtY3RhID4gZGl2LCAubGlzdGluZ19fY2VsbC10aXRsZSA+IGRpdiwgLmxpc3RpbmdfX2NlbGwtdGV4dCA+IGRpdiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAubGlzdGluZ19fY2VsbC1udW1iZXIsIC5saXN0aW5nX19jZWxsLWxvZ28sIC5saXN0aW5nX19jZWxsLWJvbnVzLCAubGlzdGluZ19fY2VsbC1yZXZpZXcsIC5saXN0aW5nX19jZWxsLXByb3MsIC5saXN0aW5nX19jZWxsLWN0YSwgLmxpc3RpbmdfX2NlbGwtdGl0bGUsIC5saXN0aW5nX19jZWxsLXRleHQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAwLjMxMjVyZW0gMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5saXN0aW5nX19jZWxsLW51bWJlciwgLmxpc3RpbmdfX2NlbGwtbG9nbywgLmxpc3RpbmdfX2NlbGwtYm9udXMsIC5saXN0aW5nX19jZWxsLXJldmlldywgLmxpc3RpbmdfX2NlbGwtcHJvcywgLmxpc3RpbmdfX2NlbGwtY3RhLCAubGlzdGluZ19fY2VsbC10aXRsZSwgLmxpc3RpbmdfX2NlbGwtdGV4dCB7XG4gICAgICBwYWRkaW5nOiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmxpc3RpbmdfX2NlbGwtbnVtYmVyLCAubGlzdGluZ19fY2VsbC1sb2dvLCAubGlzdGluZ19fY2VsbC1ib251cywgLmxpc3RpbmdfX2NlbGwtcmV2aWV3LCAubGlzdGluZ19fY2VsbC1wcm9zLCAubGlzdGluZ19fY2VsbC1jdGEsIC5saXN0aW5nX19jZWxsLXRpdGxlLCAubGlzdGluZ19fY2VsbC10ZXh0IHtcbiAgICAgIHBhZGRpbmc6IDEuNTYyNXJlbSAxLjg3NXJlbTsgfSB9XG5cbi5saXN0aW5nLS1wdXNoLXRvcCB7XG4gIG1hcmdpbi10b3A6IC01cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmxpc3RpbmctLXB1c2gtdG9wIHtcbiAgICAgIG1hcmdpbi10b3A6IC02LjI1cmVtOyB9IH1cblxuLmxpc3RpbmdfX2l0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgY29sb3I6ICMyRDJEMkQ7XG4gIGJveC1zaGFkb3c6IDBweCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgYm9yZGVyLXJhZGl1czogMXB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgLmxpc3RpbmdfX2l0ZW0ge1xuICAgICAgcGFkZGluZzogMC42MjVyZW0gMC4zMTI1cmVtIDAuMzEyNXJlbTsgfSB9XG4gIC5saXN0aW5nX19pdGVtICsgLmxpc3RpbmdfX2l0ZW0ge1xuICAgIG1hcmdpbi10b3A6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgIC5saXN0aW5nX19pdGVtIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgIC5saXN0aW5nX19pdGVtIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG5cbi5saXN0aW5nIDpub3QoLmxpc3RpbmdfX2Ryb3Bkb3duKSA+IHAge1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gIC5saXN0aW5nX19jZWxsLW51bWJlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5saXN0aW5nX19jZWxsLW51bWJlciB7XG4gICAgYmFja2dyb3VuZDogI2ZiZmJmZDtcbiAgICBjb2xvcjogIzM0MzEyQjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMC4yNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAubGlzdGluZ19fY2VsbC1udW1iZXIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxpc3RpbmdfX2NlbGwtbnVtYmVyIHtcbiAgICB3aWR0aDogNDBweDsgfSB9XG5cbi5saXN0aW5nX19jZWxsLWxvZ28ge1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgIC5saXN0aW5nX19jZWxsLWxvZ28ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmxpc3RpbmdfX2NlbGwtbG9nbyB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5saXN0aW5nX19jZWxsLWxvZ28ge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI0VDRUVGMTtcbiAgICAgIHdpZHRoOiBjYWxjKDIwJSAtIDhweCk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAubGlzdGluZ19fY2VsbC1ib251cyBwIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAubGlzdGluZ19fY2VsbC1ib251cyB7XG4gICAgd2lkdGg6IDI0JTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5saXN0aW5nX19jZWxsLWJvbnVzIHtcbiAgICB3aWR0aDogY2FsYygxNy41JSAtIDhweCk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAubGlzdGluZ19fY2VsbC1yZXZpZXcgcCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIC5saXN0aW5nX19jZWxsLXJldmlldyB7XG4gICAgd2lkdGg6IDE4JTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5saXN0aW5nX19jZWxsLXJldmlldyB7XG4gICAgd2lkdGg6IGNhbGMoMTUuNSUgLSA4cHgpOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIC5saXN0aW5nX19jZWxsLXByb3Mge1xuICAgIHdpZHRoOiAzMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGlzdGluZ19fY2VsbC1wcm9zIHtcbiAgICB3aWR0aDogY2FsYygyMyUgLSA4cHgpOyB9IH1cblxuLmxpc3RpbmdfX2NlbGwtY3RhIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICAubGlzdGluZ19fY2VsbC1jdGEge1xuICAgICAgd2lkdGg6IDI4JTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmxpc3RpbmdfX2NlbGwtY3RhIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI0JSAtIDhweCk7IH0gfVxuXG4ubGlzdGluZ19fY2VsbC10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgIC5saXN0aW5nX19jZWxsLXRpdGxlIHtcbiAgICAgIHdpZHRoOiA0MiU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5saXN0aW5nX19jZWxsLXRpdGxlIHtcbiAgICAgIHdpZHRoOiBjYWxjKDM1JSAtIDhweCk7IH0gfVxuXG4ubGlzdGluZ19fY2VsbC10ZXh0IHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICAubGlzdGluZ19fY2VsbC10ZXh0IHtcbiAgICAgIHdpZHRoOiA0NCU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5saXN0aW5nX19jZWxsLXRleHQge1xuICAgICAgd2lkdGg6IGNhbGMoMzclIC0gOHB4KTsgfSB9XG4gIC5saXN0aW5nX19jZWxsLXRleHQgPiBwIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgLmxpc3RpbmdfX2xvZ28tbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4ubGlzdGluZ19fdGl0bGUge1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogIzM5MzkzOTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB0cmFuc2l0aW9uOiAwLjI1cyBib3JkZXI7IH1cbiAgYTpob3ZlciAubGlzdGluZ19fdGl0bGUge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNjMzdmMmI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubGlzdGluZ19fdGl0bGUge1xuICAgICAgZGlzcGxheTogaW5saW5lOyB9XG4gICAgICAubGlzdGluZ19fdGl0bGUgKyAubGlzdGluZ19faW1hZ2Uge1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuXG4ubGlzdGluZ19faW1hZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LWhlaWdodDogNi4yNXJlbTtcbiAgbWF4LXdpZHRoOiAxMi41cmVtO1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAubGlzdGluZ19faW1hZ2Uge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAwLjMxMjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5saXN0aW5nX19pbWFnZSB7XG4gICAgICBwYWRkaW5nOiAwIDEuMjVyZW07IH0gfVxuXG4ubGlzdGluZ19fYm9udXMtdGV4dCBzdHJvbmcge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4xO1xuICBjb2xvcjogI2VlMDAxODtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbWFyZ2luLXRvcDogMC4xMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuMTI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmxpc3RpbmdfX2JvbnVzLXRleHQgc3Ryb25nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmxpc3RpbmdfX2JvbnVzLXRleHQgc3Ryb25nIHtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgLmxpc3RpbmdfX3JhdGUtbnVtYmVycyB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLmxpc3RpbmdfX2xpc3Qge1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIC5saXN0aW5nX19saXN0IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAgICAgLmxpc3RpbmdfX2xpc3QgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgLmxpc3RpbmdfX2xpc3QgbGk6OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDJweDtcbiAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzM5MzkzOTtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IC43ZW07XG4gICAgICAgICAgbGVmdDogMnB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubGlzdGluZ19fbGlzdCB7XG4gICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgLmxpc3RpbmdfX2xpc3QgbGkgKyBsaSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuMzc1cmVtOyB9IH1cblxuLmxpc3RpbmdfX2JvbnVzLWNvbnRhaW5lcjpmb2N1cy13aXRoaW4gLmxpc3RpbmdfX2Ryb3Bkb3duIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmxpc3RpbmdfX2xpbmsge1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAjNzI3MjcyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMC41cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbTsgfVxuICAubGlzdGluZ19fbGluazpob3ZlciwgLmxpc3RpbmdfX2xpbms6Zm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5saXN0aW5nX19saW5rOmhvdmVyICsgLmxpc3RpbmdfX2Ryb3Bkb3duLCAubGlzdGluZ19fbGluazpmb2N1cyArIC5saXN0aW5nX19kcm9wZG93biB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIC5saXN0aW5nX19saW5rIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cblxuLmxpc3RpbmdfX2xpbmstd3JhcHBlciB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmxpc3RpbmdfX2xpbmstd3JhcHBlciB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG4ubGlzdGluZ19fYnV0dG9uIHtcbiAgbWFyZ2luOiAwIDAgMC4zNzVyZW07XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWluLXdpZHRoOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgLmxpc3RpbmdfX2J1dHRvbiB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07IH0gfVxuXG4ubGlzdGluZ19fZHJvcGRvd24ge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxLjI1cmVtO1xuICBiYWNrZ3JvdW5kOiAjNDIzODJBO1xuICBib3JkZXI6IDFweCBzb2xpZCAjRTdDRDk4O1xuICBib3gtc2hhZG93OiAwcHggMXB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgd2lkdGg6IDE3LjA2MjVyZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogOTAwOyB9XG4gIC5saXN0aW5nX19kcm9wZG93biBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07IH1cbiAgLmxpc3RpbmdfX2Ryb3Bkb3duOmhvdmVyLCAubGlzdGluZ19fZHJvcGRvd246Zm9jdXMge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5saXN0aW5nX19kcm9wZG93biBhOm5vdCguYnV0dG9uKSB7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAubGlzdGluZ19fZHJvcGRvd24gYTpub3QoLmJ1dHRvbik6aG92ZXIsIC5saXN0aW5nX19kcm9wZG93biBhOm5vdCguYnV0dG9uKTpmb2N1cyB7XG4gICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAubGlzdGluZ19fZHJvcGRvd24gLmJ1dHRvbjpob3ZlciwgLmxpc3RpbmdfX2Ryb3Bkb3duIC5idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU0LCAyNTQsIDI1NCwgMC4yKTsgfVxuXG4ubGlzdGluZ19fZHJvcGRvd24tdGl0bGUge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogMS4xOyB9XG5cbi5saXN0aW5nX19kcm9wZG93bi1idXR0b24ge1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi5saXN0aW5nIC5sb2FkLW1vcmUge1xuICBjb2xvcjogI2VlMDAxODtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgbGluZS1oZWlnaHQ6IDQ7IH1cblxuLnNpZGUtbmF2aWdhdG9yIHtcbiAgYmFja2dyb3VuZDogI2ZkZmRmZDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2UwZTBlMDtcbiAgYm94LXNoYWRvdzogMHB4IDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMS41NjI1cmVtIDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNpZGUtbmF2aWdhdG9yIHtcbiAgICAgIHBhZGRpbmc6IDEuODc1cmVtIDIuNXJlbSAxLjI1cmVtOyB9IH1cbiAgLnNpZGUtbmF2aWdhdG9yX19oZWFkaW5nIHtcbiAgICBjb2xvcjogIzUzNTM1MztcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjQzNzVyZW07IH1cbiAgLnNpZGUtbmF2aWdhdG9yX19saXN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gICAgLnNpZGUtbmF2aWdhdG9yX19saXN0IGxpLmN1cnJlbnQtY2F0IGEge1xuICAgICAgY29sb3I6ICMwYTBhMGE7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvc2lkZS1uYXYtY29pbi5zdmdcIikgbm8tcmVwZWF0IDEwMCUgNTAlOyB9XG4gICAgLnNpZGUtbmF2aWdhdG9yX19saXN0IGxpICsgbGkge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNFMUU1RUE7IH1cbiAgICAuc2lkZS1uYXZpZ2F0b3JfX2xpc3QgYSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogMC42MjVyZW0gMDtcbiAgICAgIGNvbG9yOiAjNzI3MjcyOyB9XG4gIC5zaWRlLW5hdmlnYXRvcl9faXRlbSArIC5zaWRlLW5hdmlnYXRvcl9faXRlbSB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNFMUU1RUE7IH1cbiAgLnNpZGUtbmF2aWdhdG9yX19saW5rIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjYyNXJlbSAwOyB9XG4gICAgLnNpZGUtbmF2aWdhdG9yX19saW5rOmhvdmVyLCAuc2lkZS1uYXZpZ2F0b3JfX2xpbms6Zm9jdXMge1xuICAgICAgY29sb3I6ICNjMzdmMmI7IH1cbiAgICAuc2lkZS1uYXZpZ2F0b3JfX2xpbmsuaXMtYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL3NpZGUtbmF2LWNvaW4uc3ZnXCIpIG5vLXJlcGVhdCAxMDAlIDUwJTsgfVxuXG4uY29udGVudCA+ICo6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbi5jb250ZW50LS1oZWFkaW5nLWNvbG9yIGgxLFxuLmNvbnRlbnQtLWhlYWRpbmctY29sb3IgaDIsXG4uY29udGVudC0taGVhZGluZy1jb2xvciBoMyxcbi5jb250ZW50LS1oZWFkaW5nLWNvbG9yIGg0LFxuLmNvbnRlbnQtLWhlYWRpbmctY29sb3IgaDUsXG4uY29udGVudC0taGVhZGluZy1jb2xvciBoNiB7XG4gIGNvbG9yOiAjMkQyRDJEOyB9XG5cbi5jb250ZW50LS1jb2luID4gaDIsXG4uY29udGVudC0tY29pbiA+IGgzLFxuLmNvbnRlbnQtLWNvaW4gPiBoNCB7XG4gIHBhZGRpbmctbGVmdDogMzVweDtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL21hc3Rlci1jb250ZW50LWNvaW4uc3ZnXCIpIG5vLXJlcGVhdCAwIDFweDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuY29udGVudC0tbGFyZ2UgPiBwLFxuICAuY29udGVudC0tbGFyZ2UgPiB1bCxcbiAgLmNvbnRlbnQtLWxhcmdlID4gb2wsXG4gIC5jb250ZW50LS1sYXJnZSA+IGRsLFxuICAuY29udGVudC0tbGFyZ2UgLnByb3MtY29ucyxcbiAgLmNvbnRlbnQtLWxhcmdlIC53cC1ibG9jay1jb2x1bW4gPiBwLFxuICAuY29udGVudC0tbGFyZ2UgLndwLWJsb2NrLWNvbHVtbiA+IHVsLFxuICAuY29udGVudC0tbGFyZ2UgLndwLWJsb2NrLWNvbHVtbiA+IG9sLFxuICAuY29udGVudC0tbGFyZ2UgLndwLWJsb2NrLWNvbHVtbiA+IGRsLFxuICAuY29udGVudC0tbGFyZ2UgLndwLWJsb2NrLWNvbHVtbiAucHJvcy1jb25zIHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9IH1cblxuLmNvbnRlbnQtLWxhcmdlID4gaDIsXG4uY29udGVudC0tbGFyZ2UgPiBoMyxcbi5jb250ZW50LS1sYXJnZSA+IGg0LFxuLmNvbnRlbnQtLWxhcmdlIC53cC1ibG9jay1jb2x1bW4gPiBoMixcbi5jb250ZW50LS1sYXJnZSAud3AtYmxvY2stY29sdW1uID4gaDMsXG4uY29udGVudC0tbGFyZ2UgLndwLWJsb2NrLWNvbHVtbiA+IGg0IHtcbiAgbWFyZ2luLXRvcDogMS44NzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY29udGVudC0tbGFyZ2UgPiBoMixcbiAgICAuY29udGVudC0tbGFyZ2UgPiBoMyxcbiAgICAuY29udGVudC0tbGFyZ2UgPiBoNCxcbiAgICAuY29udGVudC0tbGFyZ2UgLndwLWJsb2NrLWNvbHVtbiA+IGgyLFxuICAgIC5jb250ZW50LS1sYXJnZSAud3AtYmxvY2stY29sdW1uID4gaDMsXG4gICAgLmNvbnRlbnQtLWxhcmdlIC53cC1ibG9jay1jb2x1bW4gPiBoNCB7XG4gICAgICBtYXJnaW4tdG9wOiAyLjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9IH1cblxuLmNvbnRlbnQtLXJlbW92ZS1sYXN0LW1hcmdpbiA+ICo6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNvbnRlbnQtLXVuZGVybGluZS1saW5rcyBhOm5vdCguYnV0dG9uKTpub3QoLmFjY29yZGlvbi10aXRsZSk6bm90KC5wYWdpbmF0aW9uX19saW5rKTpub3QoLmZlYXR1cmVkLWdhbWVfX2ltYWdlLWxpbmspOm5vdCgubGlzdC12aWV3LWl0ZW1fX2ltYWdlLWxpbmspIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIHRyYW5zaXRpb246IDAuMjVzIGJvcmRlciwgMC4yNXMgY29sb3I7IH1cbiAgLmNvbnRlbnQtLXVuZGVybGluZS1saW5rcyBhOm5vdCguYnV0dG9uKTpub3QoLmFjY29yZGlvbi10aXRsZSk6bm90KC5wYWdpbmF0aW9uX19saW5rKTpub3QoLmZlYXR1cmVkLWdhbWVfX2ltYWdlLWxpbmspOm5vdCgubGlzdC12aWV3LWl0ZW1fX2ltYWdlLWxpbmspOmhvdmVyLCAuY29udGVudC0tdW5kZXJsaW5lLWxpbmtzIGE6bm90KC5idXR0b24pOm5vdCguYWNjb3JkaW9uLXRpdGxlKTpub3QoLnBhZ2luYXRpb25fX2xpbmspOm5vdCguZmVhdHVyZWQtZ2FtZV9faW1hZ2UtbGluayk6bm90KC5saXN0LXZpZXctaXRlbV9faW1hZ2UtbGluayk6Zm9jdXMge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNjMzdmMmI7IH1cblxuLkNvbnRhY3QtLXBhZGRlZCB7XG4gIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgcGFkZGluZy1yaWdodDogMnJlbTsgfVxuXG4uYmxvZy1saXN0aW5nX190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGNvbG9yOiAjMkQyRDJEO1xuICB0cmFuc2l0aW9uOiAwLjI1cyBib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgZGlzcGxheTogaW5saW5lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmJsb2ctbGlzdGluZ19fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYmxvZy1saXN0aW5nX190aXRsZSB7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIGJvcmRlci13aWR0aDogMnB4OyB9IH1cblxuLmJsb2ctbGlzdGluZ19fZGF0ZSB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGNvbG9yOiAjMzkzOTM5O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMC4xODc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmJsb2ctbGlzdGluZ19fZGF0ZSB7XG4gICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ibG9nLWxpc3RpbmdfX2RhdGUge1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IDAuNjI1cmVtOyB9IH1cblxuYS5ibG9nLWxpc3Rpbmcge1xuICBib3JkZXItYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAwLjg3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIGEuYmxvZy1saXN0aW5nIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICBhLmJsb2ctbGlzdGluZyB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMS44NzVyZW07IH0gfVxuICBhLmJsb2ctbGlzdGluZzpob3ZlciAuYmxvZy1saXN0aW5nX190aXRsZSwgYS5ibG9nLWxpc3Rpbmc6Zm9jdXMgLmJsb2ctbGlzdGluZ19fdGl0bGUge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNjMzdmMmI7IH1cbiAgYS5ibG9nLWxpc3RpbmcgKyBhLmJsb2ctbGlzdGluZyB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNFMUU1RUE7XG4gICAgcGFkZGluZy10b3A6IDAuODc1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIGEuYmxvZy1saXN0aW5nICsgYS5ibG9nLWxpc3Rpbmcge1xuICAgICAgICBwYWRkaW5nLXRvcDogMS4yNXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIGEuYmxvZy1saXN0aW5nICsgYS5ibG9nLWxpc3Rpbmcge1xuICAgICAgICBwYWRkaW5nLXRvcDogMS44NzVyZW07IH0gfVxuXG4ud3AtYmxvY2stdGFibGUge1xuICBiYWNrZ3JvdW5kOiAjZmRmZGZkO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTBlMGUwO1xuICBib3gtc2hhZG93OiAwcHggMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgcGFkZGluZzogMS4yNXJlbSAxLjU2MjVyZW0gMC42MjVyZW07XG4gIG1hcmdpbjogMS44NzVyZW0gMDtcbiAgcGFkZGluZy10b3A6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC42MjVyZW07XG4gIGJhY2tncm91bmQ6ICNGREZERkQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNGRkZGRkY7XG4gIGJveC1zaGFkb3c6IDBweCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgYm9yZGVyLXJhZGl1czogNHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLndwLWJsb2NrLXRhYmxlIHtcbiAgICAgIHBhZGRpbmc6IDEuODc1cmVtIDIuNXJlbSAxLjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAud3AtYmxvY2stdGFibGUge1xuICAgICAgcGFkZGluZy10b3A6IDAuODc1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuODc1cmVtOyB9IH1cbiAgLndwLWJsb2NrLXRhYmxlIHRhYmxlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAud3AtYmxvY2stdGFibGUgdGFibGUge1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9IH1cbiAgLndwLWJsb2NrLXRhYmxlIHRoZWFkIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRTFFNUVBOyB9XG4gIC53cC1ibG9jay10YWJsZSB0ciArIHRyIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI0UxRTVFQTsgfVxuICAud3AtYmxvY2stdGFibGUgdHIgPiB0ZDpmaXJzdC1jaGlsZCxcbiAgLndwLWJsb2NrLXRhYmxlIHRyID4gdGg6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAud3AtYmxvY2stdGFibGUgdHIgPiB0ZDpsYXN0LWNoaWxkLFxuICAud3AtYmxvY2stdGFibGUgdHIgPiB0aDpsYXN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cbi5maWx0ZXJpbmcge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxldHRlci1zcGFjaW5nOiAxLjU3NXB4O1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgLmZpbHRlcmluZyB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIC5maWx0ZXJpbmdfX2l0ZW0ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZpbHRlcmluZ19faXRlbSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIuNXJlbTsgfSB9XG4gIC5maWx0ZXJpbmdfX2xpbmsge1xuICAgIGNvbG9yOiAjMzkzOTM5O1xuICAgIHBhZGRpbmc6IDAuMjVyZW0gMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAuZmlsdGVyaW5nX19saW5rLS1hY3RpdmUge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiAjNEI0QjRCO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMTI1cmVtOyB9XG5cbi5maWx0ZXJzLWdhbWVzIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsZXR0ZXItc3BhY2luZzogMS41NzVweDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICAuZmlsdGVycy1nYW1lc19faXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgIC5maWx0ZXJzLWdhbWVzX19pdGVtIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZpbHRlcnMtZ2FtZXNfX2l0ZW0ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIuNXJlbTsgfSB9XG4gICAgLmZpbHRlcnMtZ2FtZXNfX2l0ZW0uY3VycmVudC1tZW51LWl0ZW0gYSB7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgY29sb3I6ICM0QjRCNEI7XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgY3VycmVudENvbG9yO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4xMjVyZW07IH1cbiAgLmZpbHRlcnMtZ2FtZXNfX2xpbmsge1xuICAgIGNvbG9yOiAjMzkzOTM5O1xuICAgIHBhZGRpbmc6IDAuMjVyZW0gMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAuZmlsdGVycy1nYW1lc19fbGluay0tYWN0aXZlIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBjb2xvcjogIzRCNEI0QjtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjEyNXJlbTsgfVxuXG4uZmlsdGVycy1jYXNpbm9zIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsZXR0ZXItc3BhY2luZzogMS41NzVweDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICAuZmlsdGVycy1jYXNpbm9zX19pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgLmZpbHRlcnMtY2FzaW5vc19faXRlbSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5maWx0ZXJzLWNhc2lub3NfX2l0ZW0ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIuNXJlbTsgfSB9XG4gICAgLmZpbHRlcnMtY2FzaW5vc19faXRlbS5jdXJyZW50LW1lbnUtaXRlbSBhIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBjb2xvcjogIzRCNEI0QjtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjEyNXJlbTsgfVxuICAuZmlsdGVycy1jYXNpbm9zX19saW5rIHtcbiAgICBjb2xvcjogIzM5MzkzOTtcbiAgICBwYWRkaW5nOiAwLjI1cmVtIDA7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgLmZpbHRlcnMtY2FzaW5vc19fbGluay0tYWN0aXZlIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBjb2xvcjogIzRCNEI0QjtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjEyNXJlbTsgfVxuXG4ubGlzdGluZy1yYXRpbmdfX3N0YXItd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4ubGlzdGluZy1yYXRpbmdfX3N0YXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9yYXRlLWluYWN0aXZlLnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiAyMHB4IDIwcHg7XG4gIG1hcmdpbi1yaWdodDogNHB4OyB9XG5cbi5saXN0aW5nLXJhdGluZ19fYWN0aXZlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMTtcbiAgaGVpZ2h0OiAyMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9yYXRlLWFjdGl2ZS5zdmdcIik7IH1cblxuLmxpc3RpbmctcmF0aW5nX19zY29yZXMge1xuICBtYXJnaW4tdG9wOiA1cHg7IH1cblxuLmZpbHRlcnMtZHJvcGRvd24ge1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5maWx0ZXJzLWRyb3Bkb3duX19zZWxlY3Qge1xuICAgIHdpZHRoOiBjYWxjKCAxMDAlIC0gMTIwcHgpO1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cbiAgLmZpbHRlcnMtZHJvcGRvd25fX2J1dHRvbiB7XG4gICAgd2lkdGg6IDEwMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDVweDsgfVxuXG4uYnJvd3NlcnVwZ3JhZGUge1xuICBiYWNrZ3JvdW5kOiAjY2M0YjM3O1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgcGFkZGluZzogMC40ZW0gMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5icm93c2VydXBncmFkZSBhIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG5cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuIiwiLyohXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBBV0VTRU0gc3RhcnRlciB0aGVtZSBDU1Mgb3V0cHV0IGZpbGVcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLSBDQVVUSU9OIC0tLS0tLS0tLS0tLS0tLS0tXG4gKiBUaGlzIGZpbGUgaXMgY29tcGlsZWQgZnJvbSB0aGUgLnNjc3Mgc291cmNlXG4gKiBET04nVCBNQUtFIEFOWSBNQU5VQUwgQ0hBTkdFUyBUTyBUSEFUIEZJTEUhXG4gKiBUaGV5IGNhbiBiZSBvdmVyd3JpdHRlbiBhbmQgbG9zdCBmb3JldmVyXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKlxuICovXG4iLCIvLyAgRm91bmRhdGlvbiBmb3IgU2l0ZXMgU2V0dGluZ3MgKGJhc2VkIG9uIEZvdW5kYXRpb24gdjYuNC4zIGZpbGUpXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyAgVGFibGUgb2YgQ29udGVudHM6XG4vL1xuLy8gICAxLiBHbG9iYWxcbi8vICAgMi4gQnJlYWtwb2ludHNcbi8vICAgMy4gVGhlIEdyaWRcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAgIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gICA2LiBBYmlkZVxuLy8gICA3LiBBY2NvcmRpb25cbi8vICAgOC4gQWNjb3JkaW9uIE1lbnVcbi8vICAgOS4gQmFkZ2Vcbi8vICAxMC4gQnJlYWRjcnVtYnNcbi8vICAxMS4gQnV0dG9uXG4vLyAgMTIuIEJ1dHRvbiBHcm91cFxuLy8gIDEzLiBDYWxsb3V0XG4vLyAgMTQuIENhcmRcbi8vICAxNS4gQ2xvc2UgQnV0dG9uXG4vLyAgMTYuIERyaWxsZG93blxuLy8gIDE3LiBEcm9wZG93blxuLy8gIDE4LiBEcm9wZG93biBNZW51XG4vLyAgMTkuIEZsZXhib3ggVXRpbGl0aWVzXG4vLyAgMjAuIEZvcm1zXG4vLyAgMjEuIExhYmVsXG4vLyAgMjIuIE1lZGlhIE9iamVjdFxuLy8gIDIzLiBNZW51XG4vLyAgMjQuIE1ldGVyXG4vLyAgMjUuIE9mZi1jYW52YXNcbi8vICAyNi4gT3JiaXRcbi8vICAyNy4gUGFnaW5hdGlvblxuLy8gIDI4LiBQcm9ncmVzcyBCYXJcbi8vICAyOS4gUHJvdG90eXBlIEFycm93XG4vLyAgMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAgMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcbi8vICAzMy4gUHJvdG90eXBlIERpc3BsYXlcbi8vICAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xuLy8gIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXG4vLyAgMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xuLy8gIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vICAzOC4gUHJvdG90eXBlIFJvdW5kZWRcbi8vICAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxuLy8gIDQwLiBQcm90b3R5cGUgU2hhZG93XG4vLyAgNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vICA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcbi8vICA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxuLy8gIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxuLy8gIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcbi8vICA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gIDQ3LiBSZXZlYWxcbi8vICA0OC4gU2xpZGVyXG4vLyAgNDkuIFN3aXRjaFxuLy8gIDUwLiBUYWJsZVxuLy8gIDUxLiBUYWJzXG4vLyAgNTIuIFRodW1ibmFpbFxuLy8gIDUzLiBUaXRsZSBCYXJcbi8vICA1NC4gVG9vbHRpcFxuLy8gIDU1LiBUb3AgQmFyXG4vLyAgNTYuIFh5IEdyaWRcblxuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8gMC4gVGhlbWUgU2V0dGluZ3Ncbi8vIC0tLS0tLS0tLVxuJGltZy1kaXI6IFwiLi4vaW1nXCI7XG4kdHJhbnNpdGlvbi1kdXJhdGlvbjogLjI1cztcbiRhbmNob3ItdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tZHVyYXRpb24gY29sb3I7XG4kZ29sZDogI2MzN2YyYjtcblxuLy8gMS4gR2xvYmFsXG4vLyAtLS0tLS0tLS1cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCU7XG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMzAwKTtcbiRnbG9iYWwtbGluZWhlaWdodDogMS41O1xuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxucHJpbWFyeTogI2VlMDAxOCxcbnNlY29uZGFyeTogIzRCNEI0QixcbnN1Y2Nlc3M6ICM3YmM4NGEsXG53YXJuaW5nOiAjZmZhZTAwLFxuYWxlcnQ6ICNjYzRiMzcsXG4pO1xuJGxpZ2h0LWdyYXk6ICNmNGY0ZjQ7XG4kbWVkaXVtLWdyYXk6ICNjYWNhY2E7XG4kZGFyay1ncmF5OiAjOGE4YThhO1xuJGJsYWNrOiAjMGEwYTBhO1xuJHdoaXRlOiAjZmVmZWZlO1xuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlO1xuJGJvZHktZm9udC1jb2xvcjogIzM5MzkzOTtcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogMzAwO1xuJGdsb2JhbC13ZWlnaHQtYm9sZDogNzAwO1xuJGdsb2JhbC1zZXBhcmF0b3I6ICNlY2VjZWM7XG5cbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcbiRwcmludC1ocmVmczogdHJ1ZTtcblxuLyogVGhlbWUgdmFyaWFibGVzICovXG4kYnJlYWRjcnVtYnMtYW5jaG9yLWhvdmVyOiAkcHJpbWFyeS1jb2xvcjtcbiRicmVhZGNydW1icy1hbmNob3I6IGluaGVyaXQ7XG4kYnJlYWRjcnVtYnMtdGV4dDogcmdiYSgkYmxhY2ssIC40KTtcblxuJGNvb2tpZS1tZXNzYWdlLWJnOiAjZWVlO1xuJGNvb2tpZS1tZXNzYWdlLXRleHQ6ICMzMzM7XG4kY29va2llLW1lc3NhZ2UtYW5jaG9yLWhvdmVyLXVuZGVybGluZTogZmFsc2U7XG4kY29va2llLW1lc3NhZ2UtYW5jaG9yLWhvdmVyOiAkZ29sZDtcbiRjb29raWUtbWVzc2FnZS1hbmNob3ItdW5kZXJsaW5lOiBmYWxzZTtcbiRjb29raWUtbWVzc2FnZS1hbmNob3I6IGluaGVyaXQ7XG4kY29va2llLW1lc3NhZ2UtY2xvc2UtYnRuLWRlc2t0b3AtY3Jvc3M6ICRjb29raWUtbWVzc2FnZS10ZXh0O1xuJGNvb2tpZS1tZXNzYWdlLWNsb3NlLWJ0bi1tb2JpbGUtYmc6ICRjb29raWUtbWVzc2FnZS10ZXh0O1xuJGNvb2tpZS1tZXNzYWdlLWNsb3NlLWJ0bi1tb2JpbGUtY3Jvc3M6ICR3aGl0ZTtcblxuJGVycm9yLTQwNC1iZzogIzI0MjQyNDtcbiRlcnJvci00MDQtdGV4dDogJHdoaXRlO1xuXG4kZmlsdGVycy1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yO1xuJGZpbHRlcnMtaW5hY3RpdmU6ICRtZWRpdW0tZ3JheTtcbiRmaWx0ZXJzLWluYWN0aXZlLWJvcmRlcjogJG1lZGl1bS1ncmF5O1xuXG4kZm9vdGVyLWJnOiAjMzYzNjM2O1xuJGZvb3Rlci10ZXh0OiAkd2hpdGU7XG4kZm9vdGVyLWFuY2hvci1ob3ZlcjogJHdoaXRlO1xuJGZvb3Rlci1hbmNob3ItaG92ZXItdW5kZXJsaW5lOiBmYWxzZTtcbiRmb290ZXItYW5jaG9yOiAkd2hpdGU7XG4kZm9vdGVyLXBhZGRpbmc6IHJlbS1jYWxjKDUwIDApO1xuJGZvb3Rlci1wYWRkaW5nLWxhcmdlOiByZW0tY2FsYyg4MCAwKTtcbiRmb290ZXItd2lkZ2V0LXRpdGxlOiAkZm9vdGVyLXRleHQ7XG5cbiRncmF2aXR5LWZvcm1zLWxhYmVsLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRncmF2aXR5LWZvcm1zLWNvbmZpcm1hdGlvbi13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kZ3Jhdml0eS1mb3Jtcy1jb25maXJtYXRpb24tYmctLWVycm9yOiByZ2JhKCRhbGVydC1jb2xvciwgLjI1KTtcbiRncmF2aXR5LWZvcm1zLWNvbmZpcm1hdGlvbi10ZXh0LS1lcnJvcjogJGFsZXJ0LWNvbG9yO1xuJGdyYXZpdHktZm9ybXMtY29uZmlybWF0aW9uLWJnLS1zdWNjZXNzOiByZ2JhKCRzdWNjZXNzLWNvbG9yLCAuMjUpO1xuJGdyYXZpdHktZm9ybXMtY29uZmlybWF0aW9uLXRleHQtLXN1Y2Nlc3M6ICRzdWNjZXNzLWNvbG9yO1xuJGdyYXZpdHktZm9ybXMtdmFsaWRhdGlvbi1tZXNzYWdlLXRleHQ6ICRhbGVydC1jb2xvcjtcbiRncmF2aXR5LWZvcm1zLXZhbGlkYXRpb24tbWVzc2FnZS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbiRoZWFkZXItbWFpbi1wYWRkaW5nOiByZW0tY2FsYygxMCAwKTtcbiRoZWFkZXItbWFpbi1wYWRkaW5nLW1lZGl1bS11cDogcmVtLWNhbGMoMjUgMCk7XG4kaGVhZGVyLW1haW4tcGFkZGluZy1sYXJnZS11cDogcmVtLWNhbGMoMzUgMCk7XG4kaGVhZGVyLW1haW4tYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWU7XG5cbiRoZXJvLW92ZXJsYXktYmc6IHJnYmEoJGJsYWNrLCAuNSk7XG5cbiRtYWluLW5hdi1kZXNrdG9wLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuJG1haW4tbmF2LWRlc2t0b3AtbGluay1wYWRkaW5nLXNpZGU6IHJlbS1jYWxjKDE2KTtcbiRtYWluLW5hdi1kZXNrdG9wLWxpbmstcGFkZGluZy1zaWRlLXhsYXJnZS11cDogcmVtLWNhbGMoMjUpO1xuJG1haW4tbmF2LWRlc2t0b3AtbGluay1wYWRkaW5nLXNpZGUteHhsYXJnZS11cDogcmVtLWNhbGMoMzIpO1xuJG1haW4tbmF2LWRlc2t0b3AtbGluazogJHdoaXRlO1xuJG1haW4tbmF2LWRlc2t0b3AtbGluay1ob3ZlcjogJHdoaXRlO1xuJG1haW4tbmF2LWRlc2t0b3AtZHJvcGRvd24tYXJyb3c6IGN1cnJlbnRDb2xvcjtcbiRtYWluLW5hdi1kZXNrdG9wLWRyb3Bkb3duLWxpbms6ICR3aGl0ZTtcbiRtYWluLW5hdi1kZXNrdG9wLWRyb3Bkb3duLWxpbmstaG92ZXI6ICRtYWluLW5hdi1kZXNrdG9wLWxpbmstaG92ZXI7XG4kbWFpbi1uYXYtZGVza3RvcC1kcm9wZG93bi1iZzogIzMzMztcbiRtYWluLW5hdi1kZXNrdG9wLWRyb3Bkb3duLXNlcGFyYXRvcjogIzVjNWM1YztcbiRtYWluLW5hdi1kZXNrdG9wLWRyb3Bkb3duLXdpZHRoOiAzODBweDtcbiRtYWluLW5hdi1kZXNrdG9wLWRyb3Bkb3duLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuXG4kbWFpbi1uYXYtbW9iaWxlLWJnOiAjZWVlO1xuJG1haW4tbmF2LW1vYmlsZS1saW5rOiAkYmxhY2s7XG4kbWFpbi1uYXYtbW9iaWxlLWxpbmstaG92ZXI6ICRwcmltYXJ5LWNvbG9yO1xuJG1haW4tbmF2LW1vYmlsZS1vdmVybGF5LWJnOiByZ2JhKDAsMCwwLC44KTtcbiRtYWluLW5hdi1tb2JpbGUtc3VibWVudS1iZzogcmdiYSgkYmxhY2ssIC4xKTtcbiRtYWluLW5hdi1tb2JpbGUtc3VibWVudS10b2dnbGUtYmc6IHRyYW5zcGFyZW50O1xuJG1haW4tbmF2LW1vYmlsZS1zdWJtZW51LXRvZ2dsZS1hcnJvdzogJGJsYWNrO1xuJG1haW4tbmF2LW1vYmlsZS1zdWJtZW51LXRvZ2dsZS1ob3Zlci1iZzogdHJhbnNwYXJlbnQ7XG4kbWFpbi1uYXYtbW9iaWxlLXN1Ym1lbnUtdG9nZ2xlLWhvdmVyLWFycm93OiAkcHJpbWFyeS1jb2xvcjtcblxuJHBhZ2luYXRpb24tYWN0aXZlLWJnOiAjNEY0RjRGO1xuJHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlcjogJHBhZ2luYXRpb24tYWN0aXZlLWJnO1xuJHBhZ2luYXRpb24tYWN0aXZlLXRleHQ6ICR3aGl0ZTtcbiRwYWdpbmF0aW9uLWJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDIpO1xuJHBhZ2luYXRpb24taW5hY3RpdmUtYmc6ICR3aGl0ZTtcbiRwYWdpbmF0aW9uLWluYWN0aXZlLWJvcmRlcjogI0M0QzRDNDtcbiRwYWdpbmF0aW9uLWluYWN0aXZlLXRleHQ6ICRibGFjaztcbiRwYWdpbmF0aW9uLXRvcC1zZXBhcmF0b3I6ICRnbG9iYWwtc2VwYXJhdG9yO1xuJHBvc3QtY29udGVudC1oYXMtbGluZTogdHJ1ZTtcbiRwb3N0LWNvbnRlbnQtbGluZTogI0RGREZERiA7XG5cbiRyZWxhdGVkLXBvc3RzLWJvcmRlci10b3A6IDFweCBzb2xpZCAkZ2xvYmFsLXNlcGFyYXRvcjtcblxuJHNlYXJjaC1mb3JtLWhlaWdodDogcmVtLWNhbGMoNDApO1xuJHNlYXJjaC1mb3JtLWJ1dHRvbi13aWR0aDogcmVtLWNhbGMoNDUpO1xuJHNlYXJjaC1mb3JtLWljb24tY29sb3I6ICR3aGl0ZTtcbiRzZWFyY2gtZm9ybS1idXR0b24tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHNlYXJjaC1mb3JtLWJ1dHRvbi1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJHByaW1hcnktY29sb3IsICRsaWdodG5lc3M6IDklKTtcbiRzZWFyY2gtZm9ybS1pbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuXG4kc2VhcmNoLXJlc3VsdC1pdGVtLXNlcGFyYXRvcjogJGdsb2JhbC1zZXBhcmF0b3I7XG5cbiRzbGljay1ob21lcGFnZS1oYXMtYm94ZWQtY29udGVudDogdHJ1ZTtcbiRzbGljay1ob21lcGFnZS1ib3gtY29sb3I6ICR3aGl0ZTtcbiRzbGljay1ob21lcGFnZS10ZXh0LWNvbG9yOiAkYmxhY2s7XG4kc2xpY2staG9tZXBhZ2Utc2xpZGUtYmFja2dyb3VuZDogJGRhcmstZ3JheTtcblxuJHNsaWNrLXRoZW1lLWRvdC1jb2xvci1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yO1xuJHNsaWNrLXRoZW1lLWRvdC1jb2xvcjogIzMzMztcbiRzbGljay10aGVtZS1kb3Qtc2l6ZTogMTFweDtcbiRzbGljay10aGVtZS1vcGFjaXR5LWRlZmF1bHQ6IDAuNTtcbiRzbGljay10aGVtZS1vcGFjaXR5LW5vdC1hY3RpdmU6IDAuMjtcbiRzbGljay10aGVtZS1vcGFjaXR5LW9uLWhvdmVyOiAxO1xuJHNsaWNrLXRoZW1lLXRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xuXG4kdGlsZS1leGNlcnB0OiByZ2JhKCRibGFjaywgLjcpO1xuJHRpbGUtaW50cm86ICRibGFjaztcbiR0aWxlLWxhYmVsLWJnOiAjNWI1YjViO1xuJHRpbGUtbGFiZWw6ICR3aGl0ZTtcbiR0aWxlLWxpbmstYXJyb3c6ICM5NDk0OTQ7XG4kdGlsZS1saW5rOiAkYmxhY2s7XG4kdGlsZS1tZXRhOiByZ2JhKCRibGFjaywgLjQpO1xuJHRpbGUtdGl0bGUtaG92ZXI6ICRwcmltYXJ5LWNvbG9yO1xuJHRpbGUtdGl0bGUtb3BhY2l0eS1ob3ZlcjogLjk7XG4kdGlsZS10aXRsZTogJGJsYWNrO1xuXG4kdG9wLWJhci1hbmNob3ItaG92ZXI6ICRzZWNvbmRhcnktY29sb3I7XG4kdG9wLWJhci1hbmNob3I6IGluaGVyaXQ7XG4kdG9wLWJhci1iZzogIzQ4NEE0RDtcbiR0b3AtYmFyOiAkd2hpdGU7XG4kdG9wLWJhci1oZWlnaHQ6IDQwcHg7XG5cblxuLyogR2xvYmFsIHNldHRpbmdzICovXG4kYm9keS1mb250LWZhbWlseTogJ011bGlzaCcsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZTtcbiRnbG9iYWwtbWFyZ2luOiAxcmVtO1xuJGdsb2JhbC1wYWRkaW5nOiAxcmVtO1xuJGdsb2JhbC1wb3NpdGlvbjogMXJlbTtcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogMzAwO1xuJGdsb2JhbC13ZWlnaHQtYm9sZDogNzAwO1xuJGdsb2JhbC1yYWRpdXM6IDJweDtcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtO1xuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyO1xuJGdsb2JhbC1mbGV4Ym94OiB0cnVlO1xuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlO1xuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBhdXRvO1xuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMDtcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZTtcblxuLy8gQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG4vLyAyLiBCcmVha3BvaW50c1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFrcG9pbnRzOiAoXG5zbWFsbDogMCxcbm1lZGl1bTogNjQwcHgsXG5sYXJnZTogMTAyNHB4LFxueGxhcmdlOiAxMjAwcHgsXG54eGxhcmdlOiAxNDQwcHgsXG4pO1xuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlO1xuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSk7XG5cbi8vIDMuIFRoZSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4kZ3JpZC1yb3ctd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kZ3JpZC1jb2x1bW4tY291bnQ6IDEyO1xuJGdyaWQtY29sdW1uLWd1dHRlcjogKFxuc21hbGw6IDIwcHgsXG5tZWRpdW06IDMwcHgsXG4pO1xuJGdyaWQtY29sdW1uLWFsaWduLWVkZ2U6IHRydWU7XG4kZ3JpZC1jb2x1bW4tYWxpYXM6ICdjb2x1bW5zJztcbiRibG9jay1ncmlkLW1heDogODtcblxuLy8gNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cblxuJGhlYWRlci1mb250LWZhbWlseTogJ05ld3NyZWFkZXInLCBzZXJpZjtcbiRoZWFkZXItZm9udC13ZWlnaHQ6IDMwMDtcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsO1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0O1xuJGhlYWRlci1saW5laGVpZ2h0OiAxLjI1O1xuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kaGVhZGVyLXN0eWxlczogKFxuc21hbGw6IChcbidoMSc6ICgnZm9udC1zaXplJzogMjIpLFxuJ2gyJzogKCdmb250LXNpemUnOiAyMCksXG4naDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcbidoNCc6ICgnZm9udC1zaXplJzogMTgpLFxuJ2g1JzogKCdmb250LXNpemUnOiAxNyksXG4naDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiksXG5tZWRpdW06IChcbidoMSc6ICgnZm9udC1zaXplJzogMzIpLFxuJ2gyJzogKCdmb250LXNpemUnOiAyNCksXG4naDMnOiAoJ2ZvbnQtc2l6ZSc6IDIyKSxcbidoNCc6ICgnZm9udC1zaXplJzogMjApLFxuJ2g1JzogKCdmb250LXNpemUnOiAxOSksXG4naDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiksXG4pO1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJHNtYWxsLWZvbnQtc2l6ZTogODAlO1xuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNjtcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRjb2RlLWNvbG9yOiAkYmxhY2s7XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKTtcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFuY2hvci1jb2xvci1ob3ZlcjogJGdvbGQ7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lO1xuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvO1xuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KTtcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnO1xuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrO1xuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApO1xuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjaztcblxuLy8gNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjU7XG4kbGVhZC1saW5laGVpZ2h0OiAxLjY7XG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXk7XG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbTtcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJHN0YXQtZm9udC1zaXplOiAyLjVyZW07XG5cbi8vIDYuIEFiaWRlXG4vLyAtLS0tLS0tLVxuXG4kYWJpZGUtaW5wdXRzOiB0cnVlO1xuJGFiaWRlLWxhYmVsczogdHJ1ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyA3LiBBY2NvcmRpb25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICNGREZERkQ7XG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZTtcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogI0ZERkRGRDtcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDA7XG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogI0ZERkRGRDtcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDA7XG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMCAwIHJlbS1jYWxjKDE2KTtcblxuLy8gOC4gQWNjb3JkaW9uIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmc7XG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWU7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ6IG51bGw7XG4kYWNjb3JkaW9ubWVudS1ib3JkZXI6IG51bGw7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kOiBudWxsO1xuJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoOiA0MHB4O1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiRhY2NvcmRpb25tZW51LWFycm93LXNpemU6IDZweDtcblxuLy8gOS4gQmFkZ2Vcbi8vIC0tLS0tLS0tXG5cbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRiYWRnZS1jb2xvcjogJHdoaXRlO1xuJGJhZGdlLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJhZGdlLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kYmFkZ2UtcGFkZGluZzogMC4zZW07XG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtO1xuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtO1xuXG4vLyAxMC4gQnJlYWRjcnVtYnNcbi8vIC0tLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbTtcbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZTtcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogdHJ1ZTtcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtOiAnLyc7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGw6ICdcXFxcJztcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuXG4vLyAxMS4gQnV0dG9uXG4vLyAtLS0tLS0tLS0tXG5cbiRidXR0b24tZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4kYnV0dG9uLXBhZGRpbmc6IC45MDdlbSAxZW07XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4kYnV0dG9uLWZpbGw6IHNvbGlkO1xuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiA5JSk7XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGU7XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJ1dHRvbi1yYWRpdXM6IDk5OTlweDtcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4O1xuJGJ1dHRvbi1zaXplczogKFxudGlueTogMC42cmVtLFxuc21hbGw6IDAuNzVyZW0sXG5kZWZhdWx0OiAxcmVtLFxubGFyZ2U6IDEuMjVyZW0sXG4pO1xuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJTtcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJTtcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4kYnV0dG9uLXJlc3BvbnNpdmUtZXhwYW5kZWQ6IGZhbHNlO1xuXG4vLyAxMi4gQnV0dG9uIEdyb3VwXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW07XG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4O1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbic7XG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNjtcbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZTtcblxuLy8gMTMuIENhbGxvdXRcbi8vIC0tLS0tLS0tLS0tXG5cbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlO1xuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpO1xuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwO1xuJGNhbGxvdXQtcGFkZGluZzogMXJlbTtcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZDtcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJTtcblxuLy8gMTQuIENhcmRcbi8vIC0tLS0tLS0tXG5cbiRjYXJkLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kY2FyZC1kaXZpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGNhcmQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4kY2FyZC1zaGFkb3c6IG5vbmU7XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYXJkLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRjYXJkLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuXG4vLyAxNS4gQ2xvc2UgQnV0dG9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wO1xuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAoXG5zbWFsbDogMC42NnJlbSxcbm1lZGl1bTogMXJlbSxcbik7XG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG5zbWFsbDogMC4zM2VtLFxubWVkaXVtOiAwLjVyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLXNpemU6IChcbnNtYWxsOiAxLjVlbSxcbm1lZGl1bTogMmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxO1xuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5O1xuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2s7XG5cbi8vIDE2LiBEcmlsbGRvd25cbi8vIC0tLS0tLS0tLS0tLS1cblxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyO1xuJGRyaWxsZG93bi1hcnJvd3M6IHRydWU7XG4kZHJpbGxkb3duLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luOiAwO1xuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nO1xuJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGRyaWxsZG93bi1hcnJvdy1zaXplOiA2cHg7XG5cbi8vIDE3LiBEcm9wZG93blxuLy8gLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bi1wYWRkaW5nOiAwO1xuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICMyRDJEMkQ7XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgIzJEMkQyRDtcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW07XG4kZHJvcGRvd24td2lkdGg6IDI1MHB4O1xuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kZHJvcGRvd24tc2l6ZXM6IChcbnRpbnk6IDEwMHB4LFxuc21hbGw6IDIwMHB4LFxubGFyZ2U6IDQwMHB4LFxuKTtcblxuLy8gMTguIERyb3Bkb3duIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlO1xuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvcjtcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW07XG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHg7XG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDtcbiRkcm9wZG93bm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW46IDA7XG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nO1xuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpO1xuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQ7XG5cbi8vIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNjtcbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWU7XG5cbi8vIDIwLiBGb3Jtc1xuLy8gLS0tLS0tLS0tXG5cbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApO1xuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCk7XG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XG4kZm9ybS1zcGFjaW5nOiByZW0tY2FsYygyNCk7XG4kaGVscHRleHQtY29sb3I6ICRibGFjaztcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWM7XG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW07XG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrO1xuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuODtcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlO1xuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheTtcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRpbnB1dC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4kaW5wdXQtcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDI7XG4kaW5wdXQtc2hhZG93OiBub25lO1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZDtcbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWU7XG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMS4gTGFiZWxcbi8vIC0tLS0tLS0tLVxuXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kbGFiZWwtY29sb3I6ICR3aGl0ZTtcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjaztcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtO1xuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIyLiBNZWRpYSBPYmplY3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCU7XG5cbi8vIDIzLiBNZW51XG4vLyAtLS0tLS0tLVxuXG4kbWVudS1tYXJnaW46IDA7XG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcbiRtZW51LWl0ZW1zLXBhZGRpbmc6IEFXRVNFTS1IQUNLO1xuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbTtcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGU7XG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSk7XG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG4kbWVudS1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJG1lbnUtc3RhdGUtYmFjay1jb21wYXQ6IHRydWU7XG4kbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdDogdHJ1ZTtcbiRtZW51LWljb25zLWJhY2stY29tcGF0OiB0cnVlO1xuXG4vLyAyNC4gTWV0ZXJcbi8vIC0tLS0tLS0tLVxuXG4kbWV0ZXItaGVpZ2h0OiAxcmVtO1xuJG1ldGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kbWV0ZXItYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG1ldGVyLWZpbGwtZ29vZDogJHN1Y2Nlc3MtY29sb3I7XG4kbWV0ZXItZmlsbC1tZWRpdW06ICR3YXJuaW5nLWNvbG9yO1xuJG1ldGVyLWZpbGwtYmFkOiAkYWxlcnQtY29sb3I7XG5cbi8vIDI1LiBPZmYtY2FudmFzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kb2ZmY2FudmFzLXNpemVzOiAoXG5zbWFsbDogMjUwcHgsXG4pO1xuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKFxuc21hbGw6IDI1MHB4LFxuKTtcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNyk7XG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4O1xuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KTtcbiRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg6IDExO1xuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTI7XG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAxMztcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMTI7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZTtcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlO1xuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KTtcbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCc7XG5cbi8vIDI2LiBPcmJpdFxuLy8gLS0tLS0tLS0tXG5cbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheTtcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMDtcblxuLy8gMjcuIFBhZ2luYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApO1xuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKTtcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGU7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtcbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlO1xuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlO1xuXG4vLyAyOC4gUHJvZ3Jlc3MgQmFyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW07XG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDI5LiBQcm90b3R5cGUgQXJyb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25zOiAoXG5kb3duLFxudXAsXG5yaWdodCxcbmxlZnRcbik7XG4kcHJvdG90eXBlLWFycm93LXNpemU6IDAuNDM3NXJlbTtcbiRwcm90b3R5cGUtYXJyb3ctY29sb3I6ICRibGFjaztcblxuLy8gMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXItYm94LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcblxuLy8gMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlci1ub25lLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcblxuLy8gMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlcmVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm9yZGVyLXdpZHRoOiByZW0tY2FsYygxKTtcbiRwcm90b3R5cGUtYm9yZGVyLXR5cGU6IHNvbGlkO1xuJHByb3RvdHlwZS1ib3JkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcblxuLy8gMzMuIFByb3RvdHlwZSBEaXNwbGF5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1kaXNwbGF5LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtZGlzcGxheTogKFxuaW5saW5lLFxuaW5saW5lLWJsb2NrLFxuYmxvY2ssXG50YWJsZSxcbnRhYmxlLWNlbGxcbik7XG5cbi8vIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWZvbnQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nOiByZW0tY2FsYyg0KTtcbiRwcm90b3R5cGUtZm9udC1ub3JtYWw6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRwcm90b3R5cGUtZm9udC1ib2xkOiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyAzNS4gUHJvdG90eXBlIExpc3QtU3R5bGUtVHlwZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWQ6IChcbmRpc2MsXG5jaXJjbGUsXG5zcXVhcmVcbik7XG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZDogKFxuZGVjaW1hbCxcbmxvd2VyLWFscGhhLFxubG93ZXItbGF0aW4sXG5sb3dlci1yb21hbixcbnVwcGVyLWFscGhhLFxudXBwZXItbGF0aW4sXG51cHBlci1yb21hblxuKTtcblxuLy8gMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLW92ZXJmbG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtb3ZlcmZsb3c6IChcbnZpc2libGUsXG5oaWRkZW4sXG5zY3JvbGxcbik7XG5cbi8vIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1wb3NpdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXBvc2l0aW9uOiAoXG5zdGF0aWMsXG5yZWxhdGl2ZSxcbmFic29sdXRlLFxuZml4ZWRcbik7XG4kcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXg6IDk3NTtcblxuLy8gMzguIFByb3RvdHlwZSBSb3VuZGVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1yb3VuZGVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMyk7XG5cbi8vIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNlcGFyYXRvci1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1hbGlnbjogY2VudGVyO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItaGVpZ2h0OiByZW0tY2FsYygyKTtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLXdpZHRoOiAzcmVtO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbjtcblxuLy8gNDAuIFByb3RvdHlwZSBTaGFkb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2hhZG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgwLDAsMCwuMTYpLFxuMCAycHggMTBweCAwIHJnYmEoMCwwLDAsLjEyKTtcblxuLy8gNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2l6aW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc2l6aW5nOiAoXG53aWR0aCxcbmhlaWdodFxuKTtcbiRwcm90b3R5cGUtc2l6ZXM6IChcbjI1OiAyNSUsXG41MDogNTAlLFxuNzU6IDc1JSxcbjEwMDogMTAwJVxuKTtcblxuLy8gNDIuIFByb3RvdHlwZSBTcGFjaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc3BhY2Vycy1jb3VudDogMztcblxuLy8gNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZGVjb3JhdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbjogKFxub3ZlcmxpbmUsXG51bmRlcmxpbmUsXG5saW5lLXRocm91Z2gsXG4pO1xuXG4vLyA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXRyYW5zZm9ybWF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbjogKFxubG93ZXJjYXNlLFxudXBwZXJjYXNlLFxuY2FwaXRhbGl6ZVxuKTtcblxuLy8gNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXV0aWxpdGllcy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG4vLyA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG5kZWZhdWx0OiA0IGJ5IDMsXG53aWRlc2NyZWVuOiAxNiBieSA5LFxuKTtcblxuLy8gNDcuIFJldmVhbFxuLy8gLS0tLS0tLS0tLVxuXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRyZXZlYWwtd2lkdGg6IDYwMHB4O1xuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHJldmVhbC16aW5kZXg6IDEwMDU7XG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpO1xuXG4vLyA0OC4gU2xpZGVyXG4vLyAtLS0tLS0tLS0tXG5cbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbTtcbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4kc2xpZGVyLWhlaWdodDogMC41cmVtO1xuJHNsaWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLXdpZHRoOiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRzbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNDkuIFN3aXRjaFxuLy8gLS0tLS0tLS0tLVxuXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yO1xuJHN3aXRjaC1oZWlnaHQ6IDJyZW07XG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW07XG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW07XG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW47XG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW07XG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuXG4vLyA1MC4gVGFibGVcbi8vIC0tLS0tLS0tLVxuXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JTtcbiR0YWJsZS1ib3JkZXI6IDA7XG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoMTIgNSk7XG4kdGFibGUtaG92ZXItc2NhbGU6IDIlO1xuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1pcy1zdHJpcGVkOiBmYWxzZTtcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXN0cmlwZTogZXZlbjtcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2U7XG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xuXG4vLyA1MS4gVGFic1xuLy8gLS0tLS0tLS1cblxuJHRhYi1tYXJnaW46IDA7XG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXk7XG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlO1xuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuJHRhYi1leHBhbmQtbWF4OiA2O1xuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5O1xuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDUyLiBUaHVtYm5haWxcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGU7XG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKTtcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpO1xuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1My4gVGl0bGUgQmFyXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2s7XG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW07XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5O1xuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcblxuLy8gNTQuIFRvb2x0aXBcbi8vIC0tLS0tLS0tLS0tXG5cbiRoYXMtdGlwLWN1cnNvcjogaGVscDtcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5O1xuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW07XG4kdG9vbHRpcC1tYXgtd2lkdGg6IDEwcmVtO1xuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtO1xuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1NS4gVG9wIEJhclxuLy8gLS0tLS0tLS0tLS1cblxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW07XG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZDtcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDA7XG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG5cbi8vIDU2LiBYeSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4keHktZ3JpZDogdHJ1ZTtcbiRncmlkLWNvbnRhaW5lcjogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbnM6IDEyO1xuJGdyaWQtbWFyZ2luLWd1dHRlcnM6IChcbnNtYWxsOiAyMHB4LFxubWVkaXVtOiAzMHB4XG4pO1xuJGdyaWQtcGFkZGluZy1ndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycztcbiRncmlkLWNvbnRhaW5lci1wYWRkaW5nOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnM7XG4kZ3JpZC1jb250YWluZXItbWF4OiAkZ2xvYmFsLXdpZHRoO1xuJHh5LWJsb2NrLWdyaWQtbWF4OiA4O1xuIiwiLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlc1xuICogVmVyc2lvbiA2LjYuM1xuICogaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cblxuLy8gLS0tIERlcGVuZGVuY2llcyAtLS1cbkBpbXBvcnQgJ3ZlbmRvci9ub3JtYWxpemUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL21pc3NpbmctZGVwZW5kZW5jaWVzJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy90cnVlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL2NvbnRhaW4nO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcHVyZ2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVtb3ZlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlcGxhY2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvdG8tbGlzdCc7XG5cbi8vIC0tLSBTZXR0aW5ncyAtLS1cbi8vIGltcG9ydCB5b3VyIG93biBgc2V0dGluZ3NgIGhlcmUgb3Jcbi8vIGltcG9ydCBhbmQgbW9kaWZ5IHRoZSBkZWZhdWx0IHNldHRpbmdzIHRocm91Z2hcbi8vIEBpbXBvcnQgJ3NldHRpbmdzL3NldHRpbmdzJztcblxuLy8gLS0tIENvbXBvbmVudHMgLS0tXG4vLyBVdGlsaXRpZXNcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG4vLyBHbG9iYWwgc3R5bGVzXG5AaW1wb3J0ICdnbG9iYWwnO1xuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xuQGltcG9ydCAndHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcblxuLy8gR3JpZHNcbkBpbXBvcnQgJ2dyaWQvZ3JpZCc7XG5AaW1wb3J0ICd4eS1ncmlkL3h5LWdyaWQnO1xuLy8gR2VuZXJpYyBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Nsb3NlLWJ1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xhYmVsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3dpdGNoJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUnO1xuLy8gQmFzaWMgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhcmQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwJztcblxuLy8gQ29udGFpbmVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZWRpYS1vYmplY3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vcmJpdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Jlc3BvbnNpdmUtZW1iZWQnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcbi8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudS1pY29uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcmlsbGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bi1tZW51JztcblxuLy8gTGF5b3V0IGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb2ZmLWNhbnZhcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N0aWNreSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RvcC1iYXInO1xuXG4vLyBIZWxwZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL2Zsb2F0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Zpc2liaWxpdHknO1xuQGltcG9ydCAncHJvdG90eXBlL3Byb3RvdHlwZSc7XG5cblxuQG1peGluIGZvdW5kYXRpb24tZXZlcnl0aGluZyhcbiAgJGZsZXg6IHRydWUsXG4gICRwcm90b3R5cGU6IGZhbHNlLFxuICAkeHktZ3JpZDogJHh5LWdyaWRcbikge1xuICBAaWYgJGZsZXgge1xuICAgICRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgQGlmICR4eS1ncmlkIHtcbiAgICAkeHktZ3JpZDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgLy8gR2xvYmFsIHN0eWxlc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcblxuICAvLyBHcmlkc1xuICBAaWYgbm90ICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkeHktZ3JpZCB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gR2VuZXJpYyBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4gIC8vIEJhc2ljIGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuXG4gIC8vIENvbnRhaW5lcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG4gIC8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG5cbiAgLy8gTGF5b3V0IGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG5cbiAgLy8gSGVscGVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG4gIEBpZiAkZmxleCB7IEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzOyB9XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuICBAaWYgJHByb3RvdHlwZSB7IEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7IH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBIaURQSSBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcyBmb3IgcmVzb2x1dGlvbnMuXG4vLy8gVmFsdWVzIG11c3QgcmVwcmVzZW50IHRoZSBkZXZpY2UgcGl4ZWxzIC8gd2ViIHBpeGVscyByYXRpb24gYW5kIGJlIHVuaXRsZXNzIG9yIGluIERQUFguXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHMtaGlkcGk6IChcbiAgaGlkcGktMTogMSxcbiAgaGlkcGktMS01OiAxLjUsXG4gIGhpZHBpLTI6IDIsXG4gIHJldGluYTogMixcbiAgaGlkcGktMzogM1xuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsYXJnZXN0IG5hbWVkIGJyZWFrcG9pbnQgaW4gd2hpY2ggdG8gaW5jbHVkZSBwcmludCBhcyBhIG1lZGlhIHR5cGVcbi8vLyBAdHlwZSBLZXl3b3JkXG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2UgIWRlZmF1bHQ7XG5cbiQtemYtemVyby1icmVha3BvaW50OiBzbWFsbCAhZGVmYXVsdDtcblxuJC16Zi1icmVha3BvaW50cy1rZXlzOiBtYXAtdG8tbGlzdCgkYnJlYWtwb2ludHMsICdrZXlzJyk7XG5cbkBpZiBudGgobWFwLXZhbHVlcygkYnJlYWtwb2ludHMpLCAxKSAhPSAwIHtcbiAgQGVycm9yICdUaGUgZmlyc3Qga2V5IGluIHRoZSAkYnJlYWtwb2ludHMgbWFwIG11c3QgaGF2ZSBhIHZhbHVlIG9mIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBXZWIgc3RhbmRhcmQgUGl4ZWxzIHBlciBpbmNoLiAoMWRkcHggLyAkc3RkLXdlYi1kcGkpID0gMWRwaVxuICAvLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy12YWx1ZXMtMy8jYWJzb2x1dGUtbGVuZ3Roc1xuICAkc3RkLXdlYi1kcGk6IDk2O1xuXG4gIC8vIFNpemUgb3Iga2V5d29yZFxuICAkYnA6IG50aCgkdmFsLCAxKTtcbiAgLy8gVmFsdWUgb2YgdGhlIGZvbGxvd2luZyBicmVha3BvaW50XG4gICRicC1uZXh0OiBudWxsO1xuICAvLyBWYWx1ZSBmb3IgbWF4LXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1pbjogbnVsbDtcbiAgLy8gVmFsdWUgZm9yIG1pbi13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1tYXg6IG51bGw7XG4gIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICRkaXI6IGlmKGxlbmd0aCgkdmFsKSA+IDEsIG50aCgkdmFsLCAyKSwgdXApO1xuICAvLyBJZiBuYW1lZCwgbmFtZSBvZiB0aGUgYnJlYWtwb2ludFxuICAkbmFtZTogbnVsbDtcbiAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgYSBIaURQSSBicmVha3BvaW50XG4gICRoaWRwaTogZmFsc2U7XG5cbiAgLy8gT3JpZW50YXRpb24gbWVkaWEgcXVlcmllcyBoYXZlIGEgdW5pcXVlIHN5bnRheFxuICBAaWYgJGJwID09ICdsYW5kc2NhcGUnIG9yICRicCA9PSAncG9ydHJhaXQnIHtcbiAgICBAcmV0dXJuICcob3JpZW50YXRpb246ICN7JGJwfSknO1xuICB9XG5cbiAgLy8gSWYgYSBicmVha3BvaW50IG5hbWUgaXMgZ2l2ZW4sIGdldCBpdHMgdmFsdWUgZnJvbSB0aGUgJGJyZWFrcG9pbnRzLyRicmVha3BvaW50cy1oaWRwaSBtYXAuXG4gIEBpZiB0eXBlLW9mKCRicCkgPT0gJ3N0cmluZycge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicCkge1xuICAgICAgJG5hbWU6ICRicDtcbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgICAgICRicC1uZXh0OiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gICAgfVxuICAgIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cy1oaWRwaSwgJGJwKSB7XG4gICAgICAkbmFtZTogJGJwO1xuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cy1oaWRwaSwgJG5hbWUpO1xuICAgICAgJGJwLW5leHQ6IC16Zi1tYXAtbmV4dC1udW1iZXIoJGJyZWFrcG9pbnRzLWhpZHBpLCAkYnApO1xuICAgICAgJGhpZHBpOiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnA6IDA7XG4gICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBcIiN7JHZhbH1cIiBpcyBub3QgZGVmaW5lZCBpbiB5b3VyIGAkYnJlYWtwb2ludHNgIG9yIGAkYnJlYWtwb2ludHMtaGlkcGlgIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICBAaWYgbm90ICRuYW1lIGFuZCAkZGlyID09ICdvbmx5JyB7XG4gICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8vIE9ubHkgJ29ubHknIGFuZCAndXAnIGhhdmUgYSBtaW4gbGltaXQuXG4gIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICd1cCcge1xuICAgICRicC1taW46IGlmKCRoaWRwaSwgc3RyaXAtdW5pdCgkYnApLCAtemYtYnAtdG8tZW0oJGJwKSk7XG4gIH1cbiAgLy8gT25seSAnb25seScgYW5kICdkb3duJyBoYXZlIGEgbWF4IGxpbWl0LlxuICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgIC8vIElmIHRoZSBicmVha3BvaW50IGlzIGEgdmFsdWUsIHVzZSBpdCBhcyBtYXggbGltaXQuXG4gICAgQGlmIG5vdCAkbmFtZSB7XG4gICAgICAkYnAtbWF4OiBpZigkaGlkcGksIHN0cmlwLXVuaXQoJGJwKSwgLXpmLWJwLXRvLWVtKCRicCkpO1xuICAgIH1cbiAgICAvLyBJZiB0aGUgYnJlYWtwb2ludCBpcyBuYW1lZCwgdGhlIG1heCBsaW1pdCBpcyB0aGUgZm9sbG93aW5nIGJyZWFrcG9pbnQgLSAxcHguXG4gICAgQGVsc2UgaWYgJGJwLW5leHQge1xuICAgICAgLy8gTWF4IHZhbHVlIGlzIDAuMnB4IHVuZGVyIHRoZSBuZXh0IGJyZWFrcG9pbnQgKDAuMDIgLyAxNiA9IDAuMDAxMjUpLlxuICAgICAgLy8gVXNlIGEgcHJlY2lzaW9uIHVuZGVyIDFweCB0byBzdXBwb3J0IGJyb3dzZXIgem9vbSwgYnV0IG5vdCB0byBsb3cgdG8gYXZvaWQgcm91bmRpbmcuXG4gICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTEzMTNcbiAgICAgICRicC1tYXg6IGlmKCRoaWRwaSwgJGJwLW5leHQgLSAoMS8kc3RkLXdlYi1kcGkpLCAtemYtYnAtdG8tZW0oJGJwLW5leHQpIC0gMC4wMDEyNSk7XG4gICAgfVxuICB9XG5cbiAgLy8gR2VuZXJhdGUgdGhlIG1lZGlhIHF1ZXJ5IHN0cmluZyBmcm9tIG1pbiBhbmQgbWF4IGxpbWl0cy5cbiAgQGlmICRoaWRwaSB7XG4gICAgLy8gR2VuZXJhdGUgdmFsdWVzIGluIERQSSBpbnN0ZWFkIG9mIERQUFggZm9yIGFuIElFOS0xMS9PcGVyYSBtaW5pIGNvbXBhdGliaWxpdHkuXG4gICAgLy8gU2VlIGh0dHBzOi8vY2FuaXVzZS5jb20vI2ZlYXQ9Y3NzLW1lZGlhLXJlc29sdXRpb25cbiAgICAkYnAtbWluLWRwaTogaWYoJGJwLW1pbiwgJGJwLW1pbiAqICRzdGQtd2ViLWRwaSAqIDFkcGksICRicC1taW4pO1xuICAgICRicC1tYXgtZHBpOiBpZigkYnAtbWF4LCAkYnAtbWF4ICogJHN0ZC13ZWItZHBpICogMWRwaSwgJGJwLW1heCk7XG4gICAgQHJldHVybiB6Zi1zdHItam9pbihcbiAgICAgIC16Zi1icC1qb2luKCRicC1taW4sICRicC1tYXgsICctd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8nLCAnLXdlYmtpdC1tYXgtZGV2aWNlLXBpeGVsLXJhdGlvJyksXG4gICAgICAtemYtYnAtam9pbigkYnAtbWluLWRwaSwgJGJwLW1heC1kcGksICdtaW4tcmVzb2x1dGlvbicsICdtYXgtcmVzb2x1dGlvbicpLFxuICAgICAgJywgJyk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gLXpmLWJwLWpvaW4oJGJwLW1pbiwgJGJwLW1heCk7XG4gIH1cbn1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBhbmQgYCRicmVha3BvaW50cy1oaWRwaWAgbWFwcywgYW5kIHVzZSBhIG1lZGlhIHF1ZXJ5IHRoZXJlLlxuLy8vICAtIElmIGEgcGl4ZWwgdmFsdWUgaXMgcGFzc2VkLCBpdCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhbiBlbSB2YWx1ZSB1c2luZyBgJGdsb2JhbC1mb250LXNpemVgIGFzIHRoZSBiYXNlLlxuLy8vICAtIElmIGEgcmVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHVuaXQgd2lsbCBiZSBjaGFuZ2VkIHRvIGVtLlxuLy8vICAtIElmIGFuIGVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHZhbHVlIHdpbGwgYmUgdXNlZCBhcy1pcy5cbi8vL1xuLy8vIElmIG11bHRpcGxlIHZhbHVlcyBhcmUgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBnZW5lcmF0ZSBhIG1lZGlhIHF1ZXJ5IGZvciBlYWNoIG9mIHRoZW0gYXMgZGVzY3JpYmVkIGFib3ZlLlxuLy8vIFNpbmNlIHRoZSBjb250ZW50IGlzIGR1cGxpY2F0ZWQgZm9yIGVhY2ggYnJlYWtwb2ludCwgdGhpcyBtaXhpbiBzaG91bGQgb25seSBiZSB1c2VkIHdpdGggcHJvcGVydGllcyB0aGF0XG4vLy8gY2hhbmdlIGFjcm9zcyBicmVha3BvaW50cy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWx1ZXMuLi4gLSBCcmVha3BvaW50IG5hbWUgb3IgcHgvcmVtL2VtIHZhbHVlIHRvIHByb2Nlc3MuXG4vLy9cbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZXMuLi4pIHtcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBsZW5ndGgoJHZhbHVlcykge1xuICAgICR2YWx1ZTogbnRoKCR2YWx1ZXMsICRpKTtcbiAgICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XG4gICAgJGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsIG50aCgkdmFsdWUsIDEpKTtcbiAgICAkcGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICRwcmludC1icmVha3BvaW50KTtcbiAgICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAgICRkaXI6IGlmKGxlbmd0aCgkdmFsdWUpID4gMSwgbnRoKCR2YWx1ZSwgMiksIHVwKTtcblxuICAgICRvbGQtemYtc2l6ZTogbnVsbDtcblxuICAgIC8vIE1ha2UgYnJlYWtwb2ludCBzaXplIGF2YWlsYWJsZSBhcyBhIHZhcmlhYmxlXG4gICAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcbiAgICAgICRvbGQtemYtc2l6ZTogJC16Zi1zaXplO1xuICAgIH1cbiAgICAkLXpmLXNpemU6IG50aCgkdmFsdWUsIDEpICFnbG9iYWw7IC8vIGdldCB0aGUgZmlyc3QgdmFsdWUgdG8gYWNjb3VudCBmb3IgYG9ubHlgIGFuZCBgZG93bmAga2V5d29yZHNcblxuICAgIC8vIElmICRzdHIgaXMgc3RpbGwgYW4gZW1wdHkgc3RyaW5nLCBubyBtZWRpYSBxdWVyeSBpcyBuZWVkZWRcbiAgICBAaWYgJHN0ciA9PSAnJyB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEZvciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJHByaW50LWJyZWFrcG9pbnQsIGFkZCBwcmludCB0byB0aGUgbWVkaWEgdHlwZXNcbiAgICAgIC8vIGdlbmVyYXRlIHByaW50IGlmIHRoZSBicmVha3BvaW50IGFmZmVjdHMgdGhlIHByaW50LWJyZWFrcG9pbnQgKG9yIHNtYWxsZXIpLlxuICAgICAgLy8gVGhpcyBtZWFucyB0aGUgY3VycmVudCBjb25kaXRpb24gb25seSBuZWVkcyB0byBiZSBleHRlbmRlZCBzbyAnZG93bicgYWx3YXlzIGdlbmVyYXRlcyBwcmludC5cbiAgICAgIEBpZiAkYnAgIT0gbnVsbCBhbmQgKCRicCA8PSAkcGJwIG9yICRkaXIgPT0gZG93bikge1xuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xuICB9XG59XG5cbi8vLyBDb252ZXJ0cyB0aGUgYnJlYWtwb2ludHMgbWFwIHRvIGEgVVJMLWVuY29kZWQgc3RyaW5nLCBsaWtlIHRoaXM6IGBrZXkxPXZhbHVlMSZrZXkyPXZhbHVlMmAuIFRoZSB2YWx1ZSBpcyB0aGVuIGRyb3BwZWQgaW50byB0aGUgQ1NTIGZvciBhIHNwZWNpYWwgYDxtZXRhPmAgdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHQuIFRoaXMgaXMgaG93IHdlIHRyYW5zZmVyIHZhbHVlcyBmcm9tIFNhc3MgdG8gSmF2YVNjcmlwdCwgc28gdGhleSBjYW4gYmUgZGVmaW5lZCBpbiBvbmUgcGxhY2UuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBjb252ZXJ0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXG5AZnVuY3Rpb24gLXpmLWJwLXNlcmlhbGl6ZSgkbWFwKSB7XG4gICRzdHI6ICcnO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgJHN0cjogJHN0ciArICRrZXkgKyAnPScgKyAtemYtYnAtdG8tZW0oJHZhbHVlKSArICcmJztcbiAgfVxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIEZpbmQgdGhlIG5leHQga2V5IGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvciB0aGUga2V5IGFmdGVyIGAka2V5YCwgaWYgYCRrZXlgIHdhcyBmb3VuZC4gSWYgYCRrZXlgIHdhcyBub3QgZm91bmQsIG9yIGAka2V5YCB3YXMgdGhlIGxhc3QgdmFsdWUgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0KCRtYXAsICRrZXkpIHtcblxuICAvLyBTdG9yZSB0aGUga2V5cyBvZiB0aGUgbWFwIGFzIGEgbGlzdFxuICAkdmFsdWVzOiBtYXAta2V5cygkbWFwKTtcblxuICAkaTogMDtcblxuICAvLyBJZiB0aGUgS2V5IEV4aXN0cywgR2V0IHRoZSBpbmRleCBvZiB0aGUga2V5IHdpdGhpbiB0aGUgbWFwIGFuZCBhZGQgMSB0byBpdCBmb3IgdGhlIG5leHQgYnJlYWtwb2ludCBpbiB0aGUgbWFwXG4gIEBpZiAobWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcbiAgICAkaTogaW5kZXgoJHZhbHVlcywgJGtleSkgKyAxO1xuICB9XG5cbiAgLy8gSWYgdGhlIGtleSBkb2Vzbid0IGV4aXN0LCBvciBpdCdzIHRoZSBsYXN0IGtleSBpbiB0aGUgbWFwLCByZXR1cm4gbnVsbFxuICBAaWYgKCRpID4gbGVuZ3RoKCRtYXApIG9yICRpID09IDApIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHZhbHVlXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgbnRoKCR2YWx1ZXMsICRpKSk7XG4gIH1cblxufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBudW1iZXIgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAkbnVtYmVyIC0gTnVtYmVyIHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgbnVtYmVyIGZvbGxvd2luZyBgJG51bWJlcmAsIGlmIGAkbnVtYmVyYCB3YXMgZm91bmQuIElmIGAkbnVtYmVyYCB3YXMgbm90IGZvdW5kLCBvciBgJG51bWJlcmAgd2FzIHRoZSBiaWdnZXN0IG51bWJlciBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQtbnVtYmVyKCRtYXAsICRudW1iZXIpIHtcblxuICAkbmV4dF9udW1iZXI6IG51bGw7XG5cbiAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgIEBpZiB0eXBlLW9mKCR2KSA9PSAnbnVtYmVyJyBhbmQgJHYgPiAkbnVtYmVyIGFuZCAoJG5leHRfbnVtYmVyID09IG51bGwgb3IgJHYgPCAkbmV4dF9udW1iZXIpIHtcbiAgICAgICRuZXh0X251bWJlcjogJHY7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbmV4dF9udW1iZXI7XG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGxhc3QgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRrZXkpIHtcbiAgJGxpc3Q6ICgpO1xuICAkZm91bmRfa2V5OiBmYWxzZTtcblxuICBAZWFjaCAkbmFtZSBpbiAkLXpmLWJyZWFrcG9pbnRzLWtleXMge1xuICAgIEBpZiAoJG5hbWUgPT0gJGtleSkge1xuICAgICAgJGZvdW5kX2tleTogdHJ1ZTtcbiAgICB9XG4gICAgQGlmIG5vdCAkZm91bmRfa2V5IHtcbiAgICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICRuYW1lKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkbGlzdDtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgLSBhIG5hbWVkIG9yIG5vbi1uYW1lZCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgJGxhc3Q6ICQtemYtemVyby1icmVha3BvaW50O1xuICAkZm91bmQ6IGZhbHNlO1xuXG4gICR2YWx1ZTogdW5pdGxlc3MtY2FsYygkYnJlYWtwb2ludCwgMXB4KTtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgIEBpZiB1bml0bGVzcy1jYWxjKCR2YWwpID4gJHZhbHVlIHtcbiAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRsYXN0OiAka2V5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJGxhc3Q7XG59XG5cbi8vLyBHZXQgYSB2YWx1ZSBmb3IgYSBicmVha3BvaW50IGZyb20gYSByZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0IHJlZ2FyZGxlc3Mgb2YgYCR2YWx1ZWAuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBoYXMgdGhlIGtleSBgJHZhbHVlYCwgdGhlIGV4YWN0IGJyZWFrcG9pbnQgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBkb2VzICpub3QqIGhhdmUgdGhlIGJyZWFrcG9pbnQsIHRoZSB2YWx1ZSBtYXRjaGluZyB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBpbiB0aGUgY29uZmlnIG1hcCBpcyByZXR1cm5lZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIFJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUgdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TWl4ZWR9IFRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUuXG5AZnVuY3Rpb24gLXpmLWdldC1icC12YWwoJG1hcCwgJHZhbHVlKSB7XG4gIC8vIElmIHRoZSBnaXZlbiBtYXAgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdFxuICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkbWFwO1xuICB9XG5cblxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBnbG9iYWxseVxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgICAkdmFsdWU6IC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIGNvbmZpZyBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1hcCwgJHZhbHVlKSB7XG4gICAgLy8gSWYgaXQgZG9lcywganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICR2YWx1ZSk7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCBmaW5kIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGFuZCByZXR1cm4gdGhhdCB2YWx1ZVxuICBAZWxzZSB7XG4gICAgJGFuY2hvcjogbnVsbDtcbiAgICAkZm91bmQ6IGZhbHNlO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xuICAgICAgICAgICRhbmNob3I6ICRrZXk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRrZXkgPT0gJHZhbHVlIHtcbiAgICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGFuY2hvcik7XG4gIH1cbn1cblxuLy8vIFJldHVybiB0aGUgYmVzdCBicmVha3BvaW50IHRvIHVzZSBhY2NvcmRpbmcgdG8gdGhlIGNhbGxpbmcgY29udGV4dC4gSXQgcmV0dXJucyBpbiBvcmRlcjpcbi8vLyAxLiB0aGUgZ2l2ZW4gYCR2YWx1ZWAgYXJndW1lbnQgaWYgaXQgaXMgbm90IG51bGwuXG4vLy8gMi4gdGhlIGdsb2JhbCBicmVha3BvaW50IGNvbnRleHQgYCQtemYtc2l6ZWAgaWYgaXQgaXMgbm90IG51bGwgKGxpa2UgaWYgY2FsbGVkIGluc2lkZSB0aGVuIGBicmVha3BvaW50KClgIG1peGluKVxuLy8vIDMuIHRoZSBnaXZlbiBgJGRlZmF1bHRgIGFyZ3VtZW50LlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgW251bGxdIC0gQnJlYWtwb2ludCB0byB1c2UgaW4gcHJpb3JpdHkgaWYgbm9uLW51bGwuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGVmYXVsdCBbbnVsbF0gLSBCcmVha3BvaW50IHRvIHVzZSBieSBkZWZhdWx0IGlmIG5vIG90aGVyIHZhbHVlIGNhbiBiZSB1c2VkLlxuLy8vXG4vLy8gQHJldHVybiB7S2V5d29yZH0gVGhlIHJlc29sdmVkIGJyZWFrcG9pbnQuXG5AZnVuY3Rpb24gLXpmLWN1cnJlbnQtYnJlYWtwb2ludCgkdmFsdWU6IG51bGwsICRkZWZhdWx0OiBudWxsKSB7XG4gIEBpZiAoJHZhbHVlICE9IG51bGwpIHtcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuICBAZWxzZSBpZiAodmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSBhbmQgdHlwZS1vZigkLXpmLXNpemUpICE9ICdudW1iZXInKSBhbmQgJC16Zi1zaXplICE9IG51bGwge1xuICAgIEByZXR1cm4gJC16Zi1zaXplO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuICRkZWZhdWx0O1xuICB9XG59XG5cbi8vLyBSZXR1cm4gbWVkaWEgcXVlcnkgc3RyaW5nIGZyb20gdGhlIGdpdmVuIG1pbiBhbmQvb3IgbWF4IGxpbWl0cy5cbi8vLyBJZiBhIGxpbWl0IGlzIGVxdWFsIHRvIGBudWxsYCBvciBgMGAsIGl0IGlzIGlnbm9yZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1pbiBbMF0gLSBNaW4gbWVkaWEgcXVlcnkgbGltaXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggWzBdIC0gTWF4IG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWluLW5hbWUgWydtaW4td2lkdGgnXSAtIE5hbWUgb2YgdGhlIG1pbiBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRlbGltaXRlciBbJ21heC13aWR0aCddIC0gTmFtZSBvZiB0aGUgbWF4IG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gTWVkaWEgUXVlcnkgc3RyaW5nLlxuQGZ1bmN0aW9uIC16Zi1icC1qb2luKFxuICAkbWluOiAwLFxuICAkbWF4OiAwLFxuICAkbWluLW5hbWU6ICdtaW4td2lkdGgnLFxuICAkbWF4LW5hbWU6ICdtYXgtd2lkdGgnXG4pIHtcbiAgQHJldHVybiB6Zi1zdHItam9pbihcbiAgICBpZigkbWluIGFuZCAkbWluID4gMCwgJygjeyRtaW4tbmFtZX06ICN7JG1pbn0pJywgbnVsbCksXG4gICAgaWYoJG1heCBhbmQgJG1heCA+IDAsICcoI3skbWF4LW5hbWV9OiAjeyRtYXh9KScsIG51bGwpLFxuICAgICcgYW5kICcpO1xufVxuXG4kc21hbGwtdXA6ICcnO1xuJHNtYWxsLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBzbWFsbCkge1xuICAkc21hbGwtdXA6IHNjcmVlbjtcbiAgJHNtYWxsLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIG9ubHkpfScpO1xufVxuXG4kbWVkaXVtLXVwOiAnJztcbiRtZWRpdW0tb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIG1lZGl1bSkge1xuICAkbWVkaXVtLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0pfScpO1xuICAkbWVkaXVtLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBvbmx5KX0nKTtcbn1cblxuJGxhcmdlLXVwOiAnJztcbiRsYXJnZS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbGFyZ2UpIHtcbiAgJGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSl9Jyk7XG4gICRsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHhsYXJnZS11cDogJyc7XG4keGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbiR4eGxhcmdlLXVwOiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeHhsYXJnZSkge1xuICAkeHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeHhsYXJnZSl9Jyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmV2ZWFsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdpZHRoIG9mIGEgbW9kYWwsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtd2lkdGg6IDYwMHB4ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXhpbXVtIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHotaW5kZXggZm9yIG1vZGFscy4gVGhlIG92ZXJsYXkgdXNlcyB0aGlzIHZhbHVlLCB3aGlsZSB0aGUgbW9kYWwgaXRzZWxmIHVzZXMgdGhpcyB2YWx1ZSBwbHVzIG9uZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtemluZGV4OiAxMDA1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBtb2RhbCBvdmVybGF5cy5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KSAhZGVmYXVsdDtcblxuXG4vLyBQbGFjZWhvbGRlciBzZWxlY3RvciBmb3IgbWVkaXVtLWFuZC11cCBtb2RhbHNcbi8vIFByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgd2hlbiBkZWZpbmluZyBtdWx0aXBsZSBSZXZlYWwgc2l6ZXNcbi8vIFRoaXMgc2hvdWxkIGJlIGluIHRoZSBzYW1lIGJyZWFrcG9pbnQgdGhlbiBgQG1peGluIHJldmVhbC1tb2RhbC13aWR0aGBcbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICVyZXZlYWwtY2VudGVyZWQge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cblxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbW9kYWwgb3ZlcmxheS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgb3ZlcmxheS5cbkBtaXhpbiByZXZlYWwtb3ZlcmxheSgkYmFja2dyb3VuZDogJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQpIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4O1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXggKyAxO1xuICAvLyBXb3JrYXJvdW5kIGFuZHJvaWQgYnJvd3NlciB6LWluZGV4IGJ1Z1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHJldmVhbC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJHJldmVhbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRyZXZlYWwtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmV2ZWFsLWJhY2tncm91bmQ7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHJvd3MgZG9uJ3QgaGF2ZSBhIG1pbi13aWR0aCBvbiB0aGVtXG4gIC5jb2x1bW4ge1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxuXG4gIC8vIFN0cmlwIG1hcmdpbnMgZnJvbSB0aGUgbGFzdCBpdGVtIGluIHRoZSBtb2RhbFxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGp1c3RzIHRoZSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgbW9kYWwuIEdlbmVyYWxseSBhIHBlcmNlbnRhZ2UuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXgtd2lkdGggWyRyZXZlYWwtbWF4LXdpZHRoXSAtIE1heGltdW0gd2lkdGggb2YgdGhlIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC13aWR0aChcbiAgJHdpZHRoOiAkcmV2ZWFsLXdpZHRoLFxuICAkbWF4LXdpZHRoOiAkcmV2ZWFsLW1heC13aWR0aFxuKSB7XG4gIC8vIEV4dGVuZHMgbXVzdCBiZSBtYWRlIG91dHNpZGUgb2YgYnJlYWtwb2ludHMgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBuZXdlciBTYXNzIHZlcnNpb25zIChsaWJzYXNzIHYzLjUpXG4gIEBleHRlbmQgJXJldmVhbC1jZW50ZXJlZDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIG1heC13aWR0aDogJG1heC13aWR0aDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtc2NyZWVuIG1vZGFsLCB3aGljaCBzdHJldGNoZXMgdGhlIGZ1bGwgd2lkdGggYW5kIGhlaWdodCBvZiB0aGUgd2luZG93LlxuQG1peGluIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuIHtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuXG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXZlYWwge1xuXG4gIC8vLyBEaXNhYmxlcyB0aGUgc2Nyb2xsIHdoZW4gUmV2ZWFsIGlzIHNob3duIHRvIHByZXZlbnQgdGhlIGJhY2tncm91bmQgZnJvbSBzaGlmdGluZ1xuICBodG1sLmlzLXJldmVhbC1vcGVuIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuXG4gICAgJi56Zi1oYXMtc2Nyb2xsIHtcbiAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICB9XG5cbiAgICBib2R5IHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgLy8gT3ZlcmxheVxuICAucmV2ZWFsLW92ZXJsYXkge1xuICAgIEBpbmNsdWRlIHJldmVhbC1vdmVybGF5O1xuICB9XG5cbiAgLy8gTW9kYWwgY29udGFpbmVyXG4gIC5yZXZlYWwge1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlO1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgkcmV2ZWFsLXdpZHRoKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxMDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIC8vIFJlbW92ZSBwYWRkaW5nXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC8vIFNpemluZyBjbGFzc2VzXG4gICAgJi50aW55ICB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgzMCUpOyB9XG4gICAgJi5zbWFsbCB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg1MCUpOyB9XG4gICAgJi5sYXJnZSB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg5MCUpOyB9XG5cbiAgICAvLyBGdWxsLXNjcmVlbiBtb2RlXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgJi53aXRob3V0LW92ZXJsYXkge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgIH1cbiAgfVxufVxuIiwiQG1peGluIGZvdW5kYXRpb24tbm9ybWFsaXplKCkge1xuICAvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbiAgLy8gRG9jdW1lbnRcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuXG4gIGh0bWwge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvLyAxXG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyAyXG4gIH1cblxuICAvLyBTZWN0aW9uc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cblxuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gIC8vIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG5cbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIG1hcmdpbjogMC42N2VtIDA7XG4gIH1cblxuICAvLyBHcm91cGluZyBjb250ZW50XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAgLy8gMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG5cbiAgaHIge1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvLyAxXG4gICAgaGVpZ2h0OiAwOyAvLyAxXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIDJcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cblxuICBwcmUge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLy8gMVxuICAgIGZvbnQtc2l6ZTogMWVtOyAvLyAyXG4gIH1cblxuICAvLyBUZXh0LWxldmVsIHNlbWFudGljc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cblxuICBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC8vIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gIC8vIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG5cbiAgYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7IC8vIDFcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLy8gMlxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLy8gMlxuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cblxuICBiLFxuICBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgY29kZSxcbiAga2JkLFxuICBzYW1wIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8vIDFcbiAgICBmb250LXNpemU6IDFlbTsgLy8gMlxuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogODAlO1xuICB9XG5cbiAgLy8gUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gIC8vIGFsbCBicm93c2Vycy5cblxuICBzdWIsXG4gIHN1cCB7XG4gICAgZm9udC1zaXplOiA3NSU7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxuXG4gIHN1YiB7XG4gICAgYm90dG9tOiAtMC4yNWVtO1xuICB9XG5cbiAgc3VwIHtcbiAgICB0b3A6IC0wLjVlbTtcbiAgfVxuXG4gIC8vIEVtYmVkZGVkIGNvbnRlbnRcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuXG4gIGltZyB7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICB9XG5cbiAgLy8gRm9ybXNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDsgLy8gMVxuICAgIGZvbnQtc2l6ZTogMTAwJTsgLy8gMVxuICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvLyAxXG4gICAgbWFyZ2luOiAwOyAvLyAyXG4gIH1cblxuICAvLyBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgLy8gMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cblxuICBidXR0b24sXG4gIGlucHV0IHsgLy8gMVxuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gIC8vIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cblxuICBidXR0b24sXG4gIHNlbGVjdCB7IC8vIDFcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG5cbiAgYnV0dG9uLFxuICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgW3R5cGU9XCJyZXNldFwiXSxcbiAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cblxuICBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG5cbiAgYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cblxuICBmaWVsZHNldCB7XG4gICAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICAvLyAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gIC8vICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGxlZ2VuZCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxuICAgIGNvbG9yOiBpbmhlcml0OyAvLyAyXG4gICAgZGlzcGxheTogdGFibGU7IC8vIDFcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIDFcbiAgICBwYWRkaW5nOiAwOyAvLyAzXG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLy8gMVxuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cblxuICBwcm9ncmVzcyB7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG5cbiAgdGV4dGFyZWEge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gIC8vIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cblxuICBbdHlwZT1cImNoZWNrYm94XCJdLFxuICBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gICAgcGFkZGluZzogMDsgLy8gMlxuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuXG4gIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuXG4gIFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gMVxuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvLyAyXG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG5cbiAgW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gIC8vIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cblxuICA6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMVxuICAgIGZvbnQ6IGluaGVyaXQ7IC8vIDJcbiAgfVxuXG4gIC8vIEludGVyYWN0aXZlXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cblxuICBkZXRhaWxzIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cblxuICBzdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gIH1cblxuICAvLyBNaXNjXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuXG4gIHRlbXBsYXRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG5cbiAgW2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tY29sb3ItbGl0ZXJhbHMsIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcblxuLy8vL1xuLy8vIEBncm91cCBnbG9iYWxcbi8vLy9cblxuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8vIEZvbnQgc2l6ZSBhdHRyaWJ1dGUgYXBwbGllZCB0byBgPGh0bWw+YCBhbmQgYDxib2R5PmAuIFdlIHVzZSAxMDAlIGJ5IGRlZmF1bHQgc28gdGhlIHZhbHVlIGlzIGluaGVyaXRlZCBmcm9tIHRoZSB1c2VyJ3MgYnJvd3NlciBzZXR0aW5ncy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHdpZHRoIG9mIHlvdXIgc2l0ZS4gVXNlZCBieSB0aGUgZ3JpZCB0byBkZXRlcm1pbmUgcm93IHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBhbGwgdHlwZS4gYCRnbG9iYWwtbGluZWhlaWdodGAgaXMgMjRweCB3aGlsZSBgJGdsb2JhbC1mb250LXNpemVgIGlzIDE2cHhcbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbGluZWhlaWdodDogMS41ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JzIHVzZWQgZm9yIGJ1dHRvbnMsIGNhbGxvdXRzLCBsaW5rcywgZXRjLiBUaGVyZSBtdXN0IGFsd2F5cyBiZSBhIGNvbG9yIGNhbGxlZCBgcHJpbWFyeWAuXG4vLy8gQHR5cGUgTWFwXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICMxNzc5YmEsXG4gIHNlY29uZGFyeTogIzc2NzY3NixcbiAgc3VjY2VzczogIzNhZGI3NixcbiAgd2FybmluZzogI2ZmYWUwMCxcbiAgYWxlcnQ6ICNjYzRiMzcsXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbGlnaHQgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGxpZ2h0LWdyYXk6ICNlNmU2ZTYgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBtZWRpdW0gZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJG1lZGl1bS1ncmF5OiAjY2FjYWNhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgZGFyayBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZGFyay1ncmF5OiAjOGE4YThhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgYmxhY2sgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibGFjazogIzBhMGEwYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIHdoaXRlIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kd2hpdGU6ICNmZWZlZmUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIExpc3RcbiRib2R5LWZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vLyBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSBhbnRpYWxpYXNlZCB0eXBlLCB1c2luZyB0aGUgYC13ZWJraXQtZm9udC1zbW9vdGhpbmdgIGFuZCBgLW1vei1vc3gtZm9udC1zbW9vdGhpbmdgIENTUyBwcm9wZXJ0aWVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIG1hcmdpbiBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcGFkZGluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBvc2l0aW9uaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBvc2l0aW9uOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIG5vcm1hbCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIGJvbGQgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBlbGVtZW50cyB0aGF0IGhhdmUgYSBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1yYWRpdXM6IDAgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBDYW4gYmUgb3ZlcndyaXR0ZW4gYXQgaW5kaXZpZHVhbCBtZW51IGNvbXBvbmVudCBsZXZlbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIE5lc3RlZCBtYXJnaW4gZm9yIHN1Ym1lbnUuXG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIHRleHQgZGlyZWN0aW9uIG9mIHRoZSBDU1MuIENhbiBiZSBlaXRoZXIgYGx0cmAgb3IgYHJ0bGAuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGZvciBjb21wb25lbnRzIHRoYXQgc3VwcG9ydCBpdC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLWZsZXhib3g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVkIHJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHByb3RvdHlwZXMgaWYgYXBwbGljYWJsZVxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIEJ1dHRvbiBjdXJzb3IncyB2YWx1ZSwgYGF1dG9gIGJ5IGRlZmF1bHRcbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLWJ1dHRvbi1jdXJzb3I6IGF1dG8gIWRlZmF1bHQ7XG5cbkBpZiBub3QgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICBAZXJyb3IgJ0luICRmb3VuZGF0aW9uLXBhbGV0dGUsIHlvdSBtdXN0IGhhdmUgYSBjb2xvciBuYW1lZCBcInByaW1hcnlcIi4nO1xufVxuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgdGV4dCBkaXJlY3Rpb25cbiRnbG9iYWwtbGVmdDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIHJpZ2h0LCBsZWZ0KTtcbiRnbG9iYWwtcmlnaHQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBsZWZ0LCByaWdodCk7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlIHRoYXQgY29udGFpbnMgdGhlIGZsZXgganVzdGlmeWluZyBvcHRpb25zXG4kLXpmLWZsZXgtanVzdGlmeTogLXpmLWZsZXgtanVzdGlmeSgkZ2xvYmFsLXRleHQtZGlyZWN0aW9uKTtcblxuLy8vIEdsb2JhbCB0b2xlcmFuY2UgZm9yIGNvbG9yIHBpY2sgY29udHJhc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgY29sb3JzXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXMge1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW5vcm1hbGl6ZTtcblxuICAvLyBUaGVzZSBzdHlsZXMgYXJlIGFwcGxpZWQgdG8gYSA8bWV0YT4gdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHRcbiAgLmZvdW5kYXRpb24tbXEge1xuICAgIGZvbnQtZmFtaWx5OiAnI3stemYtYnAtc2VyaWFsaXplKCRicmVha3BvaW50cyl9JztcbiAgfVxuXG4gIGh0bWwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIFNldCBib3gtc2l6aW5nIGdsb2JhbGx5IHRvIGhhbmRsZSBwYWRkaW5nIGFuZCBib3JkZXIgd2lkdGhzXG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG5cbiAgICBAaWYgKCRib2R5LWFudGlhbGlhc2VkKSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAvLyBHcmlkIGRlZmF1bHRzIHRvIGdldCBpbWFnZXMgYW5kIGVtYmVkcyB0byB3b3JrIHByb3Blcmx5XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHRleHRhcmVhIHRha2VzIG9uIGhlaWdodCBhdXRvbWF0aWNhbGx5XG4gIHRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIE1ha2Ugc2VsZWN0IGVsZW1lbnRzIGFyZSAxMDAlIHdpZHRoIGJ5IGRlZmF1bHRcbiAgc2VsZWN0IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gU3R5bGVzIEdvb2dsZSBNYXBzIGFuZCBNYXBRdWVzdCBlbWJlZHMgcHJvcGVybHlcbiAgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1pZHNcbiAgLm1hcF9jYW52YXMsXG4gIC5tcWEtZGlzcGxheSB7XG4gICAgaW1nLFxuICAgIGVtYmVkLFxuICAgIG9iamVjdCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCA8YnV0dG9uPiBzdHlsZXMgY3JlYXRlZCBieSBtb3N0IGJyb3dzZXJzXG4gIGJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY3Vyc29yOiAkZ2xvYmFsLWJ1dHRvbi1jdXJzb3I7XG4gIH1cblxuICAvLyBQcmV2ZW50IHRleHQgb3ZlcmZsb3cgb24gcHJlXG4gIHByZSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvLyBNYWtlIHJlc2V0IGluaGVyaXQgZm9udC1mYW1pbHkgaW5zdGVhZCBvZiBzZXR0aW5ncyBzYW5zLXNlcmlmXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEludGVybmFsIGNsYXNzZXMgdG8gc2hvdy9oaWRlIGVsZW1lbnRzIGluIEphdmFTY3JpcHRcbiAgLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaXMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENyZWF0ZXMgYW4gaW5uZXIgYm94LXNoYWRvdyBmb3Igb25seSBvbmUgc2lkZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2lkZSAtIFNpZGUgdGhlIHNoYWRvdyBpcyBzdXBwb3NlZCB0byBhcHBlYXIuIENhbiBiZSBgdG9wYCwgYGxlZnRgLCBgcmlnaHRgIG9yIGBib3R0b21gLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSAtIFdpZHRoIGZvciB0aGUgdGFyZ2V0IHNpZGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3Igb2YgdGhlIHNoYWRvdy5cbkBtaXhpbiBpbm5lci1zaWRlLXNoYWRvdyhcbiAgJHNpZGU6IGJvdHRvbSxcbiAgJHNpemU6IDIwcHgsXG4gICRjb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpXG4pIHtcblxuICAkaGVscGVyOiByb3VuZCgkc2l6ZSAqIDAuNjUpO1xuXG4gIEBpZiAoJHNpZGUgPT0gdG9wKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAkaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGxlZnQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAkaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gcmlnaHQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAoLTEpKiRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBib3R0b20pIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICgtMSkqJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgQ1NTIHRyaWFuZ2xlLCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgZHJvcGRvd24gYXJyb3dzLCBkcm9wZG93biBwaXBzLCBhbmQgbW9yZS4gVXNlIHRoaXMgbWl4aW4gaW5zaWRlIGEgYCY6OmJlZm9yZWAgb3IgYCY6OmFmdGVyYCBzZWxlY3RvciwgdG8gYXR0YWNoIHRoZSB0cmlhbmdsZSB0byBhbiBleGlzdGluZyBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0cmlhbmdsZS1zaXplIC0gV2lkdGggb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICR0cmlhbmdsZS1jb2xvciAtIENvbG9yIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0cmlhbmdsZS1kaXJlY3Rpb24gLSBEaXJlY3Rpb24gdGhlIHRyaWFuZ2xlIHBvaW50cy4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuQG1peGluIGNzcy10cmlhbmdsZShcbiAgJHRyaWFuZ2xlLXNpemUsXG4gICR0cmlhbmdsZS1jb2xvcixcbiAgJHRyaWFuZ2xlLWRpcmVjdGlvblxuKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuXG4gIGJvcmRlcjogaW5zZXQgJHRyaWFuZ2xlLXNpemU7XG5cbiAgY29udGVudDogJyc7XG5cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGRvd24pIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSB1cCkge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHJpZ2h0KSB7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBtZW51IGljb24gd2l0aCBhIHNldCB3aWR0aCwgaGVpZ2h0LCBudW1iZXIgb2YgYmFycywgYW5kIGNvbG9ycy4gVGhlIG1peGluIHVzZXMgdGhlIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiB0aGUgYmFycyB0byBkZXRlcm1pbmUgc3BhY2luZy4gPGRpdiBjbGFzcz1cImRvY3MtZXhhbXBsZS1idXJnZXJcIj48L2Rpdj5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yLWhvdmVyIFskZGFyay1ncmF5XSAtIENvbG9yIHRvIHVzZSB3aGVuIHRoZSBpY29uIGlzIGhvdmVyZWQgb3Zlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFsyMHB4XSAtIFdpZHRoIG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFsxNnB4XSAtIEhlaWdodCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbMnB4XSAtIEhlaWdodCBvZiBpbmRpdmlkdWFsIGJhcnMgaW4gdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXJzIFszXSAtIE51bWJlciBvZiBiYXJzIGluIHRoZSBpY29uLlxuQG1peGluIGhhbWJ1cmdlcihcbiAgJGNvbG9yOiAkYmxhY2ssXG4gICRjb2xvci1ob3ZlcjogJGRhcmstZ3JheSxcbiAgJHdpZHRoOiAyMHB4LFxuICAkaGVpZ2h0OiAxNnB4LFxuICAkd2VpZ2h0OiAycHgsXG4gICRiYXJzOiAzXG4pIHtcbiAgLy8gYm94LXNoYWRvdyBDU1Mgb3V0cHV0XG4gICRzaGFkb3c6ICgpO1xuICAkaG92ZXItc2hhZG93OiAoKTtcblxuICAvLyBTcGFjaW5nIGJldHdlZW4gYmFycyBpcyBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSB0b3RhbCBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgZWFjaCBiYXJcbiAgJHNwYWNpbmc6ICgkaGVpZ2h0IC0gKCR3ZWlnaHQgKiAkYmFycykpIC8gKCRiYXJzIC0gMSk7XG5cbiAgQGlmIHVuaXQoJHNwYWNpbmcpID09ICdweCcge1xuICAgICRzcGFjaW5nOiBmbG9vcigkc3BhY2luZyk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICRzaGFkb3c6IGFwcGVuZCgkc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3IsIGNvbW1hKTtcbiAgfVxuXG4gIC8vIEljb24gY29udGFpbmVyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBJY29uIGJhcnNcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHdlaWdodDtcblxuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaWYgJGNvbG9yLWhvdmVyIHtcbiAgICAvLyBHZW5lcmF0ZSBDU1NcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgICAkaG92ZXItc2hhZG93OiBhcHBlbmQoJGhvdmVyLXNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLWhvdmVyLCBjb21tYSk7XG4gICAgfVxuXG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgICAgYm94LXNoYWRvdzogJGhvdmVyLXNoYWRvdztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkb3dud2FyZC1mYWNpbmcgdHJpYW5nbGUgYXMgYSBiYWNrZ3JvdW5kIGltYWdlIHRvIGFuIGVsZW1lbnQuIFRoZSBpbWFnZSBpcyBmb3JtYXR0ZWQgYXMgYW4gU1ZHLCBtYWtpbmcgaXQgZWFzeSB0byBjaGFuZ2UgdGhlIGNvbG9yLiBCZWNhdXNlIEludGVybmV0IEV4cGxvcmVyIGRvZXNuJ3Qgc3VwcG9ydCBlbmNvZGVkIFNWR3MgYXMgYmFja2dyb3VuZCBpbWFnZXMsIGEgUE5HIGZhbGxiYWNrIGlzIGFsc28gaW5jbHVkZWQuXG4vLy8gVGhlcmUgYXJlIHR3byBQTkcgZmFsbGJhY2tzOiBhIGJsYWNrIHRyaWFuZ2xlIGFuZCBhIHdoaXRlIHRyaWFuZ2xlLiBUaGUgb25lIHVzZWQgZGVwZW5kcyBvbiB0aGUgbGlnaHRuZXNzIG9mIHRoZSBpbnB1dCBjb2xvci5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIHRyaWFuZ2xlLlxuQG1peGluIGJhY2tncm91bmQtdHJpYW5nbGUoJGNvbG9yOiAkYmxhY2spIHtcbiAgJHJnYjogJ3JnYiUyOCN7cm91bmQocmVkKCRjb2xvcikpfSwgI3tyb3VuZChncmVlbigkY29sb3IpKX0sICN7cm91bmQoYmx1ZSgkY29sb3IpKX0lMjknO1xuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogI3skcmdifSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcbiAgICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPCA2MCUge1xuICAgICAgLy8gV2hpdGUgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBCbGFjayB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQU1CSlJFRlVlTnJFbGxzT2hDQU1SVnN6QzlJbHpVN0tDbVZIVEpzb01XWU1VdHB5djlCZ2J1WFFCNVpTZGdCWVlZNHljZ0Jpdms4S1lGc1FNZk1pVFRCUDRvM25VekNLek9hYkxKYkx5Mi9nMzFldkdrQWdpblI0L1plZ0tINXFYM2JKQ3NjQTN0MHgza2dPNXRRRnloaEZmNTB4UnFGTGJ5TVVOSlF6Z3lqR1Mvd2dDcHZLcWtSQnB1V3JFNFY5ZCsxRTRkUFVYcUlnMTA3U1FPRS8yRFJReE13VER5Z0lJblZERVQ5VDNsQ29qLzZqL1ZDbUdqWk9sMmxLcFo4QUF3RFFQN3pJaW1ER0ZRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBcHBsaWVzIHRoZSBtaWNybyBjbGVhcmZpeCBoYWNrIHBvcHVsYXJpemVkIGJ5IE5pY29sYXMgR2FsbGFnaGVyLiBJbmNsdWRlIHRoaXMgbWl4aW4gb24gYSBjb250YWluZXIgaWYgaXRzIGNoaWxkcmVuIGFyZSBhbGwgZmxvYXRlZCwgdG8gZ2l2ZSB0aGUgY29udGFpbmVyIGEgcHJvcGVyIGhlaWdodC5cbi8vLyBUaGUgY2xlYXJmaXggaXMgYXVnbWVudGVkIHdpdGggc3BlY2lmaWMgc3R5bGVzIHRvIHByZXZlbnQgYm9yZGVycyBpbiBmbGV4Ym94IGVudmlyb25tZW50c1xuLy8vIEBsaW5rIGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrLyBNaWNybyBDbGVhcmZpeCBIYWNrXG4vLy8gQGxpbmsgaHR0cDovL2RhbmlzYWRlc2lnbmVyLmNvbS9ibG9nL2ZsZXhib3gtY2xlYXItZml4LXBzZXVkby1lbGVtZW50cy8gRmxleGJveCBmaXhcbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLy8gQWRkcyBDU1MgZm9yIGEgXCJxdWFudGl0eSBxdWVyeVwiIHNlbGVjdG9yIHRoYXQgYXV0b21hdGljYWxseSBzaXplcyBlbGVtZW50cyBiYXNlZCBvbiBob3cgbWFueSB0aGVyZSBhcmUgaW5zaWRlIGEgY29udGFpbmVyLlxuLy8vIEBsaW5rIGh0dHA6Ly9hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlL3F1YW50aXR5LXF1ZXJpZXMtZm9yLWNzcyBRdWFudGl0eSBRdWVyaWVzIGZvciBDU1Ncbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IC0gTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gZGV0ZWN0LiBUaGUgaGlnaGVyIHRoaXMgbnVtYmVyIGlzLCB0aGUgbW9yZSBDU1MgdGhhdCdzIHJlcXVpcmVkIHRvIGNvdmVyIGVhY2ggbnVtYmVyIG9mIGl0ZW1zLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gW2xpXSAtIFRhZyB0byB1c2UgZm9yIHNpYmxpbmcgc2VsZWN0b3JzLlxuQG1peGluIGF1dG8td2lkdGgoJG1heCwgJGVsZW06IGxpKSB7XG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJG1heCB7XG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQsXG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQgfiAjeyRlbGVtfSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgxIC8gJGkpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyB0aGUgZm9jdXMgcmluZyBhcm91bmQgYW4gZWxlbWVudCB3aGVuIGEgbW91c2UgaW5wdXQgaXMgZGV0ZWN0ZWQuXG5AbWl4aW4gZGlzYWJsZS1tb3VzZS1vdXRsaW5lIHtcbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddICYge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgc3RpbGwgYWNjZXNzaWJsZSB0byBrZXlib2FyZHMgYW5kIGFzc2lzdGl2ZSBkZXZpY2VzLlxuLy8vIEBsaW5rIGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHkgSGlkaW5nIENvbnRlbnQgZm9yIEFjY2Vzc2liaWxpdHlcbi8vLyBAbGluayBodHRwOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZW5mb3JjZSAtIElmIGB0cnVlYCwgdXNlIGAhaW1wb3J0YW50YCBvbiBhcHBsaWVkIHByb3BlcnRpZXNcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZShcbiAgJGVuZm9yY2U6IHRydWVcbikge1xuICAkaW1wb3J0YW50OiBpZigkZW5mb3JjZSwgJyFpbXBvcnRhbnQnLCBudWxsKTtcblxuICBwb3NpdGlvbjogYWJzb2x1dGUgI3skaW1wb3J0YW50fTtcbiAgd2lkdGg6IDFweCAjeyRpbXBvcnRhbnR9O1xuICBoZWlnaHQ6IDFweCAjeyRpbXBvcnRhbnR9O1xuICBwYWRkaW5nOiAwICN7JGltcG9ydGFudH07XG4gIG92ZXJmbG93OiBoaWRkZW4gI3skaW1wb3J0YW50fTtcbiAgY2xpcDogcmVjdCgwLDAsMCwwKSAjeyRpbXBvcnRhbnR9O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICN7JGltcG9ydGFudH07XG4gIGJvcmRlcjogMCAjeyRpbXBvcnRhbnR9O1xufVxuXG4vLy8gUmV2ZXJzZXMgdGhlIENTUyBvdXRwdXQgY3JlYXRlZCBieSB0aGUgYGVsZW1lbnQtaW52aXNpYmxlKClgIG1peGluLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGVuZm9yY2UgLSBJZiBgdHJ1ZWAsIHVzZSBgIWltcG9ydGFudGAgb24gYXBwbGllZCBwcm9wZXJ0aWVzXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmKFxuICAkZW5mb3JjZTogdHJ1ZVxuKSB7XG4gICRpbXBvcnRhbnQ6IGlmKCRlbmZvcmNlLCAnIWltcG9ydGFudCcsIG51bGwpO1xuXG4gIHBvc2l0aW9uOiBzdGF0aWMgI3skaW1wb3J0YW50fTtcbiAgd2lkdGg6IGF1dG8gI3skaW1wb3J0YW50fTtcbiAgaGVpZ2h0OiBhdXRvICN7JGltcG9ydGFudH07XG4gIG92ZXJmbG93OiB2aXNpYmxlICN7JGltcG9ydGFudH07XG4gIGNsaXA6IGF1dG8gI3skaW1wb3J0YW50fTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbCAjeyRpbXBvcnRhbnR9O1xufVxuXG4vLy8gVmVydGljYWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiB2ZXJ0aWNhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gaG9yaXpvbnRhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4vLy8gQWJzb2x1dGVseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBhYnNvbHV0ZS1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4vLy8gSXRlcmF0ZXMgdGhyb3VnaCBicmVha3BvaW50cyBkZWZpbmVkIGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBhbmQgcHJpbnRzIHRoZSBDU1MgaW5zaWRlIHRoZSBtaXhpbiBhdCBlYWNoIGJyZWFrcG9pbnQncyBtZWRpYSBxdWVyeS4gVXNlIHRoaXMgd2l0aCB0aGUgZ3JpZCwgb3IgYW55IG90aGVyIGNvbXBvbmVudCB0aGF0IGhhcyByZXNwb25zaXZlIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRzbWFsbCBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBza2lwIHRoZSBgc21hbGxgIGJyZWFrcG9pbnQuIFVzZSB0aGlzIHdpdGggY29tcG9uZW50cyB0aGF0IGRvbid0IHByZWZpeCBjbGFzc2VzIHdpdGggYHNtYWxsLWAsIG9ubHkgYG1lZGl1bS1gIGFuZCB1cC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRhdXRvLWluc2VydC1icmVha3BvaW50cyBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBpdGVyYXRlIG92ZXIgYnJlYWtwb2ludHMgd2l0aG91dCBkb2luZyB0aGUgbWVkaWEgcXVlcnkgaXRzZWxmLiBVc2VmdWwgZm9yIG1vcmUgY29tcGxleCBtZWRpYSBxdWVyeSBnZW5lcmF0aW9uIGFzIGluIHRoZSBtYXJnaW4gZ3JpZC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50KFxuICAkc21hbGw6IHRydWUsXG4gICRhdXRvLWluc2VydC1icmVha3BvaW50czogdHJ1ZVxuKSB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQtaW4oYXV0bywgLXpmLWJvb2woJHNtYWxsKSwgLXpmLWJvb2woJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzKSkge1xuICAgIEBjb250ZW50XG4gIH07XG59XG5cbi8vLyBJdGVyYXRlcyB3aXRoIGBAY29udGVudGAgdGhyb3VnaCB0aGUgZ2l2ZW4gbGlzdCBvZiBicmVha3BvaW50cyBgJGJyZWFrcG9pbnRzYC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfExpc3R9ICRicmVha3BvaW50cyBbYXV0b10gLSBCcmVha3BvaW50cyB0byBpdGVyYXRlcyBvbi4gSXQgY2FuIGJlIGEgYnJlYWtwb2ludCBuYW1lLCBsaXN0IG9mIGJyZWFrcG9pbnRzIG9yIGBhdXRvYCBmb3IgYWxsIGJyZWFrcG9pbnRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbnxOdWxsfSAkemVyby1icmVha3BvaW50IFtudWxsXSAtIFdoZXRoZXIgdGhlIHplcm8tYnJlYWtwb2ludCAob2Z0ZW4gYHNtYWxsYCkgbXVzdCBiZSBpbmNsdWRlZC4gSWYgYHRydWVgLCBpdCB3aWxsIGFsd2F5cyBiZSBhZGRlZCB0byB0aGUgbGlzdCBpZiBub3QgYWxyZWFkeSB0aGVyZS4gSWYgYGZhbHNlYCwgaXQgd2lsbCBhbHdheXMgYmUgcmVtb3ZlZC4gRG9lcyBub3RoaW5nIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtCb29sZWFufEtleXdvcmR9ICRtZWRpYS1xdWVyaWVzIFt0cnVlXSAtIFdoZXRoZXIgbWVkaWEtcXVlcmllcyBtdXN0IGJlIGdlbmVyYXRlZC4gSWYgYGZvci1saXN0c2AsIG9ubHkgZ2VuZXJhdGUgbWVkaWEtcXVlcmllcyB3aGVuIGAkYnJlYWtwb2ludHNgIGlzIGEgbGlzdC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50LWluKFxuICAkYnJlYWtwb2ludHM6IGF1dG8sXG4gICR6ZXJvLWJyZWFrcG9pbnQ6IG51bGwsXG4gICRtZWRpYS1xdWVyaWVzOiB0cnVlXG4pIHtcbiAgJC1saXN0OiAoKTtcbiAgJC1icmVha3BvaW50cy1pcy1hLWxpc3Q6IHRydWU7XG5cbiAgLy8gUmV0cmlldmUgdGhlIGxpc3Qgb2YgYnJlYWtwb2ludChzKSB0byBpdGVyYXRlIG9uLlxuICBAaWYgJGJyZWFrcG9pbnRzID09IGF1dG8ge1xuICAgICQtbGlzdDogJGJyZWFrcG9pbnQtY2xhc3NlcztcbiAgfVxuICBAZWxzZSBpZiB0eXBlLW9mKCRicmVha3BvaW50cykgPT0gJ2xpc3QnIHtcbiAgICAkLWxpc3Q6ICRicmVha3BvaW50cztcbiAgfVxuICBAZWxzZSBpZiB0eXBlLW9mKCRicmVha3BvaW50cykgPT0gJ3N0cmluZycge1xuICAgICQtbGlzdDogKCRicmVha3BvaW50cyk7XG4gICAgJC1icmVha3BvaW50cy1pcy1hLWxpc3Q6IGZhbHNlO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgXCIkYnJlYWtwb2ludHNcIiBpbiBcIi16Zi1lYWNoLWJyZWFrcG9pbnQtaW4oKVwiLiBHb3QgXCIjeyRicmVha3BvaW50c31cIiAoI3t0eXBlLW9mKCRicmVha3BvaW50cyl9KS4gRXhwZWN0ZWQgYSBicmVha3BvaW50IG5hbWUsIGEgbGlzdCBvZiBicmVha3BvaW50cyBvciBcImF1dG9cIic7XG4gIH1cblxuICAvLyBBZGQgb3IgcmVtb3ZlIHRoZSB6ZXJvIGJyZWFrcG9pbnQgYWNjb3JkaW5nIHRvIGAkemVyby1icmVha3BvaW50YFxuICBAaWYgJHplcm8tYnJlYWtwb2ludCA9PSB0cnVlIHtcbiAgICAkLWxpc3Q6IGpvaW4oKCQtemYtemVyby1icmVha3BvaW50KSwgc2wtcmVtb3ZlKCQtbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpKTtcbiAgfVxuICBAZWxzZSBpZiAkemVyby1icmVha3BvaW50ID09IGZhbHNlIHtcbiAgICAkLWxpc3Q6IHNsLXJlbW92ZSgkLWxpc3QsICQtemYtemVyby1icmVha3BvaW50KTtcbiAgfVxuXG4gIC8vIEl0ZXJhdGUgb24gYnJlYWtwb2ludChzKVxuICBAZWFjaCAkYnAgaW4gJC1saXN0IHtcbiAgICAkb2xkLXpmLXNpemU6IG51bGw7XG4gICAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcbiAgICAgICRvbGQtemYtc2l6ZTogJC16Zi1zaXplO1xuICAgIH1cbiAgICAkLXpmLXNpemU6ICRicCAhZ2xvYmFsO1xuXG4gICAgQGlmICgkbWVkaWEtcXVlcmllcyA9PSB0cnVlXG4gICAgICBvciAoJG1lZGlhLXF1ZXJpZXMgPT0gJ2Zvci1saXN0cycgYW5kICQtYnJlYWtwb2ludHMtaXMtYS1saXN0KSkge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnApIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHRoZSBgQGNvbnRlbnRgIHBhc3NlZCB0byB0aGUgbWl4aW4gd2l0aCBhIHZhbHVlIGAkLXpmLWJwLXZhbHVlYCByZWxhdGVkIHRvIGEgYnJlYWtwb2ludCwgZGVwZW5kaW5nIG9uIHRoZSBgJG5hbWVgIHBhcmFtZXRlcjpcbi8vLyAtIEZvciBhIHNpbmdsZSB2YWx1ZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoaXMgdmFsdWUuXG4vLy8gLSBGb3IgYSBicmVha3BvaW50IG5hbWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYC5cbi8vLyAtIEZvciBcImF1dG9cIiwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgIGFuZCBpcyBwYXNzZWQgdG8gYEBjb250ZW50YCwgd2hpY2ggaXMgbWFkZSByZXNwb25zaXZlIGZvciBlYWNoIGJyZWFrcG9pbnQgb2YgYCRtYXBgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfEFycmF5fEtleXdvcmR9ICRuYW1lIFthdXRvXSAtIFNpbmdsZSB2YWx1ZSwgYnJlYWtwb2ludCBuYW1lLCBvciBsaXN0IG9mIGJyZWFrcG9pbnQgbmFtZXMgdG8gdXNlLiBcImF1dG9cIiBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIE1hcCBvZiBicmVha3BvaW50cyBhbmQgdmFsdWVzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuXG5AbWl4aW4gLXpmLWJyZWFrcG9pbnQtdmFsdWUoXG4gICRuYW1lOiBhdXRvLFxuICAkbWFwOiBudWxsXG4pIHtcbiAgQGlmICRuYW1lID09IGF1dG8gYW5kIHR5cGUtb2YoJG1hcCkgPT0gJ21hcCcge1xuICAgIC8vIFwiYXV0b1wiXG4gICAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkaykge1xuICAgICAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkdiwgJG1hcCkge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBicmVha3BvaW50IG5hbWVcbiAgICBAaWYgdHlwZS1vZigkbmFtZSkgPT0gJ3N0cmluZycge1xuICAgICAgJGJwLXZhbHVlOiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkbmFtZSk7XG4gICAgICBAaWYgJGJwLXZhbHVlICE9IG51bGwge1xuICAgICAgICAkbmFtZTogJGJwLXZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGJyZWFrcG9pbnQgdmFsdWVcbiAgICAkLXpmLWJwLXZhbHVlOiAkbmFtZSAhZ2xvYmFsO1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktYmFzZS1ncmlkLWNsYXNzZXMge1xuXG4gIC8vIEdyaWQgQ29udGFpbmVyXG4gIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XG5cbiAgICAmLmZsdWlkIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKDEwMCUpO1xuICAgIH1cblxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcigxMDAlLCAwKTtcbiAgICB9XG4gIH1cblxuICAvLyBCYXNlIGdyaWQgc3R5bGVzXG4gIC5ncmlkLXgge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gIH1cblxuICAuY2VsbCB7XG4gICAgQGluY2x1ZGUgeHktY2VsbChmdWxsLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuXG4gICAgJi5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcbiAgICB9XG5cbiAgICAmLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICB9XG5cbiAgfVxuICAuZ3JpZC14IHtcbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShhdXRvLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgIH1cblxuICAgID4gLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEF1dG8gd2lkdGhcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzICYgUFJzIGZvciB0aGUgYmFja3N0b3J5OlxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMjIyIGFuZFxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDE2NFxuICAgIC5ncmlkLXgge1xuICAgICAgJHN0cjogXCI+IC4jeyQtemYtc2l6ZX0tc2hyaW5rLCA+IC4jeyQtemYtc2l6ZX0tZnVsbFwiO1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgJHN0cjogJHN0ciArIFwiLCA+IC4jeyQtemYtc2l6ZX0tI3skaX1cIlxuICAgICAgfVxuICAgICAgI3skc3RyfSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAvLyBSZXNwb25zaXZlIFwiYXV0b1wiIG1vZGlmaWVyXG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKGF1dG8sICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJS14eS1jZWxsLWJhc2Utc2hyaW5rLWhvcml6b250YWwtI3skLXpmLXNpemV9IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgXCJzaHJpbmtcIiBtb2RpZmllclxuICAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS1zaHJpbmsge1xuICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay1ob3Jpem9udGFsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIHdpZHRoIG1vZGlmaWVyc1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLWhvcml6b250YWwtI3skLXpmLXNpemV9O1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJGksICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgd2lkdGggd2hlbiB1c2luZyBgLmdyaWQtbWFyZ2luLXhgIG5vdCBvbiBgLmdyaWQteGBcbiAgLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLy8gUmVzZXQgaGVpZ2h0IHdoZW4gdXNpbmcgYC5ncmlkLW1hcmdpbi15YCBub3Qgb24gYC5ncmlkLXlgXG4gIC5ncmlkLW1hcmdpbi15Om5vdCguZ3JpZC15KSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxuQG1peGluIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkY2xhc3MtYnJlYWtwb2ludCwgJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWwpIHtcbiAgJHByZWZpeDogaWYoJGNsYXNzLWJyZWFrcG9pbnQgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQsICcnLCAnI3skY2xhc3MtYnJlYWtwb2ludH0tJyk7XG4gID4gLiN7JHByZWZpeH1hdXRvIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoYXV0bywgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgPiAuI3skcHJlZml4fXNocmluayB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgJGNsYXNzbmFtZTogaWYoJHZlcnRpY2FsLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9JywgJy4jeyRjbGFzcy1icmVha3BvaW50fS0jeyRpfScpO1xuXG4gICAgPiAjeyRjbGFzc25hbWV9IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktbWFyZ2luLWdyaWQtY2xhc3NlcyhcbiAgJGd1dHRlci1wb3NpdGlvbjogbGVmdCByaWdodCxcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJHdyYXBwaW5nLXNlbGVjdG9yOiAnLmdyaWQtbWFyZ2luLXgnXG4pe1xuICAjeyR3cmFwcGluZy1zZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiAkZ3V0dGVyLXBvc2l0aW9uKTtcblxuICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHZlcnRpY2FsOiAkdmVydGljYWwsICRvdXRwdXQ6IChzaXplIGd1dHRlcnMpKTtcbiAgICB9XG5cbiAgICAvLyBiYXNlIHN0eWxlcyBuZWVkIHRvIGFsbCBiZSBiZWZvcmUgdGhlIGF1dG8gYW5kIHNocmluayBzdHlsZXNcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSBhbmQgJC16Zi1zaXplICE9ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAgID4gLmNlbGwge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHZlcnRpY2FsOiAkdmVydGljYWwsICRvdXRwdXQ6IChzaXplIGd1dHRlcnMpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG5cbiAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAvLyBmb3IgYWxsIHByaW9yIGJyZWFrcG9pbnRzLlxuICAgICAgLy8gQXMgdGhlaXIgZ3V0dGVyIGlzIGRlZmluZWQgd2l0aCB0aGVpciB3aWR0aC9oZWlnaHQsIGV2ZW4gYnJlYWtwb2ludCB3aXRob3V0IGEgbmV3IG1hcmdpbiBtdXN0IGJlXG4gICAgICAvLyBnZW5lcmF0ZWQgdG8gbm90IGhhdmluZyB0aGVpciB3aWR0aC9oZWlnaHQgb3ZlcnJpZGVkIGJ5IHJlLWFkanVzdGVkIHNtYWxsZXIgYnJlYWtwb2ludHMuXG4gICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgIEBlYWNoICRicCBpbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCQtemYtc2l6ZSkge1xuICAgICAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkYnAsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJC16Zi1zaXplLCAkLXpmLXNpemUsICR2ZXJ0aWNhbCk7XG4gICAgfVxuICB9XG59XG5cbi8vIFBhZGRpbmcgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktcGFkZGluZy1ncmlkLWNsYXNzZXMge1xuICAuZ3JpZC1wYWRkaW5nLXgge1xuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcbiAgICAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgIH1cblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgZ3JpZHMgd2l0aGluIGBncmlkLWNvbnRhaW5lci9ncmlkLWNvbnRhaW5lci5mbHVpZGBcbiAgICAvLyBUaGlzIGFsbG93cyBtYXJnaW4gYW5kIHBhZGRpbmcgZ3JpZHMgdG8gbGluZSB1cCB3aXRoIGVhY2hvdGhlclxuICAgIC5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gJiB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBCbG9jayBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkOiB0cnVlLCAkcGFkZGluZy1ncmlkOiB0cnVlKSB7XG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJG46ICRpLCAkc2VsZWN0b3I6ICcuY2VsbCcsICRndXR0ZXItdHlwZTogcGFkZGluZywgJG91dHB1dDogKHNpemUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAvLyBUaGlzIGlzIHB1cmVseSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzIC0gdGhlIG1hcmdpbiBncmlkIGhhcyB0byBnbyBiYWNrIGFuZCBhZGp1c3Qgd2lkdGhzIChvciBoZWlnaHRzKVxuICAgICAgICAvLyBmb3IgcHJpb3IgYnJlYWtwb2ludHMgYmFzZWQgb24gdGhlIHJlc3BvbnNpdmUgZ3V0dGVyLlxuICAgICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgICAgQGVhY2ggJGJwIGluIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJC16Zi1zaXplKSB7XG4gICAgICAgICAgICBAaWYobWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRicCkpIHtcbiAgICAgICAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skYnB9LXVwLSN7JGl9IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkbjogJGksICRzZWxlY3RvcjogJy5jZWxsJywgJGd1dHRlci10eXBlOiBtYXJnaW4sICRvdXRwdXQ6IChzaXplKSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkbjogJGksICRzZWxlY3RvcjogJy5jZWxsJywgJGd1dHRlci10eXBlOiBtYXJnaW4sICRvdXRwdXQ6IChzaXplKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ29sbGFwc2UgY2xhc3Nlc1xuQG1peGluIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQ6IHRydWUsICRwYWRkaW5nLWdyaWQ6IHRydWUpIHtcbiAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgICAgLiN7JGJwfS1tYXJnaW4tY29sbGFwc2Uge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbGxhcHNlKCRndXR0ZXItdHlwZTogbWFyZ2luLCAkbWluLWJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgICAgLiN7JGJwfS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRtaW4tYnJlYWtwb2ludDogJGJwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gT2Zmc2V0IGNsYXNzZXNcbkBtaXhpbiB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgIC8vIE9mZnNldHNcbiAgICAgICRvOiAkaSAtIDE7XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG8sICRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICB9XG5cbiAgICAgIC5ncmlkLW1hcmdpbi14ID4gLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgkbyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFZlcnRpY2FsIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcyhcbiAgJG1hcmdpbi1ncmlkOiB0cnVlLFxuICAkcGFkZGluZy1ncmlkOiB0cnVlXG4pIHtcblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgfVxuICB9XG5cbiAgLmdyaWQteSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZCh2ZXJ0aWNhbCwgZmFsc2UpO1xuXG5cbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtcmVzZXQoKTtcbiAgICB9XG5cbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShhdXRvLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgfVxuXG4gICAgPiAuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShzaHJpbmssICRndXR0ZXItdHlwZTogbm9uZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICB9XG5cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzIGFuZCBQUnMgZm9yIHRoZSBiYWNrc3Rvcnk6XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMDI0NFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMjIyIGFuZFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMTY0XG4gICAgICAkc3RyOiBcIj4gLiN7JC16Zi1zaXplfS1zaHJpbmssID4gLiN7JC16Zi1zaXplfS1mdWxsXCI7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gLiN7JC16Zi1zaXplfS0jeyRpfVwiXG4gICAgICB9XG4gICAgICAjeyRzdHJ9IHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgLy8gUmVzcG9uc2l2ZSBcImF1dG9cIiBtb2RpZmllclxuICAgICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LWF1dG8ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoYXV0bywgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICUteHktY2VsbC1iYXNlLXNocmluay12ZXJ0aWNhbC0jeyQtemYtc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICAgIH1cblxuICAgICAgLy8gUmVzcG9uc2l2ZSBcInNocmlua1wiIG1vZGlmaWVyXG4gICAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tc2hyaW5rIHtcbiAgICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay12ZXJ0aWNhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFJlc3BvbnNpdmUgd2lkdGggbW9kaWZpZXJzXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgID4gLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstdmVydGljYWwtI3skLXpmLXNpemV9O1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG4gIH1cblxuICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgbmVzdGVkIGdyaWRzXG4gICAgICAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSwgJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSk7XG4gICAgICB9XG5cbiAgICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICAgID4gLmNlbGwge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZywgJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3Nlcyh0b3AgYm90dG9tLCB0cnVlLCAnLmdyaWQtbWFyZ2luLXknKTtcbiAgfVxuXG59XG5cbkBtaXhpbiB4eS1mcmFtZS1ncmlkLWNsYXNzZXMoJHZlcnRpY2FsLWdyaWQ6IHRydWUsICRtYXJnaW4tZ3JpZDogdHJ1ZSkge1xuICAvLyBGcmFtZWQgZ3JpZCBzdHlsZXNcbiAgLmdyaWQtZnJhbWUge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWU7XG4gIH1cblxuICAuY2VsbCAuZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gIH1cblxuICAuY2VsbC1ibG9jayB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jaygpO1xuICB9XG5cbiAgLmNlbGwtYmxvY2steSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jayh0cnVlKTtcbiAgfVxuXG5cbiAgLmNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpO1xuICB9XG5cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG5cbiAgICAuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZTtcbiAgICB9XG5cbiAgICAuY2VsbCAuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgd2lkdGg6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2soKTtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCk7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrLXkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jayh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBAaWYgJHZlcnRpY2FsLWdyaWQge1xuICAgIC5ncmlkLXkge1xuICAgICAgJi5ncmlkLWZyYW1lIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgICAgJi4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfVxuICAgIC5jZWxsIHtcbiAgICAgIC5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gICAgICAgIGhlaWdodDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgICAgLmdyaWQteS4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXModG9wIGJvdHRvbSwgdHJ1ZSwgJy5ncmlkLW1hcmdpbi15Jyk7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUsIGZhbHNlLCAkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGluY2x1ZGUtYmFzZTogZmFsc2UpO1xuICAgIH1cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAuZ3JpZC1tYXJnaW4teS4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSwgZmFsc2UsICRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUsIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gRmluYWwgY2xhc3Nlc1xuQG1peGluIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzKFxuICAkYmFzZS1ncmlkOiB0cnVlLFxuICAkbWFyZ2luLWdyaWQ6IHRydWUsXG4gICRwYWRkaW5nLWdyaWQ6IHRydWUsXG4gICRibG9jay1ncmlkOiB0cnVlLFxuICAkY29sbGFwc2U6IHRydWUsXG4gICRvZmZzZXQ6IHRydWUsXG4gICR2ZXJ0aWNhbC1ncmlkOiB0cnVlLFxuICAkZnJhbWUtZ3JpZDogdHJ1ZVxuKSB7XG5cbiAgLy8gQmFzZSBncmlkIHN0eWxlc1xuICBAaWYoJGJhc2UtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWJhc2UtZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBNYXJnaW4gZ3JpZFxuICBAaWYoJG1hcmdpbi1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gUGFkZGluZyBncmlkXG4gIEBpZigkcGFkZGluZy1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktcGFkZGluZy1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIEJsb2NrIGdyaWRcbiAgQGlmKCRibG9jay1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktYmxvY2stZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICAvLyBDb2xsYXBzZSBndXR0ZXJzXG4gIEBpZigkY29sbGFwc2UpIHtcbiAgICBAaW5jbHVkZSB4eS1jb2xsYXBzZS1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIC8vIE9mZnNldCBndXR0ZXJzXG4gIEBpZigkb2Zmc2V0KSB7XG4gICAgQGluY2x1ZGUgeHktb2Zmc2V0LWNlbGwtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gVmVydGljYWwgZ3JpZFxuICBAaWYoJHZlcnRpY2FsLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS12ZXJ0aWNhbC1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIEBpZiAoJGZyYW1lLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1mcmFtZS1ncmlkLWNsYXNzZXMoJHZlcnRpY2FsLWdyaWQsICRtYXJnaW4tZ3JpZClcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZSBndXR0ZXJzIGZvciBhIGNlbGwvY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBlaXRoZXIgbWFyZ2luIG9yIHBhZGRpbmcuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZWdhdGl2ZSBbZmFsc2VdIC0gV2hldGhlciB0byBhcHBseSB0aGUgZ3V0dGVyIGFzIGEgbmVnYXRpdmUgdmFsdWUuIENvbW1vbmx5IHVzZWQgZm9yIG5lc3RlZCBncmlkcy5cbkBtaXhpbiB4eS1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbmVnYXRpdmU6IGZhbHNlXG4pIHtcbiAgJG9wZXJhdG9yOiBpZigkbmVnYXRpdmUsICctJywgJycpO1xuXG4gIC8vIElmIHdlIGhhdmUgZGVjbGFyZWQgbmVnYXRpdmUgZ3V0dGVycywgZm9yY2UgdHlwZSB0byBgbWFyZ2luLlxuICAkZ3V0dGVyLXR5cGU6IGlmKCRuZWdhdGl2ZSwgJ21hcmdpbicsICRndXR0ZXItdHlwZSk7XG5cbiAgLy8gT3V0cHV0IG91ciBtYXJnaW4gZ3V0dGVycy5cbiAgQGlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJykge1xuICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKGF1dG8sICRndXR0ZXJzKSB7XG4gICAgICAkZ3V0dGVyOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAvIDI7XG5cbiAgICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiB1bnF1b3RlKFwiI3skb3BlcmF0b3J9I3skZ3V0dGVyfVwiKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdudW1iZXInKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcnMpIC8gMjtcblxuICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06IHVucXVvdGUoXCIjeyRvcGVyYXRvcn0jeyRndXR0ZXJ9XCIpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBtYXggd2lkdGggY29udGFpbmVyLCBkZXNpZ25lZCB0byBob3VzZSB5b3VyIGdyaWQgY29udGVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLWNvbnRhaW5lcl0gLSBhIHdpZHRoIHRvIGxpbWl0IHRoZSBjb250YWluZXIgdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskZ3JpZC1jb250YWluZXItcGFkZGluZ10gLSBwYWRkaW5ncyBvZiB0aGUgY29udGFpbmVyLlxuQG1peGluIHh5LWdyaWQtY29udGFpbmVyKFxuICAkd2lkdGg6ICRncmlkLWNvbnRhaW5lcixcbiAgJHBhZGRpbmc6ICRncmlkLWNvbnRhaW5lci1wYWRkaW5nXG4pIHtcbiAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJHBhZGRpbmcsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG5cbiAgbWF4LXdpZHRoOiAkd2lkdGg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi8vLyBDcmVhdGVzIGEgY29udGFpbmVyIGZvciB5b3VyIGZsZXggY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2hvcml6b250YWxdIC0gRWl0aGVyIGhvcml6b250YWwgb3IgdmVydGljYWwgZGlyZWN0aW9uIG9mIGNlbGxzIHdpdGhpbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR3cmFwIFt0cnVlXSAtIElmIHRoZSBjZWxscyB3aXRoaW4gc2hvdWxkIHdyYXAgb3Igbm90LlxuQG1peGluIHh5LWdyaWQoXG4gICRkaXJlY3Rpb246IGhvcml6b250YWwsXG4gICR3cmFwOiB0cnVlXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiA9PSAnaG9yaXpvbnRhbCcsIHJvdywgY29sdW1uKTtcbiAgJHdyYXA6IGlmKCR3cmFwLCB3cmFwLCBub3dyYXApO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogJGRpcmVjdGlvbiAkd3JhcDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBSZW1vdmVzIHRoZSB1bml0IChlLmcuIHB4LCBlbSwgcmVtKSBmcm9tIGEgdmFsdWUsIHJldHVybmluZyB0aGUgbnVtYmVyIG9ubHkuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bSAtIE51bWJlciB0byBzdHJpcCB1bml0IGZyb20uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgc2FtZSBudW1iZXIsIHNhbnMgdW5pdC5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW0pIHtcbiAgQHJldHVybiAkbnVtIC8gKCRudW0gKiAwICsgMSk7XG59XG5cbi8vLyBDb252ZXJ0cyBvbmUgb3IgbW9yZSBwaXhlbCB2YWx1ZXMgaW50byBtYXRjaGluZyByZW0gdmFsdWVzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHZhbHVlcyAtIE9uZSBvciBtb3JlIHZhbHVlcyB0byBjb252ZXJ0LiBCZSBzdXJlIHRvIHNlcGFyYXRlIHRoZW0gd2l0aCBzcGFjZXMgYW5kIG5vdCBjb21tYXMuIElmIHlvdSBuZWVkIHRvIGNvbnZlcnQgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCwgd3JhcCB0aGUgbGlzdCBpbiBwYXJlbnRoZXNlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gVGhlIGJhc2UgdmFsdWUgdG8gdXNlIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGByZW1gLiBJZiB5b3UncmUgdXNpbmcgRm91bmRhdGlvbiBvdXQgb2YgdGhlIGJveCwgdGhpcyBpcyAxNnB4LiBJZiB0aGlzIHBhcmFtZXRlciBpcyBgbnVsbGAsIHRoZSBmdW5jdGlvbiB3aWxsIHJlZmVyZW5jZSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBVc2luZyByZW0gYXMgYmFzZSBhbGxvd3MgY29ycmVjdCBzY2FsaW5nXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBlbSBpbnRvIHJlbSBpZiBzb21lb25lIGhhbmRzIG92ZXIgJ2VtJ3NcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFyZW07XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbSBvciBlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwsIHBlcmNlbnRhZ2UsIHJlbSBvciBlbSB2YWx1ZSB0byBhIHVuaXRsZXNzIHZhbHVlIGJhc2VkIG9uIGEgZ2l2ZW4gZm9udCBzaXplLiBJZGVhbCBmb3Igd29ya2luZyBvdXQgdW5pdGxlc3MgbGluZSBoZWlnaHRzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGNvbnZlcnQgdG8gYSB1bml0bGVzcyBsaW5lIGhlaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBmb250IHNpemUgdG8gdXNlIHRvIHdvcmsgb3V0IHRoZSBsaW5lIGhlaWdodCAtIGRlZmF1bHRzIHRvICRnbG9iYWwtZm9udC1zaXplXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG5AZnVuY3Rpb24gdW5pdGxlc3MtY2FsYygkdmFsdWUsICRiYXNlOiBudWxsKSB7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gRmlyc3QsIGxldHMgY29udmVydCBvdXIgJGJhc2UgdG8gcGl4ZWxzXG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ2VtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIC8vIE5vdyBsZXQncyBjb252ZXJ0IG91ciB2YWx1ZSB0byBwaXhlbHMgdG9vXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJyUnIHtcbiAgICAkdmFsdWU6ICgkdmFsdWUgLyAxMDAlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIC8vICdweCdcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIHtcbiAgICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgLy8gYXNzdW1lIHRoYXQgbGluZS1oZWlnaHRzIGdyZWF0ZXIgdGhhbiAxMCBhcmUgbWVhbnQgdG8gYmUgYWJzb2x1dGUgaW4gJ3B4J1xuICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgKCR2YWx1ZSA+IDEwKSB7XG4gICAgQHJldHVybiAkdmFsdWUgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIFJldHVybnMgdGhlIGFwcHJvcHJpYXRlIENTUyBmbGV4IHZhbHVlIGZvciBhIGNlbGwgYmFzZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBBY2NlcHRzIGBmdWxsYCwgYGF1dG9gLCBgc2hyaW5rYCwgYGdyb3dgLCBvciBhbnkgb3RoZXIgdmFsdWUgcmVwcmVzZW50aW5nIGEgY2VsbCBzaXplIChpdCB3aWxsIGJlIHRyZWF0ZWQgYXMgYHNocmlua2ApLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IFRoZSBjZWxsIGZsZXggcHJvcGVydHkgdmFsdWUuXG5AZnVuY3Rpb24geHktY2VsbC1iYXNlKCRzaXplOiBmdWxsKSB7XG4gIEBpZiAoJHNpemUgPT0gJ2F1dG8nKSB7XG4gICAgQHJldHVybiAxIDEgMHB4O1xuICB9XG4gIEBlbHNlIGlmICgkc2l6ZSA9PSAnZ3JvdycpIHtcbiAgICBAcmV0dXJuIDEgMCBhdXRvO1xuICB9XG4gIEBlbHNlIGlmICgkc2l6ZSA9PSAnc2hyaW5rJyBvciAkc2l6ZSA9PSAnZnVsbCcgb3IgemYtaXMtZnJhY3Rpb24oJHNpemUsICRhbGxvdy1uby1kZW5vbWluYXRvcjogdHJ1ZSkpIHtcbiAgICBAcmV0dXJuIDAgMCBhdXRvO1xuICB9XG4gIEByZXR1cm4gbnVsbDtcbn1cblxuLy8vIENhbGN1bGF0ZSB0aGUgc2l6ZSBvZiBhIGNlbGwgZ3V0dGVycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCByZXR1cm5zIHRoZSByZXNwb25zaXZlIGd1dHRlcnMgbWFwIGAkZ3V0dGVyc2AuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ8TWFwfSBUaGUgY2VsbCBndXR0ZXIgc2l6ZSBvciB0aGUgcmVzcG9uc2l2ZSBndXR0ZXJzIG1hcC5cbkBmdW5jdGlvbiB4eS1jZWxsLWd1dHRlcnMoXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGJyZWFrcG9pbnQ6IG51bGxcbikge1xuICAvLyBGb3IgYGF1dG9gLCByZXR1cm5zIHRoZSByZXNwb25zaXZlIG1hcCBgJGd1dHRlcnNgLlxuICBAaWYgKCRicmVha3BvaW50ID09ICdhdXRvJykge1xuICAgIEByZXR1cm4gJGd1dHRlcnM7XG4gIH1cblxuICAvLyBVc2UgdGhlIGNvbnRleHR1YWwgYnJlYWtwb2ludCBieSBkZWZhdWx0LlxuICAkYnJlYWtwb2ludDogLXpmLWN1cnJlbnQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCk7XG5cbiAgQGlmICgkYnJlYWtwb2ludCkge1xuICAgIEByZXR1cm4gLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJC16Zi16ZXJvLWJyZWFrcG9pbnQpIG9yIDA7XG4gIH1cbn1cblxuLy8vIFJldHVybnMgdGhlIHBlcmNlbnRhZ2Ugc2l6ZSBvZiBhIGNlbGwuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkc2l6ZSBbJGdyaWQtY29sdW1uc10gLSBTaXplIHRvIG1ha2UgdGhlIGNlbGwuIFlvdSBjYW4gcGFzcyBhIHZhbHVlIGluIG11bHRpcGxlIGZvcm1hdHMsIHN1Y2ggYXMgYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvM2AuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBTaXplIG9mIHRoZSBjZWxsIChpbiBwZXJjZW50KS5cbkBmdW5jdGlvbiB4eS1jZWxsLXNpemUoXG4gICRzaXplOiAkZ3JpZC1jb2x1bW5zXG4pIHtcbiAgQHJldHVybiBmcmFjdGlvbi10by1wZXJjZW50YWdlKCRzaXplLCAkZGVub21pbmF0b3I6ICRncmlkLWNvbHVtbnMpO1xufVxuXG4vLy8gUmV0dXJucyB0aGUgYXBwcm9wcmlhdGUgQ1NTIHZhbHVlIGZvciBhIGNlbGwgc2l6ZS5cbi8vL1xuLy8vIEd1dHRlcnMtcmVsYXRlZCBhcmd1bWVudHMgYXJlIHJlcXVpcmVkIGZvciBjZWxscyB3aXRoIG1hcmdpbiBndXR0ZXJzIChieSBkZWZhdWx0KSBhcyB0aGUgZ3V0dGVyIGlzIGluY2x1ZGVkIGluIHRoZSB3aWR0aC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCwgYGF1dG9gLCBgc2hyaW5rYCBvciBhbnkgZnJhY3Rpb24gbGlrZSBgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgcmV0dXJucyBhIG1hcCBvZiBzaXplcyBhZGFwdGVkIHRvIHJlc3BvbnNpdmUgZ3V0dGVycy4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcnxTdHJpbmd8TWFwfSBUaGUgY2VsbCBzaXppbmcgcHJvcGVydHkgdmFsdWUsIG9yIGEgcmVzcG9uc2l2ZSBtYXAgb2YgdGhlbS5cbkBmdW5jdGlvbiB4eS1jZWxsLXNpemUtY3NzKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6IG51bGxcbikge1xuICAkbWFyZ2luLWd1dHRlcjogMDtcblxuICBAaWYgKCRzaXplID09ICdhdXRvJyBvciAkc2l6ZSA9PSAnc2hyaW5rJykge1xuICAgIEByZXR1cm4gYXV0bztcbiAgfVxuXG4gIC8vIEZvciBjZWxscyB3aXRoIG1hcmdpbiBndXR0ZXJzLCB0aGUgZ3V0dGVyIGlzIGluY2x1ZGVkIGluIHRoZSB3aWR0aC5cbiAgQGlmICgkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICAkbWFyZ2luLWd1dHRlcjogeHktY2VsbC1ndXR0ZXJzKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gICAgQGlmICgkbWFyZ2luLWd1dHRlciA9PSBudWxsKSB7XG4gICAgICBAZXJyb3IgJ3h5LWNlbGwtc2l6ZTogbm8gZ3V0dGVycyB3ZXJlIGZvdW5kIGluIGAkZ3V0dGVyc2AgZm9yIFwiJGJyZWFrcG9pbnQ6ICN7JGJyZWFrcG9pbnR9XCInO1xuICAgIH1cbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSB0aGUgY2VsbCBzaXplIChudW1iZXIpXG4gICRzaXplLXJhdzogaWYoJHNpemUgPT0gJ2Z1bGwnLCAxMDAlLCB4eS1jZWxsLXNpemUoJHNpemUpKTtcblxuICAvLyBDYWxjdWxhdGUgdGhlIGNlbGwgQ1NTIHNpemUgaW5jbHVkaW5nIGd1dHRlcnMgKHN0cmluZylcbiAgLy8gSWYgdGhlIGNlbGwgaGFzIHJlc3BvbnNpdmUgbWFyZ2luIGd1dHRlcnMsIHJldHVybiBhIHJlc3BvbnNpdmUgbWFwIG9mIHNpemVzLlxuICBAaWYgdHlwZS1vZigkbWFyZ2luLWd1dHRlcikgPT0gJ21hcCcge1xuICAgICRyZXNwb25zaXZlLWNzcy1zaXplczogKCk7XG5cbiAgICBAZWFjaCAkYnAsICRtZyBpbiAkbWFyZ2luLWd1dHRlciB7XG4gICAgICAkc2l6ZS1jc3M6IGlmKCRtZyA9PSAwLCAkc2l6ZS1yYXcsIGNhbGMoI3skc2l6ZS1yYXd9IC0gI3tyZW0tY2FsYygkbWcpfSkpO1xuICAgICAgJHJlc3BvbnNpdmUtY3NzLXNpemVzOiBtYXAtbWVyZ2UoJHJlc3BvbnNpdmUtY3NzLXNpemVzLCAoJGJwOiAkc2l6ZS1jc3MpKTtcbiAgICB9XG5cbiAgICBAcmV0dXJuICRyZXNwb25zaXZlLWNzcy1zaXplcztcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiBhIHNpbmdsZSBDU1Mgc2l6ZS5cbiAgQGVsc2Uge1xuICAgICRjc3Mtc2l6ZTogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgJHNpemUtcmF3LCBjYWxjKCN7JHNpemUtcmF3fSAtICN7cmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpfSkpO1xuICAgIEByZXR1cm4gJGNzcy1zaXplO1xuICB9XG59XG5cbi8vLyBTZXRzIGJhc2UgZmxleCBwcm9wZXJ0aWVzIGZvciBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBBY2NlcHRzIGBmdWxsYCwgYGF1dG9gLCBgc2hyaW5rYCwgYGdyb3dgLCBvciBhbnkgb3RoZXIgdmFsdWUgcmVwcmVzZW50aW5nIGEgY2VsbCBzaXplIChpdCB3aWxsIGJlIHRyZWF0ZWQgYXMgYHNocmlua2ApLlxuQG1peGluIHh5LWNlbGwtYmFzZSgkc2l6ZTogZnVsbCkge1xuICAkYmFzZTogeHktY2VsbC1iYXNlKCRzaXplKTtcblxuICBmbGV4OiAjeyRiYXNlfTtcblxuICAvLyBTZXQgYmFzZSBzdHlsZXMgZm9yIFwiZnVsbFwiIG9ubHlcbiAgQGlmKCRzaXplID09ICdmdWxsJykge1xuICAgIG1pbi1oZWlnaHQ6IDBweDtcbiAgICBtaW4td2lkdGg6IDBweDtcbiAgfVxufVxuXG4vLy8gUmVzZXRzIGEgY2VsbHMgd2lkdGggKG9yIGhlaWdodCBpZiB2ZXJ0aWNhbCBpcyB0cnVlKSBhcyB3ZWxsIGFzIHN0cmlwcyBpdHMgZ3V0dGVycy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXJlc2V0KCR2ZXJ0aWNhbDogdHJ1ZSkge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgaGVpZ2h0LCB3aWR0aCk7XG4gICN7JGRpcmVjdGlvbn06IGF1dG87XG4gIG1heC0jeyRkaXJlY3Rpb259OiBub25lO1xufVxuXG4vLy8gU2V0cyBzaXppbmcgcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBHdXR0ZXJzLXJlbGF0ZWQgYXJndW1lbnRzIGFyZSByZXF1aXJlZCBmb3IgY2VsbHMgd2l0aCBtYXJnaW4gZ3V0dGVycyAoYnkgZGVmYXVsdCkgYXMgdGhlIGd1dHRlciBpcyBpbmNsdWRlZCBpbiB0aGUgd2lkdGguXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKDEwMCUgd2lkdGgpLCBgYXV0b2AgKHVzZSBhbGwgYXZhaWxhYmxlIHNwYWNlKSwgYHNocmlua2AgKHVzZSBvbmx5IHRoZSByZXF1aXJlZCBzcGFjZSkgb3IgYW55IGZyYWN0aW9uIChgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC4uLikuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIGdlbmVyYXRlcyBzaXplcyBhZGFwdGVkIGZvciByZXNwb25zaXZlIGd1dHRlcnMuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1zaXplKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkc2l6ZXM6IHh5LWNlbGwtc2l6ZS1jc3MoJHNpemUsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRicmVha3BvaW50KTtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIGhlaWdodCwgd2lkdGgpO1xuXG4gIEBpZiAodHlwZS1vZigkc2l6ZXMpID09ICdtYXAnKSB7XG4gICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoYXV0bywgJHNpemVzKSB7XG4gICAgICAjeyRkaXJlY3Rpb259OiAkLXpmLWJwLXZhbHVlO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgI3skZGlyZWN0aW9ufTogJHNpemVzO1xuICB9XG59XG5cbi8vLyBTZXRzIGd1dHRlcnMgcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbbnVsbF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uIEJ5IGRlZmF1bHQgYHJpZ2h0IGxlZnRgIGZvciBob3Jpem9udGFsIGNlbGxzIGFuZCBgdG9wIGJvdHRvbWAgZm9yIHZlcnRpY2FsIGNlbGxzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgZ2VuZXJhdGVzIHJlc3BvbnNpdmUgZ3V0dGVycy4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBEaXJlY3Rpb24gb2YgdGhlIGd1dHRlcnMgdG8gb3V0cHV0LiBTZWUgYCRndXR0ZXItcG9zaXRpb25gLlxuQG1peGluIHh5LWNlbGwtZ3V0dGVycyhcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAvLyBHZXQgdGhlIGRlZmF1bHQgZ3V0dGVyIHBvc2l0aW9uIGFjY29yZGluZyB0byBjZWxsIGRpcmVjdGlvblxuICBAaWYoJGd1dHRlci1wb3NpdGlvbiA9PSBudWxsKSB7XG4gICAgJGd1dHRlci1wb3NpdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHRvcCBib3R0b20sIGxlZnQgcmlnaHQpO1xuICB9XG5cbiAgLy8gR2V0IHRoZSBndXR0ZXIgd2lkdGggZm9yIHRoaXMgYnJlYWtwb2ludFxuICAkZ3V0dGVyLXdpZHRoOiB4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgQGlmICgkZ3V0dGVyLXdpZHRoID09IG51bGwpIHtcbiAgICBAZXJyb3IgJ3h5LWNlbGwtZ3V0dGVyczogbm8gZ3V0dGVycyB3ZXJlIGZvdW5kIGluIGAkZ3V0dGVyc2AgZm9yIFwiJGJyZWFrcG9pbnQ6ICN7JGJyZWFrcG9pbnR9XCInO1xuICB9XG5cbiAgQGlmICgkZ3V0dGVyLXR5cGUgYW5kICRndXR0ZXItdHlwZSAhPSBub25lKSB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLXdpZHRoLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgY2VsbCBmb3IgeW91ciBncmlkLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgICgxMDAlIHdpZHRoKSwgYGF1dG9gICh1c2UgYWxsIGF2YWlsYWJsZSBzcGFjZSksIGBzaHJpbmtgICh1c2Ugb25seSB0aGUgcmVxdWlyZWQgc3BhY2UpIG9yIGFueSBmcmFjdGlvbiAoYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuLi4pLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW251bGxdIC0gW0RFUFJFQ0FURURdIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtudWxsXSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi4gQnkgZGVmYXVsdCBgcmlnaHQgbGVmdGAgZm9yIGhvcml6b250YWwgY2VsbHMgYW5kIGB0b3AgYm90dG9tYCBmb3IgdmVydGljYWwgY2VsbHMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCBnZW5lcmF0ZXMgcmVzcG9uc2l2ZSBndXR0ZXJzLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuLy8vIEBwYXJhbSB7TGlzdH0gJG91dHB1dCBbKGJhc2Ugc2l6ZSBndXR0ZXJzKV0gLSBDZWxsIHBhcnRzIHRvIG91dHB1dC4gWW91IHdpbGwgbmVlZCB0byBnZW5lcmF0ZSBvdGhlcnMgcGFydHMgb2YgdGhlIGNlbGwgc2VwZXJhdGVseSwgaXQgbWF5IG5vdCB3b3JrIHByb3Blcmx5IG90aGVyd2lzZS5cbkBtaXhpbiB4eS1jZWxsKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IG51bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkb3V0cHV0OiAoYmFzZSBzaXplIGd1dHRlcnMpXG4pIHtcbiAgLy8gRGVmYXVsdCBmb3IgJGd1dHRlci1vdXRwdXRcbiAgQGlmICgkZ3V0dGVyLW91dHB1dCAhPSBudWxsKSB7XG4gICAgQHdhcm4gJ3h5LWNlbGw6ICRndXR0ZXItb3V0cHV0IGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gU2VlIG1pZ3JhdGlvbiBub3RlcyBhdCBodHRwczovL2dpdC5pby9mb3VuZGF0aW9uLTYtNi0wJztcbiAgICBAaWYgKCRndXR0ZXItb3V0cHV0ID09IGZhbHNlKSB7XG4gICAgICAkb3V0cHV0OiBzbC1yZW1vdmUoJG91dHB1dCwgZ3V0dGVycyk7XG4gICAgfVxuICB9XG5cbiAgQGlmIChpbmRleCgkb3V0cHV0LCBiYXNlKSkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZSgkc2l6ZSk7XG4gIH1cbiAgQGlmIChpbmRleCgkb3V0cHV0LCBzaXplKSkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkc2l6ZSwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGJyZWFrcG9pbnQsICR2ZXJ0aWNhbCk7XG4gIH1cbiAgQGlmIChpbmRleCgkb3V0cHV0LCBndXR0ZXJzKSkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtZ3V0dGVycygkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uLCAkYnJlYWtwb2ludCwgJHZlcnRpY2FsKTtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHNpemVkIGdyaWQuIFVzZWQgdG8gZ2VuZXJhdGUgb3VyIGdyaWQgY2xhc3Nlcy5cbi8vL1xuLy8vIGB4eS1jZWxsLXN0YXRpYygpYCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQuXG4vLy8gVXNlIGB4eS1jZWxsKClgIGluc3RlYWQgd2l0aCBgJG91dHB1dDogKHNpemUgZ3V0dGVycylgIHRvIG5vdCBnZW5lcmF0ZSB0aGUgY2VsbCBiYXNlLlxuLy8vIFNlZSBtaWdyYXRpb24gbm90ZXMgYXQgaHR0cHM6Ly9naXQuaW8vZm91bmRhdGlvbi02LTYtMFxuLy8vXG4vLy8gQGRlcHJlY2F0ZWQgdjYuNi4wXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKDEwMCUgd2lkdGgpLCBgYXV0b2AgKHVzZSBhbGwgYXZhaWxhYmxlIHNwYWNlKSwgYHNocmlua2AgKHVzZSBvbmx5IHRoZSByZXF1aXJlZCBzcGFjZSkgb3IgYW55IGZyYWN0aW9uIChgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC4uLikuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVycy4gQWx3YXlzIGB0cnVlYCBmb3IgbWFyZ2luIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXN0YXRpYyhcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICBAd2FybiAneHktY2VsbC1zdGF0aWMoKSBtaXhpbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQuIFVzZSBcInh5LWNlbGwoKVwiIGluc3RlYWQuIFNlZSBtaWdyYXRpb24gbm90ZXMgYXQgaHR0cHM6Ly9naXQuaW8vZm91bmRhdGlvbi02LTYtMCc7XG5cbiAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgJGd1dHRlci1wb3NpdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHRvcCBib3R0b20sIGxlZnQgcmlnaHQpO1xuXG4gICQtZ3V0dGVyLW91dHB1dDogaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nLCB0cnVlLCAkZ3V0dGVyLW91dHB1dCk7XG4gICQtZ3V0dGVyLW1hcmdpbjogaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nLCAkZ3V0dGVyLCAwKTtcblxuICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkLWd1dHRlci1tYXJnaW4sICR2ZXJ0aWNhbCk7XG4gIEBpZiAoJC1ndXR0ZXItb3V0cHV0KSB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBGaW5kcyB0aGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3Igb2YgdHdvIGludGVnZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhIC0gRmlyc3QgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiIC0gU2Vjb25kIG51bWJlciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yLlxuQGZ1bmN0aW9uIGdjZCgkYSwgJGIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL0dyZWF0ZXN0X2NvbW1vbl9kaXZpc29yI0phdmFTY3JpcHRcbiAgQGlmICgkYiAhPSAwKSB7XG4gICAgQHJldHVybiBnY2QoJGIsICRhICUgJGIpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIGFicygkYSk7XG4gIH1cbn1cblxuLy8vIEhhbmRsZXMgZGVjaW1hbCBleHBvbmVudHMgYnkgdHJ5aW5nIHRvIGNvbnZlcnQgdGhlbSBpbnRvIGEgZnJhY3Rpb24gYW5kIHRoZW4gdXNlIGEgbnRoLXJvb3QtYWxnb3JpdGhtIGZvciBwYXJ0cyBvZiB0aGUgY2FsY3VsYXRpb25cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBiYXNlIG51bWJlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGV4cG9uZW50IC0gVGhlIGV4cG9uZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHByb2R1Y3Qgb2YgdGhlIGV4cG9uZW50aWF0aW9uLlxuQGZ1bmN0aW9uIHBvdygkYmFzZSwgJGV4cG9uZW50LCAkcHJlYzogMTYpIHtcbiAgQGlmIChmbG9vcigkZXhwb25lbnQpICE9ICRleHBvbmVudCkge1xuICAgICRwcmVjMiA6IHBvdygxMCwgJHByZWMpO1xuICAgICRleHBvbmVudDogcm91bmQoJGV4cG9uZW50ICogJHByZWMyKTtcbiAgICAkZGVub21pbmF0b3I6IGdjZCgkZXhwb25lbnQsICRwcmVjMik7XG4gICAgQHJldHVybiBudGgtcm9vdChwb3coJGJhc2UsICRleHBvbmVudCAvICRkZW5vbWluYXRvciksICRwcmVjMiAvICRkZW5vbWluYXRvciwgJHByZWMpO1xuICB9XG5cbiAgJHZhbHVlOiAkYmFzZTtcbiAgQGlmICRleHBvbmVudCA+IDEge1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogJGJhc2U7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRleHBvbmVudCA8IDEge1xuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggLSRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAvICRiYXNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5AZnVuY3Rpb24gbnRoLXJvb3QoJG51bSwgJG46IDIsICRwcmVjOiAxMikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvTnRoX3Jvb3QjSmF2YVNjcmlwdFxuICAkeDogMTtcblxuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRwcmVjIHtcbiAgICAkeDogMSAvICRuICogKCgkbiAtIDEpICogJHggKyAoJG51bSAvIHBvdygkeCwgJG4gLSAxKSkpO1xuICB9XG5cbiAgQHJldHVybiAkeDtcbn1cblxuLy8vIENhbGN1bGF0ZXMgdGhlIGhlaWdodCBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIHdpZHRoIGZvciBhIGdpdmVuIHJhdGlvLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhdGlvIC0gUmF0aW8gdG8gdXNlIHRvIGNhbGN1bGF0ZSB0aGUgaGVpZ2h0LCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG4vLy8gQHJldHVybiB7TnVtYmVyfSBBIHBlcmNlbnRhZ2UgdmFsdWUgZm9yIHRoZSBoZWlnaHQgcmVsYXRpdmUgdG8gdGhlIHdpZHRoIG9mIGEgcmVzcG9uc2l2ZSBjb250YWluZXIuXG5AZnVuY3Rpb24gcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pIHtcbiAgJHc6IG50aCgkcmF0aW8sIDEpO1xuICAkaDogbnRoKCRyYXRpbywgMyk7XG4gIEByZXR1cm4gJGggLyAkdyAqIDEwMCU7XG59XG5cbi8vLyBQYXJzZSB0aGUgZ2l2ZW4gYCRmcmFjdGlvbmAgdG8gbnVtZXJhdG9ycyBhbmQgZGVudW1lcmF0b3JzLlxuLy8vXG4vLy8gQHBhcmFtIHsqfSAkZnJhY3Rpb24gLSBWYWx1ZSByZXByZXNlbnRpbmcgYSBmcmFjdGlvbiB0byBwYXJzZS4gSXQgY2FuIGJlIGZvcm1hdHRlZCBhcyBgNTAlYCwgYDEgb2YgMmAsIGAxLzJgIG9yIGA1MGAgKG5vIGRlbm9taW5hdG9yIHdvdWxkIGJlIHJldHVybmVkKS5cbi8vL1xuLy8vIEByZXR1cm4ge0xpc3R9IExpc3Qgb2YgcGFyc2VkIHZhbHVlcyB3aXRoIG51bWVyYXRvciBhdCBmaXJzdCBwb3NpdGlvbiBhbmQgZGVudW1lcmF0b3IgYXMgc2Vjb25kLiBUaGVzZSB2YWx1ZXMgbWF5IGJlIG51bGwuXG5AZnVuY3Rpb24gemYtcGFyc2UtZnJhY3Rpb24oJGZyYWN0aW9uKSB7XG5cbiAgQGlmIHR5cGUtb2YoJGZyYWN0aW9uKSA9PSAnbnVtYmVyJyB7XG4gICAgLy8gXCI1MCVcIlxuICAgIEBpZiB1bml0KCRmcmFjdGlvbikgPT0gJyUnIHtcbiAgICAgIEByZXR1cm4gKHN0cmlwLXVuaXQoJGZyYWN0aW9uKSwgMTAwKTtcbiAgICB9XG4gICAgQGVsc2UgaWYgKHVuaXQoJGZyYWN0aW9uKSA9PSAnJykge1xuICAgICAgLy8gXCIwLjVcIlxuICAgICAgQGlmICRmcmFjdGlvbiA8IDEge1xuICAgICAgICBAcmV0dXJuICgkZnJhY3Rpb24gKiAxMDAsIDEwMCk7XG4gICAgICB9XG4gICAgICAvLyBcIjUwXCJcbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQHJldHVybiAoJGZyYWN0aW9uLCBudWxsKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiB0eXBlLW9mKCRmcmFjdGlvbikgPT0gJ2xpc3QnIHtcbiAgICAvLyBcIjUwIG9mIDEwMFwiLCBcIjUwLzEwMFwiLi4uXG4gICAgQGlmIGxlbmd0aCgkZnJhY3Rpb24pID09IDNcbiAgICAgIGFuZCB0eXBlLW9mKG50aCgkZnJhY3Rpb24sIDEpID09ICdudW1iZXInKVxuICAgICAgYW5kIHR5cGUtb2YobnRoKCRmcmFjdGlvbiwgMykgPT0gJ251bWJlcicpIHtcbiAgICAgIEByZXR1cm4gKG50aCgkZnJhY3Rpb24sIDEpLCBudGgoJGZyYWN0aW9uLCAzKSk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAobnVsbCwgbnVsbCk7XG59XG5cbi8vLyBSZXR1cm5zIHdoZXRoZXIgdGhlIGdpdmVuIGAkdmFsdWVgIHJlcHJlc2VudHMgYSBmcmFjdGlvbi4gU3VwcG9ydHMgZm9ybWF0cyBsaWtlIGA1MCVgLCBgMSBvZiAyYCwgYDEgcGVyIDJgIG9yIGAxLzJgLlxuLy8vXG4vLy8gQHBhcmFtIHsqfSAkdmFsdWUgLSBWYWx1ZSB0byB0ZXN0LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGFsbG93LW5vLWRlbm9taW5hdG9yIFtmYWxzZV0gLSBJZiBgdHJ1ZWAsIHNpbXBsZSBudW1iZXJzIHdpdGhvdXQgZGVub21pbmF0b3JzIGxpa2UgYDUwYCBhcmUgc3VwcG9ydGVkLlxuLy8vXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gYHRydWVgIGlmIGAkdmFsdWVgIHJlcHJlc2VudHMgYSBmcmFjdGlvbiwgYGZhbHNlYCBvdGhlcndpc2UuXG5AZnVuY3Rpb24gemYtaXMtZnJhY3Rpb24oJHZhbHVlLCAkYWxsb3ctbm8tZGVub21pbmF0b3I6IGZhbHNlKSB7XG4gICRwYXJzZWQ6IHpmLXBhcnNlLWZyYWN0aW9uKCR2YWx1ZSk7XG4gIEByZXR1cm4gbm90KG50aCgkcGFyc2VkLCAxKSA9PSBudWxsXG4gICAgb3IgKG50aCgkcGFyc2VkLCAyKSA9PSBudWxsIGFuZCAkYWxsb3ctbm8tZGVub21pbmF0b3IgPT0gZmFsc2UpKTtcbn1cblxuLy8vIENhbGN1bGF0ZSBhIHBlcmNlbnRhZ2UgZnJvbSBhIGdpdmVuIGZyYWN0aW9uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGZyYWN0aW9uIC0gVmFsdWUgcmVwcmVzZW50aW5nIGEgZnJhY3Rpb24gdG8gdXNlIHRvIGNhbGN1bGF0ZSB0aGUgcGVyY2VudGFnZSwgZm9ybWF0dGVkIGFzIGA1MGAgKHJlbGF0aXZlIHRvIGAkZGVub21pbmF0b3JgKSwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRkZW5vbWluYXRvciAtIERlZmF1bHQgdmFsdWUgdG8gdXNlIGFzIGRlbm9taW5hdG9yIHdoZW4gYCRmcmFjdGlvbmAgcmVwcmVzZW50cyBhbiBhYnNvbHV0ZSB2YWx1ZS5cbkBmdW5jdGlvbiBmcmFjdGlvbi10by1wZXJjZW50YWdlKFxuICAkZnJhY3Rpb24sXG4gICRkZW5vbWluYXRvcjogbnVsbFxuKSB7XG4gICRwYXJzZWQ6IHpmLXBhcnNlLWZyYWN0aW9uKCRmcmFjdGlvbik7XG4gICRwYXJzZWQtbm9taW5hdG9yOiBudGgoJHBhcnNlZCwgMSk7XG4gICRwYXJzZWQtZGVub21pbmF0b3I6IG50aCgkcGFyc2VkLCAyKTtcblxuICBAaWYgJHBhcnNlZC1ub21pbmF0b3IgPT0gbnVsbCB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIFwiZnJhY3Rpb24tdG8tcGVyY2VudGFnZSgpXCIuIFVzZSBhIG51bWJlciwgZGVjaW1hbCwgcGVyY2VudGFnZSwgb3IgXCJuIG9mIG5cIiAvIFwibi9uXCIuJztcbiAgfVxuICBAaWYgJHBhcnNlZC1kZW5vbWluYXRvciA9PSBudWxsIHtcbiAgICBAaWYgdHlwZS1vZigkZGVub21pbmF0b3IpID09ICdudW1iZXInIHtcbiAgICAgICRwYXJzZWQtZGVub21pbmF0b3I6ICRkZW5vbWluYXRvcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGVycm9yICdFcnJvciB3aXRoIFwiZnJhY3Rpb24tdG8tcGVyY2VudGFnZSgpXCIuIEEgZGVmYXVsdCBcIiRkZW5vbWluYXRvclwiIGlzIHJlcXVpcmVkIHRvIHN1cHBvcnQgYWJzb2x1dGUgdmFsdWVzJztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIHBlcmNlbnRhZ2UoJHBhcnNlZC1ub21pbmF0b3IgLyAkcGFyc2VkLWRlbm9taW5hdG9yKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBTaXplcyBjaGlsZCBlbGVtZW50cyBzbyB0aGF0IGAkbmAgbnVtYmVyIG9mIGl0ZW1zIGFwcGVhciBvbiBlYWNoIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBlbGVtZW50cyB0byBkaXNwbGF5IHBlciByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJy5jZWxsJ10gLSBTZWxlY3RvcihzKSB0byB1c2UgZm9yIGNoaWxkIGVsZW1lbnRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW251bGxdIC0gW0RFUFJFQ0FURURdIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtudWxsXSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi4gQnkgZGVmYXVsdCBgcmlnaHQgbGVmdGAgZm9yIGhvcml6b250YWwgY2VsbHMgYW5kIGB0b3AgYm90dG9tYCBmb3IgdmVydGljYWwgY2VsbHMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBicmVha3BvaW50IHRvIHVzZSBmb3IgdGhlIGNlbGwgZ2VuZXJhdGlvbi4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRvdXRwdXQgWyhiYXNlIHNpemUgZ3V0dGVycyldIC0gQ2VsbCBwYXJ0cyB0byBvdXRwdXQuIFlvdSB3aWxsIG5lZWQgdG8gZ2VuZXJhdGUgb3RoZXJzIHBhcnRzIG9mIHRoZSBjZWxsIHNlcGVyYXRlbHksIGl0IG1heSBub3Qgd29yayBjb3JyZWN0bHkgb3RoZXJ3aXNlLlxuQG1peGluIHh5LWdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLW91dHB1dDogbnVsbCxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICRvdXRwdXQ6IChiYXNlIHNpemUgZ3V0dGVycylcbikge1xuICAkc2l6ZTogcGVyY2VudGFnZSgxLyRuKTtcblxuICAmID4gI3skc2VsZWN0b3J9IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplLCAkZ3V0dGVyLW91dHB1dCwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbiwgJGJyZWFrcG9pbnQsICR2ZXJ0aWNhbCwgJG91dHB1dCk7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDb2xsYXBzZXMgdGhlIGdyaWQgYSBjZWxscyB3aXRoaW4gaXQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsuY2VsbF0gLSBUaGUgY2hpbGQgZWxlbWVudCB0byByZW1vdmUgdGhlIGd1dHRlciBmcm9tLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHJlbW92ZS5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9ucyB0byByZW1vdmUgZ3V0dGVycyBmcm9tLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRtaW4tYnJlYWtwb2ludCBbJC16Zi16ZXJvLWJyZWFrcG9pbnRdIC0gTWluaW11bSBicmVha3BvaW50IGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBmb3Igd2hpY2ggdG8gY29sbGFwc2UgdGhlIGd1dHRlci5cbkBtaXhpbiB4eS1ncmlkLWNvbGxhcHNlKFxuICAkc2VsZWN0b3I6ICcuY2VsbCcsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbWluLWJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50XG4pIHtcbiAgLy8gRmlyc3QsIGxldHMgbmVnYXRlIGFueSBtYXJnaW5zIG9uIHRoZSB0b3AgbGV2ZWxcbiAgQGlmICgkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICB9XG5cbiAgICAgID4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAkZXhjbHVkZWQtYnBzOiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRtaW4tYnJlYWtwb2ludCk7XG5cbiAgICAvLyBPdXRwdXQgbmV3IHdpZHRocyB0byBub3QgaW5jbHVkZSBndXR0ZXJzXG4gICAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmKHNsLWNvbnRhaW4oJGV4Y2x1ZGVkLWJwcywgJGJwKSkge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgICAgICA+IC4jeyRicH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJGksICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnApIHtcbiAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICAgICAgPiAuI3skYnB9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgfVxuXG4gICAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgICBwYWRkaW5nLSN7JHZhbHVlfTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIFJldHVybnMgdGhlIGFwcHJvcHJpYXRlIENTUyB2YWx1ZSB0byBvZmZzZXQgYSBjZWxsLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJG4gLSBTaXplIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYHh5LWNlbGwoKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIE1hcCBvZiBndXR0ZXJzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSBUaGUgdHlwZSBvZiBndXR0ZXIgdG8gdXNlLiBDYW4gYmUgYG1hcmdpbmAgb3IgYHBhZGRpbmdgXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcnxTdHJpbmd9IFRoZSBjZWxsIG9mZnNldCBwcm9wZXJ0eSB2YWx1ZS5cbkBmdW5jdGlvbiB4eS1jZWxsLW9mZnNldChcbiAgJG4sXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiBudWxsXG4pIHtcbiAgJGJyZWFrcG9pbnQ6IC16Zi1jdXJyZW50LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQsICRkZWZhdWx0OiAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gICRzaXplOiB4eS1jZWxsLXNpemUoJG4pO1xuXG4gICRvZmZzZXQ6ICRzaXplO1xuICBAaWYgKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuICAgICRndXR0ZXI6IHJlbS1jYWxjKHh5LWNlbGwtZ3V0dGVycygkZ3V0dGVycywgJGJyZWFrcG9pbnQpIC8gMik7XG4gICAgJG9mZnNldDogaWYoJGd1dHRlciA9PSAwLCAkc2l6ZSwgY2FsYygjeyRzaXplfSArICN7JGd1dHRlcn0pKTtcbiAgfVxuICBAcmV0dXJuICRvZmZzZXQ7XG59XG5cbi8vLyBPZmZzZXRzIGEgY29sdW1uIHRvIHRoZSByaWdodC9ib3R0b20gYnkgYCRuYCBjb2x1bW5zLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJG4gLSBTaXplIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYHh5LWNlbGwoKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIE1hcCBvZiBndXR0ZXJzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSBUaGUgdHlwZSBvZiBndXR0ZXIgdG8gdXNlLiBDYW4gYmUgYG1hcmdpbmAgb3IgYHBhZGRpbmdgXG4vLy8gQHBhcmFtIHtOdW1iZXJ8QXJyYXl8S2V5d29yZH0gJGJyZWFrcG9pbnQgW251bGxdIC0gQnJlYWtwb2ludCB0byB1c2UgZm9yIGAkZ3V0dGVyc2AuIEl0IGNhbiBiZSBhIGJyZWFrcG9pbnQgbmFtZSwgbGlzdCBvZiBicmVha3BvaW50cyBvciBgYXV0b2AgZm9yIGFsbCBicmVha3BvaW50cy4gSWYgYSBsaXN0IGlzIGdpdmVuLCBtZWRpYS1xdWVyaWVzIHdpbGwgYmUgZ2VuZXJhdGVkLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgdGhlIG9mZnNldC4gSWYgc2V0IHRvIHRydWUgd2lsbCBhcHBseSBtYXJnaW4tdG9wIGluc3RlYWQuXG5AbWl4aW4geHktY2VsbC1vZmZzZXQoXG4gJG4sXG4gJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICRicmVha3BvaW50OiBudWxsLFxuICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkYnJlYWtwb2ludDogLXpmLWN1cnJlbnQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCwgJGRlZmF1bHQ6ICQtemYtemVyby1icmVha3BvaW50KTtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsLCAndG9wJywgJGdsb2JhbC1sZWZ0KTtcblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50LWluKCRicmVha3BvaW50LCAkbWVkaWEtcXVlcmllczogJ2Zvci1saXN0cycpIHtcbiAgICAkb2Zmc2V0OiB4eS1jZWxsLW9mZnNldCgkbiwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSk7XG4gICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06ICN7JG9mZnNldH07XG4gIH1cbn1cbiIsIi8vLyBNb2RpZmllcyBhIGdyaWQgdG8gZ2l2ZSBpdCBcImZyYW1lXCIgYmVoYXZpb3IgKG5vIG92ZXJmbG93LCBubyB3cmFwLCBzdHJldGNoIGJlaGF2aW9yKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVzdGVkIFtmYWxzZV0gLSBJcyBncmlkIG5lc3RlZCBvciBub3QuIElmIG5lc3RlZCBpcyB0cnVlIHRoaXMgc2V0cyB0aGUgZnJhbWUgdG8gMTAwJSBoZWlnaHQsIG90aGVyd2lzZSB3aWxsIGJlIDEwMHZoLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgW251bGxdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGluY2x1ZGUtYmFzZSBbdHJ1ZV0gLSBJbmNsdWRlIHRoZSBiYXNlIHN0eWxlcyB0aGF0IGRvbid0IHZhcnkgcGVyIGJyZWFrcG9pbnQuXG5AbWl4aW4geHktZ3JpZC1mcmFtZShcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJG5lc3RlZDogZmFsc2UsXG4gICRndXR0ZXJzOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJGluY2x1ZGUtYmFzZTogdHJ1ZVxuKSB7XG5cbiAgQGlmICRpbmNsdWRlLWJhc2Uge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG5cbiAgQGlmICRicmVha3BvaW50ID09IG51bGwgYW5kIHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSgkdmVydGljYWwsICRuZXN0ZWQsICRndXR0ZXJzLCAkLXpmLXNpemUsIGZhbHNlKTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIC8vIEdldCBvdXIgZ3V0dGVycyBpZiBhcHBsaWNhYmxlXG4gICAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcblxuICAgIC8vIElmIHdlIGhhdmUgYSBndXR0ZXIsIGFkZCBpdCB0byB0aGUgd2lkdGgvaGVpZ2h0XG4gICAgQGlmICRndXR0ZXIge1xuICAgICAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICAgICAgJHVuaXQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdmgpO1xuICAgICAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKTtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKCN7JHVuaXR9ICsgI3skZ3V0dGVyfSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHVuaXQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdncpO1xuICAgICAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKTtcbiAgICAgICAgd2lkdGg6IGNhbGMoI3skdW5pdH0gKyAjeyRndXR0ZXJ9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICAgICAgaGVpZ2h0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZoKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICB3aWR0aDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2dyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBNb2RpZmllcyBhIGNlbGwgdG8gZ2l2ZSBpdCBcImJsb2NrXCIgYmVoYXZpb3IgKG92ZXJmbG93IGF1dG8sIGluZXJ0aWFsIHNjcm9sbGluZylcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBJcyBncmlkIHZlcnRpY2FsIG9yIGhvcml6b250YWwuIFNob3VsZCBtYXRjaCBncmlkLlxuQG1peGluIHh5LWNlbGwtYmxvY2soXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkcHJvcGVydHk6IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCAnb3ZlcmZsb3cteScsICdvdmVyZmxvdy14Jyk7XG5cbiAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgfSBAZWxzZSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xufVxuXG4vLy8gQ29udGFpbmVyIGZvciBpbnNpZGUgYSBncmlkIGZyYW1lIGNvbnRhaW5pbmcgbXVsdGlwbGUgYmxvY2tzLiBUeXBpY2FsbHkgdXNlZFxuLy8vIGFzIGEgbW9kaWZpZXIgZm9yIGEgYC5jZWxsYCB0byBhbGxvdyB0aGUgY2VsbCB0byBwYXNzIGFsb25nIGZsZXggc2l6aW5nXG4vLy8gY29uc3RyYWludHMgLyBmcm9tIHBhcmVudHMgdG8gY2hpbGRyZW4uXG5AbWl4aW4geHktY2VsbC1ibG9jay1jb250YWluZXIoKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG5cbiAgPiAuZ3JpZC14IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1iYXNlXG4vLy8vXG5cbi8vIEJhc2UgVHlwb2dyYXBoeVxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbi8vIFRoZXNlIGFyZSBzdHlsZXMgYXBwbGllZCB0byBiYXNpYyBIVE1MIHRhZ3MsIGluY2x1ZGluZzpcbi8vICAgLSBQYXJhZ3JhcGhzIDxwPlxuLy8gICAtIEJvbGQvaXRhbGljcyA8Yj4gPHN0cm9uZz4gPGk+IDxlbT5cbi8vICAgLSBTbWFsbCB0ZXh0IDxzbWFsbD5cbi8vICAgLSBIZWFkaW5ncyA8aDE+LTxoNj5cbi8vICAgLSBBbmNob3JzIDxhPlxuLy8gICAtIERpdmlkZXJzIDxocj5cbi8vICAgLSBMaXN0cyA8dWw+IDxvbD4gPGRsPlxuLy8gICAtIEJsb2NrcXVvdGVzIDxibG9ja3F1b3RlPlxuLy8gICAtIENvZGUgYmxvY2tzIDxjb2RlPlxuLy8gICAtIEFiYnJldmlhdGlvbnMgPGFiYnI+XG4vLyAgIC0gQ2l0YXRpb25zIDxjaXRlPlxuLy8gICAtIEtleXN0cm9rZXMgPGtiZD5cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBoZWFkZXIgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdHlsZSAoZS5nLiBpdGFsaWNpemVkKSBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIHVzZWQgZm9yIGVsZW1lbnRzIHRoYXQgdXNlIG1vbm9zcGFjZWQgdHlwZSwgc3VjaCBhcyBjb2RlIHNhbXBsZXNcbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyBmb3IgaGVhZGluZ3MgYXQgdmFyaW91cyBzY3JlZW4gc2l6ZXMuIEVhY2gga2V5IGlzIGEgYnJlYWtwb2ludCwgYW5kIGVhY2ggdmFsdWUgaXMgYSBtYXAgb2YgaGVhZGluZyBzdHlsZXMuXG4vLy8gQHR5cGUgTWFwXG4kaGVhZGVyLXN0eWxlczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMjQpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMTkpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTgpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTcpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQ4KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDQwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDMxKSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI1KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbikgIWRlZmF1bHQ7XG5cbi8vICRoZWFkZXItc3R5bGVzIG1hcCBpcyBidWlsdCBmcm9tICRoZWFkZXItc2l6ZXMgaW4gb3JkZXIgdG8gZW5zdXJlIGRvd253YXJkIGNvbXBhdGliaWxpdHlcbi8vIHdoZW4gJGhlYWRlci1zaXplcyBpcyBkZXByZWNpYXRlZCwgJGhlYWRlci1zdHlsZXMgbmVlZHMgdG8gZ2V0ICFkZWZhdWx0IHZhbHVlcyBsaWtlIHNldHRpbmdzLnNjc3NcbkBmdW5jdGlvbiBidWlsZF9mcm9tX2hlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKSB7XG4gIEB3YXJuICdOb3RlLCB0aGF0ICRoZWFkZXItc2l6ZXMgaGFzIGJlZW4gcmVwbGFjZWQgd2l0aCAkaGVhZGVyLXN0eWxlcy4gJGhlYWRlci1zaXplcyBzdGlsbCB3b3JrcywgYnV0IGl0IGlzIGdvaW5nIHRvIGJlIGRlcHJlY2lhdGVkLic7XG4gICRoZWFkZXItc3R5bGVzOiAoKTtcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc2l6ZXMge1xuICAgICRoZWFkZXItbWFwOiAoKTtcbiAgICBAZWFjaCAkaGVhZGVyLCAkZm9udC1zaXplIGluICRoZWFkZXJzIHtcbiAgICAgICRoZWFkZXItbWFwOiBtYXAtbWVyZ2UoJGhlYWRlci1tYXAsICgkaGVhZGVyOiAoJ2ZvbnQtc2l6ZSc6ICRmb250LXNpemUpKSk7XG4gICAgfVxuICAgICRoZWFkZXItc3R5bGVzOiBtYXAtbWVyZ2UoJGhlYWRlci1zdHlsZXMsICgkc2l6ZTogJGhlYWRlci1tYXApKTtcbiAgfVxuICBAcmV0dXJuICRoZWFkZXItc3R5bGVzO1xufVxuXG4vLyBJZiBpdCBleGlzdHMgJGhlYWRlcnMtc2l6ZXMgaXMgdXNlZCB0byBidWlsZCAkaGVhZGVyLXN0eWxlcy4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhoZWFkZXItc2l6ZXMpIHtcbiAgJGhlYWRlci1zdHlsZXM6IGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpO1xufVxuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYDxzbWFsbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHNtYWxsLWZvbnQtc2l6ZTogODAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYDxzbWFsbD5gIGVsZW1lbnRzIHdoZW4gcGxhY2VkIGluc2lkZSBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5zaWRlIGA8cD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2QgZm9yIHBhcmFncmFwaCB0ZXh0LlxuLy8vIEB0eXBlIFN0cmluZ1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gVXNlIHRoZSBgLmNvZGUtaW5saW5lYCBjb21wb25lbnQgYXMgZGVmYXVsdCBmb3IgYDxjb2RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGVuYWJsZS1jb2RlLWlubGluZTogdHJ1ZTtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG8gIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tICFkZWZhdWx0O1xuXG4vLy8gQnVsbGV0IHR5cGUgdG8gdXNlIGZvciB1bm9yZGVyZWQgbGlzdHMgKGUuZy4sIGBzcXVhcmVgLCBgY2lyY2xlYCwgYGRpc2NgKS5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWRlZmF1bHQ7XG5cbi8vLyBQb3NpdGlvbmluZyBmb3IgYnVsbGV0cyBvbiB1bm9yZGVyZWQgbGlzdCBpdGVtcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgbGlzdHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGEgbGlzdCBpbnNpZGUgYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgYDxkbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgYDxkdD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGA8ZHQ+YCBhbmQgYDxkZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIGA8YmxvY2txdW90ZT5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KSAhZGVmYXVsdDtcblxuLy8vIFNpZGUgYm9yZGVyIGZvciBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBVc2UgdGhlIGAuY2l0ZS1ibG9ja2AgY29tcG9uZW50IGFzIGRlZmF1bHQgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRlbmFibGUtY2l0ZS1ibG9jazogdHJ1ZTtcblxuLy8vIEZvbnQgZmFtaWx5IGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gYm9yZGVyIHN0eWxlIGZvciBgPGFiYnI+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWJhc2Uge1xuICAvLyBUeXBvZ3JhcGh5IHJlc2V0c1xuICBkaXYsXG4gIGRsLFxuICBkdCxcbiAgZGQsXG4gIHVsLFxuICBvbCxcbiAgbGksXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYsXG4gIHByZSxcbiAgZm9ybSxcbiAgcCxcbiAgYmxvY2txdW90ZSxcbiAgdGgsXG4gIHRkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFBhcmFncmFwaHNcbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc7XG4gIH1cblxuICAvLyBFbXBoYXNpemVkIHRleHRcbiAgZW0sXG4gIGkge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFN0cm9uZyB0ZXh0XG4gIHN0cm9uZyxcbiAgYiB7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTbWFsbCB0ZXh0XG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBIZWFkaW5nc1xuICBoMSwgLmgxLFxuICBoMiwgLmgyLFxuICBoMywgLmgzLFxuICBoNCwgLmg0LFxuICBoNSwgLmg1LFxuICBoNiwgLmg2IHtcbiAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICBmb250LXN0eWxlOiAkaGVhZGVyLWZvbnQtc3R5bGU7XG4gICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRoZWFkZXItY29sb3I7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRoZWFkZXItdGV4dC1yZW5kZXJpbmc7XG5cbiAgICBzbWFsbCB7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIGNvbG9yOiAkaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSGVhZGluZyBzdHlsZXNcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc3R5bGVzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkaGVhZGVyLCAkaGVhZGVyLWRlZnMgaW4gJGhlYWRlcnMge1xuICAgICAgICAkZm9udC1zaXplLXRlbXA6IDFyZW07XG4gICAgICAgICN7JGhlYWRlcn0sIC4jeyRoZWFkZXJ9IHtcblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZnMpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZzKSk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGgpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYygkaGVhZGVyLWxpbmVoZWlnaHQsICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbXQpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtdCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWIpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYikpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJGhlYWRlci1tYXJnaW4tYm90dG9tKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBMaW5rc1xuICBhIHtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICBjb2xvcjogJGFuY2hvci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uO1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xuICAgICAgQGlmICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyICE9ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhvcml6b250YWwgcnVsZVxuICBociB7XG4gICAgY2xlYXI6IGJvdGg7XG5cbiAgICBtYXgtd2lkdGg6ICRoci13aWR0aDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luOiAkaHItbWFyZ2luO1xuXG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhyLWJvcmRlcjtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgfVxuXG4gIC8vIExpc3RzXG4gIHVsLFxuICBvbCxcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRsaXN0LW1hcmdpbi1ib3R0b207XG4gICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogJGxpc3Qtc3R5bGUtcG9zaXRpb247XG4gICAgbGluZS1oZWlnaHQ6ICRsaXN0LWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBMaXN0IGl0ZW1zXG4gIGxpIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBVbm9yZGVyZWQgbGlzdHNcbiAgdWwge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogJGxpc3Qtc3R5bGUtdHlwZTtcbiAgfVxuXG4gIC8vIE9yZGVyZWQgbGlzdHNcbiAgb2wge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICB9XG5cbiAgLy8gTmVzdGVkIHVub3JkZXJlZC9vcmRlcmVkIGxpc3RzXG4gIHVsLCBvbCB7XG4gICAgJiAmIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gRGVmaW5pdGlvbiBsaXN0c1xuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LW1hcmdpbi1ib3R0b207XG5cbiAgICBkdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tO1xuICAgICAgZm9udC13ZWlnaHQ6ICRkZWZubGlzdC10ZXJtLXdlaWdodDtcbiAgICB9XG4gIH1cblxuICAvLyBCbG9ja3F1b3Rlc1xuICBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDAgMCAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4gICAgcGFkZGluZzogJGJsb2NrcXVvdGUtcGFkZGluZztcbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYmxvY2txdW90ZS1ib3JkZXI7XG5cbiAgICAmLCBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgICBjb2xvcjogJGJsb2NrcXVvdGUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSW5saW5lIENpdGF0aW9uc1xuICBAaWYgKCRlbmFibGUtY2l0ZS1ibG9jayA9PSB0cnVlKSB7XG4gICAgY2l0ZSB7XG4gICAgICAvLyBFeHRlbmRpbmcgYSBjbGFzcyBpcyBub3QgcmVjb21tZW5kZWQuXG4gICAgICAvLyBUT0RPOiBCcmVhayB0aGUgdHlwb2dyYXBoeS1iYXNlL3R5cG9ncmFwaHktaGVscGVycyBzZXBhcmF0aW9uXG4gICAgICBAZXh0ZW5kIC5jaXRlLWJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFiYnJldmlhdGlvbnNcbiAgYWJiciwgYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206ICRhYmJyLXVuZGVybGluZTtcbiAgICBjdXJzb3I6IGhlbHA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLy8gRmlndXJlc1xuICBmaWd1cmUge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIENvZGVcbiAgQGlmICgkZW5hYmxlLWNvZGUtaW5saW5lID09IHRydWUpIHtcbiAgICBjb2RlIHtcbiAgICAgIEBleHRlbmQgLmNvZGUtaW5saW5lO1xuICAgIH1cbiAgfVxuXG4gIC8vIEtleXN0cm9rZXNcbiAga2JkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogJGtleXN0cm9rZS1wYWRkaW5nO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGtleXN0cm9rZS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRrZXlzdHJva2UtZm9udDtcbiAgICBjb2xvcjogJGtleXN0cm9rZS1jb2xvcjtcblxuICAgIEBpZiBoYXMtdmFsdWUoJGtleXN0cm9rZS1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRrZXlzdHJva2UtcmFkaXVzO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktaGVscGVyc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxlYWQtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdG9wIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3Igc3RhdGlzdGljIG51bWJlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3RhdC1mb250LXNpemU6IDIuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGAuY2l0ZS1ibG9ja2AgY29tcG9uZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgYC5jaXRlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIFBzZXVkbyBjb250ZW50IGZvciBgLmNpdGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjaXRlLXBzZXVkby1jb250ZW50OiAnXFwyMDE0IFxcMDAyMCcgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGAuY29kZS1pbmxpbmVgIGFuZCBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbiBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGAuY29kZS1pbmxpbmVgIGFuZCBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBhcm91bmQgdGV4dCBvZiB0aGUgYC5jb2RlLWlubGluZWAgY29tcG9uZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgdGhlIGAuY29kZS1ibG9ja2AgY29tcG9uZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRjb2RlLWJsb2NrLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gdW5kZXIgdGhlIGAuY29kZS1ibG9ja2AgY29tcG9uZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNvZGUtYmxvY2stbWFyZ2luLWJvdHRvbTogMS41cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gY2l0ZS1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogJGNpdGUtY29sb3I7XG4gIGZvbnQtc2l6ZTogJGNpdGUtZm9udC1zaXplO1xuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkY2l0ZS1wc2V1ZG8tY29udGVudDtcbiAgfVxufVxuXG4vLy8gQWRkIGJhc2ljIHN0eWxlcyBmb3IgYSBjb2RlIGhlbHBlci5cbi8vLyBTZWUgYGNvZGUtaW5saW5lYCBhbmQgYGNvZGUtYmxvY2tgIG1peGlucy5cbkBtaXhpbiBjb2RlLXN0eWxlIHtcbiAgYm9yZGVyOiAkY29kZS1ib3JkZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2RlLWJhY2tncm91bmQ7XG5cbiAgZm9udC1mYW1pbHk6ICRjb2RlLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGNvZGUtZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkY29kZS1jb2xvcjtcbn1cblxuLy8vIE1ha2UgY29kZSBoZWxwZXIgZnJvbSB0aGUgYGNvZGUtc3R5bGVgIG1peGluIGlubGluZS5cbi8vLyBVc2VkIHRvIGdlbmVyYXRlIGAuY29kZS1pbmxpbmVgXG5AbWl4aW4gY29kZS1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuXG4gIHBhZGRpbmc6ICRjb2RlLXBhZGRpbmc7XG59XG5cbi8vLyBNYWtlIGNvZGUgaGVscGVyIGZyb20gdGhlIGBjb2RlLXN0eWxlYCBtaXhpbiBhIGJsb2NrLlxuLy8vIFVzZWQgdG8gZ2VuZXJhdGUgYC5jb2RlLWJsb2NrYFxuQG1peGluIGNvZGUtYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBwcmU7XG5cbiAgcGFkZGluZzogJGNvZGUtYmxvY2stcGFkZGluZztcbiAgbWFyZ2luLWJvdHRvbTogJGNvZGUtYmxvY2stbWFyZ2luLWJvdHRvbTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1oZWxwZXJzIHtcbiAgLy8gVXNlIHRvIGNyZWF0ZSBhIHN1YmhlYWRpbmcgdW5kZXIgYSBtYWluIGhlYWRlclxuICAvLyBNYWtlIHN1cmUgeW91IHBhaXIgdGhlIHR3byBlbGVtZW50cyBpbiBhIDxoZWFkZXI+IGVsZW1lbnQsIGxpa2UgdGhpczpcbiAgLy8gPGhlYWRlcj5cbiAgLy8gICA8aDE+SGVhZGluZzwvaDE+XG4gIC8vICAgPGgyPlN1YmhlYWRpbmc8L2gyPlxuICAvLyA8L2hlYWRlcj5cbiAgLnN1YmhlYWRlciB7XG4gICAgbWFyZ2luLXRvcDogJHN1YmhlYWRlci1tYXJnaW4tdG9wO1xuICAgIG1hcmdpbi1ib3R0b206ICRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtd2VpZ2h0OiAkc3ViaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkc3ViaGVhZGVyLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRzdWJoZWFkZXItY29sb3I7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYW4gaW50cm9kdWN0b3J5IGxlYWQsIGRlY2ssIGJsdXJiLCBldGMuXG4gIC5sZWFkIHtcbiAgICBmb250LXNpemU6ICRsZWFkLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGxlYWQtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhIGxhcmdlIG51bWJlciB0byBkaXNwbGF5IGEgc3RhdGlzdGljXG4gIC5zdGF0IHtcbiAgICBmb250LXNpemU6ICRzdGF0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIHAgKyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xcmVtO1xuICAgIH1cbiAgfVxuXG4gIHVsLCBvbCB7XG4gICAgLy8gVXNlIHRvIHJlbW92ZSBudW1iZXJzIGZyb20gb3JkZXJlZCBsaXN0ICYgYnVsbGV0cyBmcm9tIHVub3JkZXJlZCBsaXN0XG4gICAgJi5uby1idWxsZXQge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmNpdGUtYmxvY2sge1xuICAgIEBpbmNsdWRlIGNpdGUtYmxvY2s7XG4gIH1cblxuICAuY29kZS1pbmxpbmUge1xuICAgIEBpbmNsdWRlIGNvZGUtc3R5bGU7XG4gICAgQGluY2x1ZGUgY29kZS1pbmxpbmU7XG4gIH1cblxuICAuY29kZS1ibG9jayB7XG4gICAgQGluY2x1ZGUgY29kZS1zdHlsZTtcbiAgICBAaW5jbHVkZSBjb2RlLWJsb2NrO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRleHQtYWxpZ25tZW50IHtcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGFsaWduIGluIChsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5KSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIC50ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBJZiBgdHJ1ZWAsIGFsbCBlbGVtZW50cyB3aWxsIGhhdmUgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMgd2hlbiBwcmludGVkLCB0byBzYXZlIG9uIGluay5cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGdyb3VwIGdsb2JhbFxuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBkaXNwbGF5cyBuZXh0IHRvIGFsbCBsaW5rcyB0aGVpciBcImhyZWZcIiB3aGVuIHByaW50ZWQuXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBncm91cCBnbG9iYWxcbiRwcmludC1ocmVmczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gc2Fzcy1saW50OmRpc2FibGUtYWxsXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByaW50LXN0eWxlcyB7XG4gIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgKiB7XG4gICAgICAvLyBFbnN1cmUgYSBcImJsYWNrLW9uLXdoaXRlXCIgcHJpbnQgYnkgcmVtb3ZpbmcgYmFja2dyb3VuZHMsXG4gICAgICAvLyB1c2luZyBibGFjayB0ZXh0IGV2ZXJ5d2hlcmUgYW5kIGZvcmNpbmcgdGhlIGJyb3dzZXIgdG8gZWNvbm9taXplIGluay5cbiAgICAgIEBpZiAkcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHMge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDsgLy8gQmxhY2sgcHJpbnRzIGZhc3RlcjogaDVicC5jb20vc1xuICAgICAgICBjb2xvci1hZGp1c3Q6IGVjb25vbXk7XG4gICAgICB9XG4gICAgICAvLyBPdGhlcndpc2UsIHByZXZlbnQgYW55IGVjb25vbXkgYnkgdGhlIGJyb3dzZXIuXG4gICAgICBAZWxzZSB7XG4gICAgICAgIGNvbG9yLWFkanVzdDogZXhhY3Q7XG4gICAgICB9XG5cbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIC5oaWRlLWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgdGFibGUuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRib2R5LnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0ci5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICB0aC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuXG4gICAgLy8gRGlzcGxheSB0aGUgVVJMIG9mIGEgbGluayBhZnRlciB0aGUgdGV4dFxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxuICAgIEBpZiAkcHJpbnQtaHJlZnMge1xuICAgICAgYVtocmVmXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cihocmVmKSAnKSc7IH1cbiAgICB9XG5cbiAgICAvLyBEb24ndCBkaXNwbGF5IHRoZSBVUkwgZm9yIGltYWdlcyBvciBKYXZhU2NyaXB0L2ludGVybmFsIGxpbmtzXG4gICAgLmlyIGE6YWZ0ZXIsXG4gICAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgICBhW2hyZWZePScjJ106YWZ0ZXIgeyBjb250ZW50OiAnJzsgfVxuXG4gICAgLy8gRGlzcGxheSB3aGF0IGFuIGFiYnJldmlhdGlvbiBzdGFuZHMgZm9yIGFmdGVyIHRoZSB0ZXh0XG4gICAgYWJiclt0aXRsZV06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIodGl0bGUpICcpJzsgfVxuXG4gICAgLy8gUHJldmVudCBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGEgYmxvY2txdW90ZSBvciBwcmVmb3JtYXR0ZWQgdGV4dCBibG9ja1xuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gaDVicC5jb20vdFxuICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG5cbiAgICB0cixcbiAgICBpbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuICAgIGltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgICBAcGFnZSB7IG1hcmdpbjogMC41Y207IH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICAvLyBBdm9pZCBwYWdlIGJyZWFrcyBhZnRlciBhIGhlYWRpbmdcbiAgICBoMixcbiAgICBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG5cbiAgICAvLyBIZWxwZXIgdG8gcmUtYWxsb3cgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBjZXJ0YWluIGVsZW1lbnRzIChlLmcuIHByZSwgYmxvY2txdW90ZSwgdHIpXG4gICAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b25cbi8vLy9cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBidXR0b24gZWxlbWVudHMuXG4vLy8gQHR5cGUgRm9udFxuJGJ1dHRvbi1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBidXR0b24gZWxlbWVudHMuXG4vLy8gSWdub3JlZCBpZiBudWxsIChkZWZhdWx0KVxuLy8vIEB0eXBlIEZvbnQtV2VpZ2h0XG4kYnV0dG9uLWZvbnQtd2VpZ2h0OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYXJvdW5kIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmaWxsIGZvciBidXR0b25zLiBDYW4gZWl0aGVyIGJlIGBzb2xpZGAgb3IgYGhvbGxvd2AuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGJ1dHRvbi1maWxsOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRpdmUgZm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGJ1dHRvbnMsIHRyYW5zcGFyZW50IGJ5IGRlZmF1bHRcbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHdpZHRoIGZvciBob2xsb3cgb3V0bGluZSBidXR0b25zXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAwLjlyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gb3BhY2l0eSBmb3IgYSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBob2xsb3cgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJSAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWw6IGZsaXAgZnJvbSBtYXJnaW4tcmlnaHQgdG8gbWFyZ2luLWxlZnQgZm9yIGRlZmF1bHRzXG5AaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG59XG5cbi8vLyB0cmFuc2l0aW9ucyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLy8gQWRkaXRpb25hbCByZXNwb25zaXZlIGNsYXNzZXMgZm9yIC5leHBhbmRlZFxuLy8vIEB0eXBlIEJvb2xlYW5cbiRidXR0b24tcmVzcG9uc2l2ZS1leHBhbmRlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFRPRE86IERvY3VtZW50IGJ1dHRvbi1iYXNlKCkgbWl4aW5cbkBtaXhpbiBidXR0b24tYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuXG4gIEBpZiAodHlwZS1vZigkYnV0dG9uLXBhZGRpbmcpID09ICdtYXAnKSB7XG4gICAgQGVhY2ggJHNpemUsICRwYWRkaW5nIGluICRidXR0b24tcGFkZGluZyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xuICB9XG5cbiAgYm9yZGVyOiAkYnV0dG9uLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gIHRyYW5zaXRpb246ICRidXR0b24tdHJhbnNpdGlvbjtcbiAgZm9udC1mYW1pbHk6ICRidXR0b24tZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcbiAgZm9udC13ZWlnaHQ6ICRidXR0b24tZm9udC13ZWlnaHQ7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vLy8gRXhwYW5kcyBhIGJ1dHRvbiB0byBtYWtlIGl0IGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIHRoZSBleHBhbmQgYmVoYXZpb3IuIFNldCB0byBgZmFsc2VgIHRvIHJldmVyc2UgdGhpcyBiZWhhdmlvci5cbkBtaXhpbiBidXR0b24tZXhwYW5kKCRleHBhbmQ6IHRydWUpIHtcbiAgQGlmICRleHBhbmQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGJhc2Ugc3R5bGVzIG9mIGEgaG9sbG93IG9yIGNsZWFyIGJ1dHRvbiBmaWxsaW5nIGFjY29yZGluZyB0byBgJGZpbGxgLlxuLy8vIFNlZSBtaXhpbiBgYnV0dG9uLWZpbGwtc3R5bGVgIGZvciB0aGUgZmlsbGluZyBzdHlsZXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZmlsbCBbJGJ1dHRvbi1maWxsXSAtIFR5cGUgb2YgZmlsbGluZyBiZXR3ZWVuIGBob2xsb3dgIGFuZCBgY2xlYXJgLiBgc29saWRgIGhhcyBubyBlZmZlY3RzLlxuQG1peGluIGJ1dHRvbi1maWxsKFxuICAkZmlsbDogJGJ1dHRvbi1maWxsXG4pIHtcbiAgQGlmICRmaWxsID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgfVxuICBAZWxzZSBpZiAkZmlsbCA9PSBjbGVhciB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWNsZWFyO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGVzIG9mIGEgc29saWQvaG9sbG93L2NsZWFyIGJ1dHRvbiBmaWxsaW5nIGFjY29yZGluZyB0byBgJGZpbGxgLlxuLy8vIFNlZSBtaXhpbnMgYGJ1dHRvbi1zdHlsZWAsIGBidXR0b24taG9sbG93LXN0eWxlYCBhbmQgYGJ1dHRvbi1jbGVhci1zdHlsZWAgZm9yIGVmZmVjdHMgb2YgdmlzdWFsIHN0eWxpbmcgcGFyYW1ldGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmaWxsIFskYnV0dG9uLWZpbGxdIC0gVHlwZSBvZiBmaWxsaW5nIGJldHdlZW4gYGhvbGxvd2AgYW5kIGBjbGVhcmAuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSAtXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSAtXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIC1cbkBtaXhpbiBidXR0b24tZmlsbC1zdHlsZShcbiAgJGZpbGw6ICRidXR0b24tZmlsbCxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yXG4pIHtcbiAgQGlmICRmaWxsID09IHNvbGlkIHtcbiAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuICB9XG4gIEBlbHNlIGlmICRmaWxsID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cbiAgQGVsc2UgaWYgJGZpbGwgPT0gY2xlYXIge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1jbGVhci1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZSBvZiBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gYnV0dG9uLXN0eWxlKFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzc1xuKSB7XG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgJGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGJ1dHRvbi1jb2xvciwgJGJ1dHRvbi1jb2xvci1hbHQpKTtcbiAgfVxuXG4gIEBpZiAkYmFja2dyb3VuZC1ob3ZlciA9PSBhdXRvIHtcbiAgICAkYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJhY2tncm91bmQsICRsaWdodG5lc3M6ICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzcyk7XG4gIH1cblxuICAvLyBEZWZhdWx0IGFuZCBkaXNhYmxlZCBzdGF0ZXNcbiAgJixcbiAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0sXG4gICYuZGlzYWJsZWQ6aG92ZXIsICZbZGlzYWJsZWRdOmhvdmVyLFxuICAmLmRpc2FibGVkOmZvY3VzLCAmW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGJhc2Ugc3R5bGVzIG9mIGEgaG9sbG93IGJ1dHRvbi5cbi8vLyBTZWUgbWl4aW4gYGJ1dHRvbi1ob2xsb3ctc3R5bGVgIGZvciB0aGUgZmlsbGluZyBzdHlsZXMuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdyB7XG4gICYsICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgaG9sbG93IGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tYmFja2dyb3VuZF0gLSBUZXh0IGFuZCBib3JkZXIgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkaG92ZXItbGlnaHRuZXNzIFskYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3NdIC0gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRib3JkZXItd2lkdGggWyRidXR0b24taG9sbG93LWJvcmRlci13aWR0aF0gLSBCb3JkZXIgd2lkdGggb2YgdGhlIGJ1dHRvbi5cbkBtaXhpbiBidXR0b24taG9sbG93LXN0eWxlKFxuICAkY29sb3I6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzLFxuICAkYm9yZGVyLXdpZHRoOiAkYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGhcbikge1xuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGhvdmVyLWxpZ2h0bmVzcyk7XG5cbiAgLy8gRGVmYXVsdCBhbmQgZGlzYWJsZWQgc3RhdGVzXG4gICYsXG4gICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdLFxuICAmLmRpc2FibGVkOmhvdmVyLCAmW2Rpc2FibGVkXTpob3ZlcixcbiAgJi5kaXNhYmxlZDpmb2N1cywgJltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkY29sb3I7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGJhc2Ugc3R5bGVzIG9mIGEgY2xlYXIgYnV0dG9uLlxuLy8vIFNlZSBtaXhpbiBgYnV0dG9uLWNsZWFyLXN0eWxlYCBmb3IgdGhlIGZpbGxpbmcgc3R5bGVzLlxuQG1peGluIGJ1dHRvbi1jbGVhciB7XG4gICYsICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZSBvZiBhIGNsZWFyIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tYmFja2dyb3VuZF0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGhvdmVyLWxpZ2h0bmVzcyBbJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzXSAtIENvbG9yIGxpZ2h0bmVzcyBvbiBob3Zlci5cbkBtaXhpbiBidXR0b24tY2xlYXItc3R5bGUoXG4gICRjb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3Ncbikge1xuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGhvdmVyLWxpZ2h0bmVzcyk7XG5cbiAgLy8gRGVmYXVsdCBhbmQgZGlzYWJsZWQgc3RhdGVzXG4gICYsXG4gICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdLFxuICAmLmRpc2FibGVkOmhvdmVyLCAmW2Rpc2FibGVkXTpob3ZlcixcbiAgJi5kaXNhYmxlZDpmb2N1cywgJltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICB9XG59XG5cbi8vLyBBZGRzIGRpc2FibGVkIHN0eWxlcyB0byBhIGJ1dHRvbiBieSBmYWRpbmcgdGhlIGVsZW1lbnQgYW5kIHJlc2V0aW5nIHRoZSBjdXJzb3IuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcGFjaXR5IFskYnV0dG9uLW9wYWNpdHktZGlzYWJsZWRdIC0gT3BhY2l0eSBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLlxuQG1peGluIGJ1dHRvbi1kaXNhYmxlZChcbiAgJG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZFxuKSB7XG4gIG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLy8vIEFkZHMgYSBkcm9wZG93biBhcnJvdyB0byBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgWzAuNGVtXSAtIFNpemUgb2YgdGhlIGFycm93LiBXZSByZWNvbW1lbmQgdXNpbmcgYW4gYGVtYCB2YWx1ZSBzbyB0aGUgdHJpYW5nbGUgc2NhbGVzIHdoZW4gdXNlZCBpbnNpZGUgZGlmZmVyZW50IHNpemVzIG9mIGJ1dHRvbnMuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFt3aGl0ZV0gLSBDb2xvciBvZiB0aGUgYXJyb3cuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvZmZzZXQgWyRidXR0b24tcGFkZGluZ10gLSBEaXN0YW5jZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHQgb2YgdGhlIGJ1dHRvbi4gRGVmYXVsdHMgdG8gd2hhdGV2ZXIgdGhlIHJpZ2h0IHBhZGRpbmcgb2YgYSBidXR0b24gaXMuXG5AbWl4aW4gYnV0dG9uLWRyb3Bkb3duKFxuICAkc2l6ZTogMC40ZW0sXG4gICRjb2xvcjogJHdoaXRlLFxuICAkb2Zmc2V0OiBnZXQtc2lkZSgkYnV0dG9uLXBhZGRpbmcsIHJpZ2h0KVxuKSB7XG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHNpemUsICRjb2xvciwgZG93bik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07IC8vIEFsaWducyB0aGUgYXJyb3cgd2l0aCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uXG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1yaWdodH07XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcbiAgfVxufVxuXG4vLy8gQWRkcyBhbGwgc3R5bGVzIGZvciBhIGJ1dHRvbi4gRm9yIG1vcmUgZ3JhbnVsYXIgY29udHJvbCBvdmVyIHN0eWxlcywgdXNlIHRoZSBpbmRpdmlkdWFsIGJ1dHRvbiBtaXhpbnMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIG1ha2UgdGhlIGJ1dHRvbiBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHlsZSBbc29saWRdIC0gU2V0IHRvIGBob2xsb3dgIHRvIGNyZWF0ZSBhIGhvbGxvdyBidXR0b24uIFRoZSBjb2xvciBkZWZpbmVkIGluIGAkYmFja2dyb3VuZGAgd2lsbCBiZSB1c2VkIGFzIHRoZSBwcmltYXJ5IGNvbG9yIG9mIHRoZSBidXR0b24uXG5AbWl4aW4gYnV0dG9uKFxuICAkZXhwYW5kOiBmYWxzZSxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkc3R5bGU6ICRidXR0b24tZmlsbFxuKSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xuICBAaW5jbHVkZSBidXR0b24tZmlsbCgkc3R5bGUpO1xuICBAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkc3R5bGUsICRiYWNrZ3JvdW5kLCAkYmFja2dyb3VuZC1ob3ZlciwgJGNvbG9yKTtcblxuICBAaWYgJGV4cGFuZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24ge1xuICAuYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBidXR0b24oJHN0eWxlOiBub25lKTtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDsgfVxuXG4gICAgQGlmICRidXR0b24tcmVzcG9uc2l2ZS1leHBhbmRlZCB7XG4gICAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSBvbmx5KSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1vbmx5LWV4cGFuZGVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSBkb3duKSB7XG4gICAgICAgICAgICAmLiN7JHNpemV9LWRvd24tZXhwYW5kZWQge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoI3skc2l6ZX0pIHtcbiAgICAgICAgICAgICYuI3skc2l6ZX0tZXhwYW5kZWQge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNvbGlkLCBob2xsb3cgJiBjbGVhciBzdHlsZXNcbiAgICBAZWFjaCAkZmlsbGluZyBpbiAoc29saWQgaG9sbG93IGNsZWFyKSB7XG4gICAgICAkc2VsZWN0b3I6IGlmKCRidXR0b24tZmlsbCA9PSAkZmlsbGluZywgbnVsbCwgJy4jeyRmaWxsaW5nfScpO1xuXG4gICAgICAmI3skc2VsZWN0b3J9IHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwoJGZpbGxpbmcpO1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkZmlsbGluZyk7XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwtc3R5bGUoJGZpbGxpbmcsICRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgICAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLy8gRHJvcGRvd24gYXJyb3dcbiAgICAmLmRyb3Bkb3duIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kcm9wZG93bjtcblxuICAgICAgQGlmICRidXR0b24tZmlsbCA9PSBob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuaG9sbG93LCAmLmNsZWFyIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJ1dHRvbiB3aXRoIGRyb3Bkb3duIGFycm93IG9ubHlcbiAgICAmLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgICAgIHRvcDogLTAuMWVtO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIH1cbiAgfVxuXG4gIGEuYnV0dG9uIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRm9udCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIG9mIHBsYWNlaG9sZGVyIHRleHQgd2l0aGluIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEZvbnRcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBmb2N1c2VkIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGZvY3VzZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBpbnNpZGUgdGV4dCBpbnB1dHMgd2hlbiBub3QgZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgb3V0c2lkZSB0ZXh0IGlucHV0cyB3aGVuIGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEN1cnNvciB0byB1c2Ugd2hlbiBob3ZlcmluZyBvdmVyIGEgZGlzYWJsZWQgdGV4dCBpbnB1dC5cbi8vLyBAdHlwZSBDdXJzb3JcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG4vLy8gUHJvcGVydGllcyB0byB0cmFuc2l0aW9uIG9uIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgdGhlIHVwL2Rvd24gYnV0dG9ucyB0aGF0IENocm9tZSBhbmQgRmlyZWZveCBhZGQgdG8gYDxpbnB1dCB0eXBlPSdudW1iZXInPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFJhZGl1cyBmb3IgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGZvcm0gYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tZWxlbWVudCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkaW5wdXQtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdztcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXRleHQge1xuICAvLyBUZXh0IGlucHV0c1xuICAje3RleHQtaW5wdXRzKCl9LFxuICB0ZXh0YXJlYSB7XG4gICAgQGluY2x1ZGUgZm9ybS1lbGVtZW50O1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyBUZXh0IGFyZWFzXG4gIHRleHRhcmVhIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAmW3Jvd3NdIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICBpbnB1dCxcbiAgdGV4dGFyZWEge1xuICAgIC8vIERpc2FibGVkL3JlYWRvbmx5IHN0YXRlXG4gICAgJjpkaXNhYmxlZCxcbiAgICAmW3JlYWRvbmx5XSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb24gYnV0dG9uLWxpa2UgaW5wdXRzXG4gIFt0eXBlPSdzdWJtaXQnXSxcbiAgW3R5cGU9J2J1dHRvbiddIHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLWJ1dHRvbi1yYWRpdXM7XG4gIH1cblxuICAvLyBSZXNldCBOb3JtYWxpemUgc2V0dGluZyBjb250ZW50LWJveCB0byBzZWFyY2ggZWxlbWVudHNcbiAgaW5wdXRbdHlwZT0nc2VhcmNoJ10geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLy8gTnVtYmVyIGlucHV0IHN0eWxlc1xuICBbdHlwZT0nbnVtYmVyJ10ge1xuICAgIEBpZiBub3QgJGlucHV0LW51bWJlci1zcGlubmVycyB7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcblxuICAgICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICAgICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQbGFjZWhvbGRlciB0ZXh0XG4gIDo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWNoZWNrYm94IHtcbiAgW3R5cGU9J2ZpbGUnXSxcbiAgW3R5cGU9J2NoZWNrYm94J10sXG4gIFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dC9sYWJlbCBzaWJsaW5nc1xuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgJltmb3JdIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0cyBpbnNpZGUgbGFiZWxzXG4gIGxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG4gIGxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLy8gTm9ybWFsaXplIGZpbGUgaW5wdXQgd2lkdGhcbiAgW3R5cGU9J2ZpbGUnXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3IgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgZm9ybSBsYWJlbHMuIFRoZSBoaWdoZXIgdGhlIG51bWJlciwgdGhlIG1vcmUgc3BhY2UgYmV0d2VlbiB0aGUgbGFiZWwgYW5kIGl0cyBpbnB1dCBmaWVsZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjggIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcblxuICBmb250LXNpemU6ICRmb3JtLWxhYmVsLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvcjtcbn1cblxuQG1peGluIGZvcm0tbGFiZWwtbWlkZGxlIHtcbiAgJGlucHV0LWJvcmRlci13aWR0aDogZ2V0LWJvcmRlci12YWx1ZSgkaW5wdXQtYm9yZGVyLCB3aWR0aCk7XG5cbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgLyAyICsgcmVtLWNhbGMoJGlucHV0LWJvcmRlci13aWR0aCkpIDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tbGFiZWwge1xuICBsYWJlbCB7XG4gICAgQGluY2x1ZGUgZm9ybS1sYWJlbDtcblxuICAgICYubWlkZGxlIHtcbiAgICAgIEBpbmNsdWRlIGZvcm0tbGFiZWwtbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzdHlsZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0taGVscHRleHQge1xuICAuaGVscC10ZXh0IHtcbiAgICAkbWFyZ2luLXRvcDogKCRmb3JtLXNwYWNpbmcgKiAwLjUpICogLTE7XG5cbiAgICBtYXJnaW4tdG9wOiAkbWFyZ2luLXRvcDtcbiAgICBmb250LXNpemU6ICRoZWxwdGV4dC1mb250LXNpemU7XG4gICAgZm9udC1zdHlsZTogJGhlbHB0ZXh0LWZvbnQtc3R5bGU7XG4gICAgY29sb3I6ICRoZWxwdGV4dC1jb2xvcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExlZnQvcmlnaHQgcGFkZGluZyBvZiBhbiBwcmUvcG9zdGZpeGVkIGlucHV0IGxhYmVsXG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tcHJlcG9zdGZpeCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogJGlucHV0LWxpbmUtaGVpZ2h0KSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgdGFibGUpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIH1cblxuICAgID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgICYsICYuaW5wdXQtZ3JvdXAtYnV0dG9uID4gKiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgICYsICYuaW5wdXQtZ3JvdXAtYnV0dG9uID4gKiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAlaW5wdXQtZ3JvdXAtY2hpbGQge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nOiAwICRpbnB1dC1wcmVmaXgtcGFkZGluZztcbiAgICBib3JkZXI6ICRpbnB1dC1wcmVmaXgtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDtcblxuICAgIGNvbG9yOiAkaW5wdXQtcHJlZml4LWNvbG9yO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtcHJlZml4LWJvcmRlcikge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIGEsXG4gICAgaW5wdXQsXG4gICAgYnV0dG9uLFxuICAgIGxhYmVsIHtcbiAgICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuXG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgICB9XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNwZWNpZmljaXR5IGJ1bXAgbmVlZGVkIHRvIHByZXZlbnQgb3ZlcnJpZGUgYnkgYnV0dG9uc1xuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgLmlucHV0LWdyb3VwIHtcbiAgICAgIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBiZXR3ZWVuIHRoZSBsZWdlbmQgdGV4dCBhbmQgZmllbGRzZXQgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpICFkZWZhdWx0O1xuXG5AbWl4aW4gZmllbGRzZXQge1xuICBtYXJnaW46ICRmaWVsZHNldC1tYXJnaW47XG4gIHBhZGRpbmc6ICRmaWVsZHNldC1wYWRkaW5nO1xuICBib3JkZXI6ICRmaWVsZHNldC1ib3JkZXI7XG5cbiAgbGVnZW5kIHtcbiAgICAvLyBDb3ZlcnMgdXAgdGhlIGZpZWxkc2V0J3MgYm9yZGVyIHRvIGNyZWF0ZSBhcnRpZmljaWFsIHBhZGRpbmdcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogcmVtLWNhbGMoLTMpO1xuICAgIHBhZGRpbmc6ICRsZWdlbmQtcGFkZGluZztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWZpZWxkc2V0IHtcbiAgZmllbGRzZXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIGxlZ2VuZCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAuZmllbGRzZXQge1xuICAgIEBpbmNsdWRlIGZpZWxkc2V0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZHJvcGRvd24gdHJpYW5nbGUgaW5zaWRlIHNlbGVjdCBtZW51cy4gU2V0IHRvIGB0cmFuc3BhcmVudGAgdG8gcmVtb3ZlIGl0IGVudGlyZWx5LlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1zZWxlY3Qge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqIHVuaXRsZXNzLWNhbGMoJGlucHV0LWxpbmUtaGVpZ2h0KSkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcblxuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRzZWxlY3QtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWJhY2tncm91bmQ7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiAkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yICE9IHRyYW5zcGFyZW50IHtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRzZWxlY3QtdHJpYW5nbGUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkZ2xvYmFsLXJpZ2h0ICgtJGZvcm0tc3BhY2luZykgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuXG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAoJGZvcm0tc3BhY2luZyAqIDEuNSk7XG4gIH1cblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gSGlkZSB0aGUgZHJvcGRvd24gYXJyb3cgc2hvd24gaW4gbmV3ZXIgSUUgdmVyc2lvbnNcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICZbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxuICAmOm5vdChbbXVsdGlwbGVdKSB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1zZWxlY3Qge1xuICBzZWxlY3Qge1xuICAgIEBpbmNsdWRlIGZvcm0tc2VsZWN0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWJpZGVcbi8vLy9cblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBpbnB1dHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWlucHV0czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBsYWJlbHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWxhYmVsczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgdG8gdXNlIGZvciBpbnZhbGlkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdG8gdXNlIGZvciBsYWJlbHMgb2YgaW52YWxpZCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlciBvZiBhbiBpbnB1dCBmaWVsZCB0byBoYXZlIGFuIGVycm9yIHN0YXRlLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRhbGVydC1jb2xvcl0gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYWNrZ3JvdW5kLWxpZ2h0ZW4gWzEwJV0gLSBMaWdodG5lc3MgbGV2ZWwgb2YgdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gZm9ybS1pbnB1dC1lcnJvcihcbiAgJGJhY2tncm91bmQ6ICRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQsXG4gICRiYWNrZ3JvdW5kLWxpZ2h0ZW46IDEwJVxuKSB7XG4gICY6bm90KDpmb2N1cykge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWl4KCRiYWNrZ3JvdW5kLCAkd2hpdGUsICRiYWNrZ3JvdW5kLWxpZ2h0ZW4pO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBlcnJvciBzdHlsZXMgdG8gYSBmb3JtIGVsZW1lbnQsIHVzaW5nIHRoZSB2YWx1ZXMgaW4gdGhlIHNldHRpbmdzIGZpbGUuXG5AbWl4aW4gZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6ICRmb3JtLXNwYWNpbmcgKiAtMC41O1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gIGZvbnQtc2l6ZTogJGlucHV0LWVycm9yLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1lcnJvci1mb250LXdlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1lcnJvci1jb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1lcnJvciB7XG4gIEBpZiAkYWJpZGUtaW5wdXRzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgaW52YWxpZCBpbnB1dHNcbiAgICAuaXMtaW52YWxpZC1pbnB1dCB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWlucHV0LWVycm9yO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkYWJpZGUtbGFiZWxzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgbGFiZWxzIG9mIGludmFsaWQgb3V0cHV0c1xuICAgIC5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZvcm0gZXJyb3IgZWxlbWVudFxuICAuZm9ybS1lcnJvciB7XG4gICAgQGluY2x1ZGUgZm9ybS1lcnJvcjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb25cbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY2NvcmRpb24gZ3JvdXAuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIHBsdXMgYW5kIG1pbnVzIGljb25zIHRvIHRoZSBzaWRlIG9mIGVhY2ggYWNjb3JkaW9uIHRpdGxlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQ29udGVudCBmb3IgdGhlIHBsdXMgaWNvbiB3aGVuIGAkYWNjb3JkaW9uLXBsdXNtaW51c2AgaXMgYHRydWVgXG4vLy8gQHR5cGUgU3RyaW5nXG4kYWNjb3JkaW9uLXBsdXMtY29udGVudDogJ1xcMDAyQicgIWRlZmF1bHQ7XG5cbi8vLyBDb250ZW50IGZvciB0aGUgbWludXMgaWNvbiB3aGVuIGAkYWNjb3JkaW9uLXBsdXNtaW51c2AgaXMgYHRydWVgXG4vLy8gQHR5cGUgU3RyaW5nXG4kYWNjb3JkaW9uLW1pbnVzLWNvbnRlbnQ6ICdcXDIwMTMnICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGFjY29yZGlvbiB0aXRsZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGFuIGFjY29yZGlvbiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGFjY29yZGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIHNhbWUgZWxlbWVudCB0aGF0IGdldHMgYGRhdGEtYWNjb3JkaW9uYC5cbkBtaXhpbiBhY2NvcmRpb24tY29udGFpbmVyIChcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tYmFja2dyb3VuZFxuKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cbiAgJltkaXNhYmxlZF0ge1xuICAgIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpc3QgaXRlbSB3aXRoaW4gYW4gYWNjb3JkaW9uIHVsLlxuQG1peGluIGFjY29yZGlvbi1pdGVtIHtcbiAgJjpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXMgMCAwO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB0aXRsZSBvZiBhbiBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGluayB3aXRoaW4gYW4gYWNjb3JkaW9uIGl0ZW0uXG5AbWl4aW4gYWNjb3JkaW9uLXRpdGxlIChcbiAgJHBhZGRpbmc6ICRhY2NvcmRpb24taXRlbS1wYWRkaW5nLFxuICAkZm9udC1zaXplOiAkYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZSxcbiAgJGNvbG9yOiAkYWNjb3JkaW9uLWl0ZW0tY29sb3IsXG4gICRib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXIsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlclxuKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcblxuICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gIDpsYXN0LWNoaWxkOm5vdCguaXMtYWN0aXZlKSA+ICYge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gIH1cblxuICBAaWYgJGFjY29yZGlvbi1wbHVzbWludXMge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICAgICAgY29udGVudDogJGFjY29yZGlvbi1wbHVzLWNvbnRlbnQ7XG4gICAgfVxuXG4gICAgLmlzLWFjdGl2ZSA+ICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAkYWNjb3JkaW9uLW1pbnVzLWNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYWNjb3JkaW9uIGNvbnRlbnQuIEFwcGx5IHRoaXMgdG8gdGhlIGNvbnRlbnQgcGFuZSBiZWxvdyBhbiBhY2NvcmRpb24gaXRlbSdzIHRpdGxlLlxuQG1peGluIGFjY29yZGlvbi1jb250ZW50IChcbiAgJHBhZGRpbmc6ICRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nLFxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxuICAkYmFja2dyb3VuZDogJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQsXG4gICRjb2xvcjogJGFjY29yZGlvbi1jb250ZW50LWNvbG9yXG4pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcblxuICBjb2xvcjogJGNvbG9yO1xuXG4gIDpsYXN0LWNoaWxkID4gJjpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbiB7XG4gIC5hY2NvcmRpb24ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250YWluZXI7XG4gIH1cblxuICAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1pdGVtO1xuICB9XG5cbiAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLXRpdGxlO1xuICB9XG5cbiAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGVudDtcbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb24tbWVudVxuLy8vL1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGFjY29yZGlvbiBtZW51cyBoYXZlIHRoZSBkZWZhdWx0IGFycm93IHN0eWxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gYm9yZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIExpc3RcbiRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyOiAkYWNjb3JkaW9ubWVudS1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgdG9nZ2xlIGJhY2tncm91bmQgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDogNDBweCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSB0b2dnbGUgYmFja2dyb3VuZCBoZWlnaHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1hY2NvcmRpb24tbWVudS1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQ6bm90KC5oYXMtc3VibWVudS10b2dnbGUpID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUsICRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAoJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZSAvIDIpO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLWxlZnQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMXJlbTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1yaWdodCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDFyZW07XG4gIH1cbn1cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51IHtcblxuICAuYWNjb3JkaW9uLW1lbnUge1xuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgICBib3JkZXItdG9wOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1yaWdodDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgICBib3JkZXItbGVmdDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgfVxuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBAaWYgJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgICAgcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgYSB7XG4gICAgICBwYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW4sIHJpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYXJyb3dzIHtcbiAgICAgIEBpbmNsdWRlIHpmLWFjY29yZGlvbi1tZW51LWxlZnQtcmlnaHQtYXJyb3dzO1xuXG4gICAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9J3RydWUnXSA+IGE6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgbGkge1xuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLmhhcy1zdWJtZW51LXRvZ2dsZSA+IGEge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiAgfVxuXG4gIC8vIFN1Ym1lbnUgdG9nZ2xlXG4gIC5zdWJtZW51LXRvZ2dsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtcmlnaHR9OiAwO1xuXG4gICAgd2lkdGg6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuICAgIGhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0O1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI7XG5cbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZCB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIC8vIEFkZCB0aGUgYXJyb3cgdG8gdGhlIHRvZ2dsZVxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSg2cHgsICRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcblxuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJvdGF0ZSB0aGUgYXJyb3cgd2hlbiBtZW51IGlzIG9wZW5cbiAgLnN1Ym1lbnUtdG9nZ2xlW2FyaWEtZXhwYW5kZWQ9J3RydWUnXTo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICB9XG5cbiAgLnN1Ym1lbnUtdG9nZ2xlLXRleHQge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWVudVxuLy8vL1xuXG4vLy8gTWFyZ2luIG9mIGEgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIExlZnQtaGFuZCBtYXJnaW4gb2YgYSBuZXN0ZWQgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgaXRlbXMgaW4gYSBwaWxsIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pdGVtcy1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBzaW1wbGUgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LXNpbXBsZS1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGl2ZSB0ZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWNvbG9yLWFsdC1hY3RpdmU6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGFuIGljb24gYW5kIHRleHQgaW4gYSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciBtZW51IHN0YXRlLiBJZiB0cnVlLCB0aGlzIGR1cGxpY2F0ZSBgYWN0aXZlYCB3aXRoIGBpcy1hY3RpdmVgLiBcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgYWN0aXZlYCB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtc3RhdGUtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciBtZW51IGNlbnRlcmVkLiBJZiB0cnVlLCB0aGlzIGR1cGxpY2F0ZSBgLm1lbnUtY2VudGVyZWQgPiAubWVudWAgd2l0aCBgLm1lbnUuYWxpZ24tY2VudGVyYC4gXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgYG1lbnUtY2VudGVyZWRgIHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIHVzaW5nIGBpY29uLSpgIGNsYXNzZXMgd2l0aG91dCBgLmljb25zYCBjbGFzc2VzXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgdGhpcyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1pY29ucy1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIE1lbnUuXG5AbWl4aW4gbWVudS1iYXNlIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICBsaSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB9XG5cbiAgYSxcbiAgLmJ1dHRvbiB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRtZW51LWl0ZW1zLXBhZGRpbmc7XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb2YgaW5uZXIgZWxlbWVudHNcbiAgaW5wdXQsXG4gIHNlbGVjdCxcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgaW5wdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG4vLy8gRXhwYW5kcyB0aGUgaXRlbXMgb2YgYSBNZW51LCBzbyBlYWNoIGl0ZW0gaXMgdGhlIHNhbWUgd2lkdGguXG5AbWl4aW4gbWVudS1leHBhbmQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWxpZ24gbWVudSBpdGVtcy5cbkBtaXhpbiBtZW51LWFsaWduKCRhbGlnbm1lbnQpIHtcbiAgQGlmICRhbGlnbm1lbnQgPT0gbGVmdCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSByaWdodCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcblxuICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwge1xuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IGNlbnRlciB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGRpcmVjdGlvbiBvZiBhIE1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFtob3Jpem9udGFsXSAtIERpcmVjdGlvbiBvZiB0aGUgTWVudS4gQ2FuIGJlIGBob3Jpem9udGFsYCBvciBgdmVydGljYWxgLlxuQG1peGluIG1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBtZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2ltcGxlIE1lbnUsIHdoaWNoIGhhcyBubyBwYWRkaW5nIG9yIGhvdmVyIHN0YXRlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbJGdsb2JhbC1sZWZ0XSAtIERpcmVjdGlvbiBvZiB0aGUgbWVudS4gVGhpcyBlZmZlY3RzIHRoZSBzaWRlIG9mIHRoZSBgPGxpPmAgdGhhdCByZWNlaXZlcyB0aGUgbWFyZ2luLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWFyZ2luIFskbWVudS1zaW1wbGUtbWFyZ2luXSAtIFRoZSBtYXJnaW4gdG8gYXBwbHkgdG8gZWFjaCBgPGxpPmAuXG5AbWl4aW4gbWVudS1zaW1wbGUoJGRpcjogJGdsb2JhbC1sZWZ0LCAkbWFyZ2luOiAkbWVudS1zaW1wbGUtbWFyZ2luKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICBsaSArIGxpIHtcbiAgICBtYXJnaW4tI3skZGlyfTogJG1hcmdpbjtcbiAgfVxuXG4gIGEge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG5lc3RlZCBNZW51LCBieSBhZGRpbmcgYG1hcmdpbi1sZWZ0YCB0byB0aGUgbWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkbWFyZ2luIFskbWVudS1uZXN0ZWQtbWFyZ2luXSAtIExlbmd0aCBvZiB0aGUgbWFyZ2luLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJG5lc3RlZC1hbGlnbm1lbnQgW2xlZnRdIC0gQWxpZ25tZW50IG9mIHRoZSBuZXN0ZWQgY2xhc3NcbkBtaXhpbiBtZW51LW5lc3RlZChcbiAgJG1hcmdpbjogJG1lbnUtbmVzdGVkLW1hcmdpbixcbiAgJG5lc3RlZC1hbGlnbm1lbnQ6IGxlZnRcbikge1xuICBAaWYgJG5lc3RlZC1hbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkbWFyZ2luO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRtYXJnaW47XG4gIH1cblxufVxuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGljb25zIGluIG1lbnVzLlxuQG1peGluIG1lbnUtaWNvbnMoKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGltZyxcbiAgICBpLFxuICAgIHN2ZyB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICArIHNwYW4ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBwb3NpdGlvbiBjbGFzc2VzIGZvciBpY29ucyB3aXRoaW4gYSBtZW51LlxuQG1peGluIG1lbnUtaWNvbi1wb3NpdGlvbigkcG9zaXRpb246IGxlZnQsICRzcGFjaW5nOiAkbWVudS1pY29uLXNwYWNpbmcpIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRzcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG8gJHNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogJHNwYWNpbmcgYXV0byAwO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWVudS10ZXh0IHtcbiAgcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG5cbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuQG1peGluIG1lbnUtc3RhdGUtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZSwgKCRtZW51LWl0ZW0tY29sb3ItYWN0aXZlLCAkbWVudS1pdGVtLWNvbG9yLWFsdC1hY3RpdmUpKTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVudSB7XG4gIC5tZW51IHtcbiAgICBAaW5jbHVkZSBtZW51LWJhc2U7XG5cbiAgICAvLyBEZWZhdWx0IG9yaWVudGF0aW9uOiBob3Jpem9udGFsXG4gICAgJiwgJi5ob3Jpem9udGFsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgIH1cblxuICAgIC8vIFZlcnRpY2FsIG9yaWVudGF0aW9uIG1vZGlmaWVyXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aCBtb2RpZmllciBmb3IgaG9yaXpvbnRhbCBvcmllbnRhdGlvblxuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgfVxuXG4gICAgLy8gU2ltcGxlXG4gICAgJi5zaW1wbGUge1xuICAgICAgQGluY2x1ZGUgbWVudS1zaW1wbGU7XG4gICAgfVxuXG4gICAgLy8gQnJlYWtwb2ludCBzcGVjaWZpYyB2ZXJzaW9uc1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiBmYWxzZSkge1xuICAgICAgJi4jeyQtemYtc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tZXhwYW5kZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tc2ltcGxlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYubmVzdGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkO1xuICAgIH1cblxuICAgIC8vIEljb24gQmFzZSBTdHlsZXNcbiAgICAmLmljb25zIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgfVxuXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LWljb25zLWJhY2stY29tcGF0IHtcbiAgICAgICYuaWNvbi10b3AsXG4gICAgICAmLmljb24tcmlnaHQsXG4gICAgICAmLmljb24tYm90dG9tLFxuICAgICAgJi5pY29uLWxlZnQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWljb25zO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEljb24gTGVmdFxuICAgICYuaWNvbi1sZWZ0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBJY29uIFJpZ2h0XG4gICAgJi5pY29uLXJpZ2h0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihyaWdodCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBUb3BcbiAgICAmLmljb24tdG9wIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbih0b3ApO1xuICAgIH1cblxuICAgIC8vIEljb24gQm90dG9tXG4gICAgJi5pY29uLWJvdHRvbSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24oYm90dG9tKTtcbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAuaXMtYWN0aXZlID4gYSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXN0YXRlLWFjdGl2ZTtcbiAgICB9XG4gICAgXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LXN0YXRlLWJhY2stY29tcGF0IHtcbiAgICAgIC5hY3RpdmUgPiBhIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gbGVmdFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLWxlZnR9IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24obGVmdCk7XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gcmlnaHRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihyaWdodCk7XG5cbiAgICAgIC5uZXN0ZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkbmVzdGVkLWFsaWdubWVudDogcmlnaHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFsaWduIGNlbnRlclxuICAgICYuYWxpZ24tY2VudGVyIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24oY2VudGVyKTtcbiAgICB9XG5cbiAgICAubWVudS10ZXh0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtdGV4dDtcbiAgICB9XG4gIH1cblxuICBAaWYgJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQge1xuICAgIC5tZW51LWNlbnRlcmVkIHtcbiAgICAgID4gLm1lbnUge1xuICAgICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByZXZlbnQgRk9VQyB3aGVuIHVzaW5nIHRoZSBSZXNwb25zaXZlIE1lbnUgcGx1Z2luXG4gIC5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2xvc2UtYnV0dG9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uIFRoZSBmaXJzdCB2YWx1ZSBzaG91bGQgYmUgYHJpZ2h0YCBvciBgbGVmdGAsIGFuZCB0aGUgc2Vjb25kIHZhbHVlIHNob3VsZCBiZSBgdG9wYCBvciBgYm90dG9tYC5cbi8vLyBAdHlwZSBMaXN0XG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgei1pbmRleCBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tei1pbmRleDogMTAgIWRlZmF1bHQ7XG5cbi8vLyBCdXR0b24gc2l6ZSB0byB1c2UgYXMgZGVmYXVsdFxuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBzZWUgJGNsb3NlYnV0dG9uLXNpemVcbi8vLyBAc2VlICRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbFxuLy8vIEBzZWUgJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbFxuJGNsb3NlYnV0dG9uLWRlZmF1bHQtc2l6ZTogbWVkaXVtICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgKG9yIGxlZnQpIG9mZnNldChzKSBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAoXG4gIHNtYWxsOiAwLjY2cmVtLFxuICBtZWRpdW06IDFyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gVG9wIChvciBib3R0b20pIG9mZnNldChzKSBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogKFxuICBzbWFsbDogMC4zM2VtLFxuICBtZWRpdW06IDAuNXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBTaXplKHMpIG9mIHRoZSBjbG9zZSBidXR0b24uIFVzZWQgdG8gZ2VuZXJhdGUgc2l6aW5nIG1vZGlmaWVycy5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tc2l6ZTogKFxuICBzbWFsbDogMS41ZW0sXG4gIG1lZGl1bTogMmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsaW5lLWhlaWdodCBvZiB0aGUgY2xvc2UgYnV0dG9uLiBJdCBhZmZlY3RzIHRoZSBzcGFjaW5nIG9mIHRoZSBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDEgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbiB3aGVuIGJlaW5nIGhvdmVyZWQgb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrICFkZWZhdWx0O1xuXG5cbi8vLyBHZXQgdGhlIHNpemUgYW5kIHBvc2l0aW9uIGZvciBhIGNsb3NlIGJ1dHRvbi4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgbnVtYmVyLCB0aGUgbnVtYmVyIGlzIHJldHVybmVkLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBjb25maWcgbWFwIGFuZCB0aGUgbWFwIGhhcyB0aGUga2V5IGAkc2l6ZWAsIHRoZSB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJHZhbHVlIC0gQSBudW1iZXIgb3IgbWFwIHRoYXQgcmVwcmVzZW50cyB0aGUgc2l6ZSBvciBwb3NpdGlvbiB2YWx1ZShzKSBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBUaGUgc2l6ZSBvZiB0aGUgY2xvc2UgYnV0dG9uIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gVGhlIGdpdmVuIG51bWJlciBvciB0aGUgdmFsdWUgZm91bmQgaW4gdGhlIG1hcC5cbkBmdW5jdGlvbiAtemYtZ2V0LXNpemUtdmFsKCR2YWx1ZSwgJHNpemUpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgIC8vIElmIGl0IGlzLCBqdXN0IHJldHVybiB0aGUgbnVtYmVyXG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgc2l6ZSBuYW1lIGV4aXN0cyBpbiB0aGUgdmFsdWUgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCR2YWx1ZSwgJHNpemUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCR2YWx1ZSwgJHNpemUpO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBzaXplIGFuZCBwb3NpdGlvbiBvZiBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFttZWRpdW1dIC0gVGhlIHNpemUgdG8gdXNlLiBTZXQgdG8gYHNtYWxsYCB0byBjcmVhdGUgYSBzbWFsbCBjbG9zZSBidXR0b24uIFRoZSAnbWVkaXVtJyB2YWx1ZXMgZGVmaW5lZCBpbiBgJGNsb3NlYnV0dG9uLSpgIHZhcmlhYmxlcyB3aWxsIGJlIHVzZWQgYXMgdGhlIGRlZmF1bHQgc2l6ZSBhbmQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbkBtaXhpbiBjbG9zZS1idXR0b24tc2l6ZSgkc2l6ZSkge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICAjeyR4fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWwsICRzaXplKTtcbiAgI3skeX06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbCwgJHNpemUpO1xuICBmb250LXNpemU6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLXNpemUsICRzaXplKTtcbiAgbGluZS1oZWlnaHQ6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQsICRzaXplKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNsb3NlIGJ1dHRvbiwgdXNpbmcgdGhlIHN0eWxlcyBpbiB0aGUgc2V0dGluZ3MgdmFyaWFibGVzLlxuQG1peGluIGNsb3NlLWJ1dHRvbiB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAkY2xvc2VidXR0b24tei1pbmRleDtcbiAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uIHtcbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgY2xvc2UtYnV0dG9uO1xuXG4gICAgLy8gR2VuZXJhdGUgYSBwbGFjZWhvbGRlciBhbmQgYSBjbGFzcyBmb3IgZWFjaCBzaXplXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRjbG9zZWJ1dHRvbi1zaXplIHtcbiAgICAgIEBhdC1yb290IHtcbiAgICAgICAgJXpmLWNsb3NlLWJ1dHRvbi0tI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGNsb3NlLWJ1dHRvbi1zaXplKCRuYW1lKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgQGV4dGVuZCAlemYtY2xvc2UtYnV0dG9uLS0jeyRuYW1lfTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBVc2UgYnkgZGVmYXVsdCB0aGUgcGxhY2Vob2xkZXIgb2YgdGhlIGRlZmF1bHQgc2l6ZVxuICAgIEBleHRlbmQgJXpmLWNsb3NlLWJ1dHRvbi0tI3skY2xvc2VidXR0b24tZGVmYXVsdC1zaXplfTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyb3Bkb3duXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi13aWR0aDogMzAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgZHJvcGRvd24gcGFuZXMuIEVhY2ggc2l6ZSBpcyBhIENTUyBjbGFzcyB5b3UgY2FuIGFwcGx5LlxuLy8vIEB0eXBlIE1hcFxuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBBcHBsaWVzIHN0eWxlcyBmb3IgYSBiYXNpYyBkcm9wZG93bi5cbkBtaXhpbiBkcm9wZG93bi1jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgd2lkdGg6ICRkcm9wZG93bi13aWR0aDtcbiAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmc7XG5cbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBib3JkZXI6ICRkcm9wZG93bi1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRkcm9wZG93bi1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtc2l6ZTogJGRyb3Bkb3duLWZvbnQtc2l6ZTtcblxuXG4gIC8vIEFsbG93IGFuIGludGVybWl0dGVudCBzdGF0ZSB0byBkbyBwb3NpdGlvbmluZyBiZWZvcmUgbWFraW5nIHZpc2libGUuXG4gICYuaXMtb3BlbmluZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmLmlzLW9wZW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24ge1xuICAuZHJvcGRvd24tcGFuZSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tY29udGFpbmVyO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUsICRzaXplIGluICRkcm9wZG93bi1zaXplcyB7XG4gICAgLmRyb3Bkb3duLXBhbmUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93bi1tZW51XG4vLy8vXG5cbi8vLyBFbmFibGVzIGFycm93cyBmb3IgaXRlbXMgd2l0aCBkcm9wZG93biBtZW51cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IHBhZGRpbmcgZm9yIGFsaWduaW5nIHRoZSBhcnJvdyBjb3JyZWN0bHkuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc6IDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gd2lkdGggb2YgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcm9wZG93bnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIHN1Yi1tZW51IGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLyBCb3JkZXIgd2lkdGggZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vIFVzZWQgdG8gYWRqdXN0IHRvcCBtYXJnaW4gb2YgYSBzdWItbWVudSBpZiBhIGJvcmRlciBpcyB1c2VkLlxuLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aDogbnRoKCRkcm9wZG93bm1lbnUtYm9yZGVyLCAxKTtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbS4gRXhwbGljaXQgb3ZlcnJpZGUgZm9yIG1lbnUgZGVmYXVsdHNcbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbS4gRXhwbGljaXQgb3ZlcnJpZGUgZm9yIG1lbnUgZGVmYXVsdHNcbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gID4gYTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1yaWdodH06IDE0cHg7XG4gIH1cblxuICAmLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgbGVmdCk7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICB9XG5cbiAgJi5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCByaWdodCk7XG4gIH1cbn1cblxuQG1peGluIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgPiBsaS5vcGVucy1sZWZ0IHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpLm9wZW5zLXJpZ2h0IHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZztcbiAgICAgIH1cblxuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XG4gICAgICAgICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgICAgICAgbWFyZ2luLXRvcDogLTEgKiAoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplIC8gMik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgID4gbGkge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtbGVmdCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtcmlnaHQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICAgIEBpbmNsdWRlIHpmLWRyb3Bkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcm9wZG93bi1tZW51IHtcbiAgLmRyb3Bkb3duLm1lbnUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuXG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgfVxuXG4gICAgLy8gVG9wLWxldmVsIGl0ZW1cbiAgICA+IGxpID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LWJhY2tncm91bmQ7XG4gICAgICBwYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLy8gVG9wLWxldmVsIGl0ZW0gYWN0aXZlIHN0YXRlXG4gICAgPiBsaS5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU7XG4gICAgfVxuXG4gICAgLm5vLWpzICYgdWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LWhvcml6b250YWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi4jeyRzaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsIHtcbiAgICB3aWR0aDogMTAwcHg7XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGE6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAkZHJvcGRvd25tZW51LWFycm93LXNpemU7XG4gICAgfVxuXG4gICAgJi5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcblxuICAgICAgdG9wOiAxMDAlO1xuICAgICAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgei1pbmRleDogMTtcblxuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWluLXdpZHRoOiAkZHJvcGRvd25tZW51LW1pbi13aWR0aDtcblxuICAgIGJvcmRlcjogJGRyb3Bkb3dubWVudS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ7XG5cbiAgICAuZHJvcGRvd24gJiBhIHtcbiAgICAgIHBhZGRpbmc6ICRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKHR5cGUtb2YoJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpID09ICdudW1iZXInKSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIG1hcmdpbi10b3A6ICgtJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gW1RPRE9dIEN1dCBiYWNrIHNwZWNpZmljaXR5XG4gICAgLy8mOm5vdCguanMtZHJvcGRvd24tbm9ob3ZlcikgPiAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQ6aG92ZXIgPiAmLCAvLyB3aHkgaXMgdGhpcyBsaW5lIG5lZWRlZD8gT3BlbmluZyBpcyBoYW5kbGVkIGJ5IEpTIGFuZCB0aGlzIGNhdXNlcyBzb21lIHVnbHkgZmxpY2tlcmluZyB3aGVuIHRoZSBzdWIgaXMgcmUtcG9zaXRpb25lZCBhdXRvbWF0aWNhbGx5Li4uXG4gICAgJi5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXN0aWNreSB7XG4gIC5zdGlja3ktY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuc3RpY2t5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgLnN0aWNreS5pcy1zdHVjayB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAmLmlzLWF0LXRvcCB7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuXG4gICAgJi5pcy1hdC1ib3R0b20ge1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5zdGlja3kuaXMtYW5jaG9yZWQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuXG4gICAgJi5pcy1hdC1ib3R0b20ge1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFibGVcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIHRhYmxlIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSBzdHJpcGVkIHRhYmxlIHJvd3MgYW5kIHRoZSB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtY29sb3Itc2NhbGU6IDUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzdHlsZSBmb3IgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFibGUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtaG92ZXItc2NhbGU6IDIlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdGFuZGFyZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RyaXBlZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIHRhYmxlcyBhcmUgc3RyaXBlZCBieSBkZWZhdWx0IGFuZCBhbiAudW5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuIElmIGBmYWxzZWAsIGEgLnN0cmlwZWQgY2xhc3MgaXMgY3JlYXRlZC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3Igc3RyaXBlZCByb3dzLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIHN0cmlwZSBvbiByb3dzIG9mIHRoZSB0YWJsZXMsIGV4Y2x1ZGluZyB0aGUgaGVhZGVyIGFuZCBmb290ZXIuIElmIGV2ZW4sIHRoZSBldmVuIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgb2RkLCB0aGUgb2RkIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgZW1wdHksIG9yIGFueSBvdGhlciB2YWx1ZSwgdGhlIHRhYmxlIHJvd3Mgd2lsbCBoYXZlIG5vIHN0cmlwaW5nLlxuLy8vIEB0eXBlIEtleXdvcmRcbiR0YWJsZS1zdHJpcGU6IGV2ZW4gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWFkZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBoZWFkZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgZm9vdGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBmb290ZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBoZWFkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvb3Rlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIGhlYWRlciB3aGVuIHVzaW5nIHN0YWNrZWQgdGFibGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCcmVha3BvaW50IGF0IHdoaWNoIHN0YWNrZWQgdGFibGUgc3dpdGNoZXMgZnJvbSBtb2JpbGUgdG8gZGVza3RvcCB2aWV3LlxuLy8vIEB0eXBlIEJyZWFrcG9pbnRcbiR0YWJsZS1zdGFjay1icmVha3BvaW50OiBtZWRpdW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUpIHtcbiAgdHIge1xuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gZXZlbiwgZGFya2VuIHRoZSBldmVuIHJvd3MuXG4gICAgQGlmICRzdHJpcGUgPT0gZXZlbiB7XG4gICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBvZGQsIGRhcmtlbiB0aGUgb2RkIHJvd3MuXG4gICAgQGVsc2UgaWYgJHN0cmlwZSA9PSBvZGQge1xuICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtdW5zdHJpcGUoKSB7XG4gIHRyIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJvcmRlci1ib3R0b206ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cbn1cblxuQG1peGluIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSwgJGlzLXN0cmlwZWQ6ICR0YWJsZS1pcy1zdHJpcGVkKSB7XG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3Qge1xuICAgIGJvcmRlcjogJHRhYmxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENhcHRpb25cbiAgY2FwdGlvbiB7XG4gICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkXG4gIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtaGVhZC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGFibGUtaGVhZC1mb250LWNvbG9yO1xuICB9XG5cbiAgLy8gVGFibGUgZm9vdFxuICB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWZvb3QtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWZvb3QtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGhlYWQgYW5kIGZvb3RcbiAgdGhlYWQsXG4gIHRmb290IHtcbiAgICAvLyBSb3dzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdHIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLy8gQ2VsbHMgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgdGV4dC1hbGlnbjogI3skZ2xvYmFsLWxlZnR9O1xuICAgIH1cbiAgfVxuXG4gIC8vIFRhYmxlIHJvd3NcbiAgdGJvZHkge1xuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRhYmxlcyBhcmUgc3RyaXBlZFxuICBAaWYgJGlzLXN0cmlwZWQgPT0gdHJ1ZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICB9XG5cbiAgICAmLnVuc3RyaXBlZCB7XG4gICAgICB0Ym9keSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS11bnN0cmlwZSgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIG5vdCBzdHJpcGVkXG4gIEBlbHNlIGlmICRpcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICB0Ym9keSB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICB9XG5cbiAgICAmLnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRhYmxlcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHJpcGUgWyR0YWJsZS1zdHJpcGVdIC0gVXNlcyBrZXl3b3JkcyBldmVuLCBvZGQsIG9yIG5vbmUgdG8gZGFya2VuIHJvd3Mgb2YgdGhlIHRhYmxlLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBldmVuLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lc3QgW2ZhbHNlXSAtIE5lZWRlZCBpZiB5b3Ugb25seSB3YW50IHRvIGFwcGx5IHRoaXMgdG8gYSBzcGVjaWZpYyB0YWJsZS5cbkBtaXhpbiB0YWJsZShcbiAgJHN0cmlwZTogJHRhYmxlLXN0cmlwZSxcbiAgJG5lc3Q6IGZhbHNlXG4pIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuICBAaWYgJG5lc3Qge1xuICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBhdC1yb290IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBhYmlsaXR5IHRvIGhvcml6b250YWxseSBzY3JvbGwgdGhlIHRhYmxlIHdoZW4gdGhlIGNvbnRlbnQgb3ZlcmZsb3dzIGhvcml6b250YWxseS5cbkBtaXhpbiB0YWJsZS1zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG59XG5cbi8vLyBTbGlnaHRseSBkYXJrZW5zIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuQG1peGluIHRhYmxlLWhvdmVyIHtcbiAgdGhlYWQgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaGVhZC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGZvb3QgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZm9vdC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGJvZHkgdHIge1xuICAgIC8vRGFya2VucyB0aGUgbm9uLXN0cmlwZWQgdGFibGUgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgQGlmICR0YWJsZS1pcy1zdHJpcGVkID09IHRydWUge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZSBpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICR0YWJsZS1pcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEYXJrZW5zIHRoZSBvZGQgc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBlbHNlIGlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhY2tlZCB0YWJsZS4gVXNlZnVsIGZvciBzbWFsbC1zY3JlZW4gbGF5b3V0cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRoZWFkZXIgWyRzaG93LWhlYWRlci1mb3Itc3RhY2tlZF0gLSBTaG93IHRoZSBmaXJzdCB0aCBvZiBoZWFkZXIgd2hlbiBzdGFja2VkLlxuQG1peGluIHRhYmxlLXN0YWNrKCRoZWFkZXI6ICRzaG93LWhlYWRlci1mb3Itc3RhY2tlZCkge1xuICBAaWYgJGhlYWRlciB7XG4gICAgdGhlYWQge1xuICAgICAgdGgge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICB0cixcbiAgdGgsXG4gIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIHRkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYmxlKCRuZXN0OiBmYWxzZSkge1xuICB0YWJsZSB7XG4gICAgQGluY2x1ZGUgdGFibGUoJG5lc3Q6ICRuZXN0KTtcbiAgfVxuXG4gIHRhYmxlLnN0YWNrIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZS1zdGFjay1icmVha3BvaW50IGRvd24pIHtcbiAgICAgIEBpbmNsdWRlIHRhYmxlLXN0YWNrO1xuICAgIH1cbiAgfVxuXG4gIHRhYmxlLnNjcm9sbCB7XG4gICAgQGluY2x1ZGUgdGFibGUtc2Nyb2xsO1xuICB9XG5cbiAgdGFibGUuaG92ZXIge1xuICAgIEBpbmNsdWRlIHRhYmxlLWhvdmVyO1xuICB9XG5cbiAgLnRhYmxlLXNjcm9sbCB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ21hdGgnO1xuXG4kY29udHJhc3Qtd2FybmluZ3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIGNoZWNrIHRoZSBsdW1pbmFuY2Ugb2YuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuQGZ1bmN0aW9uIGNvbG9yLWx1bWluYW5jZSgkY29sb3IpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI3JlbGF0aXZlbHVtaW5hbmNlZGVmXG4gICRyZ2JhOiByZWQoJGNvbG9yKSwgZ3JlZW4oJGNvbG9yKSwgYmx1ZSgkY29sb3IpO1xuICAkcmdiYTI6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMyB7XG4gICAgJHJnYjogbnRoKCRyZ2JhLCAkaSk7XG4gICAgJHJnYjogJHJnYiAvIDI1NTtcblxuICAgICRyZ2I6IGlmKCRyZ2IgPCAwLjAzOTI4LCAkcmdiIC8gMTIuOTIsIHBvdygoJHJnYiArIDAuMDU1KSAvIDEuMDU1LCAyLjQpKTtcblxuICAgICRyZ2JhMjogYXBwZW5kKCRyZ2JhMiwgJHJnYik7XG4gIH1cblxuICBAcmV0dXJuIDAuMjEyNiAqIG50aCgkcmdiYTIsIDEpICsgMC43MTUyICogbnRoKCRyZ2JhMiwgMikgKyAwLjA3MjIgKiBudGgoJHJnYmEyLCAzKTtcbn1cblxuLy8vIENoZWNrcyB0aGUgY29udHJhc3QgcmF0aW8gb2YgdHdvIGNvbG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjEgLSBGaXJzdCBjb2xvciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjIgLSBTZWNvbmQgY29sb3IgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBjb250cmFzdCByYXRpbyBvZiB0aGUgY29tcGFyZWQgY29sb3JzLlxuQGZ1bmN0aW9uIGNvbG9yLWNvbnRyYXN0KCRjb2xvcjEsICRjb2xvcjIpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI2NvbnRyYXN0LXJhdGlvZGVmXG4gICRsdW1pbmFuY2UxOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMSkgKyAwLjA1O1xuICAkbHVtaW5hbmNlMjogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjIpICsgMC4wNTtcbiAgJHJhdGlvOiAkbHVtaW5hbmNlMSAvICRsdW1pbmFuY2UyO1xuXG4gIEBpZiAkbHVtaW5hbmNlMiA+ICRsdW1pbmFuY2UxIHtcbiAgICAkcmF0aW86IDEgLyAkcmF0aW87XG4gIH1cblxuICAkcmF0aW86IHJvdW5kKCRyYXRpbyAqIDEwKSAvIDEwO1xuXG4gIEByZXR1cm4gJHJhdGlvO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRiYXNlYCwgYW5kIHJldHVybnMgdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFzZSAtIENvbG9yIHRvIGNoZWNrIGx1bWluYW5jZS5cbi8vLyBAcGFyYW0ge0xpc3R9ICRjb2xvcnMgWygkd2hpdGUsICRibGFjayldIC0gQ29sb3JzIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b2xlcmFuY2UgWyRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2VdIC0gQ29udHJhc3QgdG9sZXJhbmNlLlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbkBmdW5jdGlvbiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYXNlLCAkY29sb3JzOiAoJHdoaXRlLCAkYmxhY2spLCAkdG9sZXJhbmNlOiAkZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlKSB7XG4gICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAxKSk7XG4gICRiZXN0OiBudGgoJGNvbG9ycywgMSk7XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCBsZW5ndGgoJGNvbG9ycykge1xuICAgICRjdXJyZW50LWNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgQGlmICgkY3VycmVudC1jb250cmFzdCAtICRjb250cmFzdCA+ICR0b2xlcmFuY2UpIHtcbiAgICAgICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgICAgJGJlc3Q6IG50aCgkY29sb3JzLCAkaSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkY29udHJhc3Qtd2FybmluZ3MgYW5kICRjb250cmFzdCA8IDMpIHtcbiAgICBAd2FybiBcIkNvbnRyYXN0IHJhdGlvIG9mICN7JGJlc3R9IG9uICN7JGJhc2V9IGlzIHByZXR0eSBiYWQsIGp1c3QgI3skY29udHJhc3R9XCI7XG4gIH1cblxuICBAcmV0dXJuICRiZXN0O1xufVxuXG4vLy8gU2NhbGVzIGEgY29sb3IgdG8gYmUgZGFya2VyIGlmIGl0J3MgbGlnaHQsIG9yIGxpZ2h0ZXIgaWYgaXQncyBkYXJrLiBVc2UgdGhpcyBmdW5jdGlvbiB0byB0aW50IGEgY29sb3IgYXBwcm9wcmlhdGUgdG8gaXRzIGxpZ2h0bmVzcy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIHNjYWxlLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHNjYWxlIFs1JV0gLSBBbW91bnQgdG8gc2NhbGUgdXAgb3IgZG93bi5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICR0aHJlc2hvbGQgWzQwJV0gLSBUaHJlc2hvbGQgb2YgbGlnaHRuZXNzIHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IEEgc2NhbGVkIGNvbG9yLlxuQGZ1bmN0aW9uIHNtYXJ0LXNjYWxlKCRjb2xvciwgJHNjYWxlOiA1JSwgJHRocmVzaG9sZDogNDAlKSB7XG4gIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA+ICR0aHJlc2hvbGQge1xuICAgICRzY2FsZTogLSRzY2FsZTtcbiAgfVxuICBAcmV0dXJuIHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJHNjYWxlKTtcbn1cblxuLy8vIEdldCBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHBhcmFtIHtrZXl9IGNvbG9yIGtleSBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuQGZ1bmN0aW9uIGdldC1jb2xvcigka2V5KSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ2dpdmVuICRrZXkgaXMgbm90IGF2YWlsYWJsZSBpbiAkZm91bmRhdGlvbi1wYWxldHRlJztcbiAgfVxufVxuXG4vLy8gVHJhbnNmZXJzIHRoZSBjb2xvcnMgaW4gdGhlIGAkZm91bmRhdGlvbi1wYWxldHRlYCBtYXAgaW50byB2YXJpYWJsZXMsIHN1Y2ggYXMgYCRwcmltYXJ5LWNvbG9yYCBhbmQgYCRzZWNvbmRhcnktY29sb3JgLiBDYWxsIHRoaXMgbWl4aW4gYmVsb3cgdGhlIEdsb2JhbCBzZWN0aW9uIG9mIHlvdXIgc2V0dGluZ3MgZmlsZSB0byBwcm9wZXJseSBtaWdyYXRlIHlvdXIgY29kZWJhc2UuXG5AbWl4aW4gYWRkLWZvdW5kYXRpb24tY29sb3JzKCkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICAgICRwcmltYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRwcmltYXJ5LWNvbG9yOiAjMTc3OWJhICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkge1xuICAgICRzZWNvbmRhcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiAjNzY3Njc2ICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogIzNhZGI3NiAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSB7XG4gICAgJHdhcm5pbmctY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHdhcm5pbmctY29sb3I6ICNmZmFlMDAgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpIHtcbiAgICAkYWxlcnQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRhbGVydC1jb2xvcjogI2NjNGIzNyAhZ2xvYmFsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yKCRzaXplKSB7XG4gICRzaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAvLyBNYXggdmFsdWUgaXMgMC4ycHggdW5kZXIgdGhlIG5leHQgYnJlYWtwb2ludCAoMC4wMiAvIDE2ID0gMC4wMDEyNSkuXG4gIC8vIFVzZSBhIHByZWNpc2lvbiB1bmRlciAxcHggdG8gc3VwcG9ydCBicm93c2VyIHpvb20sIGJ1dCBub3QgdG8gbG93IHRvIGF2b2lkIHJvdW5kaW5nLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTEzMTNcbiAgJHNpemU6IC16Zi1icC10by1lbSgkc2l6ZSkgLSAuMDAxMjU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IHdpdGhpbiBhIGNlcnRhaW4gYnJlYWtwb2ludC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yLW9ubHkoJHNpemUpIHtcbiAgJGxvd2VyLWJvdW5kLXNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICR1cHBlci1ib3VuZC1zaXplOiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG5cbiAgLy8gbW9yZSBvZnRlbiB0aGFuIG5vdCB0aGlzIHdpbGwgYmUgY29ycmVjdCwganVzdCBvbmUgdGltZSByb3VuZCB0aGUgbG9vcCBpdCB3b24ndCBzbyBzZXQgaW4gc2NvcGUgaGVyZVxuICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSkgLSAuMDAxMjU7XG4gIC8vIHRlc3QgYWN0dWFsIGxvd2VyLWJvdW5kLXNpemUsIGlmIDAgc2V0IGl0IHRvIDBlbVxuICBAaWYgc3RyaXAtdW5pdCgkbG93ZXItYm91bmQtc2l6ZSkgPT0gMCB7XG4gICAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpO1xuICB9XG5cbiAgQGlmICR1cHBlci1ib3VuZC1zaXplID09IG51bGwge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJHVwcGVyLWJvdW5kOiAtemYtYnAtdG8tZW0oJHVwcGVyLWJvdW5kLXNpemUpO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdXBwZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yKCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvci1vbmx5KCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgb25seSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXMge1xuICAvLyBCYXNpYyBoaWRpbmcgY2xhc3Nlc1xuICAuaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmludmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIC5oaWRlLWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIGhpZGUtZm9yKCRzaXplKTtcbiAgICAgIH1cblxuICAgICAgLnNob3ctZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgc2hvdy1mb3IoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oaWRlLWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIGhpZGUtZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cblxuICAgIC5zaG93LWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIHNob3ctZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNjcmVlbiByZWFkZXIgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIC8vIE5lZWQgYSBcImhpZGUtZm9yLXNyXCIgY2xhc3M/IEFkZCBhcmlhLWhpZGRlbj0ndHJ1ZScgdG8gdGhlIGVsZW1lbnRcbiAgLnNob3ctZm9yLXNyLFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cblxuICAvLyBPbmx5IGRpc3BsYXkgdGhlIGVsZW1lbnQgd2hlbiBpdCdzIGZvY3VzZWRcbiAgLnNob3ctb24tZm9jdXMge1xuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmO1xuICAgIH1cbiAgfVxuXG4gIC8vIExhbmRzY2FwZSBhbmQgcG9ydHJhaXQgdmlzaWJpbGl0eVxuICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgRmxleGJveCBVdGlsaXRpZXNcbi8vLy9cbi8vXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgdGhlIGNvdW50IG9mIHNvdXJjZSBvcmRlcmluZ2Bcbi8vLyBAdHlwZSBOdW1iZXJcbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNiAhZGVmYXVsdDtcblxuLy8vIFF1aWNrbHkgZGlzYWJsZS9lbmFibGUgUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgVmFuaWxsYSBGbGV4IEhlbHBlcnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZSAhZGVmYXVsdDtcblxuQG1peGluIGZsZXgtaGVscGVycyB7XG4gIC5mbGV4LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleDtcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG5cbiAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgLmZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY29udGFpbmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtYXV0byB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1ncm93IHtcbiAgICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LWNsYXNzZXMge1xuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCB1c2luZyBqdXN0aWZ5LWNvbnRlbnRcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluICQtemYtZmxleC1qdXN0aWZ5IHtcbiAgICAuYWxpZ24tI3skaGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xuICAgIH1cbiAgfVxuICBcbiAgLy8gSG9yaXpvbnRhbCBhbGlnbm1lbnQgU3BlY2lmaWNhbGx5IGZvciBWZXJ0aWNhbCBNZW51XG4gIEBlYWNoICRoZGlyLCAkcHJvcCBpbiBtYXAtcmVtb3ZlKCQtemYtZmxleC1qdXN0aWZ5LCAnanVzdGlmeScsICdzcGFjZWQnKSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgICYudmVydGljYWwge1xuICAgICAgICAmLm1lbnUgPiBsaSA+IGEge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGFsaWdubWVudCB1c2luZyBhbGlnbi1pdGVtcyBhbmQgYWxpZ24tc2VsZlxuICBAZWFjaCAkdmRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWFsaWduIHtcbiAgICAuYWxpZ24tI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeTogJHZkaXIpO1xuICAgIH1cblxuICAgIC5hbGlnbi1zZWxmLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZigkeTogJHZkaXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENlbnRyYWwgYWxpZ25tZW50IG9mIGNvbnRlbnRcbiAgLmFsaWduLWNlbnRlci1taWRkbGUge1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6IGNlbnRlciwgJHk6IG1pZGRsZSk7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgLy8gU291cmNlIG9yZGVyaW5nXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tb3JkZXItI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LW9yZGVyKCRpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWYW5pbGxhIEZsZXhib3ggSGVscGVyc1xuICBAaW5jbHVkZSBmbGV4LWhlbHBlcnM7XG59XG4iLCJAZnVuY3Rpb24gLXpmLWZsZXgtanVzdGlmeSgkdGV4dC1kaXJlY3Rpb24pe1xuICAkLXpmLWZsZXgtanVzdGlmeTogKFxuICAgICdsZWZ0JzogaWYoJHRleHQtZGlyZWN0aW9uID09IHJ0bCwgZmxleC1lbmQsIGZsZXgtc3RhcnQpLFxuICAgICdyaWdodCc6IGlmKCR0ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGZsZXgtc3RhcnQsIGZsZXgtZW5kKSxcbiAgICAnY2VudGVyJzogY2VudGVyLFxuICAgICdqdXN0aWZ5Jzogc3BhY2UtYmV0d2VlbixcbiAgICAnc3BhY2VkJzogc3BhY2UtYXJvdW5kLFxuICApO1xuXG4gIEByZXR1cm4gJC16Zi1mbGV4LWp1c3RpZnk7XG59XG5cblxuJC16Zi1mbGV4LWFsaWduOiAoXG4gICd0b3AnOiBmbGV4LXN0YXJ0LFxuICAnYm90dG9tJzogZmxleC1lbmQsXG4gICdtaWRkbGUnOiBjZW50ZXIsXG4gICdzdHJldGNoJzogc3RyZXRjaCxcbik7XG5cbiQtemYtZmxleC1kaXJlY3Rpb246IChcbiAgJ3Jvdyc6IHJvdyxcbiAgJ3Jvdy1yZXZlcnNlJzogcm93LXJldmVyc2UsXG4gICdjb2x1bW4nOiBjb2x1bW4sXG4gICdjb2x1bW4tcmV2ZXJzZSc6IGNvbHVtbi1yZXZlcnNlLFxuKTtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBieSBhZGRpbmcgYGRpc3BsYXk6IGZsZXhgIHRvIHRoZSBlbGVtZW50LlxuQG1peGluIGZsZXgge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkgYWxpZ25zIHRoZSBpdGVtcyB3aXRoaW4gYSBmbGV4IGNvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHggW251bGxdIC0gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYGxlZnRgLCBgcmlnaHRgLCBgY2VudGVyYCwgYGp1c3RpZnlgLCBvciBgc3BhY2VkYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IGhvcml6b250YWwgYWxpZ25tZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduKCR4OiBudWxsLCAkeTogbnVsbCkge1xuICBAaWYgJHgge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtanVzdGlmeSwgJHgpIHtcbiAgICAgICR4OiBtYXAtZ2V0KCQtemYtZmxleC1qdXN0aWZ5LCAkeCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHh9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBob3Jpem9udGFsIGFsaWdubWVudC4gVXNlIGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnksIG9yIHNwYWNlZC4nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgdmVydGljYWwgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nO1xuICAgIH1cbiAgfVxuXG4gIGp1c3RpZnktY29udGVudDogJHg7XG4gIGFsaWduLWl0ZW1zOiAkeTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgYWxpZ24gYSBzaW5nbGUgY29sdW1uIHdpdGhpbiBhIGZsZXggcm93LiBBcHBseSB0aGlzIG1peGluIHRvIGEgZmxleCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR5OiBudWxsKSB7XG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLWNvbHVtbi1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nO1xuICAgIH1cbiAgfVxuXG4gIGFsaWduLXNlbGY6ICR5O1xufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc291cmNlIG9yZGVyIG9mIGEgZmxleCBjaGlsZC4gQ2hpbGRyZW4gd2l0aCBsb3dlciBudW1iZXJzIGFwcGVhciBmaXJzdCBpbiB0aGUgbGF5b3V0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb3JkZXIgWzBdIC0gT3JkZXIgbnVtYmVyIHRvIGFwcGx5LlxuQG1peGluIGZsZXgtb3JkZXIoJG9yZGVyOiAwKSB7XG4gIG9yZGVyOiAkb3JkZXI7XG59XG5cbi8vLyBDaGFuZ2UgZmxleC1kaXJlY3Rpb25cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW3Jvd10gLSBGbGV4IGRpcmVjdGlvbiB0byB1c2UuIENhbiBiZVxuLy8vICAgLSByb3cgKGRlZmF1bHQpOiBzYW1lIGFzIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIHJvdy1yZXZlcnNlOiBvcHBvc2l0ZSB0byB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSBjb2x1bW46IHNhbWUgYXMgcm93IGJ1dCB0b3AgdG8gYm90dG9tXG4vLy8gICAtIGNvbHVtbi1yZXZlcnNlOiBzYW1lIGFzIHJvdy1yZXZlcnNlIHRvcCB0byBib3R0b21cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkZGlyZWN0aW9uOiByb3cpIHtcbiAgZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG59XG4iLCIvKlxuIFJFTUVNQkVSIEFCT1VUIEFERElORzogZm9udC1kaXNwbGF5OiBzd2FwO1xuICovXG5cblxuIC8qIG11bGlzaC0zMDAgLSBsYXRpbiAqL1xuIEBmb250LWZhY2Uge1xuICAgZm9udC1mYW1pbHk6ICdNdWxpc2gnO1xuICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgZm9udC13ZWlnaHQ6IDMwMDtcblx0IGZvbnQtZGlzcGxheTogc3dhcDtcbiAgIHNyYzogdXJsKCcuLi9mb250cy9tdWxpc2gtdjMtbGF0aW4tMzAwLmVvdCcpOyAvKiBJRTkgQ29tcGF0IE1vZGVzICovXG4gICBzcmM6IGxvY2FsKCcnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9tdWxpc2gtdjMtbGF0aW4tMzAwLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIC8qIElFNi1JRTggKi9cbiAgICAgICAgdXJsKCcuLi9mb250cy9tdWxpc2gtdjMtbGF0aW4tMzAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCAvKiBTdXBlciBNb2Rlcm4gQnJvd3NlcnMgKi9cbiAgICAgICAgdXJsKCcuLi9mb250cy9tdWxpc2gtdjMtbGF0aW4tMzAwLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgLyogTW9kZXJuIEJyb3dzZXJzICovXG4gICAgICAgIHVybCgnLi4vZm9udHMvbXVsaXNoLXYzLWxhdGluLTMwMC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksIC8qIFNhZmFyaSwgQW5kcm9pZCwgaU9TICovXG4gICAgICAgIHVybCgnLi4vZm9udHMvbXVsaXNoLXYzLWxhdGluLTMwMC5zdmcjTXVsaXNoJykgZm9ybWF0KCdzdmcnKTsgLyogTGVnYWN5IGlPUyAqL1xuIH1cbiAvKiBtdWxpc2gtNzAwIC0gbGF0aW4gKi9cbiBAZm9udC1mYWNlIHtcbiAgIGZvbnQtZmFtaWx5OiAnTXVsaXNoJztcbiAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgIGZvbnQtd2VpZ2h0OiA3MDA7XG5cdCBmb250LWRpc3BsYXk6IHN3YXA7XG4gICBzcmM6IHVybCgnLi4vZm9udHMvbXVsaXNoLXYzLWxhdGluLTcwMC5lb3QnKTsgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xuICAgc3JjOiBsb2NhbCgnJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvbXVsaXNoLXYzLWxhdGluLTcwMC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCAvKiBJRTYtSUU4ICovXG4gICAgICAgIHVybCgnLi4vZm9udHMvbXVsaXNoLXYzLWxhdGluLTcwMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgLyogU3VwZXIgTW9kZXJuIEJyb3dzZXJzICovXG4gICAgICAgIHVybCgnLi4vZm9udHMvbXVsaXNoLXYzLWxhdGluLTcwMC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksIC8qIE1vZGVybiBCcm93c2VycyAqL1xuICAgICAgICB1cmwoJy4uL2ZvbnRzL211bGlzaC12My1sYXRpbi03MDAudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLCAvKiBTYWZhcmksIEFuZHJvaWQsIGlPUyAqL1xuICAgICAgICB1cmwoJy4uL2ZvbnRzL211bGlzaC12My1sYXRpbi03MDAuc3ZnI011bGlzaCcpIGZvcm1hdCgnc3ZnJyk7IC8qIExlZ2FjeSBpT1MgKi9cbiB9XG5cbiAvKiBuZXdzcmVhZGVyLXJlZ3VsYXIgLSBsYXRpbiAqL1xuIEBmb250LWZhY2Uge1xuICAgZm9udC1mYW1pbHk6ICdOZXdzcmVhZGVyJztcbiAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgIGZvbnQtd2VpZ2h0OiA0MDA7XG5cdCBmb250LWRpc3BsYXk6IHN3YXA7XG4gICBzcmM6IHVybCgnLi4vZm9udHMvbmV3c3JlYWRlci12Mi1sYXRpbi1yZWd1bGFyLmVvdCcpOyAvKiBJRTkgQ29tcGF0IE1vZGVzICovXG4gICBzcmM6IGxvY2FsKCcnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9uZXdzcmVhZGVyLXYyLWxhdGluLXJlZ3VsYXIuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgLyogSUU2LUlFOCAqL1xuICAgICAgICB1cmwoJy4uL2ZvbnRzL25ld3NyZWFkZXItdjItbGF0aW4tcmVndWxhci53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgLyogU3VwZXIgTW9kZXJuIEJyb3dzZXJzICovXG4gICAgICAgIHVybCgnLi4vZm9udHMvbmV3c3JlYWRlci12Mi1sYXRpbi1yZWd1bGFyLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgLyogTW9kZXJuIEJyb3dzZXJzICovXG4gICAgICAgIHVybCgnLi4vZm9udHMvbmV3c3JlYWRlci12Mi1sYXRpbi1yZWd1bGFyLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSwgLyogU2FmYXJpLCBBbmRyb2lkLCBpT1MgKi9cbiAgICAgICAgdXJsKCcuLi9mb250cy9uZXdzcmVhZGVyLXYyLWxhdGluLXJlZ3VsYXIuc3ZnI05ld3NyZWFkZXInKSBmb3JtYXQoJ3N2ZycpOyAvKiBMZWdhY3kgaU9TICovXG4gfVxuIiwiQG1peGluIGNvdmVyKCRsZWZ0OiA1MCUsICR0b3A6IDUwJSkge1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkbGVmdCAkdG9wO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuXG5AbWl4aW4gYm94ZWQtY29udGVudCgkYmFja2dyb3VuZDogI2ZkZmRmZCwgJGJvcmRlcjogI2UwZTBlMCApIHtcblx0YmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXI7XG5cdGJveC1zaGFkb3c6IDBweCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRwYWRkaW5nOiByZW0tY2FsYygyMCAyNSAxMCk7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRwYWRkaW5nOiByZW0tY2FsYygzMCA0MCAyMCk7XG5cdH1cbn1cblxuQG1peGluIGJveGVkLWNvbnRlbnQtaGVhZGluZyB7XG5cdGNvbG9yOiAjNTM1MzUzO1xuXHRmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblx0Zm9udC1zaXplOiByZW0tY2FsYygxNik7XG5cdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDcpO1xufVxuXG5AbWl4aW4gc2lkZS1saW5rIHtcblx0Y29sb3I6IGluaGVyaXQ7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwYWRkaW5nOiByZW0tY2FsYygxMCAwKTtcbn1cblxuQG1peGluIHNpZGUtbGluay1hY3RpdmUge1xuXHRjb2xvcjogJGJsYWNrO1xuXHQvLyBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblx0YmFja2dyb3VuZDogdXJsKCcjeyRpbWctZGlyfS9zaWRlLW5hdi1jb2luLnN2ZycpIG5vLXJlcGVhdCAxMDAlIDUwJTtcbn1cblxuLypcblRoaXMgbWl4aW4gY2FuIGJlIHVzZWQgdG8gc2V0IHRoZSBvYmplY3QtZml0OlxuQGluY2x1ZGUgb2JqZWN0LWZpdChjb250YWluKTtcbm9yIG9iamVjdC1maXQgYW5kIG9iamVjdC1wb3NpdGlvbjpcbkBpbmNsdWRlIG9iamVjdC1maXQoY292ZXIsIHRvcCk7XG4qL1xuQG1peGluIG9iamVjdC1maXQoJGZpdDogZmlsbCwgJHBvc2l0aW9uOiBudWxsKXtcblx0b2JqZWN0LWZpdDogJGZpdDtcblx0QGlmICRwb3NpdGlvbiB7XG5cdFx0b2JqZWN0LXBvc2l0aW9uOiAkcG9zaXRpb247XG5cdFx0Zm9udC1mYW1pbHk6ICdvYmplY3QtZml0OiAjeyRmaXR9OyBvYmplY3QtcG9zaXRpb246ICN7JHBvc2l0aW9ufSc7XG5cdH0gQGVsc2Uge1xuXHRcdGZvbnQtZmFtaWx5OiAnb2JqZWN0LWZpdDogI3skZml0fSc7XG5cdH1cbn1cblxuQG1peGluIGdyZXktbGluayB7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcblx0Y29sb3I6ICM3NTc1NzU7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0Ym9yZGVyLXJhZGl1czogMDtcblx0dHJhbnNpdGlvbjogJHRyYW5zaXRpb24tZHVyYXRpb24gYWxsO1xuXG5cdCY6aG92ZXIsXG5cdCY6Zm9jdXMge1xuXHRcdGNvbG9yOiAkZ29sZDtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdH1cbn1cblxuQG1peGluIGNvbnRlbnQtd2lkZ2V0IHtcblx0YmFja2dyb3VuZDogI0ZERkRGRDtcblx0Ym9yZGVyOiAxcHggc29saWQgI0ZGRkZGRjtcblx0Ym94LXNoYWRvdzogMHB4IDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdHBhZGRpbmc6IHJlbS1jYWxjKDIwIDI1KTtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHQgIHBhZGRpbmc6IHJlbS1jYWxjKDI3IDM1KTtcblx0fVxufVxuXG5AbWl4aW4gZGlzYWJsZS1tb3VzZS10b3VjaC1vdXRsaW5lIHtcbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddICYsXG5cdFtkYXRhLXdoYXRpbnB1dD0ndG91Y2gnXSAmIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbkBtaXhpbiBjb2luLWhlYWRlciB7XG5cdHBhZGRpbmctbGVmdDogMzVweDtcblx0YmFja2dyb3VuZDogdXJsKCcjeyRpbWctZGlyfS9tYXN0ZXItY29udGVudC1jb2luLnN2ZycpIG5vLXJlcGVhdCAwIDFweDtcbn1cbiIsIkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ2ZvbnRlbGxvJztcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL2ZvbnRlbGxvLmVvdD85NzQ0ODk5Jyk7XG4gIHNyYzogdXJsKCcuLi9mb250cy9mb250ZWxsby5lb3Q/OTc0NDg5OSNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICB1cmwoJy4uL2ZvbnRzL2ZvbnRlbGxvLndvZmYyPzk3NDQ4OTknKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgdXJsKCcuLi9mb250cy9mb250ZWxsby53b2ZmPzk3NDQ4OTknKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICB1cmwoJy4uL2ZvbnRzL2ZvbnRlbGxvLnR0Zj85NzQ0ODk5JykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgIHVybCgnLi4vZm9udHMvZm9udGVsbG8uc3ZnPzk3NDQ4OTkjZm9udGVsbG8nKSBmb3JtYXQoJ3N2ZycpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cbi8qIENocm9tZSBoYWNrOiBTVkcgaXMgcmVuZGVyZWQgbW9yZSBzbW9vdGggaW4gV2luZG96emUuIDEwMCUgbWFnaWMsIHVuY29tbWVudCBpZiB5b3UgbmVlZCBpdC4gKi9cbi8qIE5vdGUsIHRoYXQgd2lsbCBicmVhayBoaW50aW5nISBJbiBvdGhlciBPUy1lcyBmb250IHdpbGwgYmUgbm90IGFzIHNoYXJwIGFzIGl0IGNvdWxkIGJlICovXG4vKlxuQG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzowKSB7XG4gIEBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnZm9udGVsbG8nO1xuICAgIHNyYzogdXJsKCcuLi9mb250L2ZvbnRlbGxvLnN2Zz85NzQ0ODk5I2ZvbnRlbGxvJykgZm9ybWF0KCdzdmcnKTtcbiAgfVxufVxuKi9cblxuJWljb24ge1xuIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gZm9udC1zdHlsZTogbm9ybWFsO1xuIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gc3BlYWs6IG5vbmU7XG5cbiBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuIHdpZHRoOiAxZW07XG4gbWFyZ2luLXJpZ2h0OiAuMmVtO1xuIHRleHQtYWxpZ246IGNlbnRlcjtcbiAvKiBvcGFjaXR5OiAuODsgKi9cblxuIC8qIEZvciBzYWZldHkgLSByZXNldCBwYXJlbnQgc3R5bGVzLCB0aGF0IGNhbiBicmVhayBnbHlwaCBjb2RlcyovXG4gZm9udC12YXJpYW50OiBub3JtYWw7XG4gdGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cbiAvKiBmaXggYnV0dG9ucyBoZWlnaHQsIGZvciB0d2l0dGVyIGJvb3RzdHJhcCAqL1xuIGxpbmUtaGVpZ2h0OiAxZW07XG5cbiAvKiBBbmltYXRpb24gY2VudGVyIGNvbXBlbnNhdGlvbiAtIG1hcmdpbnMgc2hvdWxkIGJlIHN5bW1ldHJpYyAqL1xuIC8qIHJlbW92ZSBpZiBub3QgbmVlZGVkICovXG4gbWFyZ2luLWxlZnQ6IC4yZW07XG5cbiAvKiB5b3UgY2FuIGJlIG1vcmUgY29tZm9ydGFibGUgd2l0aCBpbmNyZWFzZWQgaWNvbnMgc2l6ZSAqL1xuIC8qIGZvbnQtc2l6ZTogMTIwJTsgKi9cblxuIC8qIEZvbnQgc21vb3RoaW5nLiBUaGF0IHdhcyB0YWtlbiBmcm9tIFRXQlMgKi9cbiAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuXG4gLyogVW5jb21tZW50IGZvciAzRCBlZmZlY3QgKi9cbiAvKiB0ZXh0LXNoYWRvdzogMXB4IDFweCAxcHggcmdiYSgxMjcsIDEyNywgMTI3LCAwLjMpOyAqL1xufVxuXG4laWNvbi1zZWFyY2g6OmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MDAnOyB9XG4laWNvbi1jYW5jZWw6OmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MDEnOyB9XG4laWNvbi1jYW5jZWwtY2lyY2xlZDo6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwMic7IH1cbiVpY29uLXBsdXM6OmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MGMnOyB9XG4laWNvbi1taW51czo6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwZCc7IH1cbiVpY29uLW9rOjpiZWZvcmUgeyBjb250ZW50OiAnXFxlODBlJzsgfVxuJWljb24tdGFnczo6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwZic7IH1cbiVpY29uLXBob25lOjpiZWZvcmUgeyBjb250ZW50OiAnXFxlODEwJzsgfVxuJWljb24tbGluay1leHQ6OmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGYwOGUnOyB9XG5cbiVpY29uLWRvd24tZGlyOjpiZWZvcmUgeyBjb250ZW50OiAnXFxlODAzJzsgfVxuJWljb24tdXAtZGlyOjpiZWZvcmUgeyBjb250ZW50OiAnXFxlODA0JzsgfVxuJWljb24tbGVmdC1kaXI6OmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MDUnOyB9XG4laWNvbi1yaWdodC1kaXI6OmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MDYnOyB9XG5cbiVpY29uLWRvd24tb3Blbjo6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwNyc7IH1cbiVpY29uLWxlZnQtb3Blbjo6YmVmb3JlIHsgY29udGVudDogJ1xcZTgwOCc7IH1cbiVpY29uLXJpZ2h0LW9wZW46OmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MDknOyB9XG4laWNvbi11cC1vcGVuOjpiZWZvcmUgeyBjb250ZW50OiAnXFxlODBhJzsgfVxuXG4laWNvbi1hbmdsZS1sZWZ0OjpiZWZvcmUgeyBjb250ZW50OiAnXFxmMTA0JzsgfVxuJWljb24tYW5nbGUtcmlnaHQ6OmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGYxMDUnOyB9XG4laWNvbi1hbmdsZS11cDo6YmVmb3JlIHsgY29udGVudDogJ1xcZjEwNic7IH1cbiVpY29uLWFuZ2xlLWRvd246OmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGYxMDcnOyB9XG5cbiVpY29uLWFuZ2xlLWRvdWJsZS1sZWZ0OjpiZWZvcmUgeyBjb250ZW50OiAnXFxmMTAwJzsgfVxuJWljb24tYW5nbGUtZG91YmxlLXJpZ2h0OjpiZWZvcmUgeyBjb250ZW50OiAnXFxmMTAxJzsgfVxuXG4laWNvbi1tYWlsOjpiZWZvcmUgeyBjb250ZW50OiAnXFxlODBiJzsgfVxuJWljb24tdHdpdHRlcjo6YmVmb3JlIHsgY29udGVudDogJ1xcZjA5OSc7IH1cbiVpY29uLWZhY2Vib29rOjpiZWZvcmUgeyBjb250ZW50OiAnXFxmMDlhJzsgfVxuJWljb24tcnNzOjpiZWZvcmUgeyBjb250ZW50OiAnXFxmMDllJzsgfVxuJWljb24tZ3BsdXM6OmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGYwZDUnOyB9XG4laWNvbi1tYWlsLWFsdDo6YmVmb3JlIHsgY29udGVudDogJ1xcZjBlMCc7IH1cbiVpY29uLWxpbmtlZGluOjpiZWZvcmUgeyBjb250ZW50OiAnXFxmMGUxJzsgfVxuJWljb24teW91dHViZTo6YmVmb3JlIHsgY29udGVudDogJ1xcZjE2Nyc7IH1cbiVpY29uLWluc3RhZ3JhbTo6YmVmb3JlIHsgY29udGVudDogJ1xcZjE2ZCc7IH1cbiVpY29uLXR1bWJscjo6YmVmb3JlIHsgY29udGVudDogJ1xcZjE3Myc7IH1cbiVpY29uLXBpbnRlcmVzdDo6YmVmb3JlIHsgY29udGVudDogJ1xcZjIzMSc7IH1cbiVpY29uLXN0dW1ibGV1cG9uOjpiZWZvcmUgeyBjb250ZW50OiAnXFxmMWE0JzsgfVxuJWljb24tcmVkZGl0OjpiZWZvcmUgeyBjb250ZW50OiAnXFxmMjgxJzsgfVxuIiwiLy8gR2VuZXJhdGUgRHVyYXRpb24gJiYgRGVsYXlcbltkYXRhLWFvc10ge1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDYwIHtcbiAgICBib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScjeyRpICogNTB9J10gJixcbiAgICAmW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nI3skaSAqIDUwfSddIHtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246ICN7JGkgKiA1MH1tcztcbiAgICB9XG5cbiAgICBib2R5W2RhdGEtYW9zLWRlbGF5PScjeyRpICogNTB9J10gJixcbiAgICAmW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nI3skaSAqIDUwfSddIHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDA7XG5cbiAgICAgICYuYW9zLWFuaW1hdGUge1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAjeyRpICogNTB9bXM7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIkYW9zLWVhc2luZzogKFxuICBsaW5lYXI6IGN1YmljLWJlemllciguMjUwLCAuMjUwLCAuNzUwLCAuNzUwKSxcblxuICBlYXNlOiBjdWJpYy1iZXppZXIoLjI1MCwgLjEwMCwgLjI1MCwgMSksXG4gIGVhc2UtaW46IGN1YmljLWJlemllciguNDIwLCAwLCAxLCAxKSxcbiAgZWFzZS1vdXQ6IGN1YmljLWJlemllciguMDAwLCAwLCAuNTgwLCAxKSxcbiAgZWFzZS1pbi1vdXQ6IGN1YmljLWJlemllciguNDIwLCAwLCAuNTgwLCAxKSxcblxuICBlYXNlLWluLWJhY2s6IGN1YmljLWJlemllciguNiwgLS4yOCwgLjczNSwgLjA0NSksXG4gIGVhc2Utb3V0LWJhY2s6IGN1YmljLWJlemllciguMTc1LCAuODg1LCAuMzIsIDEuMjc1KSxcbiAgZWFzZS1pbi1vdXQtYmFjazogY3ViaWMtYmV6aWVyKC42OCwgLS41NSwgLjI2NSwgMS41NSksXG5cbiAgZWFzZS1pbi1zaW5lOiBjdWJpYy1iZXppZXIoLjQ3LCAwLCAuNzQ1LCAuNzE1KSxcbiAgZWFzZS1vdXQtc2luZTogY3ViaWMtYmV6aWVyKC4zOSwgLjU3NSwgLjU2NSwgMSksXG4gIGVhc2UtaW4tb3V0LXNpbmU6IGN1YmljLWJlemllciguNDQ1LCAuMDUsIC41NSwgLjk1KSxcblxuICBlYXNlLWluLXF1YWQ6IGN1YmljLWJlemllciguNTUsIC4wODUsIC42OCwgLjUzKSxcbiAgZWFzZS1vdXQtcXVhZDogY3ViaWMtYmV6aWVyKC4yNSwgLjQ2LCAuNDUsIC45NCksXG4gIGVhc2UtaW4tb3V0LXF1YWQ6IGN1YmljLWJlemllciguNDU1LCAuMDMsIC41MTUsIC45NTUpLFxuXG4gIGVhc2UtaW4tY3ViaWM6IGN1YmljLWJlemllciguNTUsIC4wODUsIC42OCwgLjUzKSxcbiAgZWFzZS1vdXQtY3ViaWM6IGN1YmljLWJlemllciguMjUsIC40NiwgLjQ1LCAuOTQpLFxuICBlYXNlLWluLW91dC1jdWJpYzogY3ViaWMtYmV6aWVyKC40NTUsIC4wMywgLjUxNSwgLjk1NSksXG5cbiAgZWFzZS1pbi1xdWFydDogY3ViaWMtYmV6aWVyKC41NSwgLjA4NSwgLjY4LCAuNTMpLFxuICBlYXNlLW91dC1xdWFydDogY3ViaWMtYmV6aWVyKC4yNSwgLjQ2LCAuNDUsIC45NCksXG4gIGVhc2UtaW4tb3V0LXF1YXJ0OiBjdWJpYy1iZXppZXIoLjQ1NSwgLjAzLCAuNTE1LCAuOTU1KVxuKTtcblxuLy8gRWFzaW5ncyBpbXBsZW1lbnRhdGlvbnNcbi8vIERlZmF1bHQgdGltaW5nIGZ1bmN0aW9uOiAnZWFzZSdcblxuW2RhdGEtYW9zXSB7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gJGFvcy1lYXNpbmcge1xuICAgIGJvZHlbZGF0YS1hb3MtZWFzaW5nPVwiI3ska2V5fVwiXSAmLFxuICAgICZbZGF0YS1hb3NdW2RhdGEtYW9zLWVhc2luZz1cIiN7JGtleX1cIl0ge1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR2YWw7XG4gICAgfVxuICB9XG59XG4iLCIvLyBBbmltYXRpb25zIHZhcmlhYmxlc1xuJGFvcy1kaXN0YW5jZTogNTBweCAhZGVmYXVsdDtcblxuXG5cblxuLyoqXG4gKiBGYWRlIGFuaW1hdGlvbnM6XG4gKiBmYWRlXG4gKiBmYWRlLXVwLCBmYWRlLWRvd24sIGZhZGUtbGVmdCwgZmFkZS1yaWdodFxuICogZmFkZS11cC1yaWdodCwgZmFkZS11cC1sZWZ0LCBmYWRlLWRvd24tcmlnaHQsIGZhZGUtZG93bi1sZWZ0XG4gKi9cblxuW2RhdGEtYW9zXj0nZmFkZSddW2RhdGEtYW9zXj0nZmFkZSddIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuXG4gICYuYW9zLWFuaW1hdGUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG5bZGF0YS1hb3M9J2ZhZGUtdXAnXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJGFvcy1kaXN0YW5jZSwgMCk7XG59XG5cbltkYXRhLWFvcz0nZmFkZS1kb3duJ10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0kYW9zLWRpc3RhbmNlLCAwKTtcbn1cblxuW2RhdGEtYW9zPSdmYWRlLXJpZ2h0J10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0kYW9zLWRpc3RhbmNlLCAwLCAwKTtcbn1cblxuW2RhdGEtYW9zPSdmYWRlLWxlZnQnXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGFvcy1kaXN0YW5jZSwgMCwgMCk7XG59XG5cbltkYXRhLWFvcz0nZmFkZS11cC1yaWdodCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtJGFvcy1kaXN0YW5jZSwgJGFvcy1kaXN0YW5jZSwgMCk7XG59XG5cbltkYXRhLWFvcz0nZmFkZS11cC1sZWZ0J10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRhb3MtZGlzdGFuY2UsICRhb3MtZGlzdGFuY2UsIDApO1xufVxuXG5bZGF0YS1hb3M9J2ZhZGUtZG93bi1yaWdodCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtJGFvcy1kaXN0YW5jZSwgLSRhb3MtZGlzdGFuY2UsIDApO1xufVxuXG5bZGF0YS1hb3M9J2ZhZGUtZG93bi1sZWZ0J10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRhb3MtZGlzdGFuY2UsIC0kYW9zLWRpc3RhbmNlLCAwKTtcbn1cblxuXG5cblxuLyoqXG4gKiBab29tIGFuaW1hdGlvbnM6XG4gKiB6b29tLWluLCB6b29tLWluLXVwLCB6b29tLWluLWRvd24sIHpvb20taW4tbGVmdCwgem9vbS1pbi1yaWdodFxuICogem9vbS1vdXQsIHpvb20tb3V0LXVwLCB6b29tLW91dC1kb3duLCB6b29tLW91dC1sZWZ0LCB6b29tLW91dC1yaWdodFxuICovXG5cbltkYXRhLWFvc149J3pvb20nXVtkYXRhLWFvc149J3pvb20nXSB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTtcblxuICAmLmFvcy1hbmltYXRlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCkgc2NhbGUoMSk7XG4gIH1cbn1cblxuW2RhdGEtYW9zPSd6b29tLWluJ10ge1xuICB0cmFuc2Zvcm06IHNjYWxlKC42KTtcbn1cblxuW2RhdGEtYW9zPSd6b29tLWluLXVwJ10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICRhb3MtZGlzdGFuY2UsIDApIHNjYWxlKC42KTtcbn1cblxuW2RhdGEtYW9zPSd6b29tLWluLWRvd24nXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLSRhb3MtZGlzdGFuY2UsIDApIHNjYWxlKC42KTtcbn1cblxuW2RhdGEtYW9zPSd6b29tLWluLXJpZ2h0J10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0kYW9zLWRpc3RhbmNlLCAwLCAwKSBzY2FsZSguNik7XG59XG5cbltkYXRhLWFvcz0nem9vbS1pbi1sZWZ0J10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRhb3MtZGlzdGFuY2UsIDAsIDApIHNjYWxlKC42KTtcbn1cblxuW2RhdGEtYW9zPSd6b29tLW91dCddIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xufVxuXG5bZGF0YS1hb3M9J3pvb20tb3V0LXVwJ10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICRhb3MtZGlzdGFuY2UsIDApIHNjYWxlKDEuMik7XG59XG5cbltkYXRhLWFvcz0nem9vbS1vdXQtZG93biddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtJGFvcy1kaXN0YW5jZSwgMCkgc2NhbGUoMS4yKTtcbn1cblxuW2RhdGEtYW9zPSd6b29tLW91dC1yaWdodCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtJGFvcy1kaXN0YW5jZSwgMCwgMCkgc2NhbGUoMS4yKTtcbn1cblxuW2RhdGEtYW9zPSd6b29tLW91dC1sZWZ0J10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRhb3MtZGlzdGFuY2UsIDAsIDApIHNjYWxlKDEuMik7XG59XG5cblxuXG5cbi8qKlxuICogU2xpZGUgYW5pbWF0aW9uc1xuICovXG5cbltkYXRhLWFvc149J3NsaWRlJ11bZGF0YS1hb3NePSdzbGlkZSddIHtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuXG4gICYuYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuW2RhdGEtYW9zPSdzbGlkZS11cCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbn1cblxuW2RhdGEtYW9zPSdzbGlkZS1kb3duJ10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbn1cblxuW2RhdGEtYW9zPSdzbGlkZS1yaWdodCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG59XG5cbltkYXRhLWFvcz0nc2xpZGUtbGVmdCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbn1cblxuXG5cblxuLyoqXG4gKiBGbGlwIGFuaW1hdGlvbnM6XG4gKiBmbGlwLWxlZnQsIGZsaXAtcmlnaHQsIGZsaXAtdXAsIGZsaXAtZG93blxuICovXG5cbltkYXRhLWFvc149J2ZsaXAnXVtkYXRhLWFvc149J2ZsaXAnXSB7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xufVxuXG5bZGF0YS1hb3M9J2ZsaXAtbGVmdCddIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyNTAwcHgpIHJvdGF0ZVkoLTEwMGRlZyk7XG4gICYuYW9zLWFuaW1hdGUge3RyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjUwMHB4KSByb3RhdGVZKDApO31cbn1cblxuW2RhdGEtYW9zPSdmbGlwLXJpZ2h0J10ge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDI1MDBweCkgcm90YXRlWSgxMDBkZWcpO1xuICAmLmFvcy1hbmltYXRlIHt0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDI1MDBweCkgcm90YXRlWSgwKTt9XG59XG5cbltkYXRhLWFvcz0nZmxpcC11cCddIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyNTAwcHgpIHJvdGF0ZVgoLTEwMGRlZyk7XG4gICYuYW9zLWFuaW1hdGUge3RyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjUwMHB4KSByb3RhdGVYKDApO31cbn1cblxuW2RhdGEtYW9zPSdmbGlwLWRvd24nXSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjUwMHB4KSByb3RhdGVYKDEwMGRlZyk7XG4gICYuYW9zLWFuaW1hdGUge3RyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjUwMHB4KSByb3RhdGVYKDApO31cbn1cbiIsIi53cG1sIHtcbiAgJl9fbGlzdCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICAvLyBtYXgtd2lkdGg6IHJlbS1jYWxjKDE1MCk7XG5cbiAgICAmLS1zdWJtZW51IHtcbiAgICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICB0b3A6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgIG1pbi13aWR0aDogcmVtLWNhbGMoMTUwKTtcbiAgICAgIC8vIGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRib3JkZXI6IDA7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAycHg7XG5cdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cblxuICAmX19sYW5ndWFnZSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiByZW0tY2FsYygxMCAzMCAxMCAxMCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICYtLWJsYWNrLWdsYXNzIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsLjMpO1xuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDNweCByZ2JhKDAsMCwwLC44KTtcbiAgICB9XG5cblx0XHQmLS1yMTcge1xuXHRcdFx0YmFja2dyb3VuZDogIzJEMkQyRDtcblx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRib3JkZXI6IDA7XG5cdFx0fVxuXG4gICAgJi0tY3VycmVudCB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBAZXh0ZW5kICVpY29uO1xuICAgICAgICBAZXh0ZW5kICVpY29uLWFuZ2xlLWRvd246OmJlZm9yZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogNHB4O1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogLThweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19mbGFnIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDUpO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBcdHRvcDogLTJweDtcbiAgfVxuXG5cdCZfX2Ryb3Bkb3duLXBhbmUge1xuXHRcdHdpZHRoOiAxNDBweDtcblx0fVxufVxuIiwiLmZsYWctaWNvbi1iYWNrZ3JvdW5kIHtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cbi5mbGFnLWljb24ge1xuICBAZXh0ZW5kIC5mbGFnLWljb24tYmFja2dyb3VuZDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAoNCAvIDMpICogMS4yZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdcXDAwYTAnO1xuICB9XG4gICYuZmxhZy1pY29uLXNxdWFyZWQge1xuICAgIHdpZHRoOiAxZW07XG4gIH1cbn1cblxuQG1peGluIGZsYWctaWNvbigkY291bnRyeSkge1xuICAuZmxhZy1pY29uLSN7JGNvdW50cnl9IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skZmxhZy1pY29uLWNzcy1wYXRofSN7JGZsYWctaWNvbi1yZWN0LXBhdGh9LyN7JGNvdW50cnl9LnN2Zyk7XG4gICAgJi5mbGFnLWljb24tc3F1YXJlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skZmxhZy1pY29uLWNzcy1wYXRofSN7JGZsYWctaWNvbi1zcXVhcmUtcGF0aH0vI3skY291bnRyeX0uc3ZnKTtcbiAgICB9XG4gIH1cbn1cbiIsIiVjb25maXJtYXRpb24tYm94LXN0eWxlIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRmb250LXdlaWdodDogJGdyYXZpdHktZm9ybXMtY29uZmlybWF0aW9uLXdlaWdodDtcblx0cGFkZGluZzogcmVtLWNhbGMoMTAgMjApO1xuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG5cdGJvcmRlci13aWR0aDogMnB4IDA7XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG59XG5cbi5nZm9ybV93cmFwcGVyIHtcblx0Ly8gRm9ybXMgcmVzZXRcblx0W3R5cGU9J3RleHQnXSxcblx0W3R5cGU9J3Bhc3N3b3JkJ10sXG5cdFt0eXBlPSdkYXRlJ10sXG5cdFt0eXBlPSdkYXRldGltZSddLFxuXHRbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSxcblx0W3R5cGU9J21vbnRoJ10sXG5cdFt0eXBlPSd3ZWVrJ10sXG5cdFt0eXBlPSdlbWFpbCddLFxuXHRbdHlwZT0nbnVtYmVyJ10sXG5cdFt0eXBlPSdzZWFyY2gnXSxcblx0W3R5cGU9J3RlbCddLFxuXHRbdHlwZT0ndGltZSddLFxuXHRbdHlwZT0ndXJsJ10sXG5cdFt0eXBlPSdjb2xvciddLFxuXHR0ZXh0YXJlYSxcblx0c2VsZWN0IHtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHR9XG5cblx0W3R5cGU9J2ZpbGUnXSxcblx0W3R5cGU9J2NoZWNrYm94J10sXG5cdFt0eXBlPSdyYWRpbyddIHtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG5cdH1cblxuXHRbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsIHtcblx0XHRtYXJnaW4tbGVmdDogcmVtLWNhbGMoNSk7XG5cdH1cblxuXHRbdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcblx0XHRtYXJnaW4tbGVmdDogcmVtLWNhbGMoOCk7XG5cdH1cblxuXHQvLyBHRiBTdHlsaW5nO1xuXHQuZ2ZpZWxkIHtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG5cdH1cblxuXHQuZ2ZpZWxkX2xhYmVsIHtcblx0XHRmb250LXdlaWdodDogJGdyYXZpdHktZm9ybXMtbGFiZWwtd2VpZ2h0O1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuXHR9XG5cblx0Lmdmb3JtX2ZpZWxkcyxcblx0LmdmaWVsZF9jaGVja2JveCxcblx0LmdmaWVsZF9yYWRpbyB7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblx0fVxuXG5cdC5nZmllbGRfZGF0ZV9kYXksXG5cdC5nZmllbGRfZGF0ZV9tb250aCxcblx0LmdmaWVsZF9kYXRlX3llYXIsXG5cdC5nZmllbGRfdGltZV9ob3VyLFxuXHQuZ2ZpZWxkX3RpbWVfbWludXRlIHtcblx0XHR3aWR0aDogNzVweDtcblx0fVxuXG5cdC5naW5wdXRfY29udGFpbmVyX3RpbWUge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXHR9XG5cblx0LmdmaWVsZF90aW1lX2hvdXIgaSB7XG5cdFx0ZmxvYXQ6IHJpZ2h0O1xuXHR9XG5cblx0LmdmaWVsZF9kZXNjcmlwdGlvbiB7XG5cdFx0bWFyZ2luLXRvcDogcmVtLWNhbGMoMik7XG5cdFx0Zm9udC1zaXplOiA5MCU7XG5cdH1cblxuXHQudmFsaWRhdGlvbl9tZXNzYWdlIHtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcblx0XHRjb2xvcjogJGdyYXZpdHktZm9ybXMtdmFsaWRhdGlvbi1tZXNzYWdlLXRleHQ7XG5cdFx0Zm9udC13ZWlnaHQ6ICRncmF2aXR5LWZvcm1zLXZhbGlkYXRpb24tbWVzc2FnZS13ZWlnaHQ7XG5cdH1cblxuXHQuZ2ZpZWxkX3JlcXVpcmVkIHtcblx0XHRjb2xvcjogJGFsZXJ0LWNvbG9yO1xuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdG1hcmdpbi1sZWZ0OiAuMWVtO1xuXHRcdC8vIGZvbnQtc2l6ZTogMTIwJTtcblx0fVxuXG5cdC5nZmllbGRfZXJyb3IgaW5wdXQ6bm90KFt0eXBlPXJhZGlvXSk6bm90KFt0eXBlPWNoZWNrYm94XSk6bm90KFt0eXBlPXN1Ym1pdF0pOm5vdChbdHlwZT1idXR0b25dKTpub3QoW3R5cGU9aW1hZ2VdKTpub3QoW3R5cGU9ZmlsZV0pLFxuXHQuZ2ZpZWxkX2Vycm9yIHRleHRhcmVhIHtcblx0XHRib3JkZXItY29sb3I6ICRncmF2aXR5LWZvcm1zLWNvbmZpcm1hdGlvbi10ZXh0LS1lcnJvcjtcblx0fVxuXG5cdC5jb25maXJtYXRpb25fZXJyb3Ige1xuXHRcdEBleHRlbmQgJWNvbmZpcm1hdGlvbi1ib3gtc3R5bGU7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkZ3Jhdml0eS1mb3Jtcy1jb25maXJtYXRpb24tdGV4dC0tZXJyb3I7XG5cdFx0YmFja2dyb3VuZDogJGdyYXZpdHktZm9ybXMtY29uZmlybWF0aW9uLWJnLS1lcnJvcjtcblx0fVxuXG5cdC5nZm9ybV9mb290ZXIge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNTApICFpbXBvcnRhbnQ7XG5cblx0XHQuZ2Zvcm1fYWpheF9zcGlubmVyIHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdGJvdHRvbTogMDtcblx0XHRcdGxlZnQ6IDUwJTtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblx0XHR9XG5cdH1cblxuXHQvKiBHRiBjbGFzc2VzcyAqL1xuXHQuZ2Zvcm1fZmllbGRzIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdH1cblxuXHQuZ2ZpZWxkIHtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0LmdmX2xlZnRfaGFsZiB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHdpZHRoOiBjYWxjKDUwJSAtICN7bWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBtZWRpdW0pIC8gMn0gKTtcblx0XHR9XG5cblx0XHQuZ2ZfcmlnaHRfaGFsZiB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHdpZHRoOiBjYWxjKDUwJSAtICN7bWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBtZWRpdW0pIC8gMn0gKTtcblx0XHR9XG5cdH1cblxuXHRAaWYgbWFwLWhhcy1rZXkoJGdyaWQtY29sdW1uLWd1dHRlciwgbGFyZ2UpIHtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHQuZ2ZfbGVmdF9oYWxmIHtcblx0XHRcdFx0d2lkdGg6IGNhbGMoNTAlIC0gI3ttYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIGxhcmdlKSAvIDJ9ICk7XG5cdFx0XHR9XG5cblx0XHRcdC5nZl9yaWdodF9oYWxmIHtcblx0XHRcdFx0d2lkdGg6IGNhbGMoNTAlIC0gI3ttYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsIGxhcmdlKSAvIDJ9ICk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5nZm9ybV9jb25maXJtYXRpb25fbWVzc2FnZSB7XG5cdEBleHRlbmQgJWNvbmZpcm1hdGlvbi1ib3gtc3R5bGU7XG5cdGJvcmRlci1jb2xvcjogJGdyYXZpdHktZm9ybXMtY29uZmlybWF0aW9uLXRleHQtLXN1Y2Nlc3M7XG5cdGJhY2tncm91bmQ6ICRncmF2aXR5LWZvcm1zLWNvbmZpcm1hdGlvbi1iZy0tc3VjY2Vzcztcbn1cbiIsIi8qISBUYWJsZXNhdyAtIHYzLjAuOSAtIDIwMTgtMDItMTRcbiogaHR0cHM6Ly9naXRodWIuY29tL2ZpbGFtZW50Z3JvdXAvdGFibGVzYXdcbiogQ29weXJpZ2h0IChjKSAyMDE4IEZpbGFtZW50IEdyb3VwOyBMaWNlbnNlZCBNSVQgKi9cblxuLnRhYmxlc2F3IHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgZW1wdHktY2VsbHM6IHNob3c7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLnRhYmxlc2F3ICoge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4udGFibGVzYXctYnRuIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgYm9yZGVyLXJhZGl1czogLjI1ZW07XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwxKTtcbiAgY29sb3I6ICM0YTRhNGE7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IC41ZW0gLjg1ZW0gLjRlbSAuODVlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lO1xufVxuXG5hLnRhYmxlc2F3LWJ0biB7XG4gIGNvbG9yOiAjMWM5NWQ0O1xufVxuXG4udGFibGVzYXctYnRuOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4vKiBEZWZhdWx0IHJhZGlvL2NoZWNrYm94IHN0eWxpbmcgaG9yaXpvbmFsIGNvbnRyb2xncm91cHMuICovXG5cbi50YWJsZXNhdy1idG46YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcbn1cblxuQHN1cHBvcnRzIChib3gtc2hhZG93OiBub25lICkge1xuICAudGFibGVzYXctYnRuOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cblxuICAudGFibGVzYXctYnRuOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDAgLjM1ZW0gIzRmYWVlZiAhaW1wb3J0YW50O1xuICB9XG59XG5cbi50YWJsZXNhdy1idG4tc2VsZWN0IHNlbGVjdCB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAyO1xuICBtaW4taGVpZ2h0OiAxZW07XG4gIG9wYWNpdHk6IDA7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLnRhYmxlc2F3LWJ0biBzZWxlY3Qgb3B0aW9uIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi50YWJsZXNhdy1idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAwO1xufVxuXG4udGFibGVzYXctYnRuLmJ0bi1zbWFsbCB7XG4gIGZvbnQtc2l6ZTogMS4wNjI1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxOXB4O1xuICBwYWRkaW5nOiAuM2VtIDFlbSAuM2VtIDFlbTtcbn1cblxuLnRhYmxlc2F3LWJ0bi5idG4tbWljcm8ge1xuICBmb250LXNpemU6IC44MTI1ZW07XG4gIHBhZGRpbmc6IC40ZW0gLjdlbSAuMjVlbSAuN2VtO1xufVxuXG4udGFibGVzYXctYnRuLXNlbGVjdCB7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNWVtO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGNvbG9yOiAjNGQ0ZDRkO1xuICBwYWRkaW5nLXJpZ2h0OiAyLjVlbTtcbiAgbWluLXdpZHRoOiA3LjI1ZW07XG59XG5cbi50YWJsZXNhdy1idG4tc2VsZWN0OmFmdGVyIHtcbiAgY29udGVudDogXCIgXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLjI1ZW0gLjQ1ZW07XG4gIGNvbnRlbnQ6IFwiXFwyNWJjXCI7XG4gIGZvbnQtc2l6ZTogLjU1ZW07XG4gIHBhZGRpbmctdG9wOiAxLjJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxZW07XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwO1xuICBtYXJnaW46IDA7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMS44ZW07XG59XG5cbi50YWJsZXNhdy1idG4tc2VsZWN0LmJ0bi1zbWFsbDphZnRlcixcbi50YWJsZXNhdy1idG4tc2VsZWN0LmJ0bi1taWNybzphZnRlciB7XG4gIHdpZHRoOiAxLjJlbTtcbiAgZm9udC1zaXplOiAuNWVtO1xuICBwYWRkaW5nLXRvcDogMWVtO1xuICBwYWRkaW5nLXJpZ2h0OiAuNWVtO1xuICBsaW5lLWhlaWdodDogMS42NTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG59XG5cbi8qIENvbHVtbiBuYXZpZ2F0aW9uIGJ1dHRvbnMgZm9yIHN3aXBlIGFuZCBjb2x1bW50b2dnbGUgdGFibGVzICovXG5cbi50YWJsZXNhdy1hZHZhbmNlIC50YWJsZXNhdy1idG4ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogLjI1ZW07XG59XG5cbi50YWJsZXNhdy1hZHZhbmNlIC50YWJsZXNhdy1idG4uYnRuLW1pY3JvIHtcbiAgZm9udC1zaXplOiAuODEyNWVtO1xuICBwYWRkaW5nOiAuM2VtIC43ZW0gLjI1ZW0gLjdlbTtcbn1cblxuLnRhYmxlc2F3LWFkdmFuY2UgYS50YWJsZXNhdy1uYXYtYnRuOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi50YWJsZXNhdy1hZHZhbmNlIGEudGFibGVzYXctbmF2LWJ0bjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4udGFibGVzYXctYWR2YW5jZSBhLnRhYmxlc2F3LW5hdi1idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAxLjhlbTtcbiAgaGVpZ2h0OiAxLjhlbTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC4yNWVtO1xuICBtYXJnaW4tcmlnaHQ6IC4yNWVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtaW5kZW50OiAtOTk5OXB4O1xufVxuXG4udGFibGVzYXctYWR2YW5jZSBhLnRhYmxlc2F3LW5hdi1idG4ubGVmdDpiZWZvcmUsXG4udGFibGVzYXctYWR2YW5jZSBhLnRhYmxlc2F3LW5hdi1idG4ucmlnaHQ6YmVmb3JlLFxuLnRhYmxlc2F3LWFkdmFuY2UgYS50YWJsZXNhdy1uYXYtYnRuLmRvd246YmVmb3JlLFxuLnRhYmxlc2F3LWFkdmFuY2UgYS50YWJsZXNhdy1uYXYtYnRuLnVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwwMDIwXCI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLnRhYmxlc2F3LWFkdmFuY2UgYS50YWJsZXNhdy1uYXYtYnRuLmRvd246YmVmb3JlIHtcbiAgbGVmdDogLjVlbTtcbiAgdG9wOiAuNjVlbTtcbiAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3A6IDVweCBzb2xpZCAjODA4MDgwO1xufVxuXG4udGFibGVzYXctYWR2YW5jZSBhLnRhYmxlc2F3LW5hdi1idG4udXA6YmVmb3JlIHtcbiAgbGVmdDogLjVlbTtcbiAgdG9wOiAuNjVlbTtcbiAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCAjODA4MDgwO1xufVxuXG4udGFibGVzYXctYWR2YW5jZSBhLnRhYmxlc2F3LW5hdi1idG4ubGVmdDpiZWZvcmUsXG4udGFibGVzYXctYWR2YW5jZSBhLnRhYmxlc2F3LW5hdi1idG4ucmlnaHQ6YmVmb3JlIHtcbiAgdG9wOiAuNDVlbTtcbiAgYm9yZGVyLXRvcDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbi50YWJsZXNhdy1hZHZhbmNlIGEudGFibGVzYXctbmF2LWJ0bi5sZWZ0OmJlZm9yZSB7XG4gIGxlZnQ6IC42ZW07XG4gIGJvcmRlci1yaWdodDogNXB4IHNvbGlkICM4MDgwODA7XG59XG5cbi50YWJsZXNhdy1hZHZhbmNlIGEudGFibGVzYXctbmF2LWJ0bi5yaWdodDpiZWZvcmUge1xuICBsZWZ0OiAuN2VtO1xuICBib3JkZXItbGVmdDogNXB4IHNvbGlkICM4MDgwODA7XG59XG5cbi50YWJsZXNhdy1hZHZhbmNlIGEudGFibGVzYXctbmF2LWJ0bi5kaXNhYmxlZCB7XG4gIG9wYWNpdHk6IC4yNTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLyogVGFibGUgVG9vbGJhciAqL1xuXG4udGFibGVzYXctYmFyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi50YWJsZXNhdy1iYXIgKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi50YWJsZXNhdy1iYXItc2VjdGlvbiB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4udGFibGVzYXctYmFyLXNlY3Rpb24gbGFiZWwge1xuICBmb250LXNpemU6IC44NzVlbTtcbiAgcGFkZGluZzogLjVlbSAwO1xuICBjbGVhcjogYm90aDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjODg4O1xuICBtYXJnaW4tcmlnaHQ6IC41ZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi50YWJsZXNhdy1idG4sXG4udGFibGVzYXctZW5oYW5jZWQgLnRhYmxlc2F3LWJ0biB7XG4gIG1hcmdpbi10b3A6IC41ZW07XG4gIG1hcmdpbi1ib3R0b206IC41ZW07XG59XG5cbi50YWJsZXNhdy1idG4tc2VsZWN0LFxuLnRhYmxlc2F3LWVuaGFuY2VkIC50YWJsZXNhdy1idG4tc2VsZWN0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyogVE9ETyAqL1xuXG4udGFibGVzYXctYmFyIC50YWJsZXNhdy1iYXItc2VjdGlvbiAudGFibGVzYXctYnRuIHtcbiAgbWFyZ2luLWxlZnQ6IC40ZW07XG4gIG1hcmdpbi10b3A6IDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBwYWRkaW5nLWxlZnQ6IC4zZW07XG59XG5cbi50YWJsZXNhdy1iYXIgLnRhYmxlc2F3LWJhci1zZWN0aW9uIC5idG4tc2VsZWN0IHtcbiAgbWluLXdpZHRoOiAwO1xufVxuXG4udGFibGVzYXctYmFyIC50YWJsZXNhdy1iYXItc2VjdGlvbiAuYnRuLXNlbGVjdDphZnRlciB7XG4gIHBhZGRpbmctdG9wOiAuOWVtO1xufVxuXG4udGFibGVzYXctYmFyIC50YWJsZXNhdy1iYXItc2VjdGlvbiBzZWxlY3Qge1xuICBjb2xvcjogIzg4ODtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4udGFibGVzYXctYmFyLXNlY3Rpb24gfiB0YWJsZSB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4udGFibGVzYXctYmFyLXNlY3Rpb24gLmFiYnJldmlhdGVkIHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuXG4udGFibGVzYXctYmFyLXNlY3Rpb24gLmxvbmdmb3JtIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDI0ZW0pIHtcbiAgLnRhYmxlc2F3LWJhci1zZWN0aW9uIC5hYmJyZXZpYXRlZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC50YWJsZXNhdy1iYXItc2VjdGlvbiAubG9uZ2Zvcm0ge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgfVxufVxuXG4udGFibGVzYXcgdGgsXG4udGFibGVzYXcgdGQge1xuICBwYWRkaW5nOiAuNWVtIC43ZW07XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi50YWJsZXNhdy1zb3J0YWJsZS1idG4ge1xuICAvKiBzYW1lIGFzIGNlbGwgcGFkZGluZyBhYm92ZSAqL1xuICBwYWRkaW5nOiAuNWVtIC43ZW07XG59XG5cbi50YWJsZXNhdyB0aGVhZCB0aCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi8qIFRhYmxlIHJvd3MgaGF2ZSBhIGdyYXkgYm90dG9tIHN0cm9rZSBieSBkZWZhdWx0ICovXG5cbi50YWJsZXNhdy1yb3ctYm9yZGVyIHRyIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZmRmZGY7XG59XG5cbi8qIFplYnJhIHN0cmlwaW5nICovXG5cbi50YWJsZXNhdy1yb3ctemVicmEgdHI6bnRoLWNoaWxkKDJuKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7XG59XG5cbi50YWJsZXNhdyBjYXB0aW9uIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbWFyZ2luOiAuNTkzNzVlbSAwO1xufVxuXG4udGFibGVzYXctc3dpcGUgLnRhYmxlc2F3LXN3aXBlLWNlbGxwZXJzaXN0IHtcbiAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgI2U0ZTFkZTtcbn1cblxuLnRhYmxlc2F3LXN3aXBlLXNoYWRvdyAudGFibGVzYXctc3dpcGUtY2VsbHBlcnNpc3Qge1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDFweDtcbn1cblxuLnRhYmxlc2F3LXN3aXBlLXNoYWRvdyAudGFibGVzYXctc3dpcGUtY2VsbHBlcnNpc3Qge1xuICBib3gtc2hhZG93OiAzcHggMCA0cHggLTFweCAjZTRlMWRlO1xufVxuXG4udGFibGVzYXctc3RhY2sgdGQgLnRhYmxlc2F3LWNlbGwtbGFiZWwsXG4udGFibGVzYXctc3RhY2sgdGggLnRhYmxlc2F3LWNlbGwtbGFiZWwge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBNb2JpbGUgZmlyc3Qgc3R5bGVzOiBCZWdpbiB3aXRoIHRoZSBzdGFja2VkIHByZXNlbnRhdGlvbiBhdCBuYXJyb3cgd2lkdGhzICovXG5cbi8qIFN1cHBvcnQgbm90ZSBJRTkrOiBAbWVkaWEgb25seSBhbGwgKi9cblxuQG1lZGlhIG9ubHkgYWxsIHtcbiAgLyogU2hvdyB0aGUgdGFibGUgY2VsbHMgYXMgYSBibG9jayBsZXZlbCBlbGVtZW50ICovXG5cbiAgLnRhYmxlc2F3LXN0YWNrIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuXG4gIC50YWJsZXNhdy1zdGFjayB0ZCxcbiAgLnRhYmxlc2F3LXN0YWNrIHRoIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLnRhYmxlc2F3LXN0YWNrIHRyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XG4gIH1cblxuICAvKiBNYWtlIHRoZSBsYWJlbCBlbGVtZW50cyBhIHBlcmNlbnRhZ2Ugd2lkdGggKi9cblxuICAudGFibGVzYXctc3RhY2sgdGQgLnRhYmxlc2F3LWNlbGwtbGFiZWwsXG4gIC50YWJsZXNhdy1zdGFjayB0aCAudGFibGVzYXctY2VsbC1sYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDAgLjZlbSAwIDA7XG4gICAgd2lkdGg6IDMwJTtcbiAgfVxuXG4gIC8qIEZvciBncm91cGVkIGhlYWRlcnMsIGhhdmUgYSBkaWZmZXJlbnQgc3R5bGUgdG8gdmlzdWFsbHkgc2VwYXJhdGUgdGhlIGxldmVscyBieSBjbGFzc2luZyB0aGUgZmlyc3QgbGFiZWwgaW4gZWFjaCBjb2wgZ3JvdXAgKi9cblxuICAudGFibGVzYXctc3RhY2sgdGggLnRhYmxlc2F3LWNlbGwtbGFiZWwtdG9wLFxuICAudGFibGVzYXctc3RhY2sgdGQgLnRhYmxlc2F3LWNlbGwtbGFiZWwtdG9wIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAuNGVtIDA7XG4gICAgbWFyZ2luOiAuNGVtIDA7XG4gIH1cblxuICAudGFibGVzYXctY2VsbC1sYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvKiBBdm9pZCBkb3VibGUgc3Ryb2tlcyB3aGVuIHN0YWNrZWQgKi9cblxuICAudGFibGVzYXctc3RhY2sgdGJvZHkgdGguZ3JvdXAge1xuICAgIG1hcmdpbi10b3A6IC0xcHg7XG4gIH1cblxuICAvKiBBdm9pZCBkb3VibGUgc3Ryb2tlcyB3aGVuIHN0YWNrZWQgKi9cblxuICAudGFibGVzYXctc3RhY2sgdGguZ3JvdXAgYi50YWJsZXNhdy1jZWxsLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAvKiBUYWJsZSByb3dzIGhhdmUgYSBncmF5IGJvdHRvbSBzdHJva2UgYnkgZGVmYXVsdCAqL1xuXG4gIC50YWJsZXNhdy1zdGFjayB0Ym9keSB0ciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZmRmZGY7XG4gIH1cblxuICAudGFibGVzYXctc3RhY2sgdGhlYWQgdGQsXG4gIC50YWJsZXNhdy1zdGFjayB0aGVhZCB0aCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC50YWJsZXNhdy1zdGFjayB0Ym9keSB0ZCxcbiAgLnRhYmxlc2F3LXN0YWNrIHRib2R5IHRoIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbGVmdDtcbiAgICBjbGVhcjogbGVmdDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC50YWJsZXNhdy1jZWxsLWxhYmVsIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG5cbiAgLnRhYmxlc2F3LWNlbGwtY29udGVudCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1heC13aWR0aDogNjclO1xuICB9XG5cbiAgLnRhYmxlc2F3LXN0YWNrIC50YWJsZXNhdy1zdGFjay1ibG9jayAudGFibGVzYXctY2VsbC1sYWJlbCxcbiAgLnRhYmxlc2F3LXN0YWNrIC50YWJsZXNhdy1zdGFjay1ibG9jayAudGFibGVzYXctY2VsbC1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC50YWJsZXNhdy1zdGFjayB0ZDplbXB0eSxcbiAgLnRhYmxlc2F3LXN0YWNrIHRoOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8qIE1lZGlhIHF1ZXJ5IHRvIHNob3cgYXMgYSBzdGFuZGFyZCB0YWJsZSBhdCA1NjBweCAoMzVlbSB4IDE2cHgpIG9yIHdpZGVyICovXG5cbkBtZWRpYSAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC50YWJsZXNhdy1zdGFjayB0ciB7XG4gICAgZGlzcGxheTogdGFibGUtcm93O1xuICB9XG5cbiAgLyogU2hvdyB0aGUgdGFibGUgaGVhZGVyIHJvd3MgKi9cblxuICAudGFibGVzYXctc3RhY2sgdGQsXG4gIC50YWJsZXNhdy1zdGFjayB0aCxcbiAgLnRhYmxlc2F3LXN0YWNrIHRoZWFkIHRkLFxuICAudGFibGVzYXctc3RhY2sgdGhlYWQgdGgge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLyogSGlkZSB0aGUgbGFiZWxzIGluIGVhY2ggY2VsbCAqL1xuXG4gIC50YWJsZXNhdy1zdGFjayB0ZCAudGFibGVzYXctY2VsbC1sYWJlbCxcbiAgLnRhYmxlc2F3LXN0YWNrIHRoIC50YWJsZXNhdy1jZWxsLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnRhYmxlc2F3LWZpeC1wZXJzaXN0IHtcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbn1cblxuQG1lZGlhIG9ubHkgYWxsIHtcbiAgLyogVW5jaGVja2VkIG1hbnVhbGx5OiBBbHdheXMgaGlkZSAqL1xuXG4gIC50YWJsZXNhdy1zd2lwZSB0aC50YWJsZXNhdy1zd2lwZS1jZWxsaGlkZGVuLFxuICAudGFibGVzYXctc3dpcGUgdGQudGFibGVzYXctc3dpcGUtY2VsbGhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4udGFibGVzYXctb3ZlcmZsb3cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC8qIE1vcmUgaW4gc2tpbi5jc3MgKi9cbn1cblxuLnRhYmxlc2F3LW92ZXJmbG93ID4gLnRhYmxlc2F3IHtcbiAgbWFyZ2luLXRvcDogMnB4O1xuICAvKiBzb3J0YWJsZSBmb2N1cyByaW5ncyBhcmUgY2xpcHBlZCAqL1xufVxuXG4vKiBVc2VkIGZvciBhMTF5IHRleHQgb24gYnV0dG9uOiBcIkNvbHVtbnNcIiAqL1xuXG4udGFibGVzYXctY29sdW1udG9nZ2xlLWJ0biBzcGFuIHtcbiAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLnRhYmxlc2F3LWNvbHVtbnRvZ2dsZS1idG53cmFwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvKiBmb3IgZGlhbG9nIHBvc2l0aW9uaW5nICovXG59XG5cbi50YWJsZXNhdy1jb2x1bW50b2dnbGUtYnRud3JhcCAuZGlhbG9nLWNvbnRlbnQge1xuICBwYWRkaW5nOiAuNWVtO1xufVxuXG4udGFibGVzYXctY29sdW1udG9nZ2xlIHRib2R5IHRkIHtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLyogUmVtb3ZlIHRvcC9ib3R0b20gbWFyZ2lucyBhcm91bmQgdGhlIGZpZWxkY29udGFpbiBvbiBjaGVjayBsaXN0ICovXG5cbi50YWJsZXNhdy1jb2x1bW50b2dnbGUtcG9wdXAge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udGFibGVzYXctY29sdW1udG9nZ2xlLWJ0bndyYXAudmlzaWJsZSAudGFibGVzYXctY29sdW1udG9nZ2xlLXBvcHVwIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAyZW07XG4gIHJpZ2h0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiAuNWVtIC44ZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDJweCAjY2NjO1xuICBib3JkZXItcmFkaXVzOiAuMmVtO1xuICB6LWluZGV4OiAxO1xufVxuXG4udGFibGVzYXctY29sdW1udG9nZ2xlLXBvcHVwIGZpZWxkc2V0IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKiBIaWRlIGFsbCBwcmlvcml0aXplZCBjb2x1bW5zIGJ5IGRlZmF1bHQgKi9cblxuQG1lZGlhIG9ubHkgYWxsIHtcbiAgLnRhYmxlc2F3LWNvbHVtbnRvZ2dsZSB0aC50YWJsZXNhdy1wcmlvcml0eS02LFxuICAudGFibGVzYXctY29sdW1udG9nZ2xlIHRkLnRhYmxlc2F3LXByaW9yaXR5LTYsXG4gIC50YWJsZXNhdy1jb2x1bW50b2dnbGUgdGgudGFibGVzYXctcHJpb3JpdHktNSxcbiAgLnRhYmxlc2F3LWNvbHVtbnRvZ2dsZSB0ZC50YWJsZXNhdy1wcmlvcml0eS01LFxuICAudGFibGVzYXctY29sdW1udG9nZ2xlIHRoLnRhYmxlc2F3LXByaW9yaXR5LTQsXG4gIC50YWJsZXNhdy1jb2x1bW50b2dnbGUgdGQudGFibGVzYXctcHJpb3JpdHktNCxcbiAgLnRhYmxlc2F3LWNvbHVtbnRvZ2dsZSB0aC50YWJsZXNhdy1wcmlvcml0eS0zLFxuICAudGFibGVzYXctY29sdW1udG9nZ2xlIHRkLnRhYmxlc2F3LXByaW9yaXR5LTMsXG4gIC50YWJsZXNhdy1jb2x1bW50b2dnbGUgdGgudGFibGVzYXctcHJpb3JpdHktMixcbiAgLnRhYmxlc2F3LWNvbHVtbnRvZ2dsZSB0ZC50YWJsZXNhdy1wcmlvcml0eS0yLFxuICAudGFibGVzYXctY29sdW1udG9nZ2xlIHRoLnRhYmxlc2F3LXByaW9yaXR5LTEsXG4gIC50YWJsZXNhdy1jb2x1bW50b2dnbGUgdGQudGFibGVzYXctcHJpb3JpdHktMSxcbiAgLnRhYmxlc2F3LWNvbHVtbnRvZ2dsZSB0aC50YWJsZXNhdy1wcmlvcml0eS0wLFxuICAudGFibGVzYXctY29sdW1udG9nZ2xlIHRkLnRhYmxlc2F3LXByaW9yaXR5LTAge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnRhYmxlc2F3LWNvbHVtbnRvZ2dsZS1idG53cmFwIC5kaWFsb2ctY29udGVudCB7XG4gIHRvcDogMCAhaW1wb3J0YW50O1xuICByaWdodDogMWVtO1xuICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMmVtO1xuICBtYXgtd2lkdGg6IDE4ZW07XG4gIG1hcmdpbjogLS41ZW0gYXV0byAwO1xufVxuXG4udGFibGVzYXctY29sdW1udG9nZ2xlLWJ0bndyYXAgLmRpYWxvZy1jb250ZW50OmZvY3VzIHtcbiAgb3V0bGluZS1zdHlsZTogbm9uZTtcbn1cblxuLyogUHJlc2V0IGJyZWFrcG9pbnRzIGlmIFwiXCIgY2xhc3MgYWRkZWQgdG8gdGFibGUgKi9cblxuLyogU2hvdyBwcmlvcml0eSAxIGF0IDMyMHB4ICgyMGVtIHggMTZweCkgKi9cblxuQG1lZGlhIChtaW4td2lkdGg6IDIwZW0pIHtcbiAgLnRhYmxlc2F3LWNvbHVtbnRvZ2dsZSB0aC50YWJsZXNhdy1wcmlvcml0eS0xLFxuICAudGFibGVzYXctY29sdW1udG9nZ2xlIHRkLnRhYmxlc2F3LXByaW9yaXR5LTEge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIH1cbn1cblxuLyogU2hvdyBwcmlvcml0eSAyIGF0IDQ4MHB4ICgzMGVtIHggMTZweCkgKi9cblxuQG1lZGlhIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgLnRhYmxlc2F3LWNvbHVtbnRvZ2dsZSB0aC50YWJsZXNhdy1wcmlvcml0eS0yLFxuICAudGFibGVzYXctY29sdW1udG9nZ2xlIHRkLnRhYmxlc2F3LXByaW9yaXR5LTIge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIH1cbn1cblxuLyogU2hvdyBwcmlvcml0eSAzIGF0IDY0MHB4ICg0MGVtIHggMTZweCkgKi9cblxuQG1lZGlhIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnRhYmxlc2F3LWNvbHVtbnRvZ2dsZSB0aC50YWJsZXNhdy1wcmlvcml0eS0zLFxuICAudGFibGVzYXctY29sdW1udG9nZ2xlIHRkLnRhYmxlc2F3LXByaW9yaXR5LTMge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIH1cblxuICAudGFibGVzYXctY29sdW1udG9nZ2xlIHRib2R5IHRkIHtcbiAgICBsaW5lLWhlaWdodDogMjtcbiAgfVxufVxuXG4vKiBTaG93IHByaW9yaXR5IDQgYXQgODAwcHggKDUwZW0geCAxNnB4KSAqL1xuXG5AbWVkaWEgKG1pbi13aWR0aDogNTBlbSkge1xuICAudGFibGVzYXctY29sdW1udG9nZ2xlIHRoLnRhYmxlc2F3LXByaW9yaXR5LTQsXG4gIC50YWJsZXNhdy1jb2x1bW50b2dnbGUgdGQudGFibGVzYXctcHJpb3JpdHktNCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgfVxufVxuXG4vKiBTaG93IHByaW9yaXR5IDUgYXQgOTYwcHggKDYwZW0geCAxNnB4KSAqL1xuXG5AbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAudGFibGVzYXctY29sdW1udG9nZ2xlIHRoLnRhYmxlc2F3LXByaW9yaXR5LTUsXG4gIC50YWJsZXNhdy1jb2x1bW50b2dnbGUgdGQudGFibGVzYXctcHJpb3JpdHktNSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgfVxufVxuXG4vKiBTaG93IHByaW9yaXR5IDYgYXQgMSwxMjBweCAoNzBlbSB4IDE2cHgpICovXG5cbkBtZWRpYSAobWluLXdpZHRoOiA3MGVtKSB7XG4gIC50YWJsZXNhdy1jb2x1bW50b2dnbGUgdGgudGFibGVzYXctcHJpb3JpdHktNixcbiAgLnRhYmxlc2F3LWNvbHVtbnRvZ2dsZSB0ZC50YWJsZXNhdy1wcmlvcml0eS02IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IGFsbCB7XG4gIC8qIFVuY2hlY2tlZCBtYW51YWxseTogQWx3YXlzIGhpZGUgKi9cblxuICAudGFibGVzYXctY29sdW1udG9nZ2xlIHRoLnRhYmxlc2F3LXRvZ2dsZS1jZWxsaGlkZGVuLFxuICAudGFibGVzYXctY29sdW1udG9nZ2xlIHRkLnRhYmxlc2F3LXRvZ2dsZS1jZWxsaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLyogQ2hlY2tlZCBtYW51YWxseTogQWx3YXlzIHNob3cgKi9cblxuICAudGFibGVzYXctY29sdW1udG9nZ2xlIHRoLnRhYmxlc2F3LXRvZ2dsZS1jZWxsdmlzaWJsZSxcbiAgLnRhYmxlc2F3LWNvbHVtbnRvZ2dsZSB0ZC50YWJsZXNhdy10b2dnbGUtY2VsbHZpc2libGUge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIH1cbn1cblxuLnRhYmxlc2F3LWNvbHVtbnRvZ2dsZS1wb3B1cCAuYnRuLWdyb3VwID4gbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogLjJlbSAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi50YWJsZXNhdy1jb2x1bW50b2dnbGUtcG9wdXAgLmJ0bi1ncm91cCA+IGxhYmVsIGlucHV0IHtcbiAgbWFyZ2luLXJpZ2h0OiAuOGVtO1xufVxuXG4udGFibGVzYXctc29ydGFibGUtaGVhZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLyogT3ZlcnJpZGUgKi9cblxuLnRhYmxlc2F3IC50YWJsZXNhdy1zb3J0YWJsZS1oZWFkIHtcbiAgcGFkZGluZzogMDtcbn1cblxuLnRhYmxlc2F3LXNvcnRhYmxlLWJ0biB7XG4gIG1pbi13aWR0aDogMTAwJTtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0O1xufVxuXG4udGFibGVzYXctc29ydGFibGUtYXJyb3c6YWZ0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDE0cHg7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBtYXJnaW4tbGVmdDogLjMxMjVlbTtcbn1cblxuLnRhYmxlc2F3LXNvcnRhYmxlLWFzY2VuZGluZyAudGFibGVzYXctc29ydGFibGUtYXJyb3c6YWZ0ZXIsXG4udGFibGVzYXctc29ydGFibGUtZGVzY2VuZGluZyAudGFibGVzYXctc29ydGFibGUtYXJyb3c6YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcMDAyMFwiO1xufVxuXG4udGFibGVzYXctc29ydGFibGUtYXNjZW5kaW5nIC50YWJsZXNhdy1zb3J0YWJsZS1hcnJvdzphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFwyMTkxXCI7XG59XG5cbi50YWJsZXNhdy1zb3J0YWJsZS1kZXNjZW5kaW5nIC50YWJsZXNhdy1zb3J0YWJsZS1hcnJvdzphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFwyMTkzXCI7XG59XG5cbi50YWJsZXNhdy1hZHZhbmNlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4udGFibGVzYXctYWR2YW5jZS5taW5pbWFwIHtcbiAgbWFyZ2luLXJpZ2h0OiAuNGVtO1xufVxuXG4udGFibGVzYXctYWR2YW5jZS1kb3RzIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLnRhYmxlc2F3LWFkdmFuY2UtZG90cyBsaSB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogLjRlbSAuMmVtO1xufVxuXG4udGFibGVzYXctYWR2YW5jZS1kb3RzIGxpIGkge1xuICB3aWR0aDogLjI1ZW07XG4gIGhlaWdodDogLjI1ZW07XG4gIGJhY2tncm91bmQ6ICM1NTU7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLnRhYmxlc2F3LWFkdmFuY2UtZG90cy1oaWRlIHtcbiAgb3BhY2l0eTogLjI1O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufSIsIi53c3AtY29udGFpbmVyIHtcblx0dWwge1xuXHRcdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblx0XHRtYXJnaW46IDAgMCByZW0tY2FsYyg0MCk7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0Y29sdW1uLWNvdW50OiAyO1xuXHRcdFx0Y29sdW1uLWdhcDogcmVtLWNhbGMoMzApO1xuXHRcdH1cblx0fVxuXG5cdGxpIHtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG5cdH1cblxuXHRhIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcblx0fVxuXG5cdGgyIHtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0ICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG5cdFx0fVxuXHR9XG59XG4iLCIua2stc3Rhci1yYXRpbmdzIHtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyKTtcblxuXHQmLmtrc3ItdmFsaWduLXRvcCB7XG5cdFx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG5cdFx0KyBoMixcblx0XHQrIGgzLFxuXHRcdCsgaDQge1xuXHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHR9XG5cdH1cblxuXHQua2tzci1sZWdlbmQge1xuXHRcdG1hcmdpbjogcmVtLWNhbGMoMTApIDAgMDtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0PiAqIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXG5cdFx0PiAua2tzci1zY29yZSB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cblx0XHRcdCsgLmtrc3ItbXV0ZWQge1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdG9wYWNpdHk6IDE7XG5cblx0XHRcdFx0KyBzdHJvbmcge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5ra3NyLXN0YXJzIC5ra3NyLXN0YXIgLmtrc3ItaWNvbixcblx0Jjpub3QoLmtrc3ItZGlzYWJsZWQpIC5ra3NyLXN0YXJzIC5ra3NyLXN0YXI6aG92ZXIgfiAua2tzci1zdGFyIC5ra3NyLWljb24ge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnI3skaW1nLWRpcn0vcmF0ZS1pbmFjdGl2ZS5zdmcnKTtcblx0fVxuXG5cdC5ra3NyLXN0YXJzIC5ra3NyLXN0YXJzLWFjdGl2ZSAua2tzci1zdGFyIC5ra3NyLWljb24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnI3skaW1nLWRpcn0vcmF0ZS1hY3RpdmUuc3ZnJyk7XG5cdH1cblxuXHQmLmtrc3ItZGlzYWJsZWQgLmtrc3Itc3RhcnMgLmtrc3Itc3RhcnMtYWN0aXZlIC5ra3NyLXN0YXIgLmtrc3ItaWNvbixcblx0Jjpub3QoLmtrc3ItZGlzYWJsZWQpIC5ra3NyLXN0YXJzOmhvdmVyIC5ra3NyLXN0YXIgLmtrc3ItaWNvbiB7XG5cdCAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcjeyRpbWctZGlyfS9yYXRlLWFjdGl2ZS5zdmcnKTtcblx0fVxufVxuXG4ua2tzci1icmVhZGNydW1icyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogbm93cmFwO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRtYXJnaW46IHJlbS1jYWxjKC0xIDApO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcblx0ICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTApO1xuXHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWVlO1xuXHQgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDEwKTtcblx0fVxuXG5cdC5ra3NyLXJhdGUtdGV4dCB7XG5cdFx0bWFyZ2luOiAwIHJlbS1jYWxjKDEwKSAwIDA7XG5cdH1cblxuXHQua2stc3Rhci1yYXRpbmdzIHtcblx0XHRkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG5cdFx0ZmxleC13cmFwOiBub3dyYXA7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblxuXHRcdC5ra3NyLWxlZ2VuZCB7XG5cdFx0XHRtYXJnaW46IDAgMCAwIHJlbS1jYWxjKDEwKTtcblx0XHR9XG5cdH1cbn1cbiIsIi5yb3VsZXR0ZS1pbi1udW1iZXJzIHtcblx0LmNlbnRlcmVkLCAucm91bGV0dGUsXG5cdC5yb3VsZXR0ZS1pbWFnZSwgLmZhY3QgLmZhY3Qtd3JhcCwgLmZhY3QgLmZhY3Qtd3JhcCAuZmFjdC1udW1iZXIgc3BhbiwgLm92ZXJsYXksIC5taWRkbGUge1xuXHQgIGRpc3BsYXk6IGJsb2NrO1xuXHQgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ICB0b3A6IDUwJTtcblx0ICBsZWZ0OiA1MCU7XG5cdCAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblx0ICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuXG5cdC5ncmV5LWJnIHtcblx0ICAvKiBQZXJtYWxpbmsgLSB1c2UgdG8gZWRpdCBhbmQgc2hhcmUgdGhpcyBncmFkaWVudDogaHR0cDovL2NvbG9yemlsbGEuY29tL2dyYWRpZW50LWVkaXRvci8jNGY0ZjRmKzAsMjcyNzI3KzEwMCAqL1xuXHQgIGJhY2tncm91bmQ6ICM0ZjRmNGY7XG5cdCAgLyogT2xkIGJyb3dzZXJzICovXG5cdCAgYmFja2dyb3VuZDogLW1vei1yYWRpYWwtZ3JhZGllbnQoY2VudGVyLCBlbGxpcHNlIGNvdmVyLCAjNGY0ZjRmIDAlLCAjMjcyNzI3IDEwMCUpO1xuXHQgIC8qIEZGMy42KyAqL1xuXHQgIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQocmFkaWFsLCBjZW50ZXIgY2VudGVyLCAwcHgsIGNlbnRlciBjZW50ZXIsIDEwMCUsIGNvbG9yLXN0b3AoMCUsICM0ZjRmNGYpLCBjb2xvci1zdG9wKDEwMCUsICMyNzI3MjcpKTtcblx0ICAvKiBDaHJvbWUsU2FmYXJpNCsgKi9cblx0ICBiYWNrZ3JvdW5kOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICM0ZjRmNGYgMCUsICMyNzI3MjcgMTAwJSk7XG5cdCAgLyogQ2hyb21lMTArLFNhZmFyaTUuMSsgKi9cblx0ICBiYWNrZ3JvdW5kOiAtby1yYWRpYWwtZ3JhZGllbnQoY2VudGVyLCBlbGxpcHNlIGNvdmVyLCAjNGY0ZjRmIDAlLCAjMjcyNzI3IDEwMCUpO1xuXHQgIC8qIE9wZXJhIDEyKyAqL1xuXHQgIGJhY2tncm91bmQ6IC1tcy1yYWRpYWwtZ3JhZGllbnQoY2VudGVyLCBlbGxpcHNlIGNvdmVyLCAjNGY0ZjRmIDAlLCAjMjcyNzI3IDEwMCUpO1xuXHQgIC8qIElFMTArICovXG5cdCAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgY2VudGVyLCAjNGY0ZjRmIDAlLCAjMjcyNzI3IDEwMCUpO1xuXHQgIC8qIFczQyAqL1xuXHQgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjNGY0ZjRmJywgZW5kQ29sb3JzdHI9JyMyNzI3MjcnLEdyYWRpZW50VHlwZT0xICk7XG5cdCAgLyogSUU2LTkgZmFsbGJhY2sgb24gaG9yaXpvbnRhbCBncmFkaWVudCAqLyB9XG5cblx0LnJlZCB7XG5cdCAgLyogUGVybWFsaW5rIC0gdXNlIHRvIGVkaXQgYW5kIHNoYXJlIHRoaXMgZ3JhZGllbnQ6IGh0dHA6Ly9jb2xvcnppbGxhLmNvbS9ncmFkaWVudC1lZGl0b3IvI2Y2NTk0ZCswLGRhMTYwOCsxMDAgKi9cblx0ICBiYWNrZ3JvdW5kOiAjZjY1OTRkO1xuXHQgIC8qIE9sZCBicm93c2VycyAqL1xuXHQgIGJhY2tncm91bmQ6IC1tb3otcmFkaWFsLWdyYWRpZW50KGNlbnRlciwgZWxsaXBzZSBjb3ZlciwgI2Y2NTk0ZCAwJSwgI2RhMTYwOCAxMDAlKTtcblx0ICAvKiBGRjMuNisgKi9cblx0ICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KHJhZGlhbCwgY2VudGVyIGNlbnRlciwgMHB4LCBjZW50ZXIgY2VudGVyLCAxMDAlLCBjb2xvci1zdG9wKDAlLCAjZjY1OTRkKSwgY29sb3Itc3RvcCgxMDAlLCAjZGExNjA4KSk7XG5cdCAgLyogQ2hyb21lLFNhZmFyaTQrICovXG5cdCAgYmFja2dyb3VuZDogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoY2VudGVyLCBlbGxpcHNlIGNvdmVyLCAjZjY1OTRkIDAlLCAjZGExNjA4IDEwMCUpO1xuXHQgIC8qIENocm9tZTEwKyxTYWZhcmk1LjErICovXG5cdCAgYmFja2dyb3VuZDogLW8tcmFkaWFsLWdyYWRpZW50KGNlbnRlciwgZWxsaXBzZSBjb3ZlciwgI2Y2NTk0ZCAwJSwgI2RhMTYwOCAxMDAlKTtcblx0ICAvKiBPcGVyYSAxMisgKi9cblx0ICBiYWNrZ3JvdW5kOiAtbXMtcmFkaWFsLWdyYWRpZW50KGNlbnRlciwgZWxsaXBzZSBjb3ZlciwgI2Y2NTk0ZCAwJSwgI2RhMTYwOCAxMDAlKTtcblx0ICAvKiBJRTEwKyAqL1xuXHQgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IGNlbnRlciwgI2Y2NTk0ZCAwJSwgI2RhMTYwOCAxMDAlKTtcblx0ICAvKiBXM0MgKi9cblx0ICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nI2Y2NTk0ZCcsIGVuZENvbG9yc3RyPScjZGExNjA4JyxHcmFkaWVudFR5cGU9MSApO1xuXHQgIC8qIElFNi05IGZhbGxiYWNrIG9uIGhvcml6b250YWwgZ3JhZGllbnQgKi8gfVxuXG5cdC5ncmV5IHtcblx0ICAvKiBQZXJtYWxpbmsgLSB1c2UgdG8gZWRpdCBhbmQgc2hhcmUgdGhpcyBncmFkaWVudDogaHR0cDovL2NvbG9yemlsbGEuY29tL2dyYWRpZW50LWVkaXRvci8jNjk2OTY5KzAsM2MzYzNjKzEwMCAqL1xuXHQgIGJhY2tncm91bmQ6ICM2OTY5Njk7XG5cdCAgLyogT2xkIGJyb3dzZXJzICovXG5cdCAgYmFja2dyb3VuZDogLW1vei1yYWRpYWwtZ3JhZGllbnQoY2VudGVyLCBlbGxpcHNlIGNvdmVyLCAjNjk2OTY5IDAlLCAjM2MzYzNjIDEwMCUpO1xuXHQgIC8qIEZGMy42KyAqL1xuXHQgIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQocmFkaWFsLCBjZW50ZXIgY2VudGVyLCAwcHgsIGNlbnRlciBjZW50ZXIsIDEwMCUsIGNvbG9yLXN0b3AoMCUsICM2OTY5NjkpLCBjb2xvci1zdG9wKDEwMCUsICMzYzNjM2MpKTtcblx0ICAvKiBDaHJvbWUsU2FmYXJpNCsgKi9cblx0ICBiYWNrZ3JvdW5kOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICM2OTY5NjkgMCUsICMzYzNjM2MgMTAwJSk7XG5cdCAgLyogQ2hyb21lMTArLFNhZmFyaTUuMSsgKi9cblx0ICBiYWNrZ3JvdW5kOiAtby1yYWRpYWwtZ3JhZGllbnQoY2VudGVyLCBlbGxpcHNlIGNvdmVyLCAjNjk2OTY5IDAlLCAjM2MzYzNjIDEwMCUpO1xuXHQgIC8qIE9wZXJhIDEyKyAqL1xuXHQgIGJhY2tncm91bmQ6IC1tcy1yYWRpYWwtZ3JhZGllbnQoY2VudGVyLCBlbGxpcHNlIGNvdmVyLCAjNjk2OTY5IDAlLCAjM2MzYzNjIDEwMCUpO1xuXHQgIC8qIElFMTArICovXG5cdCAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgY2VudGVyLCAjNjk2OTY5IDAlLCAjM2MzYzNjIDEwMCUpO1xuXHQgIC8qIFczQyAqL1xuXHQgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjNjk2OTY5JywgZW5kQ29sb3JzdHI9JyMzYzNjM2MnLEdyYWRpZW50VHlwZT0xICk7XG5cdCAgLyogSUU2LTkgZmFsbGJhY2sgb24gaG9yaXpvbnRhbCBncmFkaWVudCAqLyB9XG5cblx0LmdyZWVuIHtcblx0ICAvKiBQZXJtYWxpbmsgLSB1c2UgdG8gZWRpdCBhbmQgc2hhcmUgdGhpcyBncmFkaWVudDogaHR0cDovL2NvbG9yemlsbGEuY29tL2dyYWRpZW50LWVkaXRvci8jNGJjNDBmKzAsMjc3NTAwKzEwMCAqL1xuXHQgIGJhY2tncm91bmQ6ICM0YmM0MGY7XG5cdCAgLyogT2xkIGJyb3dzZXJzICovXG5cdCAgYmFja2dyb3VuZDogLW1vei1yYWRpYWwtZ3JhZGllbnQoY2VudGVyLCBlbGxpcHNlIGNvdmVyLCAjNGJjNDBmIDAlLCAjMjc3NTAwIDEwMCUpO1xuXHQgIC8qIEZGMy42KyAqL1xuXHQgIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQocmFkaWFsLCBjZW50ZXIgY2VudGVyLCAwcHgsIGNlbnRlciBjZW50ZXIsIDEwMCUsIGNvbG9yLXN0b3AoMCUsICM0YmM0MGYpLCBjb2xvci1zdG9wKDEwMCUsICMyNzc1MDApKTtcblx0ICAvKiBDaHJvbWUsU2FmYXJpNCsgKi9cblx0ICBiYWNrZ3JvdW5kOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICM0YmM0MGYgMCUsICMyNzc1MDAgMTAwJSk7XG5cdCAgLyogQ2hyb21lMTArLFNhZmFyaTUuMSsgKi9cblx0ICBiYWNrZ3JvdW5kOiAtby1yYWRpYWwtZ3JhZGllbnQoY2VudGVyLCBlbGxpcHNlIGNvdmVyLCAjNGJjNDBmIDAlLCAjMjc3NTAwIDEwMCUpO1xuXHQgIC8qIE9wZXJhIDEyKyAqL1xuXHQgIGJhY2tncm91bmQ6IC1tcy1yYWRpYWwtZ3JhZGllbnQoY2VudGVyLCBlbGxpcHNlIGNvdmVyLCAjNGJjNDBmIDAlLCAjMjc3NTAwIDEwMCUpO1xuXHQgIC8qIElFMTArICovXG5cdCAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgY2VudGVyLCAjNGJjNDBmIDAlLCAjMjc3NTAwIDEwMCUpO1xuXHQgIC8qIFczQyAqL1xuXHQgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjNGJjNDBmJywgZW5kQ29sb3JzdHI9JyMyNzc1MDAnLEdyYWRpZW50VHlwZT0xICk7XG5cdCAgLyogSUU2LTkgZmFsbGJhY2sgb24gaG9yaXpvbnRhbCBncmFkaWVudCAqLyB9XG5cblx0LmJhbGwsIC5udW1iZXIgLmNsaWNrLW51bWJlcjpiZWZvcmUge1xuXHQgIC8qIFBlcm1hbGluayAtIHVzZSB0byBlZGl0IGFuZCBzaGFyZSB0aGlzIGdyYWRpZW50OiBodHRwOi8vY29sb3J6aWxsYS5jb20vZ3JhZGllbnQtZWRpdG9yLyNmZWZmZmYrMCxkNWU2ZWQrMTAwICovXG5cdCAgYmFja2dyb3VuZDogI2ZlZmZmZjtcblx0ICAvKiBPbGQgYnJvd3NlcnMgKi9cblx0ICBiYWNrZ3JvdW5kOiAtbW96LXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICNmZWZmZmYgMCUsICNkNWU2ZWQgMTAwJSk7XG5cdCAgLyogRkYzLjYrICovXG5cdCAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChyYWRpYWwsIGNlbnRlciBjZW50ZXIsIDBweCwgY2VudGVyIGNlbnRlciwgMTAwJSwgY29sb3Itc3RvcCgwJSwgI2ZlZmZmZiksIGNvbG9yLXN0b3AoMTAwJSwgI2Q1ZTZlZCkpO1xuXHQgIC8qIENocm9tZSxTYWZhcmk0KyAqL1xuXHQgIGJhY2tncm91bmQ6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KGNlbnRlciwgZWxsaXBzZSBjb3ZlciwgI2ZlZmZmZiAwJSwgI2Q1ZTZlZCAxMDAlKTtcblx0ICAvKiBDaHJvbWUxMCssU2FmYXJpNS4xKyAqL1xuXHQgIGJhY2tncm91bmQ6IC1vLXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICNmZWZmZmYgMCUsICNkNWU2ZWQgMTAwJSk7XG5cdCAgLyogT3BlcmEgMTIrICovXG5cdCAgYmFja2dyb3VuZDogLW1zLXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICNmZWZmZmYgMCUsICNkNWU2ZWQgMTAwJSk7XG5cdCAgLyogSUUxMCsgKi9cblx0ICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCBjZW50ZXIsICNmZWZmZmYgMCUsICNkNWU2ZWQgMTAwJSk7XG5cdCAgLyogVzNDICovXG5cdCAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyNmZWZmZmYnLCBlbmRDb2xvcnN0cj0nI2Q1ZTZlZCcsR3JhZGllbnRUeXBlPTEgKTtcblx0ICAvKiBJRTYtOSBmYWxsYmFjayBvbiBob3Jpem9udGFsIGdyYWRpZW50ICovIH1cblxuXHRAZm9udC1mYWNlIHtcblx0ICBmb250LWZhbWlseTogJ0FyaW1vJztcblx0ICBzcmM6IHVybChcIi4uL2ZvbnRzL2FyaW1vLWJvbGQuZW90XCIpO1xuXHQgIC8qIElFOSBDb21wYXQgTW9kZXMgKi9cblx0ICBzcmM6IHVybChcIi4uL2ZvbnRzL2FyaW1vLWJvbGQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL2FyaW1vLWJvbGQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9hcmltby1ib2xkLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvYXJpbW8tYm9sZC5zdmdcIikgZm9ybWF0KFwic3ZnXCIpO1xuXHQgIC8qIExlZ2FjeSBpT1MgKi8gfVxuXHQuY2VudGVyZWQsIC5yb3VsZXR0ZSxcblx0LnJvdWxldHRlLWltYWdlLCAuZmFjdCAuZmFjdC13cmFwLCAuZmFjdCAuZmFjdC13cmFwIC5mYWN0LW51bWJlciBzcGFuLCAub3ZlcmxheSwgLm1pZGRsZSB7XG5cdCAgZGlzcGxheTogYmxvY2s7XG5cdCAgcG9zaXRpb246IGFic29sdXRlO1xuXHQgIHRvcDogNTAlO1xuXHQgIGxlZnQ6IDUwJTtcblx0ICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuXHQgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG5cblx0LmdyZXktYmcge1xuXHQgIC8qIFBlcm1hbGluayAtIHVzZSB0byBlZGl0IGFuZCBzaGFyZSB0aGlzIGdyYWRpZW50OiBodHRwOi8vY29sb3J6aWxsYS5jb20vZ3JhZGllbnQtZWRpdG9yLyM0ZjRmNGYrMCwyNzI3MjcrMTAwICovXG5cdCAgYmFja2dyb3VuZDogIzRmNGY0Zjtcblx0ICAvKiBPbGQgYnJvd3NlcnMgKi9cblx0ICBiYWNrZ3JvdW5kOiAtbW96LXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICM0ZjRmNGYgMCUsICMyNzI3MjcgMTAwJSk7XG5cdCAgLyogRkYzLjYrICovXG5cdCAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChyYWRpYWwsIGNlbnRlciBjZW50ZXIsIDBweCwgY2VudGVyIGNlbnRlciwgMTAwJSwgY29sb3Itc3RvcCgwJSwgIzRmNGY0ZiksIGNvbG9yLXN0b3AoMTAwJSwgIzI3MjcyNykpO1xuXHQgIC8qIENocm9tZSxTYWZhcmk0KyAqL1xuXHQgIGJhY2tncm91bmQ6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KGNlbnRlciwgZWxsaXBzZSBjb3ZlciwgIzRmNGY0ZiAwJSwgIzI3MjcyNyAxMDAlKTtcblx0ICAvKiBDaHJvbWUxMCssU2FmYXJpNS4xKyAqL1xuXHQgIGJhY2tncm91bmQ6IC1vLXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICM0ZjRmNGYgMCUsICMyNzI3MjcgMTAwJSk7XG5cdCAgLyogT3BlcmEgMTIrICovXG5cdCAgYmFja2dyb3VuZDogLW1zLXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICM0ZjRmNGYgMCUsICMyNzI3MjcgMTAwJSk7XG5cdCAgLyogSUUxMCsgKi9cblx0ICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCBjZW50ZXIsICM0ZjRmNGYgMCUsICMyNzI3MjcgMTAwJSk7XG5cdCAgLyogVzNDICovXG5cdCAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyM0ZjRmNGYnLCBlbmRDb2xvcnN0cj0nIzI3MjcyNycsR3JhZGllbnRUeXBlPTEgKTtcblx0ICAvKiBJRTYtOSBmYWxsYmFjayBvbiBob3Jpem9udGFsIGdyYWRpZW50ICovIH1cblxuXHQucmVkIHtcblx0ICAvKiBQZXJtYWxpbmsgLSB1c2UgdG8gZWRpdCBhbmQgc2hhcmUgdGhpcyBncmFkaWVudDogaHR0cDovL2NvbG9yemlsbGEuY29tL2dyYWRpZW50LWVkaXRvci8jZjY1OTRkKzAsZGExNjA4KzEwMCAqL1xuXHQgIGJhY2tncm91bmQ6ICNmNjU5NGQ7XG5cdCAgLyogT2xkIGJyb3dzZXJzICovXG5cdCAgYmFja2dyb3VuZDogLW1vei1yYWRpYWwtZ3JhZGllbnQoY2VudGVyLCBlbGxpcHNlIGNvdmVyLCAjZjY1OTRkIDAlLCAjZGExNjA4IDEwMCUpO1xuXHQgIC8qIEZGMy42KyAqL1xuXHQgIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQocmFkaWFsLCBjZW50ZXIgY2VudGVyLCAwcHgsIGNlbnRlciBjZW50ZXIsIDEwMCUsIGNvbG9yLXN0b3AoMCUsICNmNjU5NGQpLCBjb2xvci1zdG9wKDEwMCUsICNkYTE2MDgpKTtcblx0ICAvKiBDaHJvbWUsU2FmYXJpNCsgKi9cblx0ICBiYWNrZ3JvdW5kOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICNmNjU5NGQgMCUsICNkYTE2MDggMTAwJSk7XG5cdCAgLyogQ2hyb21lMTArLFNhZmFyaTUuMSsgKi9cblx0ICBiYWNrZ3JvdW5kOiAtby1yYWRpYWwtZ3JhZGllbnQoY2VudGVyLCBlbGxpcHNlIGNvdmVyLCAjZjY1OTRkIDAlLCAjZGExNjA4IDEwMCUpO1xuXHQgIC8qIE9wZXJhIDEyKyAqL1xuXHQgIGJhY2tncm91bmQ6IC1tcy1yYWRpYWwtZ3JhZGllbnQoY2VudGVyLCBlbGxpcHNlIGNvdmVyLCAjZjY1OTRkIDAlLCAjZGExNjA4IDEwMCUpO1xuXHQgIC8qIElFMTArICovXG5cdCAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgY2VudGVyLCAjZjY1OTRkIDAlLCAjZGExNjA4IDEwMCUpO1xuXHQgIC8qIFczQyAqL1xuXHQgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjZjY1OTRkJywgZW5kQ29sb3JzdHI9JyNkYTE2MDgnLEdyYWRpZW50VHlwZT0xICk7XG5cdCAgLyogSUU2LTkgZmFsbGJhY2sgb24gaG9yaXpvbnRhbCBncmFkaWVudCAqLyB9XG5cblx0LmdyZXkge1xuXHQgIC8qIFBlcm1hbGluayAtIHVzZSB0byBlZGl0IGFuZCBzaGFyZSB0aGlzIGdyYWRpZW50OiBodHRwOi8vY29sb3J6aWxsYS5jb20vZ3JhZGllbnQtZWRpdG9yLyM2OTY5NjkrMCwzYzNjM2MrMTAwICovXG5cdCAgYmFja2dyb3VuZDogIzY5Njk2OTtcblx0ICAvKiBPbGQgYnJvd3NlcnMgKi9cblx0ICBiYWNrZ3JvdW5kOiAtbW96LXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICM2OTY5NjkgMCUsICMzYzNjM2MgMTAwJSk7XG5cdCAgLyogRkYzLjYrICovXG5cdCAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChyYWRpYWwsIGNlbnRlciBjZW50ZXIsIDBweCwgY2VudGVyIGNlbnRlciwgMTAwJSwgY29sb3Itc3RvcCgwJSwgIzY5Njk2OSksIGNvbG9yLXN0b3AoMTAwJSwgIzNjM2MzYykpO1xuXHQgIC8qIENocm9tZSxTYWZhcmk0KyAqL1xuXHQgIGJhY2tncm91bmQ6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KGNlbnRlciwgZWxsaXBzZSBjb3ZlciwgIzY5Njk2OSAwJSwgIzNjM2MzYyAxMDAlKTtcblx0ICAvKiBDaHJvbWUxMCssU2FmYXJpNS4xKyAqL1xuXHQgIGJhY2tncm91bmQ6IC1vLXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICM2OTY5NjkgMCUsICMzYzNjM2MgMTAwJSk7XG5cdCAgLyogT3BlcmEgMTIrICovXG5cdCAgYmFja2dyb3VuZDogLW1zLXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICM2OTY5NjkgMCUsICMzYzNjM2MgMTAwJSk7XG5cdCAgLyogSUUxMCsgKi9cblx0ICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCBjZW50ZXIsICM2OTY5NjkgMCUsICMzYzNjM2MgMTAwJSk7XG5cdCAgLyogVzNDICovXG5cdCAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyM2OTY5NjknLCBlbmRDb2xvcnN0cj0nIzNjM2MzYycsR3JhZGllbnRUeXBlPTEgKTtcblx0ICAvKiBJRTYtOSBmYWxsYmFjayBvbiBob3Jpem9udGFsIGdyYWRpZW50ICovIH1cblxuXHQuZ3JlZW4ge1xuXHQgIC8qIFBlcm1hbGluayAtIHVzZSB0byBlZGl0IGFuZCBzaGFyZSB0aGlzIGdyYWRpZW50OiBodHRwOi8vY29sb3J6aWxsYS5jb20vZ3JhZGllbnQtZWRpdG9yLyM0YmM0MGYrMCwyNzc1MDArMTAwICovXG5cdCAgYmFja2dyb3VuZDogIzRiYzQwZjtcblx0ICAvKiBPbGQgYnJvd3NlcnMgKi9cblx0ICBiYWNrZ3JvdW5kOiAtbW96LXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICM0YmM0MGYgMCUsICMyNzc1MDAgMTAwJSk7XG5cdCAgLyogRkYzLjYrICovXG5cdCAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChyYWRpYWwsIGNlbnRlciBjZW50ZXIsIDBweCwgY2VudGVyIGNlbnRlciwgMTAwJSwgY29sb3Itc3RvcCgwJSwgIzRiYzQwZiksIGNvbG9yLXN0b3AoMTAwJSwgIzI3NzUwMCkpO1xuXHQgIC8qIENocm9tZSxTYWZhcmk0KyAqL1xuXHQgIGJhY2tncm91bmQ6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KGNlbnRlciwgZWxsaXBzZSBjb3ZlciwgIzRiYzQwZiAwJSwgIzI3NzUwMCAxMDAlKTtcblx0ICAvKiBDaHJvbWUxMCssU2FmYXJpNS4xKyAqL1xuXHQgIGJhY2tncm91bmQ6IC1vLXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICM0YmM0MGYgMCUsICMyNzc1MDAgMTAwJSk7XG5cdCAgLyogT3BlcmEgMTIrICovXG5cdCAgYmFja2dyb3VuZDogLW1zLXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICM0YmM0MGYgMCUsICMyNzc1MDAgMTAwJSk7XG5cdCAgLyogSUUxMCsgKi9cblx0ICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCBjZW50ZXIsICM0YmM0MGYgMCUsICMyNzc1MDAgMTAwJSk7XG5cdCAgLyogVzNDICovXG5cdCAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyM0YmM0MGYnLCBlbmRDb2xvcnN0cj0nIzI3NzUwMCcsR3JhZGllbnRUeXBlPTEgKTtcblx0ICAvKiBJRTYtOSBmYWxsYmFjayBvbiBob3Jpem9udGFsIGdyYWRpZW50ICovIH1cblxuXHQuYmFsbCwgLm51bWJlciAuY2xpY2stbnVtYmVyOmJlZm9yZSB7XG5cdCAgLyogUGVybWFsaW5rIC0gdXNlIHRvIGVkaXQgYW5kIHNoYXJlIHRoaXMgZ3JhZGllbnQ6IGh0dHA6Ly9jb2xvcnppbGxhLmNvbS9ncmFkaWVudC1lZGl0b3IvI2ZlZmZmZiswLGQ1ZTZlZCsxMDAgKi9cblx0ICBiYWNrZ3JvdW5kOiAjZmVmZmZmO1xuXHQgIC8qIE9sZCBicm93c2VycyAqL1xuXHQgIGJhY2tncm91bmQ6IC1tb3otcmFkaWFsLWdyYWRpZW50KGNlbnRlciwgZWxsaXBzZSBjb3ZlciwgI2ZlZmZmZiAwJSwgI2Q1ZTZlZCAxMDAlKTtcblx0ICAvKiBGRjMuNisgKi9cblx0ICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KHJhZGlhbCwgY2VudGVyIGNlbnRlciwgMHB4LCBjZW50ZXIgY2VudGVyLCAxMDAlLCBjb2xvci1zdG9wKDAlLCAjZmVmZmZmKSwgY29sb3Itc3RvcCgxMDAlLCAjZDVlNmVkKSk7XG5cdCAgLyogQ2hyb21lLFNhZmFyaTQrICovXG5cdCAgYmFja2dyb3VuZDogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoY2VudGVyLCBlbGxpcHNlIGNvdmVyLCAjZmVmZmZmIDAlLCAjZDVlNmVkIDEwMCUpO1xuXHQgIC8qIENocm9tZTEwKyxTYWZhcmk1LjErICovXG5cdCAgYmFja2dyb3VuZDogLW8tcmFkaWFsLWdyYWRpZW50KGNlbnRlciwgZWxsaXBzZSBjb3ZlciwgI2ZlZmZmZiAwJSwgI2Q1ZTZlZCAxMDAlKTtcblx0ICAvKiBPcGVyYSAxMisgKi9cblx0ICBiYWNrZ3JvdW5kOiAtbXMtcmFkaWFsLWdyYWRpZW50KGNlbnRlciwgZWxsaXBzZSBjb3ZlciwgI2ZlZmZmZiAwJSwgI2Q1ZTZlZCAxMDAlKTtcblx0ICAvKiBJRTEwKyAqL1xuXHQgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IGNlbnRlciwgI2ZlZmZmZiAwJSwgI2Q1ZTZlZCAxMDAlKTtcblx0ICAvKiBXM0MgKi9cblx0ICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nI2ZlZmZmZicsIGVuZENvbG9yc3RyPScjZDVlNmVkJyxHcmFkaWVudFR5cGU9MSApO1xuXHQgIC8qIElFNi05IGZhbGxiYWNrIG9uIGhvcml6b250YWwgZ3JhZGllbnQgKi8gfVxuXG5cdCoge1xuXHQgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG5cdCAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblx0ICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgfVxuXG5cdGJvZHksIGh0bWwge1xuXHQgIG1hcmdpbjogMDtcblx0ICBwYWRkaW5nOiAwO1xuXHQgIHdpZHRoOiAxMDAlO1xuXHQgIGhlaWdodDogMTAwJTtcblx0ICBtYXgtd2lkdGg6IDc4NXB4O1xuXHQgIGZvbnQtc2l6ZTogMTZweDtcblx0ICBmb250LWZhbWlseTogJ1RpbWVzIE5ldyBSb21hbic7IH1cblxuXHQqIHtcblx0ICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdCAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG5cdGEge1xuXHQgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG5cdHVsIHtcblx0ICBtYXJnaW46IDA7XG5cdCAgbGlzdC1zdHlsZTogbm9uZTtcblx0ICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuXHRoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcblx0ICBtYXJnaW46IDBweCAwcHg7XG5cdCAgbGluZS1oZWlnaHQ6IDFlbTsgfVxuXG5cdC5jZW50ZXJlZCwgLnJvdWxldHRlLFxuXHQucm91bGV0dGUtaW1hZ2UsIC5mYWN0IC5mYWN0LXdyYXAsIC5mYWN0IC5mYWN0LXdyYXAgLmZhY3QtbnVtYmVyIHNwYW4sIC5vdmVybGF5LCAubWlkZGxlIHtcblx0ICBkaXNwbGF5OiBibG9jaztcblx0ICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cdCAgdG9wOiA1MCU7XG5cdCAgbGVmdDogNTAlO1xuXHQgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cdCAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cblxuXHQuZ3JleS1iZyB7XG5cdCAgLyogUGVybWFsaW5rIC0gdXNlIHRvIGVkaXQgYW5kIHNoYXJlIHRoaXMgZ3JhZGllbnQ6IGh0dHA6Ly9jb2xvcnppbGxhLmNvbS9ncmFkaWVudC1lZGl0b3IvIzRmNGY0ZiswLDI3MjcyNysxMDAgKi9cblx0ICBiYWNrZ3JvdW5kOiAjNGY0ZjRmO1xuXHQgIC8qIE9sZCBicm93c2VycyAqL1xuXHQgIGJhY2tncm91bmQ6IC1tb3otcmFkaWFsLWdyYWRpZW50KGNlbnRlciwgZWxsaXBzZSBjb3ZlciwgIzRmNGY0ZiAwJSwgIzI3MjcyNyAxMDAlKTtcblx0ICAvKiBGRjMuNisgKi9cblx0ICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KHJhZGlhbCwgY2VudGVyIGNlbnRlciwgMHB4LCBjZW50ZXIgY2VudGVyLCAxMDAlLCBjb2xvci1zdG9wKDAlLCAjNGY0ZjRmKSwgY29sb3Itc3RvcCgxMDAlLCAjMjcyNzI3KSk7XG5cdCAgLyogQ2hyb21lLFNhZmFyaTQrICovXG5cdCAgYmFja2dyb3VuZDogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoY2VudGVyLCBlbGxpcHNlIGNvdmVyLCAjNGY0ZjRmIDAlLCAjMjcyNzI3IDEwMCUpO1xuXHQgIC8qIENocm9tZTEwKyxTYWZhcmk1LjErICovXG5cdCAgYmFja2dyb3VuZDogLW8tcmFkaWFsLWdyYWRpZW50KGNlbnRlciwgZWxsaXBzZSBjb3ZlciwgIzRmNGY0ZiAwJSwgIzI3MjcyNyAxMDAlKTtcblx0ICAvKiBPcGVyYSAxMisgKi9cblx0ICBiYWNrZ3JvdW5kOiAtbXMtcmFkaWFsLWdyYWRpZW50KGNlbnRlciwgZWxsaXBzZSBjb3ZlciwgIzRmNGY0ZiAwJSwgIzI3MjcyNyAxMDAlKTtcblx0ICAvKiBJRTEwKyAqL1xuXHQgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IGNlbnRlciwgIzRmNGY0ZiAwJSwgIzI3MjcyNyAxMDAlKTtcblx0ICAvKiBXM0MgKi9cblx0ICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzRmNGY0ZicsIGVuZENvbG9yc3RyPScjMjcyNzI3JyxHcmFkaWVudFR5cGU9MSApO1xuXHQgIC8qIElFNi05IGZhbGxiYWNrIG9uIGhvcml6b250YWwgZ3JhZGllbnQgKi8gfVxuXG5cdC5yZWQge1xuXHQgIC8qIFBlcm1hbGluayAtIHVzZSB0byBlZGl0IGFuZCBzaGFyZSB0aGlzIGdyYWRpZW50OiBodHRwOi8vY29sb3J6aWxsYS5jb20vZ3JhZGllbnQtZWRpdG9yLyNmNjU5NGQrMCxkYTE2MDgrMTAwICovXG5cdCAgYmFja2dyb3VuZDogI2Y2NTk0ZDtcblx0ICAvKiBPbGQgYnJvd3NlcnMgKi9cblx0ICBiYWNrZ3JvdW5kOiAtbW96LXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICNmNjU5NGQgMCUsICNkYTE2MDggMTAwJSk7XG5cdCAgLyogRkYzLjYrICovXG5cdCAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChyYWRpYWwsIGNlbnRlciBjZW50ZXIsIDBweCwgY2VudGVyIGNlbnRlciwgMTAwJSwgY29sb3Itc3RvcCgwJSwgI2Y2NTk0ZCksIGNvbG9yLXN0b3AoMTAwJSwgI2RhMTYwOCkpO1xuXHQgIC8qIENocm9tZSxTYWZhcmk0KyAqL1xuXHQgIGJhY2tncm91bmQ6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KGNlbnRlciwgZWxsaXBzZSBjb3ZlciwgI2Y2NTk0ZCAwJSwgI2RhMTYwOCAxMDAlKTtcblx0ICAvKiBDaHJvbWUxMCssU2FmYXJpNS4xKyAqL1xuXHQgIGJhY2tncm91bmQ6IC1vLXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICNmNjU5NGQgMCUsICNkYTE2MDggMTAwJSk7XG5cdCAgLyogT3BlcmEgMTIrICovXG5cdCAgYmFja2dyb3VuZDogLW1zLXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICNmNjU5NGQgMCUsICNkYTE2MDggMTAwJSk7XG5cdCAgLyogSUUxMCsgKi9cblx0ICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCBjZW50ZXIsICNmNjU5NGQgMCUsICNkYTE2MDggMTAwJSk7XG5cdCAgLyogVzNDICovXG5cdCAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyNmNjU5NGQnLCBlbmRDb2xvcnN0cj0nI2RhMTYwOCcsR3JhZGllbnRUeXBlPTEgKTtcblx0ICAvKiBJRTYtOSBmYWxsYmFjayBvbiBob3Jpem9udGFsIGdyYWRpZW50ICovIH1cblxuXHQuZ3JleSB7XG5cdCAgLyogUGVybWFsaW5rIC0gdXNlIHRvIGVkaXQgYW5kIHNoYXJlIHRoaXMgZ3JhZGllbnQ6IGh0dHA6Ly9jb2xvcnppbGxhLmNvbS9ncmFkaWVudC1lZGl0b3IvIzY5Njk2OSswLDNjM2MzYysxMDAgKi9cblx0ICBiYWNrZ3JvdW5kOiAjNjk2OTY5O1xuXHQgIC8qIE9sZCBicm93c2VycyAqL1xuXHQgIGJhY2tncm91bmQ6IC1tb3otcmFkaWFsLWdyYWRpZW50KGNlbnRlciwgZWxsaXBzZSBjb3ZlciwgIzY5Njk2OSAwJSwgIzNjM2MzYyAxMDAlKTtcblx0ICAvKiBGRjMuNisgKi9cblx0ICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KHJhZGlhbCwgY2VudGVyIGNlbnRlciwgMHB4LCBjZW50ZXIgY2VudGVyLCAxMDAlLCBjb2xvci1zdG9wKDAlLCAjNjk2OTY5KSwgY29sb3Itc3RvcCgxMDAlLCAjM2MzYzNjKSk7XG5cdCAgLyogQ2hyb21lLFNhZmFyaTQrICovXG5cdCAgYmFja2dyb3VuZDogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoY2VudGVyLCBlbGxpcHNlIGNvdmVyLCAjNjk2OTY5IDAlLCAjM2MzYzNjIDEwMCUpO1xuXHQgIC8qIENocm9tZTEwKyxTYWZhcmk1LjErICovXG5cdCAgYmFja2dyb3VuZDogLW8tcmFkaWFsLWdyYWRpZW50KGNlbnRlciwgZWxsaXBzZSBjb3ZlciwgIzY5Njk2OSAwJSwgIzNjM2MzYyAxMDAlKTtcblx0ICAvKiBPcGVyYSAxMisgKi9cblx0ICBiYWNrZ3JvdW5kOiAtbXMtcmFkaWFsLWdyYWRpZW50KGNlbnRlciwgZWxsaXBzZSBjb3ZlciwgIzY5Njk2OSAwJSwgIzNjM2MzYyAxMDAlKTtcblx0ICAvKiBJRTEwKyAqL1xuXHQgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IGNlbnRlciwgIzY5Njk2OSAwJSwgIzNjM2MzYyAxMDAlKTtcblx0ICAvKiBXM0MgKi9cblx0ICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzY5Njk2OScsIGVuZENvbG9yc3RyPScjM2MzYzNjJyxHcmFkaWVudFR5cGU9MSApO1xuXHQgIC8qIElFNi05IGZhbGxiYWNrIG9uIGhvcml6b250YWwgZ3JhZGllbnQgKi8gfVxuXG5cdC5ncmVlbiB7XG5cdCAgLyogUGVybWFsaW5rIC0gdXNlIHRvIGVkaXQgYW5kIHNoYXJlIHRoaXMgZ3JhZGllbnQ6IGh0dHA6Ly9jb2xvcnppbGxhLmNvbS9ncmFkaWVudC1lZGl0b3IvIzRiYzQwZiswLDI3NzUwMCsxMDAgKi9cblx0ICBiYWNrZ3JvdW5kOiAjNGJjNDBmO1xuXHQgIC8qIE9sZCBicm93c2VycyAqL1xuXHQgIGJhY2tncm91bmQ6IC1tb3otcmFkaWFsLWdyYWRpZW50KGNlbnRlciwgZWxsaXBzZSBjb3ZlciwgIzRiYzQwZiAwJSwgIzI3NzUwMCAxMDAlKTtcblx0ICAvKiBGRjMuNisgKi9cblx0ICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KHJhZGlhbCwgY2VudGVyIGNlbnRlciwgMHB4LCBjZW50ZXIgY2VudGVyLCAxMDAlLCBjb2xvci1zdG9wKDAlLCAjNGJjNDBmKSwgY29sb3Itc3RvcCgxMDAlLCAjMjc3NTAwKSk7XG5cdCAgLyogQ2hyb21lLFNhZmFyaTQrICovXG5cdCAgYmFja2dyb3VuZDogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoY2VudGVyLCBlbGxpcHNlIGNvdmVyLCAjNGJjNDBmIDAlLCAjMjc3NTAwIDEwMCUpO1xuXHQgIC8qIENocm9tZTEwKyxTYWZhcmk1LjErICovXG5cdCAgYmFja2dyb3VuZDogLW8tcmFkaWFsLWdyYWRpZW50KGNlbnRlciwgZWxsaXBzZSBjb3ZlciwgIzRiYzQwZiAwJSwgIzI3NzUwMCAxMDAlKTtcblx0ICAvKiBPcGVyYSAxMisgKi9cblx0ICBiYWNrZ3JvdW5kOiAtbXMtcmFkaWFsLWdyYWRpZW50KGNlbnRlciwgZWxsaXBzZSBjb3ZlciwgIzRiYzQwZiAwJSwgIzI3NzUwMCAxMDAlKTtcblx0ICAvKiBJRTEwKyAqL1xuXHQgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IGNlbnRlciwgIzRiYzQwZiAwJSwgIzI3NzUwMCAxMDAlKTtcblx0ICAvKiBXM0MgKi9cblx0ICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzRiYzQwZicsIGVuZENvbG9yc3RyPScjMjc3NTAwJyxHcmFkaWVudFR5cGU9MSApO1xuXHQgIC8qIElFNi05IGZhbGxiYWNrIG9uIGhvcml6b250YWwgZ3JhZGllbnQgKi8gfVxuXG5cdC5iYWxsLCAubnVtYmVyIC5jbGljay1udW1iZXI6YmVmb3JlIHtcblx0ICAvKiBQZXJtYWxpbmsgLSB1c2UgdG8gZWRpdCBhbmQgc2hhcmUgdGhpcyBncmFkaWVudDogaHR0cDovL2NvbG9yemlsbGEuY29tL2dyYWRpZW50LWVkaXRvci8jZmVmZmZmKzAsZDVlNmVkKzEwMCAqL1xuXHQgIGJhY2tncm91bmQ6ICNmZWZmZmY7XG5cdCAgLyogT2xkIGJyb3dzZXJzICovXG5cdCAgYmFja2dyb3VuZDogLW1vei1yYWRpYWwtZ3JhZGllbnQoY2VudGVyLCBlbGxpcHNlIGNvdmVyLCAjZmVmZmZmIDAlLCAjZDVlNmVkIDEwMCUpO1xuXHQgIC8qIEZGMy42KyAqL1xuXHQgIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQocmFkaWFsLCBjZW50ZXIgY2VudGVyLCAwcHgsIGNlbnRlciBjZW50ZXIsIDEwMCUsIGNvbG9yLXN0b3AoMCUsICNmZWZmZmYpLCBjb2xvci1zdG9wKDEwMCUsICNkNWU2ZWQpKTtcblx0ICAvKiBDaHJvbWUsU2FmYXJpNCsgKi9cblx0ICBiYWNrZ3JvdW5kOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICNmZWZmZmYgMCUsICNkNWU2ZWQgMTAwJSk7XG5cdCAgLyogQ2hyb21lMTArLFNhZmFyaTUuMSsgKi9cblx0ICBiYWNrZ3JvdW5kOiAtby1yYWRpYWwtZ3JhZGllbnQoY2VudGVyLCBlbGxpcHNlIGNvdmVyLCAjZmVmZmZmIDAlLCAjZDVlNmVkIDEwMCUpO1xuXHQgIC8qIE9wZXJhIDEyKyAqL1xuXHQgIGJhY2tncm91bmQ6IC1tcy1yYWRpYWwtZ3JhZGllbnQoY2VudGVyLCBlbGxpcHNlIGNvdmVyLCAjZmVmZmZmIDAlLCAjZDVlNmVkIDEwMCUpO1xuXHQgIC8qIElFMTArICovXG5cdCAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgY2VudGVyLCAjZmVmZmZmIDAlLCAjZDVlNmVkIDEwMCUpO1xuXHQgIC8qIFczQyAqL1xuXHQgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjZmVmZmZmJywgZW5kQ29sb3JzdHI9JyNkNWU2ZWQnLEdyYWRpZW50VHlwZT0xICk7XG5cdCAgLyogSUU2LTkgZmFsbGJhY2sgb24gaG9yaXpvbnRhbCBncmFkaWVudCAqLyB9XG5cblx0QGtleWZyYW1lcyBtYXJrZXIge1xuXHQgIDAlIHtcblx0ICAgIHdpZHRoOiA5NSU7XG5cdCAgICBwYWRkaW5nLXRvcDogOTUlO1xuXHQgICAgb3BhY2l0eTogMTsgfVxuXHQgIDEwMCUge1xuXHQgICAgd2lkdGg6IDIwMCU7XG5cdCAgICBwYWRkaW5nLXRvcDogMjAwJTtcblx0ICAgIG9wYWNpdHk6IDA7IH0gfVxuXHRALXdlYmtpdC1rZXlmcmFtZXMgbWFya2VyIHtcblx0ICAwJSB7XG5cdCAgICB3aWR0aDogOTUlO1xuXHQgICAgcGFkZGluZy10b3A6IDk1JTtcblx0ICAgIG9wYWNpdHk6IDE7IH1cblx0ICAxMDAlIHtcblx0ICAgIHdpZHRoOiAyMDAlO1xuXHQgICAgcGFkZGluZy10b3A6IDIwMCU7XG5cdCAgICBvcGFjaXR5OiAwOyB9IH1cblx0LmNvbnRlbnQge1xuXHQgIGRpc3BsYXk6IGJsb2NrO1xuXHQgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ICB3aWR0aDogMTAwJTtcblx0ICBwYWRkaW5nLXRvcDogODMlO1xuXHQgIC13ZWJraXQtYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzAwMCwgIzAwNTgyYyk7XG5cdCAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzAwMCwgIzAwNTgyYyk7XG5cdCAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0ICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXHQgIC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0ICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHQgIGJvcmRlcjogMzBweCBzb2xpZCAjM2ExZDE5O1xuXHQgIGJvcmRlci10b3A6IDI2cHggc29saWQgIzNhMWQxOTtcblx0ICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDBweCAwcHggMTVweCA2cHggcmdiYSgwLCAwLCAwLCAwLjQ1KTtcblx0ICAtbW96LWJveC1zaGFkb3c6IGluc2V0IDBweCAwcHggMTVweCA2cHggcmdiYSgwLCAwLCAwLCAwLjQ1KTtcblx0ICBib3gtc2hhZG93OiBpbnNldCAwcHggMHB4IDE1cHggNnB4IHJnYmEoMCwgMCwgMCwgMC40NSk7XG5cdCAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXHQgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ5OXB4KSB7XG5cdCAgICAuY29udGVudCB7XG5cdCAgICAgIHBhZGRpbmctdG9wOiAxMjglOyB9IH1cblxuXHQucm91bGV0dGUge1xuXHQgIG9wYWNpdHk6IDA7XG5cdCAgcGFkZGluZy10b3A6IDY1JTtcblx0ICB3aWR0aDogNjUlO1xuXHQgIGJhY2tncm91bmQ6IHVybCgjeyRpbWdfZGlyfS9yb3VsZXR0ZS1pbi1udW1iZXJzL2Jhc2UucG5nKTtcblx0ICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHQgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTc1JSk7XG5cdCAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTc1JSk7IH1cblx0ICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OTlweCkge1xuXHQgICAgLnJvdWxldHRlIHtcblx0ICAgICAgcGFkZGluZy10b3A6IDk1JTtcblx0ICAgICAgd2lkdGg6IDk1JTsgfSB9XG5cblx0LnJvdWxldHRlLWltYWdlIHtcblx0ICB3aWR0aDogMTAwJTtcblx0ICBib3JkZXItcmFkaXVzOiA1MCU7XG5cdCAgYm94LXNoYWRvdzogMCAwIDEwcHggMTZweCByZ2JhKDAsIDAsIDAsIDAuMzUpO1xuXHQgIC13ZWJraXQtdHJhbnNpdGlvbjogbm9uZTtcblx0ICB0cmFuc2l0aW9uOiBub25lO1xuXHQgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcblx0ICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuXHQgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKDBkZWcpO1xuXHQgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSgwZGVnKTsgfVxuXHQgIC5yb3VsZXR0ZS1pbWFnZS5zcGluIHtcblx0ICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKDM2MGRlZyk7XG5cdCAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoMzYwZGVnKTtcblx0ICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDJzIGVhc2U7XG5cdCAgICB0cmFuc2l0aW9uOiBhbGwgMnMgZWFzZTsgfVxuXG5cdC5udW1iZXJzIHtcblx0ICBkaXNwbGF5OiBibG9jaztcblx0ICB3aWR0aDogMTAwJTtcblx0ICBoZWlnaHQ6IDEwMCU7IH1cblxuXHQubnVtYmVyIC5jbGljay1udW1iZXIge1xuXHQgIGRpc3BsYXk6IGJsb2NrO1xuXHQgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG5cdCAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcblx0ICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoYXV0byk7XG5cdCAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZShhdXRvKTtcblx0ICB0b3A6IDE2JTtcblx0ICBsZWZ0OiA1MCU7XG5cdCAgd2lkdGg6IDYlO1xuXHQgIGhlaWdodDogMzQlO1xuXHQgIGN1cnNvcjogcG9pbnRlcjsgfVxuXHQgIC5udW1iZXIgLmNsaWNrLW51bWJlci5kaXNhYmxlIHtcblx0ICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cdCAgLm51bWJlciAuY2xpY2stbnVtYmVyOmJlZm9yZSB7XG5cdCAgICBjb250ZW50OiBcIlwiO1xuXHQgICAgZGlzcGxheTogYmxvY2s7XG5cdCAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cdCAgICB3aWR0aDogNjAlO1xuXHQgICAgcGFkZGluZy10b3A6IDYwJTtcblx0ICAgIGJveC1zaGFkb3c6IDAgMCAyMHB4IGJsYWNrO1xuXHQgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXHQgICAgdG9wOiA1JTtcblx0ICAgIGxlZnQ6IDI1MCU7XG5cdCAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblx0ICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7XG5cdCAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcblx0ICAgIG9wYWNpdHk6IDA7XG5cdCAgICAtd2Via2l0LXRyYW5zaXRpb246IG5vbmU7XG5cdCAgICB0cmFuc2l0aW9uOiBub25lOyB9XG5cdCAgLm51bWJlciAuY2xpY2stbnVtYmVyLnNob3dfYmFsbCB7XG5cdCAgICAtd2Via2l0LXRyYW5zaXRpb246IHRyYW5zZm9ybSAycyBlYXNlO1xuXHQgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDJzIGVhc2U7IH1cblx0ICAgIC5udW1iZXIgLmNsaWNrLW51bWJlci5zaG93X2JhbGw6YmVmb3JlIHtcblx0ICAgICAgd2lkdGg6IDUwJTtcblx0ICAgICAgcGFkZGluZy10b3A6IDUwJTtcblx0ICAgICAgb3BhY2l0eTogMTtcblx0ICAgICAgbGVmdDogNTAlO1xuXHQgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwcyBlYXNlLWluO1xuXHQgICAgICB0cmFuc2l0aW9uOiBhbGwgMHMgZWFzZS1pbjsgfVxuXHQgIC5udW1iZXIgLmNsaWNrLW51bWJlci5kcm9wOmJlZm9yZSB7XG5cdCAgICB0b3A6IDI3JTtcblx0ICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbjtcblx0ICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW47IH1cblxuXHQuZmFjdCB7XG5cdCAgZGlzcGxheTogbm9uZTtcblx0ICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cdCAgdG9wOiA1MCU7XG5cdCAgbGVmdDogNTAlO1xuXHQgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cdCAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cdCAgd2lkdGg6IDc5JTtcblx0ICBoZWlnaHQ6IDc5JTtcblx0ICB6LWluZGV4OiAxOyB9XG5cdCAgLmZhY3QgLmZhY3Qtd3JhcCB7XG5cdCAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdCAgICB3aWR0aDogMTAwJTsgfVxuXHQgICAgLmZhY3QgLmZhY3Qtd3JhcCAuZmFjdC1udW1iZXIge1xuXHQgICAgICBkaXNwbGF5OiBibG9jaztcblx0ICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXHQgICAgICB3aWR0aDogMTglO1xuXHQgICAgICBwYWRkaW5nLXRvcDogMTclO1xuXHQgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG5cdCAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNkZmRmZGY7XG5cdCAgICAgIG1hcmdpbjogMCBhdXRvOyB9XG5cdCAgICAgIC5mYWN0IC5mYWN0LXdyYXAgLmZhY3QtbnVtYmVyIHNwYW4ge1xuXHQgICAgICAgIGNvbG9yOiAjZmZmO1xuXHQgICAgICAgIGZvbnQtc2l6ZTogMi41ZW07XG5cblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdFx0XHQgIGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0ICAgIC5mYWN0IC5mYWN0LXdyYXAgcCB7XG5cdCAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcblx0ICAgICAgY29sb3I6ICNmZmY7XG5cdCAgICAgIGZvbnQtc2l6ZTogMS4xZW07XG5cdCAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXHQgICAgICB3aWR0aDogNjUlO1xuXHQgICAgICBtYXJnaW46IDUlIGF1dG87XG5cblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRcdCAgZm9udC1zaXplOiAxMnB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdCAgICAuZmFjdCAuZmFjdC13cmFwIC5jbG9zZSB7XG5cdCAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXHQgICAgICB3aWR0aDogMTAlO1xuXHQgICAgICBwYWRkaW5nLXRvcDogMTAlO1xuXHQgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuXHQgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG5cdCAgICAgIG1hcmdpbjogMCBhdXRvO1xuXHQgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cdCAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXHQgICAgICAuZmFjdCAuZmFjdC13cmFwIC5jbG9zZTpiZWZvcmUsIC5mYWN0IC5mYWN0LXdyYXAgLmNsb3NlOmFmdGVyIHtcblx0ICAgICAgICBjb250ZW50OiBcIlwiO1xuXHQgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXHQgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ICAgICAgICB3aWR0aDogNTAlO1xuXHQgICAgICAgIGhlaWdodDogMnB4O1xuXHQgICAgICAgIGJhY2tncm91bmQ6ICM5MDkwOTA7XG5cdCAgICAgICAgdG9wOiA1MCU7XG5cdCAgICAgICAgbGVmdDogNTAlOyB9XG5cdCAgICAgIC5mYWN0IC5mYWN0LXdyYXAgLmNsb3NlOmJlZm9yZSB7XG5cdCAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoNDVkZWcpO1xuXHQgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSg0NWRlZyk7IH1cblx0ICAgICAgLmZhY3QgLmZhY3Qtd3JhcCAuY2xvc2U6YWZ0ZXIge1xuXHQgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKC00NWRlZyk7XG5cdCAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKC00NWRlZyk7IH1cblx0ICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MjBweCkge1xuXHQgICAgLmZhY3Qge1xuXHQgICAgICB3aWR0aDogMTAwJTtcblx0ICAgICAgaGVpZ2h0OiAxMDAlO1xuXHQgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuXHQgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG5cdCAgICAgIC5mYWN0IC5mYWN0LXdyYXAgcCB7XG5cdCAgICAgICAgY29sb3I6ICMzMzMzMzM7IH1cblx0ICAgICAgLmZhY3QgLmZhY3Qtd3JhcCAuY2xvc2Uge1xuXHQgICAgICAgIGJhY2tncm91bmQ6ICMzMzMzMzM7XG5cdCAgICAgICAgd2lkdGg6IDclO1xuXHQgICAgICAgIHBhZGRpbmctdG9wOiA3JTsgfSB9XG5cblx0Lm92ZXJsYXkge1xuXHQgIHdpZHRoOiAzOSU7XG5cdCAgaGVpZ2h0OiAzOSU7XG5cdCAgYm9yZGVyLXJhZGl1czogNTAlOyB9XG5cblx0Lm1pZGRsZSB7XG5cdCAgb3BhY2l0eTogMDtcblx0ICB3aWR0aDogMzklO1xuXHQgIGhlaWdodDogMzklO1xuXHQgIGJvcmRlci1yYWRpdXM6IDUwJTtcblx0ICBib3JkZXI6IDVweCBzb2xpZCAjZGZkZmRmO1xuXHQgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcblx0ICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOyB9XG5cdCAgLm1pZGRsZSBzcGFuIHtcblx0ICAgIGRpc3BsYXk6IGJsb2NrO1xuXHQgICAgcG9zaXRpb246IGFic29sdXRlO1xuXHQgICAgd2lkdGg6IDkwJTtcblx0ICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblx0ICAgIHRvcDogNTAlO1xuXHQgICAgbGVmdDogNTAlO1xuXHQgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblx0ICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuXHQgICAgZm9udC1zdHlsZTogaXRhbGljO1xuXHQgICAgZm9udC1zaXplOiAxLjVlbTtcblx0ICAgIGNvbG9yOiAjZmZmO1xuXHQgICAgb3BhY2l0eTogMTtcblx0ICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcblx0ICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7IH1cblx0ICAubWlkZGxlLmV4cGFuZCB7XG5cdCAgICB3aWR0aDogNzklO1xuXHQgICAgaGVpZ2h0OiA3OSU7XG5cdCAgICBvcGFjaXR5OiAuODU7IH1cblx0ICAgIC5taWRkbGUuZXhwYW5kIHNwYW4ge1xuXHQgICAgICBvcGFjaXR5OiAwOyB9XG5cblx0LnNvY2lhbC1idXR0b25zIHtcblx0ICBkaXNwbGF5OiBibG9jaztcblx0ICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cdCAgYm90dG9tOiAyJTtcblx0ICByaWdodDogMiU7XG5cdCAgei1pbmRleDogMjsgfVxuXHQgIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDU1MHB4KSB7XG5cdCAgICAuc29jaWFsLWJ1dHRvbnMge1xuXHQgICAgICBib3R0b206IDElOyB9IH1cblx0ICAuc29jaWFsLWJ1dHRvbnMgYSB7XG5cdCAgICBvcGFjaXR5OiAuNTtcblx0ICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7IH1cblx0ICAgIC5zb2NpYWwtYnV0dG9ucyBhOmhvdmVyIHtcblx0ICAgICAgb3BhY2l0eTogMTsgfVxuXG5cdGZvb3RlciBzcGFuIHtcblx0ICBkaXNwbGF5OiBibG9jaztcblx0ICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cdCAgYm90dG9tOiAyJTtcblx0ICBsZWZ0OiAyJTtcblx0ICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuXHQgIGZvbnQtZmFtaWx5OiAnQXJpbW8nO1xuXHQgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdCAgei1pbmRleDogMjsgfVxuXG5cdC5zcGxhc2ggLnNwbGFzaC1pbWcge1xuXHQgIHdpZHRoOiAxMDAlO1xuXHQgIG1heC13aWR0aDogNjE1cHg7XG5cdCAgZGlzcGxheTogYmxvY2s7XG5cdCAgcG9zaXRpb246IGFic29sdXRlO1xuXHQgIGJvdHRvbTogLTU1cHg7XG5cdCAgbGVmdDogNTAlO1xuXHQgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblx0ICB6LWluZGV4OiAxOyB9XG5cblx0LmxvZ28ge1xuXHQgIGRpc3BsYXk6IGJsb2NrO1xuXHQgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ICB3aWR0aDogNTAlO1xuXHQgIHRvcDogNTAlO1xuXHQgIGxlZnQ6IDUwJTtcblx0ICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblx0ICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdCAgY29sb3I6ICMzMDMwMzA7XG5cdH1cblx0ICAubG9nbyB0aXRsZSB7XG5cdCAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblx0ICAubG9nbyBpbWcge1xuXHQgICAgZGlzcGxheTogYmxvY2s7XG5cdCAgICB3aWR0aDogNTAlO1xuXHQgICAgbWF4LXdpZHRoOiAxNTBweDtcblx0ICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ICAgIG1hcmdpbjogMCBhdXRvO1xuXHQgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlO1xuXHQgICAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTtcblx0ICAgIHBhZGRpbmctYm90dG9tOiAxMHB4OyB9XG5cdCAgLmxvZ28gLnJpYmJvbi1ibGFjayB7XG5cdCAgICBvcGFjaXR5OiAxOyB9XG5cdCAgLmxvZ28gLnJpYmJvbi13aGl0ZSB7XG5cdCAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cdCAgICB0b3A6IDA7XG5cdCAgICBsZWZ0OiA1MCU7XG5cdCAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKTtcblx0ICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKTtcblx0ICAgIG9wYWNpdHk6IDA7IH1cblx0ICAubG9nbyBoMiB7XG5cdCAgICBmb250LXN0eWxlOiBpdGFsaWM7XG5cdCAgICBmb250LXdlaWdodDogbm9ybWFsO1xuXHQgICAgZm9udC1zaXplOiAyZW07XG5cdCAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7XG5cdCAgICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlO1xuXHQgICAgdGV4dC1zaGFkb3c6IC0xcHggMXB4IDhweCAjZmZmMWI2OyB9XG5cdCAgLmxvZ28gaDEge1xuXHQgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0ICAgIGZvbnQtc2l6ZTogM2VtO1xuXHQgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlO1xuXHQgICAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTtcblx0ICAgIHRleHQtc2hhZG93OiAtMXB4IDFweCA4cHggcmdiYSgyNTUsIDI0MSwgMTgyLCAwLjUpOyB9XG5cdCAgLmxvZ28gaDEsIC5sb2dvIGgyIHtcblx0ICAgIC13ZWJraXQtYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgI2Q4YmI4OSwgIzlhNzk0Zik7XG5cdCAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAjZDhiYjg5LCAjOWE3OTRmKTtcblx0ICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuXHQgICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cdCAgLmxvZ28gc3BhbiB7XG5cdCAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpO1xuXHQgICAgZm9udC1zdHlsZTogaXRhbGljO1xuXHQgICAgZGlzcGxheTogbm9uZTtcblx0ICAgIGZvbnQtc2l6ZTogMjRweDtcblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHQgIGZvbnQtc2l6ZTogMTFweDtcblx0XHRcdH1cblx0XHR9XG5cblx0ICAubG9nbyBwIHtcblx0ICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcblx0ICAgIGRpc3BsYXk6IGJsb2NrO1xuXHQgICAgbWFyZ2luOiA1NXB4IDA7XG5cdCAgICBjb2xvcjogI2NiYWU3ZTtcblx0ICAgIGZvbnQtc2l6ZTogMjRweDtcblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHQgIGZvbnQtc2l6ZTogMTFweDtcblx0XHRcdH1cblxuXHRcdH1cblx0ICAubG9nbyAuc3RhcnQge1xuXHQgICAgZGlzcGxheTogYmxvY2s7XG5cdCAgICBtYXJnaW46IDAgYXV0bztcblx0ICAgIHBhZGRpbmc6IDIwcHg7XG5cdCAgICBjb2xvcjogI2ZmZjtcblx0ICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsICM2YTAwMDAsICNmMTNiM2IpO1xuXHQgICAgZm9udC1zdHlsZTogaXRhbGljO1xuXHQgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cdCAgICBmb250LXNpemU6IDJlbTtcblx0ICAgIHdpZHRoOiAxNzVweDtcblx0ICAgIGN1cnNvcjogcG9pbnRlcjtcblx0ICAgIGJvcmRlcjogNHB4IHNvbGlkICNjZWIwODA7XG5cdCAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuXHQgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZTtcblx0ICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcyBlYXNlO1xuXHQgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDM1cHggMHB4IHJnYmEoMjA2LCAxNzYsIDEyOCwgMC4zNSk7XG5cdCAgICAtbW96LWJveC1zaGFkb3c6IDBweCAwcHggMzVweCAwcHggcmdiYSgyMDYsIDE3NiwgMTI4LCAwLjM1KTtcblx0ICAgIGJveC1zaGFkb3c6IDBweCAwcHggMzVweCAwcHggcmdiYSgyMDYsIDE3NiwgMTI4LCAwLjM1KTsgfVxuXHQgICAgLmxvZ28gLnN0YXJ0OmhvdmVyIHtcblx0ICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0FCMTExMTsgfVxuXHQgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ5OXB4KSB7XG5cdCAgICAubG9nbyB7XG5cdCAgICAgIHdpZHRoOiA5MCU7IH1cblx0ICAgICAgLmxvZ28gcCB7XG5cdCAgICAgICAgZm9udC1zaXplOiAuOGVtOyB9XG5cdCAgICAgIC5sb2dvIGgyIHtcblx0ICAgICAgICBmb250LXNpemU6IDN2dzsgfVxuXHQgICAgICAubG9nbyBoMSB7XG5cdCAgICAgICAgZm9udC1zaXplOiA2dnc7IH1cblx0ICAgICAgLmxvZ28gLnN0YXJ0IHtcblx0ICAgICAgICBmb250LXNpemU6IDR2dztcblx0ICAgICAgICB3aWR0aDogMTIwcHg7IH0gfVxuXHQgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwMHB4KSBhbmQgKG1heC13aWR0aDogNzg1cHgpIHtcblx0ICAgIC5sb2dvIGgyIHtcblx0ICAgICAgZm9udC1zaXplOiA0dnc7IH1cblx0ICAgIC5sb2dvIGgxIHtcblx0ICAgICAgZm9udC1zaXplOiA3dnc7IH1cblx0ICAgIC5sb2dvIC5zdGFydCB7XG5cdCAgICAgIGZvbnQtc2l6ZTogNHZ3OyB9IH1cblx0ICAubG9nby50b3Age1xuXHQgICAgdG9wOiAyJTtcblx0ICAgIGxlZnQ6IDUwJTtcblx0ICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpO1xuXHQgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpO1xuXHQgICAgY29sb3I6ICNmZmY7IH1cblx0ICAgIC5sb2dvLnRvcCBpbWcge1xuXHQgICAgICBtYXgtd2lkdGg6IDEyMHB4OyB9XG5cdCAgICAubG9nby50b3AgaDIge1xuXHQgICAgICBmb250LXNpemU6IDEuMmVtOyB9XG5cdCAgICAubG9nby50b3AgaDEge1xuXHQgICAgICBmb250LXNpemU6IDIuMmVtOyB9XG5cdCAgICAubG9nby50b3AgLnJpYmJvbi1ibGFjayB7XG5cdCAgICAgIG9wYWNpdHk6IDA7IH1cblx0ICAgIC5sb2dvLnRvcCAucmliYm9uLXdoaXRlIHtcblx0ICAgICAgb3BhY2l0eTogMTsgfVxuXHQgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzg1cHgpIHtcblx0ICAgICAgLmxvZ28udG9wIGgyIHtcblx0ICAgICAgICBmb250LXNpemU6IDN2dzsgfVxuXHQgICAgICAubG9nby50b3AgaDEge1xuXHQgICAgICAgIGZvbnQtc2l6ZTogNnZ3OyB9IH1cblxuXHQudGFibGUge1xuXHQgIG9wYWNpdHk6IDA7XG5cdCAgd2lkdGg6IDEwMCU7XG5cdCAgcG9zaXRpb246IHJlbGF0aXZlO1xuXHQgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cdCAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDk5cHgpIHtcblx0ICAgIC50YWJsZSB7XG5cdCAgICAgIHRvcDogLTYwcHg7IH0gfVxuXHQgIC50YWJsZSBpbWcsIC50YWJsZSAudGFibGUtbnVtYmVycyB7XG5cdCAgICB3aWR0aDogOTUlO1xuXHQgICAgaGVpZ2h0OiAxMDAlO1xuXHQgICAgbWF4LXdpZHRoOiA2OTZweDsgfVxuXHQgIC50YWJsZSAuY2hpcHMge1xuXHQgICAgd2lkdGg6IDclO1xuXHQgICAgcG9zaXRpb246IGFic29sdXRlO1xuXHQgICAgdG9wOiAxOCU7XG5cdCAgICBsZWZ0OiA0JTsgfVxuXHQgICAgLnRhYmxlIC5jaGlwcyAuY2hpcCB7XG5cdCAgICAgIHdpZHRoOiAxMDAlO1xuXHQgICAgICBtYXgtd2lkdGg6IDQ2cHg7XG5cdCAgICAgIGhlaWdodDogYXV0bztcblx0ICAgICAgbWFyZ2luLXRvcDogMTUlOyB9XG5cdCAgICAgIC50YWJsZSAuY2hpcHMgLmNoaXA6Zmlyc3QtY2hpbGQge1xuXHQgICAgICAgIG1hcmdpbi10b3A6IDI1JTsgfVxuXHQgIC50YWJsZSAudGFibGUtbnVtYmVycyB7XG5cdCAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cdCAgICB0b3A6IDA7XG5cdCAgICByaWdodDogMDsgfVxuXHQgICAgLnRhYmxlIC50YWJsZS1udW1iZXJzIC5udW0tMCB7XG5cdCAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ICAgICAgdG9wOiAxOC41JTtcblx0ICAgICAgd2lkdGg6IDUlO1xuXHQgICAgICBoZWlnaHQ6IDQzLjUlO1xuXHQgICAgICBsZWZ0OiAxMSU7XG5cdCAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXHQgICAgICAudGFibGUgLnRhYmxlLW51bWJlcnMgLm51bS0wLmRpc2FibGUge1xuXHQgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cdCAgICAudGFibGUgLnRhYmxlLW51bWJlcnMgLnJvdyB7XG5cdCAgICAgIHdpZHRoOiAxMDAlO1xuXHQgICAgICBoZWlnaHQ6IDE0LjUlO1xuXHQgICAgICBsZWZ0OiAxNiU7XG5cdCAgICAgIHRvcDogMTguNSU7XG5cdCAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXHQgICAgICAudGFibGUgLnRhYmxlLW51bWJlcnMgLnJvdyAudGFibGUtbnVtYmVyIHtcblx0ICAgICAgICB3aWR0aDogNS41JTtcblx0ICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cdCAgICAgICAgZmxvYXQ6IGxlZnQ7XG5cdCAgICAgICAgbWFyZ2luLWxlZnQ6IC4yJTtcblx0ICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cdCAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cdCAgICAgICAgLnRhYmxlIC50YWJsZS1udW1iZXJzIC5yb3cgLnRhYmxlLW51bWJlcjpiZWZvcmUge1xuXHQgICAgICAgICAgZGlzcGxheTogbm9uZTtcblx0ICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG5cdCAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cdCAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoI3skaW1nX2Rpcn0vcm91bGV0dGUtaW4tbnVtYmVycy9jaGlwLWJsdWUucG5nKTtcblx0ICAgICAgICAgIHdpZHRoOiAxMTYlO1xuXHQgICAgICAgICAgaGVpZ2h0OiAwO1xuXHQgICAgICAgICAgbGVmdDogNTAlO1xuXHQgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0ICAgICAgICAgIHRvcDogNTAlO1xuXHQgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cdCAgICAgICAgICBwYWRkaW5nLXRvcDogMTIwJTsgfVxuXHQgICAgICAgIC50YWJsZSAudGFibGUtbnVtYmVycyAucm93IC50YWJsZS1udW1iZXIuc2VsZWN0ZWQtdGFibGUtbnVtYmVyOmJlZm9yZSB7XG5cdCAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuXHQgICAgICAgIC50YWJsZSAudGFibGUtbnVtYmVycyAucm93IC50YWJsZS1udW1iZXIuZGlzYWJsZSB7XG5cdCAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXHQgICAgICAgIC50YWJsZSAudGFibGUtbnVtYmVycyAucm93IC50YWJsZS1udW1iZXI6Zmlyc3QtY2hpbGQge1xuXHQgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuXHQubnVtLTEgLmNsaWNrLW51bWJlciB7XG5cdCAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDkuNzI5NzNkZWcpO1xuXHQgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoOS43Mjk3M2RlZyk7IH1cblx0ICAubnVtLTEgLmNsaWNrLW51bWJlci5zaG93X2JhbGwge1xuXHQgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKC0zNDkuMjcwMjdkZWcpO1xuXHQgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgtMzQ5LjI3MDI3ZGVnKTsgfVxuXG5cdC5udW0tMiAuY2xpY2stbnVtYmVyIHtcblx0ICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoMTkuNDU5NDZkZWcpO1xuXHQgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoMTkuNDU5NDZkZWcpOyB9XG5cdCAgLm51bS0yIC5jbGljay1udW1iZXIuc2hvd19iYWxsIHtcblx0ICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgtMzM5LjU0MDU0ZGVnKTtcblx0ICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoLTMzOS41NDA1NGRlZyk7IH1cblxuXHQubnVtLTMgLmNsaWNrLW51bWJlciB7XG5cdCAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDI5LjE4OTE5ZGVnKTtcblx0ICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDI5LjE4OTE5ZGVnKTsgfVxuXHQgIC5udW0tMyAuY2xpY2stbnVtYmVyLnNob3dfYmFsbCB7XG5cdCAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoLTMyOS44MTA4MWRlZyk7XG5cdCAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKC0zMjkuODEwODFkZWcpOyB9XG5cblx0Lm51bS00IC5jbGljay1udW1iZXIge1xuXHQgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgzOC45MTg5MmRlZyk7XG5cdCAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgzOC45MTg5MmRlZyk7IH1cblx0ICAubnVtLTQgLmNsaWNrLW51bWJlci5zaG93X2JhbGwge1xuXHQgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKC0zMjAuMDgxMDhkZWcpO1xuXHQgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgtMzIwLjA4MTA4ZGVnKTsgfVxuXG5cdC5udW0tNSAuY2xpY2stbnVtYmVyIHtcblx0ICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoNDguNjQ4NjVkZWcpO1xuXHQgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoNDguNjQ4NjVkZWcpOyB9XG5cdCAgLm51bS01IC5jbGljay1udW1iZXIuc2hvd19iYWxsIHtcblx0ICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgtMzEwLjM1MTM1ZGVnKTtcblx0ICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoLTMxMC4zNTEzNWRlZyk7IH1cblxuXHQubnVtLTYgLmNsaWNrLW51bWJlciB7XG5cdCAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDU4LjM3ODM4ZGVnKTtcblx0ICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDU4LjM3ODM4ZGVnKTsgfVxuXHQgIC5udW0tNiAuY2xpY2stbnVtYmVyLnNob3dfYmFsbCB7XG5cdCAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoLTMwMC42MjE2MmRlZyk7XG5cdCAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKC0zMDAuNjIxNjJkZWcpOyB9XG5cblx0Lm51bS03IC5jbGljay1udW1iZXIge1xuXHQgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSg2OC4xMDgxMWRlZyk7XG5cdCAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSg2OC4xMDgxMWRlZyk7IH1cblx0ICAubnVtLTcgLmNsaWNrLW51bWJlci5zaG93X2JhbGwge1xuXHQgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKC0yOTAuODkxODlkZWcpO1xuXHQgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgtMjkwLjg5MTg5ZGVnKTsgfVxuXG5cdC5udW0tOCAuY2xpY2stbnVtYmVyIHtcblx0ICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoNzcuODM3ODRkZWcpO1xuXHQgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoNzcuODM3ODRkZWcpOyB9XG5cdCAgLm51bS04IC5jbGljay1udW1iZXIuc2hvd19iYWxsIHtcblx0ICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgtMjgxLjE2MjE2ZGVnKTtcblx0ICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoLTI4MS4xNjIxNmRlZyk7IH1cblxuXHQubnVtLTkgLmNsaWNrLW51bWJlciB7XG5cdCAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDg3LjU2NzU3ZGVnKTtcblx0ICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDg3LjU2NzU3ZGVnKTsgfVxuXHQgIC5udW0tOSAuY2xpY2stbnVtYmVyLnNob3dfYmFsbCB7XG5cdCAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoLTI3MS40MzI0M2RlZyk7XG5cdCAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKC0yNzEuNDMyNDNkZWcpOyB9XG5cblx0Lm51bS0xMCAuY2xpY2stbnVtYmVyIHtcblx0ICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoOTcuMjk3M2RlZyk7XG5cdCAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSg5Ny4yOTczZGVnKTsgfVxuXHQgIC5udW0tMTAgLmNsaWNrLW51bWJlci5zaG93X2JhbGwge1xuXHQgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKC0yNjEuNzAyN2RlZyk7XG5cdCAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKC0yNjEuNzAyN2RlZyk7IH1cblxuXHQubnVtLTExIC5jbGljay1udW1iZXIge1xuXHQgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgxMDcuMDI3MDNkZWcpO1xuXHQgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoMTA3LjAyNzAzZGVnKTsgfVxuXHQgIC5udW0tMTEgLmNsaWNrLW51bWJlci5zaG93X2JhbGwge1xuXHQgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKC0yNTEuOTcyOTdkZWcpO1xuXHQgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgtMjUxLjk3Mjk3ZGVnKTsgfVxuXG5cdC5udW0tMTIgLmNsaWNrLW51bWJlciB7XG5cdCAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDExNi43NTY3NmRlZyk7XG5cdCAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgxMTYuNzU2NzZkZWcpOyB9XG5cdCAgLm51bS0xMiAuY2xpY2stbnVtYmVyLnNob3dfYmFsbCB7XG5cdCAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoLTI0Mi4yNDMyNGRlZyk7XG5cdCAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKC0yNDIuMjQzMjRkZWcpOyB9XG5cblx0Lm51bS0xMyAuY2xpY2stbnVtYmVyIHtcblx0ICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoMTI2LjQ4NjQ5ZGVnKTtcblx0ICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDEyNi40ODY0OWRlZyk7IH1cblx0ICAubnVtLTEzIC5jbGljay1udW1iZXIuc2hvd19iYWxsIHtcblx0ICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgtMjMyLjUxMzUxZGVnKTtcblx0ICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoLTIzMi41MTM1MWRlZyk7IH1cblxuXHQubnVtLTE0IC5jbGljay1udW1iZXIge1xuXHQgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgxMzYuMjE2MjJkZWcpO1xuXHQgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoMTM2LjIxNjIyZGVnKTsgfVxuXHQgIC5udW0tMTQgLmNsaWNrLW51bWJlci5zaG93X2JhbGwge1xuXHQgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKC0yMjIuNzgzNzhkZWcpO1xuXHQgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgtMjIyLjc4Mzc4ZGVnKTsgfVxuXG5cdC5udW0tMTUgLmNsaWNrLW51bWJlciB7XG5cdCAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDE0NS45NDU5NWRlZyk7XG5cdCAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgxNDUuOTQ1OTVkZWcpOyB9XG5cdCAgLm51bS0xNSAuY2xpY2stbnVtYmVyLnNob3dfYmFsbCB7XG5cdCAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoLTIxMy4wNTQwNWRlZyk7XG5cdCAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKC0yMTMuMDU0MDVkZWcpOyB9XG5cblx0Lm51bS0xNiAuY2xpY2stbnVtYmVyIHtcblx0ICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoMTU1LjY3NTY4ZGVnKTtcblx0ICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDE1NS42NzU2OGRlZyk7IH1cblx0ICAubnVtLTE2IC5jbGljay1udW1iZXIuc2hvd19iYWxsIHtcblx0ICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgtMjAzLjMyNDMyZGVnKTtcblx0ICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoLTIwMy4zMjQzMmRlZyk7IH1cblxuXHQubnVtLTE3IC5jbGljay1udW1iZXIge1xuXHQgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgxNjUuNDA1NDFkZWcpO1xuXHQgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoMTY1LjQwNTQxZGVnKTsgfVxuXHQgIC5udW0tMTcgLmNsaWNrLW51bWJlci5zaG93X2JhbGwge1xuXHQgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKC0xOTMuNTk0NTlkZWcpO1xuXHQgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgtMTkzLjU5NDU5ZGVnKTsgfVxuXG5cdC5udW0tMTggLmNsaWNrLW51bWJlciB7XG5cdCAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDE3NS4xMzUxNGRlZyk7XG5cdCAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgxNzUuMTM1MTRkZWcpOyB9XG5cdCAgLm51bS0xOCAuY2xpY2stbnVtYmVyLnNob3dfYmFsbCB7XG5cdCAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoLTE4My44NjQ4NmRlZyk7XG5cdCAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKC0xODMuODY0ODZkZWcpOyB9XG5cblx0Lm51bS0xOSAuY2xpY2stbnVtYmVyIHtcblx0ICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoMTg0Ljg2NDg2ZGVnKTtcblx0ICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDE4NC44NjQ4NmRlZyk7IH1cblx0ICAubnVtLTE5IC5jbGljay1udW1iZXIuc2hvd19iYWxsIHtcblx0ICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgtMTc0LjEzNTE0ZGVnKTtcblx0ICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoLTE3NC4xMzUxNGRlZyk7IH1cblxuXHQubnVtLTIwIC5jbGljay1udW1iZXIge1xuXHQgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgxOTQuNTk0NTlkZWcpO1xuXHQgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoMTk0LjU5NDU5ZGVnKTsgfVxuXHQgIC5udW0tMjAgLmNsaWNrLW51bWJlci5zaG93X2JhbGwge1xuXHQgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKC0xNjQuNDA1NDFkZWcpO1xuXHQgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgtMTY0LjQwNTQxZGVnKTsgfVxuXG5cdC5udW0tMjEgLmNsaWNrLW51bWJlciB7XG5cdCAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDIwNC4zMjQzMmRlZyk7XG5cdCAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgyMDQuMzI0MzJkZWcpOyB9XG5cdCAgLm51bS0yMSAuY2xpY2stbnVtYmVyLnNob3dfYmFsbCB7XG5cdCAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoLTE1NC42NzU2OGRlZyk7XG5cdCAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKC0xNTQuNjc1NjhkZWcpOyB9XG5cblx0Lm51bS0yMiAuY2xpY2stbnVtYmVyIHtcblx0ICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoMjE0LjA1NDA1ZGVnKTtcblx0ICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDIxNC4wNTQwNWRlZyk7IH1cblx0ICAubnVtLTIyIC5jbGljay1udW1iZXIuc2hvd19iYWxsIHtcblx0ICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgtMTQ0Ljk0NTk1ZGVnKTtcblx0ICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoLTE0NC45NDU5NWRlZyk7IH1cblxuXHQubnVtLTIzIC5jbGljay1udW1iZXIge1xuXHQgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgyMjMuNzgzNzhkZWcpO1xuXHQgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoMjIzLjc4Mzc4ZGVnKTsgfVxuXHQgIC5udW0tMjMgLmNsaWNrLW51bWJlci5zaG93X2JhbGwge1xuXHQgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKC0xMzUuMjE2MjJkZWcpO1xuXHQgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgtMTM1LjIxNjIyZGVnKTsgfVxuXG5cdC5udW0tMjQgLmNsaWNrLW51bWJlciB7XG5cdCAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDIzMy41MTM1MWRlZyk7XG5cdCAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgyMzMuNTEzNTFkZWcpOyB9XG5cdCAgLm51bS0yNCAuY2xpY2stbnVtYmVyLnNob3dfYmFsbCB7XG5cdCAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoLTEyNS40ODY0OWRlZyk7XG5cdCAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKC0xMjUuNDg2NDlkZWcpOyB9XG5cblx0Lm51bS0yNSAuY2xpY2stbnVtYmVyIHtcblx0ICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoMjQzLjI0MzI0ZGVnKTtcblx0ICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDI0My4yNDMyNGRlZyk7IH1cblx0ICAubnVtLTI1IC5jbGljay1udW1iZXIuc2hvd19iYWxsIHtcblx0ICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgtMTE1Ljc1Njc2ZGVnKTtcblx0ICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoLTExNS43NTY3NmRlZyk7IH1cblxuXHQubnVtLTI2IC5jbGljay1udW1iZXIge1xuXHQgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgyNTIuOTcyOTdkZWcpO1xuXHQgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoMjUyLjk3Mjk3ZGVnKTsgfVxuXHQgIC5udW0tMjYgLmNsaWNrLW51bWJlci5zaG93X2JhbGwge1xuXHQgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKC0xMDYuMDI3MDNkZWcpO1xuXHQgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgtMTA2LjAyNzAzZGVnKTsgfVxuXG5cdC5udW0tMjcgLmNsaWNrLW51bWJlciB7XG5cdCAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDI2Mi43MDI3ZGVnKTtcblx0ICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDI2Mi43MDI3ZGVnKTsgfVxuXHQgIC5udW0tMjcgLmNsaWNrLW51bWJlci5zaG93X2JhbGwge1xuXHQgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKC05Ni4yOTczZGVnKTtcblx0ICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoLTk2LjI5NzNkZWcpOyB9XG5cblx0Lm51bS0yOCAuY2xpY2stbnVtYmVyIHtcblx0ICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoMjcyLjQzMjQzZGVnKTtcblx0ICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDI3Mi40MzI0M2RlZyk7IH1cblx0ICAubnVtLTI4IC5jbGljay1udW1iZXIuc2hvd19iYWxsIHtcblx0ICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgtODYuNTY3NTdkZWcpO1xuXHQgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgtODYuNTY3NTdkZWcpOyB9XG5cblx0Lm51bS0yOSAuY2xpY2stbnVtYmVyIHtcblx0ICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoMjgyLjE2MjE2ZGVnKTtcblx0ICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDI4Mi4xNjIxNmRlZyk7IH1cblx0ICAubnVtLTI5IC5jbGljay1udW1iZXIuc2hvd19iYWxsIHtcblx0ICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgtNzYuODM3ODRkZWcpO1xuXHQgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgtNzYuODM3ODRkZWcpOyB9XG5cblx0Lm51bS0zMCAuY2xpY2stbnVtYmVyIHtcblx0ICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoMjkxLjg5MTg5ZGVnKTtcblx0ICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDI5MS44OTE4OWRlZyk7IH1cblx0ICAubnVtLTMwIC5jbGljay1udW1iZXIuc2hvd19iYWxsIHtcblx0ICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgtNjcuMTA4MTFkZWcpO1xuXHQgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgtNjcuMTA4MTFkZWcpOyB9XG5cblx0Lm51bS0zMSAuY2xpY2stbnVtYmVyIHtcblx0ICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoMzAxLjYyMTYyZGVnKTtcblx0ICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDMwMS42MjE2MmRlZyk7IH1cblx0ICAubnVtLTMxIC5jbGljay1udW1iZXIuc2hvd19iYWxsIHtcblx0ICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgtNTcuMzc4MzhkZWcpO1xuXHQgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgtNTcuMzc4MzhkZWcpOyB9XG5cblx0Lm51bS0zMiAuY2xpY2stbnVtYmVyIHtcblx0ICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoMzExLjM1MTM1ZGVnKTtcblx0ICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDMxMS4zNTEzNWRlZyk7IH1cblx0ICAubnVtLTMyIC5jbGljay1udW1iZXIuc2hvd19iYWxsIHtcblx0ICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgtNDcuNjQ4NjVkZWcpO1xuXHQgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgtNDcuNjQ4NjVkZWcpOyB9XG5cblx0Lm51bS0zMyAuY2xpY2stbnVtYmVyIHtcblx0ICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoMzIxLjA4MTA4ZGVnKTtcblx0ICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDMyMS4wODEwOGRlZyk7IH1cblx0ICAubnVtLTMzIC5jbGljay1udW1iZXIuc2hvd19iYWxsIHtcblx0ICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgtMzcuOTE4OTJkZWcpO1xuXHQgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgtMzcuOTE4OTJkZWcpOyB9XG5cblx0Lm51bS0zNCAuY2xpY2stbnVtYmVyIHtcblx0ICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoMzMwLjgxMDgxZGVnKTtcblx0ICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDMzMC44MTA4MWRlZyk7IH1cblx0ICAubnVtLTM0IC5jbGljay1udW1iZXIuc2hvd19iYWxsIHtcblx0ICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgtMjguMTg5MTlkZWcpO1xuXHQgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgtMjguMTg5MTlkZWcpOyB9XG5cblx0Lm51bS0zNSAuY2xpY2stbnVtYmVyIHtcblx0ICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoMzQwLjU0MDU0ZGVnKTtcblx0ICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDM0MC41NDA1NGRlZyk7IH1cblx0ICAubnVtLTM1IC5jbGljay1udW1iZXIuc2hvd19iYWxsIHtcblx0ICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgtMTguNDU5NDZkZWcpO1xuXHQgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgtMTguNDU5NDZkZWcpOyB9XG5cblx0Lm51bS0zNiAuY2xpY2stbnVtYmVyIHtcblx0ICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoMzUwLjI3MDI3ZGVnKTtcblx0ICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDM1MC4yNzAyN2RlZyk7IH1cblx0ICAubnVtLTM2IC5jbGljay1udW1iZXIuc2hvd19iYWxsIHtcblx0ICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgtOC43Mjk3M2RlZyk7XG5cdCAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKC04LjcyOTczZGVnKTsgfVxuXG5cdC5udW0tMzcgLmNsaWNrLW51bWJlciB7XG5cdCAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDM2MGRlZyk7XG5cdCAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgzNjBkZWcpOyB9XG5cdCAgLm51bS0zNyAuY2xpY2stbnVtYmVyLnNob3dfYmFsbCB7XG5cdCAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoMWRlZyk7XG5cdCAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDFkZWcpOyB9XG5cblx0I251bS0wIC5jbGljay1udW1iZXIge1xuXHQgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgwZGVnKTtcblx0ICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDBkZWcpOyB9XG5cdCAgI251bS0wIC5jbGljay1udW1iZXIuc2hvd19iYWxsIHtcblx0ICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgtMzYwZGVnKTtcblx0ICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDAlKSByb3RhdGUoLTM2MGRlZyk7IH1cblxufVxuIiwiLndwLWJsb2NrLWltYWdlIHtcblx0YSB7XG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzIHtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuXHRcdH1cblx0fVxufVxuXG4uYWxpZ25sZWZ0IHtcblx0bWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxNik7XG5cdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcblx0ZmxvYXQ6IGxlZnQ7XG59XG5cbi5hbGlnbnJpZ2h0IHtcblx0bWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDE2KTtcblx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xuXHRmbG9hdDogcmlnaHQ7XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXHRTaGFyZWQgc3R5bGluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5hLFxuYnV0dG9uLFxuLmJ1dHRvbiB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2UtdG91Y2gtb3V0bGluZTtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4uYnV0dG9uOm5vdCgubWFpbi1uYXYtbW9iaWxlLWFjdGl2YXRvcik6bm90KC5ob2xsb3cpIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0ICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0ICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcblx0fVxuXG5cdC8vIHNwYW4ge1xuXHQvLyBcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0Ly8gXHR6LWluZGV4OiAyO1xuXHQvLyB9XG5cdC8vXG5cdC8vICY6OmJlZm9yZSxcblx0Ly8gJjo6YWZ0ZXIge1xuXHQvLyBcdGRpc3BsYXk6IGJsb2NrO1xuXHQvLyBcdGNvbnRlbnQ6ICcnO1xuXHQvLyBcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0Ly8gXHR0b3A6IDA7XG5cdC8vIFx0bGVmdDogMDtcblx0Ly8gXHRib3R0b206IDA7XG5cdC8vIFx0cmlnaHQ6IDA7XG5cdC8vIFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE5Mi41NmRlZywgI0Q3MzQzNiAwJSwgI0VBNDE0MyAxMDAlKTtcblx0Ly8gXHR0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbiBvcGFjaXR5O1xuXHQvLyBcdHotaW5kZXg6IDE7XG5cdC8vIH1cblx0Ly9cblx0Ly8gJjo6YWZ0ZXIge1xuXHQvLyBcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxOTIuNTZkZWcsICNmZjI4MjggMCUsICNmZjU2NTYgMTAwJSk7XG5cdC8vIFx0b3BhY2l0eTogMDtcblx0Ly8gfVxuXHQvL1xuXHQvLyAmOmhvdmVyLFxuXHQvLyAmOmZvY3VzIHtcblx0Ly8gXHQmOjpiZWZvcmUge1xuXHQvLyBcdFx0b3BhY2l0eTogMDtcblx0Ly8gXHR9XG5cdC8vXG5cdC8vIFx0Jjo6YWZ0ZXIge1xuXHQvLyBcdFx0b3BhY2l0eTogMTtcblx0Ly8gXHR9XG5cdC8vIH1cbn1cblxuLmJ1dHRvbi5ob2xsb3cuYmxhY2sge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0Y29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG5cdGJvcmRlci1jb2xvcjogY3VycmVudENvbG9yO1xufVxuXG4uYnV0dG9uLmhvbGxvdy53aGl0ZSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0Zm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRjb2xvcjogJHdoaXRlO1xuXHRib3JkZXItY29sb3I6IGN1cnJlbnRDb2xvcjtcbn1cblxuLnBvcy1yIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5hIHtcblx0dHJhbnNpdGlvbjogJGFuY2hvci10cmFuc2l0aW9uO1xufVxuXG4uc2NyZWVuLXJlYWRlci1zaG9ydGN1dCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAtMTAwMGVtO1xuXG5cdCY6Zm9jdXMge1xuXHRcdGJveC1zaGFkb3c6IDAgMCAycHggMnB4IHJnYmEoMCwgMCwgMCwgLjYpO1xuXHRcdGxlZnQ6IDZweDtcblx0XHR0b3A6IDdweDtcblx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0d2lkdGg6IGF1dG87XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0cGFkZGluZzogMTVweCAyM3B4IDE0cHg7XG5cdFx0YmFja2dyb3VuZDogI2YxZjFmMTtcblx0XHRjb2xvcjogJHByaW1hcnktY29sb3I7XG5cdFx0ei1pbmRleDogMTAwMDAwO1xuXHRcdGxpbmUtaGVpZ2h0OiBub3JtYWw7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR9XG59XG5cbi5zY3JlZW4tcmVhZGVyLXRleHQge1xuXHRjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG5cdGhlaWdodDogMXB4O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcblx0d2lkdGg6IDFweDtcbn1cblxuLmNvdmVyIHtcblx0QGluY2x1ZGUgY292ZXI7XG59XG5cbi5ncmlkLWNlbnRlci14IHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5kLWYge1xuXHRkaXNwbGF5OiBmbGV4O1xufVxuXG4uZ3JpZC1jZW50ZXIteSB7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIEBleHRlbmQgJWljb247XG4gIEBleHRlbmQgJWljb24tYW5nbGUtZG93bjo6YmVmb3JlO1xuICBib3JkZXI6IDA7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4uc3VibWVudS10b2dnbGU6OmFmdGVyIHtcbiAgQGV4dGVuZCAlaWNvbjtcbiAgQGV4dGVuZCAlaWNvbi1hbmdsZS1kb3duOjpiZWZvcmU7XG4gIGJvcmRlcjogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4udzEwMCB7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4uZHJvcGRvd24tcGFuZSB7XG5cdGNvbG9yOiAkd2hpdGU7XG59XG5cbi5tZWRpdW0tb3JkZXItMSB7XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdCAgb3JkZXI6IDE7XG5cdH1cbn1cblxuLm1lZGl1bS1vcmRlci0yIHtcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0ICBvcmRlcjogMjtcblx0fVxufVxuXG4ubGFyZ2Utb3JkZXItMSB7XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0ICBvcmRlcjogMTtcblx0fVxufVxuXG4ubGFyZ2Utb3JkZXItMiB7XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0ICBvcmRlcjogMjtcblx0fVxufVxuXG4ubWVkaXVtLWNlbnRlciB7XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdCAgdGV4dC1hbGlnbjogY2VudGVyO1xuXHR9XG59XG5cbi5oaWRlLWZvci1tZWRpdW0tZG93biB7XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcblx0ICBkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cbi5zZWN0aW9uLXRpdGxlIHtcblx0QGluY2x1ZGUgY29pbi1oZWFkZXI7XG5cdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcblx0fVxufVxuIiwiLmJyZWFkY3J1bWJzIHtcblx0cGFkZGluZzogcmVtLWNhbGMoMTUgMCk7XG5cdGNvbG9yOiAkYnJlYWRjcnVtYnMtdGV4dDtcblx0YmFja2dyb3VuZDogI2RkY2FhZjtcblx0Zm9udC1zaXplOiByZW0tY2FsYygxMik7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGNvbG9yOiAjNTM1MzUzO1xuXHRsZXR0ZXItc3BhY2luZzogMS4zNXB4O1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI2JhYTY4YztcblxuXHRhIHtcblx0XHRjb2xvcjogJGJyZWFkY3J1bWJzLWFuY2hvcjtcblxuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRjb2xvcjogJGJyZWFkY3J1bWJzLWFuY2hvci1ob3Zlcjtcblx0XHR9XG5cdH1cblxuXHQmX19zZXBhcmF0b3Ige1xuXHRcdEBleHRlbmQgJWljb247XG5cdFx0bWFyZ2luOiAwO1xuXG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdEBleHRlbmQgJWljb24tYW5nbGUtcmlnaHQ6OmJlZm9yZTtcblx0XHR9XG5cdH1cbn1cbiIsIi5idXR0b24ge1xuXHRmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDIyNWRlZywgI0M0MTUxNyAwJSwgI0YyMzkzQiAxMDAlKTtcblx0Ym94LXNoYWRvdzogMHB4IDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdCAgbWluLXdpZHRoOiByZW0tY2FsYygyMTApO1xuXHR9XG5cblx0Jjpob3Zlcixcblx0Jjpmb2N1cyB7XG5cdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDIyNWRlZywgI0U0MzUzNyAwJSwgI0YyNDk0QiAxMDAlKTtcblx0fVxuXG5cdCYtLXJhZGl1cyB7XG5cdFx0Ym9yZGVyLXJhZGl1czogOTk5OXB4O1xuXHR9XG59XG4iLCIuZXJyb3ItNDA0IHtcblx0QGluY2x1ZGUgY292ZXI7XG5cdGJhY2tncm91bmQ6ICRlcnJvci00MDQtYmc7XG5cdGNvbG9yOiAkZXJyb3ItNDA0LXRleHQ7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0cGFkZGluZzogcmVtLWNhbGMoNDAgMCk7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0ICBwYWRkaW5nOiByZW0tY2FsYyg2MCAwKVxuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHQgIHBhZGRpbmc6IHJlbS1jYWxjKDgwIDApO1xuXHR9XG5cblx0Jl9fdGl0bGUge1xuXHRcdC8vIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI1KTtcblx0XHR9XG5cdH1cblxuXHQmX190ZXh0IHtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMCk7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1Nik7XG5cdFx0fVxuXHR9XG59XG4iLCIuZm9vdGVyLXdpZGdldCB7XG5cdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcblxuXHQmX190aXRsZSB7XG5cdFx0Y29sb3I6ICRmb290ZXItd2lkZ2V0LXRpdGxlO1xuXHRcdGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuXHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0ICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcblx0XHR9XG5cdH1cblxuXHQmLndpZGdldF9uYXZfbWVudSB7XG5cdFx0bGkge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXG5cdFx0YSB7XG5cdFx0XHRwYWRkaW5nOiByZW0tY2FsYyg2IDApO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMik7XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDUgMCk7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMpO1xuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHQgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuXHRcdFx0XHRwYWRkaW5nOiByZW0tY2FsYyg0IDApO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmLndpZGdldF90ZXh0IC50ZXh0d2lkZ2V0IHA6Zmlyc3QtY2hpbGQge1xuXHRcdG1hcmdpbi10b3A6IHJlbS1jYWxjKC0yKTtcblx0fVxuXG5cdC5tZW51IHtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHQgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXHRcdH1cblx0fVxufVxuIiwiLmZvb3RlciB7XG5cdGNvbG9yOiAkZm9vdGVyLXRleHQ7XG5cdGJhY2tncm91bmQ6ICRmb290ZXItYmc7XG5cdHBhZGRpbmc6ICRmb290ZXItcGFkZGluZztcblx0Zm9udC1zaXplOiByZW0tY2FsYygxNCk7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMTAwO1xuXG5cdCYtLWxhbmRpbmcge1xuXHRcdGNvbG9yOiAjREFDQkIyO1xuXHRcdGJhY2tncm91bmQ6ICM0MjM4MkE7XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdCAgcGFkZGluZzogJGZvb3Rlci1wYWRkaW5nLWxhcmdlO1xuXHR9XG5cblx0YTpub3QoLmJ1dHRvbik6bm90KC5mb290ZXItc29jaWFsX19saW5rKSB7XG5cdFx0Y29sb3I6ICRmb290ZXItYW5jaG9yO1xuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHR0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbiBib3JkZXI7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzIHtcblx0XHRcdGNvbG9yOiAkZm9vdGVyLWFuY2hvci1ob3Zlcjtcblx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ29sZDtcblx0XHR9XG5cdH1cblxuXHQmX19ib3R0b20ge1xuXHRcdHBhZGRpbmc6IHJlbS1jYWxjKDIwIDAgMCk7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHQgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuXHRcdH1cblx0fVxuXG5cdCZfXzE4LWNlbGwge1xuXHRcdGJhY2tncm91bmQ6IHVybCgnI3skaW1nLWRpcn0vMThAMngucG5nJykgbm8tcmVwZWF0O1xuXHRcdGJhY2tncm91bmQtc2l6ZTogNDRweCA0NHB4O1xuXHRcdG1pbi1oZWlnaHQ6IDQ0cHg7XG5cdCAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcblx0fVxuXG5cdCZfX2NvcHlyaWdodCB7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0ICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcblx0XHR9XG5cdH1cbn1cbiIsIi5mb290ZXItcHJvcyB7XG5cdGNvbG9yOiAkd2hpdGU7XG5cdHdpZHRoOiAxMDAlO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdCAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG5cdH1cblxuXHQmX190aXRsZSB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMjQpO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0ICBkaXNwbGF5OiBibG9jaztcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR9XG5cdH1cblxuXHQmX19saXN0IHtcblx0XHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdCAgZGlzcGxheTogYmxvY2s7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0fVxuXHR9XG5cblx0Jl9faXRlbSB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMjQpO1xuXHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcblx0XHRmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdCAgZGlzcGxheTogYmxvY2s7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XG5cdFx0fVxuXHR9XG5cblx0Jl9faWNvbiB7XG5cdFx0bWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg0KTtcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHR9XG5cblx0Jl9fbGFiZWwge1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdH1cbn1cbiIsIi5oZWFkZXIge1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHotaW5kZXg6IDEwMTAxO1xuXHR3aWR0aDogMTAwJTtcblx0YmFja2dyb3VuZDogJGZvb3Rlci1iZztcblx0dHJhbnNpdGlvbjogJHRyYW5zaXRpb24tZHVyYXRpb24gYWxsO1xuXHQvLyBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMzZjNmM2Y7XG5cblx0Ji0tdG9wIHtcblx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0Ly8gcG9zaXRpb246IGFic29sdXRlO1xuXG5cdFx0Ly8gQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdC8vIFx0cGFkZGluZy10b3A6ICR0b3AtYmFyLWhlaWdodDtcblx0XHQvLyB9XG5cdH1cblxuXHQmLS1zdGlja3kge1xuXHRcdHBvc2l0aW9uOiBmaXhlZDtcblx0XHR0b3A6IDA7XG5cblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDFweCkge1xuXHRcdFx0QGF0LXJvb3QgLmFkbWluLWJhciAjeyZ9IHtcblx0XHRcdFx0dG9wOiA0NnB4O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc4M3B4KSB7XG5cdFx0XHRAYXQtcm9vdCAuYWRtaW4tYmFyICN7Jn0ge1xuXHRcdFx0XHR0b3A6IDMycHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ji0tZGlzYWJsZS1zaHJpbmtpbmcge1xuXHRcdHBvc2l0aW9uOiBzdGlja3k7XG5cdFx0dG9wOiAwO1xuXHR9XG5cblx0Jl9fYnV0dG9ucy1jZWxsIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdH1cblx0fVxufVxuIiwiLmhlYWRlci1tYWluIHtcblx0cGFkZGluZzogJGhlYWRlci1tYWluLXBhZGRpbmc7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogOTk5OTtcblx0dHJhbnNpdGlvbjogJHRyYW5zaXRpb24tZHVyYXRpb24gcGFkZGluZyAkdHJhbnNpdGlvbi1kdXJhdGlvbjtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHQgIHBhZGRpbmc6ICRoZWFkZXItbWFpbi1wYWRkaW5nLW1lZGl1bS11cDtcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0ICBwYWRkaW5nOiAkaGVhZGVyLW1haW4tcGFkZGluZy1sYXJnZS11cDtcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoMTQwMCkge1xuXHRcdHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMzUpO1xuXHRcdHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDM1KTtcblx0fVxuXG5cdEBhdC1yb290IC5oZWFkZXItLXN0aWNreSAjeyZ9IHtcblx0XHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoNSk7XG5cdFx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDUpO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHQgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg4KTtcblx0XHRcdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg4KTtcblx0XHR9XG5cdH1cblxuXHQvLyAmLS1zdGlja3kge1xuXHQvLyBcdHBvc2l0aW9uOiBmaXhlZDtcblx0Ly8gXHRsZWZ0OiAwO1xuXHQvLyBcdHJpZ2h0OiAwO1xuXHQvLyBcdHRvcDogMDtcblx0Ly8gXHRib3JkZXItYm90dG9tOiAkaGVhZGVyLW1haW4tYm9yZGVyLWJvdHRvbTtcblx0Ly8gXHRiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cdC8vXG5cdC8vIFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAxcHgpIHtcblx0Ly8gXHRcdEBhdC1yb290IC5hZG1pbi1iYXIgI3smfSB7XG5cdC8vIFx0XHRcdHRvcDogNDZweDtcblx0Ly8gXHRcdH1cblx0Ly8gXHR9XG5cdC8vXG5cdC8vIFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzgzcHgpIHtcblx0Ly8gXHRcdEBhdC1yb290IC5hZG1pbi1iYXIgI3smfSB7XG5cdC8vIFx0XHRcdHRvcDogMzJweDtcblx0Ly8gXHRcdH1cblx0Ly8gXHR9XG5cdC8vIH1cblxuXHQmX19sb2dvLWNvbnRhaW5lciB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHR9XG5cblx0Jl9fbG9nbyB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdHdpZHRoOiByZW0tY2FsYygxODkpO1xuXHRcdGhlaWdodDogcmVtLWNhbGMoNjIpO1xuXHRcdHRyYW5zaXRpb246IC4yNXMgYWxsIC4yNXM7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KDExODApIHtcblx0XHRcdHdpZHRoOiByZW0tY2FsYygyMjIpO1xuXHRcdFx0aGVpZ2h0OiByZW0tY2FsYyg3Myk7XG5cdFx0fVxuXG5cdFx0QGF0LXJvb3QgLmhlYWRlci0tc3RpY2t5ICN7Jn0ge1xuXHRcdFx0d2lkdGg6IHJlbS1jYWxjKDE4OSk7XG5cdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDYyKTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cdFx0XHR3aWR0aDogcmVtLWNhbGMoMTg5KTtcblx0XHRcdGhlaWdodDogcmVtLWNhbGMoNjIpO1xuXG5cdFx0XHRAYXQtcm9vdCAuaGVhZGVyLS1zdGlja3kgI3smfSB7XG5cdFx0XHRcdHdpZHRoOiByZW0tY2FsYygxNDYpO1xuXHRcdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDQ4KTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQvLyBnIHtcblx0XHQvLyBcdHRyYW5zaXRpb246IC4zcyBmaWxsO1xuXHRcdC8vIFx0ZmlsbDogIzM0M2M4YTtcblx0XHQvLyB9XG5cdFx0Ly9cblx0XHQvLyAvLyAmLS1kYXJrIHtcblx0XHQvLyAvLyBcdGRpc3BsYXk6IG5vbmU7XG5cdFx0Ly8gLy8gfVxuXHRcdC8vXG5cdFx0Ly8gQGF0LXJvb3QgLmhlYWRlci0tdG9wICN7Jn0ge1xuXHRcdC8vIFx0ZyB7XG5cdFx0Ly8gXHRcdGZpbGw6ICR3aGl0ZTtcblx0XHQvLyBcdH1cblx0XHQvLyB9XG5cblx0XHQvLyBAYXQtcm9vdCAuaGVhZGVyLS1zdGlja3kgI3smfSB7XG5cdFx0Ly8gXHQmLS1saWdodCB7XG5cdFx0Ly8gXHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0Ly8gXHR9XG5cdFx0Ly9cblx0XHQvLyBcdCYtLWRhcmsge1xuXHRcdC8vIFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHQvLyBcdH1cblx0XHQvLyB9XG5cblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MDBweCkge1xuXHRcdFx0d2lkdGg6IHJlbS1jYWxjKDE0Nik7XG5cdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDQ4KTtcblx0XHRcdG1hcmdpbi1yaWdodDogNXB4O1xuXG5cdFx0XHRAYXQtcm9vdCAuaGVhZGVyLS1zdGlja3kgI3smfSB7XG5cdFx0XHRcdHdpZHRoOiByZW0tY2FsYygxMjgpO1xuXHRcdFx0XHRoZWlnaHQ6IHJlbS1jYWxjKDQyKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmX19jb250ZW50IHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0fVxuXHR9XG59XG4iLCIubGlzdC12aWV3LWl0ZW0ge1xuXHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuXG5cdCsgI3smfSB7XG5cdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRzZWFyY2gtcmVzdWx0LWl0ZW0tc2VwYXJhdG9yO1xuXHRcdHBhZGRpbmctdG9wOiByZW0tY2FsYyg0MCk7XG5cdH1cblxuXHQmX190aXRsZSB7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygyNik7XG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMCk7XG5cdFx0fVxuXG5cdH1cblxuXHQmX19kYXRlIHtcblx0XHRjb2xvcjogIzcyNzI3Mjtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblxuXHQmX19pbWFnZS1saW5rIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbiBvcGFjaXR5O1xuXG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzIHtcblx0XHRcdG9wYWNpdHk6IC44NTtcblx0XHR9XG5cdH1cblxuXHQmX19saW5rIHtcblx0XHRjb2xvcjogaW5oZXJpdDtcblx0fVxuXG5cdCZfX2ltYWdlLXdyYXBwZXIge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG5cdH1cblxuXHQmX19pbWFnZSB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xuXHRcdHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uIG9wYWNpdHk7XG5cdH1cblxuXHQmX19pbWFnZS1wbGFjZWhvbGRlciB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0YmFja2dyb3VuZDogI0Q4RDhEODtcblx0XHRoZWlnaHQ6IDA7XG5cdFx0cGFkZGluZy1ib3R0b206IDczLjA2NzkxNTY5MDklOyAvLyBkZWZhdWx0IHJhdGlvIC0gaW1hZ2UgaGVpZ2h0L3dpZHRoICogMTAwJVxuXHRcdHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xuXHRcdHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uIG9wYWNpdHk7XG5cblx0XHQmLS1taW4td2lkdGgge1xuXHRcdFx0bWluLXdpZHRoOiByZW0tY2FsYygyMjApO1xuXHRcdH1cblx0fVxufVxuIiwiLm1haW4tbmF2LWRlc2t0b3Age1xuXHRkaXNwbGF5OiBub25lO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblx0XHQmX19saXN0IHtcblx0XHRcdGZvbnQtc2l6ZTogJG1haW4tbmF2LWRlc2t0b3AtZm9udC1zaXplO1xuXHRcdH1cblxuXHRcdHVsIHtcblx0XHRcdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblx0XHRcdG1hcmdpbjogMDtcblx0XHR9XG5cblx0XHRsaSB7XG5cdFx0XHRmbG9hdDogbGVmdDtcblx0XHR9XG5cblx0XHQ+IC5tZW51ID4gbGkge1xuXHRcdFx0PiBhIHtcblx0XHRcdFx0Y29sb3I6ICRtYWluLW5hdi1kZXNrdG9wLWxpbms7XG5cdFx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDQgMCk7XG5cdFx0XHRcdG1hcmdpbjogcmVtLWNhbGMoOCAxMik7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uIGJvcmRlcjtcblxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KDExNDApIHtcblx0XHRcdFx0XHRwYWRkaW5nOiByZW0tY2FsYyg2IDApO1xuXHRcdFx0XHRcdG1hcmdpbjogcmVtLWNhbGMoMTApICRtYWluLW5hdi1kZXNrdG9wLWxpbmstcGFkZGluZy1zaWRlO1xuXHRcdFx0XHR9XG5cblxuXHRcdFx0XHQmOmhvdmVyLFxuXHRcdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0XHRjb2xvcjogJG1haW4tbmF2LWRlc2t0b3AtbGluay1ob3Zlcjtcblx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvbGQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0JjpsYXN0LWNoaWxkOm5vdCgubWVudS1pdGVtLWhhcy1jaGlsZHJlbikgPiBhIHtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHRcdH1cblxuXHRcdFx0Ji5pcy1hY3RpdmUsXG5cdFx0XHQmLmN1cnJlbnQtbWVudS1pdGVtLFxuXHRcdFx0Ji5jdXJyZW50LW1lbnUtYW5jZXN0b3Ige1xuXHRcdFx0XHQ+IGEge1xuXHRcdFx0XHRcdGNvbG9yOiAkbWFpbi1uYXYtZGVza3RvcC1saW5rLWhvdmVyO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC8vICYubG9naW57XG5cdFx0XHQvLyBcdG1hcmdpbi1sZWZ0OiByZW0tY2FsYygxMik7XG5cblx0XHRcdC8vIFx0YSB7XG5cdFx0XHQvLyBcdFx0YmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuXHRcdFx0Ly8gXHRcdGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXHRcdFx0Ly8gXHRcdGNvbG9yOiAkd2hpdGU7XG5cblx0XHRcdC8vIFx0XHQmOmhvdmVyLFxuXHRcdFx0Ly8gXHRcdCY6Zm9jdXMge1xuXHRcdFx0Ly8gXHRcdFx0YmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyO1xuXHRcdFx0Ly8gXHRcdH1cblx0XHRcdC8vIFx0fVxuXHRcdFx0Ly8gfVxuXHRcdH1cblx0fVxuXG5cdC5kcm9wZG93bi5tZW51Om5vdCgudmVydGljYWwpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcblx0XHRtaW4td2lkdGg6IDMxMHB4O1xuXHR9XG59XG5cbi8vXHREcm9wZG93biBhcnJvdyBjb2xvdXJcbi5tYWluLW5hdi1kZXNrdG9wIC5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuXHRwYWRkaW5nLXJpZ2h0OiAkbWFpbi1uYXYtZGVza3RvcC1saW5rLXBhZGRpbmctc2lkZTtcblxuXHQ+IGE6OmFmdGVyIHtcblx0XHRib3JkZXItY29sb3I6ICRtYWluLW5hdi1kZXNrdG9wLWRyb3Bkb3duLWFycm93IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuXHR9XG59XG5cbi8vXHREcm9wZG93biBzdHlsZVxuLmRyb3Bkb3duLm1lbnU6bm90KC52ZXJ0aWNhbCkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuXHRwYWRkaW5nOiByZW0tY2FsYyg1IDE3KTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRiYWNrZ3JvdW5kOiAkbWFpbi1uYXYtZGVza3RvcC1kcm9wZG93bi1iZztcblx0Ym9yZGVyOiAwO1xuXHRtaW4td2lkdGg6ICRtYWluLW5hdi1kZXNrdG9wLWRyb3Bkb3duLXdpZHRoO1xuXHRmb250LXNpemU6ICRtYWluLW5hdi1kZXNrdG9wLWRyb3Bkb3duLWZvbnQtc2l6ZTtcblxuXHQmLmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXHRcdGxlZnQ6IDUwJTtcblxuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiAtMTJweDtcblx0XHRcdGxlZnQ6IDUwJTtcblx0XHRcdHdpZHRoOiAwO1xuXHRcdFx0aGVpZ2h0OiAwO1xuXHRcdFx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0XHRcdGJvcmRlci13aWR0aDogNnB4O1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkbWFpbi1uYXYtZGVza3RvcC1kcm9wZG93bi1iZyB0cmFuc3BhcmVudDtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblx0XHR9XG5cdH1cblxuXHRhIHtcblx0XHRjb2xvcjogJG1haW4tbmF2LWRlc2t0b3AtZHJvcGRvd24tbGluaztcblxuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRjb2xvcjogI2MzN2YyYjtcblx0XHR9XG5cdH1cblxuXHRsaSB7XG5cdFx0KyBsaSBhIHtcblx0XHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCAkbWFpbi1uYXYtZGVza3RvcC1kcm9wZG93bi1zZXBhcmF0b3I7XG5cdFx0fVxuXG5cdFx0Ji5jdXJyZW50LW1lbnUtaXRlbSxcblx0XHQmLmN1cnJlbnRfcGFnZV9hbmNlc3RvciB7XG5cdFx0XHQ+IGEge1xuXHRcdFx0XHRjb2xvcjogJG1haW4tbmF2LWRlc2t0b3AtbGluay1ob3Zlcjtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi5tYWluLW5hdi1tb2JpbGUtYWN0aXZhdG9yIHtcblx0QGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdG1hcmdpbi1ib3R0b206IDA7XG5cdHBhZGRpbmc6IHJlbS1jYWxjKDkpO1xuXHRtaW4td2lkdGg6IDA7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRib3gtc2hhZG93OiBub25lO1xuXG5cdCY6aG92ZXIsXG5cdCY6Zm9jdXMsXG5cdCYuYWN0aXZlIHtcblx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0fVxuXG5cdFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAmOm5vdCguYWN0aXZlKTpmb2N1cyB7XG5cdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdH1cblx0fVxuXG5cdCZfX2ljb24ge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRAaW5jbHVkZSBidXJnZXIoMjBweCwgMnB4LCA0cHgsICR3aGl0ZSk7XG5cblx0XHRAYXQtcm9vdCAubWFpbi1uYXYtbW9iaWxlLWFjdGl2YXRvci5hY3RpdmUgI3smfSB7XG5cdFx0XHRAaW5jbHVkZSBidXJnZXItdG8tY3Jvc3M7XG5cdFx0fVxuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQmX19sYWJlbCB7XG5cdFx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xuXHR9XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vICBidXJnZXIgdmFyaWFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQnVyZ2VyIHBhcnRzXG4vL1xuLy8gKC0tLSkgdG9wICAgIC0+ICY6OmJlZm9yZVxuLy8gWy0tLV0gbWlkZGxlIC0+ICZcbi8vICgtLS0pIGJvdHRvbSAtPiAmOjphZnRlclxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gIEJ1cmdlciBjb3JlIHN0eWxpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBWZW5kb3IgcHJlZml4ZXNcbiRzYXNzLWJ1cmdlci1hZGQtdmVuZG9yLXByZWZpeGVzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gQnVyZ2VyXG5AbWl4aW4gYnVyZ2VyKCR3aWR0aDogMzBweCwgJGhlaWdodDogNXB4LCAkZ3V0dGVyOiAzcHgsICRjb2xvcjogIzAwMCwgJGJvcmRlci1yYWRpdXM6IDAsICR0cmFuc2l0aW9uLWR1cmF0aW9uOiAuM3MpIHtcbiAgICAkYnVyZ2VyLWhlaWdodDogJGhlaWdodCAhZ2xvYmFsO1xuICAgICRidXJnZXItZ3V0dGVyOiAkZ3V0dGVyICFnbG9iYWw7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLXRvcDogJGhlaWdodCArICRndXR0ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogJGhlaWdodCArICRndXR0ZXI7XG5cbiAgICBAaWYgJHNhc3MtYnVyZ2VyLWFkZC12ZW5kb3ItcHJlZml4ZXMge1xuICAgICAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgfVxuICAgIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICAgJiwgJjo6YmVmb3JlLCAmOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogJHdpZHRoO1xuICAgICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgQGlmICRib3JkZXItcmFkaXVzICE9IDAge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJHNhc3MtYnVyZ2VyLWFkZC12ZW5kb3ItcHJlZml4ZXMge1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCAtd2Via2l0LXRyYW5zZm9ybTtcbiAgICAgICAgICAgIC1tb3otdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgLW1vei10cmFuc2Zvcm07XG4gICAgICAgICAgICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCAtby10cmFuc2Zvcm07XG4gICAgICAgIH1cbiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgdHJhbnNmb3JtO1xuXG4gICAgICAgIEBpZiAkc2Fzcy1idXJnZXItYWRkLXZlbmRvci1wcmVmaXhlcyB7XG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xuICAgICAgICAgICAgLW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgICAgICAgICAgIC1vLXRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xuICAgICAgICB9XG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAtKCRoZWlnaHQgKyAkZ3V0dGVyKTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAgIHRvcDogJGhlaWdodCArICRndXR0ZXI7XG4gICAgfVxufVxuXG5cbi8vIFNlbGVjdCBwYXJ0cyBvZiB0aGUgYnVyZ2VyXG5AbWl4aW4gYnVyZ2VyLXBhcnRzIHtcbiAgICAmLCAmOjpiZWZvcmUsICY6OmFmdGVyIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5AbWl4aW4gYnVyZ2VyLXRvcCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5AbWl4aW4gYnVyZ2VyLW1pZGRsZSB7XG4gICAgJiB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuQG1peGluIGJ1cmdlci1ib3R0b20ge1xuICAgICY6OmFmdGVyIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5cbi8vIEJ1cmdlciBhbmltYXRpb25zXG5AbWl4aW4gYnVyZ2VyLXRvLWNyb3NzKCRjb2xvcjogYXV0bykge1xuICAgICYge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gICAgQGlmICgkY29sb3IgIT0gYXV0bykge1xuICAgICAgICAmOjpiZWZvcmUsICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBAaWYgJHNhc3MtYnVyZ2VyLWFkZC12ZW5kb3ItcHJlZml4ZXMge1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJGJ1cmdlci1ndXR0ZXIgKyAkYnVyZ2VyLWhlaWdodCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRidXJnZXItZ3V0dGVyICsgJGJ1cmdlci1oZWlnaHQpIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRidXJnZXItZ3V0dGVyICsgJGJ1cmdlci1oZWlnaHQpIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJGJ1cmdlci1ndXR0ZXIgKyAkYnVyZ2VyLWhlaWdodCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgfVxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJGJ1cmdlci1ndXR0ZXIgKyAkYnVyZ2VyLWhlaWdodCkgcm90YXRlKDQ1ZGVnKTtcbiAgICB9XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBAaWYgJHNhc3MtYnVyZ2VyLWFkZC12ZW5kb3ItcHJlZml4ZXMge1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSgkYnVyZ2VyLWd1dHRlciArICRidXJnZXItaGVpZ2h0KSkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtKCRidXJnZXItZ3V0dGVyICsgJGJ1cmdlci1oZWlnaHQpKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSgkYnVyZ2VyLWd1dHRlciArICRidXJnZXItaGVpZ2h0KSkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSgkYnVyZ2VyLWd1dHRlciArICRidXJnZXItaGVpZ2h0KSkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgIH1cbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0oJGJ1cmdlci1ndXR0ZXIgKyAkYnVyZ2VyLWhlaWdodCkpIHJvdGF0ZSgtNDVkZWcpO1xuICAgIH1cbn0iLCIubWFpbi1uYXYtbW9iaWxlIHtcblx0YmFja2dyb3VuZDogJG1haW4tbmF2LW1vYmlsZS1iZztcblx0ZGlzcGxheTogbm9uZTtcblx0cGFkZGluZzogcmVtLWNhbGMoMTAgMCk7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0d2lkdGg6IDEwMCU7XG5cdHotaW5kZXg6IDk5OTtcblx0dG9wOiAxMDAlO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXG5cdCZfX2xpbmsge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuXHRcdG1hcmdpbjogcmVtLWNhbGMoMCAxNik7XG5cdFx0cGFkZGluZzogcmVtLWNhbGMoMTEgMCA0KTtcblx0XHRjb2xvcjogJG1haW4tbmF2LW1vYmlsZS1saW5rO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Zm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDEuNTc1cHg7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNCk7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uIGJvcmRlcjtcblxuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRjb2xvcjogJG1haW4tbmF2LW1vYmlsZS1saW5rO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb2xkO1xuXHRcdH1cblx0fVxuXG5cdCZfX2xpc3Qge1xuXHRcdCsgI3smfSB7XG5cdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgI2RkZDtcblx0XHRcdG1hcmdpbi10b3A6IHJlbS1jYWxjKDEwKTtcblx0XHR9XG5cdH1cblxuXHQuc3VibWVudSB7XG5cdFx0YmFja2dyb3VuZDogJG1haW4tbmF2LW1vYmlsZS1zdWJtZW51LWJnO1xuXHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHR9XG5cblx0LnN1Ym1lbnUtdG9nZ2xlIHtcblx0XHRiYWNrZ3JvdW5kOiAkbWFpbi1uYXYtbW9iaWxlLXN1Ym1lbnUtdG9nZ2xlLWJnO1xuXHRcdGhlaWdodDogcmVtLWNhbGMoMzgpO1xuXG5cdFx0JjphZnRlciB7XG5cdFx0XHRib3JkZXItY29sb3I6ICRtYWluLW5hdi1tb2JpbGUtc3VibWVudS10b2dnbGUtYXJyb3cgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG5cdFx0fVxuXG5cdFx0QGF0LXJvb3QgW2RhdGEtd2hhdGlucHV0PVwia2V5Ym9hcmRcIl0gI3smfTpmb2N1cyB7XG5cdFx0XHRiYWNrZ3JvdW5kOiAkbWFpbi1uYXYtbW9iaWxlLXN1Ym1lbnUtdG9nZ2xlLWhvdmVyLWJnO1xuXG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAkbWFpbi1uYXYtbW9iaWxlLXN1Ym1lbnUtdG9nZ2xlLWhvdmVyLWFycm93IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZDogJG1haW4tbmF2LW1vYmlsZS1zdWJtZW51LXRvZ2dsZS1ob3Zlci1iZztcblxuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdGJvcmRlci1jb2xvcjogJG1haW4tbmF2LW1vYmlsZS1zdWJtZW51LXRvZ2dsZS1ob3Zlci1hcnJvdyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmLnNjYWxlLWluLXVwIHtcblx0XHRAaW5jbHVkZSBtdWktem9vbShcblx0XHRcdCRzdGF0ZTogaW4sXG5cdFx0XHQkZnJvbTogLjksXG5cdFx0XHQkZHVyYXRpb246IC4xc1xuXHQgICk7XG5cdH1cblxuXHQmLnNjYWxlLW91dC1kb3duIHtcblx0XHRAaW5jbHVkZSBtdWktem9vbShcblx0XHRcdCRzdGF0ZTogb3V0LFxuXHRcdFx0JHRvOiAuOSxcblx0XHRcdCRkdXJhdGlvbjogLjFzXG5cdFx0KTtcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQmX19vdmVybGF5IHtcblx0XHRwb3NpdGlvbjogZml4ZWQ7XG5cdFx0dG9wOiAwO1xuXHRcdGJvdHRvbTogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdGJhY2tncm91bmQ6ICRtYWluLW5hdi1tb2JpbGUtb3ZlcmxheS1iZztcblx0ICB6LWluZGV4OiA5OTk5O1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdCAgZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cbn1cbiIsIi8vLyBBcHBsaWVzIGJhc2ljIHRyYW5zaXRpb24gc2V0dGluZ3MgdG8gYW4gZWxlbWVudC5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiB0cmFuc2l0aW9uLWJhc2ljcyhcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICBAaW5jbHVkZSAtbW90aW9uLXVpLWRlZmF1bHRzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXk7XG59XG5cbi8vLyBXcmFwcyB0aGUgY29udGVudCBpbiB0aGUgc2V0dXAgY2xhc3MgZm9yIGEgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgLSBTdGF0ZSB0byBzZXR1cCBmb3IgdHJhbnNpdGlvbi5cbkBtaXhpbiB0cmFuc2l0aW9uLXN0YXJ0KCRkaXIpIHtcbiAgJHNlbGVjdG9yOiAtbXVpLWJ1aWxkLXNlbGVjdG9yKG1hcC1nZXQoJG1vdGlvbi11aS1zdGF0ZXMsICRkaXIpKTtcblxuICBAYXQtcm9vdCB7XG4gICAgI3skc2VsZWN0b3J9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gV3JhcHMgdGhlIGNvbnRlbnQgaW4gdGhlIGFjdGl2ZSBjbGFzcyBmb3IgYSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciAtIFN0YXRlIHRvIGFjdGl2YXRlIGEgdHJhbnNpdGlvbiBvbi5cbkBtaXhpbiB0cmFuc2l0aW9uLWVuZCgkZGlyKSB7XG4gICRzZWxlY3RvcjogLW11aS1idWlsZC1zZWxlY3RvcihtYXAtZ2V0KCRtb3Rpb24tdWktc3RhdGVzLCAkZGlyKSwgdHJ1ZSk7XG5cbiAgQGF0LXJvb3Qge1xuICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWdnZXIgYW5pbWF0aW9uLCB3aGljaCBjYW4gYmUgdXNlZCB3aXRoIEFuZ3VsYXIncyBgbmctcmVwZWF0YC5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXktYW1vdW50IC0gQW1vdW50IG9mIHRpbWUgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgdG8gYWRkIGJldHdlZW4gZWFjaCBpdGVtJ3MgYW5pbWF0aW9uLlxuQG1peGluIHN0YWdnZXIoJGRlbGF5LWFtb3VudCkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXktYW1vdW50O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwOyAvLyBQcmV2ZW50IGFjY2lkZW50YWwgQ1NTIGluaGVyaXRhbmNlXG59XG4iLCIvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBJbXBvcnRhbnRSdWxlLCBTcGFjZUFmdGVyQ29tbWEsIFNpbmdsZUxpbmVQZXJQcm9wZXJ0eVxuXG5AbWl4aW4gLW1vdGlvbi11aS1kZWZhdWx0cyB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IG1hcC1nZXQoJG1vdGlvbi11aS1zcGVlZHMsIGRlZmF1bHQpO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLWVhc2luZ3MsIGRlZmF1bHQpO1xufVxuXG4vLyBUcmFuc2l0aW9uc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbkBtaXhpbiBtb3Rpb24tdWktdHJhbnNpdGlvbnMge1xuICAvLyBTbGlkZVxuICAuc2xpZGUtaW4tZG93biAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIGRvd24pOyB9XG4gIC5zbGlkZS1pbi1sZWZ0ICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgcmlnaHQpOyB9XG4gIC5zbGlkZS1pbi11cCAgICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgdXApOyB9XG4gIC5zbGlkZS1pbi1yaWdodCAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgbGVmdCk7IH1cbiAgLnNsaWRlLW91dC1kb3duICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCBkb3duKTsgfVxuICAuc2xpZGUtb3V0LXJpZ2h0ICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIHJpZ2h0KTsgfVxuICAuc2xpZGUtb3V0LXVwICAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIHVwKTsgfVxuICAuc2xpZGUtb3V0LWxlZnQgICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIGxlZnQpOyB9XG5cbiAgLy8gRmFkZVxuICAuZmFkZS1pbiAgeyBAaW5jbHVkZSBtdWktZmFkZShpbiwgIDAsIDEpOyB9XG4gIC5mYWRlLW91dCB7IEBpbmNsdWRlIG11aS1mYWRlKG91dCwgMSwgMCk7IH1cblxuICAvLyBIaW5nZVxuICAuaGluZ2UtaW4tZnJvbS10b3AgICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHRvcCk7IH1cbiAgLmhpbmdlLWluLWZyb20tcmlnaHQgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICByaWdodCk7IH1cbiAgLmhpbmdlLWluLWZyb20tYm90dG9tICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICBib3R0b20pOyB9XG4gIC5oaW5nZS1pbi1mcm9tLWxlZnQgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgbGVmdCk7IH1cbiAgLmhpbmdlLWluLWZyb20tbWlkZGxlLXggIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgdG9wLCAgIGNlbnRlcik7IH1cbiAgLmhpbmdlLWluLWZyb20tbWlkZGxlLXkgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgcmlnaHQsIGNlbnRlcik7IH1cbiAgLmhpbmdlLW91dC1mcm9tLXRvcCAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCB0b3ApOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1yaWdodCAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgcmlnaHQpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1ib3R0b20gIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgYm90dG9tKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbGVmdCAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIGxlZnQpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1taWRkbGUteCB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHRvcCwgICBjZW50ZXIpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1taWRkbGUteSB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHJpZ2h0LCBjZW50ZXIpOyB9XG5cbiAgLy8gU2NhbGVcbiAgLnNjYWxlLWluLXVwICAgIHsgQGluY2x1ZGUgbXVpLXpvb20oaW4sICAwLjUsIDEpOyB9XG4gIC5zY2FsZS1pbi1kb3duICB7IEBpbmNsdWRlIG11aS16b29tKGluLCAgMS41LCAxKTsgfVxuICAuc2NhbGUtb3V0LXVwICAgeyBAaW5jbHVkZSBtdWktem9vbShvdXQsIDEsIDEuNSk7IH1cbiAgLnNjYWxlLW91dC1kb3duIHsgQGluY2x1ZGUgbXVpLXpvb20ob3V0LCAxLCAwLjUpOyB9XG5cbiAgLy8gU3BpblxuICAuc3Bpbi1pbiAgICAgeyBAaW5jbHVkZSBtdWktc3BpbihpbiwgIGN3KTsgfVxuICAuc3Bpbi1vdXQgICAgeyBAaW5jbHVkZSBtdWktc3BpbihvdXQsIGN3KTsgfVxuICAuc3Bpbi1pbi1jY3cgIHsgQGluY2x1ZGUgbXVpLXNwaW4oaW4sICBjY3cpOyB9XG4gIC5zcGluLW91dC1jY3cgeyBAaW5jbHVkZSBtdWktc3BpbihvdXQsIGNjdyk7IH1cblxuICAvLyBUcmFuc2l0aW9uIE1vZGlmaWVyc1xuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1zcGVlZHMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IHRyYW5zaXRpb24tZHVyYXRpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWVhc2luZ3Mge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1kZWxheXMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfS1kZWxheSB7IHRyYW5zaXRpb24tZGVsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG5cbi8vIEFuaW1hdGlvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5AbWl4aW4gbW90aW9uLXVpLWFuaW1hdGlvbnMge1xuICAuc2hha2UgICAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNoYWtlKTsgfVxuICAuc3Bpbi1jdyAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNwaW4pOyB9XG4gIC5zcGluLWNjdyB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc3BpbihjY3cpKTsgfVxuICAud2lnZ2xlICAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHdpZ2dsZSk7IH1cblxuICAuc2hha2UsXG4gIC5zcGluLWN3LFxuICAuc3Bpbi1jY3csXG4gIC53aWdnbGUge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLXNwZWVkcywgZGVmYXVsdCk7XG4gIH1cblxuICAvLyBBbmltYXRpb24gTW9kaWZpZXJzXG4gIC8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4gIC5pbmZpbml0ZSB7IGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLXNwZWVkcyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgYW5pbWF0aW9uLWR1cmF0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1lYXNpbmdzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1kZWxheXMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfS1kZWxheSB7IGFuaW1hdGlvbi1kZWxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBGb3JtYXQgZm9yIENTUyBjbGFzc2VzIGNyZWF0ZWQgd2l0aCBNb3Rpb24gVUkuXG4vLy8gQHR5cGUgTWFwXG4vLy8gQHByb3Age0Jvb2xlYW59IGFwcGVuZCBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNlbGVjdG9ycyBhcmUgY2hhaW5lZCB0byB0aGUgc2VsZWN0b3IgKGAuY2xhc3MuZW50ZXJgKSwgb3IgYXBwZW5kZWQgYXMgYSBuZXcgY2xhc3MgKGAuY2xhc3MtZW50ZXJgKS5cbi8vLyBAcHJvcCB7U3RyaW5nfSBwcmVmaXggWydtdWktJ10gLSBQcmVmaXggdG8gYWRkIGJlZm9yZSB0aGUgc3RhdGUgb2YgYSBjbGFzcy4gRW50ZXIgYW4gZW1wdHkgc3RyaW5nIHRvIHVzZSBubyBwcmVmaXguXG4vLy8gQHByb3Age1N0cmluZ30gcHJlZml4IFsnLWFjdGl2ZSddIC0gU3VmZml4IHRvIGFkZCB0byB0aGUgYWN0aXZlIHN0YXRlIGNsYXNzLlxuJG1vdGlvbi11aS1jbGFzc2VzOiAoXG4gIGNoYWluOiB0cnVlLFxuICBwcmVmaXg6ICdtdWktJyxcbiAgYWN0aXZlOiAnLWFjdGl2ZScsXG4pICFkZWZhdWx0O1xuXG4vLy8gU3RhdGUgbmFtZXMgdG8gcmVmZXJlbmNlIHdoZW4gd3JpdGluZyBtb3Rpb24gY2xhc3Nlcy4gVG8gdXNlIG11bHRpcGxlIGNsYXNzIG5hbWVzIGZvciBvbmUgc3RhdGUsIGVudGVyIGEgbGlzdCBvZiBzdHJpbmdzIGluc3RlYWQgb2Ygb25lIHN0cmluZy5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktc3RhdGVzOiAoXG4gIGluOiAnZW50ZXInLFxuICBvdXQ6ICdsZWF2ZScsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzcGVlZCB0aGF0IHRyYW5zaXRpb25zIGFuZCBhbmltYXRpb25zIHBsYXkgYXQsIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgc3BlZWQuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLXNwZWVkczogKFxuICBkZWZhdWx0OiA1MDBtcyxcbiAgc2xvdzogNzUwbXMsXG4gIGZhc3Q6IDI1MG1zLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGVsYXkgdG8gYWRkIGJlZm9yZSBtb3Rpb24sIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgZGVsYXkuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLWRlbGF5czogKFxuICBkZWZhdWx0OiAwLFxuICBzaG9ydDogMzAwbXMsXG4gIGxvbmc6IDcwMG1zLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZWFzaW5nIGZvciB0cmFuc2l0aW9ucyBhbmQgYW5pbWF0aW9ucywgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBlYXNpbmcuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLWVhc2luZ3M6IChcbiAgZGVmYXVsdDogbGluZWFyLFxuICBsaW5lYXI6IGxpbmVhcixcbiAgZWFzZTogZWFzZSxcbiAgZWFzZS1pbjogZWFzZS1pbixcbiAgZWFzZS1vdXQ6IGVhc2Utb3V0LFxuICBlYXNlLWluLW91dDogZWFzZS1pbi1vdXQsXG4gIGJvdW5jZS1pbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpLFxuICBib3VuY2Utb3V0OiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpLFxuICBib3VuY2UtaW4tb3V0OiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSksXG4pICFkZWZhdWx0O1xuXG4vLy8gTWlzY2VsbGFuZW91cyBzZXR0aW5ncyByZWxhdGVkIHRvIE1vdGlvbiBVSS5cbi8vLyBAdHlwZSBNYXBcbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW2ZhbHNlXSAtIERlZmluZXMgaWYgc2xpZGUgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBoaW5nZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNjYWxlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgc3BpbiBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuJG1vdGlvbi11aS1zZXR0aW5nczogKFxuICBzbGlkZS1hbmQtZmFkZTogZmFsc2UsXG4gIGhpbmdlLWFuZC1mYWRlOiB0cnVlLFxuICBzY2FsZS1hbmQtZmFkZTogdHJ1ZSxcbiAgc3Bpbi1hbmQtZmFkZTogdHJ1ZSxcbiAgcGF1c2UtcXVldWUtY2xhc3M6ICdpcy1wYXVzZWQnLFxuICBhY3RpdmF0ZS1xdWV1ZS1jbGFzczogJ2lzLWFuaW1hdGluZycsXG4pICFkZWZhdWx0O1xuIiwiLy8gSW50ZXJuYWwgY291bnRlciBmb3IgY3JlYXRpbmcgdW5pcXVlIGtleWZyYW1lIG5hbWVzXG4kLW11aS1jdXN0b206IDA7XG5cbi8vLyBDcmVhdGVzIGEga2V5ZnJhbWUgZnJvbSBvbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zLiBVc2UgdGhpcyBmdW5jdGlvbiBpbnN0ZWFkIG9mIGBtdWktYW5pbWF0aW9uYCBpZiB5b3Ugd2FudCB0byBjcmVhdGUgYSBrZXlmcmFtZSBhbmltYXRpb24gKndpdGhvdXQqIGF1dG9tYXRpY2FsbHkgYXNzaWduaW5nIGl0IHRvIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGtleWZyYW1lLlxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJGVmZmVjdHMuLi4gLSBPbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIHRvIGJ1aWxkIHRoZSBrZXlmcmFtZSB3aXRoLlxuQG1peGluIG11aS1rZXlmcmFtZXMoJG5hbWUsICRlZmZlY3RzLi4uKSB7XG4gICRvYmo6IC1tdWktcHJvY2Vzcy1hcmdzKCRlZmZlY3RzLi4uKTtcbiAgJG9iajogbWFwLXJlbW92ZSgkb2JqLCBuYW1lKTtcblxuICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAvLyBOb3cgaXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgcGVyY2VudGFnZVxuICAgIEBlYWNoICRwY3QsICRwcm9wcyBpbiAkb2JqIHtcbiAgICAgICN7LW11aS1rZXlmcmFtZS1wY3QoJHBjdCl9IHtcbiAgICAgICAgLy8gTGFzdGx5LCBpdGVyYXRlIHRocm91Z2ggZWFjaCBDU1MgcHJvcGVydHkgd2l0aGluIGEgcGVyY2VudGFnZSBhbmQgcHJpbnQgaXQgb3V0XG4gICAgICAgIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJHByb3BzIHtcbiAgICAgICAgICAjeyRwcm9wfTogI3skdmFsdWV9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc3RyaW5nIGZvciBhIENTUyBrZXlmcmFtZSwgYnkgY29udmVydGluZyBhIGxpc3Qgb2YgbnVtYmVycyB0byBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIHBlcmNlbnRhZ2UgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRpbnB1dCAtIExpc3Qgb2YgbnVtYmVycyB0byB1c2UuXG4vLy8gQHJldHVybiB7U3RyaW5nfSBBIHNldCBvZiBjb21tYS1zZXBhcmF0ZWQgcGVyY2VudGFnZSB2YWx1ZXMuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1wY3QoJGlucHV0KSB7XG4gICRvdXRwdXQ6ICgpO1xuXG4gIEBpZiB0eXBlLW9mKCRpbnB1dCkgPT0gJ251bWJlcicge1xuICAgICRvdXRwdXQ6ICgkaW5wdXQgKiAxJSk7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkaW5wdXQpID09ICdsaXN0JyB7XG4gICAgQGVhY2ggJGkgaW4gJGlucHV0IHtcbiAgICAgICRvdXRwdXQ6IGFwcGVuZCgkb3V0cHV0LCAoJGkgKiAxJSksIGNvbW1hKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIFwiI3skb3V0cHV0fVwiO1xufVxuXG4vLy8gUHJpbnRzIHRoZSBDU1MgcHJvcGVydGllcyBmcm9tIGEgc3BlY2lmaWMga2V5IGluIGEga2V5ZnJhbWVzIG1hcC4gVXNlZCB0byBib3Jyb3cgQ1NTIGZyb20ga2V5ZnJhbWUgZnVuY3Rpb25zIGZvciB1c2UgaW4gdHJhbnNpdGlvbnMuXG4vLy8gQHBhcmFtIHtNYXB9ICRrZiAtIEtleWZyYW1lIG1hcCB0byBleHRyYWN0IGZyb20uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRrZXkgLSBLZXkgaW4gdGhlIG1hcCB0byBwcmludCB0aGUgQ1NTIG9mLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIC1tdWkta2V5ZnJhbWUtZ2V0KCRrZiwgJGtleSkge1xuICAkbWFwOiBtYXAtZ2V0KCRrZiwgJGtleSk7XG5cbiAgQGVhY2ggJHByb3AsICR2YWx1ZSBpbiAkbWFwIG9yICgpIHtcbiAgICAvLyBTb21lIGtleWZyYW1lIG1hcHMgc3RvcmUgdHJhbnNmb3JtcyBhcyBxdW90ZWQgc3RyaW5nc1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ3N0cmluZycge1xuICAgICAgJHZhbHVlOiB1bnF1b3RlKCR2YWx1ZSk7XG4gICAgfVxuICAgICN7JHByb3B9OiAkdmFsdWU7XG4gIH1cbn1cblxuLy8vIFJlZm9ybWF0cyBhIG1hcCBjb250YWluaW5nIGtleXMgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzLCBzbyB0aGF0IGVhY2gga2V5IGlzIGEgc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHNwbGl0IHVwLlxuLy8vIEByZXR1cm4ge01hcH0gQSByZWZvcm1hdHRlZCBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1zcGxpdCgkbWFwKSB7XG4gICRuZXctbWFwOiAoKTtcblxuICAvLyBTcGxpdCBrZXlzIHdpdGggbXVsdGlwbGUgdmFsdWVzIGludG8gaW5kaXZpZHVhbCBrZXlzXG4gIEBlYWNoICRrZXksICRpdGVtIGluICRtYXAge1xuICAgICRrZXktdHlwZTogdHlwZS1vZigka2V5KTtcblxuICAgIEBpZiAka2V5LXR5cGUgPT0gJ251bWJlcicge1xuICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrZXk6ICRpdGVtKSk7XG4gICAgfSBAZWxzZSBpZiAka2V5LXR5cGUgPT0gJ2xpc3QnIHtcbiAgICAgIEBlYWNoICRrIGluICRrZXkge1xuICAgICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGs6ICRpdGVtKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbmV3LW1hcDtcbn1cblxuLy8vIENvbWJpbmVzIGEgc2VyaWVzIG9mIGtleWZyYW1lIG9iamVjdHMgaW50byBvbmUuXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkbWFwcy4uLiAtIEEgc2VyaWVzIG9mIG1hcHMgdG8gbWVyZ2UsIGFzIGluZGl2aWR1YWwgcGFyYW1ldGVycy5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgY29tYmluZWQga2V5ZnJhbWUgb2JqZWN0LlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtY29tYmluZSgkbWFwcy4uLikge1xuICAkbmV3LW1hcDogKCk7XG5cbiAgLy8gSXRlcmF0ZSB0aHJvdWdoIGVhY2ggbWFwIHBhc3NlZCBpblxuICBAZWFjaCAkbWFwIGluICRtYXBzIHtcbiAgICBAaWYgLW11aS1pcy1mdW5jdGlvbigkbWFwKSB7XG4gICAgICAkbWFwOiAtbXVpLXNhZmUtY2FsbCgkbWFwKTtcbiAgICB9XG5cbiAgICAkbWFwOiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApO1xuXG4gICAgLy8gSXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgaW4gdGhlIG1hcFxuICAgIC8vICRrZXkgaXMgdGhlIGtleWZyYW1lIHBlcmNlbnRhZ2VcbiAgICAvLyAkdmFsdWUgaXMgYSBtYXAgb2YgQ1NTIHByb3BlcnRpZXNcbiAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgICAkbmV3LXZhbHVlOiAoKTtcblxuICAgICAgQGlmIG1hcC1oYXMta2V5KCRuZXctbWFwLCAka2V5KSB7XG4gICAgICAgIC8vIElmIHRoZSBtYXAgYWxyZWFkeSBoYXMgdGhlIGtleWZyYW1lICUsIGFwcGVuZCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6IC1tdWktbWVyZ2UtcHJvcGVydGllcyhtYXAtZ2V0KCRuZXctbWFwLCAka2V5KSwgJHZhbHVlKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBPdGhlcndpc2UsIGNyZWF0ZSBhIG5ldyBtYXAgd2l0aCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6ICR2YWx1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gRmluYWxseSwgbWVyZ2UgdGhlIG1vZGlmaWVkIGtleWZyYW1lIHZhbHVlIGludG8gdGhlIG91dHB1dCBtYXBcbiAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgka2V5OiAkbmV3LXZhbHVlKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gTWFrZSBhIG5hbWUgZm9yIHRoZSBrZXlmcmFtZXNcbiAgJC1tdWktY3VzdG9tOiAkLW11aS1jdXN0b20gKyAxICFnbG9iYWw7XG4gICRtYXAtbmFtZTogKG5hbWU6ICdjdXN0b20tI3skLW11aS1jdXN0b219Jyk7XG4gICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICRtYXAtbmFtZSk7XG5cbiAgQHJldHVybiAkbmV3LW1hcDtcbn1cblxuLy8vIENvbWJpbmVzIHR3byBtYXBzIG9mIENTUyBwcm9wZXJ0aWVzIGludG8gb25lIG1hcC4gSWYgYm90aCBtYXBzIGhhdmUgYSB0cmFuc2Zvcm0gcHJvcGVydHksIHRoZSB2YWx1ZXMgZnJvbSBlYWNoIHdpbGwgYmUgY29tYmluZWQgaW50byBvbmUgcHJvcGVydHkuXG4vLy8gQHBhcmFtIHtNYXB9ICRvbmUgLSBGaXJzdCBtYXAgdG8gbWVyZ2UuXG4vLy8gQHBhcmFtIHtNYXB9ICR0d28gLSBTZWNvbmQgbWFwIHRvIG1lcmdlLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1tZXJnZS1wcm9wZXJ0aWVzKCRvbmUsICR0d28pIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRvbmUsIHRyYW5zZm9ybSkgYW5kIG1hcC1oYXMta2V5KCR0d28sIHRyYW5zZm9ybSkge1xuICAgICR0cmFuc2Zvcm06IGpvaW4obWFwLWdldCgkb25lLCB0cmFuc2Zvcm0pLCBtYXAtZ2V0KCR0d28sIHRyYW5zZm9ybSkpO1xuICAgICRvbmU6IG1hcC1tZXJnZSgkb25lLCAodHJhbnNmb3JtOiAkdHJhbnNmb3JtKSk7XG4gICAgJHR3bzogbWFwLXJlbW92ZSgkdHdvLCB0cmFuc2Zvcm0pO1xuICB9XG5cbiAgQHJldHVybiBtYXAtbWVyZ2UoJG9uZSwgJHR3byk7XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNjYWxpbmcgdHJhbnNpdGlvbi4gQSBzY2FsZSBvZiBgMWAgbWVhbnMgdGhlIGVsZW1lbnQgaXMgdGhlIHNhbWUgc2l6ZS4gTGFyZ2VyIG51bWJlcnMgbWFrZSB0aGUgZWxlbWVudCBiaWdnZXIsIHdoaWxlIG51bWJlcnMgbGVzcyB0aGFuIDEgbWFrZSB0aGUgZWxlbWVudCBzbWFsbGVyLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbbnVsbF0gLSBTaXplIHRvIHN0YXJ0IGF0LiBCeSBkZWZhdWx0IGAwYCBhbmQgYDFgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG8gW251bGxdIC0gU2l6ZSB0byBlbmQgYXQuIEJ5IGRlZmF1bHQgYDFgIGFuZCBgMGAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS16b29tKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbnVsbCxcbiAgJHRvOiBudWxsLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzY2FsZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGZyb206IGlmKCRmcm9tICE9IG51bGwsICRmcm9tLCBpZigkc3RhdGUgPT0gaW4sIDAsIDEpKTtcbiAgJHRvOiBpZigkdG8gIT0gbnVsbCwgJHRvLCBpZigkc3RhdGUgPT0gaW4sIDEsIDApKTtcbiAgJHNjYWxlOiB6b29tKCRmcm9tLCAkdG8pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzY2FsZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2NhbGUsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi5tYXN0ZXItY29udGVudCB7XG5cdHBhZGRpbmc6IHJlbS1jYWxjKDQwIDAgMTApO1xuXHRiYWNrZ3JvdW5kOiAjZjZmNmY2O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDEwO1xuXG5cdEBhdC1yb290IC5wYWdlLXRlbXBsYXRlLXRlbXBsYXRlLWxhbmRpbmctcGFnZS1saXN0aW5nICN7Jn0ge1xuXHRcdGJhY2tncm91bmQ6ICNkZGNhYWY7XG5cdH1cblxuXHQmX19jb2x1bW4ge1xuXHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcblx0fVxufVxuIiwiLnBhZ2luYXRpb24ge1xuXHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cdG1hcmdpbjogcmVtLWNhbGMoMjAgLTMgMCk7XG5cblx0Ji0td2l0aC1zZXBhcmF0b3Ige1xuXHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCAkcGFnaW5hdGlvbi10b3Atc2VwYXJhdG9yO1xuXHRcdHBhZGRpbmctdG9wOiByZW0tY2FsYygzOSk7XG5cdFx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDE5KTtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoNDkpO1xuXHRcdFx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDQ5KTtcblx0XHR9XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0ICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdH1cblxuXHQmX19pdGVtIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0bWFyZ2luOiByZW0tY2FsYygwIDMgNik7XG5cdH1cblxuXHQmX19saW5rIHtcblx0XHRiYWNrZ3JvdW5kOiAkcGFnaW5hdGlvbi1pbmFjdGl2ZS1iZztcblx0XHRib3JkZXItcmFkaXVzOiAkcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzO1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkICRwYWdpbmF0aW9uLWluYWN0aXZlLWJvcmRlcjtcblx0XHRjb2xvcjogJHBhZ2luYXRpb24taW5hY3RpdmUtdGV4dDtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNik7XG5cdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0bWluLXdpZHRoOiByZW0tY2FsYyg0MCk7XG5cdFx0cGFkZGluZzogcmVtLWNhbGMoMTEgNCk7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0dHJhbnNpdGlvbjogJHRyYW5zaXRpb24tZHVyYXRpb24gYWxsO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdCAgbWluLXdpZHRoOiByZW0tY2FsYyg0OCk7XG5cdFx0XHRwYWRkaW5nOiByZW0tY2FsYygxNSA0KTtcblx0XHR9XG5cblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0YmFja2dyb3VuZDogJHBhZ2luYXRpb24tYWN0aXZlLWJnO1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyO1xuXHRcdFx0Y29sb3I6ICRwYWdpbmF0aW9uLWFjdGl2ZS10ZXh0O1xuXHRcdH1cblxuXHRcdCYtLWN1cnJlbnQge1xuXHRcdFx0YmFja2dyb3VuZDogJHBhZ2luYXRpb24tYWN0aXZlLWJnO1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyO1xuXHRcdFx0Y29sb3I6ICRwYWdpbmF0aW9uLWFjdGl2ZS10ZXh0O1xuXHRcdFx0Y3Vyc29yOiBkZWZhdWx0O1xuXHRcdH1cblx0fVxuXG5cdCZfX2ljb24ge1xuXHRcdEBleHRlbmQgJWljb247XG5cblx0XHQmLS1wcmV2aW91cyB7XG5cdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRAZXh0ZW5kICVpY29uLWFuZ2xlLWxlZnQ6OmJlZm9yZTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLS1uZXh0IHtcblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdEBleHRlbmQgJWljb24tYW5nbGUtcmlnaHQ6OmJlZm9yZTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLS1maXJzdCB7XG5cdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRAZXh0ZW5kICVpY29uLWFuZ2xlLWRvdWJsZS1sZWZ0OjpiZWZvcmU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji0tbGFzdCB7XG5cdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRAZXh0ZW5kICVpY29uLWFuZ2xlLWRvdWJsZS1yaWdodDo6YmVmb3JlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLnBvc3QtY29udGVudCB7XG5cdCZfX21ldGEge1xuXHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcblx0XHRtYXJnaW4tdG9wOiByZW0tY2FsYygxOSk7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdCAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDUpO1xuXHRcdFx0bWFyZ2luLXRvcDogcmVtLWNhbGMoMTkpO1xuXHRcdH1cblx0fVxuXG5cdCZfX3RpdGxlIHtcblx0XHRtYXJnaW4tdG9wOiAtLjI1ZW07XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblxuXHRcdC8vIEBpZiAkcG9zdC1jb250ZW50LWhhcy1saW5lID09IHRydWUge1xuXHRcdC8vIFx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDE5KTtcblx0XHQvLyBcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkcG9zdC1jb250ZW50LWxpbmU7XG5cdFx0Ly8gXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxOSk7XG5cdFx0Ly9cblx0XHQvLyBcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0Ly8gXHQgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyNyk7XG5cdFx0Ly8gXHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI3KTtcblx0XHQvLyBcdH1cblx0XHQvL1xuXHRcdC8vIFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdC8vIFx0ICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMzcpO1xuXHRcdC8vIFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzNyk7XG5cdFx0Ly8gXHR9XG5cdFx0Ly8gfVxuXHRcdC8vXG5cdFx0Ly8gJi0tbm8tYm9yZGVyIHtcblx0XHQvLyBcdGJvcmRlci1ib3R0b206IDA7XG5cdFx0Ly8gXHRwYWRkaW5nLWJvdHRvbTogMDtcblx0XHQvLyBcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0Ly8gfVxuXG5cdFx0Ji0tc21hbGxlciB7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0ICBmb250LXNpemU6IHJlbS1jYWxjKDMyKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmX19oZWFkZXIge1xuXHRcdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxOSk7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdCAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDI3KTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMzcpO1xuXHRcdH1cblxuXHRcdCYtLW1peGVkLXdpdGgtYm9keSB7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTkpO1xuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMjUpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYtLWhhcy1saW5lIHtcblx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkcG9zdC1jb250ZW50LWxpbmU7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxOSk7XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI3KTtcblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzNyk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Jl9fZGVzY3JpcHRpb24ge1xuXHRcdG1hcmdpbi10b3A6IHJlbS1jYWxjKDE5KTtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRtYXJnaW4tdG9wOiByZW0tY2FsYygyNyk7XG5cdFx0fVxuXG5cdFx0cCB7XG5cdFx0XHRtYXJnaW4tdG9wOiByZW0tY2FsYygtNCk7XG5cblx0XHRcdCY6bGFzdC1vZi10eXBlIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmX19mZWF0dXJlZC1pbWFnZS13cmFwcGVyIHtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyNSk7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdCAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDApO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHQgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDYwKTtcblx0XHR9XG5cblx0XHQmLS1vdXQtb2YtZ3JpZCB7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRcdHdpZHRoOiBjYWxjKDEwMCUgKyAje3JlbS1jYWxjKDYwKX0pO1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogcmVtLWNhbGMoLTMwKTtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiByZW0tY2FsYygtMzApO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYtLW10IHtcblx0XHRcdG1hcmdpbi10b3A6IHJlbS1jYWxjKDMwKTtcblx0XHR9XG5cdH1cblxuXHQmX19pbnRybyB7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxOSk7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdCAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdCAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG5cdFx0fVxuXHR9XG5cblx0Jl9fYm9keSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDApO1xuXG5cdFx0Ji0tbGltaXQtd2lkdGgge1xuXHRcdFx0bWF4LXdpZHRoOiByZW0tY2FsYyg4MTUpO1xuXHRcdH1cblxuXHRcdCYtLWxhcmdlci1mb250IHtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHQgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuXG5cdFx0XHRcdHAge1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI0KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHQgIHAge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIuc2VhcmNoLWZvcm0ge1xuXHRtYXgtd2lkdGg6IHJlbS1jYWxjKDMzMCk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogbm93cmFwO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cblx0QGF0LXJvb3QgLm1haW4tbmF2LW1vYmlsZSAjeyZ9IHtcblx0XHRtYXgtd2lkdGg6IG5vbmU7XG5cdFx0cGFkZGluZzogMCByZW0tY2FsYygxNik7XG5cdFx0bWFyZ2luLXRvcDogcmVtLWNhbGMoMTApO1xuXHR9XG5cblx0Jl9faW5wdXQtd3JhcHBlciB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0d2lkdGg6IGNhbGMoMTAwJSAtICN7JHNlYXJjaC1mb3JtLWJ1dHRvbi13aWR0aH0pO1xuXHR9XG5cblx0Jl9faW5wdXQge1xuXHRcdGhlaWdodDogJHNlYXJjaC1mb3JtLWhlaWdodDtcblx0XHRwYWRkaW5nOiByZW0tY2FsYygxMiAxMCk7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdGJvcmRlci1yaWdodDogMDtcblx0XHRib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAwIDAgJGdsb2JhbC1yYWRpdXM7XG5cblx0XHQmOjpwbGFjZWhvbGRlciB7XG5cdFx0XHRjb2xvcjogJHNlYXJjaC1mb3JtLWlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuXHRcdH1cblxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHRcdGJvcmRlci1yaWdodDowO1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAkc2VhcmNoLWZvcm0tYnV0dG9uLWNvbG9yO1xuXHRcdH1cblx0fVxuXG5cdCZfX2J1dHRvbiB7XG5cdFx0QGluY2x1ZGUgYnV0dG9uO1xuXHRcdGJhY2tncm91bmQ6ICRzZWFyY2gtZm9ybS1idXR0b24tY29sb3I7XG5cdFx0cGFkZGluZzogcmVtLWNhbGMoMTApO1xuXHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0aGVpZ2h0OiAkc2VhcmNoLWZvcm0taGVpZ2h0O1xuXHRcdHdpZHRoOiAkc2VhcmNoLWZvcm0tYnV0dG9uLXdpZHRoO1xuXHRcdG1hcmdpbjogMDtcblx0XHRib3JkZXItcmFkaXVzOiAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDA7XG5cblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHNlYXJjaC1mb3JtLWJ1dHRvbi1jb2xvci1ob3Zlcjtcblx0XHR9XG5cdH1cblxuXHQmX19pY29uIHtcblx0XHRtYXgtd2lkdGg6IDIycHg7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXG5cdFx0Y2lyY2xlIHtcblx0XHRcdHN0cm9rZTogJHNlYXJjaC1mb3JtLWljb24tY29sb3I7XG5cdFx0fVxuXG5cdFx0cGF0aCB7XG5cdFx0XHRmaWxsOiAkc2VhcmNoLWZvcm0taWNvbi1jb2xvcjtcblx0XHR9XG5cdH1cbn1cbiIsIi5zZWFyY2gtd2lkZ2V0IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHQmX19hY3RpdmF0b3Ige1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6ICN7JG1haW4tbmF2LWRlc2t0b3AtbGluay1wYWRkaW5nLXNpZGUgKiAyfTtcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXG5cdFx0XHQmOmhvdmVyLFxuXHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdC5zZWFyY2gtd2lkZ2V0X19pY29uIHtcblx0XHRcdFx0XHRjaXJjbGUge1xuXHRcdFx0XHRcdFx0c3Ryb2tlOiAkZ29sZDtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRwYXRoIHtcblx0XHRcdFx0XHRcdGZpbGw6ICRnb2xkO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCZfX2ljb24ge1xuXHRcdCoge1xuXHRcdFx0dHJhbnNpdGlvbjogJHRyYW5zaXRpb24tZHVyYXRpb24gYWxsO1xuXHRcdH1cblx0fVxuXG5cdCZfX2Ryb3Bkb3duIHtcblx0XHRAaW5jbHVkZSBkcm9wZG93bi1jb250YWluZXI7XG5cdFx0Ym9yZGVyOiAwO1xuXHR9XG59XG4iLCIuc2lkZWJhci13aWRnZXQge1xuXHQrICN7Jn0ge1xuXHRcdG1hcmdpbi10b3A6IHJlbS1jYWxjKDMwKTtcblx0fVxuXG5cdCZfX3RpdGxlIHtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcblx0fVxuXG5cdCYud2lkZ2V0X25hdl9tZW51IHtcblx0XHRAaW5jbHVkZSBib3hlZC1jb250ZW50KCk7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHQgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXHRcdH1cblxuXHRcdC5zaWRlYmFyLXdpZGdldF9fdGl0bGUge1xuXHRcdFx0QGluY2x1ZGUgYm94ZWQtY29udGVudC1oZWFkaW5nO1xuXHRcdH1cblxuXHRcdC5tZW51Om5vdCgjbWVudS1zb2NpYWwpIHtcblx0XHRcdEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuXHRcdFx0bGkge1xuXHRcdFx0XHQmLmN1cnJlbnQtY2F0IGEsXG5cdFx0XHRcdCYuY3VycmVudC1tZW51LWl0ZW0gYSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgc2lkZS1saW5rLWFjdGl2ZTtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0ICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAycmVtICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0d2lkdGg6IDE4cmVtO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0KyBsaSB7XG5cdFx0XHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICNFMUU1RUE7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmLm1lbnUtbW9yZSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgc2lkZS1saW5rO1xuXHRcdFx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblxuXHRcdFx0XHRcdGJ1dHRvbiB7XG5cdFx0XHRcdFx0XHRjb2xvcjogJHByaW1hcnktY29sb3I7XG5cdFx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgY3VycmVudENvbG9yO1xuXHRcdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0XHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiAzcHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdGEge1xuXHRcdFx0XHRAaW5jbHVkZSBzaWRlLWxpbms7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuXG5cdFx0XHRcdCY6aG92ZXIsXG5cdFx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRcdGNvbG9yOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ji53aWRnZXRfdGV4dCB7XG5cdFx0QGluY2x1ZGUgYm94ZWQtY29udGVudCgpO1xuXHR9XG59XG5cblxuLnNpZGViYXItd2lkZ2V0LndpZGdldF9uYXZfbWVudSAubWVudTpub3QoI21lbnUtc29jaWFsKSBhe1xuXHRwYWRkaW5nLWxlZnQ6IDJyZW0gIWltcG9ydGFudDtcbn0iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXHRkZXZlbG9wZXItc2hhcmUgdmFyaWFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRmYWNlYm9vay1iZzogIzNiNTk5OTtcbiR0d2l0dGVyLWJnOiAjNTVhY2VlO1xuJGxpbmtlZGluLWJnOiAjMDA3N2I1O1xuJHlvdXR1YmUtYmc6ICNmZjAwMDA7XG4kZ3BsdXMtYmc6ICNkZDRiMzk7XG4kcGludGVyZXN0LWJnOiAjYmQwODFjO1xuJHJlZGRpdC1iZzogI2ZmNDUwMDtcbiRzdHVtYmxldXBvbi1iZzogI2ViNDgyMztcbiRpbnN0YWdyYW0tYmc6ICNkNjI0OWY7XG4kaW5zdGFncmFtLWJnLWdyYWQ6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgMzAlIDEwNyUsICNmZGY0OTcgMCUsICNmZGY0OTcgNSUsICNmZDU5NDkgNDUlLCNkNjI0OWYgNjAlLCMyODVBRUIgOTAlKTtcblxuJXNvY2lhbC1pY28ge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHdpZHRoOiA0MHB4O1xuXHRoZWlnaHQ6IDQwcHg7XG5cdHBhZGRpbmc6IDA7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0KTtcblxuXHQmOjpiZWZvcmUge1xuXHRcdEBleHRlbmQgJWljb247XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHdpZHRoOiA0MHB4O1xuXHRcdGhlaWdodDogNDBweDtcblx0XHRjb2xvcjogJGZvb3Rlci1iZztcblx0XHRsaW5lLWhlaWdodDogNDBweDtcblx0XHRib3JkZXItcmFkaXVzOiA5OTk5cHg7XG5cdFx0Zm9udC1zaXplOiAyMnB4O1xuXHRcdHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uIGNvbG9yIGxpbmVhcjtcblx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMjMwLjU5ZGVnLCAjQkI4ODMwIDAlLCAjRTNCNzUzIDQ4LjgxJSwgI0JCODgzMCA5MS45MSUpO1xuXHR9XG5cblx0Jjpob3Zlcixcblx0Jjpmb2N1cyB7XG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdC8vIG9wYWNpdHk6IC44O1xuXHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHR9XG5cdH1cbn1cblxuLnNpZGViYXIsXG4uZm9vdGVyIHtcblx0Ly8gU29jaWFsIGljb25zXG5cdGFbaHJlZio9J2ZhY2Vib29rLmNvbSddIHtcblx0XHRAZXh0ZW5kICVzb2NpYWwtaWNvO1xuXG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdEBleHRlbmQgJWljb24tZmFjZWJvb2s6OmJlZm9yZTtcblx0XHRcdC8vIGJhY2tncm91bmQ6ICRmYWNlYm9vay1iZztcblx0XHR9XG5cdH1cblxuXHRhW2hyZWYqPSd0d2l0dGVyLmNvbSddIHtcblx0XHRAZXh0ZW5kICVzb2NpYWwtaWNvO1xuXG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdEBleHRlbmQgJWljb24tdHdpdHRlcjo6YmVmb3JlO1xuXHRcdFx0Ly8gYmFja2dyb3VuZDogJHR3aXR0ZXItYmc7XG5cdFx0fVxuXHR9XG5cblx0YVtocmVmKj0nbGlua2VkaW4uY29tJ10ge1xuXHRcdEBleHRlbmQgJXNvY2lhbC1pY287XG5cblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0QGV4dGVuZCAlaWNvbi1saW5rZWRpbjo6YmVmb3JlO1xuXHRcdFx0Ly8gYmFja2dyb3VuZDogJGxpbmtlZGluLWJnO1xuXHRcdH1cblx0fVxuXG5cdGFbaHJlZio9J3BpbnRlcmVzdC5jb20nXSB7XG5cdFx0QGV4dGVuZCAlc29jaWFsLWljbztcblxuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRAZXh0ZW5kICVpY29uLXBpbnRlcmVzdDo6YmVmb3JlO1xuXHRcdFx0Ly8gYmFja2dyb3VuZDogJHBpbnRlcmVzdC1iZztcblx0XHR9XG5cdH1cblxuXHRhW2hyZWYqPSd5b3V0dWJlLmNvbSddIHtcblx0XHRAZXh0ZW5kICVzb2NpYWwtaWNvO1xuXG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdEBleHRlbmQgJWljb24teW91dHViZTo6YmVmb3JlO1xuXHRcdFx0Ly8gYmFja2dyb3VuZDogJHlvdXR1YmUtYmc7XG5cdFx0fVxuXHR9XG5cblx0YVtocmVmKj0ncGx1cy5nb29nbGUuY29tJ10ge1xuXHRcdEBleHRlbmQgJXNvY2lhbC1pY287XG5cblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0QGV4dGVuZCAlaWNvbi1ncGx1czo6YmVmb3JlO1xuXHRcdFx0Ly8gYmFja2dyb3VuZDogJGdwbHVzLWJnO1xuXHRcdH1cblx0fVxuXG5cdGFbaHJlZio9J3N0dW1ibGV1cG9uLmNvbSddIHtcblx0XHRAZXh0ZW5kICVzb2NpYWwtaWNvO1xuXG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdEBleHRlbmQgJWljb24tc3R1bWJsZXVwb246OmJlZm9yZTtcblx0XHRcdC8vIGJhY2tncm91bmQ6ICRzdHVtYmxldXBvbi1iZztcblx0XHR9XG5cdH1cblxuXHRhW2hyZWYqPSdpbnN0YWdyYW0uY29tJ10ge1xuXHRcdEBleHRlbmQgJXNvY2lhbC1pY287XG5cblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0QGV4dGVuZCAlaWNvbi1pbnN0YWdyYW06OmJlZm9yZTtcblx0XHRcdC8vIGJhY2tncm91bmQ6ICRpbnN0YWdyYW0tYmc7XG5cdFx0XHQvLyBiYWNrZ3JvdW5kOiAkaW5zdGFncmFtLWJnLWdyYWQ7XG5cdFx0fVxuXHR9XG5cblx0YVtocmVmKj0ncmVkZGl0LmNvbSddIHtcblx0XHRAZXh0ZW5kICVzb2NpYWwtaWNvO1xuXG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdEBleHRlbmQgJWljb24tcmVkZGl0OjpiZWZvcmU7XG5cdFx0XHQvLyBiYWNrZ3JvdW5kOiAkcmVkZGl0LWJnO1xuXHRcdH1cblx0fVxufVxuXG5cbi8vIGRldmVsb3BlciBzaGFyZSBidXR0b25zXG4uc2hhcmUtcG9zdCB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0Ly8gbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDApO1xuXHQvLyBtYXJnaW4tdG9wOiByZW0tY2FsYyg0MCk7XG5cblx0QGF0LXJvb3QgLnNpZGViYXIgI3smfSB7XG5cdFx0Ly8gbWFyZ2luLWJvdHRvbTogMDtcblx0XHQvLyBtYXJnaW4tdG9wOiAwO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cblx0Jl9fdGl0bGUge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRjb2xvcjogaW5oZXJpdDtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuXHRcdGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0bWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxNCk7XG5cdH1cblxuXHQuZGV2LXNoYXJlLWJ1dHRvbnMge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0fVxuXG5cdGEge1xuXHRcdGNvbG9yOiBpbmhlcml0O1xuXHR9XG59XG5cbi5kZXYtc2hhcmUtYnV0dG9ucyxcbi5kZXYtc2hhcmUtYnV0dG9ucy1saW5rIHtcblx0Jl9fdGV4dCB7XG5cdFx0QGV4dGVuZCAuc2NyZWVuLXJlYWRlci10ZXh0O1xuXHR9XG5cblx0Ly8gJl9faXRlbSB7XG5cdC8vIFx0QGV4dGVuZCAlc29jaWFsLWljbztcbiAgLy9cblx0Ly8gXHQmLS1mYWNlYm9vayB7XG5cdC8vIFx0XHQmOjpiZWZvcmUge1xuXHQvLyBcdFx0XHRAZXh0ZW5kICVpY29uLWZhY2Vib29rOjpiZWZvcmU7XG5cdC8vIFx0XHRcdGJhY2tncm91bmQ6ICRmYWNlYm9vay1iZztcblx0Ly8gXHRcdH1cblx0Ly8gXHR9XG4gIC8vXG5cdC8vIFx0Ji0tdHdpdHRlciB7XG5cdC8vIFx0XHQmOjpiZWZvcmUge1xuXHQvLyBcdFx0XHRAZXh0ZW5kICVpY29uLXR3aXR0ZXI6OmJlZm9yZTtcblx0Ly8gXHRcdFx0YmFja2dyb3VuZDogJHR3aXR0ZXItYmc7XG5cdC8vIFx0XHR9XG5cdC8vIFx0fVxuICAvL1xuXHQvLyBcdCYtLWxpbmtlZGluIHtcblx0Ly8gXHRcdCY6OmJlZm9yZSB7XG5cdC8vIFx0XHRcdEBleHRlbmQgJWljb24tbGlua2VkaW46OmJlZm9yZTtcblx0Ly8gXHRcdFx0YmFja2dyb3VuZDogJGxpbmtlZGluLWJnO1xuXHQvLyBcdFx0fVxuXHQvLyBcdH1cbiAgLy9cblx0Ly8gXHQmLS1waW50ZXJlc3Qge1xuXHQvLyBcdFx0Jjo6YmVmb3JlIHtcblx0Ly8gXHRcdFx0QGV4dGVuZCAlaWNvbi1waW50ZXJlc3Q6OmJlZm9yZTtcblx0Ly8gXHRcdFx0YmFja2dyb3VuZDogJHBpbnRlcmVzdC1iZztcblx0Ly8gXHRcdH1cblx0Ly8gXHR9XG4gIC8vXG5cdC8vIFx0Ji0tZ29vZ2xlIHtcblx0Ly8gXHRcdCY6OmJlZm9yZSB7XG5cdC8vIFx0XHRcdEBleHRlbmQgJWljb24tZ3BsdXM6OmJlZm9yZTtcblx0Ly8gXHRcdFx0YmFja2dyb3VuZDogJGdwbHVzLWJnO1xuXHQvLyBcdFx0fVxuXHQvLyBcdH1cbiAgLy9cblx0Ly8gXHQmLS1zdHVtYmxldXBvbiB7XG5cdC8vIFx0XHQmOjpiZWZvcmUge1xuXHQvLyBcdFx0XHRAZXh0ZW5kICVpY29uLXN0dW1ibGV1cG9uOjpiZWZvcmU7XG5cdC8vIFx0XHRcdGJhY2tncm91bmQ6ICRzdHVtYmxldXBvbi1iZztcblx0Ly8gXHRcdH1cblx0Ly8gXHR9XG4gIC8vXG5cdC8vIFx0Ji0tcmVkZGl0IHtcblx0Ly8gXHRcdCY6OmJlZm9yZSB7XG5cdC8vIFx0XHRcdEBleHRlbmQgJWljb24tcmVkZGl0OjpiZWZvcmU7XG5cdC8vIFx0XHRcdGJhY2tncm91bmQ6ICRyZWRkaXQtYmc7XG5cdC8vIFx0XHR9XG5cdC8vIFx0fVxuXHQvLyB9XG59XG4iLCIucGFnZS1oZXJvLXYyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHQvLyBvdmVyZmxvdzogaGlkZGVuO1xuXHRjb2xvcjogJHdoaXRlO1xuXG5cdCZfX2JnLWltYWdlLWNvbnRhaW5lciB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRib3R0b206IDA7XG5cdFx0bGVmdDogMDtcblx0XHRyaWdodDogMDtcblx0XHR6LWluZGV4OiAxO1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICM0NTUzNmE7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0dG9wOiAtODBweDtcblx0XHRcdGJvdHRvbTogLTgwcHg7XG5cdFx0fVxuXG5cdFx0Ji0td2l0aC1vdmVybGF5IHtcblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoOCwgOCwgMzEsIC40NSk7XG5cdFx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRyaWdodDogMDtcblx0XHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0XHR6LWluZGV4OiAyO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYtLXdpdGgtZ3JhZGllbnQge1xuXHRcdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRyaWdodDogMDtcblx0XHRcdFx0aGVpZ2h0OiByZW0tY2FsYygzNTApO1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDAsIDAsIDAsIDAuNSkgMCUsIHJnYmEoMCwgMCwgMCwgMC4wMDAxKSAxMDAlKTtcblx0XHRcdFx0bWl4LWJsZW5kLW1vZGU6IG5vcm1hbDtcblx0XHRcdFx0ei1pbmRleDogMztcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmX19iZy1pbWFnZSB7XG5cdFx0QGluY2x1ZGUgb2JqZWN0LWZpdChjb3ZlciwgNTAlIDUwJSk7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG5cblx0Jl9fY29udGVudC1jb250YWluZXIge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR6LWluZGV4OiA0O1xuXG5cdFx0Ly8gQGF0LXJvb3QgLnBhZ2UtdGVtcGxhdGUtdGVtcGxhdGUtaG9tZXBhZ2UgI3smfSB7XG5cdFx0Ly8gXHRkaXNwbGF5OiBmbGV4O1xuXHRcdC8vIFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHQvLyAgIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSA0MHB4KTtcblx0XHQvLyB9XG5cdFx0Ji0tcGIge1xuXHRcdFx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDUwKTtcblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdCAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDcwKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmX19jb250ZW50IHtcblx0XHRtYXJnaW46IHJlbS1jYWxjKDkwIDAgNjApO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdG1hcmdpbjogcmVtLWNhbGMoMTIwIDAgOTApO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdG1hcmdpbjogcmVtLWNhbGMoMTYwIDAgMTEwKTtcblx0XHR9XG5cblx0XHRAYXQtcm9vdCAucGFnZS10ZW1wbGF0ZS10ZW1wbGF0ZS1sYW5kaW5nLXBhZ2UtbGlzdGluZyAjeyZ9IHtcblx0XHRcdG1hcmdpbjogcmVtLWNhbGMoOTAgMCAxMCk7XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRcdG1hcmdpbjogcmVtLWNhbGMoMTEwIDAgMTApO1xuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRcdG1hcmdpbjogcmVtLWNhbGMoMTQwIDAgMTApO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHQvLyBcdG1hcmdpbjogcmVtLWNhbGMoMjQwIDAgMTQwKTtcblx0XHQvLyB9XG5cdH1cblxuXHQmX190aXRsZSB7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNik7XG5cdFx0YmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIC40KTtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0bWFyZ2luOiAwIHJlbS1jYWxjKC0xMCk7XG5cdFx0cGFkZGluZy1sZWZ0OiByZW0tY2FsYygxMCk7XG5cdFx0cGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTApO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHQgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHQgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzIpO1xuXHRcdH1cblx0fVxuXG5cdCZfX3N1YnRpdGxlIHtcblx0XHRjb2xvcjogaW5oZXJpdDtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcblx0XHRiYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgLjQpO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDEwKTtcblx0XHRwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxMCk7XG5cdFx0bWFyZ2luOiByZW0tY2FsYygwIC0xMCAyMCk7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdCAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XG5cdFx0fVxuXHR9XG5cblx0Jl9fdGV4dCB7XG5cdFx0bWFyZ2luOiAwIHJlbS1jYWxjKC0xMCk7XG5cdFx0cGFkZGluZy1sZWZ0OiByZW0tY2FsYygxMCk7XG5cdFx0cGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTApO1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXG5cdFx0cCB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmU7XG5cdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgLjQpO1xuXHRcdH1cblxuXHRcdCYsXG5cdFx0cCB7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0ICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQvLyAmLS1sYXJnZXIge1xuXHRcdC8vIFx0Jixcblx0XHQvLyBcdHAge1xuXHRcdC8vIFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdC8vIFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjEpO1xuXHRcdC8vIFx0XHR9XG5cdFx0Ly9cblx0XHQvLyBcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdC8vIFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpO1xuXHRcdC8vIFx0XHR9XG5cdFx0Ly8gXHR9XG5cdFx0Ly8gfVxuXG5cdFx0cDpsYXN0LW9mLXR5cGUge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHR9XG5cblx0XHRAYXQtcm9vdCAucGFnZS1oZXJvLXYyX190aXRsZSArICN7Jn0ge1xuXHRcdFx0bWFyZ2luLXRvcDogcmVtLWNhbGMoMTQpO1xuXHRcdH1cblx0fVxuXG5cdCZfX2J1dHRvbiB7XG5cdFx0bWFyZ2luOiAwO1xuXG5cdFx0QGF0LXJvb3QgLnBhZ2UtaGVyby12Ml9fdGl0bGUgKyAjeyZ9IHtcblx0XHRcdG1hcmdpbi10b3A6IHJlbS1jYWxjKDI0KTtcblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0ICBtYXJnaW4tdG9wOiByZW0tY2FsYygzNCk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0QGF0LXJvb3QgLnBhZ2UtaGVyby12Ml9fdGV4dCArICN7Jn0ge1xuXHRcdFx0bWFyZ2luLXRvcDogcmVtLWNhbGMoMjQpO1xuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHQgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDM0KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvLyAmX19kaXNjbGFpbWVyLWNvbnRlbnQge1xuXHQvLyBcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUwKTtcblx0Ly9cblx0Ly8gXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHQvLyBcdCAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNzApO1xuXHQvLyBcdH1cblx0Ly8gfVxuXG5cdCZfX2Rpc2NsYWltZXItdGV4dCB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0XHRiYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgLjQpO1xuXHRcdHBhZGRpbmc6IHJlbS1jYWxjKDE1KTtcblxuXHRcdHAge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNik7XG5cdFx0fVxuXG5cdFx0YSB7XG5cdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cblx0XHRcdCY6aG92ZXIsXG5cdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdD4gKjpsYXN0LWNoaWxkIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0fVxuXHR9XG5cblx0Jl9fZGlzY2xhaW1lci1idXR0b24ge1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0cGFkZGluZzogcmVtLWNhbGMoMTAgMCk7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdH1cblxuXHQvLyAmX19idXR0b24tc2Nyb2xsIHtcblx0Ly8gXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdC8vIFx0Ym90dG9tOiAyMHB4O1xuXHQvLyBcdGxlZnQ6IDUwJTtcblx0Ly8gXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdC8vIFx0Y3Vyc29yOiBwb2ludGVyO1xuXHQvLyBcdGNvbG9yOiBpbmhlcml0O1xuXHQvLyBcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdC8vIFx0b3BhY2l0eTogLjc7XG5cdC8vIFx0dHJhbnNpdGlvbjogJHRyYW5zaXRpb24tZHVyYXRpb24gb3BhY2l0eTtcblx0Ly9cblx0Ly8gXHQmOmhvdmVyLFxuXHQvLyBcdCY6Zm9jdXMge1xuXHQvLyBcdFx0b3BhY2l0eTogMTtcblx0Ly8gXHR9XG5cdC8vXG5cdC8vIFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdC8vIFx0ICBwYWRkaW5nOiByZW0tY2FsYyg4KTtcblx0Ly8gXHR9XG5cdC8vXG5cdC8vIFx0Jjo6YWZ0ZXIge1xuXHQvLyBcdFx0YW5pbWF0aW9uOiBib3VuY2UgNXMgMXMgaW5maW5pdGU7XG5cdC8vIFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdC8vIFx0XHRjb250ZW50OiAnJztcblx0Ly8gXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgaGVpZ2h0PScxNicgdmlld0JveD0nMCAwIDI0IDE2JyB3aWR0aD0nMjQnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGQ9J200Ljc1IDQuNSA3LjUgNy42ODggNy44NzUtNy42ODgnIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzMDA5QjlCJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS13aWR0aD0nMycvJTNFJTNDL3N2ZyUzRVwiKTtcblx0Ly8gXHRcdHdpZHRoOiAzMnB4O1xuXHQvLyBcdFx0aGVpZ2h0OiAyMXB4O1xuXHQvLyBcdFx0YmFja2dyb3VuZC1zaXplOiAzMnB4IDIxcHg7XG5cdC8vXG5cdC8vIFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHQvLyBcdFx0XHR3aWR0aDogNDhweDtcblx0Ly8gXHRcdFx0aGVpZ2h0OiAzMnB4O1xuXHQvLyBcdFx0XHRiYWNrZ3JvdW5kLXNpemU6IDQ4cHggMzJweDtcblx0Ly8gXHRcdH1cblx0Ly8gXHR9XG5cdC8vIH1cbn1cblxuLy8gQGtleWZyYW1lcyBib3VuY2Uge1xuLy8gICAwJSwgNCUsIDEwJSwgMTYlLCAyMCUge1xuLy8gICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuLy8gICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4vL1xuLy8gICA4JSB7XG4vLyAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE1cHgpO1xuLy8gICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNXB4KTsgfVxuLy9cbi8vICAgMTIlIHtcbi8vICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNy41cHgpO1xuLy8gICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC03LjVweCk7IH0gfVxuLy9cbi8vIC5ib3VuY2Uge1xuLy8gICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2U7XG4vLyAgIGFuaW1hdGlvbi1uYW1lOiBib3VuY2U7IH1cbiIsIi5mb290ZXItbmF2IHtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0ICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcblx0fVxuXG5cdCZfX2xpc3Qge1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRtYXJnaW4tdG9wOiByZW0tY2FsYygtNSk7XG5cdFx0fVxuXHR9XG5cblx0Jl9faXRlbSB7XG5cdFx0Ly8gQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdCsgI3smfSB7XG5cdFx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdGNvbnRlbnQ6IFwifFwiO1xuXHRcdFx0XHRcdGNvbG9yOiAkZm9vdGVyLXRleHQ7XG5cdFx0XHRcdFx0cGFkZGluZzogcmVtLWNhbGMoMCA1KTtcblx0XHRcdFx0XHRjb2xvcjogIzg1ODU4NTtcblx0XHRcdFx0fVxuXHRcdFx0XHQvLyBib3JkZXItbGVmdDogMXB4IHNvbGlkICRmb290ZXItdGV4dDtcblx0XHRcdFx0Ly8gbWFyZ2luLWxlZnQ6IDVweDtcblx0XHRcdFx0Ly8gcGFkZGluZy1sZWZ0OiA1cHg7XG5cdFx0XHR9XG5cdFx0Ly8gfVxuXHR9XG5cblx0Jl9fbGluayB7XG5cdFx0Ly8gQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0Ly8gXHRkaXNwbGF5OiBibG9jaztcblx0XHQvLyBcdHBhZGRpbmc6IHJlbS1jYWxjKDcgMCk7XG5cdFx0Ly8gfVxuXG5cdFx0Ly8gQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDUgMCk7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0Ly8gfVxuXHR9XG59XG4iLCIuZm9vdGVyLXNvY2lhbCB7XG5cdCZfX2xpc3Qge1xuXHRcdG1hcmdpbi1sZWZ0OiAtNHB4O1xuXHRcdG1hcmdpbi1yaWdodDogLTRweDtcblx0XHRcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0ICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRcdH1cblx0fVxuXG5cdCZfX2l0ZW0ge1xuXHRcdG1hcmdpbi1sZWZ0OiA0cHg7XG5cdFx0bWFyZ2luLXJpZ2h0OiA0cHg7XG5cdH1cbn1cbiIsIi5hZGRpdGlvbmFsLW1lbnUge1xuXHQmX19idXR0b24ge1xuXHRcdG1hcmdpbi1sZWZ0OiByZW0tY2FsYygyMCk7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRjb2xvcjogJHdoaXRlO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiByZW0tY2FsYygzMCk7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDQwKTtcblx0XHR9XG5cblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0LmFkZGl0aW9uYWwtbWVudV9faWNvbiAqIHtcblx0XHRcdFx0ZmlsbDogJGdvbGQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LmFkZGl0aW9uYWwtbWVudV9faWNvbiAqIHtcblx0XHR0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbiBmaWxsO1xuXHR9XG5cblx0Jl9faXRlbSB7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdCAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cdFx0fVxuXG5cdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHQ+IGEge1xuXHRcdFx0XHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoMjApO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdD4gYSB7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Jl9fbGluayB7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblx0XHRsZXR0ZXItc3BhY2luZzogMS41NzVweDtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblx0XHRtYXJnaW46IHJlbS1jYWxjKDAgMTYpO1xuXHRcdHBhZGRpbmc6IHJlbS1jYWxjKDExIDAgNCk7XG5cdFx0Y29sb3I6ICRibGFjaztcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0dHJhbnNpdGlvbjogJHRyYW5zaXRpb24tZHVyYXRpb24gYm9yZGVyO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0cGFkZGluZzogcmVtLWNhbGMoNyAwKTtcblx0XHRcdG1hcmdpbjogcmVtLWNhbGMoMCA3KTtcblx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0fVxuXG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzIHtcblx0XHRcdGNvbG9yOiAkYmxhY2s7XG5cdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvbGQ7XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdCAgY29sb3I6ICR3aGl0ZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIiVjZWxsLXN0eWxlIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdGZsZXgtd3JhcDogd3JhcDtcblxuXHQ+IGRpdiB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRwYWRkaW5nOiByZW0tY2FsYyg1IDEwKTtcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdCAgcGFkZGluZzogcmVtLWNhbGMoMTApO1xuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdHBhZGRpbmc6IHJlbS1jYWxjKDI1IDMwKTtcblx0fVxufVxuXG4ubGlzdGluZyB7XG5cblx0Ji0tcHVzaC10b3Age1xuXHRcdG1hcmdpbi10b3A6IHJlbS1jYWxjKC04MCk7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdCAgbWFyZ2luLXRvcDogcmVtLWNhbGMoLTEwMCk7XG5cdFx0fVxuXHR9XG5cblx0Jl9faXRlbSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogc3RyZXRjaDtcblx0XHRjb2xvcjogIzJEMkQyRDtcblx0XHRib3gtc2hhZG93OiAwcHggMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG5cdFx0Ym9yZGVyLXJhZGl1czogMXB4O1xuXHRcdGJhY2tncm91bmQ6ICNmZmY7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHQgIHBhZGRpbmc6IHJlbS1jYWxjKDEwIDUgNSk7XG5cdFx0fVxuXG5cdFx0KyAjeyZ9IHtcblx0XHRcdG1hcmdpbi10b3A6IHJlbS1jYWxjKDEwKTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG5cdFx0ICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cdFx0ICBmbGV4LXdyYXA6IHdyYXA7XG5cdFx0fVxuXHR9XG5cblx0Om5vdCgubGlzdGluZ19fZHJvcGRvd24pID4gcCB7XG5cdFx0Zm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxuXG5cdCZfX2NlbGwtbnVtYmVyIHtcblx0XHRAZXh0ZW5kICVjZWxsLXN0eWxlO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjZmJmYmZkO1xuXHRcdFx0Y29sb3I6ICMzNDMxMkI7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0cGFkZGluZzogcmVtLWNhbGMoNCk7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuXHRcdCAgd2lkdGg6IDEwMCU7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdCAgd2lkdGg6IDQwcHg7XG5cdFx0fVxuXHR9XG5cblx0Jl9fY2VsbC1sb2dvIHtcblx0XHRAZXh0ZW5kICVjZWxsLXN0eWxlO1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG5cdFx0ICB3aWR0aDogMTAwJTtcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0ICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdCAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI0VDRUVGMTtcblx0XHQgIHdpZHRoOiBjYWxjKDIwJSAtIDhweCk7XG5cdFx0fVxuXHR9XG5cblx0Jl9fY2VsbC1ib251cyB7XG5cdFx0QGV4dGVuZCAlY2VsbC1zdHlsZTtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdCAgcCB7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNCk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuXHRcdCAgd2lkdGg6IDI0JTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHR3aWR0aDogY2FsYygxNy41JSAtIDhweCk7XG5cdFx0fVxuXHR9XG5cblx0Jl9fY2VsbC1yZXZpZXcge1xuXHRcdEBleHRlbmQgJWNlbGwtc3R5bGU7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHQgIHAge1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuXHRcdCAgd2lkdGg6IDE4JTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0ICB3aWR0aDogY2FsYygxNS41JSAtIDhweCk7XG5cdFx0fVxuXHR9XG5cblx0Jl9fY2VsbC1wcm9zIHtcblx0XHRAZXh0ZW5kICVjZWxsLXN0eWxlO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuXHRcdCAgd2lkdGg6IDMwJTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0ICB3aWR0aDogY2FsYygyMyUgLSA4cHgpO1xuXHRcdH1cblx0fVxuXG5cdCZfX2NlbGwtY3RhIHtcblx0XHRAZXh0ZW5kICVjZWxsLXN0eWxlO1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG5cdFx0ICB3aWR0aDogMjglO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHQgIHdpZHRoOiBjYWxjKDI0JSAtIDhweCk7XG5cdFx0fVxuXHR9XG5cblx0Jl9fY2VsbC10aXRsZSB7XG5cdFx0QGV4dGVuZCAlY2VsbC1zdHlsZTtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcblx0XHQgIHdpZHRoOiA0MiU7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdCAgd2lkdGg6IGNhbGMoMzUlIC0gOHB4KTtcblx0XHR9XG5cbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJl9fY2VsbC10ZXh0IHtcblx0XHRAZXh0ZW5kICVjZWxsLXN0eWxlO1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG5cdFx0ICB3aWR0aDogNDQlO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHQgIHdpZHRoOiBjYWxjKDM3JSAtIDhweCk7XG5cdFx0fVxuXG4gICAgICAgID4gcCB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cblx0Jl9fbG9nby1saW5rIHtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHQgIGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXHR9XG5cblx0Jl9fdGl0bGUge1xuXHRcdGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXHRcdGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHR0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbiBib3JkZXI7XG5cblx0XHRAYXQtcm9vdCBhOmhvdmVyICN7Jn0ge1xuXHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogJGdvbGQ7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdGRpc3BsYXk6IGlubGluZTtcblxuXHRcdFx0KyAubGlzdGluZ19faW1hZ2Uge1xuXHRcdFx0XHRtYXJnaW4tdG9wOiByZW0tY2FsYyg4KTtcblx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmX19pbWFnZSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0bWF4LWhlaWdodDogcmVtLWNhbGMoMTAwKTtcblx0XHRtYXgtd2lkdGg6IHJlbS1jYWxjKDIwMCk7XG5cdFx0d2lkdGg6IGF1dG87XG5cdFx0bWFyZ2luOiAwIGF1dG87XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHQgIG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0bWFyZ2luLXRvcDogcmVtLWNhbGMoNSk7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHQgIHBhZGRpbmc6IHJlbS1jYWxjKDAgMjApO1xuXHRcdH1cblx0fVxuXG5cdCZfX2JvbnVzLXRleHQge1xuXHRcdHN0cm9uZyB7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjE7XG5cdFx0XHRjb2xvcjogJHByaW1hcnktY29sb3I7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdG1hcmdpbi10b3A6IHJlbS1jYWxjKDIpO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMik7XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHQgIGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0ICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmX19yYXRlLW51bWJlcnMge1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdCAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXHRcdH1cblx0fVxuXG5cdCZfX2xpc3Qge1xuXHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcblx0XHRcdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuXHRcdFx0bGkge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAxMHB4O1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0XHR3aWR0aDogMnB4O1xuXHRcdFx0XHRcdGhlaWdodDogMnB4O1xuXHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDk5OTlweDtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkYm9keS1mb250LWNvbG9yO1xuXHRcdFx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdHRvcDogLjdlbTtcblx0XHRcdFx0XHRsZWZ0OiAycHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEuNDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cblx0XHRcdGxpICsgbGkge1xuXHRcdFx0XHRtYXJnaW4tdG9wOiByZW0tY2FsYyg2KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmX19ib251cy1jb250YWluZXIge1xuXHRcdCY6Zm9jdXMtd2l0aGluIHtcblx0XHRcdC5saXN0aW5nX19kcm9wZG93biB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCZfX2xpbmsge1xuXHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRjb2xvcjogIzcyNzI3Mjtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRtYXJnaW4tdG9wOiByZW0tY2FsYyg4KTtcblx0XHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNCk7XG5cblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdFx0XHQrIC5saXN0aW5nX19kcm9wZG93biB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdCAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0fVxuXHR9XG5cblx0Jl9fbGluay13cmFwcGVyIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0ICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0fVxuXHR9XG5cblx0Jl9fYnV0dG9uIHtcblx0XHRtYXJnaW46IHJlbS1jYWxjKDAgMCA2KTtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRtaW4td2lkdGg6IDA7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHQgIHdpZHRoOiBhdXRvO1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxMCk7XG5cdFx0fVxuXHR9XG5cblx0Jl9fZHJvcGRvd24ge1xuXG5cdFx0Ly8gQGF0LXJvb3QgLm5vLWpzICN7Jn0ge1xuXHRcdC8vIFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Ly8gfVxuXG5cdFx0ZGlzcGxheTogbm9uZTtcblx0XHRwYWRkaW5nOiByZW0tY2FsYygyMCk7XG5cdFx0YmFja2dyb3VuZDogIzQyMzgyQTtcblx0XHRib3JkZXI6IDFweCBzb2xpZCAjRTdDRDk4O1xuXHRcdGJveC1zaGFkb3c6IDBweCAxcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcblx0XHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcblx0XHR3aWR0aDogcmVtLWNhbGMoMjczKTtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0ei1pbmRleDogOTAwO1xuXG5cdFx0cCB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxZW07XG5cdFx0fVxuXG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdH1cblxuXHRcdGE6bm90KC5idXR0b24pIHtcblx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmJ1dHRvbiB7XG5cdFx0XHQmOmhvdmVyLFxuXHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAuMik7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Jl9fZHJvcGRvd24tdGl0bGUge1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuXHRcdGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjE7XG5cdH1cblxuXHQmX19kcm9wZG93bi1idXR0b24ge1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXHR9XG5cblx0LmxvYWQtbW9yZSB7XG5cdFx0Y29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBjdXJyZW50Q29sb3I7XG5cdFx0bGluZS1oZWlnaHQ6IDQ7XG5cdH1cbn1cbiIsIi5zaWRlLW5hdmlnYXRvciB7XG5cdEBpbmNsdWRlIGJveGVkLWNvbnRlbnQ7XG5cblx0Jl9faGVhZGluZyB7XG5cdFx0QGluY2x1ZGUgYm94ZWQtY29udGVudC1oZWFkaW5nO1xuXHR9XG5cblx0Jl9fbGlzdCB7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuXHRcdGxpIHtcblx0XHRcdCYuY3VycmVudC1jYXQgYSB7XG5cdFx0XHRcdEBpbmNsdWRlIHNpZGUtbGluay1hY3RpdmU7XG5cdFx0XHR9XG5cblx0XHRcdCsgbGkge1xuXHRcdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgI0UxRTVFQTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRhIHtcblx0XHRcdEBpbmNsdWRlIHNpZGUtbGluaztcblx0XHRcdGNvbG9yOiAjNzI3MjcyO1xuXHRcdH1cblx0fVxuXG5cdCZfX2l0ZW0ge1xuXHRcdCsgI3smfSB7XG5cdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgI0UxRTVFQTtcblx0XHR9XG5cdH1cblxuXHQmX19saW5rIHtcblx0XHRAaW5jbHVkZSBzaWRlLWxpbms7XG5cblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0Y29sb3I6ICRhbmNob3ItY29sb3ItaG92ZXI7XG5cdFx0fVxuXG5cdFx0Ji5pcy1hY3RpdmUge1xuXHRcdFx0QGluY2x1ZGUgc2lkZS1saW5rLWFjdGl2ZTtcblx0XHR9XG5cdH1cbn1cbiIsIi5jb250ZW50IHtcblx0PiAqOmZpcnN0LWNoaWxkIHtcblx0XHRtYXJnaW4tdG9wOiAwO1xuXHR9XG5cblx0Ji0taGVhZGluZy1jb2xvciB7XG5cdFx0aDEsXG5cdFx0aDIsXG5cdFx0aDMsXG5cdFx0aDQsXG5cdFx0aDUsXG5cdFx0aDYge1xuXHRcdFx0Y29sb3I6ICMyRDJEMkQ7XG5cdFx0fVxuXHR9XG5cblx0Ji0tY29pbiB7XG5cdFx0PiBoMixcblx0XHQ+IGgzLFxuXHRcdD4gaDQge1xuXHRcdFx0Ly8gJltkYXRhLW1hZ2VsbGFuLXRhcmdldF0ge1xuXHRcdFx0XHRAaW5jbHVkZSBjb2luLWhlYWRlcjtcblx0XHRcdC8vIH1cblx0XHR9XG5cdH1cblxuXHQmLS1sYXJnZSB7XG5cdFx0Jixcblx0XHQud3AtYmxvY2stY29sdW1uIHtcblx0XHRcdD4gcCxcblx0XHRcdD4gdWwsXG5cdFx0XHQ+IG9sLFxuXHRcdFx0PiBkbCxcblx0XHRcdC5wcm9zLWNvbnMge1xuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRcdCAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0PiBoMixcblx0XHRcdD4gaDMsXG5cdFx0XHQ+IGg0IHtcblx0XHRcdFx0Ly8gJltkYXRhLW1hZ2VsbGFuLXRhcmdldF0ge1xuXHRcdFx0XHRcdG1hcmdpbi10b3A6IHJlbS1jYWxjKDMwKTtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XG5cblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0XHRcdFx0bWFyZ2luLXRvcDogcmVtLWNhbGMoNDApO1xuXHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0Ly8gfVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCYtLXJlbW92ZS1sYXN0LW1hcmdpbiA+ICo6bGFzdC1jaGlsZCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxuXG5cdCYtLXVuZGVybGluZS1saW5rcyB7XG5cdFx0YTpub3QoLmJ1dHRvbik6bm90KC5hY2NvcmRpb24tdGl0bGUpOm5vdCgucGFnaW5hdGlvbl9fbGluayk6bm90KC5mZWF0dXJlZC1nYW1lX19pbWFnZS1saW5rKTpub3QoLmxpc3Qtdmlldy1pdGVtX19pbWFnZS1saW5rKSB7XG5cdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmU7XG5cdFx0XHR0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbiBib3JkZXIsICR0cmFuc2l0aW9uLWR1cmF0aW9uIGNvbG9yO1xuXG5cdFx0XHQmOmhvdmVyLFxuXHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6ICRnb2xkO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5cbi5Db250YWN0LS1wYWRkZWR7XG5cdHBhZGRpbmctbGVmdDogMnJlbTtcblx0cGFkZGluZy1yaWdodDogMnJlbTtcbn0iLCIuYmxvZy1saXN0aW5nIHtcblx0Jl9fdGl0bGUge1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuXHRcdGNvbG9yOiAjMkQyRDJEO1xuXHRcdHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uIGJvcmRlcjtcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0ZGlzcGxheTogaW5saW5lO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHQgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHQgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuXHRcdFx0Ym9yZGVyLXdpZHRoOiAycHg7XG5cdFx0fVxuXHR9XG5cblx0Jl9fZGF0ZSB7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNCk7XG5cdFx0Y29sb3I6ICMzOTM5Mzk7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0bWFyZ2luLXRvcDogcmVtLWNhbGMoMyk7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdCAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdCAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG5cdFx0XHRtYXJnaW4tdG9wOiByZW0tY2FsYygxMCk7XG5cdFx0fVxuXHR9XG5cblx0QGF0LXJvb3QgYSN7Jn0ge1xuXHRcdGJvcmRlci1ib3R0b206IDAgIWltcG9ydGFudDtcblx0XHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTQpO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHQgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyMCk7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdCAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMwKTtcblx0XHR9XG5cblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0LmJsb2ctbGlzdGluZ19fdGl0bGUge1xuXHRcdFx0XHRib3JkZXItYm90dG9tLWNvbG9yOiAkZ29sZDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQrICN7Jn0ge1xuXHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICNFMUU1RUE7XG5cdFx0XHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTQpO1xuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0ICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMjApO1xuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHQgIHBhZGRpbmctdG9wOiByZW0tY2FsYygzMCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIud3AtYmxvY2stdGFibGUge1xuXHRAaW5jbHVkZSBib3hlZC1jb250ZW50KCk7XG5cdG1hcmdpbjogcmVtLWNhbGMoMzAgMCk7XG5cdHBhZGRpbmctdG9wOiByZW0tY2FsYygxMCk7XG5cdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxMCk7XG5cdGJhY2tncm91bmQ6ICNGREZERkQ7XG5cdGJvcmRlcjogMXB4IHNvbGlkICNGRkZGRkY7XG5cdGJveC1zaGFkb3c6IDBweCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDE0KTtcblx0XHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTQpO1xuXHR9XG5cblx0dGFibGUge1xuXHRcdG1hcmdpbjogMDtcblx0XHRsaW5lLWhlaWdodDogMS4zO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0ICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblx0XHR9XG5cdH1cblxuXHR0aGVhZCB7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNCk7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFMUU1RUE7XG5cdH1cblxuXHR0ciB7XG5cdFx0KyB0ciB7XG5cdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgI0UxRTVFQTtcblx0XHR9XG5cblx0XHQ+IHRkLFxuXHRcdD4gdGgge1xuXHRcdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRcdH1cblxuXHRcdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi5maWx0ZXJpbmcge1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGxldHRlci1zcGFjaW5nOiAxLjU3NXB4O1xuXHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cdG1hcmdpbi1sZWZ0OiAwO1xuXHRkaXNwbGF5OiBmbGV4O1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHQgIGZsZXgtd3JhcDogd3JhcDtcblx0fVxuXG5cdCZfX2l0ZW0ge1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdCAgd2lkdGg6IDEwMCU7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHQgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoNDApO1xuXHRcdH1cblx0fVxuXG5cdCZfX2xpbmsge1xuXHRcdGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuXHRcdHBhZGRpbmc6IHJlbS1jYWxjKDQgMCk7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG5cdFx0Ji0tYWN0aXZlIHtcblx0XHRcdGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXHRcdFx0Y29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG5cdFx0XHRib3JkZXItYm90dG9tOiAycHggc29saWQgY3VycmVudENvbG9yO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMik7XG5cdFx0fVxuXHR9XG59XG5cblxuXG4uZmlsdGVycy1nYW1lcyB7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0bGV0dGVyLXNwYWNpbmc6IDEuNTc1cHg7XG5cdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblx0bWFyZ2luLWxlZnQ6IDA7XG5cblx0Jl9faXRlbSB7XG5cblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdG1hcmdpbi1yaWdodDogcmVtLWNhbGMoNDApO1xuXHRcdH1cblxuXHRcdCYuY3VycmVudC1tZW51LWl0ZW0ge1xuXHRcdFx0YSB7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXHRcdFx0XHRjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMik7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Jl9fbGluayB7XG5cdFx0Y29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG5cdFx0cGFkZGluZzogcmVtLWNhbGMoNCAwKTtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cblx0XHQmLS1hY3RpdmUge1xuXHRcdFx0Zm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cdFx0XHRjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcblx0XHRcdGJvcmRlci1ib3R0b206IDJweCBzb2xpZCBjdXJyZW50Q29sb3I7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyKTtcblx0XHR9XG5cdH1cbn1cblxuXG4uZmlsdGVycy1jYXNpbm9zIHtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRsZXR0ZXItc3BhY2luZzogMS41NzVweDtcblx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRtYXJnaW4tbGVmdDogMDtcblxuXHQmX19pdGVtIHtcblxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg0MCk7XG5cdFx0fVxuXG5cdFx0Ji5jdXJyZW50LW1lbnUtaXRlbSB7XG5cdFx0XHRhIHtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cdFx0XHRcdGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuXHRcdFx0XHRib3JkZXItYm90dG9tOiAycHggc29saWQgY3VycmVudENvbG9yO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmX19saW5rIHtcblx0XHRjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcblx0XHRwYWRkaW5nOiByZW0tY2FsYyg0IDApO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuXHRcdCYtLWFjdGl2ZSB7XG5cdFx0XHRmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblx0XHRcdGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcblx0XHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIpO1xuXHRcdH1cblx0fVxufSIsIi5saXN0aW5nLXJhdGluZyB7XG5cdCZfX3N0YXItd3JhcHBlciB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdH1cblxuXHQmX19zdGFyIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0d2lkdGg6IDIwcHg7XG5cdFx0aGVpZ2h0OiAyMHB4O1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnI3skaW1nLWRpcn0vcmF0ZS1pbmFjdGl2ZS5zdmcnKTtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IDIwcHggMjBweDtcblx0XHRtYXJnaW4tcmlnaHQ6IDRweDtcblx0fVxuXG5cdCZfX2FjdGl2ZSB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGxlZnQ6IDA7XG5cdFx0dG9wOiAwO1xuXHRcdGJvdHRvbTogMDtcblx0XHR6LWluZGV4OiAxO1xuXHRcdGhlaWdodDogMjBweDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRtYXJnaW4tcmlnaHQ6IDRweDtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJyN7JGltZy1kaXJ9L3JhdGUtYWN0aXZlLnN2ZycpO1xuXHR9XG5cblx0Jl9fc2NvcmVzIHtcblx0XHRtYXJnaW4tdG9wOiA1cHg7XG5cdH1cbn1cbiIsIi5maWx0ZXJzLWRyb3Bkb3duIHtcblx0ZGlzcGxheTogZmxleDtcblxuXHQmX19zZWxlY3Qge1xuXHRcdHdpZHRoOiBjYWxjKCAxMDAlIC0gMTIwcHgpO1xuXHRcdG1hcmdpbi1yaWdodDogMjBweDtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRtYXJnaW4tYm90dG9tOiA1cHg7XG5cdH1cblxuXHQmX19idXR0b24ge1xuXHRcdHdpZHRoOiAxMDBweDtcblx0XHRtYXJnaW4tYm90dG9tOiA1cHg7XG5cdH1cbn1cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gIFVwZ3JhZGUgdGhlIGJyb3dzZXIgbWVzc2FnZSBzdHlsZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uYnJvd3NlcnVwZ3JhZGUge1xuICAgIGJhY2tncm91bmQ6ICRhbGVydC1jb2xvcjtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHBhZGRpbmc6IDAuNGVtIDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgYSB7XG4gICAgXHRjb2xvcjogaW5oZXJpdDtcbiAgICBcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIFx0Zm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgfVxufVxuXG4ub2xkaWUge1xuXG59XG5cbm1haW4ge1xuXHRkaXNwbGF5OiBibG9jaztcbn1cbiJdfQ== */
